@lambdacurry/arbor 0.17.2 → 0.17.4
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 +54 -6
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -1930,6 +1930,7 @@ var appBundles = sqliteTable("app_bundles", {
|
|
|
1930
1930
|
artifactVersionId: text("artifact_version_id").notNull().references(() => artifactVersions.id),
|
|
1931
1931
|
spaceId: text("space_id").notNull().references(() => spaces.id),
|
|
1932
1932
|
compatibilityDate: text("compatibility_date").notNull(),
|
|
1933
|
+
compatibilityFlags: text("compatibility_flags", { mode: "json" }).$type().notNull().default([]),
|
|
1933
1934
|
mainModule: text("main_module").notNull(),
|
|
1934
1935
|
modules: text("modules", { mode: "json" }).$type().notNull(),
|
|
1935
1936
|
staticAssets: text("static_assets", { mode: "json" }).$type().notNull(),
|
|
@@ -17364,10 +17365,29 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17364
17365
|
stderr: exports_external.string().optional(),
|
|
17365
17366
|
exitCode: exports_external.number().optional(),
|
|
17366
17367
|
jobId: exports_external.string().optional(),
|
|
17368
|
+
processId: exports_external.string().optional(),
|
|
17367
17369
|
status: exports_external.string().optional(),
|
|
17368
17370
|
cwd: exports_external.string(),
|
|
17369
17371
|
strict: exports_external.boolean()
|
|
17370
17372
|
}),
|
|
17373
|
+
computer_process_read: exports_external.looseObject({
|
|
17374
|
+
processId: id,
|
|
17375
|
+
status: exports_external.string(),
|
|
17376
|
+
command: exports_external.string().optional(),
|
|
17377
|
+
cwd: exports_external.string().optional(),
|
|
17378
|
+
startedAt: timestamp.nullable().optional(),
|
|
17379
|
+
endedAt: timestamp.nullable().optional(),
|
|
17380
|
+
durationMs: exports_external.number().int().min(0).nullable().optional(),
|
|
17381
|
+
stdout: exports_external.string().optional(),
|
|
17382
|
+
stderr: exports_external.string().optional(),
|
|
17383
|
+
truncated: exports_external.boolean().optional(),
|
|
17384
|
+
exitCode: exports_external.number().int().nullable().optional()
|
|
17385
|
+
}),
|
|
17386
|
+
computer_process_terminate: exports_external.looseObject({
|
|
17387
|
+
processId: id,
|
|
17388
|
+
status: exports_external.string(),
|
|
17389
|
+
terminated: exports_external.boolean().optional()
|
|
17390
|
+
}),
|
|
17371
17391
|
computer_status: exports_external.looseObject({
|
|
17372
17392
|
computerSessionId: id,
|
|
17373
17393
|
computerId: id,
|
|
@@ -17655,6 +17675,8 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
17655
17675
|
computer_open: additive,
|
|
17656
17676
|
computer_reprovision: destructiveIdempotent,
|
|
17657
17677
|
computer_exec: destructiveOpenWorld,
|
|
17678
|
+
computer_process_read: readOnly,
|
|
17679
|
+
computer_process_terminate: destructiveOpenWorld,
|
|
17658
17680
|
computer_status: readOnly,
|
|
17659
17681
|
code_symbols: readOnly,
|
|
17660
17682
|
code_find_symbol: readOnly,
|
|
@@ -17967,7 +17989,7 @@ var ACTION_DEFINITIONS = [
|
|
|
17967
17989
|
description: "Replace your organization's sparse computer-default layer without allocating runtime state. Omitted/null values fall back to provider defaults; Space, Topic, and Thread layers may override individual fields.",
|
|
17968
17990
|
inputSchema: {
|
|
17969
17991
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("default execution tier, or null to use worker-shell"),
|
|
17970
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, and ripgrep (rg), or null to clear"),
|
|
17992
|
+
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"),
|
|
17971
17993
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize, or null to clear"),
|
|
17972
17994
|
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")
|
|
17973
17995
|
},
|
|
@@ -17982,7 +18004,7 @@ var ACTION_DEFINITIONS = [
|
|
|
17982
18004
|
inputSchema: {
|
|
17983
18005
|
spaceId: exports_external.string().describe("the Space, spc_…"),
|
|
17984
18006
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
17985
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, and ripgrep (rg), or null to clear inherited profile"),
|
|
18007
|
+
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"),
|
|
17986
18008
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize, or null to clear"),
|
|
17987
18009
|
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")
|
|
17988
18010
|
},
|
|
@@ -17997,7 +18019,7 @@ var ACTION_DEFINITIONS = [
|
|
|
17997
18019
|
inputSchema: {
|
|
17998
18020
|
topicId: exports_external.string().describe("the Topic, top_…"),
|
|
17999
18021
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
18000
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, and ripgrep (rg), or null to clear inherited profile"),
|
|
18022
|
+
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"),
|
|
18001
18023
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
18002
18024
|
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")
|
|
18003
18025
|
},
|
|
@@ -18012,7 +18034,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18012
18034
|
inputSchema: {
|
|
18013
18035
|
threadId: exports_external.string().describe("the Thread, thr_…"),
|
|
18014
18036
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
18015
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, bunx, Node 26.5.1, pnpm 10.33.0, and ripgrep (rg), or null to clear inherited profile"),
|
|
18037
|
+
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"),
|
|
18016
18038
|
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
18017
18039
|
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")
|
|
18018
18040
|
},
|
|
@@ -18034,7 +18056,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18034
18056
|
{
|
|
18035
18057
|
name: "computer_open",
|
|
18036
18058
|
title: "Open a Thread computer",
|
|
18037
|
-
description: "Open or resume this Thread's project environment for filesystem or command work. 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 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.",
|
|
18059
|
+
description: "Open or resume this Thread's project environment for filesystem or command work. 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 the selected profile contract (including GitHub CLI (gh) on bun-typescript-v1), 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.",
|
|
18038
18060
|
inputSchema: {
|
|
18039
18061
|
threadId: exports_external.string().describe("the Arbor Thread whose stable computer to open, thr_…"),
|
|
18040
18062
|
vcpus: exports_external.number().int().min(1).max(4).optional().describe("optional container vCPU request"),
|
|
@@ -18060,7 +18082,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18060
18082
|
{
|
|
18061
18083
|
name: "computer_exec",
|
|
18062
18084
|
title: "Run a command",
|
|
18063
|
-
description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd runs from the Computer's defaultCwd — the one materialized checkout when the recipe has exactly one repository, otherwise the workspace root — and the receipt echoes the cwd it ran in; pass cwd explicitly to override it. Strict Bash semantics are ON by default: an early command failure or failed pipeline makes the execution nonzero, while explicit handling such as `cmd || fallback` still works. Set strict=false only for an intentional best-effort script. For a connected human
|
|
18085
|
+
description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd runs from the Computer's defaultCwd — the one materialized checkout when the recipe has exactly one repository, otherwise the workspace root — and the receipt echoes the cwd it ran in; pass cwd explicitly to override it. Strict Bash semantics are ON by default: an early command failure or failed pipeline makes the execution nonzero, while explicit handling such as `cmd || fallback` still works. Set strict=false only for an intentional best-effort script. For a connected human, Arbor supplies ambient GitHub authorization for normal gh/HTTPS Git commands and GitHub-linked author/committer identity ephemerally for every exec without writing credentials into the workspace; command-local Git environment overrides may still replace the identity. Use background only for the container backend; it returns a processId for computer_process_read / computer_process_terminate. worker-shell deliberately serializes mutations and rejects long-lived processes.",
|
|
18064
18086
|
inputSchema: {
|
|
18065
18087
|
computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
|
|
18066
18088
|
command: exports_external.string().min(1).describe("the shell command to run"),
|
|
@@ -18073,6 +18095,31 @@ var ACTION_DEFINITIONS = [
|
|
|
18073
18095
|
toolset: "loop",
|
|
18074
18096
|
run: forward("computer_runtime.exec")
|
|
18075
18097
|
},
|
|
18098
|
+
{
|
|
18099
|
+
name: "computer_process_read",
|
|
18100
|
+
title: "Read a background process",
|
|
18101
|
+
description: "READ ONLY: Inspect one process returned by computer_exec(background=true). Returns provider-owned lifecycle metadata plus bounded latest stdout/stderr and, once terminal, the final exit result. Re-read the same processId for progress without sentinel files or shell process archaeology.",
|
|
18102
|
+
inputSchema: {
|
|
18103
|
+
computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
|
|
18104
|
+
processId: exports_external.string().min(1).describe("the opaque processId returned by computer_exec(background=true), proc_…"),
|
|
18105
|
+
maxBytes: exports_external.number().int().min(1024).max(65536).optional().describe("maximum combined output bytes to return; default 16,384")
|
|
18106
|
+
},
|
|
18107
|
+
surfaces: ["computer-mcp", "computer-cli"],
|
|
18108
|
+
toolset: "loop",
|
|
18109
|
+
run: forward("computer_runtime.process_read")
|
|
18110
|
+
},
|
|
18111
|
+
{
|
|
18112
|
+
name: "computer_process_terminate",
|
|
18113
|
+
title: "Terminate a background process",
|
|
18114
|
+
description: "Terminate one process returned by computer_exec(background=true), including its provider-owned process tree. Returns the observed terminal state so ChatGPT can stop long verification explicitly without shell PIDs or ps/kill workarounds.",
|
|
18115
|
+
inputSchema: {
|
|
18116
|
+
computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
|
|
18117
|
+
processId: exports_external.string().min(1).describe("the opaque processId returned by computer_exec(background=true), proc_…")
|
|
18118
|
+
},
|
|
18119
|
+
surfaces: ["computer-mcp", "computer-cli"],
|
|
18120
|
+
toolset: "loop",
|
|
18121
|
+
run: forward("computer_runtime.process_terminate")
|
|
18122
|
+
},
|
|
18076
18123
|
{
|
|
18077
18124
|
name: "computer_status",
|
|
18078
18125
|
title: "Inspect a computer",
|
|
@@ -18308,6 +18355,7 @@ var ACTION_DEFINITIONS = [
|
|
|
18308
18355
|
assetsPath: exports_external.string().optional().describe("optional absolute static-asset directory under /workspace"),
|
|
18309
18356
|
runtimeEntrypoint: exports_external.enum(["fetch", "durable-object"]).describe("fetch for stateless Apps; durable-object must export class App"),
|
|
18310
18357
|
compatibilityDate: exports_external.string().describe("Cloudflare compatibility date, YYYY-MM-DD"),
|
|
18358
|
+
compatibilityFlags: exports_external.array(exports_external.enum(["nodejs_compat"])).max(1).optional().describe("allowlisted Cloudflare compatibility flags required by this Worker"),
|
|
18311
18359
|
stateSchemaVersion: exports_external.number().int().min(0).optional().describe("durable schema this release writes; default 0"),
|
|
18312
18360
|
stateCompatibleFrom: exports_external.number().int().min(0).optional().describe("oldest durable schema this code can open"),
|
|
18313
18361
|
stateCompatibleThrough: exports_external.number().int().min(0).optional().describe("newest durable schema this code can open"),
|
package/package.json
CHANGED