@lambdacurry/arbor 0.13.2 → 0.13.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 +534 -12
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -1809,6 +1809,7 @@ var appBundles = sqliteTable("app_bundles", {
|
|
|
1809
1809
|
mainModule: text("main_module").notNull(),
|
|
1810
1810
|
modules: text("modules", { mode: "json" }).$type().notNull(),
|
|
1811
1811
|
staticAssets: text("static_assets", { mode: "json" }).$type().notNull(),
|
|
1812
|
+
buildProvenance: text("build_provenance", { mode: "json" }).$type(),
|
|
1812
1813
|
runtimeEntrypoint: text("runtime_entrypoint").$type().notNull(),
|
|
1813
1814
|
capabilityRequirements: text("capability_requirements", { mode: "json" }).$type().notNull().default([]),
|
|
1814
1815
|
stateSchemaVersion: integer("state_schema_version").notNull().default(0),
|
|
@@ -1839,14 +1840,17 @@ var apps = sqliteTable("apps", {
|
|
|
1839
1840
|
access: text("access").$type().notNull(),
|
|
1840
1841
|
discovery: text("discovery").$type(),
|
|
1841
1842
|
activeDeploymentId: text("active_deployment_id"),
|
|
1843
|
+
pendingActivationDeploymentId: text("pending_activation_deployment_id"),
|
|
1842
1844
|
runtimeProvider: text("runtime_provider").$type().notNull(),
|
|
1843
1845
|
runtimeHealth: text("runtime_health").$type().notNull().default("unknown"),
|
|
1844
1846
|
runtimeHealthUpdatedAt: ts("runtime_health_updated_at"),
|
|
1845
1847
|
stateMode: text("state_mode").$type().notNull(),
|
|
1846
1848
|
stateIdentity: text("state_identity").notNull(),
|
|
1847
1849
|
stateGeneration: integer("state_generation").notNull().default(0),
|
|
1850
|
+
pendingStateResetId: text("pending_state_reset_id"),
|
|
1848
1851
|
currentStateSchemaVersion: integer("current_state_schema_version").notNull().default(0),
|
|
1849
1852
|
deploymentRevision: integer("deployment_revision").notNull().default(0),
|
|
1853
|
+
metadataRevision: integer("metadata_revision").notNull().default(0),
|
|
1850
1854
|
createdByProfileId: text("created_by_profile_id").notNull().references(() => profiles.id),
|
|
1851
1855
|
createdExecutionContextId: text("created_execution_context_id").notNull().references(() => executionContexts.id),
|
|
1852
1856
|
createdAt: ts("created_at").notNull(),
|
|
@@ -1889,9 +1893,15 @@ var appStateResets = sqliteTable("app_state_resets", {
|
|
|
1889
1893
|
resetByProfileId: text("reset_by_profile_id").notNull().references(() => profiles.id),
|
|
1890
1894
|
resetExecutionContextId: text("reset_execution_context_id").notNull().references(() => executionContexts.id),
|
|
1891
1895
|
providerReceipt: text("provider_receipt", { mode: "json" }).$type().notNull(),
|
|
1892
|
-
|
|
1896
|
+
status: text("status").$type().notNull().default("completed"),
|
|
1897
|
+
activeDeploymentId: text("active_deployment_id"),
|
|
1898
|
+
deploymentRevision: integer("deployment_revision"),
|
|
1899
|
+
targetStateSchemaVersion: integer("target_state_schema_version"),
|
|
1900
|
+
createdAt: ts("created_at").notNull(),
|
|
1901
|
+
completedAt: ts("completed_at")
|
|
1893
1902
|
}, (t) => ({
|
|
1894
1903
|
idempotencyUq: uniqueIndex("app_state_resets_idempotency_uq").on(t.appId, t.resetByProfileId, t.idempotencyKey),
|
|
1904
|
+
generationUq: uniqueIndex("app_state_resets_generation_uq").on(t.appId, t.fromGeneration),
|
|
1895
1905
|
appIdx: index("app_state_resets_app_idx").on(t.appId, t.createdAt)
|
|
1896
1906
|
}));
|
|
1897
1907
|
var appViewerGrantUses = sqliteTable("app_viewer_grant_uses", {
|
|
@@ -1948,7 +1958,7 @@ var events = sqliteTable("events", {
|
|
|
1948
1958
|
payload: text("payload", { mode: "json" }).$type().notNull().default({}),
|
|
1949
1959
|
createdAt: ts("created_at").notNull()
|
|
1950
1960
|
}, (t) => ({
|
|
1951
|
-
objectIdx: index("events_object_idx").on(t.objectType, t.objectId),
|
|
1961
|
+
objectIdx: index("events_object_idx").on(t.objectType, t.objectId, t.createdAt),
|
|
1952
1962
|
createdIdx: index("events_created_idx").on(t.createdAt)
|
|
1953
1963
|
}));
|
|
1954
1964
|
var notifications = sqliteTable("notifications", {
|
|
@@ -16425,6 +16435,509 @@ function date4(params) {
|
|
|
16425
16435
|
|
|
16426
16436
|
// ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
|
|
16427
16437
|
config(en_default());
|
|
16438
|
+
// ../actions/src/output-schemas.ts
|
|
16439
|
+
var id = exports_external.string();
|
|
16440
|
+
var timestamp = exports_external.string();
|
|
16441
|
+
var nullableString = exports_external.string().nullable();
|
|
16442
|
+
var jsonObject = exports_external.looseObject({});
|
|
16443
|
+
var spaceRef = exports_external.looseObject({ id, title: nullableString });
|
|
16444
|
+
var recallHit = exports_external.looseObject({
|
|
16445
|
+
id,
|
|
16446
|
+
objectType: exports_external.string(),
|
|
16447
|
+
tier: exports_external.string(),
|
|
16448
|
+
score: exports_external.number(),
|
|
16449
|
+
excerpt: exports_external.string(),
|
|
16450
|
+
space: spaceRef.nullable(),
|
|
16451
|
+
url: exports_external.string(),
|
|
16452
|
+
createdAt: timestamp
|
|
16453
|
+
});
|
|
16454
|
+
var contributionRef = exports_external.looseObject({
|
|
16455
|
+
id,
|
|
16456
|
+
objectType: exports_external.string(),
|
|
16457
|
+
excerpt: exports_external.string(),
|
|
16458
|
+
url: exports_external.string(),
|
|
16459
|
+
createdAt: timestamp,
|
|
16460
|
+
space: spaceRef.nullable(),
|
|
16461
|
+
crossSpace: exports_external.boolean()
|
|
16462
|
+
});
|
|
16463
|
+
var reactionCount = exports_external.looseObject({ emoji: exports_external.string(), count: exports_external.number(), reacted: exports_external.boolean() });
|
|
16464
|
+
var computerConfig = exports_external.looseObject({
|
|
16465
|
+
backend: exports_external.enum(["worker-shell", "container"]),
|
|
16466
|
+
containerProfile: nullableString,
|
|
16467
|
+
setupScript: nullableString,
|
|
16468
|
+
repositories: exports_external.array(exports_external.string())
|
|
16469
|
+
});
|
|
16470
|
+
var computerConfigLayer = exports_external.looseObject({
|
|
16471
|
+
id,
|
|
16472
|
+
scope: exports_external.string(),
|
|
16473
|
+
scopeId: id,
|
|
16474
|
+
config: jsonObject,
|
|
16475
|
+
version: exports_external.number(),
|
|
16476
|
+
updatedAt: timestamp
|
|
16477
|
+
});
|
|
16478
|
+
var snapshot = exports_external.looseObject({
|
|
16479
|
+
id,
|
|
16480
|
+
ownerScope: exports_external.enum(["topic-base", "thread-checkpoint"]),
|
|
16481
|
+
provider: exports_external.string(),
|
|
16482
|
+
providerRef: exports_external.string()
|
|
16483
|
+
});
|
|
16484
|
+
var attachment2 = exports_external.looseObject({
|
|
16485
|
+
attachmentId: id,
|
|
16486
|
+
filename: exports_external.string(),
|
|
16487
|
+
description: exports_external.string(),
|
|
16488
|
+
mimeType: exports_external.string(),
|
|
16489
|
+
size: exports_external.number(),
|
|
16490
|
+
sha256: exports_external.string(),
|
|
16491
|
+
downloadUrl: exports_external.string(),
|
|
16492
|
+
markdown: exports_external.string()
|
|
16493
|
+
});
|
|
16494
|
+
var checkpoint = exports_external.looseObject({
|
|
16495
|
+
kind: exports_external.enum(["topic-base", "thread-checkpoint"]),
|
|
16496
|
+
backup: exports_external.string(),
|
|
16497
|
+
published: jsonObject
|
|
16498
|
+
});
|
|
16499
|
+
var profile2 = exports_external.looseObject({
|
|
16500
|
+
id,
|
|
16501
|
+
kind: exports_external.string(),
|
|
16502
|
+
displayName: exports_external.string(),
|
|
16503
|
+
orgId: id,
|
|
16504
|
+
orgRole: exports_external.string(),
|
|
16505
|
+
color: nullableString.optional(),
|
|
16506
|
+
emoji: nullableString.optional(),
|
|
16507
|
+
description: nullableString.optional(),
|
|
16508
|
+
capabilities: exports_external.array(exports_external.string()).optional(),
|
|
16509
|
+
notificationPrefs: jsonObject.optional()
|
|
16510
|
+
});
|
|
16511
|
+
var member = exports_external.looseObject({
|
|
16512
|
+
id: id.optional(),
|
|
16513
|
+
profileId: id.optional(),
|
|
16514
|
+
displayName: exports_external.string().optional(),
|
|
16515
|
+
name: exports_external.string().optional(),
|
|
16516
|
+
kind: exports_external.string(),
|
|
16517
|
+
role: exports_external.string()
|
|
16518
|
+
});
|
|
16519
|
+
var thread3 = exports_external.looseObject({
|
|
16520
|
+
id,
|
|
16521
|
+
title: exports_external.string(),
|
|
16522
|
+
objective: exports_external.string(),
|
|
16523
|
+
status: exports_external.string(),
|
|
16524
|
+
url: exports_external.string().optional()
|
|
16525
|
+
});
|
|
16526
|
+
var topic2 = exports_external.looseObject({
|
|
16527
|
+
id,
|
|
16528
|
+
spaceId: id.optional(),
|
|
16529
|
+
title: exports_external.string(),
|
|
16530
|
+
purpose: nullableString.optional(),
|
|
16531
|
+
url: exports_external.string().optional()
|
|
16532
|
+
});
|
|
16533
|
+
var space3 = exports_external.looseObject({
|
|
16534
|
+
id,
|
|
16535
|
+
title: exports_external.string(),
|
|
16536
|
+
purpose: nullableString.optional(),
|
|
16537
|
+
stage: exports_external.string().optional(),
|
|
16538
|
+
url: exports_external.string().optional()
|
|
16539
|
+
});
|
|
16540
|
+
var contribution2 = exports_external.looseObject({
|
|
16541
|
+
id,
|
|
16542
|
+
threadId: id,
|
|
16543
|
+
type: exports_external.string(),
|
|
16544
|
+
body: exports_external.string(),
|
|
16545
|
+
createdAt: timestamp,
|
|
16546
|
+
url: exports_external.string().optional()
|
|
16547
|
+
});
|
|
16548
|
+
var request2 = exports_external.looseObject({
|
|
16549
|
+
id,
|
|
16550
|
+
threadId: id,
|
|
16551
|
+
status: exports_external.string(),
|
|
16552
|
+
kind: exports_external.string().optional(),
|
|
16553
|
+
prompt: exports_external.string().optional()
|
|
16554
|
+
});
|
|
16555
|
+
var artifact4 = exports_external.looseObject({
|
|
16556
|
+
id,
|
|
16557
|
+
title: exports_external.string(),
|
|
16558
|
+
kind: exports_external.string(),
|
|
16559
|
+
status: exports_external.string(),
|
|
16560
|
+
version: exports_external.number().optional(),
|
|
16561
|
+
url: exports_external.string().optional()
|
|
16562
|
+
});
|
|
16563
|
+
var initiative3 = exports_external.looseObject({
|
|
16564
|
+
id,
|
|
16565
|
+
title: exports_external.string(),
|
|
16566
|
+
status: exports_external.string(),
|
|
16567
|
+
spaceId: id.optional()
|
|
16568
|
+
});
|
|
16569
|
+
var app2 = exports_external.looseObject({
|
|
16570
|
+
id,
|
|
16571
|
+
spaceId: id,
|
|
16572
|
+
title: exports_external.string(),
|
|
16573
|
+
slug: exports_external.string(),
|
|
16574
|
+
access: exports_external.string(),
|
|
16575
|
+
stateMode: exports_external.string(),
|
|
16576
|
+
url: exports_external.string().optional()
|
|
16577
|
+
});
|
|
16578
|
+
var deployment = exports_external.looseObject({ id, appId: id, bundleId: id, status: exports_external.string() });
|
|
16579
|
+
var treeThread = exports_external.looseObject({
|
|
16580
|
+
id,
|
|
16581
|
+
title: exports_external.string(),
|
|
16582
|
+
objective: exports_external.string(),
|
|
16583
|
+
contributionCount: exports_external.number(),
|
|
16584
|
+
status: exports_external.string(),
|
|
16585
|
+
lastActivityAt: timestamp.optional(),
|
|
16586
|
+
standouts: exports_external.number().optional(),
|
|
16587
|
+
openRequests: exports_external.number().optional(),
|
|
16588
|
+
openRequestsForYou: exports_external.number().optional()
|
|
16589
|
+
});
|
|
16590
|
+
var treeTopic = exports_external.looseObject({
|
|
16591
|
+
id,
|
|
16592
|
+
title: exports_external.string(),
|
|
16593
|
+
purpose: exports_external.string().optional(),
|
|
16594
|
+
lanesForYou: exports_external.array(exports_external.string()).optional(),
|
|
16595
|
+
threads: exports_external.array(treeThread).optional()
|
|
16596
|
+
});
|
|
16597
|
+
var treeSpace = exports_external.looseObject({
|
|
16598
|
+
id,
|
|
16599
|
+
title: exports_external.string(),
|
|
16600
|
+
purpose: exports_external.string().optional(),
|
|
16601
|
+
stage: exports_external.string().optional(),
|
|
16602
|
+
members: exports_external.array(member).optional(),
|
|
16603
|
+
lanesForYou: exports_external.array(exports_external.string()).optional(),
|
|
16604
|
+
topics: exports_external.array(treeTopic).optional()
|
|
16605
|
+
});
|
|
16606
|
+
var paged = (key, item) => exports_external.looseObject({
|
|
16607
|
+
[key]: exports_external.array(item),
|
|
16608
|
+
total: exports_external.number().optional(),
|
|
16609
|
+
nextCursor: exports_external.string().optional()
|
|
16610
|
+
});
|
|
16611
|
+
var MCP_OUTPUT_SCHEMAS = {
|
|
16612
|
+
recall: exports_external.object({ result: exports_external.array(recallHit) }),
|
|
16613
|
+
contribute: exports_external.looseObject({
|
|
16614
|
+
contributionId: id,
|
|
16615
|
+
threadId: id,
|
|
16616
|
+
type: exports_external.string(),
|
|
16617
|
+
replayed: exports_external.boolean(),
|
|
16618
|
+
url: exports_external.string(),
|
|
16619
|
+
priorArt: exports_external.array(contributionRef).optional(),
|
|
16620
|
+
summaryHint: exports_external.string().optional()
|
|
16621
|
+
}),
|
|
16622
|
+
edit: exports_external.looseObject({ contributionId: id, editedAt: timestamp }),
|
|
16623
|
+
stamp: exports_external.looseObject({
|
|
16624
|
+
reviewId: id,
|
|
16625
|
+
contributionId: id,
|
|
16626
|
+
facetKey: exports_external.string().nullable(),
|
|
16627
|
+
polarity: exports_external.string().nullable()
|
|
16628
|
+
}),
|
|
16629
|
+
react: exports_external.looseObject({
|
|
16630
|
+
reacted: exports_external.boolean(),
|
|
16631
|
+
targetType: exports_external.string(),
|
|
16632
|
+
targetId: id,
|
|
16633
|
+
emoji: exports_external.string(),
|
|
16634
|
+
reactions: exports_external.array(reactionCount)
|
|
16635
|
+
}),
|
|
16636
|
+
create_topic: topic2,
|
|
16637
|
+
topic_update: exports_external.looseObject({
|
|
16638
|
+
id,
|
|
16639
|
+
title: exports_external.string().optional(),
|
|
16640
|
+
purpose: nullableString.optional()
|
|
16641
|
+
}),
|
|
16642
|
+
create_thread: thread3,
|
|
16643
|
+
set_organization_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
|
|
16644
|
+
set_space_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
|
|
16645
|
+
set_topic_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
|
|
16646
|
+
set_thread_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
|
|
16647
|
+
attach_computer: exports_external.looseObject({
|
|
16648
|
+
computerId: id,
|
|
16649
|
+
sessionId: id,
|
|
16650
|
+
createdComputer: exports_external.boolean(),
|
|
16651
|
+
startingSnapshot: snapshot.nullable(),
|
|
16652
|
+
config: computerConfig
|
|
16653
|
+
}),
|
|
16654
|
+
get_computer: exports_external.looseObject({
|
|
16655
|
+
threadId: id,
|
|
16656
|
+
config: computerConfig,
|
|
16657
|
+
topicBase: snapshot.nullable(),
|
|
16658
|
+
computer: jsonObject.nullable(),
|
|
16659
|
+
sessions: exports_external.array(jsonObject),
|
|
16660
|
+
lineage: exports_external.array(snapshot)
|
|
16661
|
+
}),
|
|
16662
|
+
publish_topic_computer: exports_external.looseObject({
|
|
16663
|
+
published: exports_external.boolean(),
|
|
16664
|
+
snapshot
|
|
16665
|
+
}),
|
|
16666
|
+
checkpoint_computer: exports_external.looseObject({
|
|
16667
|
+
ok: exports_external.boolean(),
|
|
16668
|
+
idempotent: exports_external.boolean().optional(),
|
|
16669
|
+
snapshot: snapshot.optional(),
|
|
16670
|
+
reason: exports_external.string().optional(),
|
|
16671
|
+
currentSnapshotId: nullableString.optional()
|
|
16672
|
+
}),
|
|
16673
|
+
transition_thread: exports_external.looseObject({ threadId: id, status: exports_external.string() }),
|
|
16674
|
+
request: exports_external.looseObject({
|
|
16675
|
+
requestId: id,
|
|
16676
|
+
threadId: id,
|
|
16677
|
+
audience: exports_external.string(),
|
|
16678
|
+
completion: exports_external.string(),
|
|
16679
|
+
status: exports_external.string(),
|
|
16680
|
+
opensAt: timestamp.optional()
|
|
16681
|
+
}),
|
|
16682
|
+
respond: exports_external.looseObject({
|
|
16683
|
+
requestId: id,
|
|
16684
|
+
requestStatus: exports_external.string(),
|
|
16685
|
+
contributionId: id,
|
|
16686
|
+
computerSessionId: id.optional(),
|
|
16687
|
+
attachmentIds: exports_external.array(id).optional()
|
|
16688
|
+
}),
|
|
16689
|
+
mark_as_response: exports_external.looseObject({
|
|
16690
|
+
requestId: id,
|
|
16691
|
+
requestStatus: exports_external.string(),
|
|
16692
|
+
contributionId: id
|
|
16693
|
+
}),
|
|
16694
|
+
cancel_request: exports_external.looseObject({ requestId: id, status: exports_external.string(), withdrawn: exports_external.boolean() }),
|
|
16695
|
+
inbox: paged("items", jsonObject),
|
|
16696
|
+
dismiss: exports_external.looseObject({ inboxItemId: id, status: exports_external.literal("dismissed") }),
|
|
16697
|
+
whoami: exports_external.looseObject({
|
|
16698
|
+
profile: profile2,
|
|
16699
|
+
client: exports_external.looseObject({ id, kind: exports_external.string() }),
|
|
16700
|
+
platform: exports_external.looseObject({ level: exports_external.string() }).optional(),
|
|
16701
|
+
spaceCharters: exports_external.array(jsonObject).optional(),
|
|
16702
|
+
completeness: jsonObject.optional()
|
|
16703
|
+
}),
|
|
16704
|
+
introduce: profile2,
|
|
16705
|
+
thread_get: exports_external.looseObject({
|
|
16706
|
+
thread: thread3.optional(),
|
|
16707
|
+
topic: topic2.optional(),
|
|
16708
|
+
space: space3.optional(),
|
|
16709
|
+
contributions: exports_external.array(contribution2).optional(),
|
|
16710
|
+
recentContributions: exports_external.array(contribution2).optional(),
|
|
16711
|
+
contributionCount: exports_external.number().optional(),
|
|
16712
|
+
openRequests: exports_external.array(request2).optional(),
|
|
16713
|
+
scheduledRequests: exports_external.array(request2).optional(),
|
|
16714
|
+
artifacts: exports_external.array(artifact4).optional(),
|
|
16715
|
+
initiatives: exports_external.array(initiative3).optional(),
|
|
16716
|
+
cursor: exports_external.string().optional(),
|
|
16717
|
+
unchanged: exports_external.boolean().optional()
|
|
16718
|
+
}),
|
|
16719
|
+
tree: exports_external.looseObject({ spaces: exports_external.array(treeSpace) }),
|
|
16720
|
+
members: exports_external.looseObject({ members: exports_external.array(member), total: exports_external.number().optional() }),
|
|
16721
|
+
space_create: space3,
|
|
16722
|
+
space_update: exports_external.looseObject({
|
|
16723
|
+
id,
|
|
16724
|
+
title: exports_external.string().optional(),
|
|
16725
|
+
purpose: nullableString.optional(),
|
|
16726
|
+
visibility: exports_external.string().optional(),
|
|
16727
|
+
stage: exports_external.string().optional()
|
|
16728
|
+
}),
|
|
16729
|
+
space_get: exports_external.looseObject({
|
|
16730
|
+
space: space3,
|
|
16731
|
+
topics: exports_external.array(topic2).optional(),
|
|
16732
|
+
members: exports_external.array(member).optional(),
|
|
16733
|
+
computerConfig: computerConfig.nullable().optional()
|
|
16734
|
+
}),
|
|
16735
|
+
topic_get: exports_external.looseObject({
|
|
16736
|
+
topic: topic2,
|
|
16737
|
+
space: space3,
|
|
16738
|
+
threads: exports_external.array(thread3).optional(),
|
|
16739
|
+
promotedArtifacts: exports_external.array(artifact4).optional(),
|
|
16740
|
+
computerConfig: computerConfig.nullable().optional()
|
|
16741
|
+
}),
|
|
16742
|
+
goal: exports_external.looseObject({
|
|
16743
|
+
id: id.optional(),
|
|
16744
|
+
title: exports_external.string().optional(),
|
|
16745
|
+
purpose: nullableString.optional(),
|
|
16746
|
+
status: exports_external.string().optional(),
|
|
16747
|
+
homeSpaceId: id.optional(),
|
|
16748
|
+
initiative: initiative3.optional(),
|
|
16749
|
+
initiatives: exports_external.array(initiative3).optional(),
|
|
16750
|
+
linked: exports_external.array(initiative3).optional(),
|
|
16751
|
+
all: exports_external.array(initiative3).optional(),
|
|
16752
|
+
ok: exports_external.boolean().optional()
|
|
16753
|
+
}),
|
|
16754
|
+
membership: exports_external.looseObject({
|
|
16755
|
+
spaceId: id.optional(),
|
|
16756
|
+
profileId: id.optional(),
|
|
16757
|
+
role: exports_external.string().optional(),
|
|
16758
|
+
left: exports_external.boolean().optional(),
|
|
16759
|
+
effect: exports_external.string().optional(),
|
|
16760
|
+
invitationId: id.optional(),
|
|
16761
|
+
accepted: exports_external.boolean().optional(),
|
|
16762
|
+
spaces: exports_external.array(space3).optional(),
|
|
16763
|
+
invitations: exports_external.array(jsonObject).optional(),
|
|
16764
|
+
membership: jsonObject.optional(),
|
|
16765
|
+
total: exports_external.number().optional(),
|
|
16766
|
+
nextCursor: exports_external.string().optional(),
|
|
16767
|
+
ok: exports_external.boolean().optional()
|
|
16768
|
+
}),
|
|
16769
|
+
notification: exports_external.looseObject({
|
|
16770
|
+
items: exports_external.array(jsonObject).optional(),
|
|
16771
|
+
total: exports_external.number().optional(),
|
|
16772
|
+
unseenCount: exports_external.number().optional(),
|
|
16773
|
+
lastSeenAt: timestamp.nullable().optional(),
|
|
16774
|
+
notificationId: id.optional(),
|
|
16775
|
+
read: exports_external.boolean().optional(),
|
|
16776
|
+
markedCount: exports_external.number().optional(),
|
|
16777
|
+
nextCursor: exports_external.string().optional()
|
|
16778
|
+
}),
|
|
16779
|
+
watch: exports_external.looseObject({
|
|
16780
|
+
targetType: exports_external.string().optional(),
|
|
16781
|
+
targetId: id.optional(),
|
|
16782
|
+
watching: exports_external.boolean().optional(),
|
|
16783
|
+
watches: exports_external.array(jsonObject).optional()
|
|
16784
|
+
}),
|
|
16785
|
+
curation: exports_external.looseObject({
|
|
16786
|
+
contributionId: id.optional(),
|
|
16787
|
+
threadId: id.optional(),
|
|
16788
|
+
standout: exports_external.boolean().optional(),
|
|
16789
|
+
changed: exports_external.boolean().optional(),
|
|
16790
|
+
demoted: exports_external.boolean().optional(),
|
|
16791
|
+
deleted: exports_external.boolean().optional(),
|
|
16792
|
+
restored: exports_external.boolean().optional(),
|
|
16793
|
+
status: exports_external.string().optional()
|
|
16794
|
+
}),
|
|
16795
|
+
artifact: exports_external.looseObject({
|
|
16796
|
+
id: id.optional(),
|
|
16797
|
+
title: exports_external.string().optional(),
|
|
16798
|
+
kind: exports_external.string().optional(),
|
|
16799
|
+
content: jsonObject.optional(),
|
|
16800
|
+
artifactId: id.optional(),
|
|
16801
|
+
artifact: artifact4.optional(),
|
|
16802
|
+
version: exports_external.number().optional(),
|
|
16803
|
+
status: exports_external.string().optional(),
|
|
16804
|
+
retrievalTier: exports_external.string().optional(),
|
|
16805
|
+
watching: exports_external.boolean().optional(),
|
|
16806
|
+
url: exports_external.string().optional(),
|
|
16807
|
+
versions: exports_external.array(jsonObject).optional(),
|
|
16808
|
+
appBundles: exports_external.array(jsonObject).optional()
|
|
16809
|
+
}),
|
|
16810
|
+
apps: exports_external.looseObject({
|
|
16811
|
+
result: exports_external.array(app2).optional(),
|
|
16812
|
+
spaceId: id.optional(),
|
|
16813
|
+
title: exports_external.string().optional(),
|
|
16814
|
+
slug: exports_external.string().optional(),
|
|
16815
|
+
access: exports_external.string().optional(),
|
|
16816
|
+
stateMode: exports_external.string().optional(),
|
|
16817
|
+
app: app2.optional(),
|
|
16818
|
+
deployment: deployment.optional(),
|
|
16819
|
+
deployments: exports_external.array(jsonObject).optional(),
|
|
16820
|
+
bundle: jsonObject.optional(),
|
|
16821
|
+
reset: jsonObject.optional(),
|
|
16822
|
+
activated: exports_external.boolean().optional(),
|
|
16823
|
+
replayed: exports_external.boolean().optional(),
|
|
16824
|
+
url: exports_external.string().optional(),
|
|
16825
|
+
id: id.optional()
|
|
16826
|
+
}),
|
|
16827
|
+
charter: exports_external.looseObject({
|
|
16828
|
+
ok: exports_external.boolean().optional(),
|
|
16829
|
+
space: space3.optional(),
|
|
16830
|
+
topic: topic2.optional(),
|
|
16831
|
+
thread: thread3.optional(),
|
|
16832
|
+
charter: exports_external.string().nullable().optional(),
|
|
16833
|
+
guidance: exports_external.array(exports_external.string()).optional(),
|
|
16834
|
+
contributionLanes: exports_external.array(exports_external.string()).optional()
|
|
16835
|
+
}),
|
|
16836
|
+
computer_open: exports_external.looseObject({
|
|
16837
|
+
computerId: id,
|
|
16838
|
+
computerSessionId: id,
|
|
16839
|
+
backend: exports_external.enum(["worker-shell", "container"]),
|
|
16840
|
+
startingSnapshot: snapshot.nullable(),
|
|
16841
|
+
materialized: checkpoint.nullable(),
|
|
16842
|
+
runtime: jsonObject
|
|
16843
|
+
}),
|
|
16844
|
+
computer_exec: exports_external.looseObject({
|
|
16845
|
+
stdout: exports_external.string().optional(),
|
|
16846
|
+
stderr: exports_external.string().optional(),
|
|
16847
|
+
exitCode: exports_external.number().optional(),
|
|
16848
|
+
jobId: exports_external.string().optional(),
|
|
16849
|
+
status: exports_external.string().optional()
|
|
16850
|
+
}),
|
|
16851
|
+
computer_status: exports_external.looseObject({
|
|
16852
|
+
ok: exports_external.boolean().optional(),
|
|
16853
|
+
status: exports_external.string().optional(),
|
|
16854
|
+
backend: exports_external.string().optional(),
|
|
16855
|
+
processes: exports_external.array(jsonObject).optional()
|
|
16856
|
+
}),
|
|
16857
|
+
computer_verify: exports_external.looseObject({
|
|
16858
|
+
passed: exports_external.literal(true),
|
|
16859
|
+
computerSessionId: id,
|
|
16860
|
+
runtimeStarted: exports_external.literal(false),
|
|
16861
|
+
result: exports_external.looseObject({ outcome: exports_external.literal("passed") }),
|
|
16862
|
+
receipt: jsonObject,
|
|
16863
|
+
attachmentIds: exports_external.array(id),
|
|
16864
|
+
attachments: exports_external.array(attachment2),
|
|
16865
|
+
verification: exports_external.looseObject({
|
|
16866
|
+
kind: exports_external.literal("visual"),
|
|
16867
|
+
targetUrl: exports_external.string(),
|
|
16868
|
+
capturedAt: timestamp,
|
|
16869
|
+
viewport: exports_external.looseObject({ width: exports_external.number(), height: exports_external.number() }),
|
|
16870
|
+
mimeType: exports_external.literal("image/png"),
|
|
16871
|
+
size: exports_external.number(),
|
|
16872
|
+
sha256: exports_external.string()
|
|
16873
|
+
})
|
|
16874
|
+
}),
|
|
16875
|
+
computer_read: exports_external.looseObject({
|
|
16876
|
+
content: exports_external.string(),
|
|
16877
|
+
size: exports_external.number().optional(),
|
|
16878
|
+
encoding: exports_external.string().optional()
|
|
16879
|
+
}),
|
|
16880
|
+
computer_export: exports_external.looseObject({
|
|
16881
|
+
computerSessionId: id,
|
|
16882
|
+
replayed: exports_external.boolean(),
|
|
16883
|
+
attachmentIds: exports_external.array(id),
|
|
16884
|
+
attachments: exports_external.array(attachment2)
|
|
16885
|
+
}),
|
|
16886
|
+
computer_write: exports_external.looseObject({
|
|
16887
|
+
ok: exports_external.boolean(),
|
|
16888
|
+
path: exports_external.string().optional(),
|
|
16889
|
+
size: exports_external.number().optional()
|
|
16890
|
+
}),
|
|
16891
|
+
computer_clone: exports_external.looseObject({
|
|
16892
|
+
ok: exports_external.literal(true),
|
|
16893
|
+
operation: exports_external.literal("clone"),
|
|
16894
|
+
repository: exports_external.string(),
|
|
16895
|
+
dir: exports_external.string(),
|
|
16896
|
+
branch: exports_external.string().optional(),
|
|
16897
|
+
head: exports_external.string().optional(),
|
|
16898
|
+
refs: exports_external.array(exports_external.string()).optional()
|
|
16899
|
+
}),
|
|
16900
|
+
computer_sync: exports_external.looseObject({
|
|
16901
|
+
ok: exports_external.literal(true),
|
|
16902
|
+
operation: exports_external.enum(["fetch", "pull", "push"]),
|
|
16903
|
+
repository: exports_external.string(),
|
|
16904
|
+
dir: exports_external.string(),
|
|
16905
|
+
branch: exports_external.string().optional(),
|
|
16906
|
+
head: exports_external.string().optional(),
|
|
16907
|
+
before: exports_external.string().optional(),
|
|
16908
|
+
after: exports_external.string().optional(),
|
|
16909
|
+
fetchHead: exports_external.string().optional(),
|
|
16910
|
+
refs: exports_external.array(exports_external.string()).optional()
|
|
16911
|
+
}),
|
|
16912
|
+
computer_checkpoint: checkpoint,
|
|
16913
|
+
computer_publish_preview: exports_external.looseObject({
|
|
16914
|
+
previewId: id,
|
|
16915
|
+
previewVersionId: id,
|
|
16916
|
+
url: exports_external.string(),
|
|
16917
|
+
manifestDigest: exports_external.string(),
|
|
16918
|
+
fileCount: exports_external.number(),
|
|
16919
|
+
byteCount: exports_external.number(),
|
|
16920
|
+
snapshotId: id,
|
|
16921
|
+
published: exports_external.boolean(),
|
|
16922
|
+
replayed: exports_external.boolean()
|
|
16923
|
+
}),
|
|
16924
|
+
computer_publish_app_bundle: exports_external.looseObject({
|
|
16925
|
+
bundleId: id,
|
|
16926
|
+
contentDigest: exports_external.string(),
|
|
16927
|
+
artifactVersionId: id.optional(),
|
|
16928
|
+
snapshotId: id,
|
|
16929
|
+
moduleCount: exports_external.number().optional(),
|
|
16930
|
+
assetCount: exports_external.number().optional(),
|
|
16931
|
+
byteCount: exports_external.number().optional(),
|
|
16932
|
+
buildProvenance: jsonObject,
|
|
16933
|
+
replayed: exports_external.boolean()
|
|
16934
|
+
}),
|
|
16935
|
+
computer_stop: exports_external.looseObject({ checkpoint, stopped: jsonObject })
|
|
16936
|
+
};
|
|
16937
|
+
function outputSchemaFor(actionName) {
|
|
16938
|
+
return MCP_OUTPUT_SCHEMAS[actionName];
|
|
16939
|
+
}
|
|
16940
|
+
|
|
16428
16941
|
// ../actions/src/index.ts
|
|
16429
16942
|
var CONTRIBUTION_ADD_LINK_RELS = [
|
|
16430
16943
|
"cites",
|
|
@@ -16472,7 +16985,7 @@ var PAGINATION_INPUT = {
|
|
|
16472
16985
|
limit: exports_external.number().int().min(1).optional().describe("max items to return — enables pagination"),
|
|
16473
16986
|
cursor: exports_external.string().optional().describe("opaque cursor from a prior response's nextCursor (use with --limit)")
|
|
16474
16987
|
};
|
|
16475
|
-
var
|
|
16988
|
+
var ACTION_DEFINITIONS = [
|
|
16476
16989
|
{
|
|
16477
16990
|
name: "github_repositories",
|
|
16478
16991
|
title: "List installed GitHub repositories",
|
|
@@ -17823,7 +18336,7 @@ var ACTIONS = [
|
|
|
17823
18336
|
{
|
|
17824
18337
|
name: "apps",
|
|
17825
18338
|
title: "List visible Apps",
|
|
17826
|
-
description: "List Apps available to you: every App in your Spaces plus listed public Apps across the organization. Lifecycle and
|
|
18339
|
+
description: "List Apps available to you: every App in your Spaces plus active listed public Apps across the organization. Lifecycle and last activation health are separate fields; unlisted public and archived Apps appear only to actors authorized for their owning Space.",
|
|
17827
18340
|
inputSchema: {
|
|
17828
18341
|
includeArchived: exports_external.boolean().optional().describe("include archived Apps you are authorized to inspect")
|
|
17829
18342
|
},
|
|
@@ -17834,7 +18347,7 @@ var ACTIONS = [
|
|
|
17834
18347
|
{
|
|
17835
18348
|
name: "apps",
|
|
17836
18349
|
title: "Publish and manage Apps",
|
|
17837
|
-
description: "Manage stable Arbor Apps through one guarded lifecycle (AD-248). verb=list shows Apps
|
|
18350
|
+
description: "Manage stable Arbor Apps through one guarded lifecycle (AD-248/249). verb=list shows Apps across the actor's Spaces plus active listed public Apps across the organization; get reads the active release, pending control intent, state generation, and history; create mints the Space-owned identity; deploy health-checks an immutable AppBundle without moving the URL; deployment inspects one candidate; activate and rollback reserve an attributed intent before provider health and compare-and-swap completion; set_access changes Space/public and public discovery immediately; reset_state is the only durable SQLite deletion and resumes partial failure with the same idempotency key; archive stops serving but retains history. Read with get immediately before activate, rollback, access, or reset. Public Apps must be public+(unlisted|listed)+none; durable Apps are space+durable.",
|
|
17838
18351
|
inputSchema: {
|
|
17839
18352
|
verb: exports_external.enum([
|
|
17840
18353
|
"list",
|
|
@@ -17855,7 +18368,7 @@ var ACTIONS = [
|
|
|
17855
18368
|
slug: exports_external.string().min(1).max(59).optional().describe("create: stable label in app-<slug>.arborthreads.dev"),
|
|
17856
18369
|
access: exports_external.enum(["space", "public"]).optional().describe("create/set_access: gateway access"),
|
|
17857
18370
|
discovery: exports_external.enum(["unlisted", "listed"]).nullable().optional().describe("create/set_access: public discovery; Space Apps use null"),
|
|
17858
|
-
stateMode: exports_external.enum(["none", "durable"]).optional().describe("create: none or isolated durable SQLite"),
|
|
18371
|
+
stateMode: exports_external.enum(["none", "durable"]).optional().describe("create: none or Space-only isolated durable SQLite"),
|
|
17859
18372
|
bundleId: exports_external.string().optional().describe("deploy: verified immutable AppBundle, bnd_…"),
|
|
17860
18373
|
deploymentId: exports_external.string().optional().describe("deployment/activate/rollback: deployment, dep_…"),
|
|
17861
18374
|
expectedActiveDeploymentId: exports_external.string().nullable().optional().describe("activate/rollback: active deployment just read; null only for first activation"),
|
|
@@ -17880,7 +18393,7 @@ var ACTIONS = [
|
|
|
17880
18393
|
{
|
|
17881
18394
|
name: "app_get",
|
|
17882
18395
|
title: "Read an App",
|
|
17883
|
-
description: "Inspect one App's stable URL, active release, source AppBundle, deployment timeline,
|
|
18396
|
+
description: "Inspect one App's stable URL, active release, pending control intent, source AppBundle, attributed deployment timeline, last activation health, state identity/generation, and reset history. Read this before deployment, rollback, access, or state changes so compare-and-swap inputs are current.",
|
|
17884
18397
|
inputSchema: { appId: exports_external.string().describe("the App, app_…") },
|
|
17885
18398
|
surfaces: ["cli"],
|
|
17886
18399
|
toolset: "apps",
|
|
@@ -17889,14 +18402,14 @@ var ACTIONS = [
|
|
|
17889
18402
|
{
|
|
17890
18403
|
name: "app_create",
|
|
17891
18404
|
title: "Create an App",
|
|
17892
|
-
description: "Create a stable first-class App identity in a Space before deploying code.
|
|
18405
|
+
description: "Create a stable first-class App identity in a Space before deploying code. Public Apps are stateless and start public+unlisted+none; durable Apps are always space+durable with membership authorization and isolated SQLite state.",
|
|
17893
18406
|
inputSchema: {
|
|
17894
18407
|
spaceId: exports_external.string().describe("owning Space, spc_…"),
|
|
17895
18408
|
title: exports_external.string().min(1).max(160).describe("short factual App title"),
|
|
17896
18409
|
slug: exports_external.string().min(1).max(59).describe("stable DNS label used by app-<slug>.arborthreads.dev"),
|
|
17897
18410
|
access: exports_external.enum(["space", "public"]).describe("space requires membership; public is anonymous at the gateway"),
|
|
17898
18411
|
discovery: exports_external.enum(["unlisted", "listed"]).nullable().optional().describe("public Apps only; default unlisted"),
|
|
17899
|
-
stateMode: exports_external.enum(["none", "durable"]).describe("durable allocates isolated facet SQLite; deployment never resets it")
|
|
18412
|
+
stateMode: exports_external.enum(["none", "durable"]).describe("durable allocates Space-only isolated facet SQLite; deployment never resets it")
|
|
17900
18413
|
},
|
|
17901
18414
|
surfaces: ["cli"],
|
|
17902
18415
|
toolset: "apps",
|
|
@@ -17930,7 +18443,7 @@ var ACTIONS = [
|
|
|
17930
18443
|
{
|
|
17931
18444
|
name: "app_activate",
|
|
17932
18445
|
title: "Activate a verified deployment",
|
|
17933
|
-
description: "
|
|
18446
|
+
description: "Reserve an attributed activation intent, health-check the verified candidate, then atomically advance the stable URL. Pass the active deployment id just read (or null for the first release). A retry resumes the same pending release; a conflicting control change is rejected.",
|
|
17934
18447
|
inputSchema: {
|
|
17935
18448
|
appId: exports_external.string().describe("target App, app_…"),
|
|
17936
18449
|
deploymentId: exports_external.string().describe("verified candidate, dep_…"),
|
|
@@ -17956,7 +18469,7 @@ var ACTIONS = [
|
|
|
17956
18469
|
{
|
|
17957
18470
|
name: "app_set_access",
|
|
17958
18471
|
title: "Change App access",
|
|
17959
|
-
description: "Change the gateway policy immediately and record who changed it: space requires a current Space member, while public permits anonymous requests and may be unlisted or listed. This does not redeploy code or pass an Arbor identity into App code.",
|
|
18472
|
+
description: "Change the gateway policy immediately and record who changed it: space requires a current Space member, while public permits anonymous requests and may be unlisted or listed. Durable Apps cannot become public. This does not redeploy code or pass an Arbor identity into App code.",
|
|
17960
18473
|
inputSchema: {
|
|
17961
18474
|
appId: exports_external.string().describe("target App, app_…"),
|
|
17962
18475
|
access: exports_external.enum(["space", "public"]).describe("new gateway access"),
|
|
@@ -17969,7 +18482,7 @@ var ACTIONS = [
|
|
|
17969
18482
|
{
|
|
17970
18483
|
name: "app_reset_state",
|
|
17971
18484
|
title: "Reset durable App state",
|
|
17972
|
-
description: "Permanently delete one durable App facet's isolated SQLite database as an explicit
|
|
18485
|
+
description: "Permanently delete one durable App facet's isolated SQLite database as an explicit attributed transition; deploying or rolling back never does this. Read app_get first, pass its expectedGeneration, and keep the same idempotencyKey across retries. A provider interruption leaves a visible pending intent that the same call resumes; do not change release or archive while pending.",
|
|
17973
18486
|
inputSchema: {
|
|
17974
18487
|
appId: exports_external.string().describe("durable App, app_…"),
|
|
17975
18488
|
expectedGeneration: exports_external.number().int().min(0).describe("state generation from app_get"),
|
|
@@ -18022,6 +18535,15 @@ var ACTIONS = [
|
|
|
18022
18535
|
})
|
|
18023
18536
|
}
|
|
18024
18537
|
];
|
|
18538
|
+
var ACTIONS = ACTION_DEFINITIONS.map((action) => {
|
|
18539
|
+
if (!action.surfaces.some((surface) => surface === "mcp" || surface === "computer-mcp")) {
|
|
18540
|
+
return action;
|
|
18541
|
+
}
|
|
18542
|
+
const outputSchema = outputSchemaFor(action.name);
|
|
18543
|
+
if (!outputSchema)
|
|
18544
|
+
throw new Error(`${action.name}: MCP action is missing an output schema`);
|
|
18545
|
+
return { ...action, outputSchema };
|
|
18546
|
+
});
|
|
18025
18547
|
|
|
18026
18548
|
// src/config.ts
|
|
18027
18549
|
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
package/package.json
CHANGED