@lambdacurry/arbor 0.22.15 → 0.22.16
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 +89 -26
- 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.16",
|
|
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",
|
|
@@ -4911,6 +4911,16 @@ function json(params) {
|
|
|
4911
4911
|
// ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
|
|
4912
4912
|
config(en_default());
|
|
4913
4913
|
// ../core/src/objects/types.ts
|
|
4914
|
+
var IDENTITY_COLORS = [
|
|
4915
|
+
"indigo",
|
|
4916
|
+
"teal",
|
|
4917
|
+
"terracotta",
|
|
4918
|
+
"plum",
|
|
4919
|
+
"steel",
|
|
4920
|
+
"olive",
|
|
4921
|
+
"rose",
|
|
4922
|
+
"cyan"
|
|
4923
|
+
];
|
|
4914
4924
|
var CONTRIBUTION_TYPES = [
|
|
4915
4925
|
"comment",
|
|
4916
4926
|
"question",
|
|
@@ -8300,6 +8310,37 @@ var paged = (key, item) => looseObject({
|
|
|
8300
8310
|
total: number2().optional(),
|
|
8301
8311
|
nextCursor: string2().optional()
|
|
8302
8312
|
});
|
|
8313
|
+
var tldrawDocumentVersionRef = object({
|
|
8314
|
+
artifactId: id,
|
|
8315
|
+
artifactVersionId: id,
|
|
8316
|
+
version: number2().int().min(1),
|
|
8317
|
+
sourceAttachmentId: id,
|
|
8318
|
+
sourceSha256: string2(),
|
|
8319
|
+
documentClock: number2().int().min(0),
|
|
8320
|
+
byteLength: number2().int().min(0)
|
|
8321
|
+
});
|
|
8322
|
+
var tldrawScriptAttempt = object({
|
|
8323
|
+
revision: number2().int().min(0),
|
|
8324
|
+
version: number2().int().min(1),
|
|
8325
|
+
digest: string2(),
|
|
8326
|
+
at: timestamp
|
|
8327
|
+
});
|
|
8328
|
+
var tldrawDesiredScript = object({
|
|
8329
|
+
revision: number2().int().min(0),
|
|
8330
|
+
version: number2().int().min(1),
|
|
8331
|
+
digest: string2(),
|
|
8332
|
+
approved: boolean2()
|
|
8333
|
+
}).nullable();
|
|
8334
|
+
var tldrawSessionScriptStatus = object({
|
|
8335
|
+
sessionId: string2(),
|
|
8336
|
+
profileId: id,
|
|
8337
|
+
displayName: string2(),
|
|
8338
|
+
connectedAt: timestamp,
|
|
8339
|
+
desired: tldrawDesiredScript,
|
|
8340
|
+
attempted: tldrawScriptAttempt.nullable(),
|
|
8341
|
+
lastSuccessful: tldrawScriptAttempt.nullable(),
|
|
8342
|
+
error: tldrawScriptAttempt.extend({ code: string2(), message: string2() }).nullable()
|
|
8343
|
+
});
|
|
8303
8344
|
var MCP_OUTPUT_SCHEMAS = {
|
|
8304
8345
|
server_info: looseObject({
|
|
8305
8346
|
serverVersion: string2(),
|
|
@@ -8742,10 +8783,36 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
8742
8783
|
}),
|
|
8743
8784
|
manifest: jsonObject
|
|
8744
8785
|
}),
|
|
8745
|
-
tldraw_status:
|
|
8786
|
+
tldraw_status: object({
|
|
8746
8787
|
artifactId: id,
|
|
8747
|
-
room:
|
|
8748
|
-
|
|
8788
|
+
room: object({
|
|
8789
|
+
roomGeneration: number2().int().min(1),
|
|
8790
|
+
instanceId: string2(),
|
|
8791
|
+
instanceStartedAt: timestamp,
|
|
8792
|
+
documentClock: number2().int().min(0),
|
|
8793
|
+
documentSha256: string2(),
|
|
8794
|
+
recordCount: number2().int().min(0),
|
|
8795
|
+
databaseSizeBytes: number2().int().min(0),
|
|
8796
|
+
connectedSessions: number2().int().min(0),
|
|
8797
|
+
resumedSessions: number2().int().min(0),
|
|
8798
|
+
dirtySince: timestamp.nullable(),
|
|
8799
|
+
lastMutationProfileId: id.nullable(),
|
|
8800
|
+
lastCheckpoint: tldrawDocumentVersionRef.nullable(),
|
|
8801
|
+
lastCheckpointError: object({ code: string2(), message: string2(), at: timestamp }).nullable(),
|
|
8802
|
+
autosave: object({
|
|
8803
|
+
createdVersions: number2().int().min(0),
|
|
8804
|
+
uploadedBytes: number2().int().min(0),
|
|
8805
|
+
retryCount: number2().int().min(0)
|
|
8806
|
+
})
|
|
8807
|
+
}),
|
|
8808
|
+
script: object({
|
|
8809
|
+
artifactId: id,
|
|
8810
|
+
revision: number2().int().min(0),
|
|
8811
|
+
status: _enum(["absent", "approval-required", "enabled", "disabled"]),
|
|
8812
|
+
source: jsonObject.nullable(),
|
|
8813
|
+
approval: jsonObject.nullable(),
|
|
8814
|
+
sessions: array(tldrawSessionScriptStatus)
|
|
8815
|
+
})
|
|
8749
8816
|
}),
|
|
8750
8817
|
tldraw_checkpoint: looseObject({
|
|
8751
8818
|
artifactId: id,
|
|
@@ -9166,7 +9233,7 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
9166
9233
|
recovery: object({
|
|
9167
9234
|
state: literal("execution-unavailable"),
|
|
9168
9235
|
reasonCode: _enum(["execution_session_unavailable", "provider_timeout"]),
|
|
9169
|
-
nextAction: literal("
|
|
9236
|
+
nextAction: literal("computer_run_start")
|
|
9170
9237
|
}).optional(),
|
|
9171
9238
|
agentBrief: computerAgentBrief,
|
|
9172
9239
|
runtime: jsonObject
|
|
@@ -9600,7 +9667,6 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
9600
9667
|
set_space_computer: destructiveIdempotent,
|
|
9601
9668
|
set_topic_computer: destructiveIdempotent,
|
|
9602
9669
|
set_thread_computer: destructiveIdempotent,
|
|
9603
|
-
attach_computer: additive,
|
|
9604
9670
|
get_computer: readOnly,
|
|
9605
9671
|
computer_inventory: readOnly,
|
|
9606
9672
|
transition_thread: additive,
|
|
@@ -9671,9 +9737,8 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
9671
9737
|
github_repositories: readOnly,
|
|
9672
9738
|
github_refresh_installation: openWorld,
|
|
9673
9739
|
github_connect_repository: idempotent,
|
|
9674
|
-
computer_open: additive,
|
|
9675
9740
|
computer_reprovision: destructiveIdempotent,
|
|
9676
|
-
computer_run_start:
|
|
9741
|
+
computer_run_start: idempotent,
|
|
9677
9742
|
computer_run_suspend: idempotent,
|
|
9678
9743
|
computer_repo_work_status: readOnly,
|
|
9679
9744
|
computer_run_finish: idempotent,
|
|
@@ -9691,10 +9756,8 @@ var MCP_TOOL_ANNOTATIONS = {
|
|
|
9691
9756
|
computer_verify: openWorld,
|
|
9692
9757
|
computer_export: idempotent,
|
|
9693
9758
|
computer_write: destructive,
|
|
9694
|
-
computer_checkpoint: additive,
|
|
9695
9759
|
computer_publish_preview: idempotent,
|
|
9696
|
-
computer_publish_app_bundle: idempotent
|
|
9697
|
-
computer_stop: additive
|
|
9760
|
+
computer_publish_app_bundle: idempotent
|
|
9698
9761
|
};
|
|
9699
9762
|
function mcpAnnotationsFor(name) {
|
|
9700
9763
|
const annotations = MCP_TOOL_ANNOTATIONS[name];
|
|
@@ -9867,10 +9930,10 @@ Arbor Computer is the complete software execution platform attached to Arbor's d
|
|
|
9867
9930
|
|
|
9868
9931
|
${ARBOR_FEEDBACK_GUIDANCE}
|
|
9869
9932
|
|
|
9870
|
-
1. ORIENT, CONFIGURE, AND AUTHORIZE. Start with provider-free get_computer(threadId) to inspect the effective inherited recipe, repository authorization, compatibility, recoverySafety, and durable lineage without contacting execution. Use set_organization_computer, set_space_computer, set_topic_computer, or set_thread_computer only when the corresponding complete sparse layer must be replaced; use github_repositories then github_connect_repository to authorize repositories at the narrowest scope that should inherit them. If github_repositories looks stale, github_refresh_installation reconciles the cached inventory from GitHub. computer_run_start(threadId, mode) is the front door: it attaches durable identity itself and starts an isolated write Run from the Thread's base snapshot without booting the parent
|
|
9933
|
+
1. ORIENT, CONFIGURE, AND AUTHORIZE. Start with provider-free get_computer(threadId) to inspect the effective inherited recipe, repository authorization, compatibility, recoverySafety, and durable lineage without contacting execution. Use set_organization_computer, set_space_computer, set_topic_computer, or set_thread_computer only when the corresponding complete sparse layer must be replaced; use github_repositories then github_connect_repository to authorize repositories at the narrowest scope that should inherit them. If github_repositories looks stale, github_refresh_installation reconciles the cached inventory from GitHub. computer_run_start(threadId, mode) is the front door: it attaches durable identity itself and starts an isolated write Run from the Thread's base snapshot without booting the parent. Each returned repository entry includes verified root instruction pointers when that repo has an AGENTS.md: read surfaced repository instructions before substantial edits or verification, then check for a nearer nested AGENTS.md once the target path is known. Repo-local instructions/scripts/config beat guessed formatter, test, lint, or build commands.
|
|
9871
9934
|
2. READ THE CAPABILITIES CARD, NOT THE BACKEND. runId is the one address: every runtime tool takes it, and the computerSessionId a Run carries is legacy input. computer_status(runId) describes the live PARENT Thread Computer behind a shared Run; it does not establish isolated Run activity, so use computer_run_receipt(runId) and computer_process_read for Run-owned work. Command-line utilities, including Git and package managers, run through computer_exec; check unfamiliar binaries with command -v.
|
|
9872
9935
|
3. ONE RUN PER TASK. A write Run defaults to an isolated execution environment with its own filesystem, processes, ports, and /tmp while preserving /workspace paths; a read Run shares the parent. Pass runId to Run-aware tools. If a response is lost, recover the durable operation/process identity from computer_run_receipt and read it before retrying. computer_process_read and computer_process_terminate settle a provider-absent current-generation process from exact evidence; computer_run_suspend performs that bounded settlement internally and never replays unknown work. A still-active process returns a retryable busy state; an unknown current-generation mutation fail-closes. An isolated local commit or Preview is not Git publication; push coherent work and prove it with computer_repo_work_status before computer_run_finish destroys the final placement. discard=true with outcome failed or cancelled is the explicit choice to abandon unknown or proven non-durable work without replaying it.
|
|
9873
|
-
4. CHECKPOINT COMPLETE UNITS THROUGH THE RUN. computer_run_suspend(runId) checkpoints an intermediate complete unit — an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run advances the parent lineage — and computer_run_finish(runId) makes the final one; finishing the last active shared Run also stops the parent.
|
|
9936
|
+
4. CHECKPOINT COMPLETE UNITS THROUGH THE RUN. computer_run_suspend(runId) checkpoints an intermediate complete unit — an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run advances the parent lineage — and computer_run_finish(runId) makes the final one; finishing the last active shared Run also stops the parent. An isolated Run Preview is durable review output, not adoption or a checkpoint. The internal provider-handle publication operations are not agent tools.
|
|
9874
9937
|
5. GIT AND GITHUB ARE ORDINARY COMMANDS AFTER AUTHORIZATION. Clone, fetch, pull, push, and gh run through computer_exec using a connected human's just-in-time ambient GitHub identity. Credentials never enter argv, workspace files, Git config, checkpoints, Events, logs, or receipts. A restored Computer deliberately keeps the checkout age of its snapshot, so fetch/pull before trusting remote state.
|
|
9875
9938
|
6. VERIFY, PREVIEW, AND EXPORT. computer_verify captures a public URL directly without opening a project runtime. computer_publish_preview preserves immutable static output from either the parent or an active isolated write Run. computer_export moves bounded files into durable Thread Attachments; for a computer:// file Artifact asleep face, export the exact locator path .tldr and a same-Thread PNG, then use artifact set_snapshot. computer_export itself does not call set_snapshot; place returned Markdown exactly where the media belongs and cite the matching attachment ids.
|
|
9876
9939
|
7. PACKAGE, DEPLOY, ACTIVATE, AND OPERATE APPS HERE. computer_publish_app_bundle creates the immutable executable bundle from verified parent bytes through a shared write Run: push isolated work, computer_run_start with execution shared, pull, then publish. For short-lived public Artifact experiments use preview_app_create/get/retire; for published Space Apps use app_create, app_config_apply, app_deploy, app_deployment_get, app_activate, app_get, app_fetch/app_request, app_rollback, app_set_access, app_reset_state/app_restore_state, and app_archive as one workflow-closed release surface. First-class Organization/Profile Secrets remain on Arbor's collaboration MCP because they are broader identity-owned resources; App configuration here references existing Secret ids and never accepts or returns secret material.
|
|
@@ -10570,7 +10633,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10570
10633
|
inputSchema: {
|
|
10571
10634
|
threadId: string2().describe("the Thread whose computer you are attaching, thr_…")
|
|
10572
10635
|
},
|
|
10573
|
-
surfaces: ["
|
|
10636
|
+
surfaces: ["cli"],
|
|
10574
10637
|
toolset: "loop",
|
|
10575
10638
|
run: forward("computer.attach")
|
|
10576
10639
|
},
|
|
@@ -10584,7 +10647,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10584
10647
|
vcpus: number2().int().min(1).max(4).optional().describe("optional container vCPU request"),
|
|
10585
10648
|
label: string2().optional().describe("short runtime label for operator diagnostics")
|
|
10586
10649
|
},
|
|
10587
|
-
surfaces: ["computer-
|
|
10650
|
+
surfaces: ["computer-cli"],
|
|
10588
10651
|
toolset: "loop",
|
|
10589
10652
|
run: forward("computer_runtime.open")
|
|
10590
10653
|
},
|
|
@@ -10604,10 +10667,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10604
10667
|
{
|
|
10605
10668
|
name: "computer_run_start",
|
|
10606
10669
|
title: "Start a run",
|
|
10607
|
-
description: `Start one bounded unit of work by threadId
|
|
10670
|
+
description: `Start one bounded unit of work by threadId: write defaults to an isolated Run from the Thread snapshot without booting the parent; shared/read Runs use the live parent; idempotencyKey recovers zero-or-one Run after response loss, and failures return runId for computer_run_receipt. First use: read the Computer guide at ${AGENT_GUIDE_URLS.computer}.`,
|
|
10608
10671
|
inputSchema: {
|
|
10609
|
-
threadId: string2().optional().describe("the Thread whose Computer this Run works in, thr_…; the front door
|
|
10610
|
-
computerSessionId: string2().optional().describe("alternative to threadId: an existing computerSessionId
|
|
10672
|
+
threadId: string2().optional().describe("the Thread whose Computer this Run works in, thr_…; the canonical Run-first front door"),
|
|
10673
|
+
computerSessionId: string2().optional().describe("legacy compatibility alternative to threadId: an existing parent computerSessionId, cms_…"),
|
|
10611
10674
|
mode: _enum(["read", "write"]).describe("write for mutable work; read for shared inspection"),
|
|
10612
10675
|
execution: _enum(["shared", "isolated"]).optional().describe("write Run placement; defaults to isolated. Use shared only for intentional live collaboration on the Thread Computer"),
|
|
10613
10676
|
label: string2().max(120).optional().describe("short factual label for this unit of work"),
|
|
@@ -10861,7 +10924,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10861
10924
|
runId: string2().optional().describe("an active shared write Run whose parent lineage to checkpoint, run_…"),
|
|
10862
10925
|
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
|
|
10863
10926
|
},
|
|
10864
|
-
surfaces: ["computer-
|
|
10927
|
+
surfaces: ["computer-cli"],
|
|
10865
10928
|
toolset: "loop",
|
|
10866
10929
|
run: forward("computer_runtime.checkpoint")
|
|
10867
10930
|
},
|
|
@@ -10927,7 +10990,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10927
10990
|
runId: string2().optional().describe("an active shared write Run whose parent to checkpoint and stop, run_…"),
|
|
10928
10991
|
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
|
|
10929
10992
|
},
|
|
10930
|
-
surfaces: ["computer-
|
|
10993
|
+
surfaces: ["computer-cli"],
|
|
10931
10994
|
toolset: "loop",
|
|
10932
10995
|
run: forward("computer_runtime.stop")
|
|
10933
10996
|
},
|
|
@@ -10974,7 +11037,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10974
11037
|
description: "Move a Thread among active, needs-review, stuck, standing, resolved, or archived with an optional reason; illegal lifecycle jumps are rejected. Resolve finite Decide/Deliver/Investigate/Manage work once its outcome is in, archive retired work (refile misfiled work with `thread_update` instead), use standing only for intentionally open-ended concerns, and curate standout outputs separately.",
|
|
10975
11038
|
inputSchema: {
|
|
10976
11039
|
threadId: string2().describe("the thread to move, thr_…"),
|
|
10977
|
-
to:
|
|
11040
|
+
to: _enum(["active", "needs-review", "stuck", "standing", "resolved", "archived"]).describe("target Thread lifecycle status"),
|
|
10978
11041
|
reason: string2().optional().describe("optional one-line why, recorded on the event")
|
|
10979
11042
|
},
|
|
10980
11043
|
surfaces: ["mcp", "cli"],
|
|
@@ -10984,7 +11047,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10984
11047
|
{
|
|
10985
11048
|
name: "create_artifact",
|
|
10986
11049
|
title: "Create an artifact",
|
|
10987
|
-
description: "Promote durable output — a decision, summary, plan, or research brief — into a first-class artifact you own. Give it a concise summary of what the Artifact is or accomplishes; this is the skim and retrieval description, not a repeat of its title. Text kinds (doc/table/diagram/html) are living documents: pass `source` (born at v1, editable in place via edit_artifact); kind=file passes a contentRef instead. The artifact is AUTOMATICALLY listed on its source thread (no link post needed). When it came from
|
|
11050
|
+
description: "Promote durable output — a decision, summary, plan, or research brief — into a first-class artifact you own. Give it a concise summary of what the Artifact is or accomplishes; this is the skim and retrieval description, not a repeat of its title. Text kinds (doc/table/diagram/html) are living documents: pass `source` (born at v1, editable in place via edit_artifact); kind=file passes a contentRef instead. The artifact is AUTOMATICALLY listed on its source thread (no link post needed). When it came from a Thread Computer, pass its producing computerSessionId when available so the artifact cites the reproducible session. Reach for this when a thread has produced something worth retaining and citing beyond the conversation — especially a table or doc the team will UPDATE, which beats pasting it into a prose contribution.",
|
|
10988
11051
|
inputSchema: {
|
|
10989
11052
|
type: string2().describe("semantic type, e.g. decision|summary|plan|markdown|table|research-brief"),
|
|
10990
11053
|
kind: _enum(["doc", "table", "diagram", "html", "file"]).optional().describe("structural kind (default file). doc/table/diagram/html are editable, versioned text"),
|
|
@@ -11263,7 +11326,7 @@ var ACTION_DEFINITIONS = [
|
|
|
11263
11326
|
description: "Set your own identity charter, emoji, color, and capabilities so teammates can understand and route work to you; change them anytime. Write the charter ROLE-FIRST (what you are/do, not your name); display name remains human-managed and capabilities are free-form skill tags.",
|
|
11264
11327
|
inputSchema: {
|
|
11265
11328
|
emoji: string2().optional().describe("exactly one emoji that represents you, e.g. \uD83D\uDD2D"),
|
|
11266
|
-
color:
|
|
11329
|
+
color: _enum(IDENTITY_COLORS).optional().describe("an identity color key from the curated palette"),
|
|
11267
11330
|
description: string2().optional().describe("your charter (≤500 chars): ROLE-FIRST — what you are + do, NOT 'I'm {Name}' (it renders after 'You are {Name}'). Read back in your orientation. Empty clears it."),
|
|
11268
11331
|
capabilities: array(string2()).optional().describe("free-form skill tags (≤20, each ≤60 chars) for what you can do — e.g. ['market-research','data-viz']; how teammates route work to you. An empty array clears them.")
|
|
11269
11332
|
},
|
|
@@ -12002,7 +12065,7 @@ var ACTION_DEFINITIONS = [
|
|
|
12002
12065
|
{
|
|
12003
12066
|
name: "tldraw_status",
|
|
12004
12067
|
title: "Check tldraw board status",
|
|
12005
|
-
description: "Read
|
|
12068
|
+
description: "Read compact operational room health and separately reported script sessions for a tldraw board; board geometry/document content stays on tldraw_observe and tldraw_get. Session reports remain per-session observations and are never collapsed into global success.",
|
|
12006
12069
|
inputSchema: { artifactId: string2().describe("the tldraw Artifact, art_…") },
|
|
12007
12070
|
surfaces: ["mcp", "cli"],
|
|
12008
12071
|
toolset: "artifacts",
|
|
@@ -12060,7 +12123,7 @@ var ACTION_DEFINITIONS = [
|
|
|
12060
12123
|
{
|
|
12061
12124
|
name: "tldraw_observe",
|
|
12062
12125
|
title: "Observe a tldraw board",
|
|
12063
|
-
description: `Capture a fresh bounded tldraw scene, lint result, document clock and digest, plus a PNG attachment for visual review; observe before editing. First use: read the tldraw guide at ${AGENT_GUIDE_URLS.tldraw}.`,
|
|
12126
|
+
description: `Capture a fresh bounded tldraw scene, lint result, document clock and digest, plus a PNG attachment for visual review; observe before editing and after context compaction to reacquire authoritative shape IDs/geometry. First use: read the tldraw guide at ${AGENT_GUIDE_URLS.tldraw}.`,
|
|
12064
12127
|
inputSchema: {
|
|
12065
12128
|
artifactId: string2().describe("the tldraw Artifact, art_…"),
|
|
12066
12129
|
pageId: string2().min(1).max(200).optional().describe("optional page to observe"),
|
|
@@ -12074,7 +12137,7 @@ var ACTION_DEFINITIONS = [
|
|
|
12074
12137
|
{
|
|
12075
12138
|
name: "tldraw_exec",
|
|
12076
12139
|
title: "Run a one-shot tldraw program",
|
|
12077
|
-
description: `Modify the current live tldraw board with preferred declarative operations or bounded JavaScript, then return a durable execution receipt; observe
|
|
12140
|
+
description: `Modify the current live tldraw board with preferred declarative operations or bounded JavaScript, then return a durable execution receipt; use IDs from a fresh observe, reacquire this current schema after compaction, and never replay an unknown result. First use: read the tldraw guide at ${AGENT_GUIDE_URLS.tldraw}.`,
|
|
12078
12141
|
inputSchema: {
|
|
12079
12142
|
artifactId: string2().describe("the tldraw Artifact, art_…"),
|
|
12080
12143
|
code: string2().min(1).max(1e5).optional().describe("advanced script source; mutually exclusive with operations"),
|
package/package.json
CHANGED