hammoc 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/package.json +2 -2
- package/packages/client/dist/assets/{agentExampleHighlight-ltj9ce0U.js → agentExampleHighlight-7Olvqdpf.js} +1 -1
- package/packages/client/dist/assets/{commandTokenHighlight-ji_ViMb4.js → commandTokenHighlight-DtKwh4lx.js} +1 -1
- package/packages/client/dist/assets/{index-BT4RIi0U.js → index-Bee52CKG.js} +556 -510
- package/packages/client/dist/assets/index-CVy582lU.css +32 -0
- package/packages/client/dist/assets/{index-B-DiRGuz.js → index-DLHBUw8c.js} +1 -1
- package/packages/client/dist/assets/{snippetTokenHighlight-CP3v4o2g.js → snippetTokenHighlight-C8O688f4.js} +1 -1
- package/packages/client/dist/index.html +2 -2
- package/packages/client/dist/sw.js +2 -2
- package/packages/server/dist/_dbg_agent_rows.d.ts +2 -0
- package/packages/server/dist/_dbg_agent_rows.d.ts.map +1 -0
- package/packages/server/dist/_dbg_agent_rows.js +60 -0
- package/packages/server/dist/_dbg_agent_rows.js.map +1 -0
- package/packages/server/dist/_dbg_flicker.d.ts +2 -0
- package/packages/server/dist/_dbg_flicker.d.ts.map +1 -0
- package/packages/server/dist/_dbg_flicker.js +38 -0
- package/packages/server/dist/_dbg_flicker.js.map +1 -0
- package/packages/server/dist/_harness_cli.d.ts +2 -0
- package/packages/server/dist/_harness_cli.d.ts.map +1 -0
- package/packages/server/dist/_harness_cli.js +81 -0
- package/packages/server/dist/_harness_cli.js.map +1 -0
- package/packages/server/dist/_harness_provcard.d.ts +2 -0
- package/packages/server/dist/_harness_provcard.d.ts.map +1 -0
- package/packages/server/dist/_harness_provcard.js +67 -0
- package/packages/server/dist/_harness_provcard.js.map +1 -0
- package/packages/server/dist/_replay_dump.d.ts +2 -0
- package/packages/server/dist/_replay_dump.d.ts.map +1 -0
- package/packages/server/dist/_replay_dump.js +62 -0
- package/packages/server/dist/_replay_dump.js.map +1 -0
- package/packages/server/dist/app.d.ts.map +1 -1
- package/packages/server/dist/app.js +6 -0
- package/packages/server/dist/app.js.map +1 -1
- package/packages/server/dist/config/index.d.ts.map +1 -1
- package/packages/server/dist/config/index.js.map +1 -1
- package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
- package/packages/server/dist/controllers/projectController.js +7 -1
- package/packages/server/dist/controllers/projectController.js.map +1 -1
- package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
- package/packages/server/dist/controllers/sessionController.js +16 -4
- package/packages/server/dist/controllers/sessionController.js.map +1 -1
- package/packages/server/dist/controllers/systemBrowseController.d.ts +33 -0
- package/packages/server/dist/controllers/systemBrowseController.d.ts.map +1 -0
- package/packages/server/dist/controllers/systemBrowseController.js +105 -0
- package/packages/server/dist/controllers/systemBrowseController.js.map +1 -0
- package/packages/server/dist/handlers/streamCallbacks.d.ts +2 -0
- package/packages/server/dist/handlers/streamCallbacks.d.ts.map +1 -1
- package/packages/server/dist/handlers/streamCallbacks.js +17 -4
- package/packages/server/dist/handlers/streamCallbacks.js.map +1 -1
- package/packages/server/dist/handlers/websocket.d.ts +43 -3
- package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
- package/packages/server/dist/handlers/websocket.js +362 -92
- package/packages/server/dist/handlers/websocket.js.map +1 -1
- package/packages/server/dist/index.js +2 -0
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/locales/en/server.json +17 -0
- package/packages/server/dist/locales/es/server.json +17 -0
- package/packages/server/dist/locales/ja/server.json +17 -0
- package/packages/server/dist/locales/ko/server.json +17 -0
- package/packages/server/dist/locales/pt/server.json +17 -0
- package/packages/server/dist/locales/zh-CN/server.json +17 -0
- package/packages/server/dist/routes/preferences.d.ts.map +1 -1
- package/packages/server/dist/routes/preferences.js +12 -2
- package/packages/server/dist/routes/preferences.js.map +1 -1
- package/packages/server/dist/routes/systemBrowse.d.ts +17 -0
- package/packages/server/dist/routes/systemBrowse.d.ts.map +1 -0
- package/packages/server/dist/routes/systemBrowse.js +22 -0
- package/packages/server/dist/routes/systemBrowse.js.map +1 -0
- package/packages/server/dist/services/bmadStatusService.d.ts.map +1 -1
- package/packages/server/dist/services/bmadStatusService.js +18 -7
- package/packages/server/dist/services/bmadStatusService.js.map +1 -1
- package/packages/server/dist/services/chatEngine.d.ts +81 -0
- package/packages/server/dist/services/chatEngine.d.ts.map +1 -0
- package/packages/server/dist/services/chatEngine.js +2 -0
- package/packages/server/dist/services/chatEngine.js.map +1 -0
- package/packages/server/dist/services/chatEngineFactory.d.ts +15 -0
- package/packages/server/dist/services/chatEngineFactory.d.ts.map +1 -0
- package/packages/server/dist/services/chatEngineFactory.js +28 -0
- package/packages/server/dist/services/chatEngineFactory.js.map +1 -0
- package/packages/server/dist/services/chatService.d.ts +34 -26
- package/packages/server/dist/services/chatService.d.ts.map +1 -1
- package/packages/server/dist/services/chatService.js +43 -103
- package/packages/server/dist/services/chatService.js.map +1 -1
- package/packages/server/dist/services/cliChatEngine.d.ts +198 -0
- package/packages/server/dist/services/cliChatEngine.d.ts.map +1 -0
- package/packages/server/dist/services/cliChatEngine.js +2977 -0
- package/packages/server/dist/services/cliChatEngine.js.map +1 -0
- package/packages/server/dist/services/cliGridCards.d.ts +87 -0
- package/packages/server/dist/services/cliGridCards.d.ts.map +1 -0
- package/packages/server/dist/services/cliGridCards.js +298 -0
- package/packages/server/dist/services/cliGridCards.js.map +1 -0
- package/packages/server/dist/services/cliGridRegion.d.ts +44 -0
- package/packages/server/dist/services/cliGridRegion.d.ts.map +1 -0
- package/packages/server/dist/services/cliGridRegion.js +94 -0
- package/packages/server/dist/services/cliGridRegion.js.map +1 -0
- package/packages/server/dist/services/cliModalDetect.d.ts +299 -0
- package/packages/server/dist/services/cliModalDetect.d.ts.map +1 -0
- package/packages/server/dist/services/cliModalDetect.js +583 -0
- package/packages/server/dist/services/cliModalDetect.js.map +1 -0
- package/packages/server/dist/services/cliScreenCache.d.ts +33 -0
- package/packages/server/dist/services/cliScreenCache.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenCache.js +48 -0
- package/packages/server/dist/services/cliScreenCache.js.map +1 -0
- package/packages/server/dist/services/cliScreenModel.d.ts +141 -0
- package/packages/server/dist/services/cliScreenModel.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenModel.js +196 -0
- package/packages/server/dist/services/cliScreenModel.js.map +1 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.d.ts +41 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.js +45 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.js.map +1 -0
- package/packages/server/dist/services/cliSessionPool.d.ts +97 -0
- package/packages/server/dist/services/cliSessionPool.d.ts.map +1 -0
- package/packages/server/dist/services/cliSessionPool.js +278 -0
- package/packages/server/dist/services/cliSessionPool.js.map +1 -0
- package/packages/server/dist/services/cliSpinnerProgress.d.ts +41 -0
- package/packages/server/dist/services/cliSpinnerProgress.d.ts.map +1 -0
- package/packages/server/dist/services/cliSpinnerProgress.js +131 -0
- package/packages/server/dist/services/cliSpinnerProgress.js.map +1 -0
- package/packages/server/dist/services/fileRewind.d.ts +46 -0
- package/packages/server/dist/services/fileRewind.d.ts.map +1 -0
- package/packages/server/dist/services/fileRewind.js +77 -0
- package/packages/server/dist/services/fileRewind.js.map +1 -0
- package/packages/server/dist/services/historyParser.d.ts +11 -0
- package/packages/server/dist/services/historyParser.d.ts.map +1 -1
- package/packages/server/dist/services/historyParser.js +10 -8
- package/packages/server/dist/services/historyParser.js.map +1 -1
- package/packages/server/dist/services/imageStorageService.d.ts +12 -0
- package/packages/server/dist/services/imageStorageService.d.ts.map +1 -1
- package/packages/server/dist/services/imageStorageService.js +22 -0
- package/packages/server/dist/services/imageStorageService.js.map +1 -1
- package/packages/server/dist/services/projectService.d.ts +13 -1
- package/packages/server/dist/services/projectService.d.ts.map +1 -1
- package/packages/server/dist/services/projectService.js +32 -0
- package/packages/server/dist/services/projectService.js.map +1 -1
- package/packages/server/dist/services/queueService.d.ts.map +1 -1
- package/packages/server/dist/services/queueService.js +9 -3
- package/packages/server/dist/services/queueService.js.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.d.ts +15 -0
- package/packages/server/dist/services/rateLimitProbeService.d.ts.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.js +48 -19
- package/packages/server/dist/services/rateLimitProbeService.js.map +1 -1
- package/packages/server/dist/services/streamHandler.d.ts +8 -1
- package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
- package/packages/server/dist/services/streamHandler.js +12 -5
- package/packages/server/dist/services/streamHandler.js.map +1 -1
- package/packages/server/dist/services/systemBrowseService.d.ts +91 -0
- package/packages/server/dist/services/systemBrowseService.d.ts.map +1 -0
- package/packages/server/dist/services/systemBrowseService.js +372 -0
- package/packages/server/dist/services/systemBrowseService.js.map +1 -0
- package/packages/server/dist/services/workspaceContext.d.ts +24 -0
- package/packages/server/dist/services/workspaceContext.d.ts.map +1 -0
- package/packages/server/dist/services/workspaceContext.js +109 -0
- package/packages/server/dist/services/workspaceContext.js.map +1 -0
- package/packages/server/dist/snippets/qa-review +2 -0
- package/packages/server/dist/utils/backgroundBlock.d.ts +29 -0
- package/packages/server/dist/utils/backgroundBlock.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundBlock.js +33 -0
- package/packages/server/dist/utils/backgroundBlock.js.map +1 -0
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts +20 -0
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundTaskTracker.js +40 -0
- package/packages/server/dist/utils/backgroundTaskTracker.js.map +1 -0
- package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts +7 -0
- package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts.map +1 -1
- package/packages/server/dist/utils/bundledBinaryModelSupport.js +9 -4
- package/packages/server/dist/utils/bundledBinaryModelSupport.js.map +1 -1
- package/packages/server/dist/utils/cliDebugLog.d.ts +38 -0
- package/packages/server/dist/utils/cliDebugLog.d.ts.map +1 -0
- package/packages/server/dist/utils/cliDebugLog.js +65 -0
- package/packages/server/dist/utils/cliDebugLog.js.map +1 -0
- package/packages/server/dist/utils/cliEngineUtils.d.ts +35 -0
- package/packages/server/dist/utils/cliEngineUtils.d.ts.map +1 -0
- package/packages/server/dist/utils/cliEngineUtils.js +38 -0
- package/packages/server/dist/utils/cliEngineUtils.js.map +1 -0
- package/packages/server/dist/utils/effortUtils.d.ts.map +1 -1
- package/packages/server/dist/utils/effortUtils.js +5 -3
- package/packages/server/dist/utils/effortUtils.js.map +1 -1
- package/packages/server/dist/utils/trailingThrottle.d.ts +21 -0
- package/packages/server/dist/utils/trailingThrottle.d.ts.map +1 -0
- package/packages/server/dist/utils/trailingThrottle.js +36 -0
- package/packages/server/dist/utils/trailingThrottle.js.map +1 -0
- package/packages/server/package.json +61 -59
- package/packages/server/resources/internals/image-storage.md +9 -0
- package/packages/server/resources/manual/02-chat.md +22 -3
- package/packages/server/resources/manual/03-sessions.md +1 -0
- package/packages/server/resources/manual/05-projects.md +12 -1
- package/packages/server/resources/manual/11-bmad-method-integration.md +2 -0
- package/packages/server/resources/manual/13-settings.md +57 -5
- package/packages/shared/dist/index.d.ts +3 -0
- package/packages/shared/dist/index.d.ts.map +1 -1
- package/packages/shared/dist/index.js +6 -0
- package/packages/shared/dist/index.js.map +1 -1
- package/packages/shared/dist/types/bmadStatus.d.ts +16 -0
- package/packages/shared/dist/types/bmadStatus.d.ts.map +1 -1
- package/packages/shared/dist/types/bmadStatus.js.map +1 -1
- package/packages/shared/dist/types/preferences.d.ts +14 -2
- package/packages/shared/dist/types/preferences.d.ts.map +1 -1
- package/packages/shared/dist/types/preferences.js +1 -0
- package/packages/shared/dist/types/preferences.js.map +1 -1
- package/packages/shared/dist/types/project.d.ts +7 -1
- package/packages/shared/dist/types/project.d.ts.map +1 -1
- package/packages/shared/dist/types/project.js.map +1 -1
- package/packages/shared/dist/types/sdk.d.ts +123 -11
- package/packages/shared/dist/types/sdk.d.ts.map +1 -1
- package/packages/shared/dist/types/sdk.js +64 -19
- package/packages/shared/dist/types/sdk.js.map +1 -1
- package/packages/shared/dist/types/streaming.d.ts +2 -2
- package/packages/shared/dist/types/streaming.d.ts.map +1 -1
- package/packages/shared/dist/types/streaming.js.map +1 -1
- package/packages/shared/dist/types/systemBrowse.d.ts +120 -0
- package/packages/shared/dist/types/systemBrowse.d.ts.map +1 -0
- package/packages/shared/dist/types/systemBrowse.js +57 -0
- package/packages/shared/dist/types/systemBrowse.js.map +1 -0
- package/packages/shared/dist/types/websocket.d.ts +38 -0
- package/packages/shared/dist/types/websocket.d.ts.map +1 -1
- package/packages/shared/dist/utils/interruptFiller.d.ts +30 -0
- package/packages/shared/dist/utils/interruptFiller.d.ts.map +1 -0
- package/packages/shared/dist/utils/interruptFiller.js +38 -0
- package/packages/shared/dist/utils/interruptFiller.js.map +1 -0
- package/packages/shared/dist/utils/toolResultContent.d.ts +22 -0
- package/packages/shared/dist/utils/toolResultContent.d.ts.map +1 -0
- package/packages/shared/dist/utils/toolResultContent.js +29 -0
- package/packages/shared/dist/utils/toolResultContent.js.map +1 -0
- package/scripts/run-integration-test.mjs +362 -362
- package/packages/client/dist/assets/index-DyNJ5jEW.css +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0EH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,GAAG;KAChB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,GAAG,EAAE,4BAA4B;KAC9C;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,mBAAmB;QAC5B,UAAU,EAAE,GAAG;KAChB;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,GAAG;KAChB;IACD,2CAA2C;IAC3C,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,GAAG;KAChB;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,GAAG;KAChB;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,mBAAmB;QAC5B,UAAU,EAAE,GAAG;KAChB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,GAAG;KAChB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,+CAA+C;QACxD,UAAU,EAAE,GAAG;KAChB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,GAAG;KAChB;CACO,CAAC"}
|
|
@@ -11,6 +11,40 @@ export interface ChatServiceConfig {
|
|
|
11
11
|
workingDirectory?: string;
|
|
12
12
|
/** Permission mode for tool usage */
|
|
13
13
|
permissionMode?: PermissionMode;
|
|
14
|
+
/**
|
|
15
|
+
* Epic 33 (CLI mode): manual override for the `claude` binary path. Only the CLI
|
|
16
|
+
* engine consumes it (passed through to the spawn → binary resolver). An empty
|
|
17
|
+
* string or `undefined` means auto-detect. The SDK engine ignores this field.
|
|
18
|
+
*/
|
|
19
|
+
cliBinaryPath?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Epic 33 (CLI mode): when true (default), request Claude's thinking summaries by
|
|
22
|
+
* injecting `--settings '{"showThinkingSummaries":true}'` into the interactive spawn.
|
|
23
|
+
* Session-scoped — it never modifies the global ~/.claude/settings.json. The SDK engine
|
|
24
|
+
* ignores this field (it sets `thinking.display` on the query directly instead).
|
|
25
|
+
*/
|
|
26
|
+
cliShowThinkingSummaries?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Epic 37.6 follow-up (CLI mode): auto-pick for claude's resume confirm menu shown when
|
|
29
|
+
* resuming a large/old session ("Resume from summary" vs "Resume full session as-is").
|
|
30
|
+
* 'ask' (default) routes the menu to the web card for the user to choose; 'summary'/'full'
|
|
31
|
+
* auto-selects that option via the menu keys so the turn never blocks. SDK engine ignores it.
|
|
32
|
+
*/
|
|
33
|
+
cliResumeChoice?: 'ask' | 'summary' | 'full';
|
|
34
|
+
/**
|
|
35
|
+
* Auto-compaction master switch — consumed by BOTH engines (unlike the cli* fields above).
|
|
36
|
+
* Default true. When false, the engine is told not to auto-compact when the context fills:
|
|
37
|
+
* the SDK engine passes `settings.autoCompactEnabled: false` on the query and the CLI engine
|
|
38
|
+
* injects the same key into its `--settings` blob (the shared bundled engine honors it).
|
|
39
|
+
* Mirrors the `autoCompactEnabled` user preference.
|
|
40
|
+
*/
|
|
41
|
+
autoCompactEnabled?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* What to do when EnterPlanMode runs while the permission button is Bypass (CLI mode).
|
|
44
|
+
* - 'override' (default): force CLI back to Bypass so no permission prompts appear.
|
|
45
|
+
* - 'sync': let CLI stay in Plan and sync the Hammoc button to Plan.
|
|
46
|
+
*/
|
|
47
|
+
planModeBypassBehavior?: 'override' | 'sync';
|
|
14
48
|
}
|
|
15
49
|
/**
|
|
16
50
|
* Options for sending a chat message
|
|
@@ -58,6 +92,16 @@ export interface ChatOptions {
|
|
|
58
92
|
enableFileCheckpointing?: boolean;
|
|
59
93
|
/** User message UUID for rewindFiles call on server (restores files to that point) */
|
|
60
94
|
rewindToMessageUuid?: string;
|
|
95
|
+
/**
|
|
96
|
+
* CLI engine only: absolute filesystem paths of image attachments already saved
|
|
97
|
+
* to disk. The interactive PTY text channel cannot carry binary image data the way
|
|
98
|
+
* SDK mode's base64 content blocks do, so the CLI engine passes attachments *by
|
|
99
|
+
* reference*: it grants read access to these files via `--add-dir` and appends an
|
|
100
|
+
* explicit "read these files" instruction to the injected prompt, letting the model
|
|
101
|
+
* open them with its Read tool. The SDK engine ignores this field (it embeds the
|
|
102
|
+
* `images` base64 blocks directly).
|
|
103
|
+
*/
|
|
104
|
+
attachedImagePaths?: string[];
|
|
61
105
|
}
|
|
62
106
|
/**
|
|
63
107
|
* Response from a chat message
|
|
@@ -90,6 +134,11 @@ interface RateLimitWindow {
|
|
|
90
134
|
export interface SubscriptionRateLimit {
|
|
91
135
|
fiveHour?: RateLimitWindow;
|
|
92
136
|
sevenDay?: RateLimitWindow;
|
|
137
|
+
/** Weekly window scoped to Opus models — Max plans enforce a separate Opus weekly cap
|
|
138
|
+
* that the general `sevenDay` window does NOT reflect (it can be null when not applicable). */
|
|
139
|
+
sevenDayOpus?: RateLimitWindow;
|
|
140
|
+
/** Weekly window scoped to Sonnet models (separate from the general weekly cap). */
|
|
141
|
+
sevenDaySonnet?: RateLimitWindow;
|
|
93
142
|
overallStatus?: string;
|
|
94
143
|
}
|
|
95
144
|
/**
|
|
@@ -134,22 +183,44 @@ export declare const CONTEXT_TOKEN_RESERVES: {
|
|
|
134
183
|
readonly OUTPUT_TOKEN_RESERVE: 20000;
|
|
135
184
|
readonly SAFETY_BUFFER: 13000;
|
|
136
185
|
};
|
|
186
|
+
/** True when the model id already carries the `[1m]` opt-in suffix. */
|
|
187
|
+
export declare function hasNative1MSuffix(model?: string): boolean;
|
|
188
|
+
/** Strip a trailing `[1m]` opt-in suffix, returning the bare model id. */
|
|
189
|
+
export declare function stripNative1MSuffix(model: string): string;
|
|
137
190
|
/**
|
|
138
|
-
* True when the model is known to natively support a 1M token context window
|
|
191
|
+
* True when the model is known to natively support a 1M token context window
|
|
192
|
+
* (capability check — includes Sonnet). Use to decide whether to offer 1M at all.
|
|
139
193
|
*/
|
|
140
194
|
export declare function isNative1MModel(model?: string): boolean;
|
|
141
195
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* auto-compact logic caps the effective window at ~200K regardless of the
|
|
145
|
-
* model's real capacity or the `autoCompactWindow` setting.
|
|
196
|
+
* True when the model auto-upgrades to 1M for free on a Max subscription (Opus
|
|
197
|
+
* family only). Sonnet returns false — its 1M is a paid opt-in.
|
|
146
198
|
*/
|
|
147
|
-
export declare function
|
|
199
|
+
export declare function isAutoNative1MModel(model?: string): boolean;
|
|
148
200
|
/**
|
|
149
|
-
*
|
|
150
|
-
*
|
|
201
|
+
* Resolve the model id actually sent to an engine, applying the `[1m]` suffix
|
|
202
|
+
* that opts into the native 1M context window. Without the suffix the SDK's
|
|
203
|
+
* internal auto-compact logic caps the effective window at ~200K.
|
|
204
|
+
*
|
|
205
|
+
* - Already suffixed (explicit opt-in): kept as-is, for any 1M-capable model.
|
|
206
|
+
* - Opus family: auto-upgraded to 1M (free on Max).
|
|
207
|
+
* - Sonnet / non-1M without opt-in: left bare (200K) — forcing Sonnet to 1M would
|
|
208
|
+
* otherwise trigger a "usage credits required" gate for subscription users.
|
|
209
|
+
*
|
|
210
|
+
* This is the single source of truth for the suffix and must be called at the
|
|
211
|
+
* engine boundary only; everywhere else the model id stays bare.
|
|
151
212
|
*/
|
|
152
|
-
export declare function
|
|
213
|
+
export declare function resolveEffectiveModel(model?: string): string | undefined;
|
|
214
|
+
/** True when the effective sent model runs at 1M (opt-in suffix or Opus auto). */
|
|
215
|
+
export declare function effectiveModelIs1M(model?: string): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* Correct the SDK-reported contextWindow. The SDK under-reports 1M models as
|
|
218
|
+
* 200K, so when the request actually ran at 1M (`is1M`) bump the floor to 1M.
|
|
219
|
+
* When it didn't (e.g. Sonnet at its 200K default) trust the report, keeping the
|
|
220
|
+
* usage meter honest. `is1M` must be derived from the *effective sent* model
|
|
221
|
+
* (see {@link effectiveModelIs1M}), not the SDK-reported usage key which is bare.
|
|
222
|
+
*/
|
|
223
|
+
export declare function correctContextWindow(reported: number, is1M: boolean): number;
|
|
153
224
|
/**
|
|
154
225
|
* Calculate effective context limit (usable input tokens after reserves)
|
|
155
226
|
*/
|
|
@@ -170,9 +241,27 @@ export declare const IMAGE_TOKEN_ESTIMATE = 1600;
|
|
|
170
241
|
*/
|
|
171
242
|
export type ThinkingEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
172
243
|
/**
|
|
173
|
-
* Permission modes for tool usage
|
|
244
|
+
* Permission modes for tool usage. Mirrors claude's `--permission-mode` choices
|
|
245
|
+
* (acceptEdits, auto, bypassPermissions, default, dontAsk, plan).
|
|
246
|
+
*
|
|
247
|
+
* `auto` is claude's classifier-driven mode (screen label "auto mode on"), DISTINCT from
|
|
248
|
+
* `acceptEdits` ("accept edits on"). It is surfaced only by the CLI engine's permission
|
|
249
|
+
* selector; the SDK selector keeps the abstract Plan/Ask/Auto(=acceptEdits)/Bypass set.
|
|
250
|
+
*/
|
|
251
|
+
export type PermissionMode = 'default' | 'acceptEdits' | 'auto' | 'bypassPermissions' | 'plan' | 'dontAsk';
|
|
252
|
+
/**
|
|
253
|
+
* Conversation engine implementation behind the ChatEngine seam (Epic 32).
|
|
254
|
+
* `'sdk'` = Claude Agent SDK engine (current default). `'cli'` = Claude Code CLI
|
|
255
|
+
* (PTY + session JSONL) engine, introduced in a follow-up story. Defined in shared
|
|
256
|
+
* so the Epic 33 settings schema can reference it; the ChatEngine interface itself
|
|
257
|
+
* lives server-side (it depends on the SDK `CanUseTool` type).
|
|
258
|
+
*/
|
|
259
|
+
export type EngineMode = 'sdk' | 'cli';
|
|
260
|
+
/**
|
|
261
|
+
* Default conversation engine. Until Epic 33 wires mode selection into settings,
|
|
262
|
+
* every conversation path passes this constant to the engine factory.
|
|
174
263
|
*/
|
|
175
|
-
export
|
|
264
|
+
export declare const DEFAULT_ENGINE_MODE: EngineMode;
|
|
176
265
|
/**
|
|
177
266
|
* Claude Code authenticated account information.
|
|
178
267
|
* Mirrors the SDK's AccountInfo type from the control-initialize response.
|
|
@@ -201,6 +290,14 @@ export interface StreamChunk {
|
|
|
201
290
|
messageId: string;
|
|
202
291
|
content: string;
|
|
203
292
|
done: boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Story 37.11 (AC4): true when this chunk is a PROVISIONAL screen-scrape (CLI grid card),
|
|
295
|
+
* not yet replaced by the file-parsed authoritative copy. The client renders provisional
|
|
296
|
+
* cards with a reduced opacity + a `live` text badge (color-independent a11y affordance) and
|
|
297
|
+
* clears the distinction on the turn-end authoritative reload. Additive/optional — unset
|
|
298
|
+
* (SDK mode, file-drain, reload) keeps the pre-37.11 behavior (authoritative render).
|
|
299
|
+
*/
|
|
300
|
+
provisional?: boolean;
|
|
204
301
|
}
|
|
205
302
|
/**
|
|
206
303
|
* Tool call information
|
|
@@ -211,6 +308,14 @@ export interface ToolCall {
|
|
|
211
308
|
input: Record<string, unknown>;
|
|
212
309
|
/** Server timestamp (ms) for timer preservation on reconnect */
|
|
213
310
|
startedAt?: number;
|
|
311
|
+
/**
|
|
312
|
+
* Story 37.11 (AC4): true when this tool card is a PROVISIONAL screen-scrape (CLI grid).
|
|
313
|
+
* A provisional tool card carries an EMPTY `input` (the screen truncates the tool input —
|
|
314
|
+
* the authoritative reload supplies it), so it is the most visibly "not-yet-final" card —
|
|
315
|
+
* the client renders it dimmed + `live`-badged until the reload replaces it. Additive/
|
|
316
|
+
* optional — unset (SDK mode, file-drain, reload) keeps the authoritative render.
|
|
317
|
+
*/
|
|
318
|
+
provisional?: boolean;
|
|
214
319
|
}
|
|
215
320
|
/**
|
|
216
321
|
* Permission request for tool approval
|
|
@@ -220,6 +325,13 @@ export interface PermissionRequest {
|
|
|
220
325
|
sessionId: string;
|
|
221
326
|
toolCall: ToolCall;
|
|
222
327
|
requiresApproval: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* When true, the client renders this permission as an INDEPENDENT card (like an
|
|
330
|
+
* AskUserQuestion card) instead of attaching it to a preceding tool segment. Set by
|
|
331
|
+
* the CLI engine path, which emits no `tool:call` event, so there is no tool card to
|
|
332
|
+
* attach to. SDK mode leaves this unset (falsy) and keeps the tool-attached behavior.
|
|
333
|
+
*/
|
|
334
|
+
standalone?: boolean;
|
|
223
335
|
}
|
|
224
336
|
/**
|
|
225
337
|
* Message in a chat session
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,42 +20,82 @@ export const CONTEXT_TOKEN_RESERVES = {
|
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* Models whose native context window is 1M but SDK may under-report as 200K.
|
|
23
|
+
* Capability gate — includes Sonnet 4.6 and Fable 5, which *can* run at 1M but
|
|
24
|
+
* only as a paid usage-credit opt-in (not part of the subscription). Use this to
|
|
25
|
+
* decide whether to offer a 1M control for a model at all.
|
|
23
26
|
* See: https://github.com/anthropics/claude-code/issues/24208
|
|
24
27
|
*/
|
|
25
|
-
const NATIVE_1M_MODELS = ['claude-opus-4-8', 'claude-opus-4-7', 'claude-opus-4-6', 'claude-sonnet-4-6', 'opus', 'sonnet'];
|
|
28
|
+
const NATIVE_1M_MODELS = ['claude-opus-4-8', 'claude-opus-4-7', 'claude-opus-4-6', 'claude-sonnet-4-6', 'claude-fable-5', 'opus', 'sonnet'];
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
30
|
+
* Models that auto-upgrade to 1M context for free on a Max subscription (Opus
|
|
31
|
+
* family). Sonnet is deliberately excluded: its 1M window bills to usage credits,
|
|
32
|
+
* so it must be an explicit opt-in rather than a silent default — otherwise
|
|
33
|
+
* selecting Sonnet trips a "usage credits required for 1M context" gate.
|
|
34
|
+
*/
|
|
35
|
+
const AUTO_NATIVE_1M_MODELS = ['claude-opus-4-8', 'claude-opus-4-7', 'claude-opus-4-6', 'opus'];
|
|
36
|
+
/** True when the model id already carries the `[1m]` opt-in suffix. */
|
|
37
|
+
export function hasNative1MSuffix(model) {
|
|
38
|
+
return !!model && /\[1m\]$/i.test(model);
|
|
39
|
+
}
|
|
40
|
+
/** Strip a trailing `[1m]` opt-in suffix, returning the bare model id. */
|
|
41
|
+
export function stripNative1MSuffix(model) {
|
|
42
|
+
return model.replace(/\[1m\]$/i, '');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* True when the model is known to natively support a 1M token context window
|
|
46
|
+
* (capability check — includes Sonnet). Use to decide whether to offer 1M at all.
|
|
28
47
|
*/
|
|
29
48
|
export function isNative1MModel(model) {
|
|
30
49
|
if (!model)
|
|
31
50
|
return false;
|
|
32
|
-
const base = model
|
|
51
|
+
const base = stripNative1MSuffix(model);
|
|
33
52
|
return NATIVE_1M_MODELS.some(m => base === m || base.startsWith(`${m}-`));
|
|
34
53
|
}
|
|
35
54
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* auto-compact logic caps the effective window at ~200K regardless of the
|
|
39
|
-
* model's real capacity or the `autoCompactWindow` setting.
|
|
55
|
+
* True when the model auto-upgrades to 1M for free on a Max subscription (Opus
|
|
56
|
+
* family only). Sonnet returns false — its 1M is a paid opt-in.
|
|
40
57
|
*/
|
|
41
|
-
export function
|
|
58
|
+
export function isAutoNative1MModel(model) {
|
|
59
|
+
if (!model)
|
|
60
|
+
return false;
|
|
61
|
+
const base = stripNative1MSuffix(model);
|
|
62
|
+
return AUTO_NATIVE_1M_MODELS.some(m => base === m || base.startsWith(`${m}-`));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve the model id actually sent to an engine, applying the `[1m]` suffix
|
|
66
|
+
* that opts into the native 1M context window. Without the suffix the SDK's
|
|
67
|
+
* internal auto-compact logic caps the effective window at ~200K.
|
|
68
|
+
*
|
|
69
|
+
* - Already suffixed (explicit opt-in): kept as-is, for any 1M-capable model.
|
|
70
|
+
* - Opus family: auto-upgraded to 1M (free on Max).
|
|
71
|
+
* - Sonnet / non-1M without opt-in: left bare (200K) — forcing Sonnet to 1M would
|
|
72
|
+
* otherwise trigger a "usage credits required" gate for subscription users.
|
|
73
|
+
*
|
|
74
|
+
* This is the single source of truth for the suffix and must be called at the
|
|
75
|
+
* engine boundary only; everywhere else the model id stays bare.
|
|
76
|
+
*/
|
|
77
|
+
export function resolveEffectiveModel(model) {
|
|
42
78
|
if (!model)
|
|
43
79
|
return model;
|
|
44
|
-
if (
|
|
45
|
-
return model;
|
|
46
|
-
if (!isNative1MModel(model))
|
|
80
|
+
if (hasNative1MSuffix(model))
|
|
47
81
|
return model;
|
|
48
|
-
|
|
82
|
+
if (isAutoNative1MModel(model))
|
|
83
|
+
return `${model}[1m]`;
|
|
84
|
+
return model;
|
|
85
|
+
}
|
|
86
|
+
/** True when the effective sent model runs at 1M (opt-in suffix or Opus auto). */
|
|
87
|
+
export function effectiveModelIs1M(model) {
|
|
88
|
+
return hasNative1MSuffix(model) || isAutoNative1MModel(model);
|
|
49
89
|
}
|
|
50
90
|
/**
|
|
51
|
-
* Correct SDK-reported contextWindow
|
|
52
|
-
*
|
|
91
|
+
* Correct the SDK-reported contextWindow. The SDK under-reports 1M models as
|
|
92
|
+
* 200K, so when the request actually ran at 1M (`is1M`) bump the floor to 1M.
|
|
93
|
+
* When it didn't (e.g. Sonnet at its 200K default) trust the report, keeping the
|
|
94
|
+
* usage meter honest. `is1M` must be derived from the *effective sent* model
|
|
95
|
+
* (see {@link effectiveModelIs1M}), not the SDK-reported usage key which is bare.
|
|
53
96
|
*/
|
|
54
|
-
export function correctContextWindow(reported,
|
|
55
|
-
|
|
56
|
-
return Math.max(reported, 1_000_000);
|
|
57
|
-
}
|
|
58
|
-
return reported;
|
|
97
|
+
export function correctContextWindow(reported, is1M) {
|
|
98
|
+
return is1M ? Math.max(reported, 1_000_000) : reported;
|
|
59
99
|
}
|
|
60
100
|
/**
|
|
61
101
|
* Calculate effective context limit (usable input tokens after reserves)
|
|
@@ -97,4 +137,9 @@ export function estimateTokenCount(text) {
|
|
|
97
137
|
}
|
|
98
138
|
/** Approximate token cost per image attachment (~1600 tokens for typical image) */
|
|
99
139
|
export const IMAGE_TOKEN_ESTIMATE = 1600;
|
|
140
|
+
/**
|
|
141
|
+
* Default conversation engine. Until Epic 33 wires mode selection into settings,
|
|
142
|
+
* every conversation path passes this constant to the engine factory.
|
|
143
|
+
*/
|
|
144
|
+
export const DEFAULT_ENGINE_MODE = 'sdk';
|
|
100
145
|
//# sourceMappingURL=sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -226,10 +226,10 @@ export interface StreamingState {
|
|
|
226
226
|
export interface StreamCallbacks {
|
|
227
227
|
onSessionInit?: (sessionId: string, metadata: SessionMetadata) => void;
|
|
228
228
|
onTextChunk?: (chunk: StreamChunk) => void;
|
|
229
|
-
onThinking?: (content: string) => void;
|
|
229
|
+
onThinking?: (content: string, provisional?: boolean) => void;
|
|
230
230
|
onToolUse?: (toolCall: TrackedToolCall) => void;
|
|
231
231
|
onToolInputUpdate?: (toolCallId: string, input: Record<string, unknown>) => void;
|
|
232
|
-
onToolResult?: (toolCallId: string, result: ToolResult) => void;
|
|
232
|
+
onToolResult?: (toolCallId: string, result: ToolResult, provisional?: boolean) => void;
|
|
233
233
|
onComplete?: (response: ChatResponse) => void;
|
|
234
234
|
onError?: (error: Error) => void;
|
|
235
235
|
onCompact?: (metadata: CompactMetadata) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,iCAAiC;AAEjC;;GAEG;AACH,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,yCAAuB,CAAA;IACvB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,uDAAqC,CAAA;AACvC,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,iCAAiC;AAEjC;;GAEG;AACH,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,yCAAuB,CAAA;IACvB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,uDAAqC,CAAA;AACvC,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAqRD;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Browse Types
|
|
3
|
+
* Types for the directory-only system browse API (Epic 34, Story 34.1).
|
|
4
|
+
*
|
|
5
|
+
* Unlike fileSystem.ts (which is project-scoped and uses RELATIVE paths under a
|
|
6
|
+
* project root), this API operates on ABSOLUTE paths across the whole host
|
|
7
|
+
* filesystem — it runs *before* a project is registered, so there is no project
|
|
8
|
+
* boundary. It exposes directory enumeration + drive-root listing + folder
|
|
9
|
+
* create/rename only. There is intentionally NO delete surface.
|
|
10
|
+
* [Source: docs/prd/epic-34-directory-browser.md#Story 34.1]
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Single directory entry in a browse listing.
|
|
14
|
+
* Files are never returned — only directories.
|
|
15
|
+
*/
|
|
16
|
+
export interface BrowseEntry {
|
|
17
|
+
/** Directory name (basename) */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Absolute path to the directory */
|
|
20
|
+
path: string;
|
|
21
|
+
/** Whether this directory has at least one child directory (tree-chevron signal) */
|
|
22
|
+
hasChildren: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Response for GET /api/system/browse
|
|
26
|
+
*/
|
|
27
|
+
export interface BrowseResponse {
|
|
28
|
+
/** Enumerated directory (absolute); null for the drive-roots view */
|
|
29
|
+
path: string | null;
|
|
30
|
+
/** Parent directory (absolute) for breadcrumb/up navigation; null at a filesystem root or the drive-roots view */
|
|
31
|
+
parent: string | null;
|
|
32
|
+
/** os.homedir() — always included so the client can "start expanded at home" */
|
|
33
|
+
home: string;
|
|
34
|
+
/** true = "My PC" (drive roots) view */
|
|
35
|
+
isDriveRoots: boolean;
|
|
36
|
+
/** Child directories only, sorted by name ascending */
|
|
37
|
+
entries: BrowseEntry[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Request body for POST /api/system/browse/mkdir
|
|
41
|
+
*/
|
|
42
|
+
export interface MkdirRequest {
|
|
43
|
+
/** Absolute path of the parent directory */
|
|
44
|
+
parentPath: string;
|
|
45
|
+
/** New folder name (single path segment, sanitized server-side) */
|
|
46
|
+
name: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Response for POST /api/system/browse/mkdir
|
|
50
|
+
*/
|
|
51
|
+
export interface MkdirResponse {
|
|
52
|
+
success: true;
|
|
53
|
+
/** Absolute path of the created directory */
|
|
54
|
+
path: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Request body for POST /api/system/browse/rename
|
|
58
|
+
*/
|
|
59
|
+
export interface RenameRequest {
|
|
60
|
+
/** Absolute path of the entry to rename */
|
|
61
|
+
path: string;
|
|
62
|
+
/** New name (single path segment, sanitized server-side) — rename stays within the same parent */
|
|
63
|
+
newName: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Response for POST /api/system/browse/rename
|
|
67
|
+
*/
|
|
68
|
+
export interface RenameResponse {
|
|
69
|
+
success: true;
|
|
70
|
+
/** Original absolute path */
|
|
71
|
+
oldPath: string;
|
|
72
|
+
/** New absolute path (same parent, renamed leaf) */
|
|
73
|
+
newPath: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* System Browse error codes and messages.
|
|
77
|
+
* Same shape as FILE_SYSTEM_ERRORS ({ code, message, httpStatus }) but kept as a
|
|
78
|
+
* dedicated constant so messages never carry project-root context. The `message`
|
|
79
|
+
* field is a developer-facing fallback only — the controller fills user-facing
|
|
80
|
+
* text from i18n (`systemBrowse.error.*`).
|
|
81
|
+
* [Source: packages/shared/src/types/fileSystem.ts:129-200]
|
|
82
|
+
*/
|
|
83
|
+
export declare const SYSTEM_BROWSE_ERRORS: {
|
|
84
|
+
readonly INVALID_PATH: {
|
|
85
|
+
readonly code: "INVALID_PATH";
|
|
86
|
+
readonly message: "Invalid path: must be a normalized absolute path without null bytes or UNC prefixes.";
|
|
87
|
+
readonly httpStatus: 400;
|
|
88
|
+
};
|
|
89
|
+
readonly NOT_FOUND: {
|
|
90
|
+
readonly code: "NOT_FOUND";
|
|
91
|
+
readonly message: "Path not found.";
|
|
92
|
+
readonly httpStatus: 404;
|
|
93
|
+
};
|
|
94
|
+
readonly NOT_A_DIRECTORY: {
|
|
95
|
+
readonly code: "NOT_A_DIRECTORY";
|
|
96
|
+
readonly message: "Path is not a directory.";
|
|
97
|
+
readonly httpStatus: 400;
|
|
98
|
+
};
|
|
99
|
+
readonly PERMISSION_DENIED: {
|
|
100
|
+
readonly code: "PERMISSION_DENIED";
|
|
101
|
+
readonly message: "Permission denied.";
|
|
102
|
+
readonly httpStatus: 403;
|
|
103
|
+
};
|
|
104
|
+
readonly ALREADY_EXISTS: {
|
|
105
|
+
readonly code: "ALREADY_EXISTS";
|
|
106
|
+
readonly message: "A file or directory with that name already exists.";
|
|
107
|
+
readonly httpStatus: 409;
|
|
108
|
+
};
|
|
109
|
+
readonly INVALID_NAME: {
|
|
110
|
+
readonly code: "INVALID_NAME";
|
|
111
|
+
readonly message: "Invalid name: contains path separators, reserved characters, or a reserved device name.";
|
|
112
|
+
readonly httpStatus: 400;
|
|
113
|
+
};
|
|
114
|
+
readonly BROWSE_ERROR: {
|
|
115
|
+
readonly code: "BROWSE_ERROR";
|
|
116
|
+
readonly message: "Filesystem browse error.";
|
|
117
|
+
readonly httpStatus: 500;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=systemBrowse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemBrowse.d.ts","sourceRoot":"","sources":["../../src/types/systemBrowse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,kHAAkH;IAClH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCvB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Browse Types
|
|
3
|
+
* Types for the directory-only system browse API (Epic 34, Story 34.1).
|
|
4
|
+
*
|
|
5
|
+
* Unlike fileSystem.ts (which is project-scoped and uses RELATIVE paths under a
|
|
6
|
+
* project root), this API operates on ABSOLUTE paths across the whole host
|
|
7
|
+
* filesystem — it runs *before* a project is registered, so there is no project
|
|
8
|
+
* boundary. It exposes directory enumeration + drive-root listing + folder
|
|
9
|
+
* create/rename only. There is intentionally NO delete surface.
|
|
10
|
+
* [Source: docs/prd/epic-34-directory-browser.md#Story 34.1]
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* System Browse error codes and messages.
|
|
14
|
+
* Same shape as FILE_SYSTEM_ERRORS ({ code, message, httpStatus }) but kept as a
|
|
15
|
+
* dedicated constant so messages never carry project-root context. The `message`
|
|
16
|
+
* field is a developer-facing fallback only — the controller fills user-facing
|
|
17
|
+
* text from i18n (`systemBrowse.error.*`).
|
|
18
|
+
* [Source: packages/shared/src/types/fileSystem.ts:129-200]
|
|
19
|
+
*/
|
|
20
|
+
export const SYSTEM_BROWSE_ERRORS = {
|
|
21
|
+
INVALID_PATH: {
|
|
22
|
+
code: 'INVALID_PATH',
|
|
23
|
+
message: 'Invalid path: must be a normalized absolute path without null bytes or UNC prefixes.',
|
|
24
|
+
httpStatus: 400,
|
|
25
|
+
},
|
|
26
|
+
NOT_FOUND: {
|
|
27
|
+
code: 'NOT_FOUND',
|
|
28
|
+
message: 'Path not found.',
|
|
29
|
+
httpStatus: 404,
|
|
30
|
+
},
|
|
31
|
+
NOT_A_DIRECTORY: {
|
|
32
|
+
code: 'NOT_A_DIRECTORY',
|
|
33
|
+
message: 'Path is not a directory.',
|
|
34
|
+
httpStatus: 400,
|
|
35
|
+
},
|
|
36
|
+
PERMISSION_DENIED: {
|
|
37
|
+
code: 'PERMISSION_DENIED',
|
|
38
|
+
message: 'Permission denied.',
|
|
39
|
+
httpStatus: 403,
|
|
40
|
+
},
|
|
41
|
+
ALREADY_EXISTS: {
|
|
42
|
+
code: 'ALREADY_EXISTS',
|
|
43
|
+
message: 'A file or directory with that name already exists.',
|
|
44
|
+
httpStatus: 409,
|
|
45
|
+
},
|
|
46
|
+
INVALID_NAME: {
|
|
47
|
+
code: 'INVALID_NAME',
|
|
48
|
+
message: 'Invalid name: contains path separators, reserved characters, or a reserved device name.',
|
|
49
|
+
httpStatus: 400,
|
|
50
|
+
},
|
|
51
|
+
BROWSE_ERROR: {
|
|
52
|
+
code: 'BROWSE_ERROR',
|
|
53
|
+
message: 'Filesystem browse error.',
|
|
54
|
+
httpStatus: 500,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=systemBrowse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemBrowse.js","sourceRoot":"","sources":["../../src/types/systemBrowse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,sFAAsF;QAC/F,UAAU,EAAE,GAAG;KAChB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,GAAG;KAChB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,GAAG;KAChB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,GAAG;KAChB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,GAAG;KAChB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,yFAAyF;QAClG,UAAU,EAAE,GAAG;KAChB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,GAAG;KAChB;CACO,CAAC"}
|