hammoc 1.8.4 → 1.9.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 +9 -6
- package/package.json +1 -1
- package/packages/client/dist/assets/MermaidViewer-B-LwclIl.js +7 -0
- package/packages/client/dist/assets/PdfViewer-C3Nymwn3.js +12 -0
- package/packages/client/dist/assets/PdfViewer-QCQEGvBO.css +1 -0
- package/packages/client/dist/assets/abnfDiagram-VRR7QNED-GfhY_hnV.js +1 -0
- package/packages/client/dist/assets/{agentExampleHighlight-Dws80em9.js → agentExampleHighlight-CyhVLy0_.js} +1 -1
- package/packages/client/dist/assets/arc-8nyjXGC3.js +1 -0
- package/packages/client/dist/assets/architectureDiagram-ZJ3FMSHR-B4onXLm4.js +36 -0
- package/packages/client/dist/assets/blockDiagram-677ZJIJ3-D0D6ncaN.js +132 -0
- package/packages/client/dist/assets/c4Diagram-LMCZKHZV-CE7Tip-_.js +10 -0
- package/packages/client/dist/assets/channel-CPjlbdOo.js +1 -0
- package/packages/client/dist/assets/chunk-2Q5K7J3B-4rW1da1Z.js +1 -0
- package/packages/client/dist/assets/chunk-32BRIVSS-JuzxS4QA.js +1 -0
- package/packages/client/dist/assets/chunk-5VM5RSS4-WRNf-xsi.js +15 -0
- package/packages/client/dist/assets/chunk-EX3LRPZG-BDWPlBKO.js +231 -0
- package/packages/client/dist/assets/chunk-JWPE2WC7-B8nCyQAc.js +1 -0
- package/packages/client/dist/assets/chunk-MOJQB5TN-7c-yriHe.js +88 -0
- package/packages/client/dist/assets/chunk-RYQCIY6F-LTDywRs7.js +1 -0
- package/packages/client/dist/assets/chunk-V7JOEXUC-DjVgQpjl.js +206 -0
- package/packages/client/dist/assets/chunk-VR4S4FIN-7jDdkUpx.js +1 -0
- package/packages/client/dist/assets/chunk-XXDRQBXY-ENKV2O8a.js +1 -0
- package/packages/client/dist/assets/classDiagram-OUVF2IWQ-C0PbC7Pi.js +1 -0
- package/packages/client/dist/assets/classDiagram-v2-EOCWNBFH-C0PbC7Pi.js +1 -0
- package/packages/client/dist/assets/{commandTokenHighlight-aR071CNy.js → commandTokenHighlight-DGP0RKx0.js} +1 -1
- package/packages/client/dist/assets/cose-bilkent-JH36ORCC-CQTNdQ-g.js +1 -0
- package/packages/client/dist/assets/cynefin-VYW2F7L2-BYlAJRcO.js +178 -0
- package/packages/client/dist/assets/cynefinDiagram-TSTJHNR4-7zyUTflT.js +62 -0
- package/packages/client/dist/assets/cytoscape.esm-DTSO7Bv0.js +331 -0
- package/packages/client/dist/assets/dagre-VKFMJZFB-DyZir42W.js +4 -0
- package/packages/client/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/packages/client/dist/assets/diagram-FQU43EPY-CmNAU8Nw.js +3 -0
- package/packages/client/dist/assets/diagram-G47NLZAW-B0EIk03o.js +24 -0
- package/packages/client/dist/assets/diagram-NH7WQ7WH-Dulv0f1N.js +24 -0
- package/packages/client/dist/assets/diagram-OA4YK3LP-DEEcMLgi.js +30 -0
- package/packages/client/dist/assets/diagram-WEI45ONY-ZYebAZ93.js +41 -0
- package/packages/client/dist/assets/ebnfDiagram-CCIWWBDH-DCHpt3qn.js +1 -0
- package/packages/client/dist/assets/erDiagram-Q63AITRT-B6T87-48.js +85 -0
- package/packages/client/dist/assets/flowDiagram-23GEKE2U-DAcW6mKJ.js +156 -0
- package/packages/client/dist/assets/ganttDiagram-NO4QXBWP-Ct_eFFcM.js +292 -0
- package/packages/client/dist/assets/gitGraphDiagram-IHSO6WYX-BGi8Fdm2.js +106 -0
- package/packages/client/dist/assets/graph-C9eacEi8.js +1 -0
- package/packages/client/dist/assets/index-CtMiUbMJ.js +1671 -0
- package/packages/client/dist/assets/index-hTu6ZG2N.js +2 -0
- package/packages/client/dist/assets/index-oBa2uNlv.css +32 -0
- package/packages/client/dist/assets/infoDiagram-FWYZ7A6U-CqvwbXJn.js +2 -0
- package/packages/client/dist/assets/init-Gi6I4Gst.js +1 -0
- package/packages/client/dist/assets/ishikawaDiagram-FXEZZL3T-CHhr5ioQ.js +70 -0
- package/packages/client/dist/assets/journeyDiagram-5HDEW3XC-d20NzZAd.js +139 -0
- package/packages/client/dist/assets/kanban-definition-HUTT4EX6-CHx3wOer.js +89 -0
- package/packages/client/dist/assets/katex-C5jXJg4s.js +257 -0
- package/packages/client/dist/assets/layout-DEXfKzaS.js +1 -0
- package/packages/client/dist/assets/linear-Cnp1E9M4.js +1 -0
- package/packages/client/dist/assets/map-Czzmt4hB.js +1 -0
- package/packages/client/dist/assets/mermaid.core-jAhLhPYr.js +314 -0
- package/packages/client/dist/assets/mindmap-definition-LN4V7U3C-zi30RPoJ.js +96 -0
- package/packages/client/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/packages/client/dist/assets/pdf.worker.min-qwK7q_zL.mjs +28 -0
- package/packages/client/dist/assets/pegDiagram-2B236MQR-4gKLzTqu.js +1 -0
- package/packages/client/dist/assets/pieDiagram-ENE6RG2P-DRDhpjxP.js +39 -0
- package/packages/client/dist/assets/quadrantDiagram-ABIIQ3AL-FmTxRIlW.js +7 -0
- package/packages/client/dist/assets/railroadDiagram-RFXS5EU6-Bc-Q7iPs.js +1 -0
- package/packages/client/dist/assets/requirementDiagram-TGXJPOKE-D209tlqv.js +84 -0
- package/packages/client/dist/assets/sankeyDiagram-HTMAVEWB--I_lSbCV.js +40 -0
- package/packages/client/dist/assets/sequenceDiagram-DBY2YBRQ-Da5YJcDJ.js +162 -0
- package/packages/client/dist/assets/sizeCapture-X5ZJPWSS-DYuc-rzB.js +1 -0
- package/packages/client/dist/assets/{snippetTokenHighlight-ot6u3hW4.js → snippetTokenHighlight-qXHxvlCE.js} +1 -1
- package/packages/client/dist/assets/stateDiagram-2N3HPSRC-DoOeZoRP.js +1 -0
- package/packages/client/dist/assets/stateDiagram-v2-6OUMAXLB-DLkUyWs6.js +1 -0
- package/packages/client/dist/assets/swimlanes-5IMT3BWC-BcR7uCTf.js +2 -0
- package/packages/client/dist/assets/swimlanesDiagram-G3AALYLV-C0FDo-hf.js +8 -0
- package/packages/client/dist/assets/timeline-definition-FHXFAJF6-CLzKR6_i.js +120 -0
- package/packages/client/dist/assets/vennDiagram-L72KCM5P-TajEacPR.js +34 -0
- package/packages/client/dist/assets/wardleyDiagram-EHGQE667-DKvVEb3V.js +78 -0
- package/packages/client/dist/assets/xychartDiagram-FW5EYKEG-CaJG8r0j.js +7 -0
- package/packages/client/dist/index.html +2 -2
- package/packages/client/dist/sw.js +2 -2
- package/packages/server/dist/controllers/accountController.d.ts.map +1 -1
- package/packages/server/dist/controllers/accountController.js +31 -11
- package/packages/server/dist/controllers/accountController.js.map +1 -1
- package/packages/server/dist/controllers/fileSystemController.d.ts +6 -0
- package/packages/server/dist/controllers/fileSystemController.d.ts.map +1 -1
- package/packages/server/dist/controllers/fileSystemController.js +34 -0
- package/packages/server/dist/controllers/fileSystemController.js.map +1 -1
- package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
- package/packages/server/dist/controllers/projectController.js +4 -2
- package/packages/server/dist/controllers/projectController.js.map +1 -1
- package/packages/server/dist/controllers/sessionController.d.ts +5 -0
- package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
- package/packages/server/dist/controllers/sessionController.js +95 -3
- package/packages/server/dist/controllers/sessionController.js.map +1 -1
- package/packages/server/dist/handlers/hookBridge.d.ts +131 -0
- package/packages/server/dist/handlers/hookBridge.d.ts.map +1 -0
- package/packages/server/dist/handlers/hookBridge.js +178 -0
- package/packages/server/dist/handlers/hookBridge.js.map +1 -0
- package/packages/server/dist/handlers/streamCallbacks.d.ts.map +1 -1
- package/packages/server/dist/handlers/streamCallbacks.js +30 -4
- package/packages/server/dist/handlers/streamCallbacks.js.map +1 -1
- package/packages/server/dist/handlers/websocket.d.ts +44 -2
- package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
- package/packages/server/dist/handlers/websocket.js +666 -64
- package/packages/server/dist/handlers/websocket.js.map +1 -1
- package/packages/server/dist/index.js +4 -1
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/locales/en/server.json +9 -3
- package/packages/server/dist/locales/es/server.json +9 -3
- package/packages/server/dist/locales/ja/server.json +9 -3
- package/packages/server/dist/locales/ko/server.json +9 -3
- package/packages/server/dist/locales/pt/server.json +9 -3
- package/packages/server/dist/locales/zh-CN/server.json +9 -3
- package/packages/server/dist/routes/account.d.ts.map +1 -1
- package/packages/server/dist/routes/account.js +4 -2
- package/packages/server/dist/routes/account.js.map +1 -1
- package/packages/server/dist/routes/fileSystem.d.ts.map +1 -1
- package/packages/server/dist/routes/fileSystem.js +2 -0
- package/packages/server/dist/routes/fileSystem.js.map +1 -1
- package/packages/server/dist/routes/sessions.d.ts.map +1 -1
- package/packages/server/dist/routes/sessions.js +2 -0
- package/packages/server/dist/routes/sessions.js.map +1 -1
- package/packages/server/dist/services/accountInfoService.d.ts +36 -1
- package/packages/server/dist/services/accountInfoService.d.ts.map +1 -1
- package/packages/server/dist/services/accountInfoService.js +90 -4
- package/packages/server/dist/services/accountInfoService.js.map +1 -1
- package/packages/server/dist/services/accountStorageService.d.ts +55 -9
- package/packages/server/dist/services/accountStorageService.d.ts.map +1 -1
- package/packages/server/dist/services/accountStorageService.js +244 -12
- package/packages/server/dist/services/accountStorageService.js.map +1 -1
- package/packages/server/dist/services/chatEngine.d.ts +59 -3
- package/packages/server/dist/services/chatEngine.d.ts.map +1 -1
- package/packages/server/dist/services/chatService.d.ts +112 -3
- package/packages/server/dist/services/chatService.d.ts.map +1 -1
- package/packages/server/dist/services/chatService.js +353 -98
- package/packages/server/dist/services/chatService.js.map +1 -1
- package/packages/server/dist/services/claudeLoginService.d.ts +14 -3
- package/packages/server/dist/services/claudeLoginService.d.ts.map +1 -1
- package/packages/server/dist/services/claudeLoginService.js +18 -4
- package/packages/server/dist/services/claudeLoginService.js.map +1 -1
- package/packages/server/dist/services/cliChatEngine.d.ts.map +1 -1
- package/packages/server/dist/services/cliChatEngine.js +124 -22
- package/packages/server/dist/services/cliChatEngine.js.map +1 -1
- package/packages/server/dist/services/cliModalDetect.d.ts +14 -0
- package/packages/server/dist/services/cliModalDetect.d.ts.map +1 -1
- package/packages/server/dist/services/cliModalDetect.js +12 -3
- package/packages/server/dist/services/cliModalDetect.js.map +1 -1
- package/packages/server/dist/services/cliSessionPool.js +1 -1
- package/packages/server/dist/services/cliSessionPool.js.map +1 -1
- package/packages/server/dist/services/commandService.d.ts.map +1 -1
- package/packages/server/dist/services/commandService.js +19 -9
- package/packages/server/dist/services/commandService.js.map +1 -1
- package/packages/server/dist/services/engineResidencyRegistry.d.ts +112 -0
- package/packages/server/dist/services/engineResidencyRegistry.d.ts.map +1 -0
- package/packages/server/dist/services/engineResidencyRegistry.js +195 -0
- package/packages/server/dist/services/engineResidencyRegistry.js.map +1 -0
- package/packages/server/dist/services/harnessAgentService.d.ts.map +1 -1
- package/packages/server/dist/services/harnessAgentService.js +12 -2
- package/packages/server/dist/services/harnessAgentService.js.map +1 -1
- package/packages/server/dist/services/harnessLintService.d.ts.map +1 -1
- package/packages/server/dist/services/harnessLintService.js +25 -114
- package/packages/server/dist/services/harnessLintService.js.map +1 -1
- package/packages/server/dist/services/historyParser.d.ts.map +1 -1
- package/packages/server/dist/services/historyParser.js +23 -6
- package/packages/server/dist/services/historyParser.js.map +1 -1
- package/packages/server/dist/services/imageStorageService.d.ts.map +1 -1
- package/packages/server/dist/services/imageStorageService.js +7 -0
- package/packages/server/dist/services/imageStorageService.js.map +1 -1
- package/packages/server/dist/services/projectService.d.ts +4 -1
- package/packages/server/dist/services/projectService.d.ts.map +1 -1
- package/packages/server/dist/services/projectService.js +14 -1
- package/packages/server/dist/services/projectService.js.map +1 -1
- package/packages/server/dist/services/promptQueue.d.ts +34 -0
- package/packages/server/dist/services/promptQueue.d.ts.map +1 -0
- package/packages/server/dist/services/promptQueue.js +80 -0
- package/packages/server/dist/services/promptQueue.js.map +1 -0
- package/packages/server/dist/services/ptyService.d.ts.map +1 -1
- package/packages/server/dist/services/ptyService.js +4 -1
- package/packages/server/dist/services/ptyService.js.map +1 -1
- package/packages/server/dist/services/queueService.d.ts.map +1 -1
- package/packages/server/dist/services/queueService.js +62 -4
- package/packages/server/dist/services/queueService.js.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.d.ts +73 -3
- package/packages/server/dist/services/rateLimitProbeService.d.ts.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.js +397 -30
- package/packages/server/dist/services/rateLimitProbeService.js.map +1 -1
- package/packages/server/dist/services/sessionBufferManager.d.ts.map +1 -1
- package/packages/server/dist/services/sessionBufferManager.js +22 -4
- package/packages/server/dist/services/sessionBufferManager.js.map +1 -1
- package/packages/server/dist/services/sessionExportService.d.ts +34 -0
- package/packages/server/dist/services/sessionExportService.d.ts.map +1 -0
- package/packages/server/dist/services/sessionExportService.js +269 -0
- package/packages/server/dist/services/sessionExportService.js.map +1 -0
- package/packages/server/dist/services/sessionService.d.ts +6 -0
- package/packages/server/dist/services/sessionService.d.ts.map +1 -1
- package/packages/server/dist/services/sessionService.js +30 -9
- package/packages/server/dist/services/sessionService.js.map +1 -1
- package/packages/server/dist/services/streamHandler.d.ts +177 -1
- package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
- package/packages/server/dist/services/streamHandler.js +425 -39
- package/packages/server/dist/services/streamHandler.js.map +1 -1
- package/packages/server/dist/services/workspaceContext.d.ts.map +1 -1
- package/packages/server/dist/services/workspaceContext.js +6 -0
- package/packages/server/dist/services/workspaceContext.js.map +1 -1
- package/packages/server/dist/snippets/fix-lint-command-not-on-path +13 -0
- package/packages/server/dist/snippets/fix-lint-duplicate-name +12 -0
- package/packages/server/dist/snippets/fix-lint-env-var-undefined +13 -0
- package/packages/server/dist/snippets/fix-lint-regex-invalid +14 -0
- package/packages/server/dist/snippets/fix-lint-tools-non-standard +14 -0
- package/packages/server/dist/snippets/fix-lint-url-invalid +13 -0
- package/packages/server/dist/snippets/fix-lint-yaml-parse-error +14 -0
- package/packages/server/dist/snippets/fix-malformed-skill +17 -0
- package/packages/server/dist/utils/backgroundHookSettings.d.ts +31 -0
- package/packages/server/dist/utils/backgroundHookSettings.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundHookSettings.js +41 -0
- package/packages/server/dist/utils/backgroundHookSettings.js.map +1 -0
- package/packages/server/dist/utils/backgroundTaskPoller.d.ts +69 -0
- package/packages/server/dist/utils/backgroundTaskPoller.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundTaskPoller.js +356 -0
- package/packages/server/dist/utils/backgroundTaskPoller.js.map +1 -0
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts +51 -3
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts.map +1 -1
- package/packages/server/dist/utils/backgroundTaskTracker.js +117 -9
- package/packages/server/dist/utils/backgroundTaskTracker.js.map +1 -1
- package/packages/server/dist/utils/backgroundToolGuard.d.ts +26 -0
- package/packages/server/dist/utils/backgroundToolGuard.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundToolGuard.js +40 -0
- package/packages/server/dist/utils/backgroundToolGuard.js.map +1 -0
- package/packages/server/dist/utils/boundedRing.d.ts +44 -0
- package/packages/server/dist/utils/boundedRing.d.ts.map +1 -0
- package/packages/server/dist/utils/boundedRing.js +77 -0
- package/packages/server/dist/utils/boundedRing.js.map +1 -0
- package/packages/server/dist/utils/effortUtils.d.ts +7 -6
- package/packages/server/dist/utils/effortUtils.d.ts.map +1 -1
- package/packages/server/dist/utils/effortUtils.js +10 -9
- package/packages/server/dist/utils/effortUtils.js.map +1 -1
- package/packages/server/dist/utils/messageTree.d.ts +25 -0
- package/packages/server/dist/utils/messageTree.d.ts.map +1 -1
- package/packages/server/dist/utils/messageTree.js +167 -3
- package/packages/server/dist/utils/messageTree.js.map +1 -1
- package/packages/server/dist/utils/pathUtils.d.ts.map +1 -1
- package/packages/server/dist/utils/pathUtils.js +1 -0
- package/packages/server/dist/utils/pathUtils.js.map +1 -1
- package/packages/server/dist/utils/residencyActivation.d.ts +61 -0
- package/packages/server/dist/utils/residencyActivation.d.ts.map +1 -0
- package/packages/server/dist/utils/residencyActivation.js +60 -0
- package/packages/server/dist/utils/residencyActivation.js.map +1 -0
- package/packages/server/dist/utils/residencyPolicy.d.ts +62 -0
- package/packages/server/dist/utils/residencyPolicy.d.ts.map +1 -0
- package/packages/server/dist/utils/residencyPolicy.js +82 -0
- package/packages/server/dist/utils/residencyPolicy.js.map +1 -0
- package/packages/server/dist/utils/runtimeParamStrategy.d.ts +51 -0
- package/packages/server/dist/utils/runtimeParamStrategy.d.ts.map +1 -0
- package/packages/server/dist/utils/runtimeParamStrategy.js +60 -0
- package/packages/server/dist/utils/runtimeParamStrategy.js.map +1 -0
- package/packages/server/dist/utils/stopStrategy.d.ts +62 -0
- package/packages/server/dist/utils/stopStrategy.d.ts.map +1 -0
- package/packages/server/dist/utils/stopStrategy.js +65 -0
- package/packages/server/dist/utils/stopStrategy.js.map +1 -0
- package/packages/server/resources/internals/INDEX.md +1 -1
- package/packages/server/resources/internals/image-storage.md +14 -2
- package/packages/server/resources/manual/02-chat.md +30 -13
- package/packages/server/resources/manual/03-sessions.md +22 -1
- package/packages/server/resources/manual/04-slash-commands-favorites.md +2 -1
- package/packages/server/resources/manual/05-projects.md +1 -0
- package/packages/server/resources/manual/06-file-explorer-editor.md +21 -2
- package/packages/server/resources/manual/07-git.md +1 -1
- package/packages/server/resources/manual/08-terminal.md +1 -1
- package/packages/server/resources/manual/12-harness-workbench.md +21 -16
- package/packages/server/resources/manual/13-settings.md +22 -6
- package/packages/server/resources/manual/14-keyboard-shortcuts.md +8 -1
- package/packages/shared/dist/constants/messageTree.d.ts +2 -0
- package/packages/shared/dist/constants/messageTree.d.ts.map +1 -1
- package/packages/shared/dist/constants/messageTree.js +6 -0
- package/packages/shared/dist/constants/messageTree.js.map +1 -1
- package/packages/shared/dist/index.d.ts +1 -1
- package/packages/shared/dist/index.d.ts.map +1 -1
- package/packages/shared/dist/index.js.map +1 -1
- package/packages/shared/dist/types/accounts.d.ts +13 -0
- package/packages/shared/dist/types/accounts.d.ts.map +1 -1
- package/packages/shared/dist/types/history.d.ts +14 -1
- package/packages/shared/dist/types/history.d.ts.map +1 -1
- package/packages/shared/dist/types/message.d.ts +26 -3
- package/packages/shared/dist/types/message.d.ts.map +1 -1
- package/packages/shared/dist/types/message.js +21 -1
- package/packages/shared/dist/types/message.js.map +1 -1
- package/packages/shared/dist/types/preferences.d.ts +5 -1
- package/packages/shared/dist/types/preferences.d.ts.map +1 -1
- package/packages/shared/dist/types/preferences.js +3 -0
- package/packages/shared/dist/types/preferences.js.map +1 -1
- package/packages/shared/dist/types/sdk.d.ts +68 -10
- package/packages/shared/dist/types/sdk.d.ts.map +1 -1
- package/packages/shared/dist/types/sdk.js +56 -16
- package/packages/shared/dist/types/sdk.js.map +1 -1
- package/packages/shared/dist/types/session.d.ts +6 -0
- package/packages/shared/dist/types/session.d.ts.map +1 -1
- package/packages/shared/dist/types/session.js +6 -0
- package/packages/shared/dist/types/session.js.map +1 -1
- package/packages/shared/dist/types/streaming.d.ts +32 -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/websocket.d.ts +4 -0
- package/packages/shared/dist/types/websocket.d.ts.map +1 -1
- package/scripts/probe-persistent-hooks.mjs +795 -0
- package/packages/client/dist/assets/index-BHbx57gc.js +0 -2
- package/packages/client/dist/assets/index-BX7y_Qt3.css +0 -32
- package/packages/client/dist/assets/index-DWIOf7rA.js +0 -1657
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type SDKMessage, type CanUseTool, type RewindFilesResult } from '@anthropic-ai/claude-agent-sdk';
|
|
2
2
|
import type { ChatServiceConfig, ChatOptions, ChatResponse, PermissionMode, StreamCallbacks } from '@hammoc/shared';
|
|
3
3
|
import type { ChatEngine } from './chatEngine.js';
|
|
4
|
+
import { HookEventBridge } from '../handlers/hookBridge.js';
|
|
4
5
|
/**
|
|
5
6
|
* ChatService - Wrapper for Claude Agent SDK
|
|
6
7
|
* Handles communication with Claude Code through the official SDK
|
|
@@ -12,9 +13,43 @@ export declare class ChatService implements ChatEngine {
|
|
|
12
13
|
private disallowedTools;
|
|
13
14
|
/** Auto-compaction master switch (both engines). Mirrors the autoCompactEnabled preference; default true. */
|
|
14
15
|
private autoCompactEnabled;
|
|
16
|
+
/**
|
|
17
|
+
* The persistent SDK query. Epic 38: created ONCE (lazily on the first send)
|
|
18
|
+
* and kept alive for the session — NOT recreated per turn — so the control
|
|
19
|
+
* channel stays open for post-result hooks. `null` before the first send and
|
|
20
|
+
* after `close()`; `interrupt()`/`setPermissionMode()` reach it between turns.
|
|
21
|
+
*/
|
|
15
22
|
private currentQuery;
|
|
23
|
+
/** Single iterator over the persistent query — each turn consumes one slice of it. */
|
|
24
|
+
private sessionIterator;
|
|
25
|
+
/** Manually-driven prompt input; each turn pushes its user message here. */
|
|
26
|
+
private promptQueue;
|
|
27
|
+
/** SDK hook → internal-event bridge (observe-only in 38.1; 38.2 consumes the ledger). */
|
|
28
|
+
private hookBridge;
|
|
29
|
+
/**
|
|
30
|
+
* Story 38.5 (Task 2) — process-residency flag. When `true`, the callback path
|
|
31
|
+
* does NOT close the persistent stream at turn end: the engine is retained across
|
|
32
|
+
* turns and its lifecycle (idle timeout / LRU eviction / crash cleanup) is owned
|
|
33
|
+
* by the higher-level residency registry, not by the turn. Default `false` keeps
|
|
34
|
+
* the Story 38.1 behavior (one turn per instance, close at turn end) for any
|
|
35
|
+
* caller that has not opted into residency. SDK-engine-only concept.
|
|
36
|
+
*/
|
|
37
|
+
private resident;
|
|
38
|
+
/**
|
|
39
|
+
* The CURRENT turn's permission callback. The SDK's `canUseTool` is a query-
|
|
40
|
+
* CREATION option (fixed for the persistent query's lifetime), but each turn's
|
|
41
|
+
* handler is bound to that turn's live stream (its event buffer, pending-
|
|
42
|
+
* permission map, sockets). A resident engine is reused across turns, so the
|
|
43
|
+
* query registers a stable delegator that reads this field — refreshed on every
|
|
44
|
+
* send — instead of capturing the first turn's handler. Without this, an
|
|
45
|
+
* AskUserQuestion/permission prompt on a reuse turn lands on the dead
|
|
46
|
+
* creation-turn stream: invisible after refresh and unanswerable.
|
|
47
|
+
*/
|
|
48
|
+
private activeCanUseTool;
|
|
16
49
|
/** Warning message from rewindFiles failure (non-fatal, streaming continues) */
|
|
17
50
|
rewindWarning: string | null;
|
|
51
|
+
/** Last turn ended via tracker-hold grace expiry → residency must evict (see ChatEngine docs). */
|
|
52
|
+
lastTurnTrackerHoldExpired: boolean;
|
|
18
53
|
constructor(config?: ChatServiceConfig);
|
|
19
54
|
/**
|
|
20
55
|
* Initialize a new session with a project directory
|
|
@@ -37,11 +72,61 @@ export declare class ChatService implements ChatEngine {
|
|
|
37
72
|
*/
|
|
38
73
|
getWorkingDirectory(): string | undefined;
|
|
39
74
|
/**
|
|
40
|
-
* Send a message and receive responses through an async generator
|
|
75
|
+
* Send a message and receive responses through an async generator.
|
|
76
|
+
*
|
|
77
|
+
* Epic 38 (Story 38.1): the underlying `query()` is a PERSISTENT stream —
|
|
78
|
+
* created lazily on the first send and reused for every subsequent turn (no
|
|
79
|
+
* per-turn process re-spawn, control channel stays open for post-result hooks).
|
|
80
|
+
* Each call pushes its user message onto the shared prompt queue and consumes
|
|
81
|
+
* the stream up to THIS turn's `result`, WITHOUT draining the generator: the
|
|
82
|
+
* stream never ends on its own (the prompt queue keeps it open), so the turn
|
|
83
|
+
* boundary is the `result` message and the consumer (processStream) decides
|
|
84
|
+
* when to stop. Teardown is `close()`, not turn end.
|
|
85
|
+
*
|
|
86
|
+
* In production the callback path (`sendMessageWithCallbacks`) still closes the
|
|
87
|
+
* stream at turn end (one turn per engine instance today — websocket recreates
|
|
88
|
+
* the engine per send), so behavior is unchanged. The multi-turn capability is
|
|
89
|
+
* exercised by calling this generator repeatedly on one instance; cross-turn
|
|
90
|
+
* process residency wiring is Story 38.5.
|
|
41
91
|
*/
|
|
42
92
|
sendMessage(content: string, options?: ChatOptions, canUseTool?: CanUseTool): AsyncGenerator<SDKMessage, ChatResponse, void>;
|
|
43
93
|
/**
|
|
44
|
-
*
|
|
94
|
+
* Build the queryOptions and create the persistent `query()` with the manually
|
|
95
|
+
* driven prompt queue + SDK hooks. Called once per session (first send).
|
|
96
|
+
*/
|
|
97
|
+
private createPersistentQuery;
|
|
98
|
+
/** Inline rewind-before-send (Story 25.7): rewind project files to `messageUuid`. */
|
|
99
|
+
private applyInlineRewind;
|
|
100
|
+
/**
|
|
101
|
+
* Tear down the persistent stream (session end / abort). Ends the prompt queue
|
|
102
|
+
* so a parked `next()` unblocks, closes the query, and clears references.
|
|
103
|
+
* Idempotent. Story 38.3/38.5 own the higher-level abort/lifecycle wiring.
|
|
104
|
+
*/
|
|
105
|
+
close(): Promise<void>;
|
|
106
|
+
/** The hook→event bridge for the active persistent query (Story 38.2 consumes its ledger). */
|
|
107
|
+
getHookBridge(): HookEventBridge | null;
|
|
108
|
+
/**
|
|
109
|
+
* Story 38.5 (Task 2) — opt this engine into cross-turn residency. Set by the
|
|
110
|
+
* residency registry when it takes ownership of the engine's lifecycle: while
|
|
111
|
+
* resident, the callback path skips the turn-end `close()` so the persistent
|
|
112
|
+
* query survives into the next turn (no ~3s re-spawn — probe-confirmed). The
|
|
113
|
+
* registry then closes it on idle timeout / LRU eviction / crash. Idempotent.
|
|
114
|
+
*/
|
|
115
|
+
setResident(resident: boolean): void;
|
|
116
|
+
/** Whether a persistent query is currently live (used by the registry to detect a torn-down engine). */
|
|
117
|
+
isLive(): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Send a message and collect the final response (non-streaming).
|
|
120
|
+
*
|
|
121
|
+
* Story 38.5 (Task 6d) — latent-hang guard. The persistent `sendMessage`
|
|
122
|
+
* generator does NOT return after a turn's `result`: it loops back to a parked
|
|
123
|
+
* `sessionIterator.next()` awaiting the NEXT prompt (or `close()`), so a naive
|
|
124
|
+
* "pull until done" would block forever the moment the first result is yielded —
|
|
125
|
+
* a latent infinite wait that only the streaming/callback path (which stops
|
|
126
|
+
* pulling at the result) avoided. This helper therefore STOPS consuming at this
|
|
127
|
+
* turn's result and builds the response from it. It handles one turn (the first
|
|
128
|
+
* result); background-task follow-ups are the streaming path's concern, not this
|
|
129
|
+
* sync helper's. Not on the production path — kept for tests/manual verification.
|
|
45
130
|
*/
|
|
46
131
|
sendMessageSync(content: string, options?: ChatOptions): Promise<ChatResponse>;
|
|
47
132
|
/**
|
|
@@ -56,6 +141,18 @@ export declare class ChatService implements ChatEngine {
|
|
|
56
141
|
* Set the permission mode for the current session
|
|
57
142
|
*/
|
|
58
143
|
setPermissionMode(mode: PermissionMode): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Story 38.4 — runtime model switch. Change the model used for subsequent
|
|
146
|
+
* responses on the LIVE persistent query, without recreating it (no ~3s
|
|
147
|
+
* restart). `resolveEffectiveModel` resolves the `[1m]` suffix identically to
|
|
148
|
+
* the creation path (`createPersistentQuery` model option), so a runtime
|
|
149
|
+
* switch and a fresh-query model land on the exact same effective id. No-op
|
|
150
|
+
* when no query exists yet — the next `createPersistentQuery` reads the model
|
|
151
|
+
* from the send options instead. Probe-confirmed GO (setModel reflects on the
|
|
152
|
+
* next turn's response model meta); SDK-mode only (CLI omits this, callers
|
|
153
|
+
* feature-detect).
|
|
154
|
+
*/
|
|
155
|
+
setModel(model: string | undefined): Promise<void>;
|
|
59
156
|
/**
|
|
60
157
|
* Send a message with callback-based event handling
|
|
61
158
|
* Uses StreamHandler internally to process the async generator
|
|
@@ -75,7 +172,19 @@ export declare class ChatService implements ChatEngine {
|
|
|
75
172
|
thinking?: boolean;
|
|
76
173
|
}) => void,
|
|
77
174
|
/** Story 36.2: CLI phase callback — accepted for the ChatEngine interface, UNUSED in SDK mode. */
|
|
78
|
-
_onPhase?: (phase: 'launching' | 'submitting' | 'waiting' | null) => void, _onScreenFrame?: (frame: string) => void, _screenFrameThrottleMs?: number,
|
|
175
|
+
_onPhase?: (phase: 'launching' | 'submitting' | 'waiting' | null) => void, _onScreenFrame?: (frame: string) => void, _screenFrameThrottleMs?: number,
|
|
176
|
+
/**
|
|
177
|
+
* Turn-boundary gate 2 (2026-07-12 fix). Story 38.2 made the engine's Stop
|
|
178
|
+
* hook (via {@link StopSnapshotSource} below) the boundary source and retired
|
|
179
|
+
* this tracker from the judgment — but the Stop ledger has a deterministic
|
|
180
|
+
* blind spot: a task that COMPLETES while a generation is still running has
|
|
181
|
+
* already left `background_tasks[]` at that generation's Stop, while its
|
|
182
|
+
* queued `<task-notification>` guarantees an auto-resume follow-up. The
|
|
183
|
+
* tracker (task_started/acks minus notifications) still holds such a task,
|
|
184
|
+
* so streamHandler now gates the turn on BOTH sources. Also remains the
|
|
185
|
+
* crash-safety-net poller's pending set (websocket owns `stream.backgroundTracker`).
|
|
186
|
+
*/
|
|
187
|
+
backgroundTracker?: import('../utils/backgroundTaskTracker.js').BackgroundTaskTracker, _onPermissionModeSync?: (mode: import('@hammoc/shared').PermissionMode) => void): Promise<ChatResponse>;
|
|
79
188
|
/**
|
|
80
189
|
* Standalone file rewind (no message send) — backs the `session:rewind-files`
|
|
81
190
|
* handler. Delegates to the shared billing-neutral `rewindSessionFiles` helper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatService.d.ts","sourceRoot":"","sources":["../../src/services/chatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,UAAU,EAAuB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAChK,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chatService.d.ts","sourceRoot":"","sources":["../../src/services/chatService.ts"],"names":[],"mappings":"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"}
|