@lambdacurry/arbor 0.21.18 → 0.21.20
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 +84 -34
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -17744,10 +17744,21 @@ var artifact4 = exports_external.looseObject({
|
|
|
17744
17744
|
version: exports_external.number().optional(),
|
|
17745
17745
|
url: exports_external.string().optional()
|
|
17746
17746
|
});
|
|
17747
|
+
var initiativeThreadRef = exports_external.looseObject({
|
|
17748
|
+
id,
|
|
17749
|
+
title: exports_external.string(),
|
|
17750
|
+
spaceId: id
|
|
17751
|
+
});
|
|
17747
17752
|
var initiative3 = exports_external.looseObject({
|
|
17748
17753
|
id,
|
|
17749
17754
|
title: exports_external.string(),
|
|
17750
17755
|
status: exports_external.string(),
|
|
17756
|
+
purpose: exports_external.string().optional(),
|
|
17757
|
+
priority: exports_external.string().optional(),
|
|
17758
|
+
ownerProfileId: id.optional(),
|
|
17759
|
+
threadCount: exports_external.number().int().min(0).optional(),
|
|
17760
|
+
relatedThreads: exports_external.array(initiativeThreadRef).optional(),
|
|
17761
|
+
createdAt: timestamp.optional(),
|
|
17751
17762
|
spaceId: id.optional()
|
|
17752
17763
|
});
|
|
17753
17764
|
var app2 = exports_external.looseObject({
|
|
@@ -18060,11 +18071,13 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
18060
18071
|
all: exports_external.array(initiative3).optional(),
|
|
18061
18072
|
ok: exports_external.boolean().optional()
|
|
18062
18073
|
}),
|
|
18063
|
-
goal_get: exports_external.looseObject({ initiative: initiative3 }),
|
|
18074
|
+
goal_get: exports_external.looseObject({ initiative: initiative3, nextCursor: exports_external.string().optional() }),
|
|
18064
18075
|
goal_list: exports_external.looseObject({
|
|
18065
18076
|
initiatives: exports_external.array(initiative3).optional(),
|
|
18066
18077
|
linked: exports_external.array(initiative3).optional(),
|
|
18067
|
-
all: exports_external.array(initiative3).optional()
|
|
18078
|
+
all: exports_external.array(initiative3).optional(),
|
|
18079
|
+
total: exports_external.number().int().min(0),
|
|
18080
|
+
nextCursor: exports_external.string().optional()
|
|
18068
18081
|
}),
|
|
18069
18082
|
goal_delete: exports_external.looseObject({ ok: exports_external.boolean() }),
|
|
18070
18083
|
membership: exports_external.looseObject({
|
|
@@ -18285,12 +18298,25 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
18285
18298
|
defaultCwd: exports_external.string(),
|
|
18286
18299
|
capabilities: computerOpenCapabilities,
|
|
18287
18300
|
agentBrief: computerOpenAgentBrief,
|
|
18288
|
-
reconciliation: exports_external.
|
|
18289
|
-
|
|
18290
|
-
|
|
18291
|
-
|
|
18292
|
-
|
|
18293
|
-
|
|
18301
|
+
reconciliation: exports_external.union([
|
|
18302
|
+
exports_external.object({
|
|
18303
|
+
action: exports_external.literal("automatic_reprovision"),
|
|
18304
|
+
reason: exports_external.literal("container_profile_revision"),
|
|
18305
|
+
fromContainerProfileRevision: exports_external.number().int().nullable(),
|
|
18306
|
+
toContainerProfileRevision: exports_external.number().int().nullable()
|
|
18307
|
+
}),
|
|
18308
|
+
exports_external.object({
|
|
18309
|
+
action: exports_external.literal("automatic_reprovision"),
|
|
18310
|
+
reason: exports_external.literal("repository_additions"),
|
|
18311
|
+
reprovisionId: id,
|
|
18312
|
+
previousComputerId: id,
|
|
18313
|
+
successorComputerId: id,
|
|
18314
|
+
restoredSnapshotId: id.nullable(),
|
|
18315
|
+
checkpointOutcome: exports_external.string(),
|
|
18316
|
+
restorationOutcome: exports_external.string(),
|
|
18317
|
+
addedRepositories: exports_external.array(exports_external.string())
|
|
18318
|
+
})
|
|
18319
|
+
]).optional()
|
|
18294
18320
|
}),
|
|
18295
18321
|
computer_run_start: exports_external.object({
|
|
18296
18322
|
runId: id,
|
|
@@ -18640,7 +18666,14 @@ var OUTPUT_SHAPERS = {
|
|
|
18640
18666
|
"action",
|
|
18641
18667
|
"reason",
|
|
18642
18668
|
"fromContainerProfileRevision",
|
|
18643
|
-
"toContainerProfileRevision"
|
|
18669
|
+
"toContainerProfileRevision",
|
|
18670
|
+
"reprovisionId",
|
|
18671
|
+
"previousComputerId",
|
|
18672
|
+
"successorComputerId",
|
|
18673
|
+
"restoredSnapshotId",
|
|
18674
|
+
"checkpointOutcome",
|
|
18675
|
+
"restorationOutcome",
|
|
18676
|
+
"addedRepositories"
|
|
18644
18677
|
]);
|
|
18645
18678
|
return defined([
|
|
18646
18679
|
["computerSessionId", result.computerSessionId],
|
|
@@ -18975,11 +19008,28 @@ function forward(operation) {
|
|
|
18975
19008
|
run.operation = operation;
|
|
18976
19009
|
return run;
|
|
18977
19010
|
}
|
|
18978
|
-
function
|
|
18979
|
-
|
|
18980
|
-
|
|
18981
|
-
|
|
18982
|
-
|
|
19011
|
+
function forwardedOperations(run) {
|
|
19012
|
+
const tagged = run;
|
|
19013
|
+
if (typeof tagged.operation === "string")
|
|
19014
|
+
return [tagged.operation];
|
|
19015
|
+
if (Array.isArray(tagged.operations)) {
|
|
19016
|
+
return tagged.operations.filter((value) => typeof value === "string");
|
|
19017
|
+
}
|
|
19018
|
+
return [];
|
|
19019
|
+
}
|
|
19020
|
+
function forwardByFirstPresent(routes, missingMessage) {
|
|
19021
|
+
const selectorFields = new Set(Object.keys(routes));
|
|
19022
|
+
const run = (ex, input) => {
|
|
19023
|
+
for (const [field, operation] of Object.entries(routes)) {
|
|
19024
|
+
if (typeof input[field] !== "string")
|
|
19025
|
+
continue;
|
|
19026
|
+
const rest = Object.fromEntries(Object.entries(input).filter(([key]) => !selectorFields.has(key)));
|
|
19027
|
+
return ex.call(operation, { [field]: input[field], ...rest });
|
|
19028
|
+
}
|
|
19029
|
+
return Promise.reject(new Error(missingMessage));
|
|
19030
|
+
};
|
|
19031
|
+
run.operations = Object.values(routes);
|
|
19032
|
+
return run;
|
|
18983
19033
|
}
|
|
18984
19034
|
function dispatch(map2, reshape) {
|
|
18985
19035
|
return (ex, input) => {
|
|
@@ -19583,7 +19633,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19583
19633
|
{
|
|
19584
19634
|
name: "computer_open",
|
|
19585
19635
|
title: "Open a Thread computer",
|
|
19586
|
-
description: "Open
|
|
19636
|
+
description: "Open a Thread project environment and return its session/workspace, verified root repository instruction pointers, Agent Brief, capabilities, Runs, and reconciliation receipt. Forward profile-revision or additive authorized repository drift auto-reconciles through a successor; removal, setup, backend/provider/profile changes, or ambiguous drift refuse with computer_reprovision guidance.",
|
|
19587
19637
|
inputSchema: {
|
|
19588
19638
|
threadId: exports_external.string().describe("the Arbor Thread whose stable computer to open, thr_…"),
|
|
19589
19639
|
vcpus: exports_external.number().int().min(1).max(4).optional().describe("optional container vCPU request"),
|
|
@@ -20457,10 +20507,11 @@ var ACTION_DEFINITIONS = [
|
|
|
20457
20507
|
},
|
|
20458
20508
|
{
|
|
20459
20509
|
name: "get_goal",
|
|
20460
|
-
title: "Read one goal
|
|
20461
|
-
description: "Read ONE goal (initiative)
|
|
20510
|
+
title: "Read one goal",
|
|
20511
|
+
description: "Read ONE goal (initiative) — purpose, lifecycle status, and the related threads you can see, including archived goals. Related Threads are paged with threadCount as the visible total; use --limit/--cursor or --all.",
|
|
20462
20512
|
inputSchema: {
|
|
20463
|
-
id: exports_external.string().describe("the goal, ini_…")
|
|
20513
|
+
id: exports_external.string().describe("the goal, ini_…"),
|
|
20514
|
+
...PAGINATION_INPUT
|
|
20464
20515
|
},
|
|
20465
20516
|
surfaces: ["cli"],
|
|
20466
20517
|
toolset: "goals",
|
|
@@ -20468,14 +20519,16 @@ var ACTION_DEFINITIONS = [
|
|
|
20468
20519
|
},
|
|
20469
20520
|
{
|
|
20470
20521
|
name: "list_goals",
|
|
20471
|
-
title: "List
|
|
20472
|
-
description: "
|
|
20522
|
+
title: "List goals",
|
|
20523
|
+
description: "List compact goals attached to one Space, or a Thread's linked goals plus its available pick list. Space lists are compact cards; Thread lists page only the available `all` list and keep `linked` complete. Archived goals are omitted.",
|
|
20473
20524
|
inputSchema: {
|
|
20474
|
-
|
|
20525
|
+
spaceId: exports_external.string().optional().describe("a Space whose attached goals to list, spc_…"),
|
|
20526
|
+
threadId: exports_external.string().optional().describe("a Thread whose linked and available goals to list, thr_…"),
|
|
20527
|
+
...PAGINATION_INPUT
|
|
20475
20528
|
},
|
|
20476
20529
|
surfaces: ["cli"],
|
|
20477
20530
|
toolset: "goals",
|
|
20478
|
-
run:
|
|
20531
|
+
run: forwardByFirstPresent({ spaceId: "initiative.listForSpace", threadId: "initiative.forThread" }, "list_goals requires a spaceId (a Space's goals) or a threadId (a Thread's goals)")
|
|
20479
20532
|
},
|
|
20480
20533
|
{
|
|
20481
20534
|
name: "update_goal",
|
|
@@ -20657,8 +20710,8 @@ var ACTION_DEFINITIONS = [
|
|
|
20657
20710
|
{
|
|
20658
20711
|
name: "goal_get",
|
|
20659
20712
|
title: "Read one goal",
|
|
20660
|
-
description: "Read one goal
|
|
20661
|
-
inputSchema: { id: exports_external.string().describe("the goal, ini_…") },
|
|
20713
|
+
description: "Read one goal, including its purpose, lifecycle, attached Spaces, and related Threads visible to you; it cannot mutate the goal. Related Threads are paged: threadCount is the visible total, nextCursor continues the page, and all=true returns every visible related Thread.",
|
|
20714
|
+
inputSchema: { id: exports_external.string().describe("the goal, ini_…"), ...PAGINATION_INPUT },
|
|
20662
20715
|
surfaces: ["mcp"],
|
|
20663
20716
|
toolset: "goals",
|
|
20664
20717
|
run: forward("initiative.get")
|
|
@@ -20666,20 +20719,15 @@ var ACTION_DEFINITIONS = [
|
|
|
20666
20719
|
{
|
|
20667
20720
|
name: "goal_list",
|
|
20668
20721
|
title: "List goals",
|
|
20669
|
-
description: "List
|
|
20722
|
+
description: "List compact goals attached to one Space, or the linked and available goals for one Thread. Space pages omit relatedThreads; Thread pages keep linked complete and page only the available `all` list; it cannot mutate a goal.",
|
|
20670
20723
|
inputSchema: {
|
|
20671
20724
|
spaceId: exports_external.string().optional().describe("a Space whose attached goals to list, spc_…"),
|
|
20672
|
-
threadId: exports_external.string().optional().describe("a Thread whose linked and available goals to list, thr_…")
|
|
20725
|
+
threadId: exports_external.string().optional().describe("a Thread whose linked and available goals to list, thr_…"),
|
|
20726
|
+
...PAGINATION_INPUT
|
|
20673
20727
|
},
|
|
20674
20728
|
surfaces: ["mcp"],
|
|
20675
20729
|
toolset: "goals",
|
|
20676
|
-
run: (
|
|
20677
|
-
if (typeof input.spaceId === "string")
|
|
20678
|
-
return ex.call("initiative.listForSpace", { spaceId: input.spaceId });
|
|
20679
|
-
if (typeof input.threadId === "string")
|
|
20680
|
-
return ex.call("initiative.forThread", { threadId: input.threadId });
|
|
20681
|
-
return Promise.reject(new Error("goal_list requires a spaceId (a Space's goals) or a threadId (a Thread's goals)"));
|
|
20682
|
-
}
|
|
20730
|
+
run: forwardByFirstPresent({ spaceId: "initiative.listForSpace", threadId: "initiative.forThread" }, "goal_list requires a spaceId (a Space's goals) or a threadId (a Thread's goals)")
|
|
20683
20731
|
},
|
|
20684
20732
|
{
|
|
20685
20733
|
name: "goal",
|
|
@@ -21404,7 +21452,9 @@ var ACTIONS = ACTION_DEFINITIONS.map((action) => {
|
|
|
21404
21452
|
throw new Error(`${action.name}: requiresCapability is an MCP catalog gate`);
|
|
21405
21453
|
}
|
|
21406
21454
|
const externalReadDefaults = action.inputSchema.limit === PAGINATION_INPUT.limit ? { ...action.externalReadDefaults, limit: EXTERNAL_DEFAULT_PAGE_SIZE } : action.externalReadDefaults;
|
|
21407
|
-
|
|
21455
|
+
for (const operation of forwardedOperations(action.run)) {
|
|
21456
|
+
recordExternalReadDefaults(operation, externalReadDefaults);
|
|
21457
|
+
}
|
|
21408
21458
|
if (!action.surfaces.some((surface) => surface === "mcp" || surface === "computer-mcp")) {
|
|
21409
21459
|
return externalReadDefaults ? { ...action, externalReadDefaults } : action;
|
|
21410
21460
|
}
|
package/package.json
CHANGED