@lambdacurry/arbor 0.23.38 → 0.23.40

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.
Files changed (2) hide show
  1. package/dist/arbor.js +4 -3
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // package.json
3
3
  var package_default = {
4
4
  name: "@lambdacurry/arbor",
5
- version: "0.23.38",
5
+ version: "0.23.40",
6
6
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
7
7
  keywords: [
8
8
  "agents",
@@ -13427,7 +13427,7 @@ var ACTION_DEFINITIONS = [
13427
13427
  {
13428
13428
  name: "artifact",
13429
13429
  title: "Create or edit an Artifact",
13430
- description: "Create or edit a durable versioned Artifact, bind its executable Thread Live Preview, set a Computer-file asleep/share snapshot, or promote a Thread attachment into a separate file Artifact from a source Contribution. To reference an exported report within an existing baseline Artifact, use the Attachment's durable downloadUrl instead of promoting it into that artifactId. For a computer:// .tldr snapshot mint: computer_export the exact locator path and same-Thread PNG, then use set_snapshot. Board save and TLP do not mint snapshots. set_snapshot does not wake Computer or change the locator; read artifact_get before changing it, while lifecycle/removal stay in artifact_transition and artifact_delete.",
13430
+ description: "Create/edit an Artifact, bind a Live Preview, set a Computer snapshot, or promote a Thread attachment. Git edits derive retry keys (omitted edits derive one); keyless creates mint per-invocation keys; stable idempotencyKey supports caller retries. Retry only after unknown outcomes; never blindly repeat ambiguous creates. Exported reports use the Attachment downloadUrl; tldraw snapshot and lifecycle actions use their dedicated operations.",
13431
13431
  inputSchema: {
13432
13432
  verb: _enum(["create", "edit", "set_live_preview", "set_snapshot", "promote_attachment"]).describe("which artifact move"),
13433
13433
  title: string2().optional().describe("create: the artifact's title"),
@@ -13445,6 +13445,7 @@ var ACTION_DEFINITIONS = [
13445
13445
  baseVersion: number2().optional().describe("edit: the version you READ (from get/create) — stale base is rejected with the current source"),
13446
13446
  patches: array(object({ old: string2(), new: string2() })).optional().describe("edit: exact-match hunks applied in order, atomically; each old must match exactly once"),
13447
13447
  note: string2().optional().describe("edit: one-line summary of what changed"),
13448
+ idempotencyKey: string2().min(1).max(200).optional().describe("create: optional caller-stable key; omitted creates mint one per invocation; edit: optional stable key (omitted edits derive one from actor/artifact/base/payload); reuse unchanged only to recover an unknown outcome, never to start a new write"),
13448
13449
  sourceAttachmentId: string2().optional().describe("set_snapshot: computer_export of the exact computer:// locator path; MIME application/vnd.tldraw+json, computerPath stamped and matching defaultCwd + locator"),
13449
13450
  previewAttachmentId: string2().optional().describe("set_snapshot: same-Thread computer_export image/png Attachment, used as the asleep face preview"),
13450
13451
  attachmentId: string2().optional().describe("promote_attachment: the upload, att_…"),
@@ -14210,7 +14211,7 @@ function retentionAction(action) {
14210
14211
  if (action.name === "artifact") {
14211
14212
  return {
14212
14213
  ...action,
14213
- description: "Create/edit a durable versioned Artifact with bounded full|checkpoint retention or manage its Live Preview/snapshot/attachment surface; promote_attachment creates a separate file Artifact from a source Contribution, while exported reports in an existing baseline Artifact use the Attachment's durable downloadUrl instead of promotion into that artifactId. Content edits return artifactVersionId; byte-identical edits reuse current version, while policy changes/checkpoints preserve content version.",
14214
+ description: "Create/edit a durable Artifact with full|checkpoint retention or manage Live Preview, snapshots, and attachments. Git edits derive retry keys (omitted edits derive one); keyless creates mint per-invocation keys; stable idempotencyKey supports caller retries; never blindly repeat ambiguous creates. promote_attachment creates a file Artifact from a Contribution; exported reports use the Attachment downloadUrl; policy changes do not mint content versions.",
14214
14215
  inputSchema: {
14215
14216
  ...action.inputSchema,
14216
14217
  historyPolicy: historyPolicySchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.23.38",
3
+ "version": "0.23.40",
4
4
  "description": "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
5
5
  "keywords": [
6
6
  "agents",