@tendrilapp/cli 0.1.31 → 0.1.33

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.
@@ -153,16 +153,21 @@ var TOOLS = [
153
153
  },
154
154
  {
155
155
  name: "tendril_record_ingest",
156
- description: "Single-piece ingest of a VERBATIM Figma tool-response \u2014 the fallback path (re-recording one failed piece, set-level get_variable_defs, get_metadata_interior for mains); for a rep's standard three recordings PREFER tendril_record_ingest_rep, which takes them all in one call. Pass `text` (single block) or `texts` (response split into multiple output blocks \u2014 each block verbatim, in order; NEVER hand-join them): the CLI constructs the envelope from the same bytes. The response includes `next` and, for get_design_context, `assets` (auto-fetched; only listed failures need manual handling).",
156
+ description: "Single-piece ingest of a VERBATIM Figma tool-response \u2014 the fallback path (re-recording one failed piece, the set-level get_variable_defs and get_motion_context steps, get_metadata_interior for mains); for a rep's standard three recordings PREFER tendril_record_ingest_rep, which takes them all in one call. Pass `text` (single block) or `texts` (response split into multiple output blocks \u2014 each block verbatim, in order; NEVER hand-join them): the CLI constructs the envelope from the same bytes. The response includes `next` and, for get_design_context, `assets` (auto-fetched; only listed failures need manual handling).",
157
157
  schema: z.object({
158
158
  setDir: str("recording set directory"),
159
- rep: str("planned rep slug, or __set__ for the set-level get_variable_defs"),
159
+ rep: str("planned rep slug, or __set__ for the set-level steps (get_variable_defs, get_motion_context)"),
160
160
  // Enumerated, not a free string: this value reaches a file path.
161
161
  // As a bare string it was an arbitrary relative-path overwrite
162
162
  // (--tool "../../outside/victim" replaced a file outside the set,
163
163
  // exit 0). The sink in session.ts now contains the path too — this
164
164
  // is the second layer, and it makes the tool self-documenting.
165
- tool: z.enum(["get_design_context", "get_metadata", "get_screenshot", "get_variable_defs", "get_metadata_interior"]),
165
+ // EVERY tool `record next` can name must be listed here — the
166
+ // ADR-016 review found get_motion_context missing, which
167
+ // dead-ended every MCP-driven recording at the motion step with
168
+ // no MCP path to complete (the CLI accepted what the primary
169
+ // surface could not send). The pin lives in server.test.ts.
170
+ tool: z.enum(["get_design_context", "get_metadata", "get_screenshot", "get_variable_defs", "get_metadata_interior", "get_motion_context"]),
166
171
  text: optStr("the tool response text VERBATIM \u2014 exactly as returned, unmodified (single-block responses; text tools only \u2014 screenshots go through record_fetch)"),
167
172
  texts: z.array(z.string()).optional().describe("when the response arrived as MULTIPLE output blocks: every block, in order, each verbatim \u2014 never hand-join blocks yourself"),
168
173
  file: optStr("path to a saved envelope JSON (alternative to text/texts)")
@@ -208,7 +213,7 @@ var TOOLS = [
208
213
  {
209
214
  name: "tendril_record_status",
210
215
  annotations: { readOnlyHint: true },
211
- description: "Recording-set completeness: per-rep recorded/missing tools, files that exist but are unusable (invalid \u2014 re-record those), and whether the set-level token map is recorded. `complete` means USABLE by the next pipeline step, including the set-level get_variable_defs.",
216
+ description: "Recording-set completeness: per-rep recorded/missing tools, files that exist but are unusable (invalid \u2014 re-record those), and whether the set-level steps are recorded (get_variable_defs always; get_motion_context when the plan asked \u2014 ADR-016). `complete` means USABLE by the next pipeline step.",
212
217
  schema: z.object({ setDir: str("recording set directory") }),
213
218
  argv: (i) => ["record", "status", "--set", i["setDir"]]
214
219
  },
@@ -225,7 +230,8 @@ var TOOLS = [
225
230
  // choose, declare, and state the reason in your report.
226
231
  model: str("the model that will WRITE the implementation \u2014 ask the user when interactive; declare your reasoned choice when not"),
227
232
  bar: optStr("pass (default) or cert"),
228
- out: optStr("payload file path override")
233
+ out: optStr("payload file path override"),
234
+ library: optStr("workspace root holding confirmed partners generated bundles (ADR-013 composed pins; default: the server's working directory)")
229
235
  }),
230
236
  argv: (i) => [
231
237
  "engine",
@@ -234,7 +240,8 @@ var TOOLS = [
234
240
  "--model",
235
241
  i["model"],
236
242
  ...i["bar"] !== void 0 ? ["--bar", i["bar"]] : [],
237
- ...i["out"] !== void 0 ? ["--out", i["out"]] : []
243
+ ...i["out"] !== void 0 ? ["--out", i["out"]] : [],
244
+ ...i["library"] !== void 0 ? ["--library", i["library"]] : []
238
245
  ]
239
246
  },
240
247
  {
@@ -246,7 +253,8 @@ var TOOLS = [
246
253
  bar: optStr("pass (default) or cert"),
247
254
  host: optStr("your host identity (e.g. claude-code, cursor, codex) \u2014 recorded as self-reported provenance"),
248
255
  model: str("the model that proposed the candidate \u2014 REQUIRED; recorded as self-reported provenance, and the CLI refuses to score without it"),
249
- rebind: z.boolean().optional().describe("explicitly re-bind an already-bound bundle to a DIFFERENT recording set \u2014 scoring refuses this otherwise, because rebinding silently rewrites the bundle's verification identity; only pass after telling the user")
256
+ rebind: z.boolean().optional().describe("explicitly re-bind an already-bound bundle to a DIFFERENT recording set \u2014 scoring refuses this otherwise, because rebinding silently rewrites the bundle's verification identity; only pass after telling the user"),
257
+ library: optStr("workspace root holding confirmed partners generated bundles (ADR-013 composed pins; default: the server's working directory) \u2014 pass the same root the brief used")
250
258
  }),
251
259
  argv: (i) => [
252
260
  "engine",
@@ -257,7 +265,8 @@ var TOOLS = [
257
265
  ...i["host"] !== void 0 ? ["--host", i["host"]] : [],
258
266
  "--model",
259
267
  i["model"],
260
- ...i["rebind"] === true ? ["--rebind"] : []
268
+ ...i["rebind"] === true ? ["--rebind"] : [],
269
+ ...i["library"] !== void 0 ? ["--library", i["library"]] : []
261
270
  ]
262
271
  },
263
272
  {
@@ -284,13 +293,15 @@ var TOOLS = [
284
293
  schema: z.object({
285
294
  bundleDir: str("bundle directory to verify"),
286
295
  bar: optStr("pass (default) or cert"),
287
- set: optStr("recording-set directory override")
296
+ set: optStr("recording-set directory override"),
297
+ library: optStr("workspace root holding confirmed partners generated bundles (ADR-013 composed pins; default: the server's working directory)")
288
298
  }),
289
299
  argv: (i) => [
290
300
  "verify",
291
301
  i["bundleDir"],
292
302
  ...i["bar"] !== void 0 ? ["--bar", i["bar"]] : [],
293
- ...i["set"] !== void 0 ? ["--set", i["set"]] : []
303
+ ...i["set"] !== void 0 ? ["--set", i["set"]] : [],
304
+ ...i["library"] !== void 0 ? ["--library", i["library"]] : []
294
305
  ]
295
306
  },
296
307
  {