@namzu/sdk 45.1.0 → 46.0.0

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 (118) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/authorization/gate.d.ts +5 -2
  3. package/dist/authorization/gate.d.ts.map +1 -1
  4. package/dist/authorization/gate.js +25 -4
  5. package/dist/authorization/gate.js.map +1 -1
  6. package/dist/authorization/rules.d.ts.map +1 -1
  7. package/dist/authorization/rules.js +19 -0
  8. package/dist/authorization/rules.js.map +1 -1
  9. package/dist/authorization/shell-lexer.d.ts +24 -0
  10. package/dist/authorization/shell-lexer.d.ts.map +1 -1
  11. package/dist/authorization/shell-lexer.js +69 -51
  12. package/dist/authorization/shell-lexer.js.map +1 -1
  13. package/dist/pricing/catalogue.generated.d.ts.map +1 -1
  14. package/dist/pricing/catalogue.generated.js +28 -4
  15. package/dist/pricing/catalogue.generated.js.map +1 -1
  16. package/dist/public-runtime.d.ts +3 -3
  17. package/dist/public-runtime.d.ts.map +1 -1
  18. package/dist/public-runtime.js +4 -2
  19. package/dist/public-runtime.js.map +1 -1
  20. package/dist/public-tools.d.ts +3 -2
  21. package/dist/public-tools.d.ts.map +1 -1
  22. package/dist/public-tools.js +5 -2
  23. package/dist/public-tools.js.map +1 -1
  24. package/dist/public-types.d.ts +3 -3
  25. package/dist/public-types.d.ts.map +1 -1
  26. package/dist/registry/tool/callable.d.ts +22 -0
  27. package/dist/registry/tool/callable.d.ts.map +1 -0
  28. package/dist/registry/tool/callable.js +29 -0
  29. package/dist/registry/tool/callable.js.map +1 -0
  30. package/dist/registry/tool/execute.d.ts.map +1 -1
  31. package/dist/registry/tool/execute.js +8 -1
  32. package/dist/registry/tool/execute.js.map +1 -1
  33. package/dist/runtime/query/executor/tool-call-admission.d.ts +37 -11
  34. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  35. package/dist/runtime/query/executor/tool-call-admission.js +38 -12
  36. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  37. package/dist/runtime/query/executor.d.ts +4 -2
  38. package/dist/runtime/query/executor.d.ts.map +1 -1
  39. package/dist/runtime/query/executor.js +18 -5
  40. package/dist/runtime/query/executor.js.map +1 -1
  41. package/dist/runtime/query/review-policy.d.ts +43 -0
  42. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  43. package/dist/runtime/query/review-policy.js +59 -16
  44. package/dist/runtime/query/review-policy.js.map +1 -1
  45. package/dist/skills/registry.d.ts +6 -0
  46. package/dist/skills/registry.d.ts.map +1 -1
  47. package/dist/skills/registry.js +1 -0
  48. package/dist/skills/registry.js.map +1 -1
  49. package/dist/tools/builtins/computer-use-coordinates.d.ts +65 -0
  50. package/dist/tools/builtins/computer-use-coordinates.d.ts.map +1 -0
  51. package/dist/tools/builtins/computer-use-coordinates.js +123 -0
  52. package/dist/tools/builtins/computer-use-coordinates.js.map +1 -0
  53. package/dist/tools/builtins/computer-use-image.d.ts +77 -0
  54. package/dist/tools/builtins/computer-use-image.d.ts.map +1 -0
  55. package/dist/tools/builtins/computer-use-image.js +223 -0
  56. package/dist/tools/builtins/computer-use-image.js.map +1 -0
  57. package/dist/tools/builtins/computer-use.d.ts +519 -14
  58. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  59. package/dist/tools/builtins/computer-use.js +1188 -183
  60. package/dist/tools/builtins/computer-use.js.map +1 -1
  61. package/dist/tools/builtins/index.d.ts +2 -1
  62. package/dist/tools/builtins/index.d.ts.map +1 -1
  63. package/dist/tools/builtins/index.js +1 -1
  64. package/dist/tools/builtins/index.js.map +1 -1
  65. package/dist/tools/builtins/skill.d.ts +74 -0
  66. package/dist/tools/builtins/skill.d.ts.map +1 -1
  67. package/dist/tools/builtins/skill.js +214 -174
  68. package/dist/tools/builtins/skill.js.map +1 -1
  69. package/dist/tools/defineTool.d.ts +2 -0
  70. package/dist/tools/defineTool.d.ts.map +1 -1
  71. package/dist/tools/defineTool.js +7 -0
  72. package/dist/tools/defineTool.js.map +1 -1
  73. package/dist/tools/schedules/present.d.ts.map +1 -1
  74. package/dist/tools/schedules/present.js +2 -0
  75. package/dist/tools/schedules/present.js.map +1 -1
  76. package/dist/tools/schedules/schedule-tool.d.ts +6 -5
  77. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  78. package/dist/tools/schedules/schedule-tool.js +121 -30
  79. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  80. package/dist/tools/schedules/types.d.ts +69 -1
  81. package/dist/tools/schedules/types.d.ts.map +1 -1
  82. package/dist/types/authorization/index.d.ts +21 -0
  83. package/dist/types/authorization/index.d.ts.map +1 -1
  84. package/dist/types/authorization/index.js +5 -0
  85. package/dist/types/authorization/index.js.map +1 -1
  86. package/dist/types/computer-use/index.d.ts +176 -0
  87. package/dist/types/computer-use/index.d.ts.map +1 -1
  88. package/dist/types/computer-use/index.js.map +1 -1
  89. package/dist/types/tool/index.d.ts +19 -0
  90. package/dist/types/tool/index.d.ts.map +1 -1
  91. package/dist/types/tool/index.js.map +1 -1
  92. package/package.json +3 -1
  93. package/src/authorization/gate.ts +25 -4
  94. package/src/authorization/rules.ts +18 -0
  95. package/src/authorization/shell-lexer.ts +73 -45
  96. package/src/pricing/catalogue.generated.ts +28 -4
  97. package/src/pricing/rates.source.json +27 -6
  98. package/src/public-runtime.ts +16 -2
  99. package/src/public-tools.ts +19 -1
  100. package/src/public-types.ts +5 -0
  101. package/src/registry/tool/callable.ts +37 -0
  102. package/src/registry/tool/execute.ts +8 -1
  103. package/src/runtime/query/executor/tool-call-admission.ts +60 -16
  104. package/src/runtime/query/executor.ts +19 -4
  105. package/src/runtime/query/review-policy.ts +103 -15
  106. package/src/skills/registry.ts +8 -0
  107. package/src/tools/builtins/computer-use-coordinates.ts +144 -0
  108. package/src/tools/builtins/computer-use-image.ts +278 -0
  109. package/src/tools/builtins/computer-use.ts +1485 -191
  110. package/src/tools/builtins/index.ts +7 -1
  111. package/src/tools/builtins/skill.ts +304 -174
  112. package/src/tools/defineTool.ts +10 -0
  113. package/src/tools/schedules/present.ts +2 -0
  114. package/src/tools/schedules/schedule-tool.ts +139 -33
  115. package/src/tools/schedules/types.ts +69 -1
  116. package/src/types/authorization/index.ts +21 -0
  117. package/src/types/computer-use/index.ts +202 -0
  118. package/src/types/tool/index.ts +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/schedules/schedule-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAc,MAAM,2BAA2B,CAAA;AAKxF,OAAO,KAAK,EAIX,gBAAgB,EAChB,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,kBAAkB,aAAa,CAAA;AA+T5C;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAgC3E"}
1
+ {"version":3,"file":"schedule-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/schedules/schedule-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAc,MAAM,2BAA2B,CAAA;AAKxF,OAAO,KAAK,EAMX,gBAAgB,EAChB,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAoa5C;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAkC3E"}
@@ -6,7 +6,8 @@ import { scanSchedulePrompt } from './prompt-scan.js';
6
6
  export const SCHEDULE_TOOL_NAME = 'schedule';
7
7
  /**
8
8
  * A person reads the whole proposal — the prompt, the rules, the schedule,
9
- * the credential source — before answering `create`, `resume` or `delete`.
9
+ * the credential source — before answering `create`, `update`, `resume` or
10
+ * `delete`.
10
11
  * The executor's `DEFAULT_TOOL_TIMEOUT_MS` (two minutes) is sized for a tool
11
12
  * call, not a person on the other end of a screen, and would abandon the
12
13
  * call out from under them mid-read. `save_skill`
@@ -19,18 +20,23 @@ const NETWORK_TOOLS = ['web_fetch', 'web_search'];
19
20
  const BROWSER_PROFILE = /^[a-z0-9][a-z0-9-]{0,62}$/;
20
21
  const inputSchema = z.object({
21
22
  action: z
22
- .enum(['create', 'list', 'pause', 'resume', 'delete'])
23
- .describe('What to do. create, resume and delete ask the operator first.'),
23
+ .enum(['create', 'list', 'update', 'pause', 'resume', 'delete'])
24
+ .describe('What to do. create, update, resume and delete ask the operator first. To change a job, update it: deleting and creating it again loses its history.'),
24
25
  name: z
25
26
  .string()
26
27
  .regex(/^[a-z0-9][a-z0-9-]{0,62}$/)
27
28
  .optional()
28
29
  .describe('create: job name, lowercase letters, digits and dashes'),
29
- prompt: z.string().min(1).max(20_000).optional().describe('create: what the run is asked to do'),
30
+ prompt: z
31
+ .string()
32
+ .min(1)
33
+ .max(20_000)
34
+ .optional()
35
+ .describe('create, update: what the run is asked to do'),
30
36
  when: z
31
37
  .string()
32
38
  .optional()
33
- .describe('create: "every 30m", "0 9 * * 1-5" (cron), "at 2026-09-24 09:00", "in 2h"'),
39
+ .describe('create, update: "every 30m", "0 9 * * 1-5" (cron), "at 2026-09-24 09:00", "in 2h"'),
34
40
  folder: z
35
41
  .string()
36
42
  .optional()
@@ -71,7 +77,7 @@ const inputSchema = z.object({
71
77
  .describe('Browser access; omit for none'),
72
78
  })
73
79
  .optional()
74
- .describe('create: REQUIRED explicit permission set; there is no default'),
80
+ .describe('create: REQUIRED explicit permission set; there is no default. update: the whole new set, only when the permissions change'),
75
81
  budget: z
76
82
  .object({
77
83
  maxIterations: z
@@ -95,7 +101,7 @@ const inputSchema = z.object({
95
101
  })
96
102
  .optional()
97
103
  .describe('Limits of ONE run; omit to use the defaults'),
98
- job: z.string().optional().describe('pause/resume/delete: job name'),
104
+ job: z.string().optional().describe('update/pause/resume/delete: job name'),
99
105
  allFolders: z.boolean().optional().describe('list: include jobs of other folders (names only)'),
100
106
  });
101
107
  function refuse(error) {
@@ -174,22 +180,31 @@ function browserGrant(host, proposed) {
174
180
  },
175
181
  };
176
182
  }
183
+ /** A proposed permission set as a draft carries it, or why it is refused. */
184
+ function checkPermissions(host, proposed) {
185
+ if (!proposed.preset && !proposed.rules && !proposed.browser) {
186
+ return {
187
+ ok: false,
188
+ error: 'permissions needs a preset, rules or a browser grant; an empty permission set is not a choice.',
189
+ };
190
+ }
191
+ if (!proposed.browser)
192
+ return { ok: true, permissions: proposed };
193
+ const grant = browserGrant(host, proposed.browser);
194
+ if (!grant.ok)
195
+ return grant;
196
+ return { ok: true, permissions: { ...proposed, browser: grant.grant } };
197
+ }
198
+ const NETWORK_WITH_HOST_SHELL = 'A scheduled job proposed here cannot combine web or browser access with a shell on the host. Deny bash, use execution "sandbox", or ask the operator to create it with `namzu schedule add`.';
177
199
  async function create(host, input, signal) {
178
200
  const missing = ['name', 'prompt', 'when', 'permissions'].filter((k) => input[k] === undefined);
179
201
  if (missing.length > 0) {
180
202
  return refuse(`create needs ${missing.join(', ')}. permissions is required: propose an explicit set (a preset and/or rules, plus unmatched).`);
181
203
  }
182
- const proposed = input.permissions;
183
- if (!proposed.preset && !proposed.rules && !proposed.browser) {
184
- return refuse('permissions needs a preset, rules or a browser grant; an empty permission set is not a choice.');
185
- }
186
- let permissions = proposed;
187
- if (proposed.browser) {
188
- const grant = browserGrant(host, proposed.browser);
189
- if (!grant.ok)
190
- return refuse(grant.error);
191
- permissions = { ...proposed, browser: grant.grant };
192
- }
204
+ const checked = checkPermissions(host, input.permissions);
205
+ if (!checked.ok)
206
+ return refuse(checked.error);
207
+ const permissions = checked.permissions;
193
208
  const draft = {
194
209
  name: input.name,
195
210
  prompt: input.prompt,
@@ -199,9 +214,8 @@ async function create(host, input, signal) {
199
214
  permissions,
200
215
  ...(input.budget ? { budget: input.budget } : {}),
201
216
  };
202
- if (networkWithHostShell(draft)) {
203
- return refuse('A scheduled job proposed here cannot combine web or browser access with a shell on the host. Deny bash, use execution "sandbox", or ask the operator to create it with `namzu schedule add`.');
204
- }
217
+ if (networkWithHostShell(draft))
218
+ return refuse(NETWORK_WITH_HOST_SHELL);
205
219
  let preview;
206
220
  try {
207
221
  preview = await host.preview(draft);
@@ -247,9 +261,83 @@ async function list(host, input) {
247
261
  const jobs = await host.list({ allFolders: input.allFolders === true });
248
262
  if (jobs.length === 0)
249
263
  return { success: true, output: 'No scheduled jobs.', data: { jobs: [] } };
250
- const lines = jobs.map((j) => `${j.name} · ${j.state} · ${j.schedule}${j.nextFireAt ? ` · next ${j.nextFireAt}` : ''}${j.lastStatus ? ` · last ${j.lastStatus}` : ''} · ${j.folder}`);
264
+ const lines = jobs.map((j) => `${j.name} · ${j.state} · ${j.schedule}${j.nextFireAt ? ` · next ${j.nextFireAt}` : ''}${j.lastStatus ? ` · last ${j.lastStatus}` : ''} · ${j.folder}${j.inSessionFolder ? ' (this folder)' : ''}`);
251
265
  return { success: true, output: lines.join('\n'), data: { jobs } };
252
266
  }
267
+ /** The fields `update` may change, as the model set them. */
268
+ const CHANGEABLE = ['prompt', 'when', 'folder', 'tz', 'permissions', 'budget'];
269
+ async function update(host, input, signal) {
270
+ if (!host.previewUpdate || !host.confirmUpdate || !host.update) {
271
+ return refuse('This host cannot change a scheduled job. Ask the operator to change it themselves; do not delete and create it again, which loses its history.');
272
+ }
273
+ if (!input.job)
274
+ return refuse("update needs job (the job's name) and the fields to change.");
275
+ if (input.name !== undefined) {
276
+ return refuse('update cannot rename a job: name the job to change with job, and leave name out.');
277
+ }
278
+ const given = CHANGEABLE.filter((k) => input[k] !== undefined);
279
+ if (given.length === 0) {
280
+ return refuse(`update needs at least one of ${CHANGEABLE.join(', ')} to change.`);
281
+ }
282
+ let permissions;
283
+ if (input.permissions) {
284
+ const checked = checkPermissions(host, input.permissions);
285
+ if (!checked.ok)
286
+ return refuse(checked.error);
287
+ permissions = checked.permissions;
288
+ if (networkWithHostShell({ name: '', prompt: '', when: '', permissions }))
289
+ return refuse(NETWORK_WITH_HOST_SHELL);
290
+ }
291
+ const changes = {
292
+ ...(input.prompt !== undefined ? { prompt: input.prompt } : {}),
293
+ ...(input.when !== undefined ? { when: input.when } : {}),
294
+ ...(input.folder !== undefined ? { folder: input.folder } : {}),
295
+ ...(input.tz !== undefined ? { tz: input.tz } : {}),
296
+ ...(permissions ? { permissions } : {}),
297
+ ...(input.budget ? { budget: input.budget } : {}),
298
+ };
299
+ let proposal;
300
+ try {
301
+ proposal = await host.previewUpdate(input.job, changes);
302
+ }
303
+ catch (error) {
304
+ return refuse(error instanceof Error ? error.message : String(error));
305
+ }
306
+ let confirmed = false;
307
+ try {
308
+ confirmed = await host.confirmUpdate({
309
+ ...proposal,
310
+ promptFindings: scanSchedulePrompt(proposal.preview.prompt),
311
+ proposedBy: 'model',
312
+ }, signal);
313
+ }
314
+ catch {
315
+ confirmed = false;
316
+ }
317
+ // As for `create`: never save on an answer that came after the
318
+ // operator was no longer being asked.
319
+ if (signal?.aborted)
320
+ confirmed = false;
321
+ if (!confirmed) {
322
+ return {
323
+ ...refuse(`The operator did not confirm the change; "${proposal.preview.name}" was not changed.`),
324
+ data: { cancelled: true },
325
+ };
326
+ }
327
+ let saved;
328
+ try {
329
+ saved = await host.update(proposal.preview);
330
+ }
331
+ catch (error) {
332
+ return refuse(error instanceof Error ? error.message : String(error));
333
+ }
334
+ const said = `Job "${saved.name}" was updated in place and keeps its history. It runs ${proposal.preview.schedule}.`;
335
+ return {
336
+ success: true,
337
+ output: saved.note ? `${said} ${saved.note}` : said,
338
+ data: { name: saved.name, updated: true, changes: proposal.changes },
339
+ };
340
+ }
253
341
  async function lifecycle(host, input, action, signal) {
254
342
  if (!input.job)
255
343
  return refuse(`${action} needs job (the job's name).`);
@@ -282,12 +370,13 @@ async function lifecycle(host, input, action, signal) {
282
370
  return { success: true, output: `Job "${job.name}" ${verb}.`, data: { name: job.name, action } };
283
371
  }
284
372
  /**
285
- * The `schedule` tool: create, list, pause, resume and delete the operator's
286
- * scheduled jobs from a conversation.
373
+ * The `schedule` tool: create, list, update, pause, resume and delete the
374
+ * operator's scheduled jobs from a conversation.
287
375
  *
288
- * Creation, resuming and deleting are confirmed by a person through the host
289
- * (`ScheduleToolHost.confirm`), on a screen the host draws from its own
290
- * computation. The model cannot propose that uncovered calls run without
376
+ * Creation, updating, resuming and deleting are confirmed by a person
377
+ * through the host (`ScheduleToolHost.confirm`, `confirmUpdate`), on a
378
+ * screen the host draws from its own computation. An update changes the
379
+ * job in place, so it keeps its id and its history. The model cannot propose that uncovered calls run without
291
380
  * asking, nor web access beside a host shell. Register it only where a person
292
381
  * is present to confirm: never in a headless run, a scheduled run or a
293
382
  * sub-agent.
@@ -296,7 +385,7 @@ export function buildScheduleTools(host) {
296
385
  return [
297
386
  defineTool({
298
387
  name: SCHEDULE_TOOL_NAME,
299
- description: "Manage the operator's scheduled jobs: prompts that run later in a folder, with nobody watching, under an explicit permission set. Use it only when the user asks for something to happen on a schedule. create, resume and delete are confirmed by the operator; pause is not. A job needs name, prompt, when and permissions (unmatched: park or deny, plus a preset, rules or a browser grant). Leave every other field (folder, tz, execution, budget, headed) unset unless the user asked for it: the defaults are the operator's, and the confirmation marks each value you chose. Scheduled runs cannot ask questions.",
388
+ description: "Manage the operator's scheduled jobs: prompts that run later in a folder, with nobody watching, under an explicit permission set. Use it only when the user asks for something to happen on a schedule. create, update, resume and delete are confirmed by the operator; pause is not. A job needs name, prompt, when and permissions (unmatched: park or deny, plus a preset, rules or a browser grant). To change a job, update it with job and only the fields that change; do not delete and recreate it. Leave every other field (folder, tz, execution, budget, headed) unset unless the user asked for it: the defaults are the operator's, and the confirmation marks each value you chose. Scheduled runs cannot ask questions.",
300
389
  inputSchema,
301
390
  category: 'custom',
302
391
  permissions: [],
@@ -308,8 +397,8 @@ export function buildScheduleTools(host) {
308
397
  concurrencySafe: false,
309
398
  presentCall: presentScheduleCall,
310
399
  presentResult: presentScheduleResult,
311
- // A person, not a tool, answers `create`/`resume`/`delete`; see
312
- // `OPERATOR_CONFIRM_TIMEOUT_MS`.
400
+ // A person, not a tool, answers `create`/`update`/`resume`/`delete`;
401
+ // see `OPERATOR_CONFIRM_TIMEOUT_MS`.
313
402
  timeoutMs: OPERATOR_CONFIRM_TIMEOUT_MS,
314
403
  async execute(input, context) {
315
404
  switch (input.action) {
@@ -317,6 +406,8 @@ export function buildScheduleTools(host) {
317
406
  return create(host, input, context.abortSignal);
318
407
  case 'list':
319
408
  return list(host, input);
409
+ case 'update':
410
+ return update(host, input, context.abortSignal);
320
411
  default:
321
412
  return lifecycle(host, input, input.action, context.abortSignal);
322
413
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-tool.js","sourceRoot":"","sources":["../../../src/tools/schedules/schedule-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-tool.js","sourceRoot":"","sources":["../../../src/tools/schedules/schedule-tool.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,45 @@ export interface ScheduleJobSummary {
106
106
  readonly lastStatus?: string;
107
107
  /** Present only for jobs in the session's own folder. */
108
108
  readonly prompt?: string;
109
+ /**
110
+ * True for a job whose folder is the session's own. A host that lists
111
+ * other folders' jobs sets it so the model can tell them apart; the tool
112
+ * marks such a job `(this folder)`.
113
+ */
114
+ readonly inSessionFolder?: boolean;
115
+ }
116
+ /**
117
+ * What the model proposes to change in an existing job. Every field left
118
+ * out keeps the job's current value. `permissions`, when given, is the whole
119
+ * new set, with the same limits as a new job's; the host keeps the job's
120
+ * `execution` when it is not given, and its additional directories.
121
+ */
122
+ export interface ScheduleJobChanges {
123
+ readonly prompt?: string;
124
+ readonly when?: string;
125
+ readonly folder?: string;
126
+ readonly tz?: string;
127
+ readonly permissions?: ScheduleJobDraft['permissions'];
128
+ readonly budget?: ScheduleJobDraft['budget'];
129
+ }
130
+ /** A proposed change to a job, as the host computed it. */
131
+ export interface ScheduleJobUpdateProposal {
132
+ /** The job as it would be once changed. Every field is the host's own computation. */
133
+ readonly preview: ScheduleJobPreview;
134
+ /**
135
+ * What differs from the job as it stands (and from edits saved since it
136
+ * was last confirmed), one line each: `- ` what goes, `+ ` what comes.
137
+ */
138
+ readonly changes: readonly string[];
139
+ /** The change touches what a run may do: its rules, `unmatched`, where it runs, its browser grant. */
140
+ readonly permissionsChange: boolean;
141
+ }
142
+ /** What the person confirming a change is shown. */
143
+ export interface ScheduleUpdateRequest extends ScheduleJobUpdateProposal {
144
+ /** The prompt tripwire's findings over `preview.prompt`. */
145
+ readonly promptFindings: readonly string[];
146
+ /** Always `model` from this tool. */
147
+ readonly proposedBy: 'model';
109
148
  }
110
149
  /** What the person answered to a proposed job. */
111
150
  export type ScheduleConfirmAnswer = 'create' | 'create-paused' | 'cancel';
@@ -147,7 +186,14 @@ export interface ScheduleToolHost {
147
186
  readonly name: string;
148
187
  readonly note?: string;
149
188
  }>;
150
- /** Jobs, the session folder's in full, other folders' without their prompts. */
189
+ /**
190
+ * Jobs, the session folder's in full, other folders' without their
191
+ * prompts. `allFolders: false` lets a host list only the session
192
+ * folder's; a host may list every job regardless, marking the session
193
+ * folder's with {@link ScheduleJobSummary.inSessionFolder}. The tool says
194
+ * "No scheduled jobs." when this returns none, so a host that filters
195
+ * says so only for its folder.
196
+ */
151
197
  list(options: {
152
198
  readonly allFolders: boolean;
153
199
  }): Promise<readonly ScheduleJobSummary[]>;
@@ -158,6 +204,28 @@ export interface ScheduleToolHost {
158
204
  pause(job: string): Promise<void>;
159
205
  resume(job: string): Promise<void>;
160
206
  delete(job: string): Promise<void>;
207
+ /**
208
+ * Validate a change to `job` (a name or id prefix) and compute what the
209
+ * person will be shown. Throws with a message on a refusal. The tool
210
+ * offers `update` only when a host has all three of `previewUpdate`,
211
+ * `confirmUpdate` and `update`.
212
+ */
213
+ previewUpdate?(job: string, changes: ScheduleJobChanges): Promise<ScheduleJobUpdateProposal>;
214
+ /**
215
+ * Ask the person whether to save the change. Anything but `true` — a
216
+ * thrown error, a closed screen — changes nothing. See `confirm` on
217
+ * `signal`.
218
+ */
219
+ confirmUpdate?(request: ScheduleUpdateRequest, signal?: AbortSignal): Promise<boolean>;
220
+ /**
221
+ * Save the change the person confirmed, to the same job: its id and its
222
+ * history are kept, and the confirmation is the person's. `note` as for
223
+ * `create`.
224
+ */
225
+ update?(preview: ScheduleJobPreview): Promise<{
226
+ readonly name: string;
227
+ readonly note?: string;
228
+ }>;
161
229
  }
162
230
  /** A prompt the session re-sends to itself on an interval. */
163
231
  export interface SessionLoop {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/schedules/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/schedules/types.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,19 @@ export type AuthorizationRule = {
116
116
  */
117
117
  description: string;
118
118
  decide: AuthorizationPredicate;
119
+ /**
120
+ * The reason for THIS call, when `decide` returned a decision: what
121
+ * in the input matched, and where. The gate reports it instead of
122
+ * {@link description}. Absent, returning `null` or throwing, the
123
+ * gate reports `description`.
124
+ *
125
+ * A rule that refuses on several grounds and reports one fixed
126
+ * sentence leaves the model, and the person reading the refusal,
127
+ * to guess which ground it was. A scheduled run's refusal listed
128
+ * everything the rule protects when one word of the command had
129
+ * matched.
130
+ */
131
+ describe?: (call: AuthorizationPredicateCall) => string | null;
119
132
  };
120
133
  /** The call an `AuthorizationRule` of type `predicate` is asked about. */
121
134
  export interface AuthorizationPredicateCall {
@@ -219,14 +232,17 @@ export declare const AuthorizationRuleSchema: z.ZodDiscriminatedUnion<"type", [z
219
232
  type: z.ZodLiteral<"predicate">;
220
233
  description: z.ZodString;
221
234
  decide: z.ZodType<AuthorizationPredicate, z.ZodTypeDef, AuthorizationPredicate>;
235
+ describe: z.ZodOptional<z.ZodType<(call: AuthorizationPredicateCall) => string | null, z.ZodTypeDef, (call: AuthorizationPredicateCall) => string | null>>;
222
236
  }, "strip", z.ZodTypeAny, {
223
237
  type: "predicate";
224
238
  description: string;
225
239
  decide: AuthorizationPredicate;
240
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
226
241
  }, {
227
242
  type: "predicate";
228
243
  description: string;
229
244
  decide: AuthorizationPredicate;
245
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
230
246
  }>]>;
231
247
  export declare const AuthorizationGateConfigSchema: z.ZodObject<{
232
248
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -318,14 +334,17 @@ export declare const AuthorizationGateConfigSchema: z.ZodObject<{
318
334
  type: z.ZodLiteral<"predicate">;
319
335
  description: z.ZodString;
320
336
  decide: z.ZodType<AuthorizationPredicate, z.ZodTypeDef, AuthorizationPredicate>;
337
+ describe: z.ZodOptional<z.ZodType<(call: AuthorizationPredicateCall) => string | null, z.ZodTypeDef, (call: AuthorizationPredicateCall) => string | null>>;
321
338
  }, "strip", z.ZodTypeAny, {
322
339
  type: "predicate";
323
340
  description: string;
324
341
  decide: AuthorizationPredicate;
342
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
325
343
  }, {
326
344
  type: "predicate";
327
345
  description: string;
328
346
  decide: AuthorizationPredicate;
347
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
329
348
  }>]>, "many">>;
330
349
  allowReadOnlyTools: z.ZodDefault<z.ZodBoolean>;
331
350
  /**
@@ -373,6 +392,7 @@ export declare const AuthorizationGateConfigSchema: z.ZodObject<{
373
392
  type: "predicate";
374
393
  description: string;
375
394
  decide: AuthorizationPredicate;
395
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
376
396
  })[];
377
397
  allowReadOnlyTools: boolean;
378
398
  denyDangerousPatterns: boolean;
@@ -412,6 +432,7 @@ export declare const AuthorizationGateConfigSchema: z.ZodObject<{
412
432
  type: "predicate";
413
433
  description: string;
414
434
  decide: AuthorizationPredicate;
435
+ describe?: ((call: AuthorizationPredicateCall) => string | null) | undefined;
415
436
  })[] | undefined;
416
437
  allowReadOnlyTools?: boolean | undefined;
417
438
  allowReadOnlyExcludeCategories?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/authorization/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/authorization/index.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,11 @@ const PredicateSchema = z.object({
50
50
  decide: z.custom((value) => typeof value === 'function', {
51
51
  message: 'decide must be a function',
52
52
  }),
53
+ // Named here so the gate's own parse keeps it: zod strips what a schema
54
+ // does not name.
55
+ describe: z
56
+ .custom((value) => typeof value === 'function', { message: 'describe must be a function' })
57
+ .optional(),
53
58
  });
54
59
  export const AuthorizationRuleSchema = z.discriminatedUnion('type', [
55
60
  AllowReadOnlySchema,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/authorization/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/authorization/index.ts"],"names":[],"mappings":"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"}