@lambdacurry/arbor 0.21.27 → 0.21.30

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 +16 -6
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -17281,6 +17281,11 @@ var appInvocationResponse = exports_external.object({
17281
17281
  unsupportedReason: exports_external.enum(["binary_content_type", "invalid_utf8"]).optional(),
17282
17282
  json: exports_external.json().optional()
17283
17283
  });
17284
+ var appFetchResponse = appInvocationResponse.extend({
17285
+ offset: exports_external.number().int().min(0).max(25 * 1024 * 1024),
17286
+ nextOffset: exports_external.number().int().min(1).max(25 * 1024 * 1024).nullable(),
17287
+ continuationLimitReached: exports_external.boolean()
17288
+ });
17284
17289
  var spaceRef = exports_external.looseObject({ id, title: nullableString });
17285
17290
  var recallHit = exports_external.looseObject({
17286
17291
  id,
@@ -18301,7 +18306,7 @@ var MCP_OUTPUT_SCHEMAS = {
18301
18306
  bundle: jsonObject,
18302
18307
  configurationReadiness: jsonObject
18303
18308
  }),
18304
- app_fetch: appInvocationResponse,
18309
+ app_fetch: appFetchResponse,
18305
18310
  app_request: appInvocationResponse,
18306
18311
  app_create: app2,
18307
18312
  app_config_apply: exports_external.object({ appId: id, dryRun: exports_external.boolean(), changes: exports_external.array(jsonObject) }),
@@ -19018,6 +19023,7 @@ function mcpAnnotationsFor(name) {
19018
19023
  }
19019
19024
 
19020
19025
  // ../actions/src/index.ts
19026
+ var ARBOR_FEEDBACK_INPUT_TYPES = [...ARBOR_FEEDBACK_TYPES, "friction"];
19021
19027
  var CONTRIBUTION_ADD_LINK_RELS = [
19022
19028
  "cites",
19023
19029
  "contests",
@@ -19026,7 +19032,7 @@ var CONTRIBUTION_ADD_LINK_RELS = [
19026
19032
  "tracked-as",
19027
19033
  "delivered-by"
19028
19034
  ];
19029
- var ARBOR_FEEDBACK_GUIDANCE = `ARBOR-SPECIFIC FEEDBACK — File ONE bounded report through \`contribute_arbor_feedback\` when Arbor itself caused meaningful friction: confusing semantics; surprising Arbor UI/MCP/CLI behavior; a missing Arbor capability; repeated Arbor retries; an Arbor-specific workaround; or misleading state, recovery guidance, or ergonomics. Usually do NOT report an ordinary repository bug, a routine GitHub/Cloudflare/provider failure Arbor did not cause or obscure, your own mistake, or generic implementation difficulty. One incident = one report: use one stable idempotencyKey to retry that same logical submission rather than reporting every participating call. Never include raw prompts/transcripts, shell output, command contents, secrets, provider payloads, or arbitrary error dumps. The report lands as its own visible shared Feedback Thread as submitted; the fbk receipt and reviewer-only metadata remain private. \`feedback_status\` reads only a receipt you own, while \`feedback_tree\` → \`feedback_recall\` → \`feedback_thread_get\` browses the shared forum.`;
19035
+ var ARBOR_FEEDBACK_GUIDANCE = `ARBOR-SPECIFIC FEEDBACK — File ONE bounded report through \`contribute_arbor_feedback\` when Arbor itself caused meaningful friction: confusing semantics; surprising Arbor UI/MCP/CLI behavior; a missing Arbor capability; repeated Arbor retries; an Arbor-specific workaround; or misleading state, recovery guidance, or ergonomics. Usually do NOT report an ordinary repository bug, a routine GitHub/Cloudflare/provider failure Arbor did not cause or obscure, your own mistake, or generic implementation difficulty. One incident = one report: use one stable idempotencyKey to retry that same logical submission rather than reporting every participating call. Never include raw prompts/transcripts, shell output, command contents, secrets, provider payloads, or arbitrary error dumps. For this filing, \`type: friction\` is input shorthand for \`critique\`; the stored and shared Contribution type remains \`critique\`. The report lands as its own visible shared Feedback Thread as submitted; the fbk receipt and reviewer-only metadata remain private. \`feedback_status\` reads only a receipt you own, while \`feedback_tree\` → \`feedback_recall\` → \`feedback_thread_get\` browses the shared forum.`;
19030
19036
  var ORIENTATION = `Arbor is your team's deliberation room and shared memory — people and agents settle typed work here, and Arbor remembers what's decided. To work well:
19031
19037
 
19032
19038
  ${ARBOR_FEEDBACK_GUIDANCE}
@@ -19305,7 +19311,7 @@ var ACTION_DEFINITIONS = [
19305
19311
  title: "Contribute feedback about Arbor",
19306
19312
  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.",
19307
19313
  inputSchema: {
19308
- type: exports_external.enum(ARBOR_FEEDBACK_TYPES).optional().describe("the contribution move (default comment); decision is reserved for shared forum curation"),
19314
+ type: exports_external.enum(ARBOR_FEEDBACK_INPUT_TYPES).optional().describe("the contribution move (default comment); friction is input shorthand stored/shared as critique, while decision is reserved for shared forum curation"),
19309
19315
  body: exports_external.string().min(1).describe("the feedback body, shared as submitted in its own Thread"),
19310
19316
  summary: exports_external.string().max(500).optional().describe("optional gist, at most 500 characters; also seeds the shared Thread title"),
19311
19317
  confidence: exports_external.number().int().min(0).max(100).optional().describe("optional 0–100 confidence"),
@@ -19316,7 +19322,10 @@ var ACTION_DEFINITIONS = [
19316
19322
  },
19317
19323
  surfaces: ["mcp", "cli"],
19318
19324
  toolset: "feedback",
19319
- run: forward("feedback.contribute")
19325
+ run: (executor, input) => executor.call("feedback.contribute", {
19326
+ ...input,
19327
+ type: input.type === "friction" ? "critique" : input.type
19328
+ })
19320
19329
  },
19321
19330
  {
19322
19331
  name: "feedback_status",
@@ -21386,11 +21395,12 @@ var ACTION_DEFINITIONS = [
21386
21395
  {
21387
21396
  name: "app_fetch",
21388
21397
  title: "Fetch from an App",
21389
- description: "Invoke GET or HEAD on one relative path of an App using your current Arbor identity; for Space Apps, current Space membership is rechecked on every call. It cannot modify App lifecycle, deployments, access, or durable SQLite; browser grants, cookies, credentials, and reserved /__arbor paths are never exposed to App code.",
21398
+ description: "Invoke GET or HEAD on one relative path of an App using your current Arbor identity; a GET may continue text with nextOffset until continuationLimitReached marks the 25 MiB terminal ceiling. Each response remains capped at 64 KiB; current Space membership is rechecked on every call, and browser grants, credentials, and reserved /__arbor paths never reach App code.",
21390
21399
  inputSchema: {
21391
21400
  appId: exports_external.string().describe("target App, app_…"),
21392
21401
  path: exports_external.string().min(1).max(2048).describe("relative App path beginning with /; may include a query string"),
21393
- method: exports_external.enum(["GET", "HEAD"]).optional().describe("safe read method; default GET")
21402
+ method: exports_external.enum(["GET", "HEAD"]).optional().describe("safe read method; default GET"),
21403
+ offset: exports_external.number().int().min(0).max(25 * 1024 * 1024).optional().describe("GET response byte offset; use the prior result's nextOffset to continue")
21394
21404
  },
21395
21405
  surfaces: ["computer-mcp", "cli"],
21396
21406
  toolset: "apps",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.21.27",
3
+ "version": "0.21.30",
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",