@namzu/sdk 32.0.0 → 33.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/dist/authorization/gate.d.ts +1 -1
- package/dist/authorization/gate.js +1 -1
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +13 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +3 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/connector/index.d.ts +1 -1
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +1 -1
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +71 -16
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +3 -2
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/http-redirect.d.ts +17 -0
- package/dist/connector/mcp/http-redirect.d.ts.map +1 -0
- package/dist/connector/mcp/http-redirect.js +31 -0
- package/dist/connector/mcp/http-redirect.js.map +1 -0
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +5 -0
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/image-admission.d.ts +16 -0
- package/dist/connector/mcp/image-admission.d.ts.map +1 -0
- package/dist/connector/mcp/image-admission.js +288 -0
- package/dist/connector/mcp/image-admission.js.map +1 -0
- package/dist/connector/mcp/stdio.d.ts +13 -0
- package/dist/connector/mcp/stdio.d.ts.map +1 -1
- package/dist/connector/mcp/stdio.js +66 -23
- package/dist/connector/mcp/stdio.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +3 -0
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/constants/tools/index.js +1 -1
- package/dist/constants/tools/index.js.map +1 -1
- package/dist/execution/base.d.ts +13 -0
- package/dist/execution/base.d.ts.map +1 -1
- package/dist/execution/base.js +103 -8
- package/dist/execution/base.js.map +1 -1
- package/dist/execution/errors.d.ts +12 -0
- package/dist/execution/errors.d.ts.map +1 -0
- package/dist/execution/errors.js +21 -0
- package/dist/execution/errors.js.map +1 -0
- package/dist/execution/factory.d.ts.map +1 -1
- package/dist/execution/factory.js +1 -0
- package/dist/execution/factory.js.map +1 -1
- package/dist/execution/hybrid.d.ts +5 -0
- package/dist/execution/hybrid.d.ts.map +1 -1
- package/dist/execution/hybrid.js +36 -16
- package/dist/execution/hybrid.js.map +1 -1
- package/dist/execution/index.d.ts +1 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +1 -0
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/local.d.ts +13 -0
- package/dist/execution/local.d.ts.map +1 -1
- package/dist/execution/local.js +145 -19
- package/dist/execution/local.js.map +1 -1
- package/dist/execution/output.d.ts +27 -0
- package/dist/execution/output.d.ts.map +1 -0
- package/dist/execution/output.js +105 -0
- package/dist/execution/output.js.map +1 -0
- package/dist/execution/remote.d.ts +26 -2
- package/dist/execution/remote.d.ts.map +1 -1
- package/dist/execution/remote.js +86 -15
- package/dist/execution/remote.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +9 -3
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/process/kill-tree.d.ts +11 -13
- package/dist/process/kill-tree.d.ts.map +1 -1
- package/dist/process/kill-tree.js +11 -13
- package/dist/process/kill-tree.js.map +1 -1
- package/dist/provider/capabilities.d.ts +2 -0
- package/dist/provider/capabilities.d.ts.map +1 -1
- package/dist/provider/capabilities.js +6 -0
- package/dist/provider/capabilities.js.map +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +31 -0
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts.map +1 -1
- package/dist/provider/idle-timeout.js +5 -0
- package/dist/provider/idle-timeout.js.map +1 -1
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +5 -0
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +2 -2
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +2 -2
- package/dist/public-runtime.js.map +1 -1
- package/dist/registry/tool/execute.d.ts +7 -1
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +201 -54
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/run/command-gate.d.ts.map +1 -1
- package/dist/run/command-gate.js +11 -0
- package/dist/run/command-gate.js.map +1 -1
- package/dist/run/workspace-fingerprint.d.ts +4 -4
- package/dist/run/workspace-fingerprint.d.ts.map +1 -1
- package/dist/run/workspace-fingerprint.js +6 -4
- package/dist/run/workspace-fingerprint.js.map +1 -1
- package/dist/runtime/bidi/index.d.ts +1 -1
- package/dist/runtime/bidi/index.d.ts.map +1 -1
- package/dist/runtime/bidi/index.js +1 -1
- package/dist/runtime/bidi/index.js.map +1 -1
- package/dist/runtime/bidi/session.d.ts +19 -0
- package/dist/runtime/bidi/session.d.ts.map +1 -1
- package/dist/runtime/bidi/session.js +150 -26
- package/dist/runtime/bidi/session.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +43 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +626 -161
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts +3 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +48 -4
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +10 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +67 -0
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +5 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +84 -22
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/request-rich-content.d.ts.map +1 -1
- package/dist/runtime/query/request-rich-content.js +33 -13
- package/dist/runtime/query/request-rich-content.js.map +1 -1
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +25 -22
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts +5 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +66 -1
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +45 -16
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +6 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +4 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +193 -41
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/scheduler/delegating.d.ts +2 -1
- package/dist/scheduler/delegating.d.ts.map +1 -1
- package/dist/scheduler/delegating.js +6 -5
- package/dist/scheduler/delegating.js.map +1 -1
- package/dist/scheduler/local.d.ts +2 -1
- package/dist/scheduler/local.d.ts.map +1 -1
- package/dist/scheduler/local.js +2 -2
- package/dist/scheduler/local.js.map +1 -1
- package/dist/session/workspace/driver.d.ts +12 -4
- package/dist/session/workspace/driver.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.d.ts +17 -3
- package/dist/session/workspace/git-worktree.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.js +153 -34
- package/dist/session/workspace/git-worktree.js.map +1 -1
- package/dist/skills/registry.d.ts +15 -0
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +33 -0
- package/dist/skills/registry.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +76 -2
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/run-code.d.ts.map +1 -1
- package/dist/tools/builtins/run-code.js +9 -11
- package/dist/tools/builtins/run-code.js.map +1 -1
- package/dist/tools/builtins/skill.d.ts +2 -1
- package/dist/tools/builtins/skill.d.ts.map +1 -1
- package/dist/tools/builtins/skill.js +250 -6
- package/dist/tools/builtins/skill.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts.map +1 -1
- package/dist/tools/coordinator/agent.js +100 -30
- package/dist/tools/coordinator/agent.js.map +1 -1
- package/dist/types/agent/manager.d.ts +1 -1
- package/dist/types/agent/manager.d.ts.map +1 -1
- package/dist/types/agent/scheduler.d.ts +10 -1
- package/dist/types/agent/scheduler.d.ts.map +1 -1
- package/dist/types/authorization/index.d.ts +12 -12
- package/dist/types/bidi/index.d.ts +19 -2
- package/dist/types/bidi/index.d.ts.map +1 -1
- package/dist/types/computer-use/index.d.ts +18 -0
- package/dist/types/computer-use/index.d.ts.map +1 -1
- package/dist/types/connector/execution-context.d.ts +3 -1
- package/dist/types/connector/execution-context.d.ts.map +1 -1
- package/dist/types/errors/catalog.d.ts.map +1 -1
- package/dist/types/errors/catalog.js +13 -6
- package/dist/types/errors/catalog.js.map +1 -1
- package/dist/types/errors/index.d.ts.map +1 -1
- package/dist/types/errors/index.js +21 -8
- package/dist/types/errors/index.js.map +1 -1
- package/dist/types/execution/index.d.ts +43 -1
- package/dist/types/execution/index.d.ts.map +1 -1
- package/dist/types/hitl/index.d.ts +11 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +1 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +2 -1
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +14 -1
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +1 -0
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/config.d.ts +9 -0
- package/dist/types/provider/config.d.ts.map +1 -1
- package/dist/types/provider/interface.d.ts +14 -0
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +17 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/sandbox/index.d.ts +15 -10
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +77 -6
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +6 -2
- package/dist/types/tool/presentation.d.ts.map +1 -1
- package/dist/types/workspace/ref.d.ts +5 -0
- package/dist/types/workspace/ref.d.ts.map +1 -1
- package/dist/utils/abort.d.ts +8 -0
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js +16 -0
- package/dist/utils/abort.js.map +1 -1
- package/package.json +4 -4
- package/src/authorization/gate.ts +1 -1
- package/src/bridge/a2a/mapper.ts +23 -4
- package/src/bridge/sse/mapper.ts +3 -0
- package/src/connector/index.ts +2 -0
- package/src/connector/mcp/adapter.ts +82 -21
- package/src/connector/mcp/client.ts +2 -1
- package/src/connector/mcp/http-redirect.ts +32 -0
- package/src/connector/mcp/http-sse.ts +5 -0
- package/src/connector/mcp/image-admission.ts +272 -0
- package/src/connector/mcp/stdio.ts +63 -21
- package/src/connector/mcp/streamable-http.ts +3 -0
- package/src/constants/tools/index.ts +1 -1
- package/src/execution/base.ts +124 -7
- package/src/execution/errors.ts +24 -0
- package/src/execution/factory.ts +1 -0
- package/src/execution/hybrid.ts +47 -16
- package/src/execution/index.ts +1 -0
- package/src/execution/local.ts +164 -19
- package/src/execution/output.ts +104 -0
- package/src/execution/remote.ts +122 -17
- package/src/plugin/lifecycle.ts +9 -3
- package/src/process/kill-tree.ts +11 -13
- package/src/provider/capabilities.ts +10 -0
- package/src/provider/fallback.ts +39 -0
- package/src/provider/idle-timeout.ts +8 -0
- package/src/provider/retry.ts +8 -0
- package/src/public-runtime.ts +7 -1
- package/src/registry/tool/execute.ts +230 -64
- package/src/run/command-gate.ts +12 -0
- package/src/run/workspace-fingerprint.ts +5 -4
- package/src/runtime/bidi/index.ts +1 -1
- package/src/runtime/bidi/session.ts +177 -28
- package/src/runtime/query/executor.ts +769 -163
- package/src/runtime/query/index.ts +58 -7
- package/src/runtime/query/iteration/index.ts +72 -0
- package/src/runtime/query/iteration/phases/context.ts +5 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +87 -23
- package/src/runtime/query/request-rich-content.ts +39 -14
- package/src/runtime/query/result.ts +25 -23
- package/src/runtime/query/resume-pending.ts +83 -1
- package/src/runtime/query/tool-output-budget.ts +52 -17
- package/src/runtime/query/tooling.ts +10 -0
- package/src/sandbox/provider/local.ts +213 -45
- package/src/scheduler/delegating.ts +6 -5
- package/src/scheduler/local.ts +3 -2
- package/src/session/workspace/driver.ts +12 -4
- package/src/session/workspace/git-worktree.ts +173 -34
- package/src/skills/registry.ts +47 -0
- package/src/tools/builtins/computer-use.ts +86 -2
- package/src/tools/builtins/run-code.ts +9 -11
- package/src/tools/builtins/skill.ts +325 -7
- package/src/tools/coordinator/agent.ts +108 -33
- package/src/types/agent/manager.ts +1 -1
- package/src/types/agent/scheduler.ts +10 -1
- package/src/types/bidi/index.ts +19 -2
- package/src/types/computer-use/index.ts +19 -0
- package/src/types/connector/execution-context.ts +3 -0
- package/src/types/errors/catalog.ts +14 -6
- package/src/types/errors/index.ts +22 -8
- package/src/types/execution/index.ts +46 -1
- package/src/types/hitl/index.ts +11 -0
- package/src/types/message/index.ts +3 -2
- package/src/types/plugin/index.ts +15 -0
- package/src/types/provider/config.ts +9 -0
- package/src/types/provider/interface.ts +18 -0
- package/src/types/run/events.ts +17 -3
- package/src/types/sandbox/index.ts +15 -10
- package/src/types/tool/index.ts +85 -6
- package/src/types/tool/presentation.ts +10 -3
- package/src/types/workspace/ref.ts +5 -0
- package/src/utils/abort.ts +18 -0
|
@@ -17,12 +17,18 @@ import type { WorkspaceBackendKind, WorkspaceRef } from '../../types/workspace/r
|
|
|
17
17
|
*/
|
|
18
18
|
export interface CreateWorkspaceParams {
|
|
19
19
|
baseRef?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Traceable name below the configured workspace root. Nested names are
|
|
22
|
+
* accepted; absolute paths, traversal, and paths rewritten by a filesystem
|
|
23
|
+
* link are refused by the reference Git driver.
|
|
24
|
+
*/
|
|
20
25
|
label?: string;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
23
|
-
* Params for {@link WorkspaceBackendDriver.branch}. `label` is a
|
|
24
|
-
*
|
|
25
|
-
* without reaching into the driver's internal naming scheme.
|
|
28
|
+
* Params for {@link WorkspaceBackendDriver.branch}. `label` is a traceable tag
|
|
29
|
+
* embedded into the new workspace name so operators can identify provenance
|
|
30
|
+
* without reaching into the driver's internal naming scheme. Backend path and
|
|
31
|
+
* identifier constraints still apply.
|
|
26
32
|
*/
|
|
27
33
|
export interface BranchWorkspaceParams {
|
|
28
34
|
label?: string;
|
|
@@ -42,7 +48,9 @@ export interface WorkspaceInspection {
|
|
|
42
48
|
* Backend driver contract. All methods are async and may throw
|
|
43
49
|
* {@link WorkspaceBackendError} on I/O failures. `dispose` is idempotent —
|
|
44
50
|
* calling it against an already-disposed ref is not an error (mitigates
|
|
45
|
-
* roadmap Risk #3: broadcast rollback must not fail on partial state).
|
|
51
|
+
* roadmap Risk #3: broadcast rollback must not fail on partial state). A ref
|
|
52
|
+
* remains affiliated with the driver configuration that created it; drivers
|
|
53
|
+
* refuse foreign backend, repository, or ownership-root metadata.
|
|
46
54
|
*/
|
|
47
55
|
export interface WorkspaceBackendDriver {
|
|
48
56
|
readonly kind: WorkspaceBackendKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/session/workspace/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/session/workspace/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5D,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAClF,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;CACxD;AAED,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* See session-hierarchy.md §7.2 (Git-worktree reference backend).
|
|
6
6
|
*
|
|
7
|
-
* Safety: every subprocess invocation uses `execFile` with an argv array
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Safety: every subprocess invocation uses `execFile` with an argv array and
|
|
8
|
+
* separates caller-controlled positional arguments from Git options with
|
|
9
|
+
* `--`. Filesystem paths are canonicalized and confined to the configured
|
|
10
|
+
* worktree root before Git receives them. Failures surface as
|
|
10
11
|
* {@link WorkspaceBackendError} carrying the underlying cause.
|
|
11
12
|
*/
|
|
12
13
|
import type { WorkspaceRef } from '../../types/workspace/ref.js';
|
|
@@ -67,6 +68,19 @@ export declare class GitWorktreeDriver implements WorkspaceBackendDriver {
|
|
|
67
68
|
*/
|
|
68
69
|
private createdDespite;
|
|
69
70
|
inspect(ref: WorkspaceRef): Promise<WorkspaceInspection>;
|
|
71
|
+
/**
|
|
72
|
+
* Turn persisted metadata back into an owned driver capability.
|
|
73
|
+
*
|
|
74
|
+
* A WorkspaceRef is recovery data, not authority to make this driver act on
|
|
75
|
+
* any worktree registered in the same repository. Existing links are
|
|
76
|
+
* resolved before the boundary is decided, and every Git call receives the
|
|
77
|
+
* canonical path that was checked. This closes static symlink escapes. It
|
|
78
|
+
* does not claim protection from a host process concurrently swapping path
|
|
79
|
+
* components or mount points; the Git CLI exposes no descriptor-relative
|
|
80
|
+
* removal primitive with which to make that guarantee.
|
|
81
|
+
*/
|
|
82
|
+
private requireOwnedRef;
|
|
83
|
+
private registeredEntry;
|
|
70
84
|
}
|
|
71
85
|
/**
|
|
72
86
|
* Parses `git worktree list --porcelain` output, returning the record for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-worktree.d.ts","sourceRoot":"","sources":["../../../src/session/workspace/git-worktree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git-worktree.d.ts","sourceRoot":"","sources":["../../../src/session/workspace/git-worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAA0B,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAGxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EACX,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,aAAa,CAAA;AAIpB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAIzF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED,qBAAa,iBAAkB,YAAW,sBAAsB;IAC/D,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAEnB,MAAM,EAAE,uBAAuB;IAOrC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmF5D,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;IAOlF,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C/C;;;;;;;;;;;;;OAaG;YACW,cAAc;IAmBtB,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoC9D;;;;;;;;;;OAUG;YACW,eAAe;YAmCf,eAAe;CAqB7B;AA4BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBzD"}
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
*
|
|
5
5
|
* See session-hierarchy.md §7.2 (Git-worktree reference backend).
|
|
6
6
|
*
|
|
7
|
-
* Safety: every subprocess invocation uses `execFile` with an argv array
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Safety: every subprocess invocation uses `execFile` with an argv array and
|
|
8
|
+
* separates caller-controlled positional arguments from Git options with
|
|
9
|
+
* `--`. Filesystem paths are canonicalized and confined to the configured
|
|
10
|
+
* worktree root before Git receives them. Failures surface as
|
|
10
11
|
* {@link WorkspaceBackendError} carrying the underlying cause.
|
|
11
12
|
*/
|
|
12
13
|
import { execFile } from 'node:child_process';
|
|
13
|
-
import {
|
|
14
|
+
import { realpath } from 'node:fs/promises';
|
|
15
|
+
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
14
16
|
import { promisify } from 'node:util';
|
|
15
17
|
import { NAMZU } from '../../constants/telemetry/index.js';
|
|
16
18
|
import { generateWorkspaceId } from '../../utils/id.js';
|
|
@@ -25,17 +27,41 @@ export class GitWorktreeDriver {
|
|
|
25
27
|
log;
|
|
26
28
|
exec;
|
|
27
29
|
constructor(config) {
|
|
28
|
-
this.repoRoot = config.repoRoot;
|
|
29
|
-
this.worktreesDir = config.worktreesDir ?? join(config.repoRoot, '.namzu', 'worktrees');
|
|
30
|
+
this.repoRoot = resolve(config.repoRoot);
|
|
31
|
+
this.worktreesDir = resolve(config.worktreesDir ?? join(config.repoRoot, '.namzu', 'worktrees'));
|
|
30
32
|
this.log = config.logger.child({ [SCOPE_ATTRIBUTE]: 'session/workspace/git-worktree' });
|
|
31
33
|
this.exec = config.execFile ?? defaultExecFile;
|
|
32
34
|
}
|
|
33
35
|
async create(params) {
|
|
34
36
|
const id = generateWorkspaceId();
|
|
35
37
|
const label = params.label ?? id;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
let repoRoot;
|
|
39
|
+
let worktreesDir;
|
|
40
|
+
let worktreePath;
|
|
41
|
+
try {
|
|
42
|
+
repoRoot = await canonicalizeThroughExisting(this.repoRoot);
|
|
43
|
+
worktreesDir = await canonicalizeThroughExisting(this.worktreesDir);
|
|
44
|
+
const lexicalPath = resolve(worktreesDir, label);
|
|
45
|
+
if (!isStrictDescendant(worktreesDir, lexicalPath)) {
|
|
46
|
+
throw new Error(`Workspace label escapes the managed worktree directory: ${label}`);
|
|
47
|
+
}
|
|
48
|
+
worktreePath = await canonicalizeThroughExisting(lexicalPath);
|
|
49
|
+
if (!isStrictDescendant(worktreesDir, worktreePath)) {
|
|
50
|
+
throw new Error(`Workspace label resolves through a link outside the managed worktree directory: ${label}`);
|
|
51
|
+
}
|
|
52
|
+
if (relative(worktreesDir, lexicalPath) !== relative(worktreesDir, worktreePath)) {
|
|
53
|
+
throw new Error(`Workspace label resolves through a link to a different managed path: ${label}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (cause) {
|
|
57
|
+
throw new WorkspaceBackendError({ op: 'create:ownership', kind: this.kind, cause });
|
|
58
|
+
}
|
|
59
|
+
const relativePath = relative(worktreesDir, worktreePath).split(sep).join('/');
|
|
60
|
+
const branch = `namzu/${relativePath}`;
|
|
61
|
+
// `--` belongs before caller-controlled positional arguments. Without it,
|
|
62
|
+
// a base ref such as `--no-checkout` is accepted as a Git option and the
|
|
63
|
+
// driver publishes a checkout containing only its `.git` link.
|
|
64
|
+
const argv = ['-C', repoRoot, 'worktree', 'add', '-b', branch, '--', worktreePath];
|
|
39
65
|
if (params.baseRef !== undefined) {
|
|
40
66
|
argv.push(params.baseRef);
|
|
41
67
|
}
|
|
@@ -55,7 +81,7 @@ export class GitWorktreeDriver {
|
|
|
55
81
|
// The bar is deliberately high: registered under this exact path
|
|
56
82
|
// AND carrying the branch this call asked for. A registered path
|
|
57
83
|
// alone can be a half-finished checkout, or somebody else's.
|
|
58
|
-
if (!(await this.createdDespite(worktreePath, branch))) {
|
|
84
|
+
if (!(await this.createdDespite(repoRoot, worktreePath, branch))) {
|
|
59
85
|
throw new WorkspaceBackendError({ op: 'create', kind: this.kind, cause });
|
|
60
86
|
}
|
|
61
87
|
this.log.warn('git-worktree add reported failure but the worktree is present', {
|
|
@@ -66,7 +92,7 @@ export class GitWorktreeDriver {
|
|
|
66
92
|
}
|
|
67
93
|
const meta = {
|
|
68
94
|
backend: 'git-worktree',
|
|
69
|
-
repoRoot
|
|
95
|
+
repoRoot,
|
|
70
96
|
branch,
|
|
71
97
|
worktreePath,
|
|
72
98
|
};
|
|
@@ -84,34 +110,47 @@ export class GitWorktreeDriver {
|
|
|
84
110
|
async branch(source, params) {
|
|
85
111
|
// Branch from the source worktree's current branch. The source's
|
|
86
112
|
// `meta.branch` is the ref we base off.
|
|
87
|
-
|
|
113
|
+
const owned = await this.requireOwnedRef(source, 'branch');
|
|
114
|
+
return this.create({ baseRef: owned.branch, label: params.label });
|
|
88
115
|
}
|
|
89
116
|
async dispose(ref) {
|
|
117
|
+
const owned = await this.requireOwnedRef(ref, 'dispose');
|
|
118
|
+
const registered = await this.registeredEntry(owned, 'dispose:list');
|
|
119
|
+
if (!registered) {
|
|
120
|
+
this.log.debug('git-worktree already gone; dispose idempotent', {
|
|
121
|
+
[NAMZU.SESSION_ID]: ref.id,
|
|
122
|
+
'namzu.session.path': owned.worktreePath,
|
|
123
|
+
});
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
90
126
|
// Tolerate missing directories per roadmap Risk #3 mitigation: the
|
|
91
127
|
// broadcast-rollback compensating step calls dispose on partially
|
|
92
|
-
// provisioned refs and must not propagate "already gone" errors.
|
|
128
|
+
// provisioned refs and must not propagate "already gone" errors. The
|
|
129
|
+
// repository list, rather than an error-message regex, is the evidence:
|
|
130
|
+
// an unavailable repository can contain the same "No such file" words.
|
|
93
131
|
try {
|
|
94
132
|
await this.exec('git', [
|
|
95
133
|
'-C',
|
|
96
|
-
|
|
134
|
+
owned.repoRoot,
|
|
97
135
|
'worktree',
|
|
98
136
|
'remove',
|
|
99
|
-
|
|
137
|
+
owned.worktreePath,
|
|
100
138
|
'--force',
|
|
101
139
|
]);
|
|
102
140
|
this.log.info('git-worktree disposed', {
|
|
103
141
|
[NAMZU.SESSION_ID]: ref.id,
|
|
104
|
-
'namzu.session.path':
|
|
142
|
+
'namzu.session.path': owned.worktreePath,
|
|
105
143
|
});
|
|
106
144
|
}
|
|
107
145
|
catch (cause) {
|
|
108
|
-
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
|
|
146
|
+
// Two concurrent disposals can both observe the entry before one wins.
|
|
147
|
+
// Re-read after failure and accept only repository evidence that the
|
|
148
|
+
// exact owned branch/path pair is now absent.
|
|
149
|
+
const nowRegistered = await this.registeredEntry(owned, 'dispose:recheck').catch(() => undefined);
|
|
150
|
+
if (nowRegistered === null) {
|
|
112
151
|
this.log.debug('git-worktree already gone; dispose idempotent', {
|
|
113
152
|
[NAMZU.SESSION_ID]: ref.id,
|
|
114
|
-
'namzu.session.path':
|
|
153
|
+
'namzu.session.path': owned.worktreePath,
|
|
115
154
|
});
|
|
116
155
|
return;
|
|
117
156
|
}
|
|
@@ -132,15 +171,9 @@ export class GitWorktreeDriver {
|
|
|
132
171
|
* has already gone wrong once, and guessing optimistically there is how
|
|
133
172
|
* a recovery turns a bad situation into a wrong one.
|
|
134
173
|
*/
|
|
135
|
-
async createdDespite(worktreePath, branch) {
|
|
174
|
+
async createdDespite(repoRoot, worktreePath, branch) {
|
|
136
175
|
try {
|
|
137
|
-
const { stdout } = await this.exec('git', [
|
|
138
|
-
'-C',
|
|
139
|
-
this.repoRoot,
|
|
140
|
-
'worktree',
|
|
141
|
-
'list',
|
|
142
|
-
'--porcelain',
|
|
143
|
-
]);
|
|
176
|
+
const { stdout } = await this.exec('git', ['-C', repoRoot, 'worktree', 'list', '--porcelain']);
|
|
144
177
|
const entry = parseWorktreeList(stdout, worktreePath);
|
|
145
178
|
// `--porcelain` writes the branch as a full ref (`refs/heads/x`),
|
|
146
179
|
// and `branch` here is the short name this call passed to `-b`.
|
|
@@ -154,11 +187,12 @@ export class GitWorktreeDriver {
|
|
|
154
187
|
}
|
|
155
188
|
}
|
|
156
189
|
async inspect(ref) {
|
|
190
|
+
const owned = await this.requireOwnedRef(ref, 'inspect');
|
|
157
191
|
let listStdout;
|
|
158
192
|
try {
|
|
159
193
|
const result = await this.exec('git', [
|
|
160
194
|
'-C',
|
|
161
|
-
|
|
195
|
+
owned.repoRoot,
|
|
162
196
|
'worktree',
|
|
163
197
|
'list',
|
|
164
198
|
'--porcelain',
|
|
@@ -168,13 +202,13 @@ export class GitWorktreeDriver {
|
|
|
168
202
|
catch (cause) {
|
|
169
203
|
throw new WorkspaceBackendError({ op: 'inspect:list', kind: this.kind, cause });
|
|
170
204
|
}
|
|
171
|
-
const entry = parseWorktreeList(listStdout,
|
|
172
|
-
if (!entry) {
|
|
173
|
-
return { exists: false, currentRef:
|
|
205
|
+
const entry = parseWorktreeList(listStdout, owned.worktreePath);
|
|
206
|
+
if (!entry || entry.branch !== `refs/heads/${owned.branch}`) {
|
|
207
|
+
return { exists: false, currentRef: owned.branch, isDirty: false };
|
|
174
208
|
}
|
|
175
209
|
let statusStdout;
|
|
176
210
|
try {
|
|
177
|
-
const result = await this.exec('git', ['-C',
|
|
211
|
+
const result = await this.exec('git', ['-C', owned.worktreePath, 'status', '--porcelain']);
|
|
178
212
|
statusStdout = result.stdout;
|
|
179
213
|
}
|
|
180
214
|
catch (cause) {
|
|
@@ -186,6 +220,91 @@ export class GitWorktreeDriver {
|
|
|
186
220
|
isDirty: statusStdout.trim().length > 0,
|
|
187
221
|
};
|
|
188
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Turn persisted metadata back into an owned driver capability.
|
|
225
|
+
*
|
|
226
|
+
* A WorkspaceRef is recovery data, not authority to make this driver act on
|
|
227
|
+
* any worktree registered in the same repository. Existing links are
|
|
228
|
+
* resolved before the boundary is decided, and every Git call receives the
|
|
229
|
+
* canonical path that was checked. This closes static symlink escapes. It
|
|
230
|
+
* does not claim protection from a host process concurrently swapping path
|
|
231
|
+
* components or mount points; the Git CLI exposes no descriptor-relative
|
|
232
|
+
* removal primitive with which to make that guarantee.
|
|
233
|
+
*/
|
|
234
|
+
async requireOwnedRef(ref, op) {
|
|
235
|
+
try {
|
|
236
|
+
if (ref.meta.backend !== this.kind) {
|
|
237
|
+
throw new Error(`Workspace backend ${ref.meta.backend} does not belong to ${this.kind}`);
|
|
238
|
+
}
|
|
239
|
+
const repoRoot = await canonicalizeThroughExisting(this.repoRoot);
|
|
240
|
+
const refRepoRoot = await canonicalizeThroughExisting(ref.meta.repoRoot);
|
|
241
|
+
if (refRepoRoot !== repoRoot) {
|
|
242
|
+
throw new Error('Workspace reference belongs to a different repository');
|
|
243
|
+
}
|
|
244
|
+
const worktreesDir = await canonicalizeThroughExisting(this.worktreesDir);
|
|
245
|
+
const worktreePath = await canonicalizeThroughExisting(ref.meta.worktreePath);
|
|
246
|
+
if (!isStrictDescendant(worktreesDir, worktreePath)) {
|
|
247
|
+
throw new Error('Workspace reference escapes the managed worktree directory');
|
|
248
|
+
}
|
|
249
|
+
const label = relative(worktreesDir, worktreePath).split(sep).join('/');
|
|
250
|
+
const branch = `namzu/${label}`;
|
|
251
|
+
if (ref.meta.branch !== branch) {
|
|
252
|
+
throw new Error('Workspace reference branch does not match its managed path');
|
|
253
|
+
}
|
|
254
|
+
return {
|
|
255
|
+
backend: 'git-worktree',
|
|
256
|
+
repoRoot,
|
|
257
|
+
branch,
|
|
258
|
+
worktreePath,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
catch (cause) {
|
|
262
|
+
throw new WorkspaceBackendError({ op: `${op}:ownership`, kind: this.kind, cause });
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
async registeredEntry(owned, op) {
|
|
266
|
+
let stdout;
|
|
267
|
+
try {
|
|
268
|
+
const result = await this.exec('git', [
|
|
269
|
+
'-C',
|
|
270
|
+
owned.repoRoot,
|
|
271
|
+
'worktree',
|
|
272
|
+
'list',
|
|
273
|
+
'--porcelain',
|
|
274
|
+
]);
|
|
275
|
+
stdout = result.stdout;
|
|
276
|
+
}
|
|
277
|
+
catch (cause) {
|
|
278
|
+
throw new WorkspaceBackendError({ op, kind: this.kind, cause });
|
|
279
|
+
}
|
|
280
|
+
const entry = parseWorktreeList(stdout, owned.worktreePath);
|
|
281
|
+
return entry?.branch === `refs/heads/${owned.branch}` ? entry : null;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/** Resolve every existing path component, preserving only a missing suffix. */
|
|
285
|
+
async function canonicalizeThroughExisting(input) {
|
|
286
|
+
let existing = resolve(input);
|
|
287
|
+
const remainder = [];
|
|
288
|
+
for (;;) {
|
|
289
|
+
try {
|
|
290
|
+
const canonical = await realpath(existing);
|
|
291
|
+
return resolve(canonical, ...remainder);
|
|
292
|
+
}
|
|
293
|
+
catch (cause) {
|
|
294
|
+
const code = cause.code;
|
|
295
|
+
if (code !== 'ENOENT' && code !== 'ENOTDIR')
|
|
296
|
+
throw cause;
|
|
297
|
+
}
|
|
298
|
+
const parent = dirname(existing);
|
|
299
|
+
if (parent === existing)
|
|
300
|
+
return resolve(existing, ...remainder);
|
|
301
|
+
remainder.unshift(basename(existing));
|
|
302
|
+
existing = parent;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
function isStrictDescendant(root, candidate) {
|
|
306
|
+
const rel = relative(root, candidate);
|
|
307
|
+
return rel !== '' && rel !== '..' && !rel.startsWith(`..${sep}`) && !isAbsolute(rel);
|
|
189
308
|
}
|
|
190
309
|
/**
|
|
191
310
|
* Parses `git worktree list --porcelain` output, returning the record for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-worktree.js","sourceRoot":"","sources":["../../../src/session/workspace/git-worktree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-worktree.js","sourceRoot":"","sources":["../../../src/session/workspace/git-worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,21 @@ export declare class SkillRegistry {
|
|
|
56
56
|
/** `same`, `changed`, or `gone`. */
|
|
57
57
|
private hasChanged;
|
|
58
58
|
list(): Skill[];
|
|
59
|
+
/**
|
|
60
|
+
* The model-facing catalog, keyed by what this registry actually accepts.
|
|
61
|
+
*
|
|
62
|
+
* Reading the Map key is load-bearing for host namespaces. A plugin may file
|
|
63
|
+
* `reconcile` as `ledger__reconcile`; reconstructing the name from the skill
|
|
64
|
+
* body would advertise a call that cannot resolve (and could collide with a
|
|
65
|
+
* different plugin's unqualified name).
|
|
66
|
+
*/
|
|
67
|
+
catalog(): Promise<readonly {
|
|
68
|
+
registeredName: string;
|
|
69
|
+
description: string;
|
|
70
|
+
location: string;
|
|
71
|
+
allowedTools?: string;
|
|
72
|
+
invocation?: 'model' | 'operator' | 'both';
|
|
73
|
+
}[]>;
|
|
59
74
|
/**
|
|
60
75
|
* Every registered name.
|
|
61
76
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAsB/D,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B;;;;;;;OAOG;gBACS,GAAG,CAAC,EAAE,MAAM;IAIlB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAiC,GAAG,OAAO,CAAC,KAAK,CAAC;IAOzF,6EAA6E;YAC/D,KAAK;IAeb,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAiC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBhG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIpC;;;;;;;OAOG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUrC;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKjC;;;;;;;;;;;;;;OAcG;IACG,IAAI,CACT,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,oBAA6B,GAClC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA4CvC,oCAAoC;YACtB,UAAU;IAiBxB,IAAI,IAAI,KAAK,EAAE;IAIf;;;;;;OAMG;IACH,KAAK,IAAI,SAAS,MAAM,EAAE;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED,wBAAsB,iBAAiB,CACtC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,oBAAiC,EACxC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAsB/D,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B;;;;;;;OAOG;gBACS,GAAG,CAAC,EAAE,MAAM;IAIlB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAiC,GAAG,OAAO,CAAC,KAAK,CAAC;IAOzF,6EAA6E;YAC/D,KAAK;IAeb,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAiC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBhG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIpC;;;;;;;OAOG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUrC;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKjC;;;;;;;;;;;;;;OAcG;IACG,IAAI,CACT,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,oBAA6B,GAClC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA4CvC,oCAAoC;YACtB,UAAU;IAiBxB,IAAI,IAAI,KAAK,EAAE;IAIf;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CACvB,SAAS;QACR,cAAc,EAAE,MAAM,CAAA;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAA;KAC1C,EAAE,CACH;IA+BD;;;;;;OAMG;IACH,KAAK,IAAI,SAAS,MAAM,EAAE;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED,wBAAsB,iBAAiB,CACtC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,oBAAiC,EACxC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
|
package/dist/skills/registry.js
CHANGED
|
@@ -165,6 +165,39 @@ export class SkillRegistry {
|
|
|
165
165
|
list() {
|
|
166
166
|
return [...this.skills.values()];
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* The model-facing catalog, keyed by what this registry actually accepts.
|
|
170
|
+
*
|
|
171
|
+
* Reading the Map key is load-bearing for host namespaces. A plugin may file
|
|
172
|
+
* `reconcile` as `ledger__reconcile`; reconstructing the name from the skill
|
|
173
|
+
* body would advertise a call that cannot resolve (and could collide with a
|
|
174
|
+
* different plugin's unqualified name).
|
|
175
|
+
*/
|
|
176
|
+
async catalog() {
|
|
177
|
+
const entries = [];
|
|
178
|
+
// `load` owns file freshness and deletion. Listing straight from the Map
|
|
179
|
+
// would make an edited SKILL.md stale here while a named read in the same
|
|
180
|
+
// run saw the new metadata — two catalogs depending on which operation the
|
|
181
|
+
// model happened to try first.
|
|
182
|
+
for (const registeredName of [...this.skills.keys()]) {
|
|
183
|
+
const loaded = await this.load(registeredName, 'metadata');
|
|
184
|
+
if (!loaded)
|
|
185
|
+
continue;
|
|
186
|
+
const skill = loaded.skill;
|
|
187
|
+
entries.push({
|
|
188
|
+
registeredName,
|
|
189
|
+
description: skill.metadata.description,
|
|
190
|
+
location: join(skill.dirPath, SKILL_FILENAME),
|
|
191
|
+
...(skill.metadata.allowedTools === undefined
|
|
192
|
+
? {}
|
|
193
|
+
: { allowedTools: skill.metadata.allowedTools }),
|
|
194
|
+
...(skill.metadata.invocation === undefined
|
|
195
|
+
? {}
|
|
196
|
+
: { invocation: skill.metadata.invocation }),
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return entries;
|
|
200
|
+
}
|
|
168
201
|
/**
|
|
169
202
|
* Every registered name.
|
|
170
203
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAOhC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAe,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAoBvE,MAAM,OAAO,aAAa;IACjB,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAA;IACjC,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC5B,GAAG,CAAQ;IAE5B;;;;;;;OAOG;IACH,YAAY,GAAY;QACvB,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,QAA8B,UAAU;QACvE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,MAAM,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAe;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC1C,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;QAAC,MAAM,CAAC;YACR,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;YAC/D,8DAA8D;YAC9D,kBAAkB;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAA8B,UAAU;QAC5E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACtD,MAAM,OAAO,GAAY,EAAE,CAAA;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE;YAClD,yBAAyB,EAAE,SAAS;YACpC,oBAAoB,EAAE,OAAO,CAAC,MAAM;YACpC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;SACzD,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IACf,CAAC;IAED,GAAG,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,IAAY,EAAE,KAAY;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5B,oEAAoE;QACpE,gEAAgE;QAChE,8DAA8D;QAC9D,mEAAmE;QACnE,sEAAsE;QACtE,wBAAwB;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAY;QACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,IAAI,CACT,IAAY,EACZ,QAA8B,MAAM;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACxB,iEAAiE;YACjE,iEAAiE;YACjE,mEAAmE;YACnE,2DAA2D;YAC3D,gEAAgE;YAChE,WAAW;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;YAClF,OAAO,SAAS,CAAA;QACjB,CAAC;QAED,IAAI,OAAO,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,OAAO;gBACN,KAAK,EAAE,QAAQ;gBACf,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;gBACpD,aAAa,EAAE,CAAC;aAChB,CAAA;QACF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACjE,sEAAsE;QACtE,oEAAoE;QACpE,iEAAiE;QACjE,sEAAsE;QACtE,kEAAkE;QAClE,EAAE;QACF,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,MAAM;QACN,MAAM,OAAO,GAAU,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;QACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,oCAAoC;IAC5B,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAe;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC5D,IAAI,IAAsC,CAAA;QAC1C,IAAI,CAAC;YACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,MAAM,CAAA;QACd,CAAC;QACD,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,+BAA+B;QAC/B,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC/B,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7F,CAAC;IAED,IAAI;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;;;;OAMG;IACH,KAAK;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACD;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,iBAAqC,EACrC,cAAkC,EAClC,QAA8B,UAAU,EACxC,GAAY;IAEZ,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAA;IAE5C,MAAM,SAAS,GAAG,iBAAiB;QAClC,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAA;IAEL,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAExF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAA;IAE5C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IAE1C,aAAa,CAAC,GAAG,CAAC;SAChB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;SAC/C,KAAK,CAAC,sBAAsB,EAAE;QAC9B,wBAAwB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/D,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnD,uBAAuB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC7D,CAAC,CAAA;IAEH,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computer-use.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAGX,eAAe,
|
|
1
|
+
{"version":3,"file":"computer-use.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAGX,eAAe,EAGf,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,2BAA2B,CAAA;AAG3E,eAAO,MAAM,sBAAsB,EAAG,cAAuB,CAAA;AAa7D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBhB,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAqJtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAwCxF"}
|
|
@@ -84,6 +84,35 @@ function buildDescription(host) {
|
|
|
84
84
|
lines.push('Coordinates are in logical pixels from the top-left of the primary display. Call getDisplayGeometry through screenshot output before clicking to confirm bounds.');
|
|
85
85
|
return lines.join(' ');
|
|
86
86
|
}
|
|
87
|
+
function pointLabel(point) {
|
|
88
|
+
return `(${point.x}, ${point.y})`;
|
|
89
|
+
}
|
|
90
|
+
function quotedText(value) {
|
|
91
|
+
const oneLine = value.replace(/\s+/g, ' ');
|
|
92
|
+
const visible = oneLine.length > 64 ? `${oneLine.slice(0, 63)}…` : oneLine;
|
|
93
|
+
return JSON.stringify(visible);
|
|
94
|
+
}
|
|
95
|
+
/** Human activity text; the raw action union remains the model-facing input. */
|
|
96
|
+
function actionLabel(input) {
|
|
97
|
+
switch (input.type) {
|
|
98
|
+
case 'screenshot':
|
|
99
|
+
return 'Capture screenshot';
|
|
100
|
+
case 'cursor_position':
|
|
101
|
+
return 'Read cursor position';
|
|
102
|
+
case 'mouse_move':
|
|
103
|
+
return `Move pointer to ${pointLabel(input.to)}`;
|
|
104
|
+
case 'mouse_click':
|
|
105
|
+
return `Click ${input.button} at ${pointLabel(input.at)}`;
|
|
106
|
+
case 'mouse_drag':
|
|
107
|
+
return `Drag ${input.button} from ${pointLabel(input.from)} to ${pointLabel(input.to)}`;
|
|
108
|
+
case 'scroll':
|
|
109
|
+
return `Scroll ${input.direction} ${input.amount} at ${pointLabel(input.at)}`;
|
|
110
|
+
case 'type_text':
|
|
111
|
+
return `Type ${quotedText(input.text)}`;
|
|
112
|
+
case 'key':
|
|
113
|
+
return `Press ${input.keys}`;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
87
116
|
function resultToToolResult(result) {
|
|
88
117
|
switch (result.type) {
|
|
89
118
|
case 'screenshot': {
|
|
@@ -110,6 +139,35 @@ function resultToToolResult(result) {
|
|
|
110
139
|
return { success: true, output: 'ok' };
|
|
111
140
|
}
|
|
112
141
|
}
|
|
142
|
+
function isOutcomeUnknown(value, action) {
|
|
143
|
+
if (typeof value !== 'object' || value === null)
|
|
144
|
+
return false;
|
|
145
|
+
const candidate = value;
|
|
146
|
+
return (candidate.code === 'computer_use_outcome_unknown' &&
|
|
147
|
+
candidate.action === action &&
|
|
148
|
+
candidate.outcome === 'unknown' &&
|
|
149
|
+
candidate.retrySafety === 'unsafe' &&
|
|
150
|
+
typeof candidate.timedOut === 'boolean' &&
|
|
151
|
+
typeof candidate.exitCode === 'number' &&
|
|
152
|
+
Number.isInteger(candidate.exitCode) &&
|
|
153
|
+
typeof candidate.message === 'string' &&
|
|
154
|
+
candidate.message.length > 0);
|
|
155
|
+
}
|
|
156
|
+
function unknownOutcomeToToolResult(error) {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
output: '',
|
|
160
|
+
error: error.message,
|
|
161
|
+
data: {
|
|
162
|
+
code: error.code,
|
|
163
|
+
action: error.action,
|
|
164
|
+
outcome: error.outcome,
|
|
165
|
+
retrySafety: error.retrySafety,
|
|
166
|
+
timedOut: error.timedOut,
|
|
167
|
+
exitCode: error.exitCode,
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
113
171
|
/**
|
|
114
172
|
* Factory: given a ComputerUseHost (provided by the consumer — e.g.
|
|
115
173
|
* @namzu/computer-use's SubprocessComputerUseHost), returns a ToolDefinition
|
|
@@ -140,6 +198,14 @@ export function createComputerUseTool(host) {
|
|
|
140
198
|
readOnly: false,
|
|
141
199
|
destructive: (input) => DESTRUCTIVE_ACTION_TYPES.has(input.type),
|
|
142
200
|
concurrencySafe: false,
|
|
201
|
+
presentCall: (input) => ({
|
|
202
|
+
kind: 'generic',
|
|
203
|
+
label: actionLabel(input),
|
|
204
|
+
presentation: 'activity',
|
|
205
|
+
}),
|
|
206
|
+
presentResult: (_input, result) => result.success && result.output.trim().toLowerCase() === 'ok'
|
|
207
|
+
? { kind: 'generic', label: result.output, visibility: 'hidden' }
|
|
208
|
+
: undefined,
|
|
143
209
|
async execute(input, _context) {
|
|
144
210
|
const required = requiredCapability(input.type);
|
|
145
211
|
if (required !== null && host.capabilities[required] !== true) {
|
|
@@ -149,8 +215,16 @@ export function createComputerUseTool(host) {
|
|
|
149
215
|
error: `computer_use: action "${input.type}" requires capability "${required}" which is not available on this host (displayServer=${host.capabilities.displayServer}).`,
|
|
150
216
|
};
|
|
151
217
|
}
|
|
152
|
-
|
|
153
|
-
|
|
218
|
+
try {
|
|
219
|
+
const result = await host.execute(input);
|
|
220
|
+
return resultToToolResult(result);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
if (isOutcomeUnknown(error, input.type)) {
|
|
224
|
+
return unknownOutcomeToToolResult(error);
|
|
225
|
+
}
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
154
228
|
},
|
|
155
229
|
});
|
|
156
230
|
}
|