├── .amazonq ├── mcp.json └── rules │ └── AmazonQ.md ├── .gitignore ├── .gitleaksignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── diagram ├── ReVIEW-architecture-20250619.png ├── ReVIEW-chat-screenshot-20250623-left.png ├── ReVIEW-chat-screenshot-20250623-right.png ├── ReVIEW-home-screenshot-20250623.png ├── kaleko_headshot_cropped_resized.png └── step-functions-kb-sync-workflow.png ├── docs ├── API_README.md └── REST_openAPI_spec.yaml ├── frontend ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── prettier.config.cjs ├── public │ ├── aws-exports.json.template │ ├── favicon.ico │ ├── images │ │ ├── ReVIEW-UI-banner.png │ │ ├── android-chrome-192x192.png │ │ └── android-chrome-512x512.png │ └── manifest.json ├── src │ ├── api │ │ ├── analysis.ts │ │ ├── database.ts │ │ ├── db.ts │ │ ├── fileManagement.ts │ │ ├── s3.ts │ │ ├── subtitles.ts │ │ ├── upload.ts │ │ └── websocket.ts │ ├── app.tsx │ ├── common │ │ ├── api-client │ │ │ ├── api-client-base.ts │ │ │ ├── api-client.ts │ │ │ └── items-api-client.ts │ │ ├── constants.ts │ │ ├── helpers │ │ │ ├── storage-helper.ts │ │ │ └── text-helper.ts │ │ ├── hooks │ │ │ ├── use-form.ts │ │ │ ├── use-navigation-panel-state.ts │ │ │ └── use-on-follow.ts │ │ ├── i18n │ │ │ └── property-filter-i18n-strings.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── components │ │ ├── AnalysisResults.tsx │ │ ├── ChatContainer.tsx │ │ ├── ChatInput.tsx │ │ ├── ChatMessage.tsx │ │ ├── JobStatusTable.tsx │ │ ├── MarkdownWithCitations.tsx │ │ ├── MediaPlayer.tsx │ │ ├── app-configured.tsx │ │ ├── base-app-layout.tsx │ │ ├── global-header.tsx │ │ ├── modals │ │ │ └── item-delete-modal.tsx │ │ ├── navigation-panel.tsx │ │ └── wrappers │ │ │ ├── router-button-dropdown.tsx │ │ │ ├── router-button.tsx │ │ │ └── router-link.tsx │ ├── constants │ │ └── languages.ts │ ├── hooks │ │ ├── useAnalysisApi.ts │ │ └── useHttp.ts │ ├── main.tsx │ ├── pages │ │ ├── Analyze.tsx │ │ ├── AnalyzeMedia.tsx │ │ ├── ChatWithMedia.tsx │ │ ├── FileManagement.tsx │ │ ├── FileUpload.tsx │ │ ├── Home.tsx │ │ ├── JobStatus.tsx │ │ └── not-found.tsx │ ├── styles │ │ └── app.scss │ ├── types │ │ ├── analysis.ts │ │ ├── chat.ts │ │ └── job.ts │ ├── utils │ │ ├── citationUtils.ts │ │ └── fileUtils.ts │ └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts ├── infra ├── .gitignore ├── app.py ├── cdk.context.json ├── cdk.json ├── config.yaml ├── constructs │ ├── kb_constructs.py │ └── oss_constructs.py ├── lambda-layers │ ├── analysis-templates-layer │ │ └── default_analysis_templates.json │ ├── bda-layer │ │ └── requirements.txt │ ├── oss-layer │ │ └── requirements.txt │ └── vtt-layer │ │ └── requirements.txt ├── lambdas │ ├── analysis │ │ ├── analysis-templates-lambda.py │ │ └── populate-default-templates-lambda.py │ ├── bedrock │ │ ├── bedrock_utils.py │ │ ├── llm-handler-lambda.py │ │ ├── subtitle-handler-lambda.py │ │ └── subtitle_utils.py │ ├── ddb │ │ ├── analysis_templates_utils.py │ │ ├── ddb-handler-lambda.py │ │ └── ddb_utils.py │ ├── kb │ │ ├── kb-ingest-job-lambda.py │ │ ├── kb-job-status-lambda.py │ │ ├── kb-query-lambda.py │ │ ├── kb-remove-job-lambda.py │ │ ├── kb_qa_prompt.py │ │ └── kb_utils.py │ ├── lambda_utils │ │ ├── cors_utils.py │ │ ├── invoke_lambda.py │ │ └── vtt_utils.py │ ├── oss │ │ ├── oss_client_utils.py │ │ ├── oss_handler.py │ │ └── oss_utils.py │ ├── preprocessing │ │ ├── generate-bda-lambda.py │ │ ├── generate-transcript-lambda.py │ │ ├── postprocess-bda-lambda.py │ │ ├── postprocess-transcript-lambda.py │ │ └── preprocessing_utils.py │ ├── s3 │ │ └── presigned-url-lambda.py │ ├── schemas │ │ └── job_status.py │ └── websockets │ │ ├── __init__.py │ │ ├── async_streaming_processor.py │ │ ├── chunked_ws_handler.py │ │ ├── connect-lambda.py │ │ └── disconnect-lambda.py ├── minimal-iam-policy.json ├── requirements.txt ├── stacks │ ├── api_stack.py │ ├── backend_stack.py │ ├── frontend_stack.py │ ├── rag_stack.py │ └── review_stack.py └── utils │ └── config_manager.py └── tests ├── README.md ├── __init__.py ├── conftest.py ├── integration └── __init__.py ├── pytest.ini └── unit └── __init__.py /.amazonq/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/.amazonq/mcp.json -------------------------------------------------------------------------------- /.amazonq/rules/AmazonQ.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/.amazonq/rules/AmazonQ.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitleaksignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/.gitleaksignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/README.md -------------------------------------------------------------------------------- /diagram/ReVIEW-architecture-20250619.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/ReVIEW-architecture-20250619.png -------------------------------------------------------------------------------- /diagram/ReVIEW-chat-screenshot-20250623-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/ReVIEW-chat-screenshot-20250623-left.png -------------------------------------------------------------------------------- /diagram/ReVIEW-chat-screenshot-20250623-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/ReVIEW-chat-screenshot-20250623-right.png -------------------------------------------------------------------------------- /diagram/ReVIEW-home-screenshot-20250623.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/ReVIEW-home-screenshot-20250623.png -------------------------------------------------------------------------------- /diagram/kaleko_headshot_cropped_resized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/kaleko_headshot_cropped_resized.png -------------------------------------------------------------------------------- /diagram/step-functions-kb-sync-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/diagram/step-functions-kb-sync-workflow.png -------------------------------------------------------------------------------- /docs/API_README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/docs/API_README.md -------------------------------------------------------------------------------- /docs/REST_openAPI_spec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/docs/REST_openAPI_spec.yaml -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/index.html -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/postcss.config.js -------------------------------------------------------------------------------- /frontend/prettier.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/prettier.config.cjs -------------------------------------------------------------------------------- /frontend/public/aws-exports.json.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/aws-exports.json.template -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/images/ReVIEW-UI-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/images/ReVIEW-UI-banner.png -------------------------------------------------------------------------------- /frontend/public/images/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/images/android-chrome-192x192.png -------------------------------------------------------------------------------- /frontend/public/images/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/images/android-chrome-512x512.png -------------------------------------------------------------------------------- /frontend/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/public/manifest.json -------------------------------------------------------------------------------- /frontend/src/api/analysis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/analysis.ts -------------------------------------------------------------------------------- /frontend/src/api/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/database.ts -------------------------------------------------------------------------------- /frontend/src/api/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/db.ts -------------------------------------------------------------------------------- /frontend/src/api/fileManagement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/fileManagement.ts -------------------------------------------------------------------------------- /frontend/src/api/s3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/s3.ts -------------------------------------------------------------------------------- /frontend/src/api/subtitles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/subtitles.ts -------------------------------------------------------------------------------- /frontend/src/api/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/upload.ts -------------------------------------------------------------------------------- /frontend/src/api/websocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/api/websocket.ts -------------------------------------------------------------------------------- /frontend/src/app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/app.tsx -------------------------------------------------------------------------------- /frontend/src/common/api-client/api-client-base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/api-client/api-client-base.ts -------------------------------------------------------------------------------- /frontend/src/common/api-client/api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/api-client/api-client.ts -------------------------------------------------------------------------------- /frontend/src/common/api-client/items-api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/api-client/items-api-client.ts -------------------------------------------------------------------------------- /frontend/src/common/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/constants.ts -------------------------------------------------------------------------------- /frontend/src/common/helpers/storage-helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/helpers/storage-helper.ts -------------------------------------------------------------------------------- /frontend/src/common/helpers/text-helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/helpers/text-helper.ts -------------------------------------------------------------------------------- /frontend/src/common/hooks/use-form.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/hooks/use-form.ts -------------------------------------------------------------------------------- /frontend/src/common/hooks/use-navigation-panel-state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/hooks/use-navigation-panel-state.ts -------------------------------------------------------------------------------- /frontend/src/common/hooks/use-on-follow.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/hooks/use-on-follow.ts -------------------------------------------------------------------------------- /frontend/src/common/i18n/property-filter-i18n-strings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/i18n/property-filter-i18n-strings.ts -------------------------------------------------------------------------------- /frontend/src/common/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/types.ts -------------------------------------------------------------------------------- /frontend/src/common/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/common/utils.ts -------------------------------------------------------------------------------- /frontend/src/components/AnalysisResults.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/AnalysisResults.tsx -------------------------------------------------------------------------------- /frontend/src/components/ChatContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/ChatContainer.tsx -------------------------------------------------------------------------------- /frontend/src/components/ChatInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/ChatInput.tsx -------------------------------------------------------------------------------- /frontend/src/components/ChatMessage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/ChatMessage.tsx -------------------------------------------------------------------------------- /frontend/src/components/JobStatusTable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/JobStatusTable.tsx -------------------------------------------------------------------------------- /frontend/src/components/MarkdownWithCitations.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/MarkdownWithCitations.tsx -------------------------------------------------------------------------------- /frontend/src/components/MediaPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/MediaPlayer.tsx -------------------------------------------------------------------------------- /frontend/src/components/app-configured.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/app-configured.tsx -------------------------------------------------------------------------------- /frontend/src/components/base-app-layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/base-app-layout.tsx -------------------------------------------------------------------------------- /frontend/src/components/global-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/global-header.tsx -------------------------------------------------------------------------------- /frontend/src/components/modals/item-delete-modal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/modals/item-delete-modal.tsx -------------------------------------------------------------------------------- /frontend/src/components/navigation-panel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/navigation-panel.tsx -------------------------------------------------------------------------------- /frontend/src/components/wrappers/router-button-dropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/wrappers/router-button-dropdown.tsx -------------------------------------------------------------------------------- /frontend/src/components/wrappers/router-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/wrappers/router-button.tsx -------------------------------------------------------------------------------- /frontend/src/components/wrappers/router-link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/components/wrappers/router-link.tsx -------------------------------------------------------------------------------- /frontend/src/constants/languages.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/constants/languages.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useAnalysisApi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/hooks/useAnalysisApi.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useHttp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/hooks/useHttp.ts -------------------------------------------------------------------------------- /frontend/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/main.tsx -------------------------------------------------------------------------------- /frontend/src/pages/Analyze.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/Analyze.tsx -------------------------------------------------------------------------------- /frontend/src/pages/AnalyzeMedia.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/AnalyzeMedia.tsx -------------------------------------------------------------------------------- /frontend/src/pages/ChatWithMedia.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/ChatWithMedia.tsx -------------------------------------------------------------------------------- /frontend/src/pages/FileManagement.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/FileManagement.tsx -------------------------------------------------------------------------------- /frontend/src/pages/FileUpload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/FileUpload.tsx -------------------------------------------------------------------------------- /frontend/src/pages/Home.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/Home.tsx -------------------------------------------------------------------------------- /frontend/src/pages/JobStatus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/JobStatus.tsx -------------------------------------------------------------------------------- /frontend/src/pages/not-found.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/pages/not-found.tsx -------------------------------------------------------------------------------- /frontend/src/styles/app.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/styles/app.scss -------------------------------------------------------------------------------- /frontend/src/types/analysis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/types/analysis.ts -------------------------------------------------------------------------------- /frontend/src/types/chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/types/chat.ts -------------------------------------------------------------------------------- /frontend/src/types/job.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/types/job.ts -------------------------------------------------------------------------------- /frontend/src/utils/citationUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/utils/citationUtils.ts -------------------------------------------------------------------------------- /frontend/src/utils/fileUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/src/utils/fileUtils.ts -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /frontend/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/frontend/vite.config.ts -------------------------------------------------------------------------------- /infra/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/.gitignore -------------------------------------------------------------------------------- /infra/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/app.py -------------------------------------------------------------------------------- /infra/cdk.context.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/cdk.context.json -------------------------------------------------------------------------------- /infra/cdk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/cdk.json -------------------------------------------------------------------------------- /infra/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/config.yaml -------------------------------------------------------------------------------- /infra/constructs/kb_constructs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/constructs/kb_constructs.py -------------------------------------------------------------------------------- /infra/constructs/oss_constructs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/constructs/oss_constructs.py -------------------------------------------------------------------------------- /infra/lambda-layers/analysis-templates-layer/default_analysis_templates.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambda-layers/analysis-templates-layer/default_analysis_templates.json -------------------------------------------------------------------------------- /infra/lambda-layers/bda-layer/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3>=1.38.20 -------------------------------------------------------------------------------- /infra/lambda-layers/oss-layer/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambda-layers/oss-layer/requirements.txt -------------------------------------------------------------------------------- /infra/lambda-layers/vtt-layer/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambda-layers/vtt-layer/requirements.txt -------------------------------------------------------------------------------- /infra/lambdas/analysis/analysis-templates-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/analysis/analysis-templates-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/analysis/populate-default-templates-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/analysis/populate-default-templates-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/bedrock/bedrock_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/bedrock/bedrock_utils.py -------------------------------------------------------------------------------- /infra/lambdas/bedrock/llm-handler-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/bedrock/llm-handler-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/bedrock/subtitle-handler-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/bedrock/subtitle-handler-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/bedrock/subtitle_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/bedrock/subtitle_utils.py -------------------------------------------------------------------------------- /infra/lambdas/ddb/analysis_templates_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/ddb/analysis_templates_utils.py -------------------------------------------------------------------------------- /infra/lambdas/ddb/ddb-handler-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/ddb/ddb-handler-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/ddb/ddb_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/ddb/ddb_utils.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb-ingest-job-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb-ingest-job-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb-job-status-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb-job-status-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb-query-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb-query-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb-remove-job-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb-remove-job-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb_qa_prompt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb_qa_prompt.py -------------------------------------------------------------------------------- /infra/lambdas/kb/kb_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/kb/kb_utils.py -------------------------------------------------------------------------------- /infra/lambdas/lambda_utils/cors_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/lambda_utils/cors_utils.py -------------------------------------------------------------------------------- /infra/lambdas/lambda_utils/invoke_lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/lambda_utils/invoke_lambda.py -------------------------------------------------------------------------------- /infra/lambdas/lambda_utils/vtt_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/lambda_utils/vtt_utils.py -------------------------------------------------------------------------------- /infra/lambdas/oss/oss_client_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/oss/oss_client_utils.py -------------------------------------------------------------------------------- /infra/lambdas/oss/oss_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/oss/oss_handler.py -------------------------------------------------------------------------------- /infra/lambdas/oss/oss_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/oss/oss_utils.py -------------------------------------------------------------------------------- /infra/lambdas/preprocessing/generate-bda-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/preprocessing/generate-bda-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/preprocessing/generate-transcript-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/preprocessing/generate-transcript-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/preprocessing/postprocess-bda-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/preprocessing/postprocess-bda-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/preprocessing/postprocess-transcript-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/preprocessing/postprocess-transcript-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/preprocessing/preprocessing_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/preprocessing/preprocessing_utils.py -------------------------------------------------------------------------------- /infra/lambdas/s3/presigned-url-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/s3/presigned-url-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/schemas/job_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/schemas/job_status.py -------------------------------------------------------------------------------- /infra/lambdas/websockets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/websockets/__init__.py -------------------------------------------------------------------------------- /infra/lambdas/websockets/async_streaming_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/websockets/async_streaming_processor.py -------------------------------------------------------------------------------- /infra/lambdas/websockets/chunked_ws_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/websockets/chunked_ws_handler.py -------------------------------------------------------------------------------- /infra/lambdas/websockets/connect-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/websockets/connect-lambda.py -------------------------------------------------------------------------------- /infra/lambdas/websockets/disconnect-lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/lambdas/websockets/disconnect-lambda.py -------------------------------------------------------------------------------- /infra/minimal-iam-policy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/minimal-iam-policy.json -------------------------------------------------------------------------------- /infra/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/requirements.txt -------------------------------------------------------------------------------- /infra/stacks/api_stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/stacks/api_stack.py -------------------------------------------------------------------------------- /infra/stacks/backend_stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/stacks/backend_stack.py -------------------------------------------------------------------------------- /infra/stacks/frontend_stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/stacks/frontend_stack.py -------------------------------------------------------------------------------- /infra/stacks/rag_stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/stacks/rag_stack.py -------------------------------------------------------------------------------- /infra/stacks/review_stack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/stacks/review_stack.py -------------------------------------------------------------------------------- /infra/utils/config_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/infra/utils/config_manager.py -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/integration/__init__.py -------------------------------------------------------------------------------- /tests/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/pytest.ini -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/recorded-voice-insight-extraction-webapp/HEAD/tests/unit/__init__.py --------------------------------------------------------------------------------