@lambdacurry/arbor 0.21.6 → 0.21.8
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 +76 -22
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -2635,6 +2635,8 @@ var arborFeedback = sqliteTable("arbor_feedback", {
|
|
|
2635
2635
|
reporterOrgId: text("reporter_org_id").notNull().references(() => orgs.id),
|
|
2636
2636
|
executionContextId: text("execution_context_id").notNull().references(() => executionContexts.id),
|
|
2637
2637
|
computerSessionId: text("computer_session_id").references(() => computerSessions.id),
|
|
2638
|
+
sharedThreadId: text("shared_thread_id"),
|
|
2639
|
+
sharedContributionId: text("shared_contribution_id"),
|
|
2638
2640
|
type: text("type").$type().notNull(),
|
|
2639
2641
|
body: text("body").notNull(),
|
|
2640
2642
|
summary: text("summary"),
|
|
@@ -2651,6 +2653,8 @@ var arborFeedback = sqliteTable("arbor_feedback", {
|
|
|
2651
2653
|
updatedAt: ts("updated_at").notNull()
|
|
2652
2654
|
}, (t) => ({
|
|
2653
2655
|
reporterReplayUq: uniqueIndex("arbor_feedback_reporter_replay_uq").on(t.reporterProfileId, t.idempotencyKey),
|
|
2656
|
+
sharedThreadUq: uniqueIndex("arbor_feedback_shared_thread_uq").on(t.sharedThreadId).where(sql`${t.sharedThreadId} is not null`),
|
|
2657
|
+
sharedContributionUq: uniqueIndex("arbor_feedback_shared_contribution_uq").on(t.sharedContributionId).where(sql`${t.sharedContributionId} is not null`),
|
|
2654
2658
|
statusCreatedIdx: index("arbor_feedback_status_created_idx").on(t.status, t.createdAt),
|
|
2655
2659
|
orgCreatedIdx: index("arbor_feedback_org_created_idx").on(t.reporterOrgId, t.createdAt)
|
|
2656
2660
|
}));
|
|
@@ -2770,6 +2774,22 @@ var watches = sqliteTable("watches", {
|
|
|
2770
2774
|
var TERMINAL = new Set(["finished", "failed", "cancelled"]);
|
|
2771
2775
|
var RUN_LIFECYCLE_TYPES = new Set(["run.started", "run.finished", "run.failed", "run.cancelled"]);
|
|
2772
2776
|
var COMPUTER_RUN_ACTIVITY_LABEL_MAX = 120;
|
|
2777
|
+
var RUN_PROVIDER_LIFECYCLE_PHASES = [
|
|
2778
|
+
"allocate",
|
|
2779
|
+
"boot",
|
|
2780
|
+
"restore",
|
|
2781
|
+
"session",
|
|
2782
|
+
"probe",
|
|
2783
|
+
"readiness",
|
|
2784
|
+
"ready",
|
|
2785
|
+
"checkpoint",
|
|
2786
|
+
"publish",
|
|
2787
|
+
"suspend",
|
|
2788
|
+
"release",
|
|
2789
|
+
"lost",
|
|
2790
|
+
"workspace_freeze"
|
|
2791
|
+
];
|
|
2792
|
+
var RUN_PROVIDER_LIFECYCLE_PHASE_SET = new Set(RUN_PROVIDER_LIFECYCLE_PHASES);
|
|
2773
2793
|
|
|
2774
2794
|
// ../core/src/ops/computer.ts
|
|
2775
2795
|
var MAX_COMPUTER_REPOSITORIES = 10;
|
|
@@ -17471,7 +17491,32 @@ var computerRunReceipt = exports_external.looseObject({
|
|
|
17471
17491
|
targetId: exports_external.string().optional(),
|
|
17472
17492
|
reasonCode: exports_external.string().optional()
|
|
17473
17493
|
})),
|
|
17474
|
-
lifecycle: exports_external.array(exports_external.looseObject({ type: exports_external.string(), at: exports_external.string() }))
|
|
17494
|
+
lifecycle: exports_external.array(exports_external.looseObject({ type: exports_external.string(), at: exports_external.string() })),
|
|
17495
|
+
providerLifecycle: exports_external.looseObject({
|
|
17496
|
+
generation: exports_external.number().int().min(0).nullable(),
|
|
17497
|
+
lastPhase: exports_external.string().nullable(),
|
|
17498
|
+
lastReasonCode: exports_external.string().nullable(),
|
|
17499
|
+
lastEventId: exports_external.string().nullable(),
|
|
17500
|
+
lastObservedAt: exports_external.string().nullable(),
|
|
17501
|
+
replacementGeneration: exports_external.number().int().min(0).nullable(),
|
|
17502
|
+
droppedCount: exports_external.number().int().min(0),
|
|
17503
|
+
events: exports_external.array(exports_external.looseObject({
|
|
17504
|
+
eventId: exports_external.string(),
|
|
17505
|
+
observedAt: exports_external.string(),
|
|
17506
|
+
phase: exports_external.string(),
|
|
17507
|
+
providerGeneration: exports_external.number().int().min(0),
|
|
17508
|
+
controlRelease: exports_external.string(),
|
|
17509
|
+
attemptId: exports_external.string().optional(),
|
|
17510
|
+
snapshotId: exports_external.string().optional(),
|
|
17511
|
+
runtimeState: exports_external.enum(["live", "suspended"]).optional(),
|
|
17512
|
+
releaseState: exports_external.enum(["live", "pending", "released"]).optional(),
|
|
17513
|
+
reasonCode: exports_external.string().optional(),
|
|
17514
|
+
providerHttpStatus: exports_external.number().int().optional(),
|
|
17515
|
+
providerStopClass: exports_external.string().optional(),
|
|
17516
|
+
providerRoute: exports_external.enum(["primary", "standby", "service"]).optional(),
|
|
17517
|
+
parentWorkspaceFrozen: exports_external.boolean().optional()
|
|
17518
|
+
}))
|
|
17519
|
+
})
|
|
17475
17520
|
});
|
|
17476
17521
|
var computerCapabilityCard = exports_external.looseObject({
|
|
17477
17522
|
capabilities: exports_external.array(exports_external.looseObject({
|
|
@@ -17794,7 +17839,8 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17794
17839
|
feedbackId: id,
|
|
17795
17840
|
type: exports_external.string(),
|
|
17796
17841
|
status: exports_external.string(),
|
|
17797
|
-
|
|
17842
|
+
visibility: exports_external.literal("shared"),
|
|
17843
|
+
receiptPrivate: exports_external.literal(true),
|
|
17798
17844
|
sharedThreadId: id,
|
|
17799
17845
|
sharedContributionId: id,
|
|
17800
17846
|
replayed: exports_external.boolean(),
|
|
@@ -17805,7 +17851,10 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
17805
17851
|
feedbackId: id,
|
|
17806
17852
|
type: exports_external.enum(ARBOR_FEEDBACK_TYPES),
|
|
17807
17853
|
status: exports_external.enum(ARBOR_FEEDBACK_STATUSES),
|
|
17808
|
-
|
|
17854
|
+
visibility: exports_external.enum(["shared", "receipt-only"]),
|
|
17855
|
+
receiptPrivate: exports_external.literal(true),
|
|
17856
|
+
sharedThreadId: id.nullable(),
|
|
17857
|
+
sharedContributionId: id.nullable(),
|
|
17809
17858
|
associatedWithSharedKnowledge: exports_external.boolean(),
|
|
17810
17859
|
createdAt: timestamp,
|
|
17811
17860
|
updatedAt: timestamp,
|
|
@@ -18281,7 +18330,12 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
18281
18330
|
prCreate: exports_external.enum(["not-needed", "safe", "manual", "unknown"])
|
|
18282
18331
|
}),
|
|
18283
18332
|
nextAction: exports_external.string()
|
|
18284
|
-
}))
|
|
18333
|
+
})),
|
|
18334
|
+
runDisposition: exports_external.looseObject({
|
|
18335
|
+
action: exports_external.enum(["computer_run_suspend", "continue-local-work", "none"]),
|
|
18336
|
+
resumeSameRunId: exports_external.boolean(),
|
|
18337
|
+
reason: exports_external.string()
|
|
18338
|
+
})
|
|
18285
18339
|
}),
|
|
18286
18340
|
computer_run_receipt: exports_external.looseObject({
|
|
18287
18341
|
receipt: computerRunReceipt
|
|
@@ -19012,7 +19066,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19012
19066
|
{
|
|
19013
19067
|
name: "contribute_arbor_feedback",
|
|
19014
19068
|
title: "Contribute feedback about Arbor",
|
|
19015
|
-
description: "File one bounded report when Arbor itself caused meaningful product or ergonomics friction;
|
|
19069
|
+
description: "File one bounded report when Arbor itself caused meaningful product or ergonomics friction; not for ordinary repository bugs, obvious provider failures, agent mistakes, or generic implementation difficulty. It immediately creates its own shared Feedback Thread and returns sharedThreadId/sharedContributionId, visibility=shared, and receiptPrivate=true; use one stable idempotencyKey only to retry that same incident.",
|
|
19016
19070
|
inputSchema: {
|
|
19017
19071
|
type: exports_external.enum(ARBOR_FEEDBACK_TYPES).optional().describe("the contribution move (default comment); decision is reserved for shared forum curation"),
|
|
19018
19072
|
body: exports_external.string().min(1).describe("the feedback body, shared as submitted in its own Thread"),
|
|
@@ -19030,9 +19084,9 @@ var ACTION_DEFINITIONS = [
|
|
|
19030
19084
|
{
|
|
19031
19085
|
name: "feedback_status",
|
|
19032
19086
|
title: "Check your Arbor feedback receipt",
|
|
19033
|
-
description: "READ ONLY: Check the
|
|
19087
|
+
description: "READ ONLY: Check triage metadata and the shared identity for one Arbor feedback receipt you own. Missing and not-owned receipts look identical; receiptPrivate=true covers reviewer metadata, while visibility/sharedThreadId describe the filed report, and no raw body, identities, diagnostics, or private association targets are returned.",
|
|
19034
19088
|
inputSchema: {
|
|
19035
|
-
feedbackId: exports_external.string().describe("your
|
|
19089
|
+
feedbackId: exports_external.string().describe("your Arbor feedback receipt id, fbk_…")
|
|
19036
19090
|
},
|
|
19037
19091
|
surfaces: ["mcp", "cli"],
|
|
19038
19092
|
toolset: "feedback",
|
|
@@ -19045,7 +19099,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19045
19099
|
inputSchema: {
|
|
19046
19100
|
verb: exports_external.enum(["list", "set"]).describe("list grants, or set one profile capability"),
|
|
19047
19101
|
profileId: exports_external.string().optional().describe("set: the profile receiving or losing the grant"),
|
|
19048
|
-
capability: exports_external.enum(ARBOR_FEEDBACK_CAPABILITIES).optional().describe("set: moderate shared forum or review_private
|
|
19102
|
+
capability: exports_external.enum(ARBOR_FEEDBACK_CAPABILITIES).optional().describe("set: moderate shared forum or review_private receipt metadata"),
|
|
19049
19103
|
enabled: exports_external.boolean().optional().describe("set: true to grant; false to revoke")
|
|
19050
19104
|
},
|
|
19051
19105
|
surfaces: ["mcp", "cli"],
|
|
@@ -19054,11 +19108,11 @@ var ACTION_DEFINITIONS = [
|
|
|
19054
19108
|
},
|
|
19055
19109
|
{
|
|
19056
19110
|
name: "admin_feedback_evidence",
|
|
19057
|
-
title: "Review
|
|
19111
|
+
title: "Review Arbor feedback receipt metadata",
|
|
19058
19112
|
description: "Privileged receipt-review surface: list/get fbk receipt metadata, associate or disassociate receipts with shared Topics/Threads, and mark review state. Report bodies are already filed in their own shared Threads; this surface additionally exposes reporter/reviewer metadata and does not grant shared-forum moderation.",
|
|
19059
19113
|
inputSchema: {
|
|
19060
19114
|
verb: exports_external.enum(["list", "get", "associate", "disassociate", "status"]).describe("the private-evidence review action"),
|
|
19061
|
-
feedbackId: exports_external.string().optional().describe("get/associate/disassociate/status:
|
|
19115
|
+
feedbackId: exports_external.string().optional().describe("get/associate/disassociate/status: feedback receipt id"),
|
|
19062
19116
|
associationId: exports_external.string().optional().describe("disassociate: association id to remove"),
|
|
19063
19117
|
topicId: exports_external.string().optional().describe("associate: shared Feedback Topic id"),
|
|
19064
19118
|
threadId: exports_external.string().optional().describe("associate: shared Feedback Thread id"),
|
|
@@ -19078,7 +19132,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19078
19132
|
{
|
|
19079
19133
|
name: "admin_feedback_topic",
|
|
19080
19134
|
title: "Maintain shared Feedback Topics",
|
|
19081
|
-
description: "Privileged shared-forum moderation: create, update, archive, or restore one global Feedback Topic without database intervention. This capability does not expose
|
|
19135
|
+
description: "Privileged shared-forum moderation: create, update, archive, or restore one global Feedback Topic without database intervention. This capability does not expose receipt/reviewer metadata.",
|
|
19082
19136
|
inputSchema: {
|
|
19083
19137
|
action: exports_external.enum(["create", "update", "archive", "restore"]),
|
|
19084
19138
|
topicId: exports_external.string().optional().describe("update/archive/restore: shared Feedback Topic id"),
|
|
@@ -19110,16 +19164,16 @@ var ACTION_DEFINITIONS = [
|
|
|
19110
19164
|
},
|
|
19111
19165
|
{
|
|
19112
19166
|
name: "admin_feedback_publish",
|
|
19113
|
-
title: "
|
|
19114
|
-
description: "Privileged: author a
|
|
19167
|
+
title: "Author a moderator Feedback follow-on",
|
|
19168
|
+
description: "Privileged legacy/follow-on tool, never required to make a filing visible: author a separately written shared contribution in an existing Feedback Thread and optionally record receipt provenance. Arbor refuses an exact duplicate of the filed report body; normal filing and backfill never call this action.",
|
|
19115
19169
|
inputSchema: {
|
|
19116
19170
|
threadId: exports_external.string().describe("shared Feedback Thread id or merged source redirect"),
|
|
19117
19171
|
type: exports_external.enum(CONTRIBUTION_TYPES).describe("shared contribution type, including maintainer decision"),
|
|
19118
|
-
body: exports_external.string().min(1).describe("
|
|
19172
|
+
body: exports_external.string().min(1).describe("separately authored shared follow-on body"),
|
|
19119
19173
|
summary: exports_external.string().max(500).optional().describe("optional shared gist"),
|
|
19120
19174
|
confidence: exports_external.number().int().min(0).max(100).optional(),
|
|
19121
19175
|
idempotencyKey: exports_external.string().min(1).max(200).optional(),
|
|
19122
|
-
feedbackId: exports_external.string().optional().describe("optional
|
|
19176
|
+
feedbackId: exports_external.string().optional().describe("optional receipt id; additionally requires review_private")
|
|
19123
19177
|
},
|
|
19124
19178
|
surfaces: ["mcp", "cli"],
|
|
19125
19179
|
toolset: "admin",
|
|
@@ -19127,11 +19181,11 @@ var ACTION_DEFINITIONS = [
|
|
|
19127
19181
|
},
|
|
19128
19182
|
{
|
|
19129
19183
|
name: "admin_feedback_edit",
|
|
19130
|
-
title: "Edit
|
|
19131
|
-
description: "Privileged shared-forum moderation: correct a shared Feedback contribution's body, summary, or type while preserving normal Arbor audit history. This cannot
|
|
19184
|
+
title: "Edit shared Feedback content",
|
|
19185
|
+
description: "Privileged shared-forum moderation: correct a shared Feedback contribution's body, summary, or type while preserving normal Arbor audit history. This cannot edit feedback receipt/reviewer metadata.",
|
|
19132
19186
|
inputSchema: {
|
|
19133
19187
|
contributionId: exports_external.string().describe("shared Feedback contribution id"),
|
|
19134
|
-
body: exports_external.string().min(1).optional().describe("replacement
|
|
19188
|
+
body: exports_external.string().min(1).optional().describe("replacement shared body"),
|
|
19135
19189
|
summary: exports_external.string().max(500).nullable().optional().describe("replacement gist; null/empty clears"),
|
|
19136
19190
|
type: exports_external.enum(CONTRIBUTION_TYPES).optional().describe("replacement shared contribution type")
|
|
19137
19191
|
},
|
|
@@ -19142,7 +19196,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19142
19196
|
{
|
|
19143
19197
|
name: "admin_feedback_curate",
|
|
19144
19198
|
title: "Curate shared Feedback content",
|
|
19145
|
-
description: "Privileged shared-forum moderation: soft-delete or restore a
|
|
19199
|
+
description: "Privileged shared-forum moderation: soft-delete or restore a shared contribution. This capability remains independent of receipt-review access.",
|
|
19146
19200
|
inputSchema: {
|
|
19147
19201
|
verb: exports_external.enum(["delete", "restore"]),
|
|
19148
19202
|
contributionId: exports_external.string().describe("shared Feedback contribution id")
|
|
@@ -19434,7 +19488,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19434
19488
|
{
|
|
19435
19489
|
name: "computer_repo_work_status",
|
|
19436
19490
|
title: "Inspect repository finish state",
|
|
19437
|
-
description: "READ ONLY: Inspect an active isolated WRITE Run
|
|
19491
|
+
description: "READ ONLY: Inspect an active isolated WRITE Run's Git publication, PR, CI, and review before retry, wait, or finish. Returns repository state (e.g. ci-pending) plus runDisposition.action computer_run_suspend when published work waits on CI/review/human authorization — the same runId resumes; dirty, unpublished, unknown-publication, failing, or changes-requested work keeps the local nextAction.",
|
|
19438
19492
|
inputSchema: {
|
|
19439
19493
|
runId: exports_external.string().describe("the active isolated WRITE Run to inspect, run_…")
|
|
19440
19494
|
},
|
|
@@ -19459,7 +19513,7 @@ var ACTION_DEFINITIONS = [
|
|
|
19459
19513
|
{
|
|
19460
19514
|
name: "computer_run_receipt",
|
|
19461
19515
|
title: "Read a run receipt",
|
|
19462
|
-
description: "READ ONLY: Inspect one Run's durable receipt during or after execution, including its Run-owned operation/activity state
|
|
19516
|
+
description: "READ ONLY: Inspect one Run's durable receipt during or after execution, including its Run-owned operation/activity state and a compact providerLifecycle journal (generation, last phase, typed reason) separate from command/process activity. Use this instead of parent computer_status; it returns compact history, not transcripts, and does not rewrite terminal reasonCode.",
|
|
19463
19517
|
inputSchema: {
|
|
19464
19518
|
runId: exports_external.string().describe("the run to read, run_… (from computer_run_start or computer_runs)")
|
|
19465
19519
|
},
|
|
@@ -20352,7 +20406,7 @@ var ACTION_DEFINITIONS = [
|
|
|
20352
20406
|
{
|
|
20353
20407
|
name: "service_register",
|
|
20354
20408
|
title: "Register a Computer lifecycle service",
|
|
20355
|
-
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.",
|
|
20409
|
+
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.append_run_lifecycle + 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.",
|
|
20356
20410
|
inputSchema: {
|
|
20357
20411
|
displayName: exports_external.string().min(1).describe("the service display name, e.g. Currybox lifecycle service"),
|
|
20358
20412
|
spaceIds: exports_external.array(exports_external.string().min(1)).min(1).describe("Spaces whose Thread computers the service may maintain")
|
package/package.json
CHANGED