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,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thread routes for the REST API
|
|
3
|
-
*
|
|
4
|
-
* Handles all thread-related operations:
|
|
5
|
-
* - POST /api/threads - Create a new thread
|
|
6
|
-
* - GET /api/threads?projectId=xxx - List threads for a project
|
|
7
|
-
* - DELETE /api/threads/:id - Delete a thread
|
|
8
|
-
*/
|
|
9
|
-
import { Hono } from "hono";
|
|
10
|
-
import { handleCreateThread } from "./threads-create.route.js";
|
|
11
|
-
import { handleListThreads } from "./threads-list.route.js";
|
|
12
|
-
import { handleDeleteThread } from "./threads-delete.route.js";
|
|
13
|
-
import { handleSelectThread } from "./threads-select.route.js";
|
|
14
|
-
import { handleGetThread } from "./threads-get.route.js";
|
|
15
|
-
import { handleGetThreadMessages } from "./threads-messages.route.js";
|
|
16
|
-
import { handleListThreadFiles } from "./threads-files.route.js";
|
|
17
|
-
import { handleUpdateThread } from "./threads-update.route.js";
|
|
18
|
-
import { handleOpenThread } from "./threads-open.route.js";
|
|
19
|
-
import { handleGetConversationFolderPath } from "./threads-conversation-folder-path.route.js";
|
|
20
|
-
import { handleFixComments } from "./threads-fix-comments.route.js";
|
|
21
|
-
import { handleGetThreadAIFiles, handleGetThreadAIFile, handleSaveThreadAIFile, handleDeleteThreadAIFile, handleCreateThreadSkill, handleCreateThreadAgent, } from "./threads-ai-files.route.js";
|
|
22
|
-
/**
|
|
23
|
-
* Creates thread routes
|
|
24
|
-
* @param threadManager - The ThreadManager instance
|
|
25
|
-
* @param gitManager - The GitManager instance
|
|
26
|
-
* @returns Hono router with thread routes
|
|
27
|
-
*/
|
|
28
|
-
export function createThreadRoutes(threadManager, gitManager, conversationManager) {
|
|
29
|
-
const router = new Hono();
|
|
30
|
-
/**
|
|
31
|
-
* POST /api/threads
|
|
32
|
-
* Create a new thread for a project
|
|
33
|
-
*
|
|
34
|
-
* Request body:
|
|
35
|
-
* {
|
|
36
|
-
* "projectId": "uuid",
|
|
37
|
-
* "title": "Optional thread title"
|
|
38
|
-
* }
|
|
39
|
-
*
|
|
40
|
-
* Response: Newline-delimited JSON stream of ThreadEvent objects
|
|
41
|
-
*
|
|
42
|
-
* Requirements:
|
|
43
|
-
* - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
|
|
44
|
-
* - 8.3 - WHEN creating a Thread, THE App SHALL send a POST request with the Project identifier to the CLI
|
|
45
|
-
* - 8.4 - THE CLI SHALL support streaming responses to the client
|
|
46
|
-
*/
|
|
47
|
-
router.post("/", async (c) => {
|
|
48
|
-
return handleCreateThread(c, threadManager, gitManager);
|
|
49
|
-
});
|
|
50
|
-
/**
|
|
51
|
-
* GET /api/threads?projectId=xxx
|
|
52
|
-
* List all threads for a specific project
|
|
53
|
-
*
|
|
54
|
-
* Query parameters:
|
|
55
|
-
* - projectId (required): The project ID to filter threads
|
|
56
|
-
*
|
|
57
|
-
* Response:
|
|
58
|
-
* [
|
|
59
|
-
* {
|
|
60
|
-
* "id": "uuid",
|
|
61
|
-
* "projectId": "uuid",
|
|
62
|
-
* "title": "Thread title",
|
|
63
|
-
* "path": "/path/to/thread",
|
|
64
|
-
* "currentBranch": "branch-name",
|
|
65
|
-
* "createdAt": "2024-01-01T00:00:00Z"
|
|
66
|
-
* }
|
|
67
|
-
* ]
|
|
68
|
-
*
|
|
69
|
-
* Requirements:
|
|
70
|
-
* - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
|
|
71
|
-
*/
|
|
72
|
-
router.get("/", async (c) => {
|
|
73
|
-
const { getDatabase } = await import("../../database/database.js");
|
|
74
|
-
const db = await getDatabase();
|
|
75
|
-
return handleListThreads(c, threadManager, db);
|
|
76
|
-
});
|
|
77
|
-
/**
|
|
78
|
-
* DELETE /api/threads/:id
|
|
79
|
-
* Delete a thread
|
|
80
|
-
*
|
|
81
|
-
* Response:
|
|
82
|
-
* {
|
|
83
|
-
* "success": true,
|
|
84
|
-
* "message": "Thread deleted successfully"
|
|
85
|
-
* }
|
|
86
|
-
*
|
|
87
|
-
* Requirements:
|
|
88
|
-
* - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
|
|
89
|
-
* - 8.4 - WHEN deleting a Thread, THE App SHALL send a DELETE request with the Thread identifier to the CLI
|
|
90
|
-
*/
|
|
91
|
-
router.delete("/:id", async (c) => {
|
|
92
|
-
return handleDeleteThread(c, threadManager);
|
|
93
|
-
});
|
|
94
|
-
/**
|
|
95
|
-
* POST /api/threads/:id/select
|
|
96
|
-
* Select a thread as the active thread
|
|
97
|
-
*
|
|
98
|
-
* Response:
|
|
99
|
-
* {
|
|
100
|
-
* "success": true,
|
|
101
|
-
* "message": "Thread selected successfully",
|
|
102
|
-
* "threadId": "uuid"
|
|
103
|
-
* }
|
|
104
|
-
*
|
|
105
|
-
* Requirements:
|
|
106
|
-
* - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
|
|
107
|
-
*/
|
|
108
|
-
router.post("/:id/select", async (c) => {
|
|
109
|
-
return handleSelectThread(c, threadManager);
|
|
110
|
-
});
|
|
111
|
-
/**
|
|
112
|
-
* GET /api/threads/:id
|
|
113
|
-
* Get details of a specific thread
|
|
114
|
-
*
|
|
115
|
-
* Response:
|
|
116
|
-
* {
|
|
117
|
-
* "id": "uuid",
|
|
118
|
-
* "projectId": "uuid",
|
|
119
|
-
* "title": "Thread title",
|
|
120
|
-
* "path": "/path/to/thread",
|
|
121
|
-
* "currentBranch": "branch-name",
|
|
122
|
-
* "createdAt": "2024-01-01T00:00:00Z",
|
|
123
|
-
* "currentConversationId": "uuid",
|
|
124
|
-
* "status": "active"
|
|
125
|
-
* }
|
|
126
|
-
*
|
|
127
|
-
* Requirements:
|
|
128
|
-
* - 6.3 - THE CLI SHALL expose REST API endpoints for Thread operations
|
|
129
|
-
*/
|
|
130
|
-
router.get("/:id", async (c) => {
|
|
131
|
-
return handleGetThread(c, threadManager);
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* GET /api/threads/:id/messages
|
|
135
|
-
* Get chat history for a thread
|
|
136
|
-
*/
|
|
137
|
-
router.get("/:id/messages", async (c) => {
|
|
138
|
-
return handleGetThreadMessages(c, threadManager, conversationManager);
|
|
139
|
-
});
|
|
140
|
-
/**
|
|
141
|
-
* GET /api/threads/:id/files
|
|
142
|
-
* List all files in a thread's directory
|
|
143
|
-
*/
|
|
144
|
-
router.get("/:id/files", async (c) => {
|
|
145
|
-
return handleListThreadFiles(c, threadManager);
|
|
146
|
-
});
|
|
147
|
-
/**
|
|
148
|
-
* PATCH /api/threads/:id
|
|
149
|
-
* Update thread metadata
|
|
150
|
-
*/
|
|
151
|
-
router.patch("/:id", async (c) => {
|
|
152
|
-
return handleUpdateThread(c, threadManager);
|
|
153
|
-
});
|
|
154
|
-
/**
|
|
155
|
-
* POST /api/threads/:id/open
|
|
156
|
-
* Open a thread in the specified program
|
|
157
|
-
*
|
|
158
|
-
* Request body:
|
|
159
|
-
* {
|
|
160
|
-
* "program": "VS Code" | "Cursor" | "Windsurf" | "Xcode" | "Android Studio" | "Kiro"
|
|
161
|
-
* }
|
|
162
|
-
*
|
|
163
|
-
* Response:
|
|
164
|
-
* {
|
|
165
|
-
* "success": true,
|
|
166
|
-
* "message": "Thread opened in VS Code"
|
|
167
|
-
* }
|
|
168
|
-
*/
|
|
169
|
-
router.post("/:id/open", async (c) => {
|
|
170
|
-
return handleOpenThread(c, threadManager);
|
|
171
|
-
});
|
|
172
|
-
/**
|
|
173
|
-
* GET /api/threads/:id/conversation-folder-path
|
|
174
|
-
* Return the absolute path to the folder containing the conversation history JSON for this thread.
|
|
175
|
-
*/
|
|
176
|
-
router.get("/:id/conversation-folder-path", async (c) => {
|
|
177
|
-
return handleGetConversationFolderPath(c);
|
|
178
|
-
});
|
|
179
|
-
/**
|
|
180
|
-
* POST /api/threads/:id/fix-comments
|
|
181
|
-
* Convert diff review comments into todos and return the prompt to send to the agent.
|
|
182
|
-
*/
|
|
183
|
-
router.post("/:id/fix-comments", async (c) => {
|
|
184
|
-
return handleFixComments(c, threadManager);
|
|
185
|
-
});
|
|
186
|
-
/**
|
|
187
|
-
* GET /api/threads/:id/ai-files
|
|
188
|
-
* List AI-related files (skills, rules, commands, markdown files) from the thread's path
|
|
189
|
-
*/
|
|
190
|
-
router.get("/:id/ai-files", async (c) => {
|
|
191
|
-
return handleGetThreadAIFiles(c, threadManager);
|
|
192
|
-
});
|
|
193
|
-
/**
|
|
194
|
-
* GET /api/threads/:id/ai-file?path=...
|
|
195
|
-
* Read the content of an AI-related file from the thread's path
|
|
196
|
-
*/
|
|
197
|
-
router.get("/:id/ai-file", async (c) => {
|
|
198
|
-
return handleGetThreadAIFile(c, threadManager);
|
|
199
|
-
});
|
|
200
|
-
/**
|
|
201
|
-
* PUT /api/threads/:id/ai-file
|
|
202
|
-
* Save the content of an AI-related file in the thread's path
|
|
203
|
-
*/
|
|
204
|
-
router.put("/:id/ai-file", async (c) => {
|
|
205
|
-
return handleSaveThreadAIFile(c, threadManager);
|
|
206
|
-
});
|
|
207
|
-
/**
|
|
208
|
-
* DELETE /api/threads/:id/ai-file?path=...
|
|
209
|
-
* Delete a file or folder in the thread's path
|
|
210
|
-
*/
|
|
211
|
-
router.delete("/:id/ai-file", async (c) => {
|
|
212
|
-
return handleDeleteThreadAIFile(c, threadManager);
|
|
213
|
-
});
|
|
214
|
-
/**
|
|
215
|
-
* POST /api/threads/:id/ai-files/skill
|
|
216
|
-
* Create a new skill in the thread's path
|
|
217
|
-
*/
|
|
218
|
-
router.post("/:id/ai-files/skill", async (c) => {
|
|
219
|
-
return handleCreateThreadSkill(c, threadManager);
|
|
220
|
-
});
|
|
221
|
-
/**
|
|
222
|
-
* POST /api/threads/:id/ai-files/agent
|
|
223
|
-
* Create a new agent in the thread's path
|
|
224
|
-
*/
|
|
225
|
-
router.post("/:id/ai-files/agent", async (c) => {
|
|
226
|
-
return handleCreateThreadAgent(c, threadManager);
|
|
227
|
-
});
|
|
228
|
-
return router;
|
|
229
|
-
}
|
|
230
|
-
//# sourceMappingURL=threads.routes.js.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Database } from "../../database/database.types.js";
|
|
2
|
-
export interface TodoRecord {
|
|
3
|
-
id: string;
|
|
4
|
-
threadId: string;
|
|
5
|
-
description: string;
|
|
6
|
-
status: string;
|
|
7
|
-
assignedTo: string;
|
|
8
|
-
createdAt: string;
|
|
9
|
-
updatedAt: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function fetchAllTodos(db: Database, threadId: string): Promise<TodoRecord[]>;
|
|
12
|
-
export declare function addTodos(threadId: string, descriptions: string[], assignedTo?: string): Promise<TodoRecord[]>;
|
|
13
|
-
export declare function clearTodos(threadId: string): Promise<void>;
|
|
14
|
-
//# sourceMappingURL=todos.database.d.ts.map
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "crypto";
|
|
2
|
-
import { getDatabase } from "../../database/database.js";
|
|
3
|
-
export async function fetchAllTodos(db, threadId) {
|
|
4
|
-
const result = await db.execute({
|
|
5
|
-
sql: `SELECT id, threadId, description, status, assignedTo, createdAt, updatedAt
|
|
6
|
-
FROM todos WHERE threadId = ? ORDER BY createdAt ASC`,
|
|
7
|
-
args: [threadId],
|
|
8
|
-
});
|
|
9
|
-
return result.rows;
|
|
10
|
-
}
|
|
11
|
-
export async function addTodos(threadId, descriptions, assignedTo = "agent") {
|
|
12
|
-
const db = await getDatabase();
|
|
13
|
-
const now = new Date().toISOString();
|
|
14
|
-
for (const desc of descriptions) {
|
|
15
|
-
const id = randomUUID();
|
|
16
|
-
await db.execute({
|
|
17
|
-
sql: `INSERT INTO todos (id, threadId, description, status, assignedTo, createdAt, updatedAt)
|
|
18
|
-
VALUES (?, ?, ?, 'pending', ?, ?, ?)`,
|
|
19
|
-
args: [id, threadId, desc.trim(), assignedTo, now, now],
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return fetchAllTodos(db, threadId);
|
|
23
|
-
}
|
|
24
|
-
export async function clearTodos(threadId) {
|
|
25
|
-
const db = await getDatabase();
|
|
26
|
-
await db.execute({
|
|
27
|
-
sql: "DELETE FROM todos WHERE threadId = ?",
|
|
28
|
-
args: [threadId],
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=todos.database.js.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Hono } from "hono";
|
|
2
|
-
export interface UpdateFunctions {
|
|
3
|
-
checkForUpdate: () => Promise<{
|
|
4
|
-
updateAvailable: boolean;
|
|
5
|
-
} | null>;
|
|
6
|
-
downloadUpdate: () => Promise<void>;
|
|
7
|
-
applyUpdate: () => Promise<void>;
|
|
8
|
-
getUpdateInfo: () => {
|
|
9
|
-
updateReady?: boolean;
|
|
10
|
-
} | null;
|
|
11
|
-
}
|
|
12
|
-
export declare function createUpdateRoutes(updater?: UpdateFunctions): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
13
|
-
//# sourceMappingURL=updates.routes.d.ts.map
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Hono } from "hono";
|
|
2
|
-
export function createUpdateRoutes(updater) {
|
|
3
|
-
const app = new Hono();
|
|
4
|
-
app.get("/check", async (c) => {
|
|
5
|
-
if (!updater) {
|
|
6
|
-
return c.json({ updateAvailable: false, supported: false });
|
|
7
|
-
}
|
|
8
|
-
try {
|
|
9
|
-
const result = await updater.checkForUpdate();
|
|
10
|
-
return c.json({
|
|
11
|
-
updateAvailable: result?.updateAvailable ?? false,
|
|
12
|
-
supported: true,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error("Failed to check for update:", error);
|
|
17
|
-
return c.json({ updateAvailable: false, supported: true, error: "Check failed" });
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
app.post("/apply", async (c) => {
|
|
21
|
-
if (!updater) {
|
|
22
|
-
return c.json({ error: "Updates not supported in this environment" }, 400);
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
await updater.downloadUpdate();
|
|
26
|
-
const info = updater.getUpdateInfo();
|
|
27
|
-
if (info?.updateReady) {
|
|
28
|
-
await updater.applyUpdate();
|
|
29
|
-
return c.json({ success: true, message: "Update applied, restarting..." });
|
|
30
|
-
}
|
|
31
|
-
return c.json({ success: false, message: "Update downloaded but not ready to apply" });
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
console.error("Failed to apply update:", error);
|
|
35
|
-
return c.json({ error: "Failed to apply update" }, 500);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
return app;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=updates.routes.js.map
|
package/dist/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
interface ProjectInfo {
|
|
2
|
-
framework?: string;
|
|
3
|
-
frameworkVersion?: string;
|
|
4
|
-
buildTool?: string;
|
|
5
|
-
testingLibraries?: string[];
|
|
6
|
-
uiLibraries?: string[];
|
|
7
|
-
projectType?: string;
|
|
8
|
-
packageManager?: string;
|
|
9
|
-
description: string;
|
|
10
|
-
}
|
|
11
|
-
export declare class ProjectAnalyzer {
|
|
12
|
-
private projectPath;
|
|
13
|
-
constructor(projectPath?: string);
|
|
14
|
-
analyze(): string;
|
|
15
|
-
getProjectInfo(): ProjectInfo;
|
|
16
|
-
private detectFramework;
|
|
17
|
-
private detectBuildTool;
|
|
18
|
-
private detectTestingLibraries;
|
|
19
|
-
private detectUILibraries;
|
|
20
|
-
private detectProjectType;
|
|
21
|
-
private detectPackageManager;
|
|
22
|
-
private generateDescription;
|
|
23
|
-
}
|
|
24
|
-
export declare function analyzeProject(projectPath?: string): string;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=project-analyzer.d.ts.map
|
package/dist/project-analyzer.js
DELETED
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from "fs";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
export class ProjectAnalyzer {
|
|
4
|
-
projectPath;
|
|
5
|
-
constructor(projectPath = process.cwd()) {
|
|
6
|
-
this.projectPath = projectPath;
|
|
7
|
-
}
|
|
8
|
-
analyze() {
|
|
9
|
-
const info = this.getProjectInfo();
|
|
10
|
-
return this.generateDescription(info);
|
|
11
|
-
}
|
|
12
|
-
getProjectInfo() {
|
|
13
|
-
const packageJsonPath = join(this.projectPath, "package.json");
|
|
14
|
-
const info = { description: "" };
|
|
15
|
-
if (existsSync(packageJsonPath)) {
|
|
16
|
-
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
17
|
-
const allDeps = { ...packageJson.dependencies, ...packageJson.devDependencies };
|
|
18
|
-
// Detect framework
|
|
19
|
-
this.detectFramework(allDeps, info);
|
|
20
|
-
// Detect build tool
|
|
21
|
-
this.detectBuildTool(packageJson.scripts, allDeps, info);
|
|
22
|
-
// Detect testing libraries
|
|
23
|
-
this.detectTestingLibraries(allDeps, info);
|
|
24
|
-
// Detect UI libraries
|
|
25
|
-
this.detectUILibraries(allDeps, info);
|
|
26
|
-
}
|
|
27
|
-
// Detect project type from files
|
|
28
|
-
this.detectProjectType(info);
|
|
29
|
-
// Detect package manager
|
|
30
|
-
this.detectPackageManager(info);
|
|
31
|
-
return info;
|
|
32
|
-
}
|
|
33
|
-
detectFramework(deps, info) {
|
|
34
|
-
// React
|
|
35
|
-
if (deps.react) {
|
|
36
|
-
info.framework = "React";
|
|
37
|
-
info.frameworkVersion = deps.react.replace(/^[\^~]/, "");
|
|
38
|
-
}
|
|
39
|
-
// Vue
|
|
40
|
-
else if (deps.vue) {
|
|
41
|
-
info.framework = "Vue";
|
|
42
|
-
info.frameworkVersion = deps.vue.replace(/^[\^~]/, "");
|
|
43
|
-
}
|
|
44
|
-
// Angular
|
|
45
|
-
else if (deps["@angular/core"]) {
|
|
46
|
-
info.framework = "Angular";
|
|
47
|
-
info.frameworkVersion = deps["@angular/core"].replace(/^[\^~]/, "");
|
|
48
|
-
}
|
|
49
|
-
// Svelte
|
|
50
|
-
else if (deps.svelte) {
|
|
51
|
-
info.framework = "Svelte";
|
|
52
|
-
info.frameworkVersion = deps.svelte.replace(/^[\^~]/, "");
|
|
53
|
-
}
|
|
54
|
-
// Solid
|
|
55
|
-
else if (deps["solid-js"]) {
|
|
56
|
-
info.framework = "Solid";
|
|
57
|
-
info.frameworkVersion = deps["solid-js"].replace(/^[\^~]/, "");
|
|
58
|
-
}
|
|
59
|
-
// Next.js
|
|
60
|
-
else if (deps.next) {
|
|
61
|
-
info.framework = "Next.js";
|
|
62
|
-
info.frameworkVersion = deps.next.replace(/^[\^~]/, "");
|
|
63
|
-
}
|
|
64
|
-
// Nuxt
|
|
65
|
-
else if (deps.nuxt) {
|
|
66
|
-
info.framework = "Nuxt";
|
|
67
|
-
info.frameworkVersion = deps.nuxt.replace(/^[\^~]/, "");
|
|
68
|
-
}
|
|
69
|
-
// Astro
|
|
70
|
-
else if (deps.astro) {
|
|
71
|
-
info.framework = "Astro";
|
|
72
|
-
info.frameworkVersion = deps.astro.replace(/^[\^~]/, "");
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
detectBuildTool(_scripts = {}, deps, info) {
|
|
76
|
-
// Vite
|
|
77
|
-
if (deps.vite ||
|
|
78
|
-
existsSync(join(this.projectPath, "vite.config.js")) ||
|
|
79
|
-
existsSync(join(this.projectPath, "vite.config.ts"))) {
|
|
80
|
-
info.buildTool = "Vite";
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
// Webpack
|
|
84
|
-
if (deps.webpack || existsSync(join(this.projectPath, "webpack.config.js"))) {
|
|
85
|
-
info.buildTool = "Webpack";
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
// Rollup
|
|
89
|
-
if (deps.rollup || existsSync(join(this.projectPath, "rollup.config.js"))) {
|
|
90
|
-
info.buildTool = "Rollup";
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
// Parcel
|
|
94
|
-
if (deps.parcel) {
|
|
95
|
-
info.buildTool = "Parcel";
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
// esbuild
|
|
99
|
-
if (deps.esbuild) {
|
|
100
|
-
info.buildTool = "esbuild";
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
// Turbopack
|
|
104
|
-
if (deps.turbo) {
|
|
105
|
-
info.buildTool = "Turbopack";
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
detectTestingLibraries(deps, info) {
|
|
110
|
-
const testingLibs = [];
|
|
111
|
-
// Testing frameworks
|
|
112
|
-
if (deps.jest)
|
|
113
|
-
testingLibs.push("Jest");
|
|
114
|
-
if (deps.vitest)
|
|
115
|
-
testingLibs.push("Vitest");
|
|
116
|
-
if (deps.mocha)
|
|
117
|
-
testingLibs.push("Mocha");
|
|
118
|
-
if (deps.jasmine)
|
|
119
|
-
testingLibs.push("Jasmine");
|
|
120
|
-
if (deps["@jest/globals"])
|
|
121
|
-
testingLibs.push("Jest");
|
|
122
|
-
// Testing utilities
|
|
123
|
-
if (deps["@testing-library/react"])
|
|
124
|
-
testingLibs.push("React Testing Library");
|
|
125
|
-
if (deps["@testing-library/vue"])
|
|
126
|
-
testingLibs.push("Vue Testing Library");
|
|
127
|
-
if (deps["@testing-library/jest-dom"])
|
|
128
|
-
testingLibs.push("Jest DOM");
|
|
129
|
-
if (deps.cypress)
|
|
130
|
-
testingLibs.push("Cypress");
|
|
131
|
-
if (deps.playwright)
|
|
132
|
-
testingLibs.push("Playwright");
|
|
133
|
-
if (deps["@playwright/test"])
|
|
134
|
-
testingLibs.push("Playwright");
|
|
135
|
-
if (deps.puppeteer)
|
|
136
|
-
testingLibs.push("Puppeteer");
|
|
137
|
-
// Remove duplicates and filter out empty strings
|
|
138
|
-
info.testingLibraries = [...new Set(testingLibs)].filter(Boolean);
|
|
139
|
-
}
|
|
140
|
-
detectUILibraries(deps, info) {
|
|
141
|
-
const uiLibs = [];
|
|
142
|
-
// UI component libraries
|
|
143
|
-
if (deps["@mui/material"])
|
|
144
|
-
uiLibs.push("Material-UI");
|
|
145
|
-
if (deps["@chakra-ui/react"])
|
|
146
|
-
uiLibs.push("Chakra UI");
|
|
147
|
-
if (deps["@radix-ui/react"])
|
|
148
|
-
uiLibs.push("Radix UI");
|
|
149
|
-
if (deps["@headlessui/react"])
|
|
150
|
-
uiLibs.push("Headless UI");
|
|
151
|
-
if (deps.antd)
|
|
152
|
-
uiLibs.push("Ant Design");
|
|
153
|
-
if (deps["semantic-ui-css"])
|
|
154
|
-
uiLibs.push("Semantic UI");
|
|
155
|
-
if (deps.bootstrap)
|
|
156
|
-
uiLibs.push("Bootstrap");
|
|
157
|
-
if (deps["react-bootstrap"])
|
|
158
|
-
uiLibs.push("React Bootstrap");
|
|
159
|
-
if (deps.tailwindcss)
|
|
160
|
-
uiLibs.push("Tailwind CSS");
|
|
161
|
-
if (deps["styled-components"])
|
|
162
|
-
uiLibs.push("Styled Components");
|
|
163
|
-
if (deps.emotion)
|
|
164
|
-
uiLibs.push("Emotion");
|
|
165
|
-
if (deps["@mantine/core"])
|
|
166
|
-
uiLibs.push("Mantine");
|
|
167
|
-
// Remove duplicates and filter out empty strings
|
|
168
|
-
info.uiLibraries = [...new Set(uiLibs)].filter(Boolean);
|
|
169
|
-
}
|
|
170
|
-
detectProjectType(info) {
|
|
171
|
-
// Xcode project
|
|
172
|
-
if (existsSync(join(this.projectPath, ".xcodeproj")) ||
|
|
173
|
-
existsSync(join(this.projectPath, ".xcworkspace")) ||
|
|
174
|
-
existsSync(join(this.projectPath, "project.pbxproj"))) {
|
|
175
|
-
info.projectType = "Xcode";
|
|
176
|
-
}
|
|
177
|
-
// Android Studio project
|
|
178
|
-
else if (existsSync(join(this.projectPath, "build.gradle")) ||
|
|
179
|
-
existsSync(join(this.projectPath, "build.gradle.kts")) ||
|
|
180
|
-
existsSync(join(this.projectPath, "app/build.gradle")) ||
|
|
181
|
-
existsSync(join(this.projectPath, "settings.gradle"))) {
|
|
182
|
-
info.projectType = "Android Studio";
|
|
183
|
-
}
|
|
184
|
-
// Flutter project
|
|
185
|
-
else if (existsSync(join(this.projectPath, "pubspec.yaml"))) {
|
|
186
|
-
info.projectType = "Flutter";
|
|
187
|
-
}
|
|
188
|
-
// Go project
|
|
189
|
-
else if (existsSync(join(this.projectPath, "go.mod"))) {
|
|
190
|
-
info.projectType = "Go";
|
|
191
|
-
}
|
|
192
|
-
// Rust project
|
|
193
|
-
else if (existsSync(join(this.projectPath, "Cargo.toml"))) {
|
|
194
|
-
info.projectType = "Rust";
|
|
195
|
-
}
|
|
196
|
-
// Python project
|
|
197
|
-
else if (existsSync(join(this.projectPath, "requirements.txt")) ||
|
|
198
|
-
existsSync(join(this.projectPath, "pyproject.toml")) ||
|
|
199
|
-
existsSync(join(this.projectPath, "setup.py"))) {
|
|
200
|
-
info.projectType = "Python";
|
|
201
|
-
}
|
|
202
|
-
// Ruby project
|
|
203
|
-
else if (existsSync(join(this.projectPath, "Gemfile"))) {
|
|
204
|
-
info.projectType = "Ruby";
|
|
205
|
-
}
|
|
206
|
-
// PHP project
|
|
207
|
-
else if (existsSync(join(this.projectPath, "composer.json"))) {
|
|
208
|
-
info.projectType = "PHP";
|
|
209
|
-
}
|
|
210
|
-
// Java project
|
|
211
|
-
else if (existsSync(join(this.projectPath, "pom.xml")) ||
|
|
212
|
-
existsSync(join(this.projectPath, "build.xml"))) {
|
|
213
|
-
info.projectType = "Java";
|
|
214
|
-
}
|
|
215
|
-
// C#/.NET project
|
|
216
|
-
else if (existsSync(join(this.projectPath, ".csproj")) ||
|
|
217
|
-
existsSync(join(this.projectPath, "project.json"))) {
|
|
218
|
-
info.projectType = ".NET";
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
detectPackageManager(info) {
|
|
222
|
-
// Check for lock files in order of specificity
|
|
223
|
-
if (existsSync(join(this.projectPath, "bun.lockb"))) {
|
|
224
|
-
info.packageManager = "Bun";
|
|
225
|
-
}
|
|
226
|
-
else if (existsSync(join(this.projectPath, "bun.lock"))) {
|
|
227
|
-
info.packageManager = "Bun";
|
|
228
|
-
}
|
|
229
|
-
else if (existsSync(join(this.projectPath, "pnpm-lock.yaml"))) {
|
|
230
|
-
info.packageManager = "pnpm";
|
|
231
|
-
}
|
|
232
|
-
else if (existsSync(join(this.projectPath, "yarn.lock"))) {
|
|
233
|
-
info.packageManager = "Yarn";
|
|
234
|
-
}
|
|
235
|
-
else if (existsSync(join(this.projectPath, "package-lock.json"))) {
|
|
236
|
-
info.packageManager = "npm";
|
|
237
|
-
}
|
|
238
|
-
else if (existsSync(join(this.projectPath, "npm-shrinkwrap.json"))) {
|
|
239
|
-
info.packageManager = "npm";
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
generateDescription(info) {
|
|
243
|
-
const parts = [];
|
|
244
|
-
// Start with project type if it's a non-JS project
|
|
245
|
-
if (info.projectType && !info.framework) {
|
|
246
|
-
parts.push(`This is a ${info.projectType} project`);
|
|
247
|
-
return parts.join(". ") + ".";
|
|
248
|
-
}
|
|
249
|
-
// Framework description
|
|
250
|
-
if (info.framework) {
|
|
251
|
-
let frameworkDesc = `This is a ${info.framework}`;
|
|
252
|
-
if (info.frameworkVersion) {
|
|
253
|
-
frameworkDesc += ` ${info.frameworkVersion}`;
|
|
254
|
-
}
|
|
255
|
-
parts.push(frameworkDesc);
|
|
256
|
-
}
|
|
257
|
-
// Build tool description
|
|
258
|
-
if (info.buildTool) {
|
|
259
|
-
parts.push(`built with ${info.buildTool}`);
|
|
260
|
-
}
|
|
261
|
-
// Package manager description
|
|
262
|
-
if (info.packageManager) {
|
|
263
|
-
parts.push(`using ${info.packageManager}`);
|
|
264
|
-
}
|
|
265
|
-
// Testing libraries
|
|
266
|
-
if (info.testingLibraries && info.testingLibraries.length > 0) {
|
|
267
|
-
if (info.testingLibraries.length === 1) {
|
|
268
|
-
parts.push(`using ${info.testingLibraries[0]} for testing`);
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
parts.push(`using ${info.testingLibraries.slice(0, -1).join(", ")} and ${info.testingLibraries[info.testingLibraries.length - 1]} for testing`);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
// UI libraries
|
|
275
|
-
if (info.uiLibraries && info.uiLibraries.length > 0) {
|
|
276
|
-
if (info.uiLibraries.length === 1) {
|
|
277
|
-
parts.push(`with ${info.uiLibraries[0]}`);
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
parts.push(`with ${info.uiLibraries.slice(0, -1).join(", ")} and ${info.uiLibraries[info.uiLibraries.length - 1]}`);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
// If no framework detected but we have testing libraries or build tools
|
|
284
|
-
if (!info.framework && !info.projectType && parts.length === 0) {
|
|
285
|
-
if (info.buildTool) {
|
|
286
|
-
parts.push(`This is a project built with ${info.buildTool}`);
|
|
287
|
-
}
|
|
288
|
-
else if (info.testingLibraries && info.testingLibraries.length > 0) {
|
|
289
|
-
parts.push(`This is a project using ${info.testingLibraries.join(", ")} for testing`);
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
parts.push("This is a JavaScript/TypeScript project");
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
// Project type for JS projects
|
|
296
|
-
if (info.projectType) {
|
|
297
|
-
parts.push(`(${info.projectType} project)`);
|
|
298
|
-
}
|
|
299
|
-
return parts.join(", ") + ".";
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
// Convenience function for quick analysis
|
|
303
|
-
export function analyzeProject(projectPath) {
|
|
304
|
-
const analyzer = new ProjectAnalyzer(projectPath);
|
|
305
|
-
return analyzer.analyze();
|
|
306
|
-
}
|
|
307
|
-
//# sourceMappingURL=project-analyzer.js.map
|
package/dist/server.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type UpdateFunctions } from "./features/updates/updates.routes.js";
|
|
2
|
-
export type StartServerOptions = {
|
|
3
|
-
isDebug: boolean;
|
|
4
|
-
openBrowser: boolean;
|
|
5
|
-
publicDir?: string;
|
|
6
|
-
updater?: UpdateFunctions;
|
|
7
|
-
};
|
|
8
|
-
export declare function startTarskServer(options: StartServerOptions): Promise<{
|
|
9
|
-
url: string;
|
|
10
|
-
port: number;
|
|
11
|
-
}>;
|
|
12
|
-
//# sourceMappingURL=server.d.ts.map
|