@lambdacurry/arbor 0.21.0 → 0.21.1
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 +44 -2
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -2072,6 +2072,9 @@ var computerRuns = sqliteTable("computer_runs", {
|
|
|
2072
2072
|
execution: text("isolation").$type().notNull(),
|
|
2073
2073
|
workspaceDir: text("workspace_dir").notNull(),
|
|
2074
2074
|
baseSnapshotId: text("base_snapshot_id"),
|
|
2075
|
+
currentSnapshotId: text("current_snapshot_id"),
|
|
2076
|
+
runtimeState: text("runtime_state").$type().notNull().default("shared"),
|
|
2077
|
+
runtimeUpdatedAt: ts("runtime_updated_at"),
|
|
2075
2078
|
gitStart: text("git_start", { mode: "json" }).$type(),
|
|
2076
2079
|
status: text("status").$type().notNull().default("active"),
|
|
2077
2080
|
label: text("label"),
|
|
@@ -2082,13 +2085,15 @@ var computerRuns = sqliteTable("computer_runs", {
|
|
|
2082
2085
|
computerIdx: index("computer_runs_computer_idx").on(t.computerId, t.startedAt),
|
|
2083
2086
|
threadIdx: index("computer_runs_thread_idx").on(t.threadId, t.startedAt),
|
|
2084
2087
|
sessionIdx: index("computer_runs_session_idx").on(t.computerSessionId, t.startedAt),
|
|
2085
|
-
statusIdx: index("computer_runs_status_idx").on(t.computerId, t.status)
|
|
2088
|
+
statusIdx: index("computer_runs_status_idx").on(t.computerId, t.status),
|
|
2089
|
+
runtimeIdx: index("computer_runs_runtime_idx").on(t.computerId, t.runtimeState)
|
|
2086
2090
|
}));
|
|
2087
2091
|
var computerSnapshots = sqliteTable("computer_snapshots", {
|
|
2088
2092
|
id: text("id").primaryKey(),
|
|
2089
2093
|
ownerScope: text("owner_scope").$type().notNull(),
|
|
2090
2094
|
topicId: text("topic_id").notNull().references(() => topics.id),
|
|
2091
2095
|
computerId: text("computer_id").references(() => threadComputers.id),
|
|
2096
|
+
runId: text("run_id").references(() => computerRuns.id),
|
|
2092
2097
|
parentSnapshotId: text("parent_snapshot_id"),
|
|
2093
2098
|
lineageKey: text("lineage_key"),
|
|
2094
2099
|
configKey: text("config_key"),
|
|
@@ -2104,6 +2109,7 @@ var computerSnapshots = sqliteTable("computer_snapshots", {
|
|
|
2104
2109
|
topicBaseIdx: uniqueIndex("computer_snapshots_topic_base_idx").on(t.topicId, t.configKey),
|
|
2105
2110
|
lineageIdx: uniqueIndex("computer_snapshots_lineage_idx").on(t.lineageKey),
|
|
2106
2111
|
computerIdx: index("computer_snapshots_computer_idx").on(t.computerId, t.createdAt),
|
|
2112
|
+
runIdx: index("computer_snapshots_run_idx").on(t.runId, t.createdAt),
|
|
2107
2113
|
parentIdx: index("computer_snapshots_parent_idx").on(t.parentSnapshotId)
|
|
2108
2114
|
}));
|
|
2109
2115
|
var previews = sqliteTable("previews", {
|
|
@@ -17249,6 +17255,11 @@ var computerRunPublication = exports_external.looseObject({
|
|
|
17249
17255
|
reasonCode: exports_external.string(),
|
|
17250
17256
|
remoteRef: exports_external.string().optional()
|
|
17251
17257
|
});
|
|
17258
|
+
var computerRunRuntime = exports_external.looseObject({
|
|
17259
|
+
state: exports_external.enum(["shared", "live", "suspended", "released"]),
|
|
17260
|
+
currentSnapshotId: id.nullable(),
|
|
17261
|
+
updatedAt: exports_external.string().nullable()
|
|
17262
|
+
});
|
|
17252
17263
|
var computerRunDurability = exports_external.looseObject({
|
|
17253
17264
|
workspace: exports_external.enum(["shared", "isolated"]),
|
|
17254
17265
|
parentMutation: exports_external.enum(["direct", "none"]),
|
|
@@ -17330,6 +17341,8 @@ var computerRun = exports_external.looseObject({
|
|
|
17330
17341
|
execution: exports_external.enum(["shared", "isolated"]),
|
|
17331
17342
|
workspaceDir: exports_external.string(),
|
|
17332
17343
|
baseSnapshotId: id.nullable(),
|
|
17344
|
+
currentSnapshotId: id.nullable().optional(),
|
|
17345
|
+
runtime: computerRunRuntime,
|
|
17333
17346
|
gitStart: computerRunGitStart.nullable().optional(),
|
|
17334
17347
|
durability: computerRunDurability,
|
|
17335
17348
|
status: exports_external.enum(["active", "finished", "failed", "cancelled"]),
|
|
@@ -17353,6 +17366,7 @@ var computerRunReceipt = exports_external.looseObject({
|
|
|
17353
17366
|
execution: exports_external.enum(["shared", "isolated"]),
|
|
17354
17367
|
workspace: exports_external.looseObject({ dir: exports_external.string() }),
|
|
17355
17368
|
baseSnapshotId: id.nullable(),
|
|
17369
|
+
runtime: computerRunRuntime,
|
|
17356
17370
|
gitStart: computerRunGitStart.nullable().optional(),
|
|
17357
17371
|
durability: computerRunDurability,
|
|
17358
17372
|
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
@@ -18081,6 +18095,12 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
18081
18095
|
durability: computerRunDurabilitySummary,
|
|
18082
18096
|
status: exports_external.string()
|
|
18083
18097
|
}),
|
|
18098
|
+
computer_run_suspend: exports_external.looseObject({
|
|
18099
|
+
runId: id,
|
|
18100
|
+
runtime: computerRunRuntime,
|
|
18101
|
+
replayed: exports_external.boolean(),
|
|
18102
|
+
snapshotId: id.nullable()
|
|
18103
|
+
}),
|
|
18084
18104
|
computer_run_finish: exports_external.looseObject({
|
|
18085
18105
|
status: exports_external.string(),
|
|
18086
18106
|
replayed: exports_external.boolean(),
|
|
@@ -18464,6 +18484,15 @@ var OUTPUT_SHAPERS = {
|
|
|
18464
18484
|
["status", run.status]
|
|
18465
18485
|
]);
|
|
18466
18486
|
},
|
|
18487
|
+
computer_run_suspend: (result) => {
|
|
18488
|
+
const run = record2(result.run) ?? {};
|
|
18489
|
+
return defined([
|
|
18490
|
+
["runId", run.runId],
|
|
18491
|
+
["runtime", selected(run.runtime, ["state", "currentSnapshotId", "updatedAt"])],
|
|
18492
|
+
["replayed", result.replayed],
|
|
18493
|
+
["snapshotId", result.snapshotId]
|
|
18494
|
+
]);
|
|
18495
|
+
},
|
|
18467
18496
|
computer_run_finish: (result) => {
|
|
18468
18497
|
const run = record2(result.run) ?? {};
|
|
18469
18498
|
return defined([
|
|
@@ -18642,6 +18671,7 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
18642
18671
|
computer_open: additive,
|
|
18643
18672
|
computer_reprovision: destructiveIdempotent,
|
|
18644
18673
|
computer_run_start: additive,
|
|
18674
|
+
computer_run_suspend: idempotent,
|
|
18645
18675
|
computer_repo_work_status: readOnly,
|
|
18646
18676
|
computer_run_finish: idempotent,
|
|
18647
18677
|
computer_run_receipt: readOnly,
|
|
@@ -19242,6 +19272,17 @@ var ACTION_DEFINITIONS = [
|
|
|
19242
19272
|
toolset: "loop",
|
|
19243
19273
|
run: forward("computer_runtime.run_start")
|
|
19244
19274
|
},
|
|
19275
|
+
{
|
|
19276
|
+
name: "computer_run_suspend",
|
|
19277
|
+
title: "Suspend a run",
|
|
19278
|
+
description: "Checkpoint an active isolated WRITE Run's exact workspace, publish that Run-owned restore point, and release its provider Sandbox during an external wait; the same runId resumes automatically on its next operation. Refuses active processes or unsettled mutations and never replays unknown work.",
|
|
19279
|
+
inputSchema: {
|
|
19280
|
+
runId: exports_external.string().describe("the active isolated WRITE Run to suspend, run_…")
|
|
19281
|
+
},
|
|
19282
|
+
surfaces: ["computer-mcp", "computer-cli"],
|
|
19283
|
+
toolset: "loop",
|
|
19284
|
+
run: forward("computer_runtime.run_suspend")
|
|
19285
|
+
},
|
|
19245
19286
|
{
|
|
19246
19287
|
name: "computer_repo_work_status",
|
|
19247
19288
|
title: "Inspect repository finish state",
|
|
@@ -20138,7 +20179,7 @@ var ACTION_DEFINITIONS = [
|
|
|
20138
20179
|
{
|
|
20139
20180
|
name: "service_register",
|
|
20140
20181
|
title: "Register a Computer lifecycle service",
|
|
20141
|
-
description: "Register a persistent service identity for Currybox Computer lifecycle maintenance and mint its API key (shown ONCE). Human owner/admin CLI setup only. The credential is restricted to computer.get + computer.lifecycle_runs + computer.checkpoint + computer.reconcile_runs and to the Spaces listed here; store it as the Currybox control plane's Arbor credential.",
|
|
20182
|
+
description: "Register a persistent service identity for Currybox Computer lifecycle maintenance and mint its API key (shown ONCE). Human owner/admin CLI setup only. The credential is restricted to computer.get + computer.lifecycle_runs + computer.checkpoint + computer.suspend_run + computer.resume_run + computer.reconcile_runs and to the Spaces listed here; store it as the Currybox control plane's Arbor credential.",
|
|
20142
20183
|
inputSchema: {
|
|
20143
20184
|
displayName: exports_external.string().min(1).describe("the service display name, e.g. Currybox lifecycle service"),
|
|
20144
20185
|
spaceIds: exports_external.array(exports_external.string().min(1)).min(1).describe("Spaces whose Thread computers the service may maintain")
|
|
@@ -21557,6 +21598,7 @@ var POSITIONAL_FIELDS = {
|
|
|
21557
21598
|
app_fetch: ["appId", "path"],
|
|
21558
21599
|
app_request: ["appId", "path"],
|
|
21559
21600
|
computer_run_start: ["computerSessionId", "mode"],
|
|
21601
|
+
computer_run_suspend: ["runId"],
|
|
21560
21602
|
code_symbols: ["path"],
|
|
21561
21603
|
code_find_symbol: ["namePath", "path"],
|
|
21562
21604
|
code_references: ["namePath", "path"],
|
package/package.json
CHANGED