@lambdacurry/arbor 0.20.12 → 0.20.14
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/dist/arbor.js +169 -22
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -1806,6 +1806,18 @@ var previewViewerGrantUses = sqliteTable("preview_viewer_grant_uses", {
|
|
|
1806
1806
|
profileId: text("profile_id").notNull().references(() => profiles.id),
|
|
1807
1807
|
consumedAt: ts("consumed_at").notNull()
|
|
1808
1808
|
});
|
|
1809
|
+
var livePreviewViewerGrantUses = sqliteTable("live_preview_viewer_grant_uses", {
|
|
1810
|
+
jti: text("jti").primaryKey(),
|
|
1811
|
+
threadId: text("thread_id").notNull().references(() => threads.id),
|
|
1812
|
+
profileId: text("profile_id").notNull().references(() => profiles.id),
|
|
1813
|
+
consumedAt: ts("consumed_at").notNull()
|
|
1814
|
+
});
|
|
1815
|
+
var threadLivePreviewSessions = sqliteTable("thread_live_preview_sessions", {
|
|
1816
|
+
threadId: text("thread_id").notNull().references(() => threads.id),
|
|
1817
|
+
profileId: text("profile_id").notNull().references(() => profiles.id),
|
|
1818
|
+
computerSessionId: text("computer_session_id").notNull().references(() => computerSessions.id),
|
|
1819
|
+
updatedAt: ts("updated_at").notNull()
|
|
1820
|
+
}, (t) => ({ pk: primaryKey({ columns: [t.threadId, t.profileId] }) }));
|
|
1809
1821
|
var threadInitiatives = sqliteTable("thread_initiatives", {
|
|
1810
1822
|
threadId: text("thread_id").notNull().references(() => threads.id),
|
|
1811
1823
|
initiativeId: text("initiative_id").notNull().references(() => initiatives.id)
|
|
@@ -16796,6 +16808,18 @@ var computerProfile = exports_external.looseObject({
|
|
|
16796
16808
|
recommendedEditingPrimitive: exports_external.string()
|
|
16797
16809
|
});
|
|
16798
16810
|
var computerRunPublicationState = exports_external.enum(["not-required", "durable", "not-durable", "unknown"]);
|
|
16811
|
+
var computerRunGitState = exports_external.looseObject({
|
|
16812
|
+
head: exports_external.string().nullable(),
|
|
16813
|
+
branch: exports_external.string().nullable(),
|
|
16814
|
+
upstream: exports_external.string().nullable(),
|
|
16815
|
+
dirty: exports_external.boolean(),
|
|
16816
|
+
remote: exports_external.looseObject({ name: exports_external.string(), repository: exports_external.string().nullable() }).nullable()
|
|
16817
|
+
});
|
|
16818
|
+
var computerRunPublication = exports_external.looseObject({
|
|
16819
|
+
state: computerRunPublicationState,
|
|
16820
|
+
reasonCode: exports_external.string(),
|
|
16821
|
+
remoteRef: exports_external.string().optional()
|
|
16822
|
+
});
|
|
16799
16823
|
var computerRunDurability = exports_external.looseObject({
|
|
16800
16824
|
workspace: exports_external.enum(["shared", "isolated"]),
|
|
16801
16825
|
parentMutation: exports_external.enum(["direct", "none"]),
|
|
@@ -16817,11 +16841,7 @@ var computerRunFinishAssessment = exports_external.looseObject({
|
|
|
16817
16841
|
currentHead: exports_external.string().nullable(),
|
|
16818
16842
|
currentDirty: exports_external.boolean().nullable(),
|
|
16819
16843
|
changedSinceStart: exports_external.boolean().nullable(),
|
|
16820
|
-
publication:
|
|
16821
|
-
state: computerRunPublicationState,
|
|
16822
|
-
reasonCode: exports_external.string(),
|
|
16823
|
-
remoteRef: exports_external.string().optional()
|
|
16824
|
-
})
|
|
16844
|
+
publication: computerRunPublication
|
|
16825
16845
|
}))
|
|
16826
16846
|
});
|
|
16827
16847
|
var operatingGuidanceEntry = exports_external.looseObject({
|
|
@@ -16839,7 +16859,12 @@ var computerAgentBrief = exports_external.looseObject({
|
|
|
16839
16859
|
backend: exports_external.enum(["worker-shell", "container"]),
|
|
16840
16860
|
containerProfile: exports_external.string().nullable(),
|
|
16841
16861
|
repositories: exports_external.array(exports_external.looseObject({ repository: exports_external.string(), path: exports_external.string() })),
|
|
16842
|
-
durableSnapshotId: id.nullable()
|
|
16862
|
+
durableSnapshotId: id.nullable(),
|
|
16863
|
+
repositoryState: exports_external.looseObject({
|
|
16864
|
+
source: exports_external.enum(["durable-snapshot", "workspace"]),
|
|
16865
|
+
remoteFreshness: exports_external.literal("unchecked"),
|
|
16866
|
+
guidance: exports_external.string()
|
|
16867
|
+
})
|
|
16843
16868
|
}),
|
|
16844
16869
|
activeRuns: exports_external.array(exports_external.looseObject({
|
|
16845
16870
|
runId: id,
|
|
@@ -16853,13 +16878,7 @@ var computerRunGitStart = exports_external.looseObject({
|
|
|
16853
16878
|
repositories: exports_external.array(exports_external.looseObject({
|
|
16854
16879
|
repository: exports_external.string(),
|
|
16855
16880
|
path: exports_external.string(),
|
|
16856
|
-
git:
|
|
16857
|
-
head: exports_external.string().nullable(),
|
|
16858
|
-
branch: exports_external.string().nullable(),
|
|
16859
|
-
upstream: exports_external.string().nullable(),
|
|
16860
|
-
dirty: exports_external.boolean(),
|
|
16861
|
-
remote: exports_external.looseObject({ name: exports_external.string(), repository: exports_external.string().nullable() }).nullable()
|
|
16862
|
-
}).nullable()
|
|
16881
|
+
git: computerRunGitState.nullable()
|
|
16863
16882
|
}))
|
|
16864
16883
|
});
|
|
16865
16884
|
var computerRun = exports_external.looseObject({
|
|
@@ -16902,6 +16921,25 @@ var computerRunReceipt = exports_external.looseObject({
|
|
|
16902
16921
|
status: exports_external.enum(["active", "finished", "failed", "cancelled"]),
|
|
16903
16922
|
outcome: exports_external.enum(["finished", "failed", "cancelled"]).nullable(),
|
|
16904
16923
|
reason: exports_external.string().nullable(),
|
|
16924
|
+
reasonCode: exports_external.string().nullable(),
|
|
16925
|
+
operations: exports_external.array(exports_external.looseObject({
|
|
16926
|
+
operationId: exports_external.string(),
|
|
16927
|
+
kind: exports_external.literal("exec"),
|
|
16928
|
+
execution: exports_external.enum(["foreground", "background"]),
|
|
16929
|
+
state: exports_external.enum([
|
|
16930
|
+
"starting",
|
|
16931
|
+
"running",
|
|
16932
|
+
"completed",
|
|
16933
|
+
"failed",
|
|
16934
|
+
"cancelled",
|
|
16935
|
+
"provider-lost",
|
|
16936
|
+
"unknown"
|
|
16937
|
+
]),
|
|
16938
|
+
mutationRetrySafety: exports_external.enum(["not-needed", "unsafe", "unknown"]),
|
|
16939
|
+
reasonCode: exports_external.string(),
|
|
16940
|
+
startedAt: exports_external.string(),
|
|
16941
|
+
endedAt: exports_external.string().nullable()
|
|
16942
|
+
})),
|
|
16905
16943
|
startedAt: exports_external.string(),
|
|
16906
16944
|
endedAt: exports_external.string().nullable(),
|
|
16907
16945
|
durationMs: exports_external.number().nullable(),
|
|
@@ -16910,7 +16948,8 @@ var computerRunReceipt = exports_external.looseObject({
|
|
|
16910
16948
|
at: exports_external.string(),
|
|
16911
16949
|
label: exports_external.string().optional(),
|
|
16912
16950
|
detail: exports_external.string().optional(),
|
|
16913
|
-
targetId: exports_external.string().optional()
|
|
16951
|
+
targetId: exports_external.string().optional(),
|
|
16952
|
+
reasonCode: exports_external.string().optional()
|
|
16914
16953
|
})),
|
|
16915
16954
|
lifecycle: exports_external.array(exports_external.looseObject({ type: exports_external.string(), at: exports_external.string() }))
|
|
16916
16955
|
});
|
|
@@ -17212,6 +17251,19 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17212
17251
|
effectiveRecipe: redactedComputerRecipe,
|
|
17213
17252
|
materializedRecipe: redactedComputerRecipe.nullable()
|
|
17214
17253
|
}),
|
|
17254
|
+
livePreview: exports_external.looseObject({
|
|
17255
|
+
url: exports_external.string(),
|
|
17256
|
+
surface: exports_external.looseObject({
|
|
17257
|
+
command: exports_external.string(),
|
|
17258
|
+
cwd: exports_external.string(),
|
|
17259
|
+
port: exports_external.number().int(),
|
|
17260
|
+
healthPath: exports_external.string()
|
|
17261
|
+
}),
|
|
17262
|
+
configuredBy: exports_external.looseObject({
|
|
17263
|
+
scope: exports_external.enum(["topic", "thread"]),
|
|
17264
|
+
scopeId: id
|
|
17265
|
+
})
|
|
17266
|
+
}).nullable(),
|
|
17215
17267
|
topicBase: jsonObject.nullable(),
|
|
17216
17268
|
computer: jsonObject.nullable(),
|
|
17217
17269
|
activeGenerationId: id.nullable(),
|
|
@@ -17531,6 +17583,63 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17531
17583
|
durability: computerRunDurability,
|
|
17532
17584
|
finishAssessment: computerRunFinishAssessment.nullable()
|
|
17533
17585
|
}),
|
|
17586
|
+
computer_repo_work_status: exports_external.looseObject({
|
|
17587
|
+
runId: id,
|
|
17588
|
+
status: exports_external.enum(["blocked", "unknown", "reviewable", "in-progress"]),
|
|
17589
|
+
canFinishRun: exports_external.boolean(),
|
|
17590
|
+
durablyFinishable: exports_external.boolean(),
|
|
17591
|
+
finishAssessment: computerRunFinishAssessment,
|
|
17592
|
+
repositories: exports_external.array(exports_external.looseObject({
|
|
17593
|
+
repository: exports_external.string(),
|
|
17594
|
+
path: exports_external.string(),
|
|
17595
|
+
start: computerRunGitState.nullable(),
|
|
17596
|
+
current: computerRunGitState.nullable(),
|
|
17597
|
+
changedSinceRunStart: exports_external.boolean().nullable(),
|
|
17598
|
+
publication: computerRunPublication,
|
|
17599
|
+
pullRequest: exports_external.looseObject({
|
|
17600
|
+
state: exports_external.enum(["none", "head-mismatch", "open", "merged", "closed", "unknown"]),
|
|
17601
|
+
number: exports_external.number().int().positive().optional(),
|
|
17602
|
+
url: exports_external.string().optional(),
|
|
17603
|
+
headSha: exports_external.string().optional(),
|
|
17604
|
+
baseRef: exports_external.string().optional(),
|
|
17605
|
+
draft: exports_external.boolean().optional()
|
|
17606
|
+
}),
|
|
17607
|
+
ci: exports_external.looseObject({
|
|
17608
|
+
state: exports_external.enum(["none", "pending", "passed", "failed", "unknown"]),
|
|
17609
|
+
total: exports_external.number().int().min(0),
|
|
17610
|
+
pending: exports_external.number().int().min(0),
|
|
17611
|
+
passed: exports_external.number().int().min(0),
|
|
17612
|
+
failed: exports_external.number().int().min(0)
|
|
17613
|
+
}),
|
|
17614
|
+
review: exports_external.looseObject({
|
|
17615
|
+
state: exports_external.enum(["not-applicable", "none", "approved", "changes-requested", "unknown"]),
|
|
17616
|
+
approvals: exports_external.number().int().min(0),
|
|
17617
|
+
changesRequested: exports_external.number().int().min(0)
|
|
17618
|
+
}),
|
|
17619
|
+
githubProof: exports_external.looseObject({
|
|
17620
|
+
state: exports_external.enum(["known", "unknown"]),
|
|
17621
|
+
reasonCode: exports_external.string()
|
|
17622
|
+
}),
|
|
17623
|
+
state: exports_external.enum([
|
|
17624
|
+
"unchanged",
|
|
17625
|
+
"working",
|
|
17626
|
+
"committed-local",
|
|
17627
|
+
"publication-unknown",
|
|
17628
|
+
"pushed-durable",
|
|
17629
|
+
"github-unknown",
|
|
17630
|
+
"pr-head-mismatch",
|
|
17631
|
+
"pr-open",
|
|
17632
|
+
"ci-pending",
|
|
17633
|
+
"reviewable",
|
|
17634
|
+
"merged"
|
|
17635
|
+
]),
|
|
17636
|
+
retrySafety: exports_external.looseObject({
|
|
17637
|
+
push: exports_external.enum(["not-needed", "safe", "unknown"]),
|
|
17638
|
+
prCreate: exports_external.enum(["not-needed", "safe", "manual", "unknown"])
|
|
17639
|
+
}),
|
|
17640
|
+
nextAction: exports_external.string()
|
|
17641
|
+
}))
|
|
17642
|
+
}),
|
|
17534
17643
|
computer_run_receipt: exports_external.looseObject({
|
|
17535
17644
|
receipt: computerRunReceipt
|
|
17536
17645
|
}),
|
|
@@ -17568,7 +17677,21 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17568
17677
|
stderr: exports_external.string().optional(),
|
|
17569
17678
|
truncated: exports_external.boolean().optional(),
|
|
17570
17679
|
nextCursor: exports_external.string().optional(),
|
|
17571
|
-
exitCode: exports_external.number().int().nullable().optional()
|
|
17680
|
+
exitCode: exports_external.number().int().nullable().optional(),
|
|
17681
|
+
activity: exports_external.looseObject({
|
|
17682
|
+
state: exports_external.enum(["output", "compute", "quiet", "terminal", "unknown"]),
|
|
17683
|
+
observedAt: timestamp,
|
|
17684
|
+
outputAdvanced: exports_external.boolean(),
|
|
17685
|
+
cpuPercent: exports_external.number().min(0).nullable(),
|
|
17686
|
+
processCount: exports_external.number().int().min(0).nullable(),
|
|
17687
|
+
reasonCode: exports_external.string()
|
|
17688
|
+
}).optional(),
|
|
17689
|
+
recovery: exports_external.looseObject({
|
|
17690
|
+
state: exports_external.enum(["provider-timeout", "provider-lost", "unknown"]),
|
|
17691
|
+
reasonCode: exports_external.string(),
|
|
17692
|
+
mutationRetrySafety: exports_external.enum(["unsafe", "unknown"]),
|
|
17693
|
+
nextAction: exports_external.enum(["computer_process_read", "computer_run_receipt"])
|
|
17694
|
+
}).optional()
|
|
17572
17695
|
}),
|
|
17573
17696
|
computer_process_terminate: exports_external.looseObject({
|
|
17574
17697
|
status: exports_external.string(),
|
|
@@ -17766,7 +17889,9 @@ var OUTPUT_SHAPERS = {
|
|
|
17766
17889
|
["nextCursor", result.nextCursor],
|
|
17767
17890
|
["endedAt", result.endedAt],
|
|
17768
17891
|
["durationMs", result.durationMs],
|
|
17769
|
-
["exitCode", result.exitCode]
|
|
17892
|
+
["exitCode", result.exitCode],
|
|
17893
|
+
["activity", result.activity],
|
|
17894
|
+
["recovery", result.recovery]
|
|
17770
17895
|
]),
|
|
17771
17896
|
computer_process_terminate: (result) => defined([
|
|
17772
17897
|
["status", result.status],
|
|
@@ -17908,6 +18033,7 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
17908
18033
|
computer_open: additive,
|
|
17909
18034
|
computer_reprovision: destructiveIdempotent,
|
|
17910
18035
|
computer_run_start: additive,
|
|
18036
|
+
computer_repo_work_status: readOnly,
|
|
17911
18037
|
computer_run_finish: idempotent,
|
|
17912
18038
|
computer_run_receipt: readOnly,
|
|
17913
18039
|
computer_runs: readOnly,
|
|
@@ -17982,6 +18108,14 @@ var PAGINATION_INPUT = {
|
|
|
17982
18108
|
limit: exports_external.number().int().min(1).optional().describe("max items to return — enables pagination"),
|
|
17983
18109
|
cursor: exports_external.string().optional().describe("opaque cursor from a prior response's nextCursor (use with --limit)")
|
|
17984
18110
|
};
|
|
18111
|
+
var LIVE_PREVIEW_CONFIG_INPUT = {
|
|
18112
|
+
livePreview: exports_external.object({
|
|
18113
|
+
command: exports_external.string().min(1).max(4000).describe("explicit project preview command"),
|
|
18114
|
+
cwd: exports_external.string().startsWith("/workspace/").describe("workspace directory containing the project"),
|
|
18115
|
+
port: exports_external.number().int().min(1).max(65535).describe("local HTTP/WebSocket port"),
|
|
18116
|
+
healthPath: exports_external.string().startsWith("/").describe("HTTP health path checked before proxying")
|
|
18117
|
+
}).nullable().optional().describe("one inherited Thread Live Preview startup surface; null disables an inherited surface. This is runtime policy and does not change Computer recipe identity")
|
|
18118
|
+
};
|
|
17985
18119
|
var ACTION_DEFINITIONS = [
|
|
17986
18120
|
{
|
|
17987
18121
|
name: "server_info",
|
|
@@ -18253,7 +18387,8 @@ var ACTION_DEFINITIONS = [
|
|
|
18253
18387
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
18254
18388
|
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, GitHub CLI (gh), Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, Python 3.13.15 (python/python3), jq, and ripgrep (rg), or null to clear inherited profile"),
|
|
18255
18389
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
18256
|
-
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
18390
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits"),
|
|
18391
|
+
...LIVE_PREVIEW_CONFIG_INPUT
|
|
18257
18392
|
},
|
|
18258
18393
|
surfaces: ["mcp", "cli"],
|
|
18259
18394
|
toolset: "structure",
|
|
@@ -18268,7 +18403,8 @@ var ACTION_DEFINITIONS = [
|
|
|
18268
18403
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
18269
18404
|
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, GitHub CLI (gh), Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, Python 3.13.15 (python/python3), jq, and ripgrep (rg), or null to clear inherited profile"),
|
|
18270
18405
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
18271
|
-
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
18406
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits"),
|
|
18407
|
+
...LIVE_PREVIEW_CONFIG_INPUT
|
|
18272
18408
|
},
|
|
18273
18409
|
surfaces: ["mcp", "cli"],
|
|
18274
18410
|
toolset: "structure",
|
|
@@ -18288,7 +18424,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18288
18424
|
{
|
|
18289
18425
|
name: "computer_open",
|
|
18290
18426
|
title: "Open a Thread computer",
|
|
18291
|
-
description: "Open or resume this Thread's project environment for filesystem or command work. A safe living-profile revision drift is reconciled automatically by replacing the generation, restoring supported state, and returning reconciliation metadata; structural recipe changes still fail explicitly with computer_reprovision as the suggested action. Every configured repository is re-authorized through its explicit GitHub connection; a fresh reusable base clones it with a request-scoped contents:read credential before strict setup runs, while a restore receives no credential. Returns computerSessionId — pass it unchanged to later Computer tools and cited work — plus a compact Agent Brief with Thread objective, scoped Space/Topic guidance and provenance, durable parent snapshot, repositories, and active Runs; the selected profile contract; a resolved capabilities card; workspaceRoot; each materialized repositories[].path; and defaultCwd. Omitted computer_exec.cwd uses defaultCwd: the single checkout when exactly one repository is configured, workspaceRoot otherwise.",
|
|
18427
|
+
description: "Open or resume this Thread's project environment for filesystem or command work. A safe living-profile revision drift is reconciled automatically by replacing the generation, restoring supported state, and returning reconciliation metadata; structural recipe changes still fail explicitly with computer_reprovision as the suggested action. Every configured repository is re-authorized through its explicit GitHub connection; a fresh reusable base clones it with a request-scoped contents:read credential before strict setup runs, while a restore receives no credential. Returns computerSessionId — pass it unchanged to later Computer tools and cited work — plus a compact Agent Brief with Thread objective, scoped Space/Topic guidance and provenance, durable parent snapshot, repositories, explicit unchecked remote-freshness guidance, and active Runs; the selected profile contract; a resolved capabilities card; workspaceRoot; each materialized repositories[].path; and defaultCwd. Omitted computer_exec.cwd uses defaultCwd: the single checkout when exactly one repository is configured, workspaceRoot otherwise.",
|
|
18292
18428
|
inputSchema: {
|
|
18293
18429
|
threadId: exports_external.string().describe("the Arbor Thread whose stable computer to open, thr_…"),
|
|
18294
18430
|
vcpus: exports_external.number().int().min(1).max(4).optional().describe("optional container vCPU request"),
|
|
@@ -18325,6 +18461,17 @@ var ACTION_DEFINITIONS = [
|
|
|
18325
18461
|
toolset: "loop",
|
|
18326
18462
|
run: forward("computer_runtime.run_start")
|
|
18327
18463
|
},
|
|
18464
|
+
{
|
|
18465
|
+
name: "computer_repo_work_status",
|
|
18466
|
+
title: "Inspect repository finish state",
|
|
18467
|
+
description: "READ ONLY: resolve repository-finish state for an active isolated WRITE Run from authoritative Git remote proof plus GitHub PR, CI, and review reads; the bounded inspection uses three batched provider exec phases and at most four GitHub REST calls per eligible repository. It reports durable state, explicit push/PR retrySafety, known PR-head mismatches versus unavailable GitHub proof, the next action, and Run finishability; it never commits, pushes, creates a PR, merges, or deploys.",
|
|
18468
|
+
inputSchema: {
|
|
18469
|
+
runId: exports_external.string().describe("the active isolated WRITE Run to inspect, run_…")
|
|
18470
|
+
},
|
|
18471
|
+
surfaces: ["computer-mcp", "computer-cli"],
|
|
18472
|
+
toolset: "loop",
|
|
18473
|
+
run: forward("computer_runtime.repo_work_status")
|
|
18474
|
+
},
|
|
18328
18475
|
{
|
|
18329
18476
|
name: "computer_run_finish",
|
|
18330
18477
|
title: "Finish a run",
|
|
@@ -18342,7 +18489,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18342
18489
|
{
|
|
18343
18490
|
name: "computer_run_receipt",
|
|
18344
18491
|
title: "Read a run receipt",
|
|
18345
|
-
description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, base snapshot and starting Git projection, explicit isolation/durability contract, pre-teardown durability assessment when available (including publication that remains unknown unless proven), meaningful activity, and terminal outcome.
|
|
18492
|
+
description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, base snapshot and starting Git projection, explicit isolation/durability contract, pre-teardown durability assessment when available (including publication that remains unknown unless proven), durable operation receipts with stable state/reason/retry-safety, meaningful activity, and terminal outcome. Foreground and background work may appear as distilled process identities/labels/outcomes, but Arbor keeps no raw command transcript or process output. The receipt stays readable after the Run is terminal.",
|
|
18346
18493
|
inputSchema: {
|
|
18347
18494
|
runId: exports_external.string().describe("the run to read, run_… (from computer_run_start or computer_runs)")
|
|
18348
18495
|
},
|
|
@@ -18366,7 +18513,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18366
18513
|
{
|
|
18367
18514
|
name: "computer_exec",
|
|
18368
18515
|
title: "Run a command",
|
|
18369
|
-
description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd uses the environment's defaultCwd; pass cwd explicitly to override it. Pass runId to route the command according to that Run's execution placement; without runId the command executes in the parent Computer. Strict Bash semantics are ON by default. For
|
|
18516
|
+
description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd uses the environment's defaultCwd; pass cwd explicitly to override it. Pass runId to route the command according to that Run's execution placement; without runId the command executes in the parent Computer. Strict Bash semantics are ON by default. For explicit asynchronous work, background=true returns a processId immediately. On an isolated container Run, foreground exec also establishes a durable operation/process identity before Arbor waits; a missed foreground response can be recovered from computer_run_receipt.operations and computer_process_read without repeating the mutation. For a labeled run-scoped verification check, pass activityKind=verification so the terminal exit becomes a distilled verification outcome. For a connected human, Arbor supplies ambient GitHub authorization and Git identity ephemerally without writing credentials into the workspace. Provider-owned processes stay in the environment where they were started.",
|
|
18370
18517
|
inputSchema: {
|
|
18371
18518
|
computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
|
|
18372
18519
|
command: exports_external.string().min(1).describe("the shell command to run"),
|
|
@@ -18385,7 +18532,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18385
18532
|
{
|
|
18386
18533
|
name: "computer_process_read",
|
|
18387
18534
|
title: "Read a background process",
|
|
18388
|
-
description: "READ ONLY:
|
|
18535
|
+
description: "READ ONLY: Read one provider-owned process from computer_exec, including a recoverable foreground operation discovered through computer_run_receipt.operations. With no cursor, returns only the latest small output window; pass nextCursor on the next read to receive only newer output. Defaults to 4 KB total and allows an explicit larger read up to 64 KB. Returns the existing compact activity receipt that distinguishes fresh output, active CPU work, quiet running, terminal state, and unavailable telemetry without exposing raw process tables. For a known foreground recovery handle whose provider state cannot be observed, returns structured recovery state/reason/retry-safety instead of guessing. Once terminal, also returns the final exit result.",
|
|
18389
18536
|
inputSchema: {
|
|
18390
18537
|
computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
|
|
18391
18538
|
runId: exports_external.string().optional().describe("the Run that owns this process, if it was started inside a Run"),
|
package/package.json
CHANGED