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
package/dist/core/crypto.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Crypto utilities for encrypting/decrypting sensitive data
|
|
3
|
-
*
|
|
4
|
-
* Uses AES-256-GCM encryption with a machine-specific key derived from
|
|
5
|
-
* unchanging machine identifiers.
|
|
6
|
-
*/
|
|
7
|
-
import { createCipheriv, createDecipheriv, randomBytes, createHash } from "crypto";
|
|
8
|
-
import { networkInterfaces, hostname } from "os";
|
|
9
|
-
import { getDatabase } from '../database/database.js';
|
|
10
|
-
const ALGORITHM = "aes-256-gcm";
|
|
11
|
-
const IV_LENGTH = 16; // 128 bits
|
|
12
|
-
/**
|
|
13
|
-
* Generate a machine-specific encryption key
|
|
14
|
-
*
|
|
15
|
-
* This creates a deterministic key based on unchanging machine identifiers:
|
|
16
|
-
* - MAC address of the first network interface (if available)
|
|
17
|
-
* - Hostname
|
|
18
|
-
* - User home directory path (as fallback)
|
|
19
|
-
*
|
|
20
|
-
* The fallback to home directory ensures the key works on Windows VMs,
|
|
21
|
-
* containers, and other environments where MAC address may not be available.
|
|
22
|
-
*
|
|
23
|
-
* @returns A 32-byte encryption key
|
|
24
|
-
*/
|
|
25
|
-
function getMachineKey() {
|
|
26
|
-
try {
|
|
27
|
-
// Get MAC address from first available network interface
|
|
28
|
-
const interfaces = networkInterfaces();
|
|
29
|
-
let macAddress = "";
|
|
30
|
-
for (const name of Object.keys(interfaces)) {
|
|
31
|
-
const iface = interfaces[name];
|
|
32
|
-
if (iface) {
|
|
33
|
-
for (const addr of iface) {
|
|
34
|
-
// Skip loopback and null MAC addresses
|
|
35
|
-
if (addr.mac && addr.mac !== "00:00:00:00:00:00" && !addr.internal) {
|
|
36
|
-
macAddress = addr.mac;
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (macAddress)
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Get hostname
|
|
45
|
-
const host = hostname();
|
|
46
|
-
// Get home directory as additional identifier (works on Windows, macOS, Linux)
|
|
47
|
-
// Windows uses USERPROFILE, Unix-like systems use HOME
|
|
48
|
-
const homeDir = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
49
|
-
// Combine all available identifiers
|
|
50
|
-
// Format: mac-hostname-homedir
|
|
51
|
-
const machineId = `${macAddress}-${host}-${homeDir}`;
|
|
52
|
-
// Hash to create a 256-bit key
|
|
53
|
-
return createHash("sha256").update(machineId).digest();
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return Buffer.from("Invalid", "utf8");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Get the encryption key from database state table or generate machine key
|
|
61
|
-
* @returns A 32-byte encryption key
|
|
62
|
-
*/
|
|
63
|
-
async function getEncryptionKey() {
|
|
64
|
-
try {
|
|
65
|
-
const db = await getDatabase();
|
|
66
|
-
// Try to get existing encryption key from state table directly
|
|
67
|
-
const result = await db.execute({
|
|
68
|
-
sql: "SELECT value FROM state WHERE key = ?",
|
|
69
|
-
args: ["encryption_key"],
|
|
70
|
-
});
|
|
71
|
-
if (result.rows.length > 0 && result.rows[0].value) {
|
|
72
|
-
const storedValue = result.rows[0].value;
|
|
73
|
-
try {
|
|
74
|
-
// Try to parse as JSON first (in case it was stored that way)
|
|
75
|
-
const parsed = JSON.parse(storedValue);
|
|
76
|
-
return Buffer.from(parsed, "base64");
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
// If not JSON, treat as direct base64 string
|
|
80
|
-
return Buffer.from(storedValue, "base64");
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Generate new machine key and store it
|
|
84
|
-
const machineKey = getMachineKey();
|
|
85
|
-
// Store the key in the state table as base64 string (not JSON)
|
|
86
|
-
await db.execute({
|
|
87
|
-
sql: "INSERT OR REPLACE INTO state (key, value) VALUES (?, ?)",
|
|
88
|
-
args: ["encryption_key", machineKey.toString("base64")],
|
|
89
|
-
});
|
|
90
|
-
return machineKey;
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
// Fallback to machine key if database fails
|
|
94
|
-
return getMachineKey();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Encrypt a string value
|
|
99
|
-
*
|
|
100
|
-
* @param plaintext - The string to encrypt
|
|
101
|
-
* @returns Base64-encoded encrypted data in format: iv:authTag:ciphertext
|
|
102
|
-
*/
|
|
103
|
-
export async function encrypt(plaintext) {
|
|
104
|
-
if (!plaintext) {
|
|
105
|
-
return "";
|
|
106
|
-
}
|
|
107
|
-
const key = await getEncryptionKey();
|
|
108
|
-
const iv = randomBytes(IV_LENGTH);
|
|
109
|
-
const cipher = createCipheriv(ALGORITHM, key, iv);
|
|
110
|
-
let encrypted = cipher.update(plaintext, "utf8", "base64");
|
|
111
|
-
encrypted += cipher.final("base64");
|
|
112
|
-
const authTag = cipher.getAuthTag();
|
|
113
|
-
// Combine iv, authTag, and encrypted data
|
|
114
|
-
const result = `${iv.toString("base64")}:${authTag.toString("base64")}:${encrypted}`;
|
|
115
|
-
return result;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Decrypt an encrypted string value
|
|
119
|
-
*
|
|
120
|
-
* @param encryptedData - Base64-encoded encrypted data in format: iv:authTag:ciphertext
|
|
121
|
-
* @returns The decrypted plaintext string
|
|
122
|
-
* @throws Error if decryption fails (wrong key, corrupted data, etc.)
|
|
123
|
-
*/
|
|
124
|
-
export async function decrypt(encryptedData) {
|
|
125
|
-
if (!encryptedData) {
|
|
126
|
-
return "";
|
|
127
|
-
}
|
|
128
|
-
try {
|
|
129
|
-
const parts = encryptedData.split(":");
|
|
130
|
-
if (parts.length !== 3) {
|
|
131
|
-
throw new Error("Invalid encrypted data format");
|
|
132
|
-
}
|
|
133
|
-
const [ivBase64, authTagBase64, encrypted] = parts;
|
|
134
|
-
const key = await getEncryptionKey();
|
|
135
|
-
const iv = Buffer.from(ivBase64, "base64");
|
|
136
|
-
const authTag = Buffer.from(authTagBase64, "base64");
|
|
137
|
-
const decipher = createDecipheriv(ALGORITHM, key, iv);
|
|
138
|
-
decipher.setAuthTag(authTag);
|
|
139
|
-
let decrypted = decipher.update(encrypted, "base64", "utf8");
|
|
140
|
-
decrypted += decipher.final("utf8");
|
|
141
|
-
return decrypted;
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
throw new Error(`Decryption failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Check if a string appears to be encrypted
|
|
149
|
-
*
|
|
150
|
-
* @param value - The string to check
|
|
151
|
-
* @returns true if the string appears to be in encrypted format
|
|
152
|
-
*/
|
|
153
|
-
export function isEncrypted(value) {
|
|
154
|
-
if (!value) {
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
// Check if it matches the format: base64:base64:base64
|
|
158
|
-
const parts = value.split(":");
|
|
159
|
-
if (parts.length !== 3) {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
// Basic check that each part looks like base64
|
|
163
|
-
const base64Regex = /^[A-Za-z0-9+/]+=*$/;
|
|
164
|
-
return parts.every((part) => base64Regex.test(part));
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=crypto.js.map
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevServerCache manages in-memory caching of dev server URLs indexed by thread ID
|
|
3
|
-
*
|
|
4
|
-
* This cache is responsible for:
|
|
5
|
-
* - Storing dev server URLs by thread ID
|
|
6
|
-
* - Retrieving URLs for specific threads
|
|
7
|
-
* - Clearing URLs when dev servers are stopped
|
|
8
|
-
*/
|
|
9
|
-
export declare class DevServerCache {
|
|
10
|
-
private cache;
|
|
11
|
-
/**
|
|
12
|
-
* Store a dev server URL for a specific thread
|
|
13
|
-
* @param threadId - The thread ID
|
|
14
|
-
* @param url - The dev server URL
|
|
15
|
-
*/
|
|
16
|
-
setUrl(threadId: string, url: string): void;
|
|
17
|
-
/**
|
|
18
|
-
* Get the dev server URL for a specific thread
|
|
19
|
-
* @param threadId - The thread ID
|
|
20
|
-
* @returns The URL if found, undefined otherwise
|
|
21
|
-
*/
|
|
22
|
-
getUrl(threadId: string): string | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Clear the dev server URL for a specific thread
|
|
25
|
-
* @param threadId - The thread ID
|
|
26
|
-
* @returns true if URL was cleared, false if no URL was stored for that thread
|
|
27
|
-
*/
|
|
28
|
-
clearUrl(threadId: string): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Check if a thread has a cached dev server URL
|
|
31
|
-
* @param threadId - The thread ID
|
|
32
|
-
* @returns true if URL exists for the thread
|
|
33
|
-
*/
|
|
34
|
-
hasUrl(threadId: string): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Clear all cached URLs (useful for testing or cleanup)
|
|
37
|
-
*/
|
|
38
|
-
clearAll(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Get all cached thread IDs and their URLs
|
|
41
|
-
* @returns Map of threadId -> url entries
|
|
42
|
-
*/
|
|
43
|
-
getAllUrls(): Map<string, string>;
|
|
44
|
-
}
|
|
45
|
-
export declare const devServerCache: DevServerCache;
|
|
46
|
-
//# sourceMappingURL=dev-server-cache.d.ts.map
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevServerCache manages in-memory caching of dev server URLs indexed by thread ID
|
|
3
|
-
*
|
|
4
|
-
* This cache is responsible for:
|
|
5
|
-
* - Storing dev server URLs by thread ID
|
|
6
|
-
* - Retrieving URLs for specific threads
|
|
7
|
-
* - Clearing URLs when dev servers are stopped
|
|
8
|
-
*/
|
|
9
|
-
export class DevServerCache {
|
|
10
|
-
cache = new Map();
|
|
11
|
-
/**
|
|
12
|
-
* Store a dev server URL for a specific thread
|
|
13
|
-
* @param threadId - The thread ID
|
|
14
|
-
* @param url - The dev server URL
|
|
15
|
-
*/
|
|
16
|
-
setUrl(threadId, url) {
|
|
17
|
-
this.cache.set(threadId, url);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get the dev server URL for a specific thread
|
|
21
|
-
* @param threadId - The thread ID
|
|
22
|
-
* @returns The URL if found, undefined otherwise
|
|
23
|
-
*/
|
|
24
|
-
getUrl(threadId) {
|
|
25
|
-
return this.cache.get(threadId);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Clear the dev server URL for a specific thread
|
|
29
|
-
* @param threadId - The thread ID
|
|
30
|
-
* @returns true if URL was cleared, false if no URL was stored for that thread
|
|
31
|
-
*/
|
|
32
|
-
clearUrl(threadId) {
|
|
33
|
-
return this.cache.delete(threadId);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if a thread has a cached dev server URL
|
|
37
|
-
* @param threadId - The thread ID
|
|
38
|
-
* @returns true if URL exists for the thread
|
|
39
|
-
*/
|
|
40
|
-
hasUrl(threadId) {
|
|
41
|
-
return this.cache.has(threadId);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Clear all cached URLs (useful for testing or cleanup)
|
|
45
|
-
*/
|
|
46
|
-
clearAll() {
|
|
47
|
-
this.cache.clear();
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Get all cached thread IDs and their URLs
|
|
51
|
-
* @returns Map of threadId -> url entries
|
|
52
|
-
*/
|
|
53
|
-
getAllUrls() {
|
|
54
|
-
return new Map(this.cache);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Singleton instance for global access
|
|
58
|
-
export const devServerCache = new DevServerCache();
|
|
59
|
-
//# sourceMappingURL=dev-server-cache.js.map
|
package/dist/core/env-manager.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from "fs";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
export async function updateEnvFile(keyNames) {
|
|
4
|
-
const envPath = join(process.cwd(), ".env");
|
|
5
|
-
let content = "";
|
|
6
|
-
try {
|
|
7
|
-
content = await fs.readFile(envPath, "utf-8");
|
|
8
|
-
}
|
|
9
|
-
catch {
|
|
10
|
-
// If file doesn't exist, start with empty content
|
|
11
|
-
}
|
|
12
|
-
const lines = content.split("\n");
|
|
13
|
-
const envMap = {};
|
|
14
|
-
// Parse existing content
|
|
15
|
-
for (const line of lines) {
|
|
16
|
-
const trimmed = line.trim();
|
|
17
|
-
if (trimmed && !trimmed.startsWith("#") && trimmed.includes("=")) {
|
|
18
|
-
const index = trimmed.indexOf("=");
|
|
19
|
-
const key = trimmed.substring(0, index).trim();
|
|
20
|
-
const value = trimmed.substring(index + 1).trim();
|
|
21
|
-
envMap[key] = value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
// Update with new values
|
|
25
|
-
for (const [key, value] of Object.entries(keyNames)) {
|
|
26
|
-
if (key) {
|
|
27
|
-
envMap[key] = value;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Serialize back to file
|
|
31
|
-
const newLines = [];
|
|
32
|
-
// Try to preserve some order if keys already existed, or just rebuild
|
|
33
|
-
// For simplicity, we'll just rebuild based on current keys
|
|
34
|
-
for (const [key, value] of Object.entries(envMap)) {
|
|
35
|
-
newLines.push(`${key}=${value}`);
|
|
36
|
-
}
|
|
37
|
-
await fs.writeFile(envPath, newLines.join("\n") + "\n", "utf-8");
|
|
38
|
-
}
|
|
39
|
-
export async function readEnvFile() {
|
|
40
|
-
const envPath = join(process.cwd(), ".env");
|
|
41
|
-
const envMap = {};
|
|
42
|
-
try {
|
|
43
|
-
const content = await fs.readFile(envPath, "utf-8");
|
|
44
|
-
const lines = content.split("\n");
|
|
45
|
-
for (const line of lines) {
|
|
46
|
-
const trimmed = line.trim();
|
|
47
|
-
if (trimmed && !trimmed.startsWith("#") && trimmed.includes("=")) {
|
|
48
|
-
const index = trimmed.indexOf("=");
|
|
49
|
-
const key = trimmed.substring(0, index).trim();
|
|
50
|
-
const value = trimmed.substring(index + 1).trim();
|
|
51
|
-
envMap[key] = value;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
// If file doesn't exist, return empty map
|
|
57
|
-
}
|
|
58
|
-
return envMap;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=env-manager.js.map
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error response codes used across the API
|
|
3
|
-
*
|
|
4
|
-
* Provides type-safe error code constants to ensure consistency
|
|
5
|
-
* across all route handlers and prevent typos in error responses.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Error codes for API responses
|
|
9
|
-
*
|
|
10
|
-
* Organized by category for easier maintenance:
|
|
11
|
-
* - General request validation errors
|
|
12
|
-
* - Thread-related errors
|
|
13
|
-
* - Project-related errors
|
|
14
|
-
* - Conversation/history errors
|
|
15
|
-
* - Process/command execution errors
|
|
16
|
-
* - Git operation errors
|
|
17
|
-
*/
|
|
18
|
-
export declare const ErrorCodes: {
|
|
19
|
-
readonly INVALID_REQUEST: "INVALID_REQUEST";
|
|
20
|
-
readonly REQUEST_PARSE_ERROR: "REQUEST_PARSE_ERROR";
|
|
21
|
-
readonly THREAD_NOT_FOUND: "THREAD_NOT_FOUND";
|
|
22
|
-
readonly UPDATE_THREAD_ERROR: "UPDATE_THREAD_ERROR";
|
|
23
|
-
readonly DELETE_THREAD_ERROR: "DELETE_THREAD_ERROR";
|
|
24
|
-
readonly SELECT_THREAD_ERROR: "SELECT_THREAD_ERROR";
|
|
25
|
-
readonly GET_THREAD_MESSAGES_ERROR: "GET_THREAD_MESSAGES_ERROR";
|
|
26
|
-
readonly LIST_THREADS_ERROR: "LIST_THREADS_ERROR";
|
|
27
|
-
readonly LIST_THREAD_FILES_ERROR: "LIST_THREAD_FILES_ERROR";
|
|
28
|
-
readonly PATH_ERROR: "PATH_ERROR";
|
|
29
|
-
readonly OPEN_PROGRAM_ERROR: "OPEN_PROGRAM_ERROR";
|
|
30
|
-
readonly PROJECT_NOT_FOUND: "PROJECT_NOT_FOUND";
|
|
31
|
-
readonly UPDATE_PROJECT_ERROR: "UPDATE_PROJECT_ERROR";
|
|
32
|
-
readonly DELETE_PROJECT_ERROR: "DELETE_PROJECT_ERROR";
|
|
33
|
-
readonly GET_PROJECT_ERROR: "GET_PROJECT_ERROR";
|
|
34
|
-
readonly LIST_PROJECTS_ERROR: "LIST_PROJECTS_ERROR";
|
|
35
|
-
readonly NO_CONVERSATION: "NO_CONVERSATION";
|
|
36
|
-
readonly NO_HISTORY: "NO_HISTORY";
|
|
37
|
-
readonly NO_RESPONSE: "NO_RESPONSE";
|
|
38
|
-
readonly NEW_CONVERSATION_ERROR: "NEW_CONVERSATION_ERROR";
|
|
39
|
-
readonly HISTORY_FETCH_ERROR: "HISTORY_FETCH_ERROR";
|
|
40
|
-
readonly HISTORY_CLEAR_ERROR: "HISTORY_CLEAR_ERROR";
|
|
41
|
-
readonly DELETED_HISTORY_FETCH_ERROR: "DELETED_HISTORY_FETCH_ERROR";
|
|
42
|
-
readonly STREAM_ERROR: "STREAM_ERROR";
|
|
43
|
-
readonly NO_PROCESS_RUNNING: "NO_PROCESS_RUNNING";
|
|
44
|
-
readonly RUN_PROCESS_ERROR: "RUN_PROCESS_ERROR";
|
|
45
|
-
readonly STOP_PROCESS_ERROR: "STOP_PROCESS_ERROR";
|
|
46
|
-
readonly START_PROCESS_ERROR: "START_PROCESS_ERROR";
|
|
47
|
-
readonly CHECK_RUNNING_ERROR: "CHECK_RUNNING_ERROR";
|
|
48
|
-
readonly CHECK_PROCESS_ERROR: "CHECK_PROCESS_ERROR";
|
|
49
|
-
readonly RUN_COMMAND_ERROR: "RUN_COMMAND_ERROR";
|
|
50
|
-
readonly SUGGEST_RUN_COMMAND_ERROR: "SUGGEST_RUN_COMMAND_ERROR";
|
|
51
|
-
readonly UPDATE_RUN_COMMAND_ERROR: "UPDATE_RUN_COMMAND_ERROR";
|
|
52
|
-
readonly SAVE_COMMAND_ERROR: "SAVE_COMMAND_ERROR";
|
|
53
|
-
readonly DELETE_COMMAND_ERROR: "DELETE_COMMAND_ERROR";
|
|
54
|
-
readonly DUPLICATE_BRANCH: "DUPLICATE_BRANCH";
|
|
55
|
-
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Type representing all valid error codes
|
|
59
|
-
*/
|
|
60
|
-
export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
|
|
61
|
-
//# sourceMappingURL=error-responses.d.ts.map
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error response codes used across the API
|
|
3
|
-
*
|
|
4
|
-
* Provides type-safe error code constants to ensure consistency
|
|
5
|
-
* across all route handlers and prevent typos in error responses.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Error codes for API responses
|
|
9
|
-
*
|
|
10
|
-
* Organized by category for easier maintenance:
|
|
11
|
-
* - General request validation errors
|
|
12
|
-
* - Thread-related errors
|
|
13
|
-
* - Project-related errors
|
|
14
|
-
* - Conversation/history errors
|
|
15
|
-
* - Process/command execution errors
|
|
16
|
-
* - Git operation errors
|
|
17
|
-
*/
|
|
18
|
-
export const ErrorCodes = {
|
|
19
|
-
// General request errors
|
|
20
|
-
INVALID_REQUEST: "INVALID_REQUEST",
|
|
21
|
-
REQUEST_PARSE_ERROR: "REQUEST_PARSE_ERROR",
|
|
22
|
-
// Thread errors
|
|
23
|
-
THREAD_NOT_FOUND: "THREAD_NOT_FOUND",
|
|
24
|
-
UPDATE_THREAD_ERROR: "UPDATE_THREAD_ERROR",
|
|
25
|
-
DELETE_THREAD_ERROR: "DELETE_THREAD_ERROR",
|
|
26
|
-
SELECT_THREAD_ERROR: "SELECT_THREAD_ERROR",
|
|
27
|
-
GET_THREAD_MESSAGES_ERROR: "GET_THREAD_MESSAGES_ERROR",
|
|
28
|
-
LIST_THREADS_ERROR: "LIST_THREADS_ERROR",
|
|
29
|
-
LIST_THREAD_FILES_ERROR: "LIST_THREAD_FILES_ERROR",
|
|
30
|
-
PATH_ERROR: "PATH_ERROR",
|
|
31
|
-
OPEN_PROGRAM_ERROR: "OPEN_PROGRAM_ERROR",
|
|
32
|
-
// Project errors
|
|
33
|
-
PROJECT_NOT_FOUND: "PROJECT_NOT_FOUND",
|
|
34
|
-
UPDATE_PROJECT_ERROR: "UPDATE_PROJECT_ERROR",
|
|
35
|
-
DELETE_PROJECT_ERROR: "DELETE_PROJECT_ERROR",
|
|
36
|
-
GET_PROJECT_ERROR: "GET_PROJECT_ERROR",
|
|
37
|
-
LIST_PROJECTS_ERROR: "LIST_PROJECTS_ERROR",
|
|
38
|
-
// Conversation/history errors
|
|
39
|
-
NO_CONVERSATION: "NO_CONVERSATION",
|
|
40
|
-
NO_HISTORY: "NO_HISTORY",
|
|
41
|
-
NO_RESPONSE: "NO_RESPONSE",
|
|
42
|
-
NEW_CONVERSATION_ERROR: "NEW_CONVERSATION_ERROR",
|
|
43
|
-
HISTORY_FETCH_ERROR: "HISTORY_FETCH_ERROR",
|
|
44
|
-
HISTORY_CLEAR_ERROR: "HISTORY_CLEAR_ERROR",
|
|
45
|
-
DELETED_HISTORY_FETCH_ERROR: "DELETED_HISTORY_FETCH_ERROR",
|
|
46
|
-
STREAM_ERROR: "STREAM_ERROR",
|
|
47
|
-
// Process/command errors
|
|
48
|
-
NO_PROCESS_RUNNING: "NO_PROCESS_RUNNING",
|
|
49
|
-
RUN_PROCESS_ERROR: "RUN_PROCESS_ERROR",
|
|
50
|
-
STOP_PROCESS_ERROR: "STOP_PROCESS_ERROR",
|
|
51
|
-
START_PROCESS_ERROR: "START_PROCESS_ERROR",
|
|
52
|
-
CHECK_RUNNING_ERROR: "CHECK_RUNNING_ERROR",
|
|
53
|
-
CHECK_PROCESS_ERROR: "CHECK_PROCESS_ERROR",
|
|
54
|
-
RUN_COMMAND_ERROR: "RUN_COMMAND_ERROR",
|
|
55
|
-
SUGGEST_RUN_COMMAND_ERROR: "SUGGEST_RUN_COMMAND_ERROR",
|
|
56
|
-
UPDATE_RUN_COMMAND_ERROR: "UPDATE_RUN_COMMAND_ERROR",
|
|
57
|
-
SAVE_COMMAND_ERROR: "SAVE_COMMAND_ERROR",
|
|
58
|
-
DELETE_COMMAND_ERROR: "DELETE_COMMAND_ERROR",
|
|
59
|
-
// Git operation errors
|
|
60
|
-
DUPLICATE_BRANCH: "DUPLICATE_BRANCH",
|
|
61
|
-
// General server errors
|
|
62
|
-
INTERNAL_ERROR: "INTERNAL_ERROR",
|
|
63
|
-
};
|
|
64
|
-
//# sourceMappingURL=error-responses.js.map
|
package/dist/core/logger.d.ts
DELETED
package/dist/core/logger.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
const LOG_FILE_PATH = path.join(process.cwd(), "tarsk-logs.txt");
|
|
4
|
-
class Logger {
|
|
5
|
-
originalConsole;
|
|
6
|
-
constructor() {
|
|
7
|
-
this.originalConsole = {
|
|
8
|
-
log: console.log,
|
|
9
|
-
error: console.error,
|
|
10
|
-
warn: console.warn,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
writeToFile(level, ...args) {
|
|
14
|
-
const timestamp = new Date().toISOString();
|
|
15
|
-
const message = args
|
|
16
|
-
.map((arg) => (typeof arg === "object" ? JSON.stringify(arg, null, 2) : JSON.stringify(arg)))
|
|
17
|
-
.join(" ");
|
|
18
|
-
const logEntry = `[${timestamp}] ${level}: ${message}\n`;
|
|
19
|
-
try {
|
|
20
|
-
fs.appendFileSync(LOG_FILE_PATH, logEntry);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
// Fallback to original console if file writing fails
|
|
24
|
-
this.originalConsole.error("Failed to write to log file:", error);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
setupLogging() {
|
|
28
|
-
// Override console methods
|
|
29
|
-
console.log = (...args) => {
|
|
30
|
-
this.originalConsole.log(...args);
|
|
31
|
-
this.writeToFile("LOG", ...args);
|
|
32
|
-
};
|
|
33
|
-
console.error = (...args) => {
|
|
34
|
-
this.originalConsole.error(...args);
|
|
35
|
-
this.writeToFile("ERROR", ...args);
|
|
36
|
-
};
|
|
37
|
-
console.warn = (...args) => {
|
|
38
|
-
this.originalConsole.warn(...args);
|
|
39
|
-
this.writeToFile("WARN", ...args);
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
getLogFilePath() {
|
|
43
|
-
return LOG_FILE_PATH;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export const logger = new Logger();
|
|
47
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/core/paths.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized path configuration for Tarsk
|
|
3
|
-
*
|
|
4
|
-
* Application data is stored in ~/Library/Application Support/Tarsk/data/
|
|
5
|
-
* This includes projects.json, threads.json, state.json, and thread directories.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* The root application support directory for Tarsk.
|
|
9
|
-
* On macOS: ~/Library/Application Support/Tarsk
|
|
10
|
-
*/
|
|
11
|
-
export declare const APP_SUPPORT_DIR: string;
|
|
12
|
-
/**
|
|
13
|
-
* The data directory where metadata files are stored.
|
|
14
|
-
* ~/Library/Application Support/Tarsk/data
|
|
15
|
-
*/
|
|
16
|
-
export declare const DATA_DIR: string;
|
|
17
|
-
/**
|
|
18
|
-
* Get the data directory path for storing metadata.
|
|
19
|
-
* @returns The absolute path to ~/Library/Application Support/Tarsk/data
|
|
20
|
-
*/
|
|
21
|
-
export declare function getDataDir(): string;
|
|
22
|
-
//# sourceMappingURL=paths.d.ts.map
|
package/dist/core/paths.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized path configuration for Tarsk
|
|
3
|
-
*
|
|
4
|
-
* Application data is stored in ~/Library/Application Support/Tarsk/data/
|
|
5
|
-
* This includes projects.json, threads.json, state.json, and thread directories.
|
|
6
|
-
*/
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
import { homedir } from "os";
|
|
9
|
-
/**
|
|
10
|
-
* The root application support directory for Tarsk.
|
|
11
|
-
* On macOS: ~/Library/Application Support/Tarsk
|
|
12
|
-
*/
|
|
13
|
-
export const APP_SUPPORT_DIR = join(homedir(), "Library", "Application Support", "Tarsk");
|
|
14
|
-
/**
|
|
15
|
-
* The data directory where metadata files are stored.
|
|
16
|
-
* ~/Library/Application Support/Tarsk/data
|
|
17
|
-
*/
|
|
18
|
-
export const DATA_DIR = join(APP_SUPPORT_DIR, "data");
|
|
19
|
-
/**
|
|
20
|
-
* Get the data directory path for storing metadata.
|
|
21
|
-
* @returns The absolute path to ~/Library/Application Support/Tarsk/data
|
|
22
|
-
*/
|
|
23
|
-
export function getDataDir() {
|
|
24
|
-
return DATA_DIR;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=paths.js.map
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Random word generator for thread names
|
|
3
|
-
*
|
|
4
|
-
* Generates fun, quirky thread names using two random words
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Get a random word from the word list
|
|
8
|
-
* @returns A random word
|
|
9
|
-
*/
|
|
10
|
-
export declare function getRandomWord(): string;
|
|
11
|
-
/**
|
|
12
|
-
* Generate a random thread name using two random words
|
|
13
|
-
* Format: {word1}-{word2}
|
|
14
|
-
*
|
|
15
|
-
* @returns A thread name like "bouncy-panda" or "sparkly-taco"
|
|
16
|
-
*/
|
|
17
|
-
export declare function generateRandomThreadName(): string;
|
|
18
|
-
//# sourceMappingURL=random-words.d.ts.map
|