@0xmaxma/claude-gateway 2.0.10 → 2.0.11
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 +15 -0
- package/config.template.json +1 -1
- package/dist/agent/runner.d.ts +119 -11
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +58 -8
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/browser-bindings-router.d.ts +6 -0
- package/dist/api/browser-bindings-router.d.ts.map +1 -0
- package/dist/api/browser-bindings-router.js +150 -0
- package/dist/api/browser-bindings-router.js.map +1 -0
- package/dist/api/connectors-router.js +1 -1
- package/dist/api/connectors-router.js.map +1 -1
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +30 -2
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/jev-router.d.ts +8 -0
- package/dist/api/jev-router.d.ts.map +1 -0
- package/dist/api/jev-router.js +128 -0
- package/dist/api/jev-router.js.map +1 -0
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +53 -6
- package/dist/api/router.js.map +1 -1
- package/dist/api/voice-router.d.ts.map +1 -1
- package/dist/api/voice-router.js +42 -3
- package/dist/api/voice-router.js.map +1 -1
- package/dist/automation/browser-command.d.ts +79 -0
- package/dist/automation/browser-command.d.ts.map +1 -0
- package/dist/automation/browser-command.js +118 -0
- package/dist/automation/browser-command.js.map +1 -0
- package/dist/automation/browser-outcome.d.ts +3 -0
- package/dist/automation/browser-outcome.d.ts.map +1 -0
- package/dist/automation/browser-outcome.js +78 -0
- package/dist/automation/browser-outcome.js.map +1 -0
- package/dist/automation/browser-steps.d.ts +33 -0
- package/dist/automation/browser-steps.d.ts.map +1 -0
- package/dist/automation/browser-steps.js +293 -0
- package/dist/automation/browser-steps.js.map +1 -0
- package/dist/automation/browser-trace.d.ts +60 -0
- package/dist/automation/browser-trace.d.ts.map +1 -0
- package/dist/automation/browser-trace.js +24 -0
- package/dist/automation/browser-trace.js.map +1 -0
- package/dist/automation/browser-use.d.ts +210 -0
- package/dist/automation/browser-use.d.ts.map +1 -0
- package/dist/automation/browser-use.js +1271 -0
- package/dist/automation/browser-use.js.map +1 -0
- package/dist/automation/command-speech.d.ts +33 -0
- package/dist/automation/command-speech.d.ts.map +1 -0
- package/dist/automation/command-speech.js +117 -0
- package/dist/automation/command-speech.js.map +1 -0
- package/dist/automation/command-steps.d.ts +35 -0
- package/dist/automation/command-steps.d.ts.map +1 -0
- package/dist/automation/command-steps.js +155 -0
- package/dist/automation/command-steps.js.map +1 -0
- package/dist/automation/computer-choice-ids.d.ts +7 -0
- package/dist/automation/computer-choice-ids.d.ts.map +1 -0
- package/dist/automation/computer-choice-ids.js +24 -0
- package/dist/automation/computer-choice-ids.js.map +1 -0
- package/dist/automation/computer-command.d.ts +126 -0
- package/dist/automation/computer-command.d.ts.map +1 -0
- package/dist/automation/computer-command.js +313 -0
- package/dist/automation/computer-command.js.map +1 -0
- package/dist/automation/computer-outcome.d.ts +8 -0
- package/dist/automation/computer-outcome.d.ts.map +1 -0
- package/dist/automation/computer-outcome.js +82 -0
- package/dist/automation/computer-outcome.js.map +1 -0
- package/dist/automation/computer-policy.d.ts +84 -0
- package/dist/automation/computer-policy.d.ts.map +1 -0
- package/dist/automation/computer-policy.js +56 -0
- package/dist/automation/computer-policy.js.map +1 -0
- package/dist/automation/computer-safety.d.ts +27 -0
- package/dist/automation/computer-safety.d.ts.map +1 -0
- package/dist/automation/computer-safety.js +47 -0
- package/dist/automation/computer-safety.js.map +1 -0
- package/dist/automation/computer-steps.d.ts +20 -0
- package/dist/automation/computer-steps.d.ts.map +1 -0
- package/dist/automation/computer-steps.js +251 -0
- package/dist/automation/computer-steps.js.map +1 -0
- package/dist/automation/computer-use.d.ts +315 -0
- package/dist/automation/computer-use.d.ts.map +1 -0
- package/dist/automation/computer-use.js +864 -0
- package/dist/automation/computer-use.js.map +1 -0
- package/dist/automation/direct-command.d.ts +51 -0
- package/dist/automation/direct-command.d.ts.map +1 -0
- package/dist/automation/direct-command.js +152 -0
- package/dist/automation/direct-command.js.map +1 -0
- package/dist/automation/interrupt.d.ts +4 -0
- package/dist/automation/interrupt.d.ts.map +1 -0
- package/dist/automation/interrupt.js +26 -0
- package/dist/automation/interrupt.js.map +1 -0
- package/dist/build-provenance.json +4 -4
- package/dist/child-env-exclusions.d.ts +4 -0
- package/dist/child-env-exclusions.d.ts.map +1 -0
- package/dist/child-env-exclusions.js +23 -0
- package/dist/child-env-exclusions.js.map +1 -0
- package/dist/cli/startup-diagnostics.d.ts.map +1 -1
- package/dist/cli/startup-diagnostics.js +19 -0
- package/dist/cli/startup-diagnostics.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +4 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/reload-policy.d.ts.map +1 -1
- package/dist/config/reload-policy.js +2 -1
- package/dist/config/reload-policy.js.map +1 -1
- package/dist/jev/automatic-browser-bindings.d.ts +15 -0
- package/dist/jev/automatic-browser-bindings.d.ts.map +1 -0
- package/dist/jev/automatic-browser-bindings.js +115 -0
- package/dist/jev/automatic-browser-bindings.js.map +1 -0
- package/dist/jev/browser-connector.d.ts +29 -0
- package/dist/jev/browser-connector.d.ts.map +1 -0
- package/dist/jev/browser-connector.js +347 -0
- package/dist/jev/browser-connector.js.map +1 -0
- package/dist/jev/browser-consent.d.ts +6 -0
- package/dist/jev/browser-consent.d.ts.map +1 -0
- package/dist/jev/browser-consent.js +50 -0
- package/dist/jev/browser-consent.js.map +1 -0
- package/dist/jev/browser-contract.d.ts +215 -0
- package/dist/jev/browser-contract.d.ts.map +1 -0
- package/dist/jev/browser-contract.js +10 -0
- package/dist/jev/browser-contract.js.map +1 -0
- package/dist/jev/browser-evidence-summary.d.ts +73 -0
- package/dist/jev/browser-evidence-summary.d.ts.map +1 -0
- package/dist/jev/browser-evidence-summary.js +22 -0
- package/dist/jev/browser-evidence-summary.js.map +1 -0
- package/dist/jev/browser-module-import.d.ts +3 -0
- package/dist/jev/browser-module-import.d.ts.map +1 -0
- package/dist/jev/browser-module-import.js +6 -0
- package/dist/jev/browser-module-import.js.map +1 -0
- package/dist/jev/child-env.d.ts +11 -0
- package/dist/jev/child-env.d.ts.map +1 -0
- package/dist/jev/child-env.js +60 -0
- package/dist/jev/child-env.js.map +1 -0
- package/dist/jev/computer-connector.d.ts +34 -0
- package/dist/jev/computer-connector.d.ts.map +1 -0
- package/dist/jev/computer-connector.js +82 -0
- package/dist/jev/computer-connector.js.map +1 -0
- package/dist/jev/computer-inputs.d.ts +41 -0
- package/dist/jev/computer-inputs.d.ts.map +1 -0
- package/dist/jev/computer-inputs.js +7 -0
- package/dist/jev/computer-inputs.js.map +1 -0
- package/dist/jev/index.d.ts +6 -0
- package/dist/jev/index.d.ts.map +1 -0
- package/dist/jev/index.js +25 -0
- package/dist/jev/index.js.map +1 -0
- package/dist/jev/relay-grants.d.ts +9 -0
- package/dist/jev/relay-grants.d.ts.map +1 -0
- package/dist/jev/relay-grants.js +49 -0
- package/dist/jev/relay-grants.js.map +1 -0
- package/dist/jev/service.d.ts +27 -0
- package/dist/jev/service.d.ts.map +1 -0
- package/dist/jev/service.js +264 -0
- package/dist/jev/service.js.map +1 -0
- package/dist/jev/thinking-provider.d.ts +7 -0
- package/dist/jev/thinking-provider.d.ts.map +1 -0
- package/dist/jev/thinking-provider.js +25 -0
- package/dist/jev/thinking-provider.js.map +1 -0
- package/dist/jev/types.d.ts +124 -0
- package/dist/jev/types.d.ts.map +1 -0
- package/dist/jev/types.js +13 -0
- package/dist/jev/types.js.map +1 -0
- package/dist/jev/validation.d.ts +45 -0
- package/dist/jev/validation.d.ts.map +1 -0
- package/dist/jev/validation.js +179 -0
- package/dist/jev/validation.js.map +1 -0
- package/dist/load-dotenv.d.ts.map +1 -1
- package/dist/load-dotenv.js +5 -1
- package/dist/load-dotenv.js.map +1 -1
- package/dist/orchestration/agent-tool-schemas.d.ts.map +1 -1
- package/dist/orchestration/agent-tool-schemas.js +12 -7
- package/dist/orchestration/agent-tool-schemas.js.map +1 -1
- package/dist/orchestration/background-work.d.ts +1 -0
- package/dist/orchestration/background-work.d.ts.map +1 -1
- package/dist/orchestration/background-work.js +1 -0
- package/dist/orchestration/background-work.js.map +1 -1
- package/dist/orchestration/bridge.d.ts +4 -0
- package/dist/orchestration/bridge.d.ts.map +1 -1
- package/dist/orchestration/bridge.js +176 -41
- package/dist/orchestration/bridge.js.map +1 -1
- package/dist/orchestration/browser-fields.d.ts +25 -0
- package/dist/orchestration/browser-fields.d.ts.map +1 -0
- package/dist/orchestration/browser-fields.js +23 -0
- package/dist/orchestration/browser-fields.js.map +1 -0
- package/dist/orchestration/browser-routing.d.ts +1 -1
- package/dist/orchestration/browser-routing.d.ts.map +1 -1
- package/dist/orchestration/browser-routing.js +7 -3
- package/dist/orchestration/browser-routing.js.map +1 -1
- package/dist/orchestration/capabilities.d.ts +4 -1
- package/dist/orchestration/capabilities.d.ts.map +1 -1
- package/dist/orchestration/capabilities.js +15 -9
- package/dist/orchestration/capabilities.js.map +1 -1
- package/dist/orchestration/channel-controls.js +1 -1
- package/dist/orchestration/channel-controls.js.map +1 -1
- package/dist/orchestration/cli-skills.d.ts.map +1 -1
- package/dist/orchestration/cli-skills.js +3 -2
- package/dist/orchestration/cli-skills.js.map +1 -1
- package/dist/orchestration/computer-end-screenshot.d.ts +11 -0
- package/dist/orchestration/computer-end-screenshot.d.ts.map +1 -0
- package/dist/orchestration/computer-end-screenshot.js +37 -0
- package/dist/orchestration/computer-end-screenshot.js.map +1 -0
- package/dist/orchestration/computer-prompt.d.ts +6 -0
- package/dist/orchestration/computer-prompt.d.ts.map +1 -0
- package/dist/orchestration/computer-prompt.js +24 -0
- package/dist/orchestration/computer-prompt.js.map +1 -0
- package/dist/orchestration/config.d.ts +17 -0
- package/dist/orchestration/config.d.ts.map +1 -1
- package/dist/orchestration/config.js +10 -4
- package/dist/orchestration/config.js.map +1 -1
- package/dist/orchestration/container-tool-schemas.d.ts +47 -3
- package/dist/orchestration/container-tool-schemas.d.ts.map +1 -1
- package/dist/orchestration/container-tool-schemas.js +41 -6
- package/dist/orchestration/container-tool-schemas.js.map +1 -1
- package/dist/orchestration/container.d.ts +4 -1
- package/dist/orchestration/container.d.ts.map +1 -1
- package/dist/orchestration/container.js +48 -29
- package/dist/orchestration/container.js.map +1 -1
- package/dist/orchestration/context-footprint.d.ts +1 -1
- package/dist/orchestration/context-footprint.d.ts.map +1 -1
- package/dist/orchestration/context-footprint.js +5 -5
- package/dist/orchestration/context-footprint.js.map +1 -1
- package/dist/orchestration/control-notification.d.ts +6 -0
- package/dist/orchestration/control-notification.d.ts.map +1 -0
- package/dist/orchestration/control-notification.js +23 -0
- package/dist/orchestration/control-notification.js.map +1 -0
- package/dist/orchestration/dashboard-reader-worker.js +2 -2
- package/dist/orchestration/dashboard-reader-worker.js.map +1 -1
- package/dist/orchestration/execution-observation.d.ts +3 -0
- package/dist/orchestration/execution-observation.d.ts.map +1 -1
- package/dist/orchestration/execution-observation.js.map +1 -1
- package/dist/orchestration/gateway-tasks/browser.d.ts +59 -0
- package/dist/orchestration/gateway-tasks/browser.d.ts.map +1 -0
- package/dist/orchestration/gateway-tasks/browser.js +426 -0
- package/dist/orchestration/gateway-tasks/browser.js.map +1 -0
- package/dist/orchestration/gateway-tasks/computer-context.d.ts +6 -0
- package/dist/orchestration/gateway-tasks/computer-context.d.ts.map +1 -0
- package/dist/orchestration/gateway-tasks/computer-context.js +19 -0
- package/dist/orchestration/gateway-tasks/computer-context.js.map +1 -0
- package/dist/orchestration/gateway-tasks/computer.d.ts +123 -0
- package/dist/orchestration/gateway-tasks/computer.d.ts.map +1 -0
- package/dist/orchestration/gateway-tasks/computer.js +519 -0
- package/dist/orchestration/gateway-tasks/computer.js.map +1 -0
- package/dist/orchestration/gateway-tasks/controller.d.ts +40 -6
- package/dist/orchestration/gateway-tasks/controller.d.ts.map +1 -1
- package/dist/orchestration/gateway-tasks/controller.js +118 -12
- package/dist/orchestration/gateway-tasks/controller.js.map +1 -1
- package/dist/orchestration/gateway-tasks/safemode.d.ts.map +1 -1
- package/dist/orchestration/gateway-tasks/safemode.js +2 -1
- package/dist/orchestration/gateway-tasks/safemode.js.map +1 -1
- package/dist/orchestration/jev-gateway.d.ts +25 -0
- package/dist/orchestration/jev-gateway.d.ts.map +1 -0
- package/dist/orchestration/jev-gateway.js +103 -0
- package/dist/orchestration/jev-gateway.js.map +1 -0
- package/dist/orchestration/jev-tool.d.ts +45 -0
- package/dist/orchestration/jev-tool.d.ts.map +1 -0
- package/dist/orchestration/jev-tool.js +10 -0
- package/dist/orchestration/jev-tool.js.map +1 -0
- package/dist/orchestration/live-execution-input.d.ts +26 -0
- package/dist/orchestration/live-execution-input.d.ts.map +1 -0
- package/dist/orchestration/live-execution-input.js +70 -0
- package/dist/orchestration/live-execution-input.js.map +1 -0
- package/dist/orchestration/notification-mailbox.d.ts.map +1 -1
- package/dist/orchestration/notification-mailbox.js +5 -2
- package/dist/orchestration/notification-mailbox.js.map +1 -1
- package/dist/orchestration/process-platform.d.ts +0 -3
- package/dist/orchestration/process-platform.d.ts.map +1 -1
- package/dist/orchestration/process-platform.js +0 -4
- package/dist/orchestration/process-platform.js.map +1 -1
- package/dist/orchestration/process-turn.d.ts +8 -0
- package/dist/orchestration/process-turn.d.ts.map +1 -1
- package/dist/orchestration/process-turn.js +65 -8
- package/dist/orchestration/process-turn.js.map +1 -1
- package/dist/orchestration/response-errors.d.ts.map +1 -1
- package/dist/orchestration/response-errors.js +1 -0
- package/dist/orchestration/response-errors.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +51 -1
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +383 -27
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/skill-catalog-budget.d.ts +6 -0
- package/dist/orchestration/skill-catalog-budget.d.ts.map +1 -0
- package/dist/orchestration/skill-catalog-budget.js +9 -0
- package/dist/orchestration/skill-catalog-budget.js.map +1 -0
- package/dist/orchestration/skills.d.ts +4 -2
- package/dist/orchestration/skills.d.ts.map +1 -1
- package/dist/orchestration/skills.js +44 -3
- package/dist/orchestration/skills.js.map +1 -1
- package/dist/orchestration/store.d.ts +1 -0
- package/dist/orchestration/store.d.ts.map +1 -1
- package/dist/orchestration/store.js +2 -0
- package/dist/orchestration/store.js.map +1 -1
- package/dist/orchestration/task-controls.d.ts +78 -8
- package/dist/orchestration/task-controls.d.ts.map +1 -1
- package/dist/orchestration/task-controls.js +6 -1
- package/dist/orchestration/task-controls.js.map +1 -1
- package/dist/orchestration/tasks/automation-session.d.ts +25 -0
- package/dist/orchestration/tasks/automation-session.d.ts.map +1 -0
- package/dist/orchestration/tasks/automation-session.js +68 -0
- package/dist/orchestration/tasks/automation-session.js.map +1 -0
- package/dist/orchestration/tasks/driver.d.ts.map +1 -1
- package/dist/orchestration/tasks/driver.js +3 -2
- package/dist/orchestration/tasks/driver.js.map +1 -1
- package/dist/orchestration/tasks/service.d.ts +68 -7
- package/dist/orchestration/tasks/service.d.ts.map +1 -1
- package/dist/orchestration/tasks/service.js +646 -44
- package/dist/orchestration/tasks/service.js.map +1 -1
- package/dist/orchestration/types.d.ts +82 -3
- package/dist/orchestration/types.d.ts.map +1 -1
- package/dist/orchestration/types.js.map +1 -1
- package/dist/session/codex-extension-discovery.d.ts.map +1 -1
- package/dist/session/codex-extension-discovery.js +4 -2
- package/dist/session/codex-extension-discovery.js.map +1 -1
- package/dist/session/codex-native-mcp-client.d.ts.map +1 -1
- package/dist/session/codex-native-mcp-client.js +2 -1
- package/dist/session/codex-native-mcp-client.js.map +1 -1
- package/dist/session/codex-process.d.ts.map +1 -1
- package/dist/session/codex-process.js +9 -4
- package/dist/session/codex-process.js.map +1 -1
- package/dist/session/process.d.ts +16 -4
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +153 -75
- package/dist/session/process.js.map +1 -1
- package/dist/session/runtime-profile.d.ts +10 -5
- package/dist/session/runtime-profile.d.ts.map +1 -1
- package/dist/session/runtime-profile.js +5 -5
- package/dist/session/runtime-profile.js.map +1 -1
- package/dist/session/worker-extensions.d.ts.map +1 -1
- package/dist/session/worker-extensions.js +2 -1
- package/dist/session/worker-extensions.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/dashboard-client.d.ts.map +1 -1
- package/dist/ui/dashboard-client.js +33 -3
- package/dist/ui/dashboard-client.js.map +1 -1
- package/dist/ui/web-ui.js +1 -1
- package/lib/automation/browser-thinking.cjs +9 -0
- package/lib/automation/browser-thinking.d.cts +2 -0
- package/lib/automation/computer-thinking.cjs +10 -0
- package/lib/automation/computer-thinking.d.cts +2 -0
- package/lib/automation/index.cjs +47 -0
- package/lib/automation/index.d.cts +3 -0
- package/lib/automation/reasoning-instructions.cjs +5 -0
- package/lib/automation/thinking.cjs +35 -0
- package/lib/automation/thinking.d.cts +2 -0
- package/mcp/capability-catalog.ts +2 -2
- package/mcp/server.ts +1 -1
- package/mcp/tools/tasks/module.ts +9 -0
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-use.js","sourceRoot":"","sources":["../../src/automation/browser-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ComputerTaskReport } from '../orchestration/types';
|
|
2
|
+
import type { BrowserTaskReport } from '../jev/browser-contract';
|
|
3
|
+
export interface SpeechContext {
|
|
4
|
+
/** The conversation speaks Thai (voice locale, or its recent commands). */
|
|
5
|
+
thai?: boolean;
|
|
6
|
+
/** The task no longer takes commands after this round. */
|
|
7
|
+
ended?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Jev judged a single direct command to be a question about what is shown
|
|
11
|
+
* (READ_REQUEST): no action ran and the agent answers it, so it is not "not done".
|
|
12
|
+
*/
|
|
13
|
+
export declare function readRequested(outcome: {
|
|
14
|
+
computerReport?: ComputerTaskReport;
|
|
15
|
+
browserReport?: BrowserTaskReport;
|
|
16
|
+
}): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* A single direct command that ran nothing and did not end in an answer of its
|
|
19
|
+
* own: the gateway hands the same input to the agent once, instead of "say it
|
|
20
|
+
* again". Step runs, any action that ran, and uncertain receipts never qualify.
|
|
21
|
+
*/
|
|
22
|
+
export declare function agentHandoffRequested(outcome: {
|
|
23
|
+
computerReport?: ComputerTaskReport;
|
|
24
|
+
browserReport?: BrowserTaskReport;
|
|
25
|
+
}): boolean;
|
|
26
|
+
export declare function directCommandSpeech(outcome: {
|
|
27
|
+
computerReport?: ComputerTaskReport;
|
|
28
|
+
browserReport?: BrowserTaskReport;
|
|
29
|
+
}, command: string, context?: SpeechContext): {
|
|
30
|
+
spoken: string;
|
|
31
|
+
recorded: string;
|
|
32
|
+
} | undefined;
|
|
33
|
+
//# sourceMappingURL=command-speech.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-speech.d.ts","sourceRoot":"","sources":["../../src/automation/command-speech.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAqD/D,MAAM,WAAW,aAAa;IAC7B,2EAA2E;IAC3E,IAAI,CAAC,EAAC,OAAO,CAAC;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAC,OAAO,CAAC;CACf;AACD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAC;IAAC,cAAc,CAAC,EAAC,kBAAkB,CAAC;IAAA,aAAa,CAAC,EAAC,iBAAiB,CAAA;CAAC,GAAE,OAAO,CAKnH;AAKD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAC;IAAC,cAAc,CAAC,EAAC,kBAAkB,CAAC;IAAA,aAAa,CAAC,EAAC,iBAAiB,CAAA;CAAC,GAAE,OAAO,CAQ3H;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAC;IAAC,cAAc,CAAC,EAAC,kBAAkB,CAAC;IAAA,aAAa,CAAC,EAAC,iBAAiB,CAAA;CAAC,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,GAAC,aAAgB,GAAE;IAAC,MAAM,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAA;CAAC,GAAC,SAAS,CAsBnM"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readRequested = readRequested;
|
|
4
|
+
exports.agentHandoffRequested = agentHandoffRequested;
|
|
5
|
+
exports.directCommandSpeech = directCommandSpeech;
|
|
6
|
+
const computer_outcome_1 = require("./computer-outcome");
|
|
7
|
+
const browser_outcome_1 = require("./browser-outcome");
|
|
8
|
+
const direct_command_1 = require("./direct-command");
|
|
9
|
+
/**
|
|
10
|
+
* One short spoken line for a voice direct command that did nothing (session
|
|
11
|
+
* 35bd8aff: five voice commands ended "Not done" in silence). Success stays
|
|
12
|
+
* silent; the user hears the device. Thai for a Thai command or a Thai
|
|
13
|
+
* conversation ("Go." in a Thai session), else English. "Say it again" is
|
|
14
|
+
* spoken only while the task still takes commands; an ended task says so.
|
|
15
|
+
* Most not-done commands are handed to the agent instead (agentHandoffRequested),
|
|
16
|
+
* which answers; these lines remain for the rest, such as the agent's own
|
|
17
|
+
* hand-off command.
|
|
18
|
+
* Speaks only the user's own command words, and the chosen control's label when
|
|
19
|
+
* asking to confirm the agent's high-impact command. The recorded
|
|
20
|
+
* line (chat and history, authored as assistant) names the command generically,
|
|
21
|
+
* so user words never become assistant-authored transcript text.
|
|
22
|
+
*/
|
|
23
|
+
const THAI = {
|
|
24
|
+
NO_SUPPORTED_ACTION: 'ไม่เจอปุ่ม {command} บนหน้าจอ',
|
|
25
|
+
CONFIRM: 'จะกด {target} ใช่ไหม',
|
|
26
|
+
SCREEN_CHANGING: 'หน้าจอกำลังเปลี่ยน ลองพูดใหม่อีกครั้ง',
|
|
27
|
+
PARTIAL: 'กดได้ {done} จาก {planned} แล้วหยุด',
|
|
28
|
+
UNKNOWN: 'ไม่แน่ใจว่า {command} ทำไปแล้วหรือยัง ดูหน้าจอก่อนสั่งใหม่',
|
|
29
|
+
NEW_TAB: 'เปิดแท็บใหม่ไม่ได้ บอกชื่อเว็บแทน',
|
|
30
|
+
START_URL: 'แท็บยังว่าง บอกชื่อเว็บก่อน เช่น เข้า google.com',
|
|
31
|
+
OBSCURED: 'มีบางอย่างบังปุ่มหรือลิงก์นั้นอยู่ ปิดหน้าต่างที่บังก่อน แล้วสั่งใหม่',
|
|
32
|
+
NAVIGATION: 'ไม่แน่ใจว่าจะเข้าเว็บไหน บอกชื่อเว็บให้ชัด เช่น เข้า yahoo.com',
|
|
33
|
+
UNCLEAR: 'ไม่เข้าใจคำสั่ง {command} ลองพูดแบบอื่นดู',
|
|
34
|
+
ENDED: 'ยังไม่ได้ทำ {command} และงานนี้หยุดไปแล้ว ต้องเริ่มงานใหม่',
|
|
35
|
+
DEFAULT: 'ยังไม่ได้ทำ {command} ลองพูดใหม่อีกครั้ง',
|
|
36
|
+
};
|
|
37
|
+
const ENGLISH = {
|
|
38
|
+
NO_SUPPORTED_ACTION: 'Could not find {command} on the screen.',
|
|
39
|
+
CONFIRM: 'Press {target}?',
|
|
40
|
+
SCREEN_CHANGING: 'The screen was changing. Please say it again.',
|
|
41
|
+
PARTIAL: 'Pressed {done} of {planned}, then stopped.',
|
|
42
|
+
UNKNOWN: 'Not sure whether {command} ran. Check the screen before saying it again.',
|
|
43
|
+
NEW_TAB: 'A new tab cannot be opened here. Say the site name instead.',
|
|
44
|
+
START_URL: 'The tab is still blank. Say the site first, for example go to google.com.',
|
|
45
|
+
OBSCURED: 'Something is covering that button or link. Close it first, then say it again.',
|
|
46
|
+
NAVIGATION: 'Not sure which website to open. Say its address, for example go to yahoo.com.',
|
|
47
|
+
UNCLEAR: 'Did not understand {command}. Try saying it another way.',
|
|
48
|
+
ENDED: '{command} was not done, and this task has ended. Start a new one to continue.',
|
|
49
|
+
DEFAULT: '{command} was not done. Please say it again.',
|
|
50
|
+
};
|
|
51
|
+
const KIND = {
|
|
52
|
+
NO_SUPPORTED_ACTION: 'NO_SUPPORTED_ACTION', SEQUENCE_TARGET_MISSING: 'NO_SUPPORTED_ACTION', CONFIRMATION_REQUIRED: 'CONFIRM',
|
|
53
|
+
UI_NOT_READY: 'SCREEN_CHANGING', STALE_OBSERVATION: 'SCREEN_CHANGING', ACTION_CONTEXT_CHANGED: 'SCREEN_CHANGING', STALE_RETRY_BUDGET: 'SCREEN_CHANGING', WAIT_BUDGET: 'SCREEN_CHANGING',
|
|
54
|
+
NEW_TAB_OUT_OF_SCOPE: 'NEW_TAB', START_URL_REQUIRED: 'START_URL',
|
|
55
|
+
TARGET_OBSCURED: 'OBSCURED', NAVIGATION_UNRESOLVED: 'NAVIGATION', UNCLEAR: 'UNCLEAR',
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Jev judged a single direct command to be a question about what is shown
|
|
59
|
+
* (READ_REQUEST): no action ran and the agent answers it, so it is not "not done".
|
|
60
|
+
*/
|
|
61
|
+
function readRequested(outcome) {
|
|
62
|
+
const computer = outcome.computerReport, browser = outcome.browserReport;
|
|
63
|
+
if (computer)
|
|
64
|
+
return !computer.stepRun && computer.reason === 'COMMAND_WAITING_INPUT' && !computer.steps &&
|
|
65
|
+
[...(Array.isArray(computer.trace) ? computer.trace : [])].reverse().find(e => e.phase === 'waiting' && e.reason !== 'POST_ACTION_EVIDENCE_STALE')?.reason === 'READ_REQUEST';
|
|
66
|
+
return !!browser && !browser.stepRun && browser.reason === 'COMMAND_WAITING_INPUT' && browser.commandOutcome?.reason === 'READ_REQUEST' && !browser.lastConfirmedAction && browser.lastAction?.outcome !== 'unknown';
|
|
67
|
+
}
|
|
68
|
+
// Not-done outcomes that are answers in themselves: a read request (its own
|
|
69
|
+
// route), the session start, a confirmation question or the user's "no", and
|
|
70
|
+
// plain facts nothing else could change.
|
|
71
|
+
const NO_HANDOFF = new Set(['READ_REQUEST', 'SESSION_READY', 'CONFIRMATION_REQUIRED', 'CONFIRMATION_DECLINED', 'NEW_TAB_OUT_OF_SCOPE', 'SCROLL_LIMIT', 'HISTORY_UNAVAILABLE', 'NOTHING_TO_ERASE', 'KEY_UNSUPPORTED']);
|
|
72
|
+
/**
|
|
73
|
+
* A single direct command that ran nothing and did not end in an answer of its
|
|
74
|
+
* own: the gateway hands the same input to the agent once, instead of "say it
|
|
75
|
+
* again". Step runs, any action that ran, and uncertain receipts never qualify.
|
|
76
|
+
*/
|
|
77
|
+
function agentHandoffRequested(outcome) {
|
|
78
|
+
const computer = outcome.computerReport, browser = outcome.browserReport;
|
|
79
|
+
if (computer) {
|
|
80
|
+
if (computer.stepRun || computer.reason !== 'COMMAND_WAITING_INPUT' || computer.steps)
|
|
81
|
+
return false;
|
|
82
|
+
const waiting = [...(Array.isArray(computer.trace) ? computer.trace : [])].reverse().find(e => e.phase === 'waiting' && e.reason !== 'POST_ACTION_EVIDENCE_STALE');
|
|
83
|
+
return !!waiting?.reason && !NO_HANDOFF.has(waiting.reason);
|
|
84
|
+
}
|
|
85
|
+
return !!browser && !browser.stepRun && browser.reason === 'COMMAND_WAITING_INPUT' && browser.commandOutcome?.done === false && !NO_HANDOFF.has(browser.commandOutcome.reason ?? '') && !browser.lastConfirmedAction && browser.lastAction?.outcome !== 'unknown';
|
|
86
|
+
}
|
|
87
|
+
function directCommandSpeech(outcome, command, context = {}) {
|
|
88
|
+
// The agent speaks the answer itself.
|
|
89
|
+
if (readRequested(outcome))
|
|
90
|
+
return;
|
|
91
|
+
const computer = outcome.computerReport, browser = outcome.browserReport;
|
|
92
|
+
// Step lists are the agent's or the user's own plan, reported in the chat.
|
|
93
|
+
if (computer?.stepRun || browser?.stepRun)
|
|
94
|
+
return;
|
|
95
|
+
const line = computer ? (0, computer_outcome_1.computerOutcomeText)(computer) : browser ? (0, browser_outcome_1.browserOutcomeText)(browser) : undefined;
|
|
96
|
+
const thai = /\p{Script=Thai}/u.test(command) || context.thai === true, words = thai ? THAI : ENGLISH;
|
|
97
|
+
const said = [...(0, direct_command_1.spokenCommand)(command)].slice(0, 40).join(''), generic = thai ? 'คำสั่งนี้' : 'that command';
|
|
98
|
+
const render = (template) => ({ spoken: template.replace('{command}', said), recorded: template.replace('{command}', generic) });
|
|
99
|
+
// An unresolved receipt may have acted: asking to repeat would replay it.
|
|
100
|
+
if (line?.startsWith(computer_outcome_1.UNKNOWN_PREFIX))
|
|
101
|
+
return render(words.UNKNOWN);
|
|
102
|
+
if (!line?.startsWith('Not done'))
|
|
103
|
+
return;
|
|
104
|
+
if (context.ended)
|
|
105
|
+
return render(words.ENDED);
|
|
106
|
+
const sequence = computer?.lastAction?.sequence, planned = computer?.lastAction?.planned;
|
|
107
|
+
if (sequence && planned && sequence.length < planned)
|
|
108
|
+
return render(words.PARTIAL.replace('{done}', String(sequence.length)).replace('{planned}', String(planned)));
|
|
109
|
+
const reason = computer ? [...(computer.trace ?? [])].reverse().find(e => e.phase === 'waiting' && e.reason !== 'POST_ACTION_EVIDENCE_STALE')?.reason ?? computer.reason : browser.commandOutcome?.reason ?? browser.reason;
|
|
110
|
+
// The user said no: nothing ran, as they asked; nothing more to say.
|
|
111
|
+
if (reason === 'CONFIRMATION_DECLINED')
|
|
112
|
+
return;
|
|
113
|
+
// The question names the chosen control, so the user knows what they confirm.
|
|
114
|
+
const target = [...(computer?.lastAction?.label ?? browser?.commandOutcome?.action?.label ?? '')].slice(0, 60).join('');
|
|
115
|
+
return render(words[KIND[reason] ?? 'DEFAULT'].replace('{target}', target));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=command-speech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-speech.js","sourceRoot":"","sources":["../../src/automation/command-speech.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface-agnostic step-list grammar shared by Computer Use and Remote Browser
|
|
3
|
+
* step mode. Pure: parses the user's own text, never page or window content.
|
|
4
|
+
*/
|
|
5
|
+
export declare const COMMAND_STEPS_MAX = 12;
|
|
6
|
+
export declare const COMMAND_STEPS_TIMEOUT_MS = 120000;
|
|
7
|
+
export declare const STEP_TEXT_MAX = 300;
|
|
8
|
+
export type CommandStepStopReason = 'ALL_STEPS_DONE' | 'STEP_NO_EFFECT' | 'STEP_NOT_EXECUTED' | 'OUTCOME_UNKNOWN' | 'TIMEOUT' | 'CANCELLED' | 'FAILED';
|
|
9
|
+
/** Parent-facing summary. Step text is the user's own command, never app content. */
|
|
10
|
+
export interface CommandStepRun {
|
|
11
|
+
total: number;
|
|
12
|
+
completed: number;
|
|
13
|
+
stopReason: CommandStepStopReason;
|
|
14
|
+
/** 1-based step that stopped the run; absent when every step completed. */
|
|
15
|
+
stoppedAt?: number;
|
|
16
|
+
stoppedStep?: string;
|
|
17
|
+
detail?: string;
|
|
18
|
+
remaining: string[];
|
|
19
|
+
/** 1-based scroll steps dispatched without an observable change. */
|
|
20
|
+
unverifiedSteps?: number[];
|
|
21
|
+
/** Parts of the stopped step that already ran; never resend them. */
|
|
22
|
+
doneParts?: string[];
|
|
23
|
+
/** Owner-facing notes about steps answered without an action (e.g. kept the approved tab). */
|
|
24
|
+
notes?: string[];
|
|
25
|
+
}
|
|
26
|
+
/** Commands joined inside one listed step, run in order as that step. */
|
|
27
|
+
export declare function stepParts(step: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Returns ordered atomic steps only for an unmistakable explicit step list.
|
|
30
|
+
* A numbered or bulleted list yields exactly its items; otherwise commas and
|
|
31
|
+
* connectors split the command lines. Anything conditional, oversized,
|
|
32
|
+
* single-step or ambiguous stays on the normal path.
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseCommandSteps(command: string): string[] | undefined;
|
|
35
|
+
//# sourceMappingURL=command-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-steps.d.ts","sourceRoot":"","sources":["../../src/automation/command-steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAAG,gBAAgB,GACnC,mBAAmB,GAAG,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACjF,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,qBAAqB,CAAC;IACjE,2EAA2E;IAC3E,SAAS,CAAC,EAAC,MAAM,CAAC;IAAC,WAAW,CAAC,EAAC,MAAM,CAAC;IAAC,MAAM,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,EAAE,CAAC;IAC3E,oEAAoE;IACpE,eAAe,CAAC,EAAC,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,SAAS,CAAC,EAAC,MAAM,EAAE,CAAC;IACpB,8FAA8F;IAC9F,KAAK,CAAC,EAAC,MAAM,EAAE,CAAC;CACjB;AA4BD,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,IAAI,EAAC,MAAM,YAGpC;AA6DD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAC,MAAM,GAAE,MAAM,EAAE,GAAG,SAAS,CAyBrE"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STEP_TEXT_MAX = exports.COMMAND_STEPS_TIMEOUT_MS = exports.COMMAND_STEPS_MAX = void 0;
|
|
4
|
+
exports.stepParts = stepParts;
|
|
5
|
+
exports.parseCommandSteps = parseCommandSteps;
|
|
6
|
+
/**
|
|
7
|
+
* Surface-agnostic step-list grammar shared by Computer Use and Remote Browser
|
|
8
|
+
* step mode. Pure: parses the user's own text, never page or window content.
|
|
9
|
+
*/
|
|
10
|
+
exports.COMMAND_STEPS_MAX = 12;
|
|
11
|
+
exports.COMMAND_STEPS_TIMEOUT_MS = 120000;
|
|
12
|
+
exports.STEP_TEXT_MAX = 300;
|
|
13
|
+
// Explicit connectors between commands. Thai "แล้ว"/"จากนั้น" must follow
|
|
14
|
+
// whitespace so words such as "เสร็จแล้ว" stay inside their step.
|
|
15
|
+
const CONNECTOR = /\s+(?:แล้วก็|แล้ว|จากนั้นก็|จากนั้น|(?:and\s+)?then\b)\s*/giu;
|
|
16
|
+
// Conditional wording needs reasoning between steps; keep it on the normal path.
|
|
17
|
+
const CONDITIONAL = /\b(?:if|unless|until|when|while)\b|ถ้า|หาก|จนกว่า|เมื่อ/iu;
|
|
18
|
+
/** Masks quoted payloads so separators inside typed text never split a step. */
|
|
19
|
+
function maskQuotes(text) {
|
|
20
|
+
return text.replace(/"[^"\n]*"|“[^”\n]*”/gu, quoted => '\u0000'.repeat(quoted.length));
|
|
21
|
+
}
|
|
22
|
+
function splitAt(text, masked, pattern) {
|
|
23
|
+
const parts = [];
|
|
24
|
+
let start = 0;
|
|
25
|
+
for (const match of masked.matchAll(pattern)) {
|
|
26
|
+
parts.push(text.slice(start, match.index));
|
|
27
|
+
start = match.index + match[0].length;
|
|
28
|
+
}
|
|
29
|
+
parts.push(text.slice(start));
|
|
30
|
+
return parts;
|
|
31
|
+
}
|
|
32
|
+
// Pacing notes a delegating agent appends ("start with step 1", "one by one").
|
|
33
|
+
const META = /^(?:(?:please\s+)?(?:start|begin)\s+(?:with|from|at)\s+step\s*1\b|(?:do|run|perform)\s+(?:them|these|it|the\s+steps|each\s+step)\s+one\s+(?:by|at\s+a)\s+(?:one|time)\b|one\s+step\s+at\s+a\s+time\b|เริ่ม(?:จาก|ที่|ทำ)?\s*ขั้น(?:ตอน)?ที่\s*1|ทำ(?:ที)?ละ(?:ขั้น|ข้อ|step))/iu;
|
|
34
|
+
// Leading role/context sentences, e.g. "You are controlling the user's Mac."
|
|
35
|
+
const CONTEXT = /^(?:you\s+are\b|you're\b|คุณ(?:กำลัง|คือ|เป็น))/iu;
|
|
36
|
+
const HEADER = /[::]\s*$/u;
|
|
37
|
+
const BULLET = /^\s*[-*•]\s+/u;
|
|
38
|
+
const cleanStep = (text) => text.trim().replace(/^(?:และ|and)\s+/iu, '').replace(/[.。]+$/u, '').trim();
|
|
39
|
+
/** Commands joined inside one listed step, run in order as that step. */
|
|
40
|
+
function stepParts(step) {
|
|
41
|
+
const parts = splitAt(step, maskQuotes(step), CONNECTOR).map(cleanStep).filter(Boolean);
|
|
42
|
+
return parts.length ? parts : [step];
|
|
43
|
+
}
|
|
44
|
+
/** Numbered items of one line: "1. a", "2) b" or inline "1. a 2. b", optionally after a "Steps:" header. */
|
|
45
|
+
function numberedItems(line) {
|
|
46
|
+
const markers = [...maskQuotes(line).matchAll(/(?:^|\s)(\d{1,2})[.)]\s+/gu)];
|
|
47
|
+
if (!markers.length)
|
|
48
|
+
return;
|
|
49
|
+
const prefix = line.slice(0, markers[0].index).trim();
|
|
50
|
+
if (prefix && !HEADER.test(prefix))
|
|
51
|
+
return;
|
|
52
|
+
// Inline markers split an item only when they continue the sequence in order.
|
|
53
|
+
const run = [markers[0]];
|
|
54
|
+
for (const marker of markers.slice(1)) {
|
|
55
|
+
if (Number(marker[1]) !== Number(run.at(-1)[1]) + 1)
|
|
56
|
+
break;
|
|
57
|
+
run.push(marker);
|
|
58
|
+
}
|
|
59
|
+
return run.map((m, i) => ({ n: Number(m[1]), text: line.slice(m.index + m[0].length, run[i + 1]?.index ?? line.length) }));
|
|
60
|
+
}
|
|
61
|
+
/** Explicit list items only; a preamble or header before the list is not a step. Lines are pacing-note free. */
|
|
62
|
+
function listSteps(lines) {
|
|
63
|
+
const items = [];
|
|
64
|
+
lines.forEach((line, index) => {
|
|
65
|
+
const numbered = numberedItems(line);
|
|
66
|
+
if (numbered)
|
|
67
|
+
items.push(...numbered.map(item => ({ ...item, line: index })));
|
|
68
|
+
else if (BULLET.test(line))
|
|
69
|
+
items.push({ text: line.replace(BULLET, ''), line: index });
|
|
70
|
+
});
|
|
71
|
+
if (!items.length)
|
|
72
|
+
return null;
|
|
73
|
+
// Mixed numbering and bullets usually means sub-steps; a list must read 1, 2, 3 ...
|
|
74
|
+
if (items.some(item => item.n === undefined) && items.some(item => item.n !== undefined))
|
|
75
|
+
return;
|
|
76
|
+
if (items[0].n !== undefined && items.some((item, i) => item.n !== i + 1))
|
|
77
|
+
return;
|
|
78
|
+
// Unlisted text between or after items may continue or qualify a step.
|
|
79
|
+
for (let i = items[0].line; i < lines.length; i++) {
|
|
80
|
+
if (lines[i].trim() && !items.some(item => item.line === i))
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
return items.map(item => cleanStep(item.text));
|
|
84
|
+
}
|
|
85
|
+
/** Command lines of an unnumbered request, without a header or leading context. */
|
|
86
|
+
function commandLines(lines) {
|
|
87
|
+
const headers = lines.flatMap((line, i) => HEADER.test(maskQuotes(line)) ? [i] : []);
|
|
88
|
+
if (headers.length > 1)
|
|
89
|
+
return;
|
|
90
|
+
let body = headers.length ? lines.slice(headers[0] + 1) : lines;
|
|
91
|
+
// Only one command block may follow a header; a second block is extra content.
|
|
92
|
+
const blocks = body.join('\n').trim().split(/\n\s*\n/u).filter(block => block.trim());
|
|
93
|
+
if (headers.length && blocks.length > 1)
|
|
94
|
+
return;
|
|
95
|
+
// A leading context paragraph before further paragraphs is dropped as a whole.
|
|
96
|
+
while (blocks.length > 1 && CONTEXT.test(blocks[0].trim()))
|
|
97
|
+
blocks.shift();
|
|
98
|
+
body = blocks.join('\n').split('\n').filter(line => line.trim());
|
|
99
|
+
// Then leading context sentences on the first command line.
|
|
100
|
+
while (body.length && CONTEXT.test(body[0].trim())) {
|
|
101
|
+
const masked = maskQuotes(body[0]);
|
|
102
|
+
const end = masked.search(/[.。!?](?:\s+|$)/u);
|
|
103
|
+
const rest = end < 0 ? '' : body[0].slice(end + 1).trim();
|
|
104
|
+
if (rest)
|
|
105
|
+
body[0] = rest;
|
|
106
|
+
else
|
|
107
|
+
body.shift();
|
|
108
|
+
}
|
|
109
|
+
// An inline header before a one-line list, e.g. "ทำตามขั้นตอนนี้ทีละขั้น: a, b".
|
|
110
|
+
// A URL scheme or time has no space after its colon, so it is never a header.
|
|
111
|
+
const inline = body.length && !headers.length ? /^([^,、,::]{1,120})[::]\s+(\S.*)$/u.exec(maskQuotes(body[0])) : null;
|
|
112
|
+
if (inline && !/\/\/|\d$/u.test(inline[1]))
|
|
113
|
+
body[0] = body[0].slice(body[0].length - inline[2].length);
|
|
114
|
+
return body;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Returns ordered atomic steps only for an unmistakable explicit step list.
|
|
118
|
+
* A numbered or bulleted list yields exactly its items; otherwise commas and
|
|
119
|
+
* connectors split the command lines. Anything conditional, oversized,
|
|
120
|
+
* single-step or ambiguous stays on the normal path.
|
|
121
|
+
*/
|
|
122
|
+
function parseCommandSteps(command) {
|
|
123
|
+
if (typeof command !== 'string' || command.length > 4000)
|
|
124
|
+
return;
|
|
125
|
+
const lines = command.split(/\r?\n/u).map(line => META.test(line.trim()) ? '' : line);
|
|
126
|
+
// Conditions anywhere, including an ignored preamble, need reasoning between steps.
|
|
127
|
+
if (lines.some(line => CONDITIONAL.test(maskQuotes(line))))
|
|
128
|
+
return;
|
|
129
|
+
const listed = listSteps(lines);
|
|
130
|
+
// An empty list item leaves the numbering, and so the user's intent, unclear.
|
|
131
|
+
if (listed === undefined || listed?.some(step => !step))
|
|
132
|
+
return;
|
|
133
|
+
const steps = listed ?? [];
|
|
134
|
+
if (!listed) {
|
|
135
|
+
const body = commandLines(lines);
|
|
136
|
+
if (!body)
|
|
137
|
+
return;
|
|
138
|
+
for (const line of body) {
|
|
139
|
+
const commas = splitAt(line, maskQuotes(line), /(?<!\d),|,(?!\d)|、|,/gu);
|
|
140
|
+
for (const part of commas) {
|
|
141
|
+
for (const step of splitAt(part, maskQuotes(part), CONNECTOR)) {
|
|
142
|
+
const text = cleanStep(step);
|
|
143
|
+
if (text)
|
|
144
|
+
steps.push(text);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (steps.length < 2 || steps.length > exports.COMMAND_STEPS_MAX)
|
|
150
|
+
return;
|
|
151
|
+
if (steps.some(step => step.length > exports.STEP_TEXT_MAX || CONDITIONAL.test(maskQuotes(step))))
|
|
152
|
+
return;
|
|
153
|
+
return steps;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=command-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-steps.js","sourceRoot":"","sources":["../../src/automation/command-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ComputerUseDependencies } from './computer-use';
|
|
2
|
+
/** Keep opaque app/control IDs out of the provider's choice vocabulary.
|
|
3
|
+
* Maps live for this request only. Descriptions, state and correlation stay intact.
|
|
4
|
+
* Decode and validate every answer before a controller can select an action.
|
|
5
|
+
*/
|
|
6
|
+
export declare function evaluateComputerChoices(request: Parameters<ComputerUseDependencies['evaluate']>[0], evaluate: (request: Parameters<ComputerUseDependencies['evaluate']>[0]) => ReturnType<ComputerUseDependencies['evaluate']>): ReturnType<ComputerUseDependencies['evaluate']>;
|
|
7
|
+
//# sourceMappingURL=computer-choice-ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-choice-ids.d.ts","sourceRoot":"","sources":["../../src/automation/computer-choice-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,gBAAgB,CAAC;AAG5D;;;GAGG;AACH,wBAAsB,uBAAuB,CAC5C,OAAO,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D,QAAQ,EAAE,CAAC,OAAO,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,GACtH,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAahD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateComputerChoices = evaluateComputerChoices;
|
|
4
|
+
const computer_policy_1 = require("./computer-policy");
|
|
5
|
+
/** Keep opaque app/control IDs out of the provider's choice vocabulary.
|
|
6
|
+
* Maps live for this request only. Descriptions, state and correlation stay intact.
|
|
7
|
+
* Decode and validate every answer before a controller can select an action.
|
|
8
|
+
*/
|
|
9
|
+
async function evaluateComputerChoices(request, evaluate) {
|
|
10
|
+
const ids = new Map(Object.entries(request.questions).map(([name, q]) => [name, Object.keys(q.criteria)]));
|
|
11
|
+
const questions = Object.fromEntries(Object.entries(request.questions).map(([name, q]) => [name, { ...q,
|
|
12
|
+
criteria: Object.fromEntries(ids.get(name).map((id, i) => [String(i), q.criteria[id]])),
|
|
13
|
+
}]));
|
|
14
|
+
const response = await evaluate({ ...request, questions });
|
|
15
|
+
if (Object.keys(response.answers).length !== ids.size || Object.keys(response.answers).some(name => !ids.has(name)))
|
|
16
|
+
throw Error('INVALID_DECISION');
|
|
17
|
+
const answers = Object.fromEntries(Object.entries(questions).map(([name, q]) => {
|
|
18
|
+
const answer = (0, computer_policy_1.readChoice)(response.answers[name], q.criteria), keys = ids.get(name);
|
|
19
|
+
return [name, { type: 'choice', choice: keys[Number(answer.choice)], confidence: answer.confidence,
|
|
20
|
+
probabilities: Object.fromEntries(Object.entries(answer.probabilities).map(([id, p]) => [keys[Number(id)], p])) }];
|
|
21
|
+
}));
|
|
22
|
+
return { ...response, answers };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=computer-choice-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-choice-ids.js","sourceRoot":"","sources":["../../src/automation/computer-choice-ids.ts"],"names":[],"mappings":";;AAOA,0DAgBC;AAtBD,uDAA6C;AAE7C;;;GAGG;AACI,KAAK,UAAU,uBAAuB,CAC5C,OAA0D,EAC1D,QAAuH;IAEvH,MAAM,GAAG,GAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,EAAC,EAAE,CAAA,CAAC,IAAI,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,SAAS,GAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,EAAC,EAAE,CAAA,CAAC,IAAI,EAAC,EAAC,GAAG,CAAC;YAC/F,QAAQ,EAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAC,CAAC,EAAC,EAAE,CAAA,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,QAAQ,GAAC,MAAM,QAAQ,CAAC,EAAC,GAAG,OAAO,EAAC,SAAS,EAAC,CAAC,CAAC;IACtD,IAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAG,GAAG,CAAC,IAAI,IAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA,EAAE,CAAA,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7I,MAAM,OAAO,GAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,EAAC,EAAE;QAC1E,MAAM,MAAM,GAAC,IAAA,4BAAU,EAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,EAAC,IAAI,GAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC/E,OAAO,CAAC,IAAI,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,UAAU,EAAC,MAAM,CAAC,UAAU;gBAC1F,aAAa,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,EAAE,CAAA,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,EAAC,GAAG,QAAQ,EAAC,OAAO,EAAC,CAAC;AAC9B,CAAC"}
|