@thanhdp1305/cowork-171305 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +230 -0
- package/backend/.env.example +21 -0
- package/backend/dist/agent/agent.controller.d.ts +23 -0
- package/backend/dist/agent/agent.controller.js +114 -0
- package/backend/dist/agent/agent.controller.js.map +1 -0
- package/backend/dist/agent/agent.module.d.ts +2 -0
- package/backend/dist/agent/agent.module.js +127 -0
- package/backend/dist/agent/agent.module.js.map +1 -0
- package/backend/dist/agent/agent.service.d.ts +23 -0
- package/backend/dist/agent/agent.service.js +153 -0
- package/backend/dist/agent/agent.service.js.map +1 -0
- package/backend/dist/agent/dto/agent-action.dto.d.ts +10 -0
- package/backend/dist/agent/dto/agent-action.dto.js +73 -0
- package/backend/dist/agent/dto/agent-action.dto.js.map +1 -0
- package/backend/dist/agent/dto/agent-run-state.d.ts +21 -0
- package/backend/dist/agent/dto/agent-run-state.js +19 -0
- package/backend/dist/agent/dto/agent-run-state.js.map +1 -0
- package/backend/dist/agent/dto/agent-state.enum.d.ts +6 -0
- package/backend/dist/agent/dto/agent-state.enum.js +11 -0
- package/backend/dist/agent/dto/agent-state.enum.js.map +1 -0
- package/backend/dist/agent/dto/approve-tool.dto.d.ts +4 -0
- package/backend/dist/agent/dto/approve-tool.dto.js +25 -0
- package/backend/dist/agent/dto/approve-tool.dto.js.map +1 -0
- package/backend/dist/agent/dto/chat.dto.d.ts +6 -0
- package/backend/dist/agent/dto/chat.dto.js +35 -0
- package/backend/dist/agent/dto/chat.dto.js.map +1 -0
- package/backend/dist/agent/dto/execute-plan.dto.d.ts +4 -0
- package/backend/dist/agent/dto/execute-plan.dto.js +25 -0
- package/backend/dist/agent/dto/execute-plan.dto.js.map +1 -0
- package/backend/dist/agent/dto/permissions-config.d.ts +8 -0
- package/backend/dist/agent/dto/permissions-config.js +11 -0
- package/backend/dist/agent/dto/permissions-config.js.map +1 -0
- package/backend/dist/agent/dto/update-permissions.dto.d.ts +7 -0
- package/backend/dist/agent/dto/update-permissions.dto.js +46 -0
- package/backend/dist/agent/dto/update-permissions.dto.js.map +1 -0
- package/backend/dist/agent/dto/write-stream.interface.d.ts +3 -0
- package/backend/dist/agent/dto/write-stream.interface.js +3 -0
- package/backend/dist/agent/dto/write-stream.interface.js.map +1 -0
- package/backend/dist/agent/dto/yolo-config.dto.d.ts +5 -0
- package/backend/dist/agent/dto/yolo-config.dto.js +33 -0
- package/backend/dist/agent/dto/yolo-config.dto.js.map +1 -0
- package/backend/dist/agent/mcp/mcp-client.service.d.ts +15 -0
- package/backend/dist/agent/mcp/mcp-client.service.js +71 -0
- package/backend/dist/agent/mcp/mcp-client.service.js.map +1 -0
- package/backend/dist/agent/mcp/mcp.module.d.ts +2 -0
- package/backend/dist/agent/mcp/mcp.module.js +24 -0
- package/backend/dist/agent/mcp/mcp.module.js.map +1 -0
- package/backend/dist/agent/mcp/mcp.service.d.ts +20 -0
- package/backend/dist/agent/mcp/mcp.service.js +94 -0
- package/backend/dist/agent/mcp/mcp.service.js.map +1 -0
- package/backend/dist/agent/providers/llm-provider.interface.d.ts +41 -0
- package/backend/dist/agent/providers/llm-provider.interface.js +3 -0
- package/backend/dist/agent/providers/llm-provider.interface.js.map +1 -0
- package/backend/dist/agent/providers/ollama.provider.d.ts +5 -0
- package/backend/dist/agent/providers/ollama.provider.js +92 -0
- package/backend/dist/agent/providers/ollama.provider.js.map +1 -0
- package/backend/dist/agent/providers/openai.provider.d.ts +5 -0
- package/backend/dist/agent/providers/openai.provider.js +169 -0
- package/backend/dist/agent/providers/openai.provider.js.map +1 -0
- package/backend/dist/agent/services/agent-loop.service.d.ts +128 -0
- package/backend/dist/agent/services/agent-loop.service.js +704 -0
- package/backend/dist/agent/services/agent-loop.service.js.map +1 -0
- package/backend/dist/agent/services/approval-manager.service.d.ts +8 -0
- package/backend/dist/agent/services/approval-manager.service.js +50 -0
- package/backend/dist/agent/services/approval-manager.service.js.map +1 -0
- package/backend/dist/agent/services/context-builder.service.d.ts +30 -0
- package/backend/dist/agent/services/context-builder.service.js +107 -0
- package/backend/dist/agent/services/context-builder.service.js.map +1 -0
- package/backend/dist/agent/services/danger-patterns.config.d.ts +10 -0
- package/backend/dist/agent/services/danger-patterns.config.js +82 -0
- package/backend/dist/agent/services/danger-patterns.config.js.map +1 -0
- package/backend/dist/agent/services/denial-tracking.d.ts +12 -0
- package/backend/dist/agent/services/denial-tracking.js +34 -0
- package/backend/dist/agent/services/denial-tracking.js.map +1 -0
- package/backend/dist/agent/services/llm-controller.service.d.ts +19 -0
- package/backend/dist/agent/services/llm-controller.service.js +70 -0
- package/backend/dist/agent/services/llm-controller.service.js.map +1 -0
- package/backend/dist/agent/services/permissions.service.d.ts +24 -0
- package/backend/dist/agent/services/permissions.service.js +106 -0
- package/backend/dist/agent/services/permissions.service.js.map +1 -0
- package/backend/dist/agent/services/yolo-classifier.constants.d.ts +6 -0
- package/backend/dist/agent/services/yolo-classifier.constants.js +39 -0
- package/backend/dist/agent/services/yolo-classifier.constants.js.map +1 -0
- package/backend/dist/agent/services/yolo-classifier.service.d.ts +29 -0
- package/backend/dist/agent/services/yolo-classifier.service.js +139 -0
- package/backend/dist/agent/services/yolo-classifier.service.js.map +1 -0
- package/backend/dist/agent/subagent/subagent.service.d.ts +16 -0
- package/backend/dist/agent/subagent/subagent.service.js +76 -0
- package/backend/dist/agent/subagent/subagent.service.js.map +1 -0
- package/backend/dist/agent-output/agent-output.controller.d.ts +20 -0
- package/backend/dist/agent-output/agent-output.controller.js +123 -0
- package/backend/dist/agent-output/agent-output.controller.js.map +1 -0
- package/backend/dist/agent-output/agent-output.module.d.ts +2 -0
- package/backend/dist/agent-output/agent-output.module.js +22 -0
- package/backend/dist/agent-output/agent-output.module.js.map +1 -0
- package/backend/dist/app.controller.d.ts +10 -0
- package/backend/dist/app.controller.js +39 -0
- package/backend/dist/app.controller.js.map +1 -0
- package/backend/dist/app.module.d.ts +2 -0
- package/backend/dist/app.module.js +66 -0
- package/backend/dist/app.module.js.map +1 -0
- package/backend/dist/connector/connector.controller.d.ts +67 -0
- package/backend/dist/connector/connector.controller.js +150 -0
- package/backend/dist/connector/connector.controller.js.map +1 -0
- package/backend/dist/connector/connector.module.d.ts +2 -0
- package/backend/dist/connector/connector.module.js +28 -0
- package/backend/dist/connector/connector.module.js.map +1 -0
- package/backend/dist/connector/connector.service.d.ts +61 -0
- package/backend/dist/connector/connector.service.js +63 -0
- package/backend/dist/connector/connector.service.js.map +1 -0
- package/backend/dist/connector/dto/oauth-confirm.dto.d.ts +4 -0
- package/backend/dist/connector/dto/oauth-confirm.dto.js +25 -0
- package/backend/dist/connector/dto/oauth-confirm.dto.js.map +1 -0
- package/backend/dist/connector/dto/update-connector.dto.d.ts +5 -0
- package/backend/dist/connector/dto/update-connector.dto.js +9 -0
- package/backend/dist/connector/dto/update-connector.dto.js.map +1 -0
- package/backend/dist/connector/dto/upsert-connector.dto.d.ts +6 -0
- package/backend/dist/connector/dto/upsert-connector.dto.js +35 -0
- package/backend/dist/connector/dto/upsert-connector.dto.js.map +1 -0
- package/backend/dist/connector/providers/google/gmail.service.d.ts +31 -0
- package/backend/dist/connector/providers/google/gmail.service.js +114 -0
- package/backend/dist/connector/providers/google/gmail.service.js.map +1 -0
- package/backend/dist/connector/providers/google/google-calendar.service.d.ts +37 -0
- package/backend/dist/connector/providers/google/google-calendar.service.js +105 -0
- package/backend/dist/connector/providers/google/google-calendar.service.js.map +1 -0
- package/backend/dist/connector/providers/google/google-drive.service.d.ts +22 -0
- package/backend/dist/connector/providers/google/google-drive.service.js +130 -0
- package/backend/dist/connector/providers/google/google-drive.service.js.map +1 -0
- package/backend/dist/connector/providers/google/google-oauth.service.d.ts +23 -0
- package/backend/dist/connector/providers/google/google-oauth.service.js +74 -0
- package/backend/dist/connector/providers/google/google-oauth.service.js.map +1 -0
- package/backend/dist/connector/providers/google/google-sheets.service.d.ts +29 -0
- package/backend/dist/connector/providers/google/google-sheets.service.js +246 -0
- package/backend/dist/connector/providers/google/google-sheets.service.js.map +1 -0
- package/backend/dist/cowork/cowork.controller.d.ts +37 -0
- package/backend/dist/cowork/cowork.controller.js +127 -0
- package/backend/dist/cowork/cowork.controller.js.map +1 -0
- package/backend/dist/cowork/cowork.module.d.ts +2 -0
- package/backend/dist/cowork/cowork.module.js +26 -0
- package/backend/dist/cowork/cowork.module.js.map +1 -0
- package/backend/dist/cowork/cowork.service.d.ts +40 -0
- package/backend/dist/cowork/cowork.service.js +116 -0
- package/backend/dist/cowork/cowork.service.js.map +1 -0
- package/backend/dist/cowork/dto/set-project.dto.d.ts +3 -0
- package/backend/dist/cowork/dto/set-project.dto.js +21 -0
- package/backend/dist/cowork/dto/set-project.dto.js.map +1 -0
- package/backend/dist/excel/excel.module.d.ts +2 -0
- package/backend/dist/excel/excel.module.js +26 -0
- package/backend/dist/excel/excel.module.js.map +1 -0
- package/backend/dist/excel/excel.service.d.ts +33 -0
- package/backend/dist/excel/excel.service.js +204 -0
- package/backend/dist/excel/excel.service.js.map +1 -0
- package/backend/dist/excel/executors/excel-add-sheet.executor.d.ts +12 -0
- package/backend/dist/excel/executors/excel-add-sheet.executor.js +64 -0
- package/backend/dist/excel/executors/excel-add-sheet.executor.js.map +1 -0
- package/backend/dist/excel/executors/excel-chart.executor.d.ts +12 -0
- package/backend/dist/excel/executors/excel-chart.executor.js +68 -0
- package/backend/dist/excel/executors/excel-chart.executor.js.map +1 -0
- package/backend/dist/excel/executors/list-excel-sheets.executor.d.ts +8 -0
- package/backend/dist/excel/executors/list-excel-sheets.executor.js +38 -0
- package/backend/dist/excel/executors/list-excel-sheets.executor.js.map +1 -0
- package/backend/dist/excel/executors/read-excel.executor.d.ts +8 -0
- package/backend/dist/excel/executors/read-excel.executor.js +40 -0
- package/backend/dist/excel/executors/read-excel.executor.js.map +1 -0
- package/backend/dist/excel/executors/write-excel.executor.d.ts +12 -0
- package/backend/dist/excel/executors/write-excel.executor.js +66 -0
- package/backend/dist/excel/executors/write-excel.executor.js.map +1 -0
- package/backend/dist/files/files.controller.d.ts +8 -0
- package/backend/dist/files/files.controller.js +53 -0
- package/backend/dist/files/files.controller.js.map +1 -0
- package/backend/dist/files/files.module.d.ts +2 -0
- package/backend/dist/files/files.module.js +20 -0
- package/backend/dist/files/files.module.js.map +1 -0
- package/backend/dist/http-exception.filter.d.ts +4 -0
- package/backend/dist/http-exception.filter.js +32 -0
- package/backend/dist/http-exception.filter.js.map +1 -0
- package/backend/dist/knowledge/dto/search.dto.d.ts +3 -0
- package/backend/dist/knowledge/dto/search.dto.js +21 -0
- package/backend/dist/knowledge/dto/search.dto.js.map +1 -0
- package/backend/dist/knowledge/knowledge.controller.d.ts +38 -0
- package/backend/dist/knowledge/knowledge.controller.js +91 -0
- package/backend/dist/knowledge/knowledge.controller.js.map +1 -0
- package/backend/dist/knowledge/knowledge.module.d.ts +2 -0
- package/backend/dist/knowledge/knowledge.module.js +25 -0
- package/backend/dist/knowledge/knowledge.module.js.map +1 -0
- package/backend/dist/knowledge/knowledge.service.d.ts +103 -0
- package/backend/dist/knowledge/knowledge.service.js +379 -0
- package/backend/dist/knowledge/knowledge.service.js.map +1 -0
- package/backend/dist/main.d.ts +1 -0
- package/backend/dist/main.js +33 -0
- package/backend/dist/main.js.map +1 -0
- package/backend/dist/memory/dto/create-memory.dto.d.ts +6 -0
- package/backend/dist/memory/dto/create-memory.dto.js +34 -0
- package/backend/dist/memory/dto/create-memory.dto.js.map +1 -0
- package/backend/dist/memory/dto/search-memory.dto.d.ts +5 -0
- package/backend/dist/memory/dto/search-memory.dto.js +32 -0
- package/backend/dist/memory/dto/search-memory.dto.js.map +1 -0
- package/backend/dist/memory/dto/update-memory.dto.d.ts +5 -0
- package/backend/dist/memory/dto/update-memory.dto.js +9 -0
- package/backend/dist/memory/dto/update-memory.dto.js.map +1 -0
- package/backend/dist/memory/memory-extraction.service.d.ts +19 -0
- package/backend/dist/memory/memory-extraction.service.js +87 -0
- package/backend/dist/memory/memory-extraction.service.js.map +1 -0
- package/backend/dist/memory/memory.constants.d.ts +9 -0
- package/backend/dist/memory/memory.constants.js +13 -0
- package/backend/dist/memory/memory.constants.js.map +1 -0
- package/backend/dist/memory/memory.controller.d.ts +53 -0
- package/backend/dist/memory/memory.controller.js +81 -0
- package/backend/dist/memory/memory.controller.js.map +1 -0
- package/backend/dist/memory/memory.gateway.d.ts +8 -0
- package/backend/dist/memory/memory.gateway.js +37 -0
- package/backend/dist/memory/memory.gateway.js.map +1 -0
- package/backend/dist/memory/memory.module.d.ts +2 -0
- package/backend/dist/memory/memory.module.js +25 -0
- package/backend/dist/memory/memory.module.js.map +1 -0
- package/backend/dist/memory/memory.service.d.ts +70 -0
- package/backend/dist/memory/memory.service.js +144 -0
- package/backend/dist/memory/memory.service.js.map +1 -0
- package/backend/dist/mode-policy/mode-policy.config.d.ts +20 -0
- package/backend/dist/mode-policy/mode-policy.config.js +17 -0
- package/backend/dist/mode-policy/mode-policy.config.js.map +1 -0
- package/backend/dist/mode-policy/mode-policy.module.d.ts +2 -0
- package/backend/dist/mode-policy/mode-policy.module.js +21 -0
- package/backend/dist/mode-policy/mode-policy.module.js.map +1 -0
- package/backend/dist/mode-policy/mode-policy.service.d.ts +18 -0
- package/backend/dist/mode-policy/mode-policy.service.js +66 -0
- package/backend/dist/mode-policy/mode-policy.service.js.map +1 -0
- package/backend/dist/notes/dto/create-note.dto.d.ts +4 -0
- package/backend/dist/notes/dto/create-note.dto.js +27 -0
- package/backend/dist/notes/dto/create-note.dto.js.map +1 -0
- package/backend/dist/notes/dto/update-note.dto.d.ts +5 -0
- package/backend/dist/notes/dto/update-note.dto.js +9 -0
- package/backend/dist/notes/dto/update-note.dto.js.map +1 -0
- package/backend/dist/notes/notes.controller.d.ts +35 -0
- package/backend/dist/notes/notes.controller.js +70 -0
- package/backend/dist/notes/notes.controller.js.map +1 -0
- package/backend/dist/notes/notes.gateway.d.ts +8 -0
- package/backend/dist/notes/notes.gateway.js +37 -0
- package/backend/dist/notes/notes.gateway.js.map +1 -0
- package/backend/dist/notes/notes.module.d.ts +2 -0
- package/backend/dist/notes/notes.module.js +24 -0
- package/backend/dist/notes/notes.module.js.map +1 -0
- package/backend/dist/notes/notes.service.d.ts +45 -0
- package/backend/dist/notes/notes.service.js +57 -0
- package/backend/dist/notes/notes.service.js.map +1 -0
- package/backend/dist/plans/plans.controller.d.ts +100 -0
- package/backend/dist/plans/plans.controller.js +80 -0
- package/backend/dist/plans/plans.controller.js.map +1 -0
- package/backend/dist/plans/plans.module.d.ts +2 -0
- package/backend/dist/plans/plans.module.js +23 -0
- package/backend/dist/plans/plans.module.js.map +1 -0
- package/backend/dist/plans/plans.service.d.ts +141 -0
- package/backend/dist/plans/plans.service.js +94 -0
- package/backend/dist/plans/plans.service.js.map +1 -0
- package/backend/dist/prisma/prisma.module.d.ts +2 -0
- package/backend/dist/prisma/prisma.module.js +22 -0
- package/backend/dist/prisma/prisma.module.js.map +1 -0
- package/backend/dist/prisma/prisma.service.d.ts +6 -0
- package/backend/dist/prisma/prisma.service.js +24 -0
- package/backend/dist/prisma/prisma.service.js.map +1 -0
- package/backend/dist/providers/dto/create-provider-model.dto.d.ts +3 -0
- package/backend/dist/providers/dto/create-provider-model.dto.js +22 -0
- package/backend/dist/providers/dto/create-provider-model.dto.js.map +1 -0
- package/backend/dist/providers/dto/create-provider.dto.d.ts +6 -0
- package/backend/dist/providers/dto/create-provider.dto.js +37 -0
- package/backend/dist/providers/dto/create-provider.dto.js.map +1 -0
- package/backend/dist/providers/dto/update-provider.dto.d.ts +5 -0
- package/backend/dist/providers/dto/update-provider.dto.js +9 -0
- package/backend/dist/providers/dto/update-provider.dto.js.map +1 -0
- package/backend/dist/providers/providers.controller.d.ts +60 -0
- package/backend/dist/providers/providers.controller.js +113 -0
- package/backend/dist/providers/providers.controller.js.map +1 -0
- package/backend/dist/providers/providers.module.d.ts +2 -0
- package/backend/dist/providers/providers.module.js +23 -0
- package/backend/dist/providers/providers.module.js.map +1 -0
- package/backend/dist/providers/providers.service.d.ts +86 -0
- package/backend/dist/providers/providers.service.js +100 -0
- package/backend/dist/providers/providers.service.js.map +1 -0
- package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.d.ts +13 -0
- package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js +81 -0
- package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js.map +1 -0
- package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.d.ts +5 -0
- package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js +9 -0
- package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js.map +1 -0
- package/backend/dist/schedule-tasks/schedule-cron.service.d.ts +8 -0
- package/backend/dist/schedule-tasks/schedule-cron.service.js +50 -0
- package/backend/dist/schedule-tasks/schedule-cron.service.js.map +1 -0
- package/backend/dist/schedule-tasks/schedule-runner.service.d.ts +25 -0
- package/backend/dist/schedule-tasks/schedule-runner.service.js +109 -0
- package/backend/dist/schedule-tasks/schedule-runner.service.js.map +1 -0
- package/backend/dist/schedule-tasks/schedule-tasks.controller.d.ts +108 -0
- package/backend/dist/schedule-tasks/schedule-tasks.controller.js +85 -0
- package/backend/dist/schedule-tasks/schedule-tasks.controller.js.map +1 -0
- package/backend/dist/schedule-tasks/schedule-tasks.module.d.ts +2 -0
- package/backend/dist/schedule-tasks/schedule-tasks.module.js +32 -0
- package/backend/dist/schedule-tasks/schedule-tasks.module.js.map +1 -0
- package/backend/dist/schedule-tasks/schedule-tasks.service.d.ts +141 -0
- package/backend/dist/schedule-tasks/schedule-tasks.service.js +80 -0
- package/backend/dist/schedule-tasks/schedule-tasks.service.js.map +1 -0
- package/backend/dist/sessions/sessions.controller.d.ts +40 -0
- package/backend/dist/sessions/sessions.controller.js +75 -0
- package/backend/dist/sessions/sessions.controller.js.map +1 -0
- package/backend/dist/sessions/sessions.module.d.ts +2 -0
- package/backend/dist/sessions/sessions.module.js +23 -0
- package/backend/dist/sessions/sessions.module.js.map +1 -0
- package/backend/dist/sessions/sessions.service.d.ts +55 -0
- package/backend/dist/sessions/sessions.service.js +73 -0
- package/backend/dist/sessions/sessions.service.js.map +1 -0
- package/backend/dist/settings/settings.controller.d.ts +14 -0
- package/backend/dist/settings/settings.controller.js +56 -0
- package/backend/dist/settings/settings.controller.js.map +1 -0
- package/backend/dist/settings/settings.module.d.ts +2 -0
- package/backend/dist/settings/settings.module.js +24 -0
- package/backend/dist/settings/settings.module.js.map +1 -0
- package/backend/dist/settings/settings.service.d.ts +10 -0
- package/backend/dist/settings/settings.service.js +49 -0
- package/backend/dist/settings/settings.service.js.map +1 -0
- package/backend/dist/tools/executors/convert-note-to-task.executor.d.ts +12 -0
- package/backend/dist/tools/executors/convert-note-to-task.executor.js +59 -0
- package/backend/dist/tools/executors/convert-note-to-task.executor.js.map +1 -0
- package/backend/dist/tools/executors/create-note.executor.d.ts +8 -0
- package/backend/dist/tools/executors/create-note.executor.js +39 -0
- package/backend/dist/tools/executors/create-note.executor.js.map +1 -0
- package/backend/dist/tools/executors/create-plan.executor.d.ts +8 -0
- package/backend/dist/tools/executors/create-plan.executor.js +45 -0
- package/backend/dist/tools/executors/create-plan.executor.js.map +1 -0
- package/backend/dist/tools/executors/create-task.executor.d.ts +10 -0
- package/backend/dist/tools/executors/create-task.executor.js +53 -0
- package/backend/dist/tools/executors/create-task.executor.js.map +1 -0
- package/backend/dist/tools/executors/delete-note.executor.d.ts +8 -0
- package/backend/dist/tools/executors/delete-note.executor.js +38 -0
- package/backend/dist/tools/executors/delete-note.executor.js.map +1 -0
- package/backend/dist/tools/executors/delete-tasks.executor.d.ts +8 -0
- package/backend/dist/tools/executors/delete-tasks.executor.js +33 -0
- package/backend/dist/tools/executors/delete-tasks.executor.js.map +1 -0
- package/backend/dist/tools/executors/get-task.executor.d.ts +8 -0
- package/backend/dist/tools/executors/get-task.executor.js +44 -0
- package/backend/dist/tools/executors/get-task.executor.js.map +1 -0
- package/backend/dist/tools/executors/glob.executor.d.ts +10 -0
- package/backend/dist/tools/executors/glob.executor.js +82 -0
- package/backend/dist/tools/executors/glob.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-calendar-availability.executor.d.ts +23 -0
- package/backend/dist/tools/executors/google-calendar-availability.executor.js +46 -0
- package/backend/dist/tools/executors/google-calendar-availability.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-calendar-create.executor.d.ts +42 -0
- package/backend/dist/tools/executors/google-calendar-create.executor.js +48 -0
- package/backend/dist/tools/executors/google-calendar-create.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-calendar-list.executor.d.ts +22 -0
- package/backend/dist/tools/executors/google-calendar-list.executor.js +45 -0
- package/backend/dist/tools/executors/google-calendar-list.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-calendar-update.executor.d.ts +31 -0
- package/backend/dist/tools/executors/google-calendar-update.executor.js +50 -0
- package/backend/dist/tools/executors/google-calendar-update.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-drive-create-folder.executor.d.ts +23 -0
- package/backend/dist/tools/executors/google-drive-create-folder.executor.js +44 -0
- package/backend/dist/tools/executors/google-drive-create-folder.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-drive-list.executor.d.ts +18 -0
- package/backend/dist/tools/executors/google-drive-list.executor.js +44 -0
- package/backend/dist/tools/executors/google-drive-list.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-drive-read.executor.d.ts +19 -0
- package/backend/dist/tools/executors/google-drive-read.executor.js +48 -0
- package/backend/dist/tools/executors/google-drive-read.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-drive-search.executor.d.ts +23 -0
- package/backend/dist/tools/executors/google-drive-search.executor.js +46 -0
- package/backend/dist/tools/executors/google-drive-search.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-drive-upload.executor.d.ts +30 -0
- package/backend/dist/tools/executors/google-drive-upload.executor.js +49 -0
- package/backend/dist/tools/executors/google-drive-upload.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-gmail-draft.executor.d.ts +30 -0
- package/backend/dist/tools/executors/google-gmail-draft.executor.js +45 -0
- package/backend/dist/tools/executors/google-gmail-draft.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-gmail-labels.executor.d.ts +13 -0
- package/backend/dist/tools/executors/google-gmail-labels.executor.js +39 -0
- package/backend/dist/tools/executors/google-gmail-labels.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-gmail-read.executor.d.ts +19 -0
- package/backend/dist/tools/executors/google-gmail-read.executor.js +43 -0
- package/backend/dist/tools/executors/google-gmail-read.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-gmail-search.executor.d.ts +23 -0
- package/backend/dist/tools/executors/google-gmail-search.executor.js +46 -0
- package/backend/dist/tools/executors/google-gmail-search.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-gmail-send.executor.d.ts +44 -0
- package/backend/dist/tools/executors/google-gmail-send.executor.js +47 -0
- package/backend/dist/tools/executors/google-gmail-send.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-add-tab.executor.d.ts +23 -0
- package/backend/dist/tools/executors/google-sheets-add-tab.executor.js +44 -0
- package/backend/dist/tools/executors/google-sheets-add-tab.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-append.executor.d.ts +30 -0
- package/backend/dist/tools/executors/google-sheets-append.executor.js +45 -0
- package/backend/dist/tools/executors/google-sheets-append.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-chart.executor.d.ts +40 -0
- package/backend/dist/tools/executors/google-sheets-chart.executor.js +48 -0
- package/backend/dist/tools/executors/google-sheets-chart.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-create.executor.d.ts +27 -0
- package/backend/dist/tools/executors/google-sheets-create.executor.js +44 -0
- package/backend/dist/tools/executors/google-sheets-create.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-format.executor.d.ts +57 -0
- package/backend/dist/tools/executors/google-sheets-format.executor.js +58 -0
- package/backend/dist/tools/executors/google-sheets-format.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-list-tabs.executor.d.ts +19 -0
- package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js +43 -0
- package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-read.executor.d.ts +27 -0
- package/backend/dist/tools/executors/google-sheets-read.executor.js +45 -0
- package/backend/dist/tools/executors/google-sheets-read.executor.js.map +1 -0
- package/backend/dist/tools/executors/google-sheets-update.executor.d.ts +34 -0
- package/backend/dist/tools/executors/google-sheets-update.executor.js +46 -0
- package/backend/dist/tools/executors/google-sheets-update.executor.js.map +1 -0
- package/backend/dist/tools/executors/grep.executor.d.ts +9 -0
- package/backend/dist/tools/executors/grep.executor.js +82 -0
- package/backend/dist/tools/executors/grep.executor.js.map +1 -0
- package/backend/dist/tools/executors/list-directory.executor.d.ts +8 -0
- package/backend/dist/tools/executors/list-directory.executor.js +37 -0
- package/backend/dist/tools/executors/list-directory.executor.js.map +1 -0
- package/backend/dist/tools/executors/list-notes.executor.d.ts +8 -0
- package/backend/dist/tools/executors/list-notes.executor.js +37 -0
- package/backend/dist/tools/executors/list-notes.executor.js.map +1 -0
- package/backend/dist/tools/executors/list-tasks.executor.d.ts +8 -0
- package/backend/dist/tools/executors/list-tasks.executor.js +32 -0
- package/backend/dist/tools/executors/list-tasks.executor.js.map +1 -0
- package/backend/dist/tools/executors/read-file.executor.d.ts +8 -0
- package/backend/dist/tools/executors/read-file.executor.js +44 -0
- package/backend/dist/tools/executors/read-file.executor.js.map +1 -0
- package/backend/dist/tools/executors/resume-plan.executor.d.ts +8 -0
- package/backend/dist/tools/executors/resume-plan.executor.js +58 -0
- package/backend/dist/tools/executors/resume-plan.executor.js.map +1 -0
- package/backend/dist/tools/executors/run-command.executor.d.ts +5 -0
- package/backend/dist/tools/executors/run-command.executor.js +55 -0
- package/backend/dist/tools/executors/run-command.executor.js.map +1 -0
- package/backend/dist/tools/executors/search-knowledge.executor.d.ts +8 -0
- package/backend/dist/tools/executors/search-knowledge.executor.js +33 -0
- package/backend/dist/tools/executors/search-knowledge.executor.js.map +1 -0
- package/backend/dist/tools/executors/spawn-subagent.executor.d.ts +5 -0
- package/backend/dist/tools/executors/spawn-subagent.executor.js +27 -0
- package/backend/dist/tools/executors/spawn-subagent.executor.js.map +1 -0
- package/backend/dist/tools/executors/tool-executor.interface.d.ts +8 -0
- package/backend/dist/tools/executors/tool-executor.interface.js +3 -0
- package/backend/dist/tools/executors/tool-executor.interface.js.map +1 -0
- package/backend/dist/tools/executors/update-note.executor.d.ts +8 -0
- package/backend/dist/tools/executors/update-note.executor.js +43 -0
- package/backend/dist/tools/executors/update-note.executor.js.map +1 -0
- package/backend/dist/tools/executors/update-task.executor.d.ts +8 -0
- package/backend/dist/tools/executors/update-task.executor.js +50 -0
- package/backend/dist/tools/executors/update-task.executor.js.map +1 -0
- package/backend/dist/tools/executors/web-fetch.executor.d.ts +8 -0
- package/backend/dist/tools/executors/web-fetch.executor.js +57 -0
- package/backend/dist/tools/executors/web-fetch.executor.js.map +1 -0
- package/backend/dist/tools/executors/web-search.executor.d.ts +8 -0
- package/backend/dist/tools/executors/web-search.executor.js +70 -0
- package/backend/dist/tools/executors/web-search.executor.js.map +1 -0
- package/backend/dist/tools/executors/write-file.executor.d.ts +10 -0
- package/backend/dist/tools/executors/write-file.executor.js +60 -0
- package/backend/dist/tools/executors/write-file.executor.js.map +1 -0
- package/backend/dist/tools/tools.controller.d.ts +37 -0
- package/backend/dist/tools/tools.controller.js +63 -0
- package/backend/dist/tools/tools.controller.js.map +1 -0
- package/backend/dist/tools/tools.module.d.ts +2 -0
- package/backend/dist/tools/tools.module.js +128 -0
- package/backend/dist/tools/tools.module.js.map +1 -0
- package/backend/dist/tools/tools.service.d.ts +55 -0
- package/backend/dist/tools/tools.service.js +49 -0
- package/backend/dist/tools/tools.service.js.map +1 -0
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -0
- package/backend/dist/usage/dto/create-usage.dto.d.ts +8 -0
- package/backend/dist/usage/dto/create-usage.dto.js +45 -0
- package/backend/dist/usage/dto/create-usage.dto.js.map +1 -0
- package/backend/dist/usage/usage.controller.d.ts +19 -0
- package/backend/dist/usage/usage.controller.js +43 -0
- package/backend/dist/usage/usage.controller.js.map +1 -0
- package/backend/dist/usage/usage.module.d.ts +2 -0
- package/backend/dist/usage/usage.module.js +24 -0
- package/backend/dist/usage/usage.module.js.map +1 -0
- package/backend/dist/usage/usage.service.d.ts +30 -0
- package/backend/dist/usage/usage.service.js +61 -0
- package/backend/dist/usage/usage.service.js.map +1 -0
- package/backend/dist/word/executors/edit-word.executor.d.ts +12 -0
- package/backend/dist/word/executors/edit-word.executor.js +65 -0
- package/backend/dist/word/executors/edit-word.executor.js.map +1 -0
- package/backend/dist/word/executors/read-word.executor.d.ts +10 -0
- package/backend/dist/word/executors/read-word.executor.js +49 -0
- package/backend/dist/word/executors/read-word.executor.js.map +1 -0
- package/backend/dist/word/executors/write-word.executor.d.ts +12 -0
- package/backend/dist/word/executors/write-word.executor.js +63 -0
- package/backend/dist/word/executors/write-word.executor.js.map +1 -0
- package/backend/dist/word/word.module.d.ts +2 -0
- package/backend/dist/word/word.module.js +21 -0
- package/backend/dist/word/word.module.js.map +1 -0
- package/backend/dist/word/word.service.d.ts +22 -0
- package/backend/dist/word/word.service.js +155 -0
- package/backend/dist/word/word.service.js.map +1 -0
- package/backend/dist/workspace/dto/watch.dto.d.ts +3 -0
- package/backend/dist/workspace/dto/watch.dto.js +22 -0
- package/backend/dist/workspace/dto/watch.dto.js.map +1 -0
- package/backend/dist/workspace/indexer.service.d.ts +24 -0
- package/backend/dist/workspace/indexer.service.js +109 -0
- package/backend/dist/workspace/indexer.service.js.map +1 -0
- package/backend/dist/workspace/workspace-watcher.service.d.ts +20 -0
- package/backend/dist/workspace/workspace-watcher.service.js +73 -0
- package/backend/dist/workspace/workspace-watcher.service.js.map +1 -0
- package/backend/dist/workspace/workspace.controller.d.ts +21 -0
- package/backend/dist/workspace/workspace.controller.js +72 -0
- package/backend/dist/workspace/workspace.controller.js.map +1 -0
- package/backend/dist/workspace/workspace.module.d.ts +2 -0
- package/backend/dist/workspace/workspace.module.js +27 -0
- package/backend/dist/workspace/workspace.module.js.map +1 -0
- package/backend/dist/workspace/workspace.service.d.ts +16 -0
- package/backend/dist/workspace/workspace.service.js +70 -0
- package/backend/dist/workspace/workspace.service.js.map +1 -0
- package/backend/prisma/dev.db +0 -0
- package/backend/prisma/dev1.db +0 -0
- package/backend/prisma/migrations/20260607051149_init/migration.sql +11 -0
- package/backend/prisma/migrations/20260607082131_add_settings/migration.sql +5 -0
- package/backend/prisma/migrations/20260607090628_add_knowledge_file/migration.sql +12 -0
- package/backend/prisma/migrations/20260607102620_add_sessions_chat_messages/migration.sql +17 -0
- package/backend/prisma/migrations/20260607160733_add_tool_fields_to_message/migration.sql +18 -0
- package/backend/prisma/migrations/20260608120000_add_providers/migration.sql +19 -0
- package/backend/prisma/migrations/20260608150513_add_tools/migration.sql +9 -0
- package/backend/prisma/migrations/20260608155121_add_tool_config/migration.sql +3 -0
- package/backend/prisma/migrations/20260609044217_add_error_message/migration.sql +2 -0
- package/backend/prisma/migrations/20260609110505_add_notes/migration.sql +8 -0
- package/backend/prisma/migrations/20260609151214_add_plan_tables/migration.sql +21 -0
- package/backend/prisma/migrations/20260610100714_add_agent_file/migration.sql +9 -0
- package/backend/prisma/migrations/20260611085424_add_session_mode/migration.sql +2 -0
- package/backend/prisma/migrations/20260611120000_add_memory_model/migration.sql +13 -0
- package/backend/prisma/migrations/20260612120000_add_usage_record/migration.sql +12 -0
- package/backend/prisma/migrations/20260612130000_add_project_model/migration.sql +7 -0
- package/backend/prisma/migrations/20260612130000_add_project_model/migration_lock.toml +5 -0
- package/backend/prisma/migrations/20260612140000_add_connector_model/migration.sql +9 -0
- package/backend/prisma/migrations/20260612173937_add_connector_services_account/migration.sql +24 -0
- package/backend/prisma/migrations/20260612181017_remove_connector_services/migration.sql +23 -0
- package/backend/prisma/migrations/20260613135109_add_schedule_tasks/migration.sql +45 -0
- package/backend/prisma/migrations/20260613140915_add_cron_days_of_week/migration.sql +2 -0
- package/backend/prisma/migrations/20260613142809_add_timezone/migration.sql +2 -0
- package/backend/prisma/migrations/20260613163408_remove_task_model/migration.sql +10 -0
- package/backend/prisma/migrations/migration_lock.toml +3 -0
- package/backend/prisma/schema.prisma +194 -0
- package/backend/prisma/seed.cjs +117 -0
- package/bin/workspace-cli.js +74 -0
- package/frontend/dist/assets/index-D8e9s_fH.js +100 -0
- package/frontend/dist/assets/index-DFT_H7Qc.css +1 -0
- package/frontend/dist/index.html +19 -0
- package/frontend/dist/logo.png +0 -0
- package/package.json +47 -0
package/README.md
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="/logo.png" alt="171305" width="80" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">171305 — AI Workspace</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Local-first AI workspace for Office staff — developers and power users welcome.</strong>
|
|
9
|
+
<br />
|
|
10
|
+
Chat with AI · Manage files · Automate tasks
|
|
11
|
+
<br />
|
|
12
|
+
Run local with Ollama or connect to the cloud — your choice.
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<img src="https://img.shields.io/badge/Frontend-Vue_3-4FC08D?logo=vue.js" alt="Vue 3" />
|
|
17
|
+
<img src="https://img.shields.io/badge/Backend-NestJS-E0234E?logo=nestjs" alt="NestJS" />
|
|
18
|
+
<img src="https://img.shields.io/badge/Database-SQLite-003B57?logo=sqlite" alt="SQLite" />
|
|
19
|
+
<img src="https://img.shields.io/badge/AI-Ollama-000000?logo=ollama" alt="Ollama" />
|
|
20
|
+
<img src="https://img.shields.io/badge/AI-OpenAI-412991?logo=openai" alt="OpenAI" />
|
|
21
|
+
<img src="https://img.shields.io/badge/AI-DeepSeek-4D6BFE" alt="DeepSeek" />
|
|
22
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow" alt="MIT" />
|
|
23
|
+
<img src="https://img.shields.io/badge/Local_First-Privacy_First-22C55E" alt="Local First" />
|
|
24
|
+
<img src="https://img.shields.io/badge/Cowork_AI-AI_Assistant-3B82F6" alt="Cowork AI" />
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
<p align="center">
|
|
28
|
+
<img src="/app-screenshot.png" alt="171305 AI Workspace — terminal-style local-first AI agent interface" width="100%" />
|
|
29
|
+
</p>
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## What's Inside
|
|
34
|
+
|
|
35
|
+
### 🤝 Cowork — AI Assistant
|
|
36
|
+
|
|
37
|
+
Work alongside an AI agent that understands your documents and office data. Cowork mode provides:
|
|
38
|
+
|
|
39
|
+
- **File Management** — Browse, preview, and search documents (PDF, DOCX, XLSX), images, and markdown files inline
|
|
40
|
+
- **SSE Streaming** — Real-time agent responses with markdown rendering, tool calls, and plan execution
|
|
41
|
+
- **Context-aware Assistance** — Agent reads your documents, understands your data, and performs office tasks directly
|
|
42
|
+
- **Multi-step Plans** — Agent autonomously plans and executes complex workflows, shows progress, resumes after interruption
|
|
43
|
+
|
|
44
|
+
### 📝 Notes
|
|
45
|
+
|
|
46
|
+
Markdown notes CRUD with title and content. Quick capture and organization.
|
|
47
|
+
|
|
48
|
+
### 🔌 Connectors
|
|
49
|
+
|
|
50
|
+
Connect external services via OAuth:
|
|
51
|
+
|
|
52
|
+
- **Gmail** — Search, read, send, draft emails
|
|
53
|
+
- **Google Calendar** — List, create, update, check availability
|
|
54
|
+
- **Google Drive** — Search, read, list, upload files
|
|
55
|
+
- **Google Sheets** — Read, update, append, create spreadsheets, format cells, add charts
|
|
56
|
+
|
|
57
|
+
### 🧰 Tools Registry
|
|
58
|
+
|
|
59
|
+
Fine-grained control over every tool the agent can use. Enable/disable individual tools, configure tool-specific settings, and control execution permissions.
|
|
60
|
+
|
|
61
|
+
### 📋 Plans
|
|
62
|
+
|
|
63
|
+
The agent can autonomously create execution plans from your requests:
|
|
64
|
+
- Multi-step plan generation
|
|
65
|
+
- Step-by-step execution with status tracking
|
|
66
|
+
- Resume interrupted plans
|
|
67
|
+
- Approve/reject individual steps
|
|
68
|
+
|
|
69
|
+
### ⏰ Scheduled Tasks
|
|
70
|
+
|
|
71
|
+
Cron-based automation for recurring AI tasks:
|
|
72
|
+
- Hourly, daily, weekly, or custom schedules
|
|
73
|
+
- Model and project path selection per schedule
|
|
74
|
+
- Execution logs with status tracking
|
|
75
|
+
|
|
76
|
+
### 📂 Agent Outputs
|
|
77
|
+
|
|
78
|
+
List and download files generated by the AI agent during your sessions. Organised per session with file size and timestamps.
|
|
79
|
+
|
|
80
|
+
### ⚙️ Settings
|
|
81
|
+
|
|
82
|
+
Central configuration panel:
|
|
83
|
+
- **Model Config** — Default model, embedding model, summary model
|
|
84
|
+
- **MCP Servers** — Enable/disable MCP tool servers
|
|
85
|
+
- **Google OAuth** — Configure Client ID/Secret for Gmail, Calendar, Drive
|
|
86
|
+
|
|
87
|
+
### 🧠 Memory
|
|
88
|
+
|
|
89
|
+
Long-term memory with auto-extraction:
|
|
90
|
+
- Types: User, Feedback, Project, Reference
|
|
91
|
+
- Auto-extracted from agent conversations
|
|
92
|
+
- Searchable, editable, deletable
|
|
93
|
+
- Injected into agent context for personalised responses
|
|
94
|
+
|
|
95
|
+
### 📊 Usage Tracking
|
|
96
|
+
|
|
97
|
+
Per-session token usage breakdown: prompt tokens, completion tokens, total tokens per model and provider.
|
|
98
|
+
|
|
99
|
+
### 🛡️ Permissions & YOLO Mode
|
|
100
|
+
|
|
101
|
+
Granular tool permission system:
|
|
102
|
+
- **Permission Modes** — Default, Accept Edits, Bypass All, Don't Ask, Auto (YOLO), Plan
|
|
103
|
+
- **Block Rules** — Control over interpreters, package runners, shells, network, git destructive, and more
|
|
104
|
+
- **Tool Approval** — Require manual confirmation for sensitive tools
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 🔒 Your Data, Your Choice
|
|
109
|
+
|
|
110
|
+
Your files, chat history, and documents never leave your machine:
|
|
111
|
+
|
|
112
|
+
| Component | Data Store |
|
|
113
|
+
|---|---|
|
|
114
|
+
| **Chat History** | SQLite via Prisma |
|
|
115
|
+
| **Vector Index** | LanceDB (local file) |
|
|
116
|
+
| **File Storage** | Local workspace directory |
|
|
117
|
+
| **Telemetry** | None — zero data leaves your machine |
|
|
118
|
+
|
|
119
|
+
AI inference runs wherever you prefer:
|
|
120
|
+
|
|
121
|
+
| Provider | Where It Runs |
|
|
122
|
+
|---|---|
|
|
123
|
+
| **Ollama** | Fully local — your GPU, your data |
|
|
124
|
+
| **OpenAI** | Cloud — requires API key |
|
|
125
|
+
| **DeepSeek** | Cloud — requires API key |
|
|
126
|
+
| **Any OpenAI-compatible API** | Local or cloud — custom `baseUrl` |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Quick Start
|
|
131
|
+
|
|
132
|
+
### Prerequisites
|
|
133
|
+
|
|
134
|
+
- **Node.js 20+** — [nodejs.org](https://nodejs.org)
|
|
135
|
+
- **Ollama** (optional, for local AI) — [ollama.ai](https://ollama.ai)
|
|
136
|
+
|
|
137
|
+
### Option 1: npm (development)
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Backend
|
|
141
|
+
cd backend
|
|
142
|
+
npm install
|
|
143
|
+
npm run setup
|
|
144
|
+
npm run start:dev # http://localhost:13596
|
|
145
|
+
|
|
146
|
+
# Frontend (separate terminal)
|
|
147
|
+
cd frontend
|
|
148
|
+
npm install
|
|
149
|
+
npm run dev # http://localhost:17135
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Option 2: Single command (Windows)
|
|
153
|
+
|
|
154
|
+
```powershell
|
|
155
|
+
.\run.ps1
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Opens both backend and frontend automatically. Add `-Docker` flag to use Docker instead.
|
|
159
|
+
|
|
160
|
+
### Option 3: Docker (recommended for production)
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
docker compose up --build
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Opens at **http://localhost:17135**. The backend runs on port 13596 (internal). Requires Docker Desktop.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Tech Stack
|
|
171
|
+
|
|
172
|
+
| Layer | Technology |
|
|
173
|
+
|---|---|
|
|
174
|
+
| **Frontend** | Vue 3 + TypeScript + TailwindCSS + Vite |
|
|
175
|
+
| **Backend** | NestJS 10 + TypeScript |
|
|
176
|
+
| **Database** | SQLite via Prisma 5 |
|
|
177
|
+
| **Vector DB** | LanceDB (local file-based) |
|
|
178
|
+
| **AI** | Ollama / OpenAI / DeepSeek (OpenAI-compatible) |
|
|
179
|
+
| **Streaming** | SSE (Server-Sent Events) |
|
|
180
|
+
| **Real-time** | Socket.io (task sync, memory sync) |
|
|
181
|
+
| **Container** | Docker Compose + Nginx |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Configuration
|
|
186
|
+
|
|
187
|
+
Copy `backend/.env.example` → `backend/.env`:
|
|
188
|
+
|
|
189
|
+
```env
|
|
190
|
+
DATABASE_URL=file:/app/data/dev.db
|
|
191
|
+
PORT=13596
|
|
192
|
+
OLLAMA_URL=http://localhost:11434
|
|
193
|
+
ACTIVE_PROVIDER=ollama
|
|
194
|
+
EMBED_MODEL=nomic-embed-text
|
|
195
|
+
SUMMARY_MODEL=llama3.2
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Add AI providers via the UI (Settings → Providers):
|
|
199
|
+
|
|
200
|
+
| Provider | Type | Notes |
|
|
201
|
+
|---|---|---|
|
|
202
|
+
| Ollama | `ollama` | Local, requires Ollama running |
|
|
203
|
+
| OpenAI | `openai` | `baseUrl: https://api.openai.com/v1` |
|
|
204
|
+
| DeepSeek | `openai` | `baseUrl: https://api.deepseek.com/v1` |
|
|
205
|
+
| Any OpenAI-compatible | `openai` | Custom `baseUrl` |
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Project Structure
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
├── frontend/ Vue 3 SPA
|
|
213
|
+
│ ├── src/components/ UI components
|
|
214
|
+
│ ├── src/locales/ i18n (vi/en)
|
|
215
|
+
│ └── Dockerfile Nginx production build
|
|
216
|
+
├── backend/ NestJS API
|
|
217
|
+
│ ├── src/ Module-based architecture
|
|
218
|
+
│ ├── prisma/ Schema + migrations
|
|
219
|
+
│ └── Dockerfile Node production build
|
|
220
|
+
├── workspace_data/ SQLite + LanceDB + uploads (gitignored)
|
|
221
|
+
├── docker-compose.yml One-command deploy
|
|
222
|
+
├── run.ps1 Windows native runner
|
|
223
|
+
└── docs/ Specs, plans, design docs
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## License
|
|
229
|
+
|
|
230
|
+
MIT
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# DATABASE_URL is set automatically by the CLI; uncomment for direct use:
|
|
2
|
+
# DATABASE_URL=file:./workspace_data/dev.db
|
|
3
|
+
PORT=13596
|
|
4
|
+
OLLAMA_URL=http://localhost:11434 #http://host.docker.internal:11434
|
|
5
|
+
ACTIVE_PROVIDER=ollama
|
|
6
|
+
EMBED_MODEL=nomic-embed-text
|
|
7
|
+
SUMMARY_MODEL=llama3.2
|
|
8
|
+
UPLOAD_DIR=./workspace_data/uploads
|
|
9
|
+
# ALLOWED_PATHS=./workspace_data,C:\Users\user\Desktop,/home/user
|
|
10
|
+
|
|
11
|
+
APP_URL=http://localhost:17135
|
|
12
|
+
|
|
13
|
+
# Google OAuth credentials (optional — hardcoded defaults in code)
|
|
14
|
+
GOOGLE_GMAIL_CLIENT_ID=
|
|
15
|
+
GOOGLE_GMAIL_CLIENT_SECRET=
|
|
16
|
+
GOOGLE_CALENDAR_CLIENT_ID=
|
|
17
|
+
GOOGLE_CALENDAR_CLIENT_SECRET=
|
|
18
|
+
GOOGLE_DRIVE_CLIENT_ID=
|
|
19
|
+
GOOGLE_DRIVE_CLIENT_SECRET=
|
|
20
|
+
GOOGLE_SHEETS_CLIENT_ID=
|
|
21
|
+
GOOGLE_SHEETS_CLIENT_SECRET=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { AgentService } from './agent.service';
|
|
3
|
+
import { ApproveToolDto } from './dto/approve-tool.dto';
|
|
4
|
+
import { ChatDto } from './dto/chat.dto';
|
|
5
|
+
import { UpdatePermissionsDto } from './dto/update-permissions.dto';
|
|
6
|
+
import { PermissionsConfig } from './dto/permissions-config';
|
|
7
|
+
import { YoloClassifierService } from './services/yolo-classifier.service';
|
|
8
|
+
import { UpdateYoloConfigDto } from './dto/yolo-config.dto';
|
|
9
|
+
import { ApprovalManagerService } from './services/approval-manager.service';
|
|
10
|
+
export declare class AgentController {
|
|
11
|
+
private readonly agentService;
|
|
12
|
+
private readonly yoloClassifier;
|
|
13
|
+
private readonly approvalManager;
|
|
14
|
+
constructor(agentService: AgentService, yoloClassifier: YoloClassifierService, approvalManager: ApprovalManagerService);
|
|
15
|
+
chatStream(dto: ChatDto, req: Request, res: Response): Promise<void>;
|
|
16
|
+
approveTool(dto: ApproveToolDto): Promise<{
|
|
17
|
+
success: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
getPermissions(): Promise<PermissionsConfig>;
|
|
20
|
+
updatePermissions(dto: UpdatePermissionsDto): Promise<PermissionsConfig>;
|
|
21
|
+
getYoloConfig(): Promise<import("./services/yolo-classifier.service").YoloConfig>;
|
|
22
|
+
updateYoloConfig(dto: UpdateYoloConfigDto): Promise<import("./services/yolo-classifier.service").YoloConfig>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AgentController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const agent_service_1 = require("./agent.service");
|
|
18
|
+
const approve_tool_dto_1 = require("./dto/approve-tool.dto");
|
|
19
|
+
const chat_dto_1 = require("./dto/chat.dto");
|
|
20
|
+
const update_permissions_dto_1 = require("./dto/update-permissions.dto");
|
|
21
|
+
const yolo_classifier_service_1 = require("./services/yolo-classifier.service");
|
|
22
|
+
const yolo_config_dto_1 = require("./dto/yolo-config.dto");
|
|
23
|
+
const approval_manager_service_1 = require("./services/approval-manager.service");
|
|
24
|
+
let AgentController = class AgentController {
|
|
25
|
+
constructor(agentService, yoloClassifier, approvalManager) {
|
|
26
|
+
this.agentService = agentService;
|
|
27
|
+
this.yoloClassifier = yoloClassifier;
|
|
28
|
+
this.approvalManager = approvalManager;
|
|
29
|
+
}
|
|
30
|
+
async chatStream(dto, req, res) {
|
|
31
|
+
res.setHeader('Content-Type', 'text/event-stream');
|
|
32
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
33
|
+
res.setHeader('Connection', 'keep-alive');
|
|
34
|
+
res.flushHeaders();
|
|
35
|
+
const ctrl = new AbortController();
|
|
36
|
+
req.on('close', () => ctrl.abort());
|
|
37
|
+
try {
|
|
38
|
+
await this.agentService.streamChat(dto.message, dto.providerModelId, res, ctrl.signal, dto.sessionId);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
console.error('[AgentController] chat error:', e instanceof Error ? e.message : e);
|
|
42
|
+
res.write('data: {"error":"internal_error"}\n\n');
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
res.end();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async approveTool(dto) {
|
|
49
|
+
const handled = this.approvalManager.handleResponse(dto.id, dto.approved);
|
|
50
|
+
return { success: handled };
|
|
51
|
+
}
|
|
52
|
+
async getPermissions() {
|
|
53
|
+
return this.agentService.getPermissions();
|
|
54
|
+
}
|
|
55
|
+
async updatePermissions(dto) {
|
|
56
|
+
return this.agentService.updatePermissions(dto);
|
|
57
|
+
}
|
|
58
|
+
async getYoloConfig() {
|
|
59
|
+
return this.yoloClassifier.getConfig();
|
|
60
|
+
}
|
|
61
|
+
async updateYoloConfig(dto) {
|
|
62
|
+
return this.yoloClassifier.updateConfig(dto);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.AgentController = AgentController;
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, common_1.Post)('chat'),
|
|
68
|
+
__param(0, (0, common_1.Body)()),
|
|
69
|
+
__param(1, (0, common_1.Req)()),
|
|
70
|
+
__param(2, (0, common_1.Res)({ passthrough: false })),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [chat_dto_1.ChatDto, Object, Object]),
|
|
73
|
+
__metadata("design:returntype", Promise)
|
|
74
|
+
], AgentController.prototype, "chatStream", null);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, common_1.Post)('approve-tool'),
|
|
77
|
+
__param(0, (0, common_1.Body)()),
|
|
78
|
+
__metadata("design:type", Function),
|
|
79
|
+
__metadata("design:paramtypes", [approve_tool_dto_1.ApproveToolDto]),
|
|
80
|
+
__metadata("design:returntype", Promise)
|
|
81
|
+
], AgentController.prototype, "approveTool", null);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, common_1.Get)('permissions'),
|
|
84
|
+
__metadata("design:type", Function),
|
|
85
|
+
__metadata("design:paramtypes", []),
|
|
86
|
+
__metadata("design:returntype", Promise)
|
|
87
|
+
], AgentController.prototype, "getPermissions", null);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, common_1.Patch)('permissions'),
|
|
90
|
+
__param(0, (0, common_1.Body)()),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", [update_permissions_dto_1.UpdatePermissionsDto]),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], AgentController.prototype, "updatePermissions", null);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, common_1.Get)('yolo-config'),
|
|
97
|
+
__metadata("design:type", Function),
|
|
98
|
+
__metadata("design:paramtypes", []),
|
|
99
|
+
__metadata("design:returntype", Promise)
|
|
100
|
+
], AgentController.prototype, "getYoloConfig", null);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, common_1.Patch)('yolo-config'),
|
|
103
|
+
__param(0, (0, common_1.Body)()),
|
|
104
|
+
__metadata("design:type", Function),
|
|
105
|
+
__metadata("design:paramtypes", [yolo_config_dto_1.UpdateYoloConfigDto]),
|
|
106
|
+
__metadata("design:returntype", Promise)
|
|
107
|
+
], AgentController.prototype, "updateYoloConfig", null);
|
|
108
|
+
exports.AgentController = AgentController = __decorate([
|
|
109
|
+
(0, common_1.Controller)('agent'),
|
|
110
|
+
__metadata("design:paramtypes", [agent_service_1.AgentService,
|
|
111
|
+
yolo_classifier_service_1.YoloClassifierService,
|
|
112
|
+
approval_manager_service_1.ApprovalManagerService])
|
|
113
|
+
], AgentController);
|
|
114
|
+
//# sourceMappingURL=agent.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.controller.js","sourceRoot":"","sources":["../../src/agent/agent.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8E;AAE9E,mDAA+C;AAC/C,6DAAwD;AACxD,6CAAyC;AACzC,yEAAoE;AAEpE,gFAA2E;AAC3E,2DAA4D;AAC5D,kFAA6E;AAEtE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,YAA0B,EAC1B,cAAqC,EACrC,eAAuC;QAFvC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAuB;QACrC,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAGE,AAAN,KAAK,CAAC,UAAU,CACN,GAAY,EACb,GAAY,EACU,GAAa;QAE1C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAS,GAAmB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CAAS,GAAyB;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAAS,GAAwB;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAxDY,0CAAe;AAQpB;IADL,IAAA,aAAI,EAAC,MAAM,CAAC;IAEV,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;;qCAFf,kBAAO;;iDAoBrB;AAGK;IADL,IAAA,aAAI,EAAC,cAAc,CAAC;IACF,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;kDAG5C;AAGK;IADL,IAAA,YAAG,EAAC,aAAa,CAAC;;;;qDAGlB;AAGK;IADL,IAAA,cAAK,EAAC,aAAa,CAAC;IACI,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,6CAAoB;;wDAExD;AAGK;IADL,IAAA,YAAG,EAAC,aAAa,CAAC;;;;oDAGlB;AAGK;IADL,IAAA,cAAK,EAAC,aAAa,CAAC;IACG,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,qCAAmB;;uDAEtD;0BAvDU,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAGe,4BAAY;QACV,+CAAqB;QACpB,iDAAsB;GAJ/C,eAAe,CAwD3B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AgentModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const agent_controller_1 = require("./agent.controller");
|
|
12
|
+
const agent_service_1 = require("./agent.service");
|
|
13
|
+
const agent_loop_service_1 = require("./services/agent-loop.service");
|
|
14
|
+
const llm_controller_service_1 = require("./services/llm-controller.service");
|
|
15
|
+
const ollama_provider_1 = require("./providers/ollama.provider");
|
|
16
|
+
const openai_provider_1 = require("./providers/openai.provider");
|
|
17
|
+
const context_builder_service_1 = require("./services/context-builder.service");
|
|
18
|
+
const permissions_service_1 = require("./services/permissions.service");
|
|
19
|
+
const yolo_classifier_service_1 = require("./services/yolo-classifier.service");
|
|
20
|
+
const approval_manager_service_1 = require("./services/approval-manager.service");
|
|
21
|
+
const memory_module_1 = require("../memory/memory.module");
|
|
22
|
+
const schedule_tasks_module_1 = require("../schedule-tasks/schedule-tasks.module");
|
|
23
|
+
const knowledge_module_1 = require("../knowledge/knowledge.module");
|
|
24
|
+
const sessions_module_1 = require("../sessions/sessions.module");
|
|
25
|
+
const providers_module_1 = require("../providers/providers.module");
|
|
26
|
+
const tools_module_1 = require("../tools/tools.module");
|
|
27
|
+
const create_task_executor_1 = require("../tools/executors/create-task.executor");
|
|
28
|
+
const update_task_executor_1 = require("../tools/executors/update-task.executor");
|
|
29
|
+
const list_tasks_executor_1 = require("../tools/executors/list-tasks.executor");
|
|
30
|
+
const get_task_executor_1 = require("../tools/executors/get-task.executor");
|
|
31
|
+
const delete_tasks_executor_1 = require("../tools/executors/delete-tasks.executor");
|
|
32
|
+
const search_knowledge_executor_1 = require("../tools/executors/search-knowledge.executor");
|
|
33
|
+
const web_fetch_executor_1 = require("../tools/executors/web-fetch.executor");
|
|
34
|
+
const web_search_executor_1 = require("../tools/executors/web-search.executor");
|
|
35
|
+
const create_note_executor_1 = require("../tools/executors/create-note.executor");
|
|
36
|
+
const update_note_executor_1 = require("../tools/executors/update-note.executor");
|
|
37
|
+
const list_notes_executor_1 = require("../tools/executors/list-notes.executor");
|
|
38
|
+
const delete_note_executor_1 = require("../tools/executors/delete-note.executor");
|
|
39
|
+
const convert_note_to_task_executor_1 = require("../tools/executors/convert-note-to-task.executor");
|
|
40
|
+
const resume_plan_executor_1 = require("../tools/executors/resume-plan.executor");
|
|
41
|
+
const notes_module_1 = require("../notes/notes.module");
|
|
42
|
+
const plans_module_1 = require("../plans/plans.module");
|
|
43
|
+
const mcp_module_1 = require("./mcp/mcp.module");
|
|
44
|
+
const cowork_module_1 = require("../cowork/cowork.module");
|
|
45
|
+
const workspace_module_1 = require("../workspace/workspace.module");
|
|
46
|
+
const subagent_service_1 = require("./subagent/subagent.service");
|
|
47
|
+
const mode_policy_module_1 = require("../mode-policy/mode-policy.module");
|
|
48
|
+
const excel_module_1 = require("../excel/excel.module");
|
|
49
|
+
const read_excel_executor_1 = require("../excel/executors/read-excel.executor");
|
|
50
|
+
const write_excel_executor_1 = require("../excel/executors/write-excel.executor");
|
|
51
|
+
const excel_add_sheet_executor_1 = require("../excel/executors/excel-add-sheet.executor");
|
|
52
|
+
const list_excel_sheets_executor_1 = require("../excel/executors/list-excel-sheets.executor");
|
|
53
|
+
const excel_chart_executor_1 = require("../excel/executors/excel-chart.executor");
|
|
54
|
+
const connector_module_1 = require("../connector/connector.module");
|
|
55
|
+
const google_gmail_search_executor_1 = require("../tools/executors/google-gmail-search.executor");
|
|
56
|
+
const google_gmail_read_executor_1 = require("../tools/executors/google-gmail-read.executor");
|
|
57
|
+
const google_gmail_send_executor_1 = require("../tools/executors/google-gmail-send.executor");
|
|
58
|
+
const google_gmail_draft_executor_1 = require("../tools/executors/google-gmail-draft.executor");
|
|
59
|
+
const google_gmail_labels_executor_1 = require("../tools/executors/google-gmail-labels.executor");
|
|
60
|
+
const google_calendar_list_executor_1 = require("../tools/executors/google-calendar-list.executor");
|
|
61
|
+
const google_calendar_create_executor_1 = require("../tools/executors/google-calendar-create.executor");
|
|
62
|
+
const google_calendar_update_executor_1 = require("../tools/executors/google-calendar-update.executor");
|
|
63
|
+
const google_calendar_availability_executor_1 = require("../tools/executors/google-calendar-availability.executor");
|
|
64
|
+
const google_drive_search_executor_1 = require("../tools/executors/google-drive-search.executor");
|
|
65
|
+
const google_drive_read_executor_1 = require("../tools/executors/google-drive-read.executor");
|
|
66
|
+
const google_drive_list_executor_1 = require("../tools/executors/google-drive-list.executor");
|
|
67
|
+
const google_drive_upload_executor_1 = require("../tools/executors/google-drive-upload.executor");
|
|
68
|
+
const google_drive_create_folder_executor_1 = require("../tools/executors/google-drive-create-folder.executor");
|
|
69
|
+
let AgentModule = class AgentModule {
|
|
70
|
+
};
|
|
71
|
+
exports.AgentModule = AgentModule;
|
|
72
|
+
exports.AgentModule = AgentModule = __decorate([
|
|
73
|
+
(0, common_1.Module)({
|
|
74
|
+
imports: [memory_module_1.MemoryModule, (0, common_1.forwardRef)(() => schedule_tasks_module_1.ScheduleTasksModule), knowledge_module_1.KnowledgeModule, sessions_module_1.SessionsModule, providers_module_1.ProvidersModule, tools_module_1.ToolsModule, notes_module_1.NotesModule, plans_module_1.PlansModule, mcp_module_1.McpModule, cowork_module_1.CoworkModule, workspace_module_1.WorkspaceModule, mode_policy_module_1.ModePolicyModule, excel_module_1.ExcelModule, connector_module_1.ConnectorModule],
|
|
75
|
+
controllers: [agent_controller_1.AgentController],
|
|
76
|
+
providers: [
|
|
77
|
+
agent_service_1.AgentService,
|
|
78
|
+
agent_loop_service_1.AgentLoopService,
|
|
79
|
+
llm_controller_service_1.LLMControllerService,
|
|
80
|
+
ollama_provider_1.OllamaProvider,
|
|
81
|
+
openai_provider_1.OpenAIProvider,
|
|
82
|
+
context_builder_service_1.ContextBuilderService,
|
|
83
|
+
permissions_service_1.PermissionsService,
|
|
84
|
+
yolo_classifier_service_1.YoloClassifierService,
|
|
85
|
+
approval_manager_service_1.ApprovalManagerService,
|
|
86
|
+
subagent_service_1.SubagentService,
|
|
87
|
+
create_task_executor_1.CreateTaskExecutor,
|
|
88
|
+
update_task_executor_1.UpdateTaskExecutor,
|
|
89
|
+
list_tasks_executor_1.ListTasksExecutor,
|
|
90
|
+
get_task_executor_1.GetTaskExecutor,
|
|
91
|
+
delete_tasks_executor_1.DeleteTasksExecutor,
|
|
92
|
+
search_knowledge_executor_1.SearchKnowledgeExecutor,
|
|
93
|
+
web_fetch_executor_1.WebFetchExecutor,
|
|
94
|
+
web_search_executor_1.WebSearchExecutor,
|
|
95
|
+
create_note_executor_1.CreateNoteExecutor,
|
|
96
|
+
update_note_executor_1.UpdateNoteExecutor,
|
|
97
|
+
list_notes_executor_1.ListNotesExecutor,
|
|
98
|
+
delete_note_executor_1.DeleteNoteExecutor,
|
|
99
|
+
convert_note_to_task_executor_1.ConvertNoteToTaskExecutor,
|
|
100
|
+
resume_plan_executor_1.ResumePlanExecutor,
|
|
101
|
+
read_excel_executor_1.ReadExcelExecutor,
|
|
102
|
+
write_excel_executor_1.WriteExcelExecutor,
|
|
103
|
+
excel_add_sheet_executor_1.ExcelAddSheetExecutor,
|
|
104
|
+
list_excel_sheets_executor_1.ListExcelSheetsExecutor,
|
|
105
|
+
excel_chart_executor_1.ExcelChartExecutor,
|
|
106
|
+
google_gmail_search_executor_1.GoogleGmailSearchExecutor,
|
|
107
|
+
google_gmail_read_executor_1.GoogleGmailReadExecutor,
|
|
108
|
+
google_gmail_send_executor_1.GoogleGmailSendExecutor,
|
|
109
|
+
google_gmail_draft_executor_1.GoogleGmailDraftExecutor,
|
|
110
|
+
google_gmail_labels_executor_1.GoogleGmailLabelsExecutor,
|
|
111
|
+
google_calendar_list_executor_1.GoogleCalendarListExecutor,
|
|
112
|
+
google_calendar_create_executor_1.GoogleCalendarCreateExecutor,
|
|
113
|
+
google_calendar_update_executor_1.GoogleCalendarUpdateExecutor,
|
|
114
|
+
google_calendar_availability_executor_1.GoogleCalendarAvailabilityExecutor,
|
|
115
|
+
google_drive_search_executor_1.GoogleDriveSearchExecutor,
|
|
116
|
+
google_drive_read_executor_1.GoogleDriveReadExecutor,
|
|
117
|
+
google_drive_list_executor_1.GoogleDriveListExecutor,
|
|
118
|
+
google_drive_upload_executor_1.GoogleDriveUploadExecutor,
|
|
119
|
+
google_drive_create_folder_executor_1.GoogleDriveCreateFolderExecutor,
|
|
120
|
+
],
|
|
121
|
+
exports: [
|
|
122
|
+
agent_loop_service_1.AgentLoopService,
|
|
123
|
+
context_builder_service_1.ContextBuilderService,
|
|
124
|
+
],
|
|
125
|
+
})
|
|
126
|
+
], AgentModule);
|
|
127
|
+
//# sourceMappingURL=agent.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.module.js","sourceRoot":"","sources":["../../src/agent/agent.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,yDAAqD;AACrD,mDAA+C;AAC/C,sEAAiE;AACjE,8EAAyE;AACzE,iEAA6D;AAC7D,iEAA6D;AAC7D,gFAA2E;AAC3E,wEAAoE;AACpE,gFAA2E;AAC3E,kFAA6E;AAC7E,2DAAuD;AACvD,mFAA8E;AAC9E,oEAAgE;AAChE,iEAA6D;AAC7D,oEAAgE;AAChE,wDAAoD;AACpD,kFAA6E;AAC7E,kFAA6E;AAC7E,gFAA2E;AAC3E,4EAAuE;AACvE,oFAA+E;AAC/E,4FAAuF;AACvF,8EAAyE;AACzE,gFAA2E;AAC3E,kFAA6E;AAC7E,kFAA6E;AAC7E,gFAA2E;AAC3E,kFAA6E;AAC7E,oGAA6F;AAC7F,kFAA6E;AAC7E,wDAAoD;AACpD,wDAAoD;AACpD,iDAA6C;AAC7C,2DAAuD;AACvD,oEAAgE;AAChE,kEAA8D;AAC9D,0EAAqE;AACrE,wDAAoD;AACpD,gFAA2E;AAC3E,kFAA6E;AAC7E,0FAAoF;AACpF,8FAAwF;AACxF,kFAA6E;AAC7E,oEAAgE;AAChE,kGAA4F;AAC5F,8FAAwF;AACxF,8FAAwF;AACxF,gGAA0F;AAC1F,kGAA4F;AAC5F,oGAA8F;AAC9F,wGAAkG;AAClG,wGAAkG;AAClG,oHAA8G;AAC9G,kGAA4F;AAC5F,8FAAwF;AACxF,8FAAwF;AACxF,kGAA4F;AAC5F,gHAAyG;AAwDlG,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IArDvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC,EAAE,kCAAe,EAAE,gCAAc,EAAE,kCAAe,EAAE,0BAAW,EAAE,0BAAW,EAAE,0BAAW,EAAE,sBAAS,EAAE,4BAAY,EAAE,kCAAe,EAAE,qCAAgB,EAAE,0BAAW,EAAE,kCAAe,CAAC;QACjP,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,4BAAY;YACZ,qCAAgB;YAChB,6CAAoB;YACpB,gCAAc;YACd,gCAAc;YACd,+CAAqB;YACrB,wCAAkB;YAClB,+CAAqB;YACrB,iDAAsB;YACtB,kCAAe;YACf,yCAAkB;YAClB,yCAAkB;YAClB,uCAAiB;YACjB,mCAAe;YACf,2CAAmB;YACnB,mDAAuB;YACvB,qCAAgB;YAChB,uCAAiB;YACjB,yCAAkB;YAClB,yCAAkB;YAClB,uCAAiB;YACjB,yCAAkB;YAClB,yDAAyB;YACzB,yCAAkB;YAClB,uCAAiB;YACjB,yCAAkB;YAClB,gDAAqB;YACrB,oDAAuB;YACvB,yCAAkB;YAClB,wDAAyB;YACzB,oDAAuB;YACvB,oDAAuB;YACvB,sDAAwB;YACxB,wDAAyB;YACzB,0DAA0B;YAC1B,8DAA4B;YAC5B,8DAA4B;YAC5B,0EAAkC;YAClC,wDAAyB;YACzB,oDAAuB;YACvB,oDAAuB;YACvB,wDAAyB;YACzB,qEAA+B;SAChC;QACD,OAAO,EAAE;YACP,qCAAgB;YAChB,+CAAqB;SACtB;KACF,CAAC;GACW,WAAW,CAAG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AgentLoopService } from './services/agent-loop.service';
|
|
2
|
+
import { ContextBuilderService } from './services/context-builder.service';
|
|
3
|
+
import { SessionsService } from '../sessions/sessions.service';
|
|
4
|
+
import { ProvidersService } from '../providers/providers.service';
|
|
5
|
+
import { PermissionsService } from './services/permissions.service';
|
|
6
|
+
import { CoworkService } from '../cowork/cowork.service';
|
|
7
|
+
import { PlansService } from '../plans/plans.service';
|
|
8
|
+
import { PermissionsConfig } from './dto/permissions-config';
|
|
9
|
+
import { WriteStream } from './dto/write-stream.interface';
|
|
10
|
+
export declare class AgentService {
|
|
11
|
+
private readonly agentLoop;
|
|
12
|
+
private readonly sessionsService;
|
|
13
|
+
private readonly contextBuilder;
|
|
14
|
+
private readonly providersService;
|
|
15
|
+
private readonly permissionsService;
|
|
16
|
+
private readonly plansService;
|
|
17
|
+
private readonly cowork;
|
|
18
|
+
constructor(agentLoop: AgentLoopService, sessionsService: SessionsService, contextBuilder: ContextBuilderService, providersService: ProvidersService, permissionsService: PermissionsService, plansService: PlansService, cowork: CoworkService);
|
|
19
|
+
streamChat(message: string, providerModelId: number, res: WriteStream, signal: AbortSignal, sessionId: number): Promise<void>;
|
|
20
|
+
executePlan(planId: number, providerModelId: number, sessionId: number, signal: AbortSignal, res: WriteStream): Promise<void>;
|
|
21
|
+
getPermissions(): Promise<PermissionsConfig>;
|
|
22
|
+
updatePermissions(updates: Partial<PermissionsConfig>): Promise<PermissionsConfig>;
|
|
23
|
+
}
|