@jingyi0605/codingns4dsh 0.2.1-beta.1 → 0.2.1-beta.3
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.en.md +25 -14
- package/README.md +21 -17
- package/data/build/dist/client/bundle.js +366 -81
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
- package/data/build/dist/client/locales/fileWorkspace.js +4 -0
- package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
- package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -1
- package/data/build/dist/client/locales/peerHostWorkspace.js +16 -2
- package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.d.ts +4 -3
- package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.js +7 -6
- package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
- package/data/build/dist/client/peer-host-native-store-projection.js +9 -21
- package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.js +139 -10
- package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
- package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
- package/data/build/dist/client/session-changed-files-view.js +162 -58
- package/data/build/dist/client/session-changed-files-view.js.map +1 -1
- package/data/build/dist/client/skill-command.d.ts +1 -1
- package/data/build/dist/client/skill-command.d.ts.map +1 -1
- package/data/build/dist/client/skill-command.js +25 -2
- package/data/build/dist/client/skill-command.js.map +1 -1
- package/data/build/dist/client/skill-reference-dom.js +1 -1
- package/data/build/dist/client/skill-reference-dom.js.map +1 -1
- package/data/build/dist/client/terminal/styles.js +2 -2
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts +28 -0
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js +109 -0
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js.map +1 -0
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +25 -3
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js +120 -9
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts +31 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.js +144 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.js.map +1 -0
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +2 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js +15 -2
- package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +16 -5
- package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/attachment-utils.js +152 -42
- package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts +23 -8
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +227 -70
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +7 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js +143 -6
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +74 -6
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +23 -0
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +39 -0
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -0
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +17 -6
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js +448 -26
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts +1 -1
- package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
- package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.js +2 -2
- package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js +28 -0
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js +23 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +5 -3
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.d.ts +2 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.js +66 -11
- package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts +5 -2
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +268 -18
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.js +8 -3
- package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.d.ts +4 -0
- package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.js +11 -4
- package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kiro-driver.js +1 -1
- package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +6 -2
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.js +95 -26
- package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +55 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +148 -6
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
- package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/new-api-subscription.js +11 -58
- package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +5 -2
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.js +136 -18
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -0
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js +20 -0
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +3 -0
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js +42 -8
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +4 -4
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.js +31 -8
- package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +5 -3
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +2 -9
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts +25 -0
- package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/skill-filesystem.js +161 -0
- package/data/build/dist/host/cli-adapters/skill-filesystem.js.map +1 -0
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js +7 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.js +40 -10
- package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +8 -2
- package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-driver.js +166 -55
- package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts +18 -0
- package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-interactions.js +90 -0
- package/data/build/dist/host/cli-adapters/zcode-interactions.js.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts +26 -0
- package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-provider-config.js +102 -0
- package/data/build/dist/host/cli-adapters/zcode-provider-config.js.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +2 -7
- package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts +17 -0
- package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-telemetry.js +124 -0
- package/data/build/dist/host/cli-adapters/zcode-telemetry.js.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +4 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts +11 -3
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.js +8 -4
- package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.js +18 -2
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +30 -5
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts +2 -9
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +9 -19
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +49 -7
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +23 -0
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/index.d.ts +1 -1
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +4 -1
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +2 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +5 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +3 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +5 -0
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +4 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +1 -1
- package/data/build/dist/shared/contracts/version.js +1 -1
- package/package.json +3 -1
- package/profile/README.md +2 -2
- package/profile/package.json +2 -2
- package/profile/version.json +1 -1
- package/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/gemini-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGnD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAoC,MAAM,6BAA6B,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC5G,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,iEAAiE;AACjE,MAAM,OAAO,eAAgB,SAAQ,oBAAoB;IACtC,YAAY,CAAmB;IAC/B,YAAY,GAAG,IAAI,GAAG,EAGnC,CAAA;IAEJ,YAAY,UAAuC,EAAE;QACnD,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC7M,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IACtH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAA;QAC7C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAClF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC9B,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;gBACtD,kBAAkB,EAAE,EAAE;aACvB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;YACjC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE;gBAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,UAAU,EAAE,EAAE;aACf,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;YACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,cAAc,CAAA;QACvB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,GAAG,CAAC,cAAc,EAAE,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAmC;QACpD,OAAO,kBAAkB,CAAC,KAAK,EAAE;YAC/B,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpI,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,KAAK,EAAE;SAClF,CAAC,CAAA;IACJ,CAAC;IAES,SAAS,CAAC,KAA2B;QAC7C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;QACjI,KAAK,MAAM,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;QACvJ,IAAI,KAAK,CAAC,iBAAiB;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAChG,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACgB,UAAU,CAAC,KAA8B,EAAE,KAA2B;QACvF,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3E,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAA;QAChC,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,CAAA;QAC7F,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,QAAyC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACjF,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC5C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAC5H,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACzB,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAAC,KAA2B;QAC5C,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YACjC,OAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,cAAc,CAAC,KAA2B;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;QACjC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACvD,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACxF,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,OAAO;YACP,IAAI,EAAE,CAAC,oBAAoB,CAAC;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,CAAC;YACjE,KAAK,EAAE,IAAI,CAAC,QAAQ;SACrB,CAAC,CAAA;QACF,MAAM,WAAW,GAAG;YAClB,GAAG;YACH,WAAW,EAAE,IAAI,GAAG,EAA2B;SAChD,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QACnD,GAAG,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAA;YACvH,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAClD,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC9B,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;gBACtD,kBAAkB,EAAE,EAAE;aACvB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5B,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB;gBACrC,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5M,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YACzK,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS,CAAA;YACtF,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAA;YAC/D,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,MAAM,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YACzG,CAAC;YACD,IAAI,QAAQ,GAAG,KAAK,CAAA;YACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE;gBACrD,SAAS;gBACT,MAAM,EAAE,MAAM,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;aAC1E,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAChB,IAAI,cAAuB,CAAA;YAC3B,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,cAAc,GAAG,IAAI,CAAC,KAAK,CAAA;oBAC3B,MAAK;gBACP,CAAC;gBACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjD,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ;oBAAE,QAAQ,GAAG,IAAI,CAAA;gBAC7C,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,KAAK,CAAA;YACjC,CAAC;YACD,IAAI,CAAC,QAAQ;gBAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAA;QACnG,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,WAAW;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACrG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAA;YAC1B,MAAM,eAAe,EAAE,OAAO,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;CACF;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,MAA+B;IACzE,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,QAAQ,CAAA;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAA;IAC3C,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAA;IAC7D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO,YAAY,EAAE,CAAA;IACtH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,CAAA;QACnG,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QAC/B,OAAO,CAAC;gBACN,EAAE;gBACF,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;gBAClF,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvH,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;aAClC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,EAAE,CAAA;IAC9C,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QACxG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QACpC,CAAC,CAAC,IAAI,CAAA;IACR,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AAClG,CAAC;AAYD;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CAAC,OAA2B,EAAE,QAA4B;IAClG,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACzE,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9D,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAExC,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAA;IAC7C,IAAI,QAAQ,GAAiF,IAAI,CAAA;IACjG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,SAAQ;QACzC,0DAA0D;QAC1D,IAAI,SAAS,CAAC,OAAO,KAAK,iCAAiC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAAE,SAAQ;QAClG,QAAQ,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;QAChE,MAAK;IACP,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAElC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACvG,MAAM,QAAQ,GAAG;QACf,GAAG,QAAQ,CAAC,KAAK;QACjB,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,eAAe,EAAE;gBACf,GAAG,eAAe;gBAClB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC/C,KAAK,EAAE,EAAE,KAAK,EAAE;oBAChB,WAAW,EAAE,EAAE,qBAAqB,EAAE,EAAE,cAAc,EAAE,EAAE;iBAC3D,CAAC,CAAC;aACJ;SACF;KACF,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAA;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACnG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO;QACL,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE;QACzC,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,QAAgB;IAC7D,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAC1E,MAAM,OAAO,GAAqC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;QACjG,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC;QACZ,KAAK,eAAe;YAClB,OAAO,CAAC,oCAAoC,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,wBAAwB,CAAC,CAAA;QAC3H,KAAK,iBAAiB;YACpB,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;QAC/C;YACE,OAAO,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ;QACnD,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,iBAAiB,EAAE,YAAY,CAAC;YAClE,CAAC,CAAC,iBAAiB,CAAA;IACvB,OAAO;QACL;YACE,OAAO,EAAE,iCAAiC;YAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;SAC5F;QACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC;SACnG;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;QAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACrF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA4B;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAC/D,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7J,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;IACrF,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACpK,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5I,wBAAwB;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACxK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;QACzH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9I,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/N,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA;YAClI,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;YACnG,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC3F,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;YACjF,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrF,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC5E,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,SAAS,CAAA;YACf,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,IAAI,IAAI,MAAM;gBACxB,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;gBACjF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,UAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IACrN,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IAC3F,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA4B;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAC/D,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACnD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE;QACpC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAA;IACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAA;IAC9E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACtF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,SAAS,CAAA;IAC/D,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,UAAU,CAAA;IACjE,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;IAC5F,OAAO,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACvD,CAAC;AACD,SAAS,WAAW,CAAC,KAA0B,EAAE,IAAuB;IACtE,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IAClG,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA8B,EAAE,SAAkB;IAClF,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IAClG,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IACxF,CAAC;;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACpG,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IACpE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACxD,CAAC;AAED,OAAO,EAAE,eAAe,IAAI,YAAY,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"gemini-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/gemini-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
-
import type { CodingNsAgentEvent, CodingNsCliModelCatalog, CodingNsAgentPermissionResponse, CodingNsCliTurnInput } from '../../shared/contracts/cli-adapter.js';
|
|
2
|
+
import type { CodingNsAgentEvent, CodingNsCliModelCatalog, CodingNsAgentPermissionResponse, CodingNsAgentQuestionResponse, CodingNsCliSkillDescriptor, CodingNsCliSkillListInput, CodingNsCliTurnInput } from '../../shared/contracts/cli-adapter.js';
|
|
3
3
|
import type { CodingNsCliDriver, CodingNsCliSessionProbeInput, CodingNsCliSessionProbeResult } from './driver.js';
|
|
4
4
|
export interface GrokBuildDriverOptions {
|
|
5
5
|
readonly binaries?: readonly string[];
|
|
@@ -13,7 +13,7 @@ export declare class GrokBuildDriver implements CodingNsCliDriver {
|
|
|
13
13
|
readonly id: "grok";
|
|
14
14
|
readonly name: "Grok Build";
|
|
15
15
|
readonly protocol: "acp";
|
|
16
|
-
readonly capabilities: readonly ["models", "stream", "tool-events", "reasoning", "usage", "permission"];
|
|
16
|
+
readonly capabilities: readonly ["models", "skills", "stream", "tool-events", "reasoning", "usage", "permission", "questions"];
|
|
17
17
|
};
|
|
18
18
|
private readonly binaries;
|
|
19
19
|
private readonly runSpawnSync;
|
|
@@ -29,9 +29,12 @@ export declare class GrokBuildDriver implements CodingNsCliDriver {
|
|
|
29
29
|
command: string | null;
|
|
30
30
|
}>;
|
|
31
31
|
listModels(): Promise<CodingNsCliModelCatalog>;
|
|
32
|
+
/** Grok 的原生目录同时应用信任、禁用、兼容来源和插件命名规则。 */
|
|
33
|
+
listSkills(input: CodingNsCliSkillListInput): Promise<readonly CodingNsCliSkillDescriptor[]>;
|
|
32
34
|
probeSession(input: CodingNsCliSessionProbeInput): Promise<CodingNsCliSessionProbeResult>;
|
|
33
35
|
executeTurn(input: CodingNsCliTurnInput): AsyncIterable<CodingNsAgentEvent>;
|
|
34
36
|
respondPermission(sessionId: string, response: CodingNsAgentPermissionResponse): void;
|
|
37
|
+
respondQuestion(sessionId: string, response: CodingNsAgentQuestionResponse): void;
|
|
35
38
|
dispose(): void;
|
|
36
39
|
private getSession;
|
|
37
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"grok-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/grok-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,+BAA+B,EAAyB,6BAA6B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5Q,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAyBjH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AAED,0DAA0D;AAC1D,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,QAAQ,CAAC,UAAU;;;;;MAAsL;IACzM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmY;gBAEhZ,OAAO,GAAE,sBAA2B;IAO1C,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAqBpD,uCAAuC;IACjC,UAAU,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAAC;IAwB5F,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAWxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IAyElF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,GAAG,IAAI;IAUrF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,6BAA6B,GAAG,IAAI;IAiBjF,OAAO,IAAI,IAAI;YAED,UAAU;CAkDzB"}
|
|
@@ -9,9 +9,12 @@ import { firstToolText, isToolRecord, normalizeToolStatus, serializeToolValue }
|
|
|
9
9
|
import { buildAcpPromptBlocks } from './attachment-utils.js';
|
|
10
10
|
import { acpBridgeMcpServers } from '../cli-bridge/injections.js';
|
|
11
11
|
import { reasoningText } from './reasoning-content.js';
|
|
12
|
+
import { ACP_FORM_CLIENT_CAPABILITIES, acpElicitationResponse, readAcpElicitationRequest } from './acp-elicitation.js';
|
|
13
|
+
import { readAgentQuestions } from './interaction-events.js';
|
|
14
|
+
import { commandEnvironment, WINDOWS } from './process-utils.js';
|
|
12
15
|
/** Grok Build 的 ACP stdio 驱动。ACP 会话和权限细节只在 Host 进程内处理。 */
|
|
13
16
|
export class GrokBuildDriver {
|
|
14
|
-
descriptor = { id: 'grok', name: 'Grok Build', protocol: 'acp', capabilities: ['models', 'stream', 'tool-events', 'reasoning', 'usage', 'permission'] };
|
|
17
|
+
descriptor = { id: 'grok', name: 'Grok Build', protocol: 'acp', capabilities: ['models', 'skills', 'stream', 'tool-events', 'reasoning', 'usage', 'permission', 'questions'] };
|
|
15
18
|
binaries;
|
|
16
19
|
runSpawnSync;
|
|
17
20
|
runSpawn;
|
|
@@ -37,7 +40,13 @@ export class GrokBuildDriver {
|
|
|
37
40
|
return emptyCatalog();
|
|
38
41
|
const rpc = new JsonRpcProcess({ command, args: ['agent', '--no-leader', 'stdio'], spawn: this.runSpawn });
|
|
39
42
|
try {
|
|
40
|
-
await rpc.request('initialize', {
|
|
43
|
+
await rpc.request('initialize', {
|
|
44
|
+
protocolVersion: 1,
|
|
45
|
+
clientInfo: { name: 'codingns4dsh', version: '0.1.1' },
|
|
46
|
+
// 保留 Grok 旧版使用的 capabilities,同时发送 ACP 标准字段。
|
|
47
|
+
capabilities: ACP_FORM_CLIENT_CAPABILITIES,
|
|
48
|
+
clientCapabilities: ACP_FORM_CLIENT_CAPABILITIES,
|
|
49
|
+
});
|
|
41
50
|
rpc.notify('initialized', {});
|
|
42
51
|
const session = await rpc.request('session/new', { cwd: process.cwd(), mcpServers: [] });
|
|
43
52
|
const parsed = parseGrokCatalog(session);
|
|
@@ -50,6 +59,33 @@ export class GrokBuildDriver {
|
|
|
50
59
|
rpc.dispose();
|
|
51
60
|
}
|
|
52
61
|
}
|
|
62
|
+
/** Grok 的原生目录同时应用信任、禁用、兼容来源和插件命名规则。 */
|
|
63
|
+
async listSkills(input) {
|
|
64
|
+
if (input.signal?.aborted)
|
|
65
|
+
throw new Error('Skill 目录读取已取消');
|
|
66
|
+
const cwd = input.cwd?.trim() || process.cwd();
|
|
67
|
+
const command = this.cachedBinary ?? (await this.detect()).command;
|
|
68
|
+
if (command !== null) {
|
|
69
|
+
try {
|
|
70
|
+
const result = this.runSpawnSync(command, ['inspect', '--json'], {
|
|
71
|
+
cwd,
|
|
72
|
+
encoding: 'utf8',
|
|
73
|
+
timeout: 5_000,
|
|
74
|
+
maxBuffer: 8 * 1024 * 1024,
|
|
75
|
+
windowsHide: true,
|
|
76
|
+
shell: WINDOWS,
|
|
77
|
+
env: commandEnvironment(command),
|
|
78
|
+
});
|
|
79
|
+
if (result.status === 0) {
|
|
80
|
+
const catalog = parseGrokSkillCatalog(`${result.stdout ?? ''}`);
|
|
81
|
+
if (catalog !== null)
|
|
82
|
+
return catalog;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch { /* 原生目录暂不可用时保持空目录,不能绕过 Grok 的目录信任。 */ }
|
|
86
|
+
}
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
53
89
|
async probeSession(input) {
|
|
54
90
|
return probeStoredSession(input, {
|
|
55
91
|
roots: this.sessionRoots,
|
|
@@ -67,6 +103,7 @@ export class GrokBuildDriver {
|
|
|
67
103
|
const state = await this.getSession(input, command);
|
|
68
104
|
const rpc = state.rpc;
|
|
69
105
|
let providerSessionId = state.providerSessionId;
|
|
106
|
+
let stream;
|
|
70
107
|
try {
|
|
71
108
|
if (providerSessionId === '') {
|
|
72
109
|
const session = await rpc.request('session/new', {
|
|
@@ -80,10 +117,24 @@ export class GrokBuildDriver {
|
|
|
80
117
|
this.sessions.set(providerSessionId, state);
|
|
81
118
|
}
|
|
82
119
|
yield { type: 'session-binding', providerSessionId };
|
|
83
|
-
|
|
120
|
+
// Skill 斜杠命令由 Grok 在用户输入开头解析,不能把普通提示插到命令前。
|
|
121
|
+
const nativeCommand = /^\s*\/[A-Za-z0-9][A-Za-z0-9._:-]*(?:\s|$)/u.test(input.prompt);
|
|
122
|
+
const prompt = [
|
|
123
|
+
...(nativeCommand ? [] : [{ type: 'text', text: GROK_QUESTION_GUIDANCE }]),
|
|
124
|
+
...await buildAcpPromptBlocks(input.prompt, input.attachments ?? []),
|
|
125
|
+
];
|
|
126
|
+
stream = streamGrokPrompt(rpc, providerSessionId, prompt, input.signal, (notification) => {
|
|
127
|
+
const elicitation = readAcpElicitationRequest(notification);
|
|
128
|
+
if (elicitation !== null)
|
|
129
|
+
state.questions.set(elicitation.requestId, elicitation);
|
|
130
|
+
const grokTool = readGrokQuestionTool(notification);
|
|
131
|
+
if (grokTool !== null)
|
|
132
|
+
rememberGrokQuestion(state, grokTool);
|
|
133
|
+
// 反向请求的 RPC id 只由请求处理器登记,避免用户回答和处理器调度交错时
|
|
134
|
+
// 已回答的问题被重新登记。tool_call 可以先显示问题卡并暂存用户答案。
|
|
84
135
|
const requestId = interactionRequestId(notification);
|
|
85
136
|
if (requestId !== null && notification.id !== undefined && notification.id !== null)
|
|
86
|
-
state.requests.set(requestId, notification.id);
|
|
137
|
+
state.requests.set(requestId, { rpcId: notification.id, ...permissionOptions(notification) });
|
|
87
138
|
});
|
|
88
139
|
let finishResult;
|
|
89
140
|
while (true) {
|
|
@@ -93,8 +144,18 @@ export class GrokBuildDriver {
|
|
|
93
144
|
break;
|
|
94
145
|
}
|
|
95
146
|
const chunk = acpMessageToChunk(item.value);
|
|
96
|
-
if (chunk
|
|
97
|
-
|
|
147
|
+
if (chunk === null)
|
|
148
|
+
continue;
|
|
149
|
+
if (chunk.type === 'question-request' && state.grokQuestionCallIds.has(chunk.requestId)) {
|
|
150
|
+
if (state.grokQuestionEventIds.has(chunk.requestId))
|
|
151
|
+
continue;
|
|
152
|
+
state.grokQuestionEventIds.add(chunk.requestId);
|
|
153
|
+
}
|
|
154
|
+
// 问题的 tool_call_update 只是同一次交互的生命周期回声,不能再生成普通
|
|
155
|
+
// 工具记录,否则历史里会重新出现空参数或重复的问题调用。
|
|
156
|
+
if (chunk.type === 'tool-event' && chunk.callId !== undefined && state.grokQuestionCallIds.has(chunk.callId))
|
|
157
|
+
continue;
|
|
158
|
+
yield chunk;
|
|
98
159
|
}
|
|
99
160
|
if (finishResult.reason === 'cancel') {
|
|
100
161
|
try {
|
|
@@ -104,18 +165,47 @@ export class GrokBuildDriver {
|
|
|
104
165
|
}
|
|
105
166
|
yield { type: 'finish', reason: finishResult.reason, ...(finishResult.failure === undefined ? {} : { failure: finishResult.failure }) };
|
|
106
167
|
}
|
|
107
|
-
finally {
|
|
168
|
+
finally {
|
|
169
|
+
// 原生问题卡取消或消费者提前结束时,也要释放反向请求与流监听器。
|
|
170
|
+
await stream?.return({ reason: 'cancel' });
|
|
171
|
+
for (const pending of state.grokQuestions.values()) {
|
|
172
|
+
if (pending.rpcId === undefined || rpc.isClosed)
|
|
173
|
+
continue;
|
|
174
|
+
rpc.respond(pending.rpcId, { outcome: 'cancelled' });
|
|
175
|
+
}
|
|
176
|
+
state.grokQuestions.clear();
|
|
177
|
+
state.grokQuestionCallIds.clear();
|
|
178
|
+
state.grokQuestionEventIds.clear();
|
|
179
|
+
// ACP 进程和会话跨轮复用,统一由 dispose() 回收。
|
|
180
|
+
}
|
|
108
181
|
}
|
|
109
182
|
respondPermission(sessionId, response) {
|
|
110
183
|
const state = this.sessions.get(sessionId);
|
|
111
184
|
if (state === undefined)
|
|
112
185
|
throw new Error('Grok 权限请求已结束');
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
186
|
+
const pending = state.requests.get(response.requestId);
|
|
187
|
+
if (pending === undefined)
|
|
115
188
|
throw new Error('Grok 权限请求不存在');
|
|
116
189
|
state.requests.delete(response.requestId);
|
|
117
|
-
const optionId = response.approved ?
|
|
118
|
-
state.rpc.respond(rpcId, { outcome: { outcome: 'selected', optionId } });
|
|
190
|
+
const optionId = response.approved ? pending.allowOptionId : pending.rejectOptionId;
|
|
191
|
+
state.rpc.respond(pending.rpcId, { outcome: { outcome: 'selected', optionId } });
|
|
192
|
+
}
|
|
193
|
+
respondQuestion(sessionId, response) {
|
|
194
|
+
const state = this.sessions.get(sessionId);
|
|
195
|
+
const pending = state?.grokQuestions.get(response.requestId);
|
|
196
|
+
if (pending !== undefined) {
|
|
197
|
+
pending.response = response;
|
|
198
|
+
if (pending.rpcId !== undefined) {
|
|
199
|
+
state.grokQuestions.delete(response.requestId);
|
|
200
|
+
state.rpc.respond(pending.rpcId, grokQuestionResponse(pending, response));
|
|
201
|
+
}
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
const elicitation = state?.questions.get(response.requestId);
|
|
205
|
+
if (state === undefined || elicitation === undefined)
|
|
206
|
+
throw new Error('Grok 问题请求不存在');
|
|
207
|
+
state.questions.delete(response.requestId);
|
|
208
|
+
state.rpc.respond(elicitation.rpcId, acpElicitationResponse(elicitation, response));
|
|
119
209
|
}
|
|
120
210
|
dispose() { for (const process of this.processes)
|
|
121
211
|
process.dispose(); this.processes.clear(); this.sessions.clear(); this.cachedBinary = null; }
|
|
@@ -126,11 +216,13 @@ export class GrokBuildDriver {
|
|
|
126
216
|
previous?.rpc.dispose();
|
|
127
217
|
const rpc = new JsonRpcProcess({ command, args: ['agent', '--no-leader', 'stdio'], cwd: input.cwd, spawn: this.runSpawn });
|
|
128
218
|
this.processes.add(rpc);
|
|
129
|
-
const state = { rpc, cwd: input.cwd, providerSessionId: '', requests: new Map() };
|
|
219
|
+
const state = { rpc, cwd: input.cwd, providerSessionId: '', requests: new Map(), questions: new Map(), grokQuestions: new Map(), grokQuestionCallIds: new Set(), grokQuestionEventIds: new Set() };
|
|
130
220
|
await rpc.request('initialize', {
|
|
131
221
|
protocolVersion: 1,
|
|
132
222
|
clientInfo: { name: 'codingns4dsh', version: '0.1.1' },
|
|
133
|
-
capabilities
|
|
223
|
+
// 旧版 Grok 读取 capabilities;标准 ACP 读取 clientCapabilities。
|
|
224
|
+
capabilities: ACP_FORM_CLIENT_CAPABILITIES,
|
|
225
|
+
clientCapabilities: ACP_FORM_CLIENT_CAPABILITIES,
|
|
134
226
|
});
|
|
135
227
|
rpc.notify('initialized', {});
|
|
136
228
|
if (input.providerSessionId) {
|
|
@@ -142,9 +234,30 @@ export class GrokBuildDriver {
|
|
|
142
234
|
}
|
|
143
235
|
// ACP 权限是 Grok 发起的 server request,先挂起响应,待标准权限入口明确回复原始 id。
|
|
144
236
|
rpc.setServerRequestHandler((message) => {
|
|
237
|
+
const elicitation = readAcpElicitationRequest(message);
|
|
238
|
+
if (elicitation !== null) {
|
|
239
|
+
state.questions.set(elicitation.requestId, elicitation);
|
|
240
|
+
return new Promise(() => undefined);
|
|
241
|
+
}
|
|
242
|
+
const grokRequest = readGrokQuestionRequest(message);
|
|
243
|
+
if (grokRequest !== null) {
|
|
244
|
+
rememberGrokQuestion(state, grokRequest, message.id);
|
|
245
|
+
const pending = state.grokQuestions.get(grokRequest.callId);
|
|
246
|
+
if (pending?.response !== undefined && pending.rpcId !== undefined) {
|
|
247
|
+
state.grokQuestions.delete(pending.callId);
|
|
248
|
+
state.rpc.respond(pending.rpcId, grokQuestionResponse(pending, pending.response));
|
|
249
|
+
}
|
|
250
|
+
return new Promise(() => undefined);
|
|
251
|
+
}
|
|
252
|
+
// 参数不合法的私有提问也使用 Grok 的取消形状,避免发送嵌套 ACP outcome。
|
|
253
|
+
if (isGrokQuestionMethod(message.method))
|
|
254
|
+
return { outcome: 'cancelled' };
|
|
255
|
+
if (message.method === 'elicitation/create')
|
|
256
|
+
return { action: 'cancel' };
|
|
145
257
|
const requestId = interactionRequestId(message);
|
|
146
|
-
if (requestId
|
|
147
|
-
|
|
258
|
+
if (requestId === null || message.id === undefined || message.id === null)
|
|
259
|
+
return { outcome: { outcome: 'cancelled' } };
|
|
260
|
+
state.requests.set(requestId, { rpcId: message.id, ...permissionOptions(message) });
|
|
148
261
|
return new Promise(() => undefined);
|
|
149
262
|
});
|
|
150
263
|
this.sessions.set(input.sessionId, state);
|
|
@@ -154,6 +267,14 @@ export class GrokBuildDriver {
|
|
|
154
267
|
}
|
|
155
268
|
}
|
|
156
269
|
const GROK_DRAIN_WAIT_MS = 250;
|
|
270
|
+
/** 内建提问与 MCP 的连接状态无关,宿主能力说明必须随每轮请求一起传递。 */
|
|
271
|
+
const GROK_QUESTION_GUIDANCE = [
|
|
272
|
+
'<codingns_host_capabilities>',
|
|
273
|
+
'DSH 宿主支持 Grok Build 内建 ask_user_question 工具,会显示原生问题卡并回传用户的结构化回答。',
|
|
274
|
+
'ask_user_question 属于 grok_build 内建工具,不依赖 MCP 服务器;MCP 正在连接的提示只影响提示中列出的 MCP 服务器。',
|
|
275
|
+
'当用户明确要求使用提问组件,或需要通过问题卡收集用户选择时,请直接调用 ask_user_question 并等待用户回答,再继续验证或处理答案。',
|
|
276
|
+
'</codingns_host_capabilities>',
|
|
277
|
+
].join('\n');
|
|
157
278
|
/**
|
|
158
279
|
* Grok 可能先返回 prompt 响应,再补发最后一批 session/update。
|
|
159
280
|
* 响应或终态任一先到都会启动固定排空窗口,窗口内的文本和错误仍会被消费。
|
|
@@ -277,18 +398,97 @@ function grokFailure(message) {
|
|
|
277
398
|
const code = firstToolText(error.code, error.errorCode, error.error_code);
|
|
278
399
|
return code === undefined ? { message: detail } : { message: detail, code };
|
|
279
400
|
}
|
|
401
|
+
/** Grok 的提问不是 ACP elicitation,而是 x.ai 私有的反向 ext_method。 */
|
|
402
|
+
function readGrokQuestionRequest(message) {
|
|
403
|
+
// Grok 1.0.x 的真实线路使用 `_x.ai/` 扩展命名空间;保留旧版无下划线
|
|
404
|
+
// 别名兼容历史客户端,但不能把真实请求落入普通未知请求处理。
|
|
405
|
+
if (!isGrokQuestionMethod(message.method))
|
|
406
|
+
return null;
|
|
407
|
+
const params = isRecord(message.params) ? message.params : {};
|
|
408
|
+
const callId = firstToolText(params.toolCallId, params.tool_call_id, params.callId, params.call_id);
|
|
409
|
+
const questions = readAgentQuestions(params.questions);
|
|
410
|
+
if (callId === undefined || questions.length === 0)
|
|
411
|
+
return null;
|
|
412
|
+
return { callId, questions };
|
|
413
|
+
}
|
|
414
|
+
function isGrokQuestionMethod(method) {
|
|
415
|
+
return method === '_x.ai/ask_user_question' || method === 'x.ai/ask_user_question';
|
|
416
|
+
}
|
|
417
|
+
/** 只认 Grok Build 的结构化 ask_user_question tool_call,不能按普通工具落库。 */
|
|
418
|
+
function readGrokQuestionTool(message) {
|
|
419
|
+
const params = isRecord(message.params) ? message.params : message;
|
|
420
|
+
const update = isRecord(params.update) ? params.update : params;
|
|
421
|
+
const tool = isToolRecord(update.toolCall) ? update.toolCall : isToolRecord(update.tool_call) ? update.tool_call : update;
|
|
422
|
+
const metaSource = isRecord(tool._meta) ? tool._meta : isRecord(update._meta) ? update._meta : {};
|
|
423
|
+
const xaiTool = isRecord(metaSource['x.ai/tool']) ? metaSource['x.ai/tool'] : null;
|
|
424
|
+
if (xaiTool?.namespace !== 'grok_build' || xaiTool.name !== 'ask_user_question')
|
|
425
|
+
return null;
|
|
426
|
+
const callId = firstToolText(tool.toolCallId, tool.tool_call_id, tool.callId, tool.call_id, update.toolCallId, update.tool_call_id);
|
|
427
|
+
const rawInput = tool.rawInput ?? tool.input ?? update.rawInput;
|
|
428
|
+
const questionsSource = isRecord(rawInput) && Array.isArray(rawInput.questions) ? rawInput.questions : rawInput;
|
|
429
|
+
const questions = readAgentQuestions(questionsSource);
|
|
430
|
+
if (callId === undefined || questions.length === 0)
|
|
431
|
+
return null;
|
|
432
|
+
return { callId, questions };
|
|
433
|
+
}
|
|
434
|
+
function rememberGrokQuestion(state, question, rpcId) {
|
|
435
|
+
state.grokQuestionCallIds.add(question.callId);
|
|
436
|
+
const pending = state.grokQuestions.get(question.callId);
|
|
437
|
+
if (pending === undefined) {
|
|
438
|
+
state.grokQuestions.set(question.callId, {
|
|
439
|
+
callId: question.callId,
|
|
440
|
+
questions: question.questions,
|
|
441
|
+
...(rpcId === undefined || rpcId === null ? {} : { rpcId }),
|
|
442
|
+
});
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
if (rpcId !== undefined && rpcId !== null)
|
|
446
|
+
pending.rpcId = rpcId;
|
|
447
|
+
}
|
|
448
|
+
/** 将 DSH 的 id-keyed 答案改写成 Grok 以问题原文为 key 的私有 outcome。 */
|
|
449
|
+
function grokQuestionResponse(pending, response) {
|
|
450
|
+
const answers = {};
|
|
451
|
+
const annotations = {};
|
|
452
|
+
for (const answer of response.answers) {
|
|
453
|
+
const question = pending.questions.find((item) => item.id === answer.id || item.question === answer.id);
|
|
454
|
+
const key = question?.question ?? answer.id;
|
|
455
|
+
const custom = answer.custom?.trim();
|
|
456
|
+
const selected = [...answer.selected];
|
|
457
|
+
if (selected.length === 0 && custom !== undefined && custom !== '')
|
|
458
|
+
selected.push('Other');
|
|
459
|
+
if (selected.length > 0)
|
|
460
|
+
answers[key] = selected;
|
|
461
|
+
if (custom !== undefined && custom !== '')
|
|
462
|
+
annotations[key] = { notes: custom };
|
|
463
|
+
}
|
|
464
|
+
return {
|
|
465
|
+
outcome: 'accepted',
|
|
466
|
+
answers,
|
|
467
|
+
...(Object.keys(annotations).length === 0 ? {} : { annotations }),
|
|
468
|
+
};
|
|
469
|
+
}
|
|
280
470
|
function acpMessageToChunk(message) {
|
|
281
471
|
const params = isRecord(message.params) ? message.params : message;
|
|
282
472
|
const update = isRecord(params.update) ? params.update : params;
|
|
283
|
-
const type = typeof update.sessionUpdate === 'string' ? update.sessionUpdate : typeof update.type === 'string' ? update.type : typeof message.method === 'string' ? message.method : '';
|
|
473
|
+
const type = (typeof update.sessionUpdate === 'string' ? update.sessionUpdate : typeof update.type === 'string' ? update.type : typeof message.method === 'string' ? message.method : '').toLowerCase();
|
|
474
|
+
const elicitation = readAcpElicitationRequest(message);
|
|
475
|
+
if (elicitation !== null)
|
|
476
|
+
return { type: 'question-request', requestId: elicitation.requestId, questions: elicitation.questions };
|
|
477
|
+
const grokQuestion = readGrokQuestionTool(message) ?? readGrokQuestionRequest(message);
|
|
478
|
+
if (grokQuestion !== null)
|
|
479
|
+
return { type: 'question-request', requestId: grokQuestion.callId, callId: grokQuestion.callId, questions: grokQuestion.questions };
|
|
284
480
|
const reasoning = reasoningText(update);
|
|
285
481
|
if (reasoning !== null)
|
|
286
482
|
return { type: 'reasoning-delta', text: reasoning };
|
|
287
483
|
const text = textValue(update.delta ?? update.text ?? update.content ?? update.message ?? update.detail);
|
|
288
484
|
if (type.includes('permission')) {
|
|
289
485
|
const requestId = permissionRequestId(message) ?? (typeof update.requestId === 'string' ? update.requestId : typeof update.id === 'string' ? update.id : null);
|
|
290
|
-
if (requestId !== null)
|
|
291
|
-
|
|
486
|
+
if (requestId !== null) {
|
|
487
|
+
const tool = isToolRecord(update.toolCall) ? update.toolCall : isToolRecord(update.tool_call) ? update.tool_call : update;
|
|
488
|
+
const toolName = firstToolText(tool.title, tool.name, tool.toolName, tool.tool_name, update.toolName);
|
|
489
|
+
const callId = firstToolText(tool.toolCallId, tool.tool_call_id, tool.callId, tool.call_id, update.callId, update.call_id);
|
|
490
|
+
return { type: 'permission-request', requestId, kind: typeof update.kind === 'string' ? update.kind : toolName ?? 'unknown', ...(toolName ? { toolName } : {}), ...(callId ? { callId } : {}), ...(text ? { detail: text } : {}) };
|
|
491
|
+
}
|
|
292
492
|
}
|
|
293
493
|
if (type.includes('agent_message') || type.includes('text') || type === 'message')
|
|
294
494
|
return text ? { type: 'text-delta', text } : null;
|
|
@@ -337,6 +537,22 @@ function permissionRequestId(message) {
|
|
|
337
537
|
function interactionRequestId(message) {
|
|
338
538
|
return permissionRequestId(message);
|
|
339
539
|
}
|
|
540
|
+
function permissionOptions(message) {
|
|
541
|
+
const params = isRecord(message.params) ? message.params : {};
|
|
542
|
+
const options = Array.isArray(params.options) ? params.options : [];
|
|
543
|
+
const ids = options.flatMap((option) => {
|
|
544
|
+
if (!isRecord(option))
|
|
545
|
+
return [];
|
|
546
|
+
const id = firstToolText(option.optionId, option.option_id, option.id);
|
|
547
|
+
if (id === undefined)
|
|
548
|
+
return [];
|
|
549
|
+
return [{ id, kind: firstToolText(option.kind, option.type)?.toLowerCase() ?? '' }];
|
|
550
|
+
});
|
|
551
|
+
return {
|
|
552
|
+
allowOptionId: ids.find((option) => /allow|approve|accept/u.test(option.kind))?.id ?? ids[0]?.id ?? 'allow-once',
|
|
553
|
+
rejectOptionId: ids.find((option) => /reject|deny|decline|cancel/u.test(option.kind))?.id ?? ids[1]?.id ?? 'reject-once',
|
|
554
|
+
};
|
|
555
|
+
}
|
|
340
556
|
function readSessionId(value) {
|
|
341
557
|
if (!isRecord(value))
|
|
342
558
|
return null;
|
|
@@ -346,6 +562,40 @@ function readSessionId(value) {
|
|
|
346
562
|
return value.session.id;
|
|
347
563
|
return typeof value.id === 'string' ? value.id : null;
|
|
348
564
|
}
|
|
565
|
+
/** 解析 Grok 原生 `inspect --json`,保留它对禁用 Skill 和兼容来源的判定。 */
|
|
566
|
+
function parseGrokSkillCatalog(output) {
|
|
567
|
+
const start = output.indexOf('{');
|
|
568
|
+
if (start < 0)
|
|
569
|
+
return null;
|
|
570
|
+
let value;
|
|
571
|
+
try {
|
|
572
|
+
value = JSON.parse(output.slice(start));
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
return null;
|
|
576
|
+
}
|
|
577
|
+
if (!isRecord(value) || !Array.isArray(value.skills))
|
|
578
|
+
return null;
|
|
579
|
+
return value.skills.flatMap((raw) => {
|
|
580
|
+
if (!isRecord(raw) || typeof raw.name !== 'string' || raw.name.trim() === '')
|
|
581
|
+
return [];
|
|
582
|
+
// 重名 Skill 必须使用 Provider 返回的限定名,否则可能调用到内建命令。
|
|
583
|
+
const name = typeof raw.invocableAs === 'string' && raw.invocableAs.trim() !== ''
|
|
584
|
+
? raw.invocableAs.trim().replace(/^\//u, '')
|
|
585
|
+
: raw.name.trim();
|
|
586
|
+
const description = typeof raw.description === 'string' ? raw.description.trim() : '';
|
|
587
|
+
if (description === '')
|
|
588
|
+
return [];
|
|
589
|
+
const disabled = raw.disabled === true || raw.enabled === false || raw.userInvocable === false || raw.compatibilityStatus === 'disabled'
|
|
590
|
+
|| (typeof raw.disabledReason === 'string' && raw.disabledReason.trim() !== '');
|
|
591
|
+
return [{
|
|
592
|
+
id: name,
|
|
593
|
+
name,
|
|
594
|
+
description,
|
|
595
|
+
enabled: !disabled,
|
|
596
|
+
}];
|
|
597
|
+
});
|
|
598
|
+
}
|
|
349
599
|
function parseGrokCatalog(value) {
|
|
350
600
|
if (!isRecord(value))
|
|
351
601
|
return emptyCatalog();
|