agor-live 0.3.7
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/LICENSE +94 -0
- package/README.md +163 -0
- package/bin/agor-daemon.js +20 -0
- package/bin/agor.js +14 -0
- package/dist/cli/base-command.d.ts +29 -0
- package/dist/cli/base-command.js +41 -0
- package/dist/cli/commands/board/add-session.d.ts +15 -0
- package/dist/cli/commands/board/add-session.js +102 -0
- package/dist/cli/commands/board/list.d.ts +14 -0
- package/dist/cli/commands/board/list.js +74 -0
- package/dist/cli/commands/config/clear.d.ts +13 -0
- package/dist/cli/commands/config/clear.js +21 -0
- package/dist/cli/commands/config/get.d.ts +13 -0
- package/dist/cli/commands/config/get.js +41 -0
- package/dist/cli/commands/config/index.d.ts +13 -0
- package/dist/cli/commands/config/index.js +118 -0
- package/dist/cli/commands/config/set.d.ts +14 -0
- package/dist/cli/commands/config/set.js +50 -0
- package/dist/cli/commands/config/unset.d.ts +13 -0
- package/dist/cli/commands/config/unset.js +35 -0
- package/dist/cli/commands/daemon/index.d.ts +13 -0
- package/dist/cli/commands/daemon/index.js +65 -0
- package/dist/cli/commands/daemon/logs.d.ts +13 -0
- package/dist/cli/commands/daemon/logs.js +78 -0
- package/dist/cli/commands/daemon/restart.d.ts +13 -0
- package/dist/cli/commands/daemon/restart.js +177 -0
- package/dist/cli/commands/daemon/start.d.ts +13 -0
- package/dist/cli/commands/daemon/start.js +193 -0
- package/dist/cli/commands/daemon/status.d.ts +13 -0
- package/dist/cli/commands/daemon/status.js +93 -0
- package/dist/cli/commands/daemon/stop.d.ts +13 -0
- package/dist/cli/commands/daemon/stop.js +108 -0
- package/dist/cli/commands/init.d.ts +44 -0
- package/dist/cli/commands/init.js +459 -0
- package/dist/cli/commands/mcp/add.d.ts +26 -0
- package/dist/cli/commands/mcp/add.js +162 -0
- package/dist/cli/commands/mcp/list.d.ts +16 -0
- package/dist/cli/commands/mcp/list.js +89 -0
- package/dist/cli/commands/mcp/remove.d.ts +17 -0
- package/dist/cli/commands/mcp/remove.js +86 -0
- package/dist/cli/commands/mcp/show.d.ts +14 -0
- package/dist/cli/commands/mcp/show.js +131 -0
- package/dist/cli/commands/repo/add.d.ts +16 -0
- package/dist/cli/commands/repo/add.js +105 -0
- package/dist/cli/commands/repo/list.d.ts +17 -0
- package/dist/cli/commands/repo/list.js +99 -0
- package/dist/cli/commands/repo/rm.d.ts +17 -0
- package/dist/cli/commands/repo/rm.js +126 -0
- package/dist/cli/commands/repo/worktree/add.d.ts +21 -0
- package/dist/cli/commands/repo/worktree/add.js +145 -0
- package/dist/cli/commands/repo/worktree/list.d.ts +21 -0
- package/dist/cli/commands/repo/worktree/list.js +136 -0
- package/dist/cli/commands/session/list.d.ts +30 -0
- package/dist/cli/commands/session/list.js +204 -0
- package/dist/cli/commands/session/load-claude.d.ts +16 -0
- package/dist/cli/commands/session/load-claude.js +211 -0
- package/dist/cli/commands/user/create-admin.d.ts +13 -0
- package/dist/cli/commands/user/create-admin.js +65 -0
- package/dist/cli/commands/user/create.d.ts +16 -0
- package/dist/cli/commands/user/create.js +126 -0
- package/dist/cli/commands/user/delete.d.ts +16 -0
- package/dist/cli/commands/user/delete.js +77 -0
- package/dist/cli/commands/user/list.d.ts +13 -0
- package/dist/cli/commands/user/list.js +78 -0
- package/dist/cli/commands/user/update.d.ts +19 -0
- package/dist/cli/commands/user/update.js +149 -0
- package/dist/cli/hooks/command-not-found.d.ts +9 -0
- package/dist/cli/hooks/command-not-found.js +14 -0
- package/dist/cli/lib/banner.d.ts +25 -0
- package/dist/cli/lib/banner.js +25 -0
- package/dist/cli/lib/context.d.ts +27 -0
- package/dist/cli/lib/context.js +32 -0
- package/dist/cli/lib/daemon-manager.d.ts +48 -0
- package/dist/cli/lib/daemon-manager.js +109 -0
- package/dist/cli/lib/help.d.ts +13 -0
- package/dist/cli/lib/help.js +46 -0
- package/dist/core/agentic-tool-B_gFNpk5.d.ts +33 -0
- package/dist/core/agentic-tool-DsyX8diw.d.cts +33 -0
- package/dist/core/api/index.cjs +98 -0
- package/dist/core/api/index.d.cts +174 -0
- package/dist/core/api/index.d.ts +174 -0
- package/dist/core/api/index.js +62 -0
- package/dist/core/board-comment-BUm0fpmD.d.cts +134 -0
- package/dist/core/board-comment-gC_-twPx.d.ts +134 -0
- package/dist/core/claude/index.cjs +673 -0
- package/dist/core/claude/index.d.cts +124 -0
- package/dist/core/claude/index.d.ts +124 -0
- package/dist/core/claude/index.js +629 -0
- package/dist/core/config/browser.cjs +165 -0
- package/dist/core/config/browser.d.cts +289 -0
- package/dist/core/config/browser.d.ts +289 -0
- package/dist/core/config/browser.js +131 -0
- package/dist/core/config/index.cjs +518 -0
- package/dist/core/config/index.d.cts +246 -0
- package/dist/core/config/index.d.ts +246 -0
- package/dist/core/config/index.js +451 -0
- package/dist/core/db/index.cjs +3726 -0
- package/dist/core/db/index.d.cts +631 -0
- package/dist/core/db/index.d.ts +631 -0
- package/dist/core/db/index.js +3649 -0
- package/dist/core/dist/agentic-tool-B_gFNpk5.d.ts +33 -0
- package/dist/core/dist/agentic-tool-DsyX8diw.d.cts +33 -0
- package/dist/core/dist/api/index.cjs +98 -0
- package/dist/core/dist/api/index.d.cts +174 -0
- package/dist/core/dist/api/index.d.ts +174 -0
- package/dist/core/dist/api/index.js +62 -0
- package/dist/core/dist/board-comment-BUm0fpmD.d.cts +134 -0
- package/dist/core/dist/board-comment-gC_-twPx.d.ts +134 -0
- package/dist/core/dist/claude/index.cjs +673 -0
- package/dist/core/dist/claude/index.d.cts +124 -0
- package/dist/core/dist/claude/index.d.ts +124 -0
- package/dist/core/dist/claude/index.js +629 -0
- package/dist/core/dist/config/browser.cjs +165 -0
- package/dist/core/dist/config/browser.d.cts +289 -0
- package/dist/core/dist/config/browser.d.ts +289 -0
- package/dist/core/dist/config/browser.js +131 -0
- package/dist/core/dist/config/index.cjs +518 -0
- package/dist/core/dist/config/index.d.cts +246 -0
- package/dist/core/dist/config/index.d.ts +246 -0
- package/dist/core/dist/config/index.js +451 -0
- package/dist/core/dist/db/index.cjs +3726 -0
- package/dist/core/dist/db/index.d.cts +631 -0
- package/dist/core/dist/db/index.d.ts +631 -0
- package/dist/core/dist/db/index.js +3649 -0
- package/dist/core/dist/environment/variable-resolver.cjs +92 -0
- package/dist/core/dist/environment/variable-resolver.d.cts +52 -0
- package/dist/core/dist/environment/variable-resolver.d.ts +52 -0
- package/dist/core/dist/environment/variable-resolver.js +53 -0
- package/dist/core/dist/feathers/index.cjs +66 -0
- package/dist/core/dist/feathers/index.d.cts +7 -0
- package/dist/core/dist/feathers/index.d.ts +7 -0
- package/dist/core/dist/feathers/index.js +25 -0
- package/dist/core/dist/feathers-BzHEPnpl.d.cts +228 -0
- package/dist/core/dist/feathers-BzHEPnpl.d.ts +228 -0
- package/dist/core/dist/git/index.cjs +302 -0
- package/dist/core/dist/git/index.d.cts +137 -0
- package/dist/core/dist/git/index.d.ts +137 -0
- package/dist/core/dist/git/index.js +260 -0
- package/dist/core/dist/id-DMqyogFB.d.cts +131 -0
- package/dist/core/dist/id-DMqyogFB.d.ts +131 -0
- package/dist/core/dist/index.cjs +4653 -0
- package/dist/core/dist/index.d.cts +23 -0
- package/dist/core/dist/index.d.ts +23 -0
- package/dist/core/dist/index.js +4509 -0
- package/dist/core/dist/message-BoxZISHg.d.cts +120 -0
- package/dist/core/dist/message-DvBzHu7V.d.ts +120 -0
- package/dist/core/dist/permissions/index.cjs +112 -0
- package/dist/core/dist/permissions/index.d.cts +81 -0
- package/dist/core/dist/permissions/index.d.ts +81 -0
- package/dist/core/dist/permissions/index.js +85 -0
- package/dist/core/dist/repo-3CUrCRbq.d.cts +405 -0
- package/dist/core/dist/repo-CnvJ0B6-.d.ts +405 -0
- package/dist/core/dist/session-BPjJlVdZ.d.cts +429 -0
- package/dist/core/dist/session-wAzjHatv.d.ts +429 -0
- package/dist/core/dist/task-BIEgT1DK.d.cts +163 -0
- package/dist/core/dist/task-DuIfiUbW.d.ts +163 -0
- package/dist/core/dist/templates/handlebars-helpers.cjs +156 -0
- package/dist/core/dist/templates/handlebars-helpers.d.cts +45 -0
- package/dist/core/dist/templates/handlebars-helpers.d.ts +45 -0
- package/dist/core/dist/templates/handlebars-helpers.js +119 -0
- package/dist/core/dist/tools/claude/models.cjs +70 -0
- package/dist/core/dist/tools/claude/models.d.cts +27 -0
- package/dist/core/dist/tools/claude/models.d.ts +27 -0
- package/dist/core/dist/tools/claude/models.js +44 -0
- package/dist/core/dist/tools/index.cjs +3367 -0
- package/dist/core/dist/tools/index.d.cts +967 -0
- package/dist/core/dist/tools/index.d.ts +967 -0
- package/dist/core/dist/tools/index.js +3314 -0
- package/dist/core/dist/tools/models.cjs +119 -0
- package/dist/core/dist/tools/models.d.cts +47 -0
- package/dist/core/dist/tools/models.d.ts +47 -0
- package/dist/core/dist/tools/models.js +86 -0
- package/dist/core/dist/types/index.cjs +152 -0
- package/dist/core/dist/types/index.d.cts +214 -0
- package/dist/core/dist/types/index.d.ts +214 -0
- package/dist/core/dist/types/index.js +112 -0
- package/dist/core/dist/user-BmL3kFol.d.ts +50 -0
- package/dist/core/dist/user-eUuKj7yM.d.cts +50 -0
- package/dist/core/dist/utils/pricing.cjs +102 -0
- package/dist/core/dist/utils/pricing.d.cts +43 -0
- package/dist/core/dist/utils/pricing.d.ts +43 -0
- package/dist/core/dist/utils/pricing.js +75 -0
- package/dist/core/dist/worktrees-BzIxB1U6.d.cts +2745 -0
- package/dist/core/dist/worktrees-CYem1ya2.d.ts +2745 -0
- package/dist/core/environment/variable-resolver.cjs +92 -0
- package/dist/core/environment/variable-resolver.d.cts +52 -0
- package/dist/core/environment/variable-resolver.d.ts +52 -0
- package/dist/core/environment/variable-resolver.js +53 -0
- package/dist/core/feathers/index.cjs +66 -0
- package/dist/core/feathers/index.d.cts +7 -0
- package/dist/core/feathers/index.d.ts +7 -0
- package/dist/core/feathers/index.js +25 -0
- package/dist/core/feathers-BzHEPnpl.d.cts +228 -0
- package/dist/core/feathers-BzHEPnpl.d.ts +228 -0
- package/dist/core/git/index.cjs +302 -0
- package/dist/core/git/index.d.cts +137 -0
- package/dist/core/git/index.d.ts +137 -0
- package/dist/core/git/index.js +260 -0
- package/dist/core/id-DMqyogFB.d.cts +131 -0
- package/dist/core/id-DMqyogFB.d.ts +131 -0
- package/dist/core/index.cjs +4653 -0
- package/dist/core/index.d.cts +23 -0
- package/dist/core/index.d.ts +23 -0
- package/dist/core/index.js +4509 -0
- package/dist/core/message-BoxZISHg.d.cts +120 -0
- package/dist/core/message-DvBzHu7V.d.ts +120 -0
- package/dist/core/package.json +133 -0
- package/dist/core/permissions/index.cjs +112 -0
- package/dist/core/permissions/index.d.cts +81 -0
- package/dist/core/permissions/index.d.ts +81 -0
- package/dist/core/permissions/index.js +85 -0
- package/dist/core/repo-3CUrCRbq.d.cts +405 -0
- package/dist/core/repo-CnvJ0B6-.d.ts +405 -0
- package/dist/core/session-BPjJlVdZ.d.cts +429 -0
- package/dist/core/session-wAzjHatv.d.ts +429 -0
- package/dist/core/task-BIEgT1DK.d.cts +163 -0
- package/dist/core/task-DuIfiUbW.d.ts +163 -0
- package/dist/core/templates/handlebars-helpers.cjs +156 -0
- package/dist/core/templates/handlebars-helpers.d.cts +45 -0
- package/dist/core/templates/handlebars-helpers.d.ts +45 -0
- package/dist/core/templates/handlebars-helpers.js +119 -0
- package/dist/core/tools/claude/models.cjs +70 -0
- package/dist/core/tools/claude/models.d.cts +27 -0
- package/dist/core/tools/claude/models.d.ts +27 -0
- package/dist/core/tools/claude/models.js +44 -0
- package/dist/core/tools/index.cjs +3367 -0
- package/dist/core/tools/index.d.cts +967 -0
- package/dist/core/tools/index.d.ts +967 -0
- package/dist/core/tools/index.js +3314 -0
- package/dist/core/tools/models.cjs +119 -0
- package/dist/core/tools/models.d.cts +47 -0
- package/dist/core/tools/models.d.ts +47 -0
- package/dist/core/tools/models.js +86 -0
- package/dist/core/types/index.cjs +152 -0
- package/dist/core/types/index.d.cts +214 -0
- package/dist/core/types/index.d.ts +214 -0
- package/dist/core/types/index.js +112 -0
- package/dist/core/user-BmL3kFol.d.ts +50 -0
- package/dist/core/user-eUuKj7yM.d.cts +50 -0
- package/dist/core/utils/pricing.cjs +102 -0
- package/dist/core/utils/pricing.d.cts +43 -0
- package/dist/core/utils/pricing.d.ts +43 -0
- package/dist/core/utils/pricing.js +75 -0
- package/dist/core/worktrees-BzIxB1U6.d.cts +2745 -0
- package/dist/core/worktrees-CYem1ya2.d.ts +2745 -0
- package/dist/daemon/adapters/drizzle.d.ts +114 -0
- package/dist/daemon/adapters/drizzle.js +219 -0
- package/dist/daemon/declarations.d.ts +101 -0
- package/dist/daemon/declarations.js +0 -0
- package/dist/daemon/index.d.ts +2 -0
- package/dist/daemon/index.js +4093 -0
- package/dist/daemon/mcp/routes.d.ts +15 -0
- package/dist/daemon/mcp/routes.js +641 -0
- package/dist/daemon/mcp/tokens.d.ts +50 -0
- package/dist/daemon/mcp/tokens.js +85 -0
- package/dist/daemon/services/board-comments.d.ts +97 -0
- package/dist/daemon/services/board-comments.js +326 -0
- package/dist/daemon/services/board-objects.d.ts +71 -0
- package/dist/daemon/services/board-objects.js +117 -0
- package/dist/daemon/services/boards.d.ts +64 -0
- package/dist/daemon/services/boards.js +286 -0
- package/dist/daemon/services/config.d.ts +35 -0
- package/dist/daemon/services/config.js +68 -0
- package/dist/daemon/services/context.d.ts +55 -0
- package/dist/daemon/services/context.js +113 -0
- package/dist/daemon/services/health-monitor.d.ts +58 -0
- package/dist/daemon/services/health-monitor.js +158 -0
- package/dist/daemon/services/mcp-servers.d.ts +42 -0
- package/dist/daemon/services/mcp-servers.js +275 -0
- package/dist/daemon/services/messages.d.ts +49 -0
- package/dist/daemon/services/messages.js +269 -0
- package/dist/daemon/services/repos.d.ts +61 -0
- package/dist/daemon/services/repos.js +350 -0
- package/dist/daemon/services/session-mcp-servers.d.ts +56 -0
- package/dist/daemon/services/session-mcp-servers.js +51 -0
- package/dist/daemon/services/sessions.d.ts +64 -0
- package/dist/daemon/services/sessions.js +398 -0
- package/dist/daemon/services/tasks.d.ts +55 -0
- package/dist/daemon/services/tasks.js +318 -0
- package/dist/daemon/services/terminals.d.ts +75 -0
- package/dist/daemon/services/terminals.js +110 -0
- package/dist/daemon/services/users.d.ts +98 -0
- package/dist/daemon/services/users.js +177 -0
- package/dist/daemon/services/worktrees.d.ts +98 -0
- package/dist/daemon/services/worktrees.js +719 -0
- package/dist/daemon/strategies/anonymous.d.ts +20 -0
- package/dist/daemon/strategies/anonymous.js +32 -0
- package/dist/ui/assets/cc-CYmbalCD.png +0 -0
- package/dist/ui/assets/codex-4sLD1mVS.png +0 -0
- package/dist/ui/assets/cursor-BUy5pFVL.png +0 -0
- package/dist/ui/assets/gemini-ajOb7iAl.png +0 -0
- package/dist/ui/assets/index-Dc4ELxry.css +32 -0
- package/dist/ui/assets/index-KfIu8v4V.js +578 -0
- package/dist/ui/favicon.png +0 -0
- package/dist/ui/index.html +26 -0
- package/dist/ui/vite.svg +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { T as TaskID, a as SessionID } from './id-DMqyogFB.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Path to a context file (markdown) relative to context/
|
|
5
|
+
*
|
|
6
|
+
* Examples:
|
|
7
|
+
* - "README.md"
|
|
8
|
+
* - "concepts/core.md"
|
|
9
|
+
* - "explorations/subsession-orchestration.md"
|
|
10
|
+
*/
|
|
11
|
+
type ContextFilePath = string;
|
|
12
|
+
/**
|
|
13
|
+
* Context file list item (lightweight, for browsing)
|
|
14
|
+
* Returned by GET /context
|
|
15
|
+
*/
|
|
16
|
+
interface ContextFileListItem {
|
|
17
|
+
/**
|
|
18
|
+
* File path relative to context/
|
|
19
|
+
* Examples: "concepts/core.md", "explorations/cli.md", "README.md"
|
|
20
|
+
*/
|
|
21
|
+
path: ContextFilePath;
|
|
22
|
+
/** Human-readable title (extracted from first H1 or filename) */
|
|
23
|
+
title: string;
|
|
24
|
+
/** File size in bytes */
|
|
25
|
+
size: number;
|
|
26
|
+
/** Last modified timestamp (ISO 8601) */
|
|
27
|
+
lastModified: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Full context file details (includes content)
|
|
31
|
+
* Returned by GET /context/:path
|
|
32
|
+
*/
|
|
33
|
+
interface ContextFileDetail extends ContextFileListItem {
|
|
34
|
+
/** Full markdown content */
|
|
35
|
+
content: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Path to a report file relative to context/reports/
|
|
40
|
+
*
|
|
41
|
+
* Structure: context/reports/<session-id>/<task-id>.md
|
|
42
|
+
*
|
|
43
|
+
* Examples:
|
|
44
|
+
* - "01933e4a-7b89-7c35-a8f3-9d2e1c4b5a6f/0193a1b2-3c4d-7e5f-a8f3-9d2e1c4b5a6f.md"
|
|
45
|
+
* - "01934c2d-1234-7c35-a8f3-9d2e1c4b5a6f/0193b3c4-5d6e-7f8a-b9c0-d1e2f3a4b5c6.md"
|
|
46
|
+
*/
|
|
47
|
+
type ReportPath = string;
|
|
48
|
+
/**
|
|
49
|
+
* Template type for report generation
|
|
50
|
+
*
|
|
51
|
+
* Different templates structure the report differently:
|
|
52
|
+
* - "standard": Default template with learnings, decisions, blockers
|
|
53
|
+
* - "technical": Deep dive into technical decisions and trade-offs
|
|
54
|
+
* - "summary": Brief summary of work completed
|
|
55
|
+
* - "custom": User-defined template
|
|
56
|
+
*/
|
|
57
|
+
type ReportTemplate = 'standard' | 'technical' | 'summary' | 'custom';
|
|
58
|
+
/**
|
|
59
|
+
* Report metadata
|
|
60
|
+
*
|
|
61
|
+
* Reports are auto-generated after task completion, capturing:
|
|
62
|
+
* - What was learned during the task
|
|
63
|
+
* - Key decisions made
|
|
64
|
+
* - Concepts that emerged
|
|
65
|
+
* - Blockers encountered
|
|
66
|
+
*/
|
|
67
|
+
interface Report {
|
|
68
|
+
/**
|
|
69
|
+
* File path relative to context/reports/
|
|
70
|
+
* This serves as the unique identifier.
|
|
71
|
+
*
|
|
72
|
+
* Format: "<session-id>/<task-id>.md"
|
|
73
|
+
*/
|
|
74
|
+
path: ReportPath;
|
|
75
|
+
/** Task this report belongs to */
|
|
76
|
+
task_id: TaskID;
|
|
77
|
+
/** Template used for report generation */
|
|
78
|
+
template: ReportTemplate;
|
|
79
|
+
/** Markdown content of the report */
|
|
80
|
+
content: string;
|
|
81
|
+
/**
|
|
82
|
+
* Context files extracted or referenced in this report
|
|
83
|
+
* Can reference existing context files or suggest new ones
|
|
84
|
+
*/
|
|
85
|
+
contextFiles: ContextFilePath[];
|
|
86
|
+
/** When the report was generated */
|
|
87
|
+
generated_at: string;
|
|
88
|
+
/** File metadata */
|
|
89
|
+
created_at: string;
|
|
90
|
+
last_updated: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
declare const TaskStatus: {
|
|
94
|
+
readonly CREATED: "created";
|
|
95
|
+
readonly RUNNING: "running";
|
|
96
|
+
readonly STOPPING: "stopping";
|
|
97
|
+
readonly AWAITING_PERMISSION: "awaiting_permission";
|
|
98
|
+
readonly COMPLETED: "completed";
|
|
99
|
+
readonly FAILED: "failed";
|
|
100
|
+
readonly STOPPED: "stopped";
|
|
101
|
+
};
|
|
102
|
+
type TaskStatus = (typeof TaskStatus)[keyof typeof TaskStatus];
|
|
103
|
+
interface Task {
|
|
104
|
+
/** Unique task identifier (UUIDv7) */
|
|
105
|
+
task_id: TaskID;
|
|
106
|
+
/** Session this task belongs to */
|
|
107
|
+
session_id: SessionID;
|
|
108
|
+
/** User ID of the user who created this task */
|
|
109
|
+
created_by: string;
|
|
110
|
+
/** Original user prompt (can be multi-line) */
|
|
111
|
+
full_prompt: string;
|
|
112
|
+
/** Optional: LLM-generated short summary */
|
|
113
|
+
description?: string;
|
|
114
|
+
status: TaskStatus;
|
|
115
|
+
message_range: {
|
|
116
|
+
start_index: number;
|
|
117
|
+
end_index: number;
|
|
118
|
+
start_timestamp: string;
|
|
119
|
+
end_timestamp?: string;
|
|
120
|
+
};
|
|
121
|
+
tool_use_count: number;
|
|
122
|
+
git_state: {
|
|
123
|
+
ref_at_start: string;
|
|
124
|
+
sha_at_start: string;
|
|
125
|
+
sha_at_end?: string;
|
|
126
|
+
commit_message?: string;
|
|
127
|
+
};
|
|
128
|
+
usage?: {
|
|
129
|
+
input_tokens?: number;
|
|
130
|
+
output_tokens?: number;
|
|
131
|
+
total_tokens?: number;
|
|
132
|
+
cache_read_tokens?: number;
|
|
133
|
+
cache_creation_tokens?: number;
|
|
134
|
+
estimated_cost_usd?: number;
|
|
135
|
+
};
|
|
136
|
+
duration_ms?: number;
|
|
137
|
+
agent_session_id?: string;
|
|
138
|
+
context_window?: number;
|
|
139
|
+
context_window_limit?: number;
|
|
140
|
+
model?: string;
|
|
141
|
+
report?: {
|
|
142
|
+
/**
|
|
143
|
+
* File path relative to context/reports/
|
|
144
|
+
* Format: "<session-id>/<task-id>.md"
|
|
145
|
+
*/
|
|
146
|
+
path: ReportPath;
|
|
147
|
+
template: ReportTemplate;
|
|
148
|
+
generated_at: string;
|
|
149
|
+
};
|
|
150
|
+
permission_request?: {
|
|
151
|
+
request_id: string;
|
|
152
|
+
tool_name: string;
|
|
153
|
+
tool_input: Record<string, unknown>;
|
|
154
|
+
tool_use_id?: string;
|
|
155
|
+
requested_at: string;
|
|
156
|
+
approved_by?: string;
|
|
157
|
+
approved_at?: string;
|
|
158
|
+
};
|
|
159
|
+
created_at: string;
|
|
160
|
+
completed_at?: string;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export { type ContextFilePath as C, type ReportPath as R, TaskStatus as T, type ContextFileListItem as a, type ContextFileDetail as b, type ReportTemplate as c, type Report as d, type Task as e };
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/templates/handlebars-helpers.ts
|
|
31
|
+
var handlebars_helpers_exports = {};
|
|
32
|
+
__export(handlebars_helpers_exports, {
|
|
33
|
+
buildWorktreeContext: () => buildWorktreeContext,
|
|
34
|
+
registerHandlebarsHelpers: () => registerHandlebarsHelpers,
|
|
35
|
+
renderTemplate: () => renderTemplate
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(handlebars_helpers_exports);
|
|
38
|
+
var import_handlebars = __toESM(require("handlebars"), 1);
|
|
39
|
+
function registerHandlebarsHelpers() {
|
|
40
|
+
import_handlebars.default.registerHelper("add", (a, b) => {
|
|
41
|
+
const numA = Number(a);
|
|
42
|
+
const numB = Number(b);
|
|
43
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
44
|
+
console.warn(`\u26A0\uFE0F add helper received non-numeric values: ${a}, ${b}`);
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
return numA + numB;
|
|
48
|
+
});
|
|
49
|
+
import_handlebars.default.registerHelper("sub", (a, b) => {
|
|
50
|
+
const numA = Number(a);
|
|
51
|
+
const numB = Number(b);
|
|
52
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
53
|
+
console.warn(`\u26A0\uFE0F sub helper received non-numeric values: ${a}, ${b}`);
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
return numA - numB;
|
|
57
|
+
});
|
|
58
|
+
import_handlebars.default.registerHelper("mul", (a, b) => {
|
|
59
|
+
const numA = Number(a);
|
|
60
|
+
const numB = Number(b);
|
|
61
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
62
|
+
console.warn(`\u26A0\uFE0F mul helper received non-numeric values: ${a}, ${b}`);
|
|
63
|
+
return 0;
|
|
64
|
+
}
|
|
65
|
+
return numA * numB;
|
|
66
|
+
});
|
|
67
|
+
import_handlebars.default.registerHelper("div", (a, b) => {
|
|
68
|
+
const numA = Number(a);
|
|
69
|
+
const numB = Number(b);
|
|
70
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
71
|
+
console.warn(`\u26A0\uFE0F div helper received non-numeric values: ${a}, ${b}`);
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
if (numB === 0) {
|
|
75
|
+
console.warn(`\u26A0\uFE0F div helper received zero divisor`);
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
return numA / numB;
|
|
79
|
+
});
|
|
80
|
+
import_handlebars.default.registerHelper("mod", (a, b) => {
|
|
81
|
+
const numA = Number(a);
|
|
82
|
+
const numB = Number(b);
|
|
83
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
84
|
+
console.warn(`\u26A0\uFE0F mod helper received non-numeric values: ${a}, ${b}`);
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
if (numB === 0) {
|
|
88
|
+
console.warn(`\u26A0\uFE0F mod helper received zero divisor`);
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
return numA % numB;
|
|
92
|
+
});
|
|
93
|
+
import_handlebars.default.registerHelper("uppercase", (str) => {
|
|
94
|
+
return String(str || "").toUpperCase();
|
|
95
|
+
});
|
|
96
|
+
import_handlebars.default.registerHelper("lowercase", (str) => {
|
|
97
|
+
return String(str || "").toLowerCase();
|
|
98
|
+
});
|
|
99
|
+
import_handlebars.default.registerHelper("replace", (str, search, replace) => {
|
|
100
|
+
return String(str || "").split(search).join(replace);
|
|
101
|
+
});
|
|
102
|
+
import_handlebars.default.registerHelper("eq", (a, b) => {
|
|
103
|
+
return a === b;
|
|
104
|
+
});
|
|
105
|
+
import_handlebars.default.registerHelper("neq", (a, b) => {
|
|
106
|
+
return a !== b;
|
|
107
|
+
});
|
|
108
|
+
import_handlebars.default.registerHelper("gt", (a, b) => {
|
|
109
|
+
return Number(a) > Number(b);
|
|
110
|
+
});
|
|
111
|
+
import_handlebars.default.registerHelper("lt", (a, b) => {
|
|
112
|
+
return Number(a) < Number(b);
|
|
113
|
+
});
|
|
114
|
+
import_handlebars.default.registerHelper("gte", (a, b) => {
|
|
115
|
+
return Number(a) >= Number(b);
|
|
116
|
+
});
|
|
117
|
+
import_handlebars.default.registerHelper("lte", (a, b) => {
|
|
118
|
+
return Number(a) <= Number(b);
|
|
119
|
+
});
|
|
120
|
+
import_handlebars.default.registerHelper("default", (value, defaultValue) => {
|
|
121
|
+
return value ?? defaultValue;
|
|
122
|
+
});
|
|
123
|
+
import_handlebars.default.registerHelper("json", (obj) => {
|
|
124
|
+
return JSON.stringify(obj, null, 2);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function renderTemplate(templateString, context) {
|
|
128
|
+
try {
|
|
129
|
+
const template = import_handlebars.default.compile(templateString);
|
|
130
|
+
return template(context);
|
|
131
|
+
} catch (error) {
|
|
132
|
+
console.error("\u274C Handlebars template error:", error);
|
|
133
|
+
throw error;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function buildWorktreeContext(worktree) {
|
|
137
|
+
return {
|
|
138
|
+
// Scoped entities (accessible as {{entity.property}})
|
|
139
|
+
worktree: {
|
|
140
|
+
unique_id: worktree.worktree_unique_id,
|
|
141
|
+
name: worktree.name,
|
|
142
|
+
path: worktree.path
|
|
143
|
+
},
|
|
144
|
+
repo: {
|
|
145
|
+
slug: worktree.repo_slug || ""
|
|
146
|
+
},
|
|
147
|
+
// User-defined custom context (accessible as {{custom.key}})
|
|
148
|
+
custom: worktree.custom_context || {}
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
152
|
+
0 && (module.exports = {
|
|
153
|
+
buildWorktreeContext,
|
|
154
|
+
registerHandlebarsHelpers,
|
|
155
|
+
renderTemplate
|
|
156
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handlebars helper functions for template rendering
|
|
3
|
+
*
|
|
4
|
+
* Shared between frontend and backend for consistent template evaluation.
|
|
5
|
+
* Used in:
|
|
6
|
+
* - Environment config templates (up/down commands)
|
|
7
|
+
* - Zone triggers
|
|
8
|
+
* - Report templates
|
|
9
|
+
* - Any other Handlebars-based templating
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Register all Handlebars helpers
|
|
13
|
+
*
|
|
14
|
+
* Call this once during application initialization.
|
|
15
|
+
*/
|
|
16
|
+
declare function registerHandlebarsHelpers(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Render a Handlebars template with given context
|
|
19
|
+
*
|
|
20
|
+
* Automatically registers helpers if not already registered.
|
|
21
|
+
*
|
|
22
|
+
* @param templateString - Handlebars template string
|
|
23
|
+
* @param context - Template context variables
|
|
24
|
+
* @returns Rendered string
|
|
25
|
+
*/
|
|
26
|
+
declare function renderTemplate(templateString: string, context: Record<string, unknown>): string;
|
|
27
|
+
/**
|
|
28
|
+
* Build standard template context for worktree environments
|
|
29
|
+
*
|
|
30
|
+
* Provides scoped entity references (consistent with zone triggers):
|
|
31
|
+
* - {{worktree.unique_id}} - Auto-assigned unique number (1, 2, 3, ...)
|
|
32
|
+
* - {{worktree.name}} - Worktree name (slug format)
|
|
33
|
+
* - {{worktree.path}} - Absolute path to worktree directory
|
|
34
|
+
* - {{repo.slug}} - Repository slug
|
|
35
|
+
* - {{custom.*}} - Any custom context from worktree.custom_context
|
|
36
|
+
*/
|
|
37
|
+
declare function buildWorktreeContext(worktree: {
|
|
38
|
+
worktree_unique_id: number;
|
|
39
|
+
name: string;
|
|
40
|
+
path: string;
|
|
41
|
+
repo_slug?: string;
|
|
42
|
+
custom_context?: Record<string, unknown>;
|
|
43
|
+
}): Record<string, unknown>;
|
|
44
|
+
|
|
45
|
+
export { buildWorktreeContext, registerHandlebarsHelpers, renderTemplate };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handlebars helper functions for template rendering
|
|
3
|
+
*
|
|
4
|
+
* Shared between frontend and backend for consistent template evaluation.
|
|
5
|
+
* Used in:
|
|
6
|
+
* - Environment config templates (up/down commands)
|
|
7
|
+
* - Zone triggers
|
|
8
|
+
* - Report templates
|
|
9
|
+
* - Any other Handlebars-based templating
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Register all Handlebars helpers
|
|
13
|
+
*
|
|
14
|
+
* Call this once during application initialization.
|
|
15
|
+
*/
|
|
16
|
+
declare function registerHandlebarsHelpers(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Render a Handlebars template with given context
|
|
19
|
+
*
|
|
20
|
+
* Automatically registers helpers if not already registered.
|
|
21
|
+
*
|
|
22
|
+
* @param templateString - Handlebars template string
|
|
23
|
+
* @param context - Template context variables
|
|
24
|
+
* @returns Rendered string
|
|
25
|
+
*/
|
|
26
|
+
declare function renderTemplate(templateString: string, context: Record<string, unknown>): string;
|
|
27
|
+
/**
|
|
28
|
+
* Build standard template context for worktree environments
|
|
29
|
+
*
|
|
30
|
+
* Provides scoped entity references (consistent with zone triggers):
|
|
31
|
+
* - {{worktree.unique_id}} - Auto-assigned unique number (1, 2, 3, ...)
|
|
32
|
+
* - {{worktree.name}} - Worktree name (slug format)
|
|
33
|
+
* - {{worktree.path}} - Absolute path to worktree directory
|
|
34
|
+
* - {{repo.slug}} - Repository slug
|
|
35
|
+
* - {{custom.*}} - Any custom context from worktree.custom_context
|
|
36
|
+
*/
|
|
37
|
+
declare function buildWorktreeContext(worktree: {
|
|
38
|
+
worktree_unique_id: number;
|
|
39
|
+
name: string;
|
|
40
|
+
path: string;
|
|
41
|
+
repo_slug?: string;
|
|
42
|
+
custom_context?: Record<string, unknown>;
|
|
43
|
+
}): Record<string, unknown>;
|
|
44
|
+
|
|
45
|
+
export { buildWorktreeContext, registerHandlebarsHelpers, renderTemplate };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// src/templates/handlebars-helpers.ts
|
|
2
|
+
import Handlebars from "handlebars";
|
|
3
|
+
function registerHandlebarsHelpers() {
|
|
4
|
+
Handlebars.registerHelper("add", (a, b) => {
|
|
5
|
+
const numA = Number(a);
|
|
6
|
+
const numB = Number(b);
|
|
7
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
8
|
+
console.warn(`\u26A0\uFE0F add helper received non-numeric values: ${a}, ${b}`);
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
return numA + numB;
|
|
12
|
+
});
|
|
13
|
+
Handlebars.registerHelper("sub", (a, b) => {
|
|
14
|
+
const numA = Number(a);
|
|
15
|
+
const numB = Number(b);
|
|
16
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
17
|
+
console.warn(`\u26A0\uFE0F sub helper received non-numeric values: ${a}, ${b}`);
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
return numA - numB;
|
|
21
|
+
});
|
|
22
|
+
Handlebars.registerHelper("mul", (a, b) => {
|
|
23
|
+
const numA = Number(a);
|
|
24
|
+
const numB = Number(b);
|
|
25
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
26
|
+
console.warn(`\u26A0\uFE0F mul helper received non-numeric values: ${a}, ${b}`);
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
return numA * numB;
|
|
30
|
+
});
|
|
31
|
+
Handlebars.registerHelper("div", (a, b) => {
|
|
32
|
+
const numA = Number(a);
|
|
33
|
+
const numB = Number(b);
|
|
34
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
35
|
+
console.warn(`\u26A0\uFE0F div helper received non-numeric values: ${a}, ${b}`);
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
if (numB === 0) {
|
|
39
|
+
console.warn(`\u26A0\uFE0F div helper received zero divisor`);
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
return numA / numB;
|
|
43
|
+
});
|
|
44
|
+
Handlebars.registerHelper("mod", (a, b) => {
|
|
45
|
+
const numA = Number(a);
|
|
46
|
+
const numB = Number(b);
|
|
47
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
48
|
+
console.warn(`\u26A0\uFE0F mod helper received non-numeric values: ${a}, ${b}`);
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
if (numB === 0) {
|
|
52
|
+
console.warn(`\u26A0\uFE0F mod helper received zero divisor`);
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
return numA % numB;
|
|
56
|
+
});
|
|
57
|
+
Handlebars.registerHelper("uppercase", (str) => {
|
|
58
|
+
return String(str || "").toUpperCase();
|
|
59
|
+
});
|
|
60
|
+
Handlebars.registerHelper("lowercase", (str) => {
|
|
61
|
+
return String(str || "").toLowerCase();
|
|
62
|
+
});
|
|
63
|
+
Handlebars.registerHelper("replace", (str, search, replace) => {
|
|
64
|
+
return String(str || "").split(search).join(replace);
|
|
65
|
+
});
|
|
66
|
+
Handlebars.registerHelper("eq", (a, b) => {
|
|
67
|
+
return a === b;
|
|
68
|
+
});
|
|
69
|
+
Handlebars.registerHelper("neq", (a, b) => {
|
|
70
|
+
return a !== b;
|
|
71
|
+
});
|
|
72
|
+
Handlebars.registerHelper("gt", (a, b) => {
|
|
73
|
+
return Number(a) > Number(b);
|
|
74
|
+
});
|
|
75
|
+
Handlebars.registerHelper("lt", (a, b) => {
|
|
76
|
+
return Number(a) < Number(b);
|
|
77
|
+
});
|
|
78
|
+
Handlebars.registerHelper("gte", (a, b) => {
|
|
79
|
+
return Number(a) >= Number(b);
|
|
80
|
+
});
|
|
81
|
+
Handlebars.registerHelper("lte", (a, b) => {
|
|
82
|
+
return Number(a) <= Number(b);
|
|
83
|
+
});
|
|
84
|
+
Handlebars.registerHelper("default", (value, defaultValue) => {
|
|
85
|
+
return value ?? defaultValue;
|
|
86
|
+
});
|
|
87
|
+
Handlebars.registerHelper("json", (obj) => {
|
|
88
|
+
return JSON.stringify(obj, null, 2);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function renderTemplate(templateString, context) {
|
|
92
|
+
try {
|
|
93
|
+
const template = Handlebars.compile(templateString);
|
|
94
|
+
return template(context);
|
|
95
|
+
} catch (error) {
|
|
96
|
+
console.error("\u274C Handlebars template error:", error);
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function buildWorktreeContext(worktree) {
|
|
101
|
+
return {
|
|
102
|
+
// Scoped entities (accessible as {{entity.property}})
|
|
103
|
+
worktree: {
|
|
104
|
+
unique_id: worktree.worktree_unique_id,
|
|
105
|
+
name: worktree.name,
|
|
106
|
+
path: worktree.path
|
|
107
|
+
},
|
|
108
|
+
repo: {
|
|
109
|
+
slug: worktree.repo_slug || ""
|
|
110
|
+
},
|
|
111
|
+
// User-defined custom context (accessible as {{custom.key}})
|
|
112
|
+
custom: worktree.custom_context || {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
export {
|
|
116
|
+
buildWorktreeContext,
|
|
117
|
+
registerHandlebarsHelpers,
|
|
118
|
+
renderTemplate
|
|
119
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/tools/claude/models.ts
|
|
21
|
+
var models_exports = {};
|
|
22
|
+
__export(models_exports, {
|
|
23
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES: () => AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
24
|
+
DEFAULT_CLAUDE_MODEL: () => DEFAULT_CLAUDE_MODEL
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(models_exports);
|
|
27
|
+
var AVAILABLE_CLAUDE_MODEL_ALIASES = [
|
|
28
|
+
{
|
|
29
|
+
id: "claude-opus-4-1",
|
|
30
|
+
displayName: "Claude Opus 4.1",
|
|
31
|
+
family: "claude-4",
|
|
32
|
+
description: "Most capable model (latest)"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "claude-sonnet-4-5",
|
|
36
|
+
displayName: "Claude Sonnet 4.5",
|
|
37
|
+
family: "claude-4",
|
|
38
|
+
description: "Best for coding (latest)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: "claude-sonnet-4-0",
|
|
42
|
+
displayName: "Claude Sonnet 4.0",
|
|
43
|
+
family: "claude-4",
|
|
44
|
+
description: "Sonnet 4.0 (previous)"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "claude-3-7-sonnet-latest",
|
|
48
|
+
displayName: "Claude 3.7 Sonnet",
|
|
49
|
+
family: "claude-3.7",
|
|
50
|
+
description: "Fast & balanced"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "claude-haiku-4-5",
|
|
54
|
+
displayName: "Claude Haiku 4.5",
|
|
55
|
+
family: "claude-4",
|
|
56
|
+
description: "Fastest (latest)"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "claude-3-5-haiku-latest",
|
|
60
|
+
displayName: "Claude 3.5 Haiku",
|
|
61
|
+
family: "claude-3.5",
|
|
62
|
+
description: "Fastest (previous)"
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
var DEFAULT_CLAUDE_MODEL = "claude-sonnet-4-5";
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
69
|
+
DEFAULT_CLAUDE_MODEL
|
|
70
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude model metadata for UI display and selection
|
|
3
|
+
*/
|
|
4
|
+
interface ClaudeModel {
|
|
5
|
+
/** Model ID or alias (e.g., "claude-sonnet-4-5-latest" or "claude-sonnet-4-5-20250929") */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Display name for UI (e.g., "Claude Sonnet 4.5") */
|
|
8
|
+
displayName: string;
|
|
9
|
+
/** Model family (e.g., "claude-4", "claude-3.5") */
|
|
10
|
+
family: string;
|
|
11
|
+
/** User-facing description */
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Available Claude model aliases (API-provided, auto-update to latest versions)
|
|
16
|
+
*
|
|
17
|
+
* Note: Anthropic's naming is inconsistent:
|
|
18
|
+
* - Newer models (Claude 4.x) use version-based aliases: claude-sonnet-4-5, claude-opus-4-1
|
|
19
|
+
* - Older models (Claude 3.x) use -latest suffix: claude-3-7-sonnet-latest
|
|
20
|
+
*/
|
|
21
|
+
declare const AVAILABLE_CLAUDE_MODEL_ALIASES: ClaudeModel[];
|
|
22
|
+
/**
|
|
23
|
+
* Default Claude model for new sessions (uses Sonnet 4.5 for best coding performance)
|
|
24
|
+
*/
|
|
25
|
+
declare const DEFAULT_CLAUDE_MODEL = "claude-sonnet-4-5";
|
|
26
|
+
|
|
27
|
+
export { AVAILABLE_CLAUDE_MODEL_ALIASES, type ClaudeModel, DEFAULT_CLAUDE_MODEL };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude model metadata for UI display and selection
|
|
3
|
+
*/
|
|
4
|
+
interface ClaudeModel {
|
|
5
|
+
/** Model ID or alias (e.g., "claude-sonnet-4-5-latest" or "claude-sonnet-4-5-20250929") */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Display name for UI (e.g., "Claude Sonnet 4.5") */
|
|
8
|
+
displayName: string;
|
|
9
|
+
/** Model family (e.g., "claude-4", "claude-3.5") */
|
|
10
|
+
family: string;
|
|
11
|
+
/** User-facing description */
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Available Claude model aliases (API-provided, auto-update to latest versions)
|
|
16
|
+
*
|
|
17
|
+
* Note: Anthropic's naming is inconsistent:
|
|
18
|
+
* - Newer models (Claude 4.x) use version-based aliases: claude-sonnet-4-5, claude-opus-4-1
|
|
19
|
+
* - Older models (Claude 3.x) use -latest suffix: claude-3-7-sonnet-latest
|
|
20
|
+
*/
|
|
21
|
+
declare const AVAILABLE_CLAUDE_MODEL_ALIASES: ClaudeModel[];
|
|
22
|
+
/**
|
|
23
|
+
* Default Claude model for new sessions (uses Sonnet 4.5 for best coding performance)
|
|
24
|
+
*/
|
|
25
|
+
declare const DEFAULT_CLAUDE_MODEL = "claude-sonnet-4-5";
|
|
26
|
+
|
|
27
|
+
export { AVAILABLE_CLAUDE_MODEL_ALIASES, type ClaudeModel, DEFAULT_CLAUDE_MODEL };
|