@lambdacurry/arbor 0.21.20 → 0.21.22
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 +51 -8
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -2112,6 +2112,32 @@ var computerSnapshots = sqliteTable("computer_snapshots", {
|
|
|
2112
2112
|
runIdx: index("computer_snapshots_run_idx").on(t.runId, t.createdAt),
|
|
2113
2113
|
parentIdx: index("computer_snapshots_parent_idx").on(t.parentSnapshotId)
|
|
2114
2114
|
}));
|
|
2115
|
+
var computerRunStarts = sqliteTable("computer_run_starts", {
|
|
2116
|
+
id: text("id").primaryKey(),
|
|
2117
|
+
computerId: text("computer_id").notNull().references(() => threadComputers.id),
|
|
2118
|
+
threadId: text("thread_id").notNull().references(() => threads.id),
|
|
2119
|
+
originatingSessionId: text("originating_session_id").notNull().references(() => computerSessions.id),
|
|
2120
|
+
profileId: text("profile_id").notNull().references(() => profiles.id),
|
|
2121
|
+
executionContextId: text("execution_context_id").notNull().references(() => executionContexts.id),
|
|
2122
|
+
idempotencyKey: text("idempotency_key").notNull(),
|
|
2123
|
+
idempotencyFingerprint: text("idempotency_fingerprint").notNull(),
|
|
2124
|
+
mode: text("mode").$type().notNull(),
|
|
2125
|
+
execution: text("execution").$type().notNull(),
|
|
2126
|
+
label: text("label"),
|
|
2127
|
+
checkpointLineageKey: text("checkpoint_lineage_key"),
|
|
2128
|
+
checkpointExpectedCurrentSnapshotId: text("checkpoint_expected_current_snapshot_id").references(() => computerSnapshots.id),
|
|
2129
|
+
checkpointParentSnapshotId: text("checkpoint_parent_snapshot_id").references(() => computerSnapshots.id),
|
|
2130
|
+
snapshotId: text("snapshot_id").references(() => computerSnapshots.id),
|
|
2131
|
+
runId: text("run_id").references(() => computerRuns.id),
|
|
2132
|
+
createdAt: ts("created_at").notNull(),
|
|
2133
|
+
updatedAt: ts("updated_at").notNull()
|
|
2134
|
+
}, (t) => ({
|
|
2135
|
+
idempotencyIdx: uniqueIndex("computer_run_starts_idempotency_idx").on(t.threadId, t.profileId, t.idempotencyKey),
|
|
2136
|
+
threadIdx: index("computer_run_starts_thread_idx").on(t.threadId, t.createdAt),
|
|
2137
|
+
checkpointLineageIdx: uniqueIndex("computer_run_starts_checkpoint_lineage_idx").on(t.checkpointLineageKey),
|
|
2138
|
+
snapshotIdx: index("computer_run_starts_snapshot_idx").on(t.snapshotId),
|
|
2139
|
+
runIdx: uniqueIndex("computer_run_starts_run_idx").on(t.runId)
|
|
2140
|
+
}));
|
|
2115
2141
|
var previews = sqliteTable("previews", {
|
|
2116
2142
|
id: text("id").primaryKey(),
|
|
2117
2143
|
threadId: text("thread_id").notNull().references(() => threads.id),
|
|
@@ -2771,6 +2797,7 @@ var watches = sqliteTable("watches", {
|
|
|
2771
2797
|
watchTargetIdx: index("watches_target_idx").on(t.targetType, t.targetId)
|
|
2772
2798
|
}));
|
|
2773
2799
|
// ../core/src/ops/computer-run.ts
|
|
2800
|
+
var COMPUTER_RUN_START_CHECKPOINT_RESERVATION_STALE_MS = 12 * 60 * 1000;
|
|
2774
2801
|
var TERMINAL = new Set(["finished", "failed", "cancelled"]);
|
|
2775
2802
|
var RUN_LIFECYCLE_TYPES = new Set(["run.started", "run.finished", "run.failed", "run.cancelled"]);
|
|
2776
2803
|
var COMPUTER_RUN_ACTIVITY_LABEL_MAX = 120;
|
|
@@ -17843,6 +17870,8 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17843
17870
|
scope: exports_external.literal("global"),
|
|
17844
17871
|
forum: exports_external.looseObject({ title: exports_external.string(), purpose: nullableString }),
|
|
17845
17872
|
topics: exports_external.array(jsonObject),
|
|
17873
|
+
total: exports_external.number().int().min(0).optional(),
|
|
17874
|
+
nextCursor: exports_external.string().optional(),
|
|
17846
17875
|
privacy: exports_external.string()
|
|
17847
17876
|
}),
|
|
17848
17877
|
feedback_recall: exports_external.looseObject({
|
|
@@ -17856,7 +17885,10 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17856
17885
|
canonicalThreadId: id,
|
|
17857
17886
|
thread: jsonObject,
|
|
17858
17887
|
topic: jsonObject,
|
|
17859
|
-
contributions: exports_external.array(jsonObject),
|
|
17888
|
+
contributions: exports_external.array(jsonObject).optional(),
|
|
17889
|
+
recentContributions: exports_external.array(jsonObject).optional(),
|
|
17890
|
+
contributionPage: exports_external.looseObject({ total: exports_external.number().int().min(0), nextCursor: nullableString }).optional(),
|
|
17891
|
+
contributionCount: exports_external.number().int().min(0).optional(),
|
|
17860
17892
|
mergedFrom: exports_external.array(jsonObject),
|
|
17861
17893
|
redirects: exports_external.array(jsonObject),
|
|
17862
17894
|
privacy: exports_external.string()
|
|
@@ -18319,7 +18351,9 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
18319
18351
|
]).optional()
|
|
18320
18352
|
}),
|
|
18321
18353
|
computer_run_start: exports_external.object({
|
|
18354
|
+
runStartId: id,
|
|
18322
18355
|
runId: id,
|
|
18356
|
+
replayed: exports_external.boolean(),
|
|
18323
18357
|
execution: exports_external.enum(["shared", "isolated"]),
|
|
18324
18358
|
durability: computerRunDurabilitySummary,
|
|
18325
18359
|
status: exports_external.string()
|
|
@@ -18713,7 +18747,9 @@ var OUTPUT_SHAPERS = {
|
|
|
18713
18747
|
const run = record2(result.run) ?? {};
|
|
18714
18748
|
const durability = record2(run.durability) ?? {};
|
|
18715
18749
|
return defined([
|
|
18750
|
+
["runStartId", result.runStartId],
|
|
18716
18751
|
["runId", run.runId],
|
|
18752
|
+
["replayed", result.replayed],
|
|
18717
18753
|
["execution", run.execution],
|
|
18718
18754
|
[
|
|
18719
18755
|
"durability",
|
|
@@ -19196,10 +19232,12 @@ var ACTION_DEFINITIONS = [
|
|
|
19196
19232
|
{
|
|
19197
19233
|
name: "feedback_tree",
|
|
19198
19234
|
title: "Browse the shared Arbor Feedback forum",
|
|
19199
|
-
description: "Browse the global Arbor Feedback forum by
|
|
19235
|
+
description: "Browse the global Arbor Feedback forum; Topics page by default, and depth=threads requires topicId to page one shared Thread roster (all=true is the only unscoped complete enumeration). New reports appear as their own shared Threads as submitted; private receipt metadata and reviewer diagnostics are never returned.",
|
|
19200
19236
|
inputSchema: {
|
|
19201
|
-
depth: exports_external.enum(["topics", "threads"]).optional().describe("topics (default) or threads
|
|
19202
|
-
|
|
19237
|
+
depth: exports_external.enum(["topics", "threads"]).optional().describe("topics (default) or threads for one explicitly selected Feedback Topic"),
|
|
19238
|
+
topicId: exports_external.string().optional().describe("depth=threads only: shared Feedback Topic whose Thread roster to page"),
|
|
19239
|
+
includeArchived: exports_external.boolean().optional().describe("include archived Topics/Threads for historical moderation or lookup (default false)"),
|
|
19240
|
+
...PAGINATION_INPUT
|
|
19203
19241
|
},
|
|
19204
19242
|
surfaces: ["mcp", "cli"],
|
|
19205
19243
|
toolset: "feedback",
|
|
@@ -19221,10 +19259,14 @@ var ACTION_DEFINITIONS = [
|
|
|
19221
19259
|
{
|
|
19222
19260
|
name: "feedback_thread_get",
|
|
19223
19261
|
title: "Read a shared Arbor Feedback thread",
|
|
19224
|
-
description: "Read one shared Arbor Feedback Thread, following
|
|
19262
|
+
description: "Read one shared Arbor Feedback Thread, following merge redirects while preserving shared provenance; MCP/CLI/API default to compact recent context, while view=full pages sanitized Contributions and all=true returns complete history. Private receipt ids, reporter organization metadata, diagnostics, and private associations are never projected.",
|
|
19225
19263
|
inputSchema: {
|
|
19226
|
-
threadId: exports_external.string().describe("the shared Feedback Thread id, thr_…")
|
|
19264
|
+
threadId: exports_external.string().describe("the shared Feedback Thread id, thr_…"),
|
|
19265
|
+
view: exports_external.enum(["full", "compact"]).optional().describe("MCP/CLI/API default compact; full pages the shared Contribution transcript"),
|
|
19266
|
+
recentLimit: exports_external.number().int().min(1).max(20).optional().describe("compact reads only: latest shared Contributions to include (default 6, max 20)"),
|
|
19267
|
+
...PAGINATION_INPUT
|
|
19227
19268
|
},
|
|
19269
|
+
externalReadDefaults: { view: EXTERNAL_DEFAULT_THREAD_VIEW },
|
|
19228
19270
|
surfaces: ["mcp", "cli"],
|
|
19229
19271
|
toolset: "feedback",
|
|
19230
19272
|
run: forward("feedback.thread_get")
|
|
@@ -19659,12 +19701,13 @@ var ACTION_DEFINITIONS = [
|
|
|
19659
19701
|
{
|
|
19660
19702
|
name: "computer_run_start",
|
|
19661
19703
|
title: "Start a run",
|
|
19662
|
-
description: "Start one bounded unit of work inside an opened Thread Computer
|
|
19704
|
+
description: "Start one bounded unit of work inside an opened Thread Computer with a caller-owned idempotency key so response loss can recover zero-or-one Run creation without listing. Write Runs default isolated; post-creation provisioning failures keep returning the exact runId and computer_run_receipt recovery.",
|
|
19663
19705
|
inputSchema: {
|
|
19664
19706
|
computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
|
|
19665
19707
|
mode: exports_external.enum(["read", "write"]).describe("write for mutable work; read for shared inspection"),
|
|
19666
19708
|
execution: exports_external.enum(["shared", "isolated"]).optional().describe("write Run placement; defaults to isolated. Use shared only for intentional live collaboration on the Thread Computer"),
|
|
19667
|
-
label: exports_external.string().max(120).optional().describe("short factual label for this unit of work")
|
|
19709
|
+
label: exports_external.string().max(120).optional().describe("short factual label for this unit of work"),
|
|
19710
|
+
idempotencyKey: exports_external.string().min(1).max(200).describe("stable key for this ONE logical Run-start request; reuse it unchanged for retries")
|
|
19668
19711
|
},
|
|
19669
19712
|
surfaces: ["computer-mcp", "computer-cli"],
|
|
19670
19713
|
toolset: "loop",
|
package/package.json
CHANGED