tarsk 0.4.4 → 0.4.6
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/dist/index.js +447375 -37
- package/package.json +2 -2
- package/dist/agent/agent.error-utils.d.ts +0 -14
- package/dist/agent/agent.error-utils.js +0 -52
- package/dist/agent/agent.event-transformer.d.ts +0 -55
- package/dist/agent/agent.event-transformer.js +0 -175
- package/dist/agent/agent.executor.d.ts +0 -26
- package/dist/agent/agent.executor.js +0 -286
- package/dist/agent/agent.model-resolver.d.ts +0 -22
- package/dist/agent/agent.model-resolver.js +0 -67
- package/dist/agent/agent.process-manager.d.ts +0 -57
- package/dist/agent/agent.process-manager.js +0 -262
- package/dist/agent/agent.processing-state-manager.d.ts +0 -74
- package/dist/agent/agent.processing-state-manager.js +0 -87
- package/dist/agent/agent.prompt-loader.d.ts +0 -16
- package/dist/agent/agent.prompt-loader.js +0 -227
- package/dist/agent/agent.subagent-executor.d.ts +0 -35
- package/dist/agent/agent.subagent-executor.js +0 -135
- package/dist/bun/index.d.ts +0 -2
- package/dist/bun/index.js +0 -165
- package/dist/cli.d.ts +0 -3
- package/dist/cli.js +0 -22
- package/dist/core/crypto.d.ts +0 -29
- package/dist/core/crypto.js +0 -166
- package/dist/core/dev-server-cache.d.ts +0 -46
- package/dist/core/dev-server-cache.js +0 -59
- package/dist/core/env-manager.d.ts +0 -3
- package/dist/core/env-manager.js +0 -60
- package/dist/core/error-responses.d.ts +0 -61
- package/dist/core/error-responses.js +0 -64
- package/dist/core/logger.d.ts +0 -10
- package/dist/core/logger.js +0 -47
- package/dist/core/paths.d.ts +0 -22
- package/dist/core/paths.js +0 -26
- package/dist/core/random-words.d.ts +0 -18
- package/dist/core/random-words.js +0 -135
- package/dist/core/response-builder.d.ts +0 -50
- package/dist/core/response-builder.js +0 -56
- package/dist/core/route-helpers.d.ts +0 -47
- package/dist/core/route-helpers.js +0 -54
- package/dist/core/run-command-detector.d.ts +0 -26
- package/dist/core/run-command-detector.js +0 -98
- package/dist/core/stream-helper.d.ts +0 -44
- package/dist/core/stream-helper.js +0 -50
- package/dist/core/utils.d.ts +0 -43
- package/dist/core/utils.js +0 -113
- package/dist/core/validation.d.ts +0 -10
- package/dist/core/validation.js +0 -20
- package/dist/database/database.d.ts +0 -40
- package/dist/database/database.encryption.d.ts +0 -33
- package/dist/database/database.encryption.js +0 -62
- package/dist/database/database.js +0 -480
- package/dist/database/database.state.d.ts +0 -52
- package/dist/database/database.state.js +0 -119
- package/dist/database/database.test-utils.d.ts +0 -22
- package/dist/database/database.test-utils.js +0 -39
- package/dist/database/database.types.d.ts +0 -3
- package/dist/database/database.types.js +0 -2
- package/dist/features/agents/agents.manager.d.ts +0 -24
- package/dist/features/agents/agents.manager.js +0 -200
- package/dist/features/ask-user/ask-user.routes.d.ts +0 -9
- package/dist/features/ask-user/ask-user.routes.js +0 -35
- package/dist/features/chat/chat-delete.route.d.ts +0 -15
- package/dist/features/chat/chat-delete.route.js +0 -36
- package/dist/features/chat/chat-post.route.d.ts +0 -11
- package/dist/features/chat/chat-post.route.js +0 -270
- package/dist/features/chat/chat-stop.route.d.ts +0 -21
- package/dist/features/chat/chat-stop.route.js +0 -22
- package/dist/features/chat/chat-subscribe.route.d.ts +0 -9
- package/dist/features/chat/chat-subscribe.route.js +0 -71
- package/dist/features/chat/chat.routes.d.ts +0 -22
- package/dist/features/chat/chat.routes.js +0 -29
- package/dist/features/conversations/conversations-delete.route.d.ts +0 -16
- package/dist/features/conversations/conversations-delete.route.js +0 -34
- package/dist/features/conversations/conversations-get-all.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-all.route.js +0 -39
- package/dist/features/conversations/conversations-get-by-id.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-by-id.route.js +0 -38
- package/dist/features/conversations/conversations-get-deleted.route.d.ts +0 -15
- package/dist/features/conversations/conversations-get-deleted.route.js +0 -34
- package/dist/features/conversations/conversations-get-messages.route.d.ts +0 -16
- package/dist/features/conversations/conversations-get-messages.route.js +0 -49
- package/dist/features/conversations/conversations.content.d.ts +0 -28
- package/dist/features/conversations/conversations.content.js +0 -142
- package/dist/features/conversations/conversations.database.d.ts +0 -108
- package/dist/features/conversations/conversations.database.js +0 -373
- package/dist/features/conversations/conversations.manager.d.ts +0 -130
- package/dist/features/conversations/conversations.manager.js +0 -162
- package/dist/features/conversations/conversations.routes.d.ts +0 -21
- package/dist/features/conversations/conversations.routes.js +0 -38
- package/dist/features/conversations/token-usage.route.d.ts +0 -41
- package/dist/features/conversations/token-usage.route.js +0 -419
- package/dist/features/git/git-commit.route.d.ts +0 -12
- package/dist/features/git/git-commit.route.js +0 -39
- package/dist/features/git/git-create-branch.route.d.ts +0 -28
- package/dist/features/git/git-create-branch.route.js +0 -119
- package/dist/features/git/git-create-pr.route.d.ts +0 -13
- package/dist/features/git/git-create-pr.route.js +0 -50
- package/dist/features/git/git-create-repo.route.d.ts +0 -14
- package/dist/features/git/git-create-repo.route.js +0 -108
- package/dist/features/git/git-diff.route.d.ts +0 -30
- package/dist/features/git/git-diff.route.js +0 -189
- package/dist/features/git/git-fetch.route.d.ts +0 -12
- package/dist/features/git/git-fetch.route.js +0 -31
- package/dist/features/git/git-generate-commit-message.route.d.ts +0 -12
- package/dist/features/git/git-generate-commit-message.route.js +0 -76
- package/dist/features/git/git-generate-pr-info.route.d.ts +0 -13
- package/dist/features/git/git-generate-pr-info.route.js +0 -147
- package/dist/features/git/git-github-status.route.d.ts +0 -16
- package/dist/features/git/git-github-status.route.js +0 -68
- package/dist/features/git/git-log.route.d.ts +0 -17
- package/dist/features/git/git-log.route.js +0 -33
- package/dist/features/git/git-pr-status.route.d.ts +0 -15
- package/dist/features/git/git-pr-status.route.js +0 -33
- package/dist/features/git/git-pull.route.d.ts +0 -12
- package/dist/features/git/git-pull.route.js +0 -35
- package/dist/features/git/git-push.route.d.ts +0 -12
- package/dist/features/git/git-push.route.js +0 -46
- package/dist/features/git/git-status-cache.database.d.ts +0 -7
- package/dist/features/git/git-status-cache.database.js +0 -53
- package/dist/features/git/git-status.route.d.ts +0 -15
- package/dist/features/git/git-status.route.js +0 -62
- package/dist/features/git/git-sync-branch.route.d.ts +0 -4
- package/dist/features/git/git-sync-branch.route.js +0 -208
- package/dist/features/git/git-unified-status.route.d.ts +0 -30
- package/dist/features/git/git-unified-status.route.js +0 -165
- package/dist/features/git/git-username.route.d.ts +0 -3
- package/dist/features/git/git-username.route.js +0 -24
- package/dist/features/git/git.manager.d.ts +0 -139
- package/dist/features/git/git.manager.js +0 -352
- package/dist/features/git/git.routes.d.ts +0 -4
- package/dist/features/git/git.routes.js +0 -116
- package/dist/features/git/git.utils.d.ts +0 -82
- package/dist/features/git/git.utils.js +0 -1040
- package/dist/features/mcp/mcp.config.d.ts +0 -27
- package/dist/features/mcp/mcp.config.js +0 -148
- package/dist/features/mcp/mcp.manager.d.ts +0 -61
- package/dist/features/mcp/mcp.manager.js +0 -254
- package/dist/features/mcp/mcp.popular.json +0 -103
- package/dist/features/mcp/mcp.routes.d.ts +0 -13
- package/dist/features/mcp/mcp.routes.js +0 -159
- package/dist/features/mcp/mcp.types.d.ts +0 -80
- package/dist/features/mcp/mcp.types.js +0 -8
- package/dist/features/metadata/metadata.manager.d.ts +0 -126
- package/dist/features/metadata/metadata.manager.js +0 -423
- package/dist/features/models/model-info-aihubmix.d.ts +0 -25
- package/dist/features/models/model-info-aihubmix.js +0 -117
- package/dist/features/models/model-info-openrouter.d.ts +0 -25
- package/dist/features/models/model-info-openrouter.js +0 -104
- package/dist/features/models/model-info.d.ts +0 -37
- package/dist/features/models/model-info.js +0 -39
- package/dist/features/models/models-catalog.d.ts +0 -49
- package/dist/features/models/models-catalog.js +0 -80
- package/dist/features/models/models-catalog.route.d.ts +0 -43
- package/dist/features/models/models-catalog.route.js +0 -15
- package/dist/features/models/models-get-available.route.d.ts +0 -36
- package/dist/features/models/models-get-available.route.js +0 -66
- package/dist/features/models/models-get-enabled.route.d.ts +0 -33
- package/dist/features/models/models-get-enabled.route.js +0 -45
- package/dist/features/models/models-get-model-info.route.d.ts +0 -31
- package/dist/features/models/models-get-model-info.route.js +0 -84
- package/dist/features/models/models-model-disable.route.d.ts +0 -15
- package/dist/features/models/models-model-disable.route.js +0 -20
- package/dist/features/models/models-model-enable.route.d.ts +0 -13
- package/dist/features/models/models-model-enable.route.js +0 -20
- package/dist/features/models/models-provider-refresh.route.d.ts +0 -17
- package/dist/features/models/models-provider-refresh.route.js +0 -20
- package/dist/features/models/models.manager.d.ts +0 -58
- package/dist/features/models/models.manager.js +0 -138
- package/dist/features/models/models.routes.d.ts +0 -18
- package/dist/features/models/models.routes.js +0 -83
- package/dist/features/models/open-router-models.d.ts +0 -38
- package/dist/features/models/open-router-models.js +0 -73
- package/dist/features/models/openai-models.d.ts +0 -63
- package/dist/features/models/openai-models.js +0 -150
- package/dist/features/onboarding/onboarding-get-git-check.route.d.ts +0 -11
- package/dist/features/onboarding/onboarding-get-git-check.route.js +0 -28
- package/dist/features/onboarding/onboarding-get-status.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-get-status.route.js +0 -15
- package/dist/features/onboarding/onboarding-post-complete.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-post-complete.route.js +0 -15
- package/dist/features/onboarding/onboarding-post-reset.route.d.ts +0 -12
- package/dist/features/onboarding/onboarding-post-reset.route.js +0 -15
- package/dist/features/onboarding/onboarding.routes.d.ts +0 -18
- package/dist/features/onboarding/onboarding.routes.js +0 -28
- package/dist/features/project-todos/project-todos.database.d.ts +0 -38
- package/dist/features/project-todos/project-todos.database.js +0 -91
- package/dist/features/project-todos/project-todos.routes.d.ts +0 -4
- package/dist/features/project-todos/project-todos.routes.js +0 -94
- package/dist/features/projects/projects-ai-files.route.d.ts +0 -148
- package/dist/features/projects/projects-ai-files.route.js +0 -425
- package/dist/features/projects/projects-commands.route.d.ts +0 -27
- package/dist/features/projects/projects-commands.route.js +0 -39
- package/dist/features/projects/projects-create.route.d.ts +0 -19
- package/dist/features/projects/projects-create.route.js +0 -37
- package/dist/features/projects/projects-delete.route.d.ts +0 -24
- package/dist/features/projects/projects-delete.route.js +0 -34
- package/dist/features/projects/projects-get.route.d.ts +0 -47
- package/dist/features/projects/projects-get.route.js +0 -36
- package/dist/features/projects/projects-list.route.d.ts +0 -58
- package/dist/features/projects/projects-list.route.js +0 -59
- package/dist/features/projects/projects-open-folder.route.d.ts +0 -10
- package/dist/features/projects/projects-open-folder.route.js +0 -11
- package/dist/features/projects/projects-open.route.d.ts +0 -26
- package/dist/features/projects/projects-open.route.js +0 -49
- package/dist/features/projects/projects-package-scripts.route.d.ts +0 -15
- package/dist/features/projects/projects-package-scripts.route.js +0 -96
- package/dist/features/projects/projects-run-command.route.d.ts +0 -8
- package/dist/features/projects/projects-run-command.route.js +0 -21
- package/dist/features/projects/projects-run.route.d.ts +0 -51
- package/dist/features/projects/projects-run.route.js +0 -74
- package/dist/features/projects/projects-update.route.d.ts +0 -24
- package/dist/features/projects/projects-update.route.js +0 -81
- package/dist/features/projects/projects.creator.d.ts +0 -33
- package/dist/features/projects/projects.creator.js +0 -555
- package/dist/features/projects/projects.database.d.ts +0 -61
- package/dist/features/projects/projects.database.js +0 -212
- package/dist/features/projects/projects.manager.d.ts +0 -291
- package/dist/features/projects/projects.manager.js +0 -426
- package/dist/features/projects/projects.open-with.d.ts +0 -27
- package/dist/features/projects/projects.open-with.js +0 -156
- package/dist/features/projects/projects.routes.d.ts +0 -20
- package/dist/features/projects/projects.routes.js +0 -255
- package/dist/features/projects/terminal-session-manager.d.ts +0 -55
- package/dist/features/projects/terminal-session-manager.js +0 -90
- package/dist/features/providers/provider-resolver.d.ts +0 -13
- package/dist/features/providers/provider-resolver.js +0 -22
- package/dist/features/providers/providers-get-credits.route.d.ts +0 -15
- package/dist/features/providers/providers-get-credits.route.js +0 -51
- package/dist/features/providers/providers-get.route.d.ts +0 -16
- package/dist/features/providers/providers-get.route.js +0 -32
- package/dist/features/providers/providers-open-external.route.d.ts +0 -15
- package/dist/features/providers/providers-open-external.route.js +0 -49
- package/dist/features/providers/providers-post-bulk-keys.route.d.ts +0 -14
- package/dist/features/providers/providers-post-bulk-keys.route.js +0 -31
- package/dist/features/providers/providers-post-keys.route.d.ts +0 -14
- package/dist/features/providers/providers-post-keys.route.js +0 -25
- package/dist/features/providers/providers.routes.d.ts +0 -19
- package/dist/features/providers/providers.routes.js +0 -31
- package/dist/features/rules/rules-post.route.d.ts +0 -43
- package/dist/features/rules/rules-post.route.js +0 -89
- package/dist/features/rules/rules.manager.d.ts +0 -36
- package/dist/features/rules/rules.manager.js +0 -203
- package/dist/features/rules/rules.routes.d.ts +0 -12
- package/dist/features/rules/rules.routes.js +0 -13
- package/dist/features/run/run-get-running.route.d.ts +0 -15
- package/dist/features/run/run-get-running.route.js +0 -21
- package/dist/features/run/run-post-start.route.d.ts +0 -8
- package/dist/features/run/run-post-start.route.js +0 -21
- package/dist/features/run/run-post-stop.route.d.ts +0 -15
- package/dist/features/run/run-post-stop.route.js +0 -24
- package/dist/features/run/run-post-suggest.route.d.ts +0 -15
- package/dist/features/run/run-post-suggest.route.js +0 -21
- package/dist/features/run/run-put-command.route.d.ts +0 -15
- package/dist/features/run/run-put-command.route.js +0 -24
- package/dist/features/run/run.routes.d.ts +0 -19
- package/dist/features/run/run.routes.js +0 -31
- package/dist/features/scaffold/index.d.ts +0 -7
- package/dist/features/scaffold/index.js +0 -5
- package/dist/features/scaffold/scaffold-get-templates.route.d.ts +0 -27
- package/dist/features/scaffold/scaffold-get-templates.route.js +0 -17
- package/dist/features/scaffold/scaffold-post.route.d.ts +0 -8
- package/dist/features/scaffold/scaffold-post.route.js +0 -30
- package/dist/features/scaffold/scaffold.routes.d.ts +0 -10
- package/dist/features/scaffold/scaffold.routes.js +0 -16
- package/dist/features/scaffold/scaffold.runner.d.ts +0 -48
- package/dist/features/scaffold/scaffold.runner.js +0 -475
- package/dist/features/scaffold/scaffold.types.d.ts +0 -26
- package/dist/features/scaffold/scaffold.types.js +0 -5
- package/dist/features/skills/skills.activation.d.ts +0 -31
- package/dist/features/skills/skills.activation.js +0 -155
- package/dist/features/skills/skills.manager.d.ts +0 -35
- package/dist/features/skills/skills.manager.js +0 -251
- package/dist/features/slash-commands/slash-commands-delete.route.d.ts +0 -23
- package/dist/features/slash-commands/slash-commands-delete.route.js +0 -36
- package/dist/features/slash-commands/slash-commands-get.route.d.ts +0 -53
- package/dist/features/slash-commands/slash-commands-get.route.js +0 -54
- package/dist/features/slash-commands/slash-commands-post.route.d.ts +0 -39
- package/dist/features/slash-commands/slash-commands-post.route.js +0 -70
- package/dist/features/slash-commands/slash-commands-put.route.d.ts +0 -23
- package/dist/features/slash-commands/slash-commands-put.route.js +0 -36
- package/dist/features/slash-commands/slash-commands.manager.d.ts +0 -46
- package/dist/features/slash-commands/slash-commands.manager.js +0 -265
- package/dist/features/slash-commands/slash-commands.routes.d.ts +0 -13
- package/dist/features/slash-commands/slash-commands.routes.js +0 -20
- package/dist/features/threads/threads-ai-files.route.d.ts +0 -153
- package/dist/features/threads/threads-ai-files.route.js +0 -287
- package/dist/features/threads/threads-conversation-folder-path.route.d.ts +0 -14
- package/dist/features/threads/threads-conversation-folder-path.route.js +0 -23
- package/dist/features/threads/threads-create.route.d.ts +0 -22
- package/dist/features/threads/threads-create.route.js +0 -60
- package/dist/features/threads/threads-delete.route.d.ts +0 -25
- package/dist/features/threads/threads-delete.route.js +0 -35
- package/dist/features/threads/threads-files.route.d.ts +0 -15
- package/dist/features/threads/threads-files.route.js +0 -20
- package/dist/features/threads/threads-fix-comments.route.d.ts +0 -26
- package/dist/features/threads/threads-fix-comments.route.js +0 -45
- package/dist/features/threads/threads-get.route.d.ts +0 -30
- package/dist/features/threads/threads-get.route.js +0 -38
- package/dist/features/threads/threads-list.route.d.ts +0 -56
- package/dist/features/threads/threads-list.route.js +0 -58
- package/dist/features/threads/threads-messages.route.d.ts +0 -28
- package/dist/features/threads/threads-messages.route.js +0 -110
- package/dist/features/threads/threads-open.route.d.ts +0 -26
- package/dist/features/threads/threads-open.route.js +0 -62
- package/dist/features/threads/threads-select.route.d.ts +0 -25
- package/dist/features/threads/threads-select.route.js +0 -35
- package/dist/features/threads/threads-update.route.d.ts +0 -15
- package/dist/features/threads/threads-update.route.js +0 -30
- package/dist/features/threads/threads.database.d.ts +0 -68
- package/dist/features/threads/threads.database.js +0 -215
- package/dist/features/threads/threads.manager.d.ts +0 -204
- package/dist/features/threads/threads.manager.js +0 -505
- package/dist/features/threads/threads.routes.d.ts +0 -20
- package/dist/features/threads/threads.routes.js +0 -230
- package/dist/features/todos/todos.database.d.ts +0 -14
- package/dist/features/todos/todos.database.js +0 -31
- package/dist/features/updates/updates.routes.d.ts +0 -13
- package/dist/features/updates/updates.routes.js +0 -40
- package/dist/index.d.ts +0 -3
- package/dist/project-analyzer.d.ts +0 -26
- package/dist/project-analyzer.js +0 -307
- package/dist/server.d.ts +0 -12
- package/dist/server.js +0 -142
- package/dist/tools/agent-tool.d.ts +0 -49
- package/dist/tools/agent-tool.js +0 -131
- package/dist/tools/ask-user.d.ts +0 -25
- package/dist/tools/ask-user.js +0 -74
- package/dist/tools/ast-grep.d.ts +0 -28
- package/dist/tools/ast-grep.js +0 -273
- package/dist/tools/bash.d.ts +0 -33
- package/dist/tools/bash.js +0 -186
- package/dist/tools/edit-diff.d.ts +0 -24
- package/dist/tools/edit-diff.js +0 -136
- package/dist/tools/edit.d.ts +0 -28
- package/dist/tools/edit.js +0 -78
- package/dist/tools/find.d.ts +0 -31
- package/dist/tools/find.js +0 -117
- package/dist/tools/grep.d.ts +0 -37
- package/dist/tools/grep.js +0 -231
- package/dist/tools/index.d.ts +0 -93
- package/dist/tools/index.js +0 -110
- package/dist/tools/ls.d.ts +0 -31
- package/dist/tools/ls.js +0 -108
- package/dist/tools/mcp-tools.d.ts +0 -31
- package/dist/tools/mcp-tools.js +0 -59
- package/dist/tools/path-utils.d.ts +0 -14
- package/dist/tools/path-utils.js +0 -87
- package/dist/tools/read.d.ts +0 -27
- package/dist/tools/read.js +0 -86
- package/dist/tools/resolve-bin.d.ts +0 -5
- package/dist/tools/resolve-bin.js +0 -28
- package/dist/tools/shell.d.ts +0 -7
- package/dist/tools/shell.js +0 -143
- package/dist/tools/skill-reference-tool.d.ts +0 -30
- package/dist/tools/skill-reference-tool.js +0 -171
- package/dist/tools/skill-tool.d.ts +0 -33
- package/dist/tools/skill-tool.js +0 -213
- package/dist/tools/todo.d.ts +0 -20
- package/dist/tools/todo.js +0 -168
- package/dist/tools/tool-helpers.d.ts +0 -78
- package/dist/tools/tool-helpers.js +0 -109
- package/dist/tools/truncate.d.ts +0 -31
- package/dist/tools/truncate.js +0 -164
- package/dist/tools/write.d.ts +0 -21
- package/dist/tools/write.js +0 -65
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite Database Operations for Conversation History
|
|
3
|
-
*
|
|
4
|
-
* This module handles all operations for storing and retrieving conversation
|
|
5
|
-
* history in the SQLite database.
|
|
6
|
-
*/
|
|
7
|
-
import { ConversationMessage, ConversationHistory, AgentEvent, FileData } from "@tarsk/shared";
|
|
8
|
-
import { Database } from "../../database/database.types";
|
|
9
|
-
/**
|
|
10
|
-
* Insert a new conversation message (incomplete)
|
|
11
|
-
* @param db SQLite database instance
|
|
12
|
-
* @param threadId Thread ID
|
|
13
|
-
* @param conversationId Conversation ID (groups messages into separate conversations)
|
|
14
|
-
* @param message User message content
|
|
15
|
-
* @param model Model used
|
|
16
|
-
* @param attachments Optional file attachments
|
|
17
|
-
* @param planMode Optional plan mode flag
|
|
18
|
-
* @returns Message ID
|
|
19
|
-
*/
|
|
20
|
-
export declare function insertMessage(db: Database, threadId: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
|
|
21
|
-
/**
|
|
22
|
-
* Update a conversation message with response data
|
|
23
|
-
* @param db SQLite database instance
|
|
24
|
-
* @param messageId Message ID
|
|
25
|
-
* @param content Response content
|
|
26
|
-
* @param events Events captured during execution
|
|
27
|
-
* @throws Error if message not found
|
|
28
|
-
*/
|
|
29
|
-
export declare function updateMessage(db: Database, messageId: string, content: string, events: AgentEvent[]): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Get conversation history for a thread (all conversations)
|
|
32
|
-
* @param db SQLite database instance
|
|
33
|
-
* @param threadId Thread ID
|
|
34
|
-
* @returns ConversationHistory object or null if not found
|
|
35
|
-
*/
|
|
36
|
-
export declare function getConversationHistory(db: Database, threadId: string): Promise<ConversationHistory | null>;
|
|
37
|
-
export declare function getDeletedConversationHistory(db: Database, threadId: string): Promise<ConversationHistory | null>;
|
|
38
|
-
/**
|
|
39
|
-
* Get conversation history for a specific conversation within a thread
|
|
40
|
-
* @param db SQLite database instance
|
|
41
|
-
* @param threadId Thread ID
|
|
42
|
-
* @param conversationId Conversation ID
|
|
43
|
-
* @returns ConversationHistory object or null if not found
|
|
44
|
-
*/
|
|
45
|
-
export declare function getConversationHistoryByConversationId(db: Database, threadId: string, conversationId: string): Promise<ConversationHistory | null>;
|
|
46
|
-
/**
|
|
47
|
-
* Get the last N messages from conversation history for a specific conversation
|
|
48
|
-
* @param db SQLite database instance
|
|
49
|
-
* @param threadId Thread ID
|
|
50
|
-
* @param conversationId Conversation ID
|
|
51
|
-
* @param count Number of messages to retrieve
|
|
52
|
-
* @returns Array of conversation messages
|
|
53
|
-
*/
|
|
54
|
-
export declare function getLastMessages(db: Database, threadId: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
|
|
55
|
-
/**
|
|
56
|
-
* Mark conversation history for a specific conversation as deleted
|
|
57
|
-
* @param db SQLite database instance
|
|
58
|
-
* @param threadId Thread ID
|
|
59
|
-
* @param conversationId Conversation ID
|
|
60
|
-
*/
|
|
61
|
-
export declare function clearConversationHistory(db: Database, threadId: string, conversationId: string): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Get message count for a thread
|
|
64
|
-
* @param db SQLite database instance
|
|
65
|
-
* @param threadId Thread ID
|
|
66
|
-
* @returns Number of messages
|
|
67
|
-
*/
|
|
68
|
-
export declare function getMessageCount(db: Database, threadId: string): Promise<number>;
|
|
69
|
-
/**
|
|
70
|
-
* Check if a message exists
|
|
71
|
-
* @param db SQLite database instance
|
|
72
|
-
* @param messageId Message ID
|
|
73
|
-
* @returns True if message exists
|
|
74
|
-
*/
|
|
75
|
-
export declare function messageExists(db: Database, messageId: string): Promise<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* Mark a specific message as deleted
|
|
78
|
-
* @param db SQLite database instance
|
|
79
|
-
* @param messageId Message ID
|
|
80
|
-
*/
|
|
81
|
-
export declare function deleteMessage(db: Database, messageId: string): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Get total message count across all threads
|
|
84
|
-
* @param db SQLite database instance
|
|
85
|
-
* @returns Total number of messages
|
|
86
|
-
*/
|
|
87
|
-
export declare function getTotalMessageCount(db: Database): Promise<number>;
|
|
88
|
-
/**
|
|
89
|
-
* Mark all conversation history for a specific thread as deleted
|
|
90
|
-
* @param db SQLite database instance
|
|
91
|
-
* @param threadId Thread ID
|
|
92
|
-
*/
|
|
93
|
-
export declare function markConversationHistoryAsDeleted(db: Database, threadId: string): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Mark all conversation history for a specific thread as deleted
|
|
96
|
-
* @param db SQLite database instance
|
|
97
|
-
* @param threadId Thread ID
|
|
98
|
-
*/
|
|
99
|
-
export declare function deleteConversationHistoryForThread(db: Database, threadId: string): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Get all unique conversation IDs for a thread
|
|
102
|
-
* @param db SQLite database instance
|
|
103
|
-
* @param threadId Thread ID
|
|
104
|
-
* @returns Array of conversation IDs
|
|
105
|
-
*/
|
|
106
|
-
export declare function getConversationIds(db: Database, threadId: string): Promise<string[]>;
|
|
107
|
-
export declare function getDeletedConversationIds(db: Database, threadId: string): Promise<string[]>;
|
|
108
|
-
//# sourceMappingURL=conversations.database.d.ts.map
|
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite Database Operations for Conversation History
|
|
3
|
-
*
|
|
4
|
-
* This module handles all operations for storing and retrieving conversation
|
|
5
|
-
* history in the SQLite database.
|
|
6
|
-
*/
|
|
7
|
-
import { randomUUID } from "crypto";
|
|
8
|
-
/**
|
|
9
|
-
* Insert a new conversation message (incomplete)
|
|
10
|
-
* @param db SQLite database instance
|
|
11
|
-
* @param threadId Thread ID
|
|
12
|
-
* @param conversationId Conversation ID (groups messages into separate conversations)
|
|
13
|
-
* @param message User message content
|
|
14
|
-
* @param model Model used
|
|
15
|
-
* @param attachments Optional file attachments
|
|
16
|
-
* @param planMode Optional plan mode flag
|
|
17
|
-
* @returns Message ID
|
|
18
|
-
*/
|
|
19
|
-
export async function insertMessage(db, threadId, conversationId, message, model, attachments, planMode) {
|
|
20
|
-
try {
|
|
21
|
-
const messageId = randomUUID();
|
|
22
|
-
const timestamp = new Date().toISOString();
|
|
23
|
-
await db.execute(`
|
|
24
|
-
INSERT INTO conversation_history (
|
|
25
|
-
id, threadId, conversationId, timestamp, status,
|
|
26
|
-
request_message, request_model, request_attachments, request_planMode
|
|
27
|
-
)
|
|
28
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
29
|
-
`, [
|
|
30
|
-
messageId,
|
|
31
|
-
threadId,
|
|
32
|
-
conversationId,
|
|
33
|
-
timestamp,
|
|
34
|
-
"active",
|
|
35
|
-
message,
|
|
36
|
-
model,
|
|
37
|
-
attachments ? JSON.stringify(attachments) : null,
|
|
38
|
-
planMode ? 1 : 0,
|
|
39
|
-
]);
|
|
40
|
-
return messageId;
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
console.error("Failed to insert conversation message:", error);
|
|
44
|
-
throw error;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Update a conversation message with response data
|
|
49
|
-
* @param db SQLite database instance
|
|
50
|
-
* @param messageId Message ID
|
|
51
|
-
* @param content Response content
|
|
52
|
-
* @param events Events captured during execution
|
|
53
|
-
* @throws Error if message not found
|
|
54
|
-
*/
|
|
55
|
-
export async function updateMessage(db, messageId, content, events) {
|
|
56
|
-
try {
|
|
57
|
-
const completedAt = new Date().toISOString();
|
|
58
|
-
// Calculate token usage from events.
|
|
59
|
-
// Prefer `message` events (from message_start) as the authoritative source for usage data.
|
|
60
|
-
// Only fall back to `toolcall_delta` events if no `message` events carry real usage,
|
|
61
|
-
// to avoid double-counting when both event types report the same API call's tokens.
|
|
62
|
-
let inputTokens = 0;
|
|
63
|
-
let outputTokens = 0;
|
|
64
|
-
const hasMessageUsage = events.some((e) => e.type === "message" &&
|
|
65
|
-
e.message?.usage &&
|
|
66
|
-
((e.message?.usage?.input ?? 0) > 0 ||
|
|
67
|
-
(e.message?.usage?.output ?? 0) > 0 ||
|
|
68
|
-
(e.message?.usage?.cacheRead ?? 0) > 0 ||
|
|
69
|
-
(e.message?.usage?.cacheWrite ?? 0) > 0));
|
|
70
|
-
for (const event of events) {
|
|
71
|
-
if (hasMessageUsage) {
|
|
72
|
-
// Use message events as the single source of truth
|
|
73
|
-
if (event.type === "message" && event.message?.usage) {
|
|
74
|
-
const usage = event.message.usage;
|
|
75
|
-
inputTokens += usage.input ?? 0;
|
|
76
|
-
outputTokens += usage.output ?? 0;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// Fall back to toolcall_delta events if no message events have real usage
|
|
81
|
-
if (event.type === "toolcall_delta" && event.partial?.usage) {
|
|
82
|
-
inputTokens += event.partial.usage.input ?? 0;
|
|
83
|
-
outputTokens += event.partial.usage.output ?? 0;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// Fallback: Estimate output tokens from response content if no usage data was found
|
|
88
|
-
if (inputTokens === 0 && outputTokens === 0 && content) {
|
|
89
|
-
// Rough estimate: ~4 characters per token for English text.
|
|
90
|
-
// Only estimate output tokens from the response content; we cannot reliably
|
|
91
|
-
// derive input tokens here since the original request is not available.
|
|
92
|
-
outputTokens = Math.ceil(content.length / 4);
|
|
93
|
-
}
|
|
94
|
-
const result = await db.execute(`
|
|
95
|
-
UPDATE conversation_history
|
|
96
|
-
SET response_content = ?, response_events = ?, response_completedAt = ?, input_tokens = ?, output_tokens = ?
|
|
97
|
-
WHERE id = ?
|
|
98
|
-
`, [content, JSON.stringify(events), completedAt, inputTokens, outputTokens, messageId]);
|
|
99
|
-
// Check if any rows were actually updated
|
|
100
|
-
if (result.rowsAffected === 0) {
|
|
101
|
-
console.warn(`[updateMessage] No message found with ID: ${messageId}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
console.error("Failed to update conversation message:", error);
|
|
106
|
-
throw error;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Get conversation history for a thread (all conversations)
|
|
111
|
-
* @param db SQLite database instance
|
|
112
|
-
* @param threadId Thread ID
|
|
113
|
-
* @returns ConversationHistory object or null if not found
|
|
114
|
-
*/
|
|
115
|
-
export async function getConversationHistory(db, threadId) {
|
|
116
|
-
try {
|
|
117
|
-
const result = await db.execute(`
|
|
118
|
-
SELECT * FROM conversation_history
|
|
119
|
-
WHERE threadId = ?
|
|
120
|
-
ORDER BY timestamp ASC
|
|
121
|
-
`, [threadId]);
|
|
122
|
-
const rows = result.rows;
|
|
123
|
-
if (rows.length === 0) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
const messages = rows.map(deserializeMessage);
|
|
127
|
-
return {
|
|
128
|
-
threadId,
|
|
129
|
-
messages,
|
|
130
|
-
lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
console.error("Failed to get conversation history:", error);
|
|
135
|
-
throw error;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
export async function getDeletedConversationHistory(db, threadId) {
|
|
139
|
-
try {
|
|
140
|
-
const result = await db.execute(`
|
|
141
|
-
SELECT * FROM conversation_history
|
|
142
|
-
WHERE threadId = ? AND status = ?
|
|
143
|
-
ORDER BY timestamp ASC
|
|
144
|
-
`, [threadId, "deleted"]);
|
|
145
|
-
const rows = result.rows;
|
|
146
|
-
if (rows.length === 0) {
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
const messages = rows.map(deserializeMessage);
|
|
150
|
-
return {
|
|
151
|
-
threadId,
|
|
152
|
-
messages,
|
|
153
|
-
lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
console.error("Failed to get deleted conversation history:", error);
|
|
158
|
-
throw error;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Get conversation history for a specific conversation within a thread
|
|
163
|
-
* @param db SQLite database instance
|
|
164
|
-
* @param threadId Thread ID
|
|
165
|
-
* @param conversationId Conversation ID
|
|
166
|
-
* @returns ConversationHistory object or null if not found
|
|
167
|
-
*/
|
|
168
|
-
export async function getConversationHistoryByConversationId(db, threadId, conversationId) {
|
|
169
|
-
try {
|
|
170
|
-
const result = await db.execute(`
|
|
171
|
-
SELECT * FROM conversation_history
|
|
172
|
-
WHERE threadId = ? AND conversationId = ? AND status = ?
|
|
173
|
-
ORDER BY timestamp ASC
|
|
174
|
-
`, [threadId, conversationId, "active"]);
|
|
175
|
-
const rows = result.rows;
|
|
176
|
-
if (rows.length === 0) {
|
|
177
|
-
return null;
|
|
178
|
-
}
|
|
179
|
-
const messages = rows.map(deserializeMessage);
|
|
180
|
-
return {
|
|
181
|
-
threadId,
|
|
182
|
-
messages,
|
|
183
|
-
lastUpdated: messages.length > 0 ? messages[messages.length - 1].timestamp : new Date().toISOString(),
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
console.error("Failed to get conversation history by conversation ID:", error);
|
|
188
|
-
throw error;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Get the last N messages from conversation history for a specific conversation
|
|
193
|
-
* @param db SQLite database instance
|
|
194
|
-
* @param threadId Thread ID
|
|
195
|
-
* @param conversationId Conversation ID
|
|
196
|
-
* @param count Number of messages to retrieve
|
|
197
|
-
* @returns Array of conversation messages
|
|
198
|
-
*/
|
|
199
|
-
export async function getLastMessages(db, threadId, conversationId, count = 1) {
|
|
200
|
-
try {
|
|
201
|
-
const result = await db.execute(`
|
|
202
|
-
SELECT * FROM conversation_history
|
|
203
|
-
WHERE threadId = ? AND conversationId = ? AND status = ?
|
|
204
|
-
ORDER BY timestamp DESC
|
|
205
|
-
LIMIT ?
|
|
206
|
-
`, [threadId, conversationId, "active", count]);
|
|
207
|
-
const rows = result.rows;
|
|
208
|
-
// Reverse to get chronological order
|
|
209
|
-
return rows.reverse().map(deserializeMessage);
|
|
210
|
-
}
|
|
211
|
-
catch (error) {
|
|
212
|
-
console.error("Failed to get last messages:", error);
|
|
213
|
-
throw error;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Mark conversation history for a specific conversation as deleted
|
|
218
|
-
* @param db SQLite database instance
|
|
219
|
-
* @param threadId Thread ID
|
|
220
|
-
* @param conversationId Conversation ID
|
|
221
|
-
*/
|
|
222
|
-
export async function clearConversationHistory(db, threadId, conversationId) {
|
|
223
|
-
try {
|
|
224
|
-
await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ? AND conversationId = ?", ["deleted", threadId, conversationId]);
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
console.error("Failed to mark conversation history as deleted:", error);
|
|
228
|
-
throw error;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Get message count for a thread
|
|
233
|
-
* @param db SQLite database instance
|
|
234
|
-
* @param threadId Thread ID
|
|
235
|
-
* @returns Number of messages
|
|
236
|
-
*/
|
|
237
|
-
export async function getMessageCount(db, threadId) {
|
|
238
|
-
const result = await db.execute("SELECT COUNT(*) as count FROM conversation_history WHERE threadId = ? AND status = ?", [threadId, "active"]);
|
|
239
|
-
return result.rows[0].count;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Check if a message exists
|
|
243
|
-
* @param db SQLite database instance
|
|
244
|
-
* @param messageId Message ID
|
|
245
|
-
* @returns True if message exists
|
|
246
|
-
*/
|
|
247
|
-
export async function messageExists(db, messageId) {
|
|
248
|
-
const result = await db.execute("SELECT 1 FROM conversation_history WHERE id = ? LIMIT 1", [
|
|
249
|
-
messageId,
|
|
250
|
-
]);
|
|
251
|
-
return result.rows.length > 0;
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Deserialize a conversation message row from the database
|
|
255
|
-
* @param row Database row
|
|
256
|
-
* @returns ConversationMessage object
|
|
257
|
-
*/
|
|
258
|
-
function deserializeMessage(row) {
|
|
259
|
-
return {
|
|
260
|
-
id: row.id,
|
|
261
|
-
timestamp: row.timestamp,
|
|
262
|
-
conversationId: row.conversationId,
|
|
263
|
-
status: row.status,
|
|
264
|
-
request: {
|
|
265
|
-
message: row.request_message,
|
|
266
|
-
model: row.request_model,
|
|
267
|
-
...(row.request_attachments && { attachments: JSON.parse(row.request_attachments) }),
|
|
268
|
-
...(row.request_planMode === 1 && { planMode: true }),
|
|
269
|
-
},
|
|
270
|
-
response: row.response_content
|
|
271
|
-
? {
|
|
272
|
-
content: row.response_content,
|
|
273
|
-
events: row.response_events ? JSON.parse(row.response_events) : [],
|
|
274
|
-
completedAt: row.response_completedAt ?? "",
|
|
275
|
-
}
|
|
276
|
-
: null,
|
|
277
|
-
inputTokens: row.input_tokens,
|
|
278
|
-
outputTokens: row.output_tokens,
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Mark a specific message as deleted
|
|
283
|
-
* @param db SQLite database instance
|
|
284
|
-
* @param messageId Message ID
|
|
285
|
-
*/
|
|
286
|
-
export async function deleteMessage(db, messageId) {
|
|
287
|
-
await db.execute("UPDATE conversation_history SET status = ? WHERE id = ?", [
|
|
288
|
-
"deleted",
|
|
289
|
-
messageId,
|
|
290
|
-
]);
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Get total message count across all threads
|
|
294
|
-
* @param db SQLite database instance
|
|
295
|
-
* @returns Total number of messages
|
|
296
|
-
*/
|
|
297
|
-
export async function getTotalMessageCount(db) {
|
|
298
|
-
const result = await db.execute("SELECT COUNT(*) as count FROM conversation_history");
|
|
299
|
-
return result.rows[0].count;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Mark all conversation history for a specific thread as deleted
|
|
303
|
-
* @param db SQLite database instance
|
|
304
|
-
* @param threadId Thread ID
|
|
305
|
-
*/
|
|
306
|
-
export async function markConversationHistoryAsDeleted(db, threadId) {
|
|
307
|
-
try {
|
|
308
|
-
await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ?", [
|
|
309
|
-
"deleted",
|
|
310
|
-
threadId,
|
|
311
|
-
]);
|
|
312
|
-
}
|
|
313
|
-
catch (error) {
|
|
314
|
-
console.error("Failed to mark conversation history as deleted:", error);
|
|
315
|
-
throw error;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Mark all conversation history for a specific thread as deleted
|
|
320
|
-
* @param db SQLite database instance
|
|
321
|
-
* @param threadId Thread ID
|
|
322
|
-
*/
|
|
323
|
-
export async function deleteConversationHistoryForThread(db, threadId) {
|
|
324
|
-
try {
|
|
325
|
-
await db.execute("UPDATE conversation_history SET status = ? WHERE threadId = ?", [
|
|
326
|
-
"deleted",
|
|
327
|
-
threadId,
|
|
328
|
-
]);
|
|
329
|
-
}
|
|
330
|
-
catch (error) {
|
|
331
|
-
console.error("Failed to mark conversation history as deleted for thread:", error);
|
|
332
|
-
throw error;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Get all unique conversation IDs for a thread
|
|
337
|
-
* @param db SQLite database instance
|
|
338
|
-
* @param threadId Thread ID
|
|
339
|
-
* @returns Array of conversation IDs
|
|
340
|
-
*/
|
|
341
|
-
export async function getConversationIds(db, threadId) {
|
|
342
|
-
try {
|
|
343
|
-
const result = await db.execute(`
|
|
344
|
-
SELECT conversationId FROM conversation_history
|
|
345
|
-
WHERE threadId = ?
|
|
346
|
-
GROUP BY conversationId
|
|
347
|
-
ORDER BY conversationId DESC
|
|
348
|
-
`, [threadId]);
|
|
349
|
-
const rows = result.rows;
|
|
350
|
-
return rows.map((row) => row.conversationId);
|
|
351
|
-
}
|
|
352
|
-
catch (error) {
|
|
353
|
-
console.error("Failed to get conversation IDs:", error);
|
|
354
|
-
throw error;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
export async function getDeletedConversationIds(db, threadId) {
|
|
358
|
-
try {
|
|
359
|
-
const result = await db.execute(`
|
|
360
|
-
SELECT conversationId FROM conversation_history
|
|
361
|
-
WHERE threadId = ? AND status = ?
|
|
362
|
-
GROUP BY conversationId
|
|
363
|
-
ORDER BY conversationId DESC
|
|
364
|
-
`, [threadId, "deleted"]);
|
|
365
|
-
const rows = result.rows;
|
|
366
|
-
return rows.map((row) => row.conversationId);
|
|
367
|
-
}
|
|
368
|
-
catch (error) {
|
|
369
|
-
console.error("Failed to get deleted conversation IDs:", error);
|
|
370
|
-
throw error;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
//# sourceMappingURL=conversations.database.js.map
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConversationManager handles conversation history storage and retrieval
|
|
3
|
-
*
|
|
4
|
-
* This manager is responsible for:
|
|
5
|
-
* - Storing request/response pairs in SQLite database
|
|
6
|
-
* - Retrieving conversation history for a thread
|
|
7
|
-
* - Managing conversation persistence
|
|
8
|
-
*/
|
|
9
|
-
import { ConversationHistory, ConversationMessage, AgentEvent, FileData } from "@tarsk/shared";
|
|
10
|
-
/**
|
|
11
|
-
* ConversationManager interface defines the contract for conversation operations
|
|
12
|
-
*/
|
|
13
|
-
export interface ConversationManager {
|
|
14
|
-
/**
|
|
15
|
-
* Starts a new conversation message (request captured)
|
|
16
|
-
* @param threadId - The thread ID
|
|
17
|
-
* @param threadPath - The absolute path to the thread directory
|
|
18
|
-
* @param conversationId - The conversation ID (groups messages into separate conversations)
|
|
19
|
-
* @param message - The user's message
|
|
20
|
-
* @param model - The model being used
|
|
21
|
-
* @param attachments - Optional file attachments
|
|
22
|
-
* @param planMode - Optional plan mode flag
|
|
23
|
-
* @returns The message ID for this conversation
|
|
24
|
-
*/
|
|
25
|
-
startMessage(threadId: string, threadPath: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
|
|
26
|
-
/**
|
|
27
|
-
* Completes a conversation message (response captured)
|
|
28
|
-
* @param messageId - The message ID to complete
|
|
29
|
-
* @param content - The complete response content
|
|
30
|
-
* @param events - All events captured during execution
|
|
31
|
-
*/
|
|
32
|
-
completeMessage(messageId: string, content: string, events: AgentEvent[]): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Gets the conversation history for a thread (all conversations)
|
|
35
|
-
* @param threadPath - The absolute path to the thread directory
|
|
36
|
-
* @returns The conversation history or null if not found
|
|
37
|
-
*/
|
|
38
|
-
getConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
|
|
39
|
-
/**
|
|
40
|
-
* Gets the conversation history for a specific conversation
|
|
41
|
-
* @param threadPath - The absolute path to the thread directory
|
|
42
|
-
* @param conversationId - The conversation ID
|
|
43
|
-
* @returns The conversation history or null if not found
|
|
44
|
-
*/
|
|
45
|
-
getConversationHistoryByConversationId(threadPath: string, conversationId: string): Promise<ConversationHistory | null>;
|
|
46
|
-
/**
|
|
47
|
-
* Gets the last N messages from conversation history for a specific conversation
|
|
48
|
-
* @param threadPath - The absolute path to the thread directory
|
|
49
|
-
* @param conversationId - The conversation ID
|
|
50
|
-
* @param count - Number of messages to retrieve (default: 1)
|
|
51
|
-
* @returns Array of conversation messages
|
|
52
|
-
*/
|
|
53
|
-
getLastMessages(threadPath: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Clears conversation history for a specific conversation
|
|
56
|
-
* @param threadPath - The absolute path to the thread directory
|
|
57
|
-
* @param conversationId - The conversation ID
|
|
58
|
-
*/
|
|
59
|
-
clearChatHistory(threadPath: string, conversationId: string): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Gets all conversation IDs for a thread
|
|
62
|
-
* @param threadPath - The absolute path to the thread directory
|
|
63
|
-
* @returns Array of conversation IDs
|
|
64
|
-
*/
|
|
65
|
-
getConversationIds(threadPath: string): Promise<string[]>;
|
|
66
|
-
/**
|
|
67
|
-
* Gets deleted conversation history for a thread
|
|
68
|
-
* @param threadPath - The absolute path to the thread directory
|
|
69
|
-
* @returns The deleted conversation history or null if not found
|
|
70
|
-
*/
|
|
71
|
-
getDeletedConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
|
|
72
|
-
/**
|
|
73
|
-
* Gets deleted conversation IDs for a thread
|
|
74
|
-
* @param threadPath - The absolute path to the thread directory
|
|
75
|
-
* @returns Array of deleted conversation IDs
|
|
76
|
-
*/
|
|
77
|
-
getDeletedConversationIds(threadPath: string): Promise<string[]>;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* ConversationManagerImpl provides the implementation for conversation operations
|
|
81
|
-
*/
|
|
82
|
-
export declare class ConversationManagerImpl implements ConversationManager {
|
|
83
|
-
private db;
|
|
84
|
-
/**
|
|
85
|
-
* Create a new ConversationManagerImpl
|
|
86
|
-
* @param _dataDir - Directory where metadata files are stored (unused, kept for interface compatibility)
|
|
87
|
-
*/
|
|
88
|
-
constructor(_dataDir: string);
|
|
89
|
-
/**
|
|
90
|
-
* Initialize the conversation manager
|
|
91
|
-
*/
|
|
92
|
-
initialize(): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* Starts a new conversation message
|
|
95
|
-
*/
|
|
96
|
-
startMessage(threadId: string, _threadPath: string, conversationId: string, message: string, model: string, attachments?: FileData[], planMode?: boolean): Promise<string>;
|
|
97
|
-
/**
|
|
98
|
-
* Completes a conversation message
|
|
99
|
-
*/
|
|
100
|
-
completeMessage(messageId: string, content: string, events: AgentEvent[]): Promise<void>;
|
|
101
|
-
/**
|
|
102
|
-
* Gets the conversation history for a thread (all conversations)
|
|
103
|
-
*/
|
|
104
|
-
getConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
|
|
105
|
-
/**
|
|
106
|
-
* Gets the conversation history for a specific conversation
|
|
107
|
-
*/
|
|
108
|
-
getConversationHistoryByConversationId(threadPath: string, conversationId: string): Promise<ConversationHistory | null>;
|
|
109
|
-
/**
|
|
110
|
-
* Gets the last N messages from conversation history for a specific conversation
|
|
111
|
-
*/
|
|
112
|
-
getLastMessages(threadPath: string, conversationId: string, count?: number): Promise<ConversationMessage[]>;
|
|
113
|
-
/**
|
|
114
|
-
* Clears conversation history for a specific conversation
|
|
115
|
-
*/
|
|
116
|
-
clearChatHistory(threadPath: string, conversationId: string): Promise<void>;
|
|
117
|
-
/**
|
|
118
|
-
* Gets all conversation IDs for a thread
|
|
119
|
-
*/
|
|
120
|
-
getConversationIds(threadPath: string): Promise<string[]>;
|
|
121
|
-
/**
|
|
122
|
-
* Gets deleted conversation history for a thread
|
|
123
|
-
*/
|
|
124
|
-
getDeletedConversationHistory(threadPath: string): Promise<ConversationHistory | null>;
|
|
125
|
-
/**
|
|
126
|
-
* Gets deleted conversation IDs for a thread
|
|
127
|
-
*/
|
|
128
|
-
getDeletedConversationIds(threadPath: string): Promise<string[]>;
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=conversations.manager.d.ts.map
|