@lambdacurry/arbor 0.22.37 → 0.22.38
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 +22 -8
- 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.22.
|
|
5
|
+
version: "0.22.38",
|
|
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",
|
|
@@ -8900,6 +8900,22 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8900
8900
|
lineCount: number2().int().nonnegative(),
|
|
8901
8901
|
byteLength: number2().int().nonnegative(),
|
|
8902
8902
|
outline: array(object({ title: string2(), startLine: number2().int().min(1) })),
|
|
8903
|
+
sourceMetrics: _enum(["not-loaded-file", "file-text-projection"]).optional(),
|
|
8904
|
+
file: object({
|
|
8905
|
+
mimeType: string2().nullable(),
|
|
8906
|
+
editableSource: literal(false),
|
|
8907
|
+
textProjection: object({
|
|
8908
|
+
status: _enum(["available", "probe", "unavailable"]),
|
|
8909
|
+
reason: _enum([
|
|
8910
|
+
"trusted-text-mime",
|
|
8911
|
+
"unknown-mime",
|
|
8912
|
+
"validated-utf8",
|
|
8913
|
+
"unsupported-mime",
|
|
8914
|
+
"not-stored-blob"
|
|
8915
|
+
]),
|
|
8916
|
+
nextAction: string2()
|
|
8917
|
+
})
|
|
8918
|
+
}).optional(),
|
|
8903
8919
|
source: string2().optional(),
|
|
8904
8920
|
startLine: number2().int().min(0).optional(),
|
|
8905
8921
|
endLine: number2().int().min(0).optional(),
|
|
@@ -10337,9 +10353,9 @@ var ARTIFACT_GET_INPUT = {
|
|
|
10337
10353
|
startLine: number2().int().min(1).optional().describe("1-indexed source window start; omit with heading for a section window"),
|
|
10338
10354
|
limit: number2().int().min(1).max(ARTIFACT_SOURCE_WINDOW_MAX).optional().describe(`source window size when startLine or heading is set (default ${ARTIFACT_SOURCE_WINDOW_DEFAULT}, max ${ARTIFACT_SOURCE_WINDOW_MAX}). This is not a list page size`),
|
|
10339
10355
|
heading: string2().min(1).optional().describe("first ##/### title that matches exactly, else the first prefix match"),
|
|
10340
|
-
all: boolean2().optional().describe("explicit complete source. Cannot combine with startLine, heading, or limit
|
|
10356
|
+
all: boolean2().optional().describe("explicit complete editable source. File Artifacts stay bounded and require startLine + limit. Cannot combine with startLine, heading, or limit")
|
|
10341
10357
|
};
|
|
10342
|
-
var ARTIFACT_GET_DESCRIPTION = `Read an Artifact as a compact card
|
|
10358
|
+
var ARTIFACT_GET_DESCRIPTION = `Read an Artifact as a compact card without loading its body. Editable text Artifacts report source line/byte counts and ##/### outline; use startLine+limit (default ${ARTIFACT_SOURCE_WINDOW_DEFAULT}, max ${ARTIFACT_SOURCE_WINDOW_MAX}), heading, or explicit all=true/--all. File Artifacts remain files and non-editable: their card reports stored MIME, whether bounded UTF-8 text projection is available/probeable, and the next action. For text-like files use startLine+limit and continue with nextLine; all=true and heading stay unavailable for files. Binary/unsupported files remain valid and should be inspected through the Artifact URL/download/media surface. Pass version only for editable historical snapshots; this read cannot edit content, bind a surface, change lifecycle, or delete.`;
|
|
10343
10359
|
var PAGINATION_INPUT = {
|
|
10344
10360
|
limit: number2().int().min(1).optional().describe(`max items to return. MCP/CLI/API default to ${EXTERNAL_DEFAULT_PAGE_SIZE} and return nextCursor when more remain; pass all=true/--all for the complete list. In-process web omit is still a compatibility full read`),
|
|
10345
10361
|
cursor: string2().optional().describe("opaque cursor from a prior response's nextCursor (use with --limit)"),
|
|
@@ -13009,6 +13025,7 @@ var ACTIONS = ACTION_DEFINITIONS.map((action) => {
|
|
|
13009
13025
|
var historyPolicySchema = _enum(["full", "checkpoint"]).optional().describe("text Artifacts: future history retention policy; full retains every source snapshot, checkpoint keeps metadata for every revision and source only when explicitly retained");
|
|
13010
13026
|
var retainSourceSchema = boolean2().optional().describe("edit: in checkpoint mode, retain this newly minted content revision's source");
|
|
13011
13027
|
var checkpointSchema = boolean2().optional().describe("edit: retain the exact current version source without incrementing content version");
|
|
13028
|
+
var ARTIFACT_GET_PUBLIC_DESCRIPTION = "Read one Artifact as a compact card without loading its body; editable text supports its outline plus bounded startLine+limit or heading windows and explicit all=true; File Artifacts remain files and report whether bounded UTF-8 text projection is available. For text-like files use startLine+limit and nextLine; all=true and heading stay unavailable for files, binary/unsupported files use the Artifact URL/download/media surface, and editable historical reads retain exact artifactVersionId.";
|
|
13012
13029
|
function artifactEditInput(input) {
|
|
13013
13030
|
const patches = Array.isArray(input.patches);
|
|
13014
13031
|
const hasSource = typeof input.source === "string";
|
|
@@ -13061,11 +13078,8 @@ function retentionAction(action) {
|
|
|
13061
13078
|
run: (ex, input) => ex.call("artifact.edit", artifactEditInput(input))
|
|
13062
13079
|
};
|
|
13063
13080
|
}
|
|
13064
|
-
if (action.name === "artifact_get") {
|
|
13065
|
-
return {
|
|
13066
|
-
...action,
|
|
13067
|
-
description: "Read one Artifact. Text responses project artifactVersionId for the exact version represented by the response, including --version historical reads, so the returned artv_ can be passed directly to computer_publish_app_bundle."
|
|
13068
|
-
};
|
|
13081
|
+
if (action.name === "get_artifact" || action.name === "artifact_get") {
|
|
13082
|
+
return { ...action, description: ARTIFACT_GET_PUBLIC_DESCRIPTION };
|
|
13069
13083
|
}
|
|
13070
13084
|
if (action.name === "artifact") {
|
|
13071
13085
|
return {
|
package/package.json
CHANGED