@lambdacurry/arbor 0.22.13 → 0.22.15
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 +42 -9
- 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.15",
|
|
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",
|
|
@@ -8382,13 +8382,13 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8382
8382
|
reacted: boolean2(),
|
|
8383
8383
|
reactions: array(reactionCount)
|
|
8384
8384
|
}),
|
|
8385
|
-
create_topic: looseObject({ topicId: id }),
|
|
8385
|
+
create_topic: looseObject({ topicId: id, url: string2().optional() }),
|
|
8386
8386
|
topic_update: looseObject({
|
|
8387
8387
|
id,
|
|
8388
8388
|
title: string2().optional(),
|
|
8389
8389
|
purpose: nullableString.optional()
|
|
8390
8390
|
}),
|
|
8391
|
-
create_thread: looseObject({ threadId: id }),
|
|
8391
|
+
create_thread: looseObject({ threadId: id, url: string2().optional() }),
|
|
8392
8392
|
thread_update: looseObject({
|
|
8393
8393
|
id,
|
|
8394
8394
|
title: string2().optional(),
|
|
@@ -8684,6 +8684,7 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8684
8684
|
artifact_get: object({
|
|
8685
8685
|
id,
|
|
8686
8686
|
title: string2(),
|
|
8687
|
+
url: string2().optional(),
|
|
8687
8688
|
kind: string2(),
|
|
8688
8689
|
version: number2().int().nonnegative(),
|
|
8689
8690
|
lineCount: number2().int().nonnegative(),
|
|
@@ -8695,6 +8696,16 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8695
8696
|
nextLine: number2().int().min(1).nullable().optional(),
|
|
8696
8697
|
totalLines: number2().int().nonnegative().optional()
|
|
8697
8698
|
}),
|
|
8699
|
+
tldraw_create: looseObject({
|
|
8700
|
+
artifactId: id,
|
|
8701
|
+
artifactVersionId: id,
|
|
8702
|
+
version: number2().int().min(1),
|
|
8703
|
+
sourceAttachmentId: id,
|
|
8704
|
+
sourceSha256: string2(),
|
|
8705
|
+
documentClock: number2().int().min(0),
|
|
8706
|
+
replayed: boolean2(),
|
|
8707
|
+
url: string2().optional()
|
|
8708
|
+
}),
|
|
8698
8709
|
tldraw_import: looseObject({
|
|
8699
8710
|
artifactId: id,
|
|
8700
8711
|
artifactVersionId: id,
|
|
@@ -8717,7 +8728,8 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8717
8728
|
source: jsonObject,
|
|
8718
8729
|
current: jsonObject,
|
|
8719
8730
|
versionRefs: array(jsonObject),
|
|
8720
|
-
script: jsonObject
|
|
8731
|
+
script: jsonObject,
|
|
8732
|
+
url: string2().optional()
|
|
8721
8733
|
}),
|
|
8722
8734
|
tldraw_workbench: looseObject({
|
|
8723
8735
|
artifactId: id,
|
|
@@ -9302,8 +9314,14 @@ var OUTPUT_SHAPERS = {
|
|
|
9302
9314
|
["reacted", result.reacted],
|
|
9303
9315
|
["reactions", result.reactions]
|
|
9304
9316
|
]),
|
|
9305
|
-
create_topic: (result) => defined([
|
|
9306
|
-
|
|
9317
|
+
create_topic: (result) => defined([
|
|
9318
|
+
["topicId", result.id],
|
|
9319
|
+
["url", result.url]
|
|
9320
|
+
]),
|
|
9321
|
+
create_thread: (result) => defined([
|
|
9322
|
+
["threadId", result.id],
|
|
9323
|
+
["url", result.url]
|
|
9324
|
+
]),
|
|
9307
9325
|
space_create: (result) => defined([
|
|
9308
9326
|
["spaceId", result.id],
|
|
9309
9327
|
["visibility", result.visibility]
|
|
@@ -9618,6 +9636,7 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
9618
9636
|
curation: additive,
|
|
9619
9637
|
artifact: additive,
|
|
9620
9638
|
artifact_get: readOnly,
|
|
9639
|
+
tldraw_create: idempotent,
|
|
9621
9640
|
tldraw_import: idempotent,
|
|
9622
9641
|
tldraw_get: readOnly,
|
|
9623
9642
|
tldraw_workbench: destructive,
|
|
@@ -11300,12 +11319,12 @@ var ACTION_DEFINITIONS = [
|
|
|
11300
11319
|
{
|
|
11301
11320
|
name: "tree",
|
|
11302
11321
|
title: "Navigate the workspace tree",
|
|
11303
|
-
description: `Map Spaces to Topics to Threads for orientation; external reads page ${TREE_EXTERNAL_DEFAULT_PAGE_SIZE} roots by default, while all=true is explicit complete retrieval. Topic activeThreadCount is the current working set
|
|
11322
|
+
description: `Map Spaces to Topics to Threads for orientation; external reads page ${TREE_EXTERNAL_DEFAULT_PAGE_SIZE} roots by default, while all=true is explicit complete retrieval: unscoped tree pages Spaces, Space-scoped tree pages Topics, and Topic-scoped depth=threads pages Threads. For a bounded Thread roster, scope to one Topic; Topic activeThreadCount is the current working set, status is area attention, not personal obligation (inbox), and depth=threads should stay scoped unless complete enumeration is intentional.`,
|
|
11304
11323
|
inputSchema: {
|
|
11305
11324
|
space: string2().optional().describe("scope to one space id (spc_…)"),
|
|
11306
11325
|
topic: string2().optional().describe("scope to one topic id (top_…)"),
|
|
11307
11326
|
depth: _enum(["spaces", "topics", "threads"]).optional().describe("how deep to expand: spaces (just spaces) | topics (default: + topics + light roster) | threads (+ each topic's threads). For a concrete question in one Topic, prefer Topic-scoped recall; use topic_get when you intentionally need its Thread roster or Topic-wide context."),
|
|
11308
|
-
limit: number2().int().min(1).optional().describe(`max roots to return; MCP/CLI/API default to ${TREE_EXTERNAL_DEFAULT_PAGE_SIZE} and return nextCursor when more remain`),
|
|
11327
|
+
limit: number2().int().min(1).optional().describe(`max page roots to return; unscoped tree pages Spaces, Space-scoped tree pages Topics, and Topic-scoped depth=threads pages Threads. MCP/CLI/API default to ${TREE_EXTERNAL_DEFAULT_PAGE_SIZE} and return nextCursor when more remain; scope to one Topic for a bounded Thread roster`),
|
|
11309
11328
|
cursor: PAGINATION_INPUT.cursor,
|
|
11310
11329
|
all: PAGINATION_INPUT.all
|
|
11311
11330
|
},
|
|
@@ -11926,10 +11945,24 @@ var ACTION_DEFINITIONS = [
|
|
|
11926
11945
|
toolset: "artifacts",
|
|
11927
11946
|
run: forward("artifact.transition")
|
|
11928
11947
|
},
|
|
11948
|
+
{
|
|
11949
|
+
name: "tldraw_create",
|
|
11950
|
+
title: "Create a blank tldraw board",
|
|
11951
|
+
description: "Create a durable blank native tldraw Artifact on a Thread, entering the same source/version/room/checkpoint lifecycle as an imported board. Retries with the same idempotencyKey return the original Artifact; observe before editing.",
|
|
11952
|
+
inputSchema: {
|
|
11953
|
+
title: string2().min(1).max(200).describe("the board title"),
|
|
11954
|
+
summary: string2().min(1).max(500).describe("one-line description of the board"),
|
|
11955
|
+
sourceThreadId: string2().describe("Thread that owns the board, thr_…"),
|
|
11956
|
+
idempotencyKey: string2().min(1).max(200).describe("stable key for this create request")
|
|
11957
|
+
},
|
|
11958
|
+
surfaces: ["mcp", "cli"],
|
|
11959
|
+
toolset: "artifacts",
|
|
11960
|
+
run: forward("tldraw.create")
|
|
11961
|
+
},
|
|
11929
11962
|
{
|
|
11930
11963
|
name: "tldraw_import",
|
|
11931
11964
|
title: "Import a tldraw board",
|
|
11932
|
-
description: "
|
|
11965
|
+
description: "Import an external .tldr into a durable tldraw Artifact after Arbor validates the stored bytes and source Thread. For a new blank board use tldraw_create; retries with the same idempotencyKey return the original Artifact version, then observe before editing.",
|
|
11933
11966
|
inputSchema: {
|
|
11934
11967
|
sourceAttachmentId: string2().describe("uploaded .tldr Attachment, att_…"),
|
|
11935
11968
|
title: string2().min(1).max(200).describe("the board title"),
|
package/package.json
CHANGED