@dench.com/cli 3.6.6-staging.386 → 3.8.0-staging.389

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.
@@ -137,6 +137,190 @@ function local(reason: string): LocalOnlyOperation {
137
137
  }
138
138
 
139
139
  const rawApiOperations = [
140
+ op({
141
+ id: "environments.list",
142
+ group: "environments",
143
+ summary:
144
+ "List workspace-shared reusable setups and ready revisions (metadata only).",
145
+ cli: "dench env list",
146
+ method: "GET",
147
+ path: "/environments",
148
+ requestSchema: z
149
+ .object({
150
+ limit: z.number().int().min(1).max(100).optional(),
151
+ cursor: z.string().optional(),
152
+ })
153
+ .strict(),
154
+ responseSchema: anyResponse,
155
+ backend: convex("query", "functions/environments:list"),
156
+ }),
157
+ op({
158
+ id: "environments.get",
159
+ group: "environments",
160
+ summary:
161
+ "Inspect a saved setup, its manifest, and an optional immutable revision.",
162
+ cli: "dench env show",
163
+ method: "GET",
164
+ path: "/environments/{name}",
165
+ requestSchema: z
166
+ .object({
167
+ name: z.string().regex(/^[a-z][a-z0-9-]{0,63}$/),
168
+ revision: z
169
+ .string()
170
+ .regex(/^[a-f0-9]{64}$/)
171
+ .optional(),
172
+ })
173
+ .strict(),
174
+ responseSchema: anyResponse,
175
+ backend: convex("query", "functions/environments:get"),
176
+ }),
177
+ op({
178
+ id: "environments.upload",
179
+ group: "environments",
180
+ summary:
181
+ "Reserve an owner-bound source upload. Prefix the uploaded bytes with the returned proof before saving.",
182
+ cli: "dench env save",
183
+ method: "POST",
184
+ path: "/environments/uploads",
185
+ requestSchema: z
186
+ .object({
187
+ kind: z.literal("source"),
188
+ size: z.number().int().min(1).max(16777216),
189
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
190
+ })
191
+ .strict(),
192
+ responseSchema: anyResponse,
193
+ backend: convex("mutation", "functions/environments:requestUpload"),
194
+ }),
195
+ op({
196
+ id: "environments.save",
197
+ group: "environments",
198
+ summary:
199
+ "Publish an explicitly saved source and manifest for one-time preparation. Returns pending/building until verified; does not run the task.",
200
+ cli: "dench env save",
201
+ method: "POST",
202
+ path: "/environments/{name}",
203
+ requestSchema: z
204
+ .object({
205
+ name: z.string().regex(/^[a-z][a-z0-9-]{0,63}$/),
206
+ manifest: z
207
+ .object({
208
+ version: z.literal(1),
209
+ name: z.string(),
210
+ purpose: z.string(),
211
+ files: z.array(z.string()),
212
+ prepare: z.array(z.string()),
213
+ verify: z.array(z.string()),
214
+ env: z.record(z.string(), z.string()).optional(),
215
+ secretEnv: z.record(z.string(), z.string()).optional(),
216
+ secretFiles: z
217
+ .array(
218
+ z.object({
219
+ path: z.string(),
220
+ secret: z.string(),
221
+ mutable: z.boolean().optional(),
222
+ }),
223
+ )
224
+ .optional(),
225
+ statePaths: z.array(z.string()).optional(),
226
+ portable: z.boolean().optional(),
227
+ })
228
+ .strict(),
229
+ uploadId: z.string(),
230
+ storageId: z.string(),
231
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
232
+ })
233
+ .strict(),
234
+ responseSchema: anyResponse,
235
+ backend: convex("action", "functions/environmentsNode:save"),
236
+ }),
237
+ op({
238
+ id: "environments.delete",
239
+ group: "environments",
240
+ summary:
241
+ "Retire a saved setup from new selection; retain immutable revisions and active job evidence.",
242
+ cli: "dench env delete",
243
+ method: "DELETE",
244
+ path: "/environments/{name}",
245
+ requestSchema: z
246
+ .object({ name: z.string().regex(/^[a-z][a-z0-9-]{0,63}$/) })
247
+ .strict(),
248
+ responseSchema: anyResponse,
249
+ backend: convex("mutation", "functions/environments:remove"),
250
+ }),
251
+ op({
252
+ id: "environments.run",
253
+ group: "environments",
254
+ summary:
255
+ "Run a command with prepared dependencies and declared credentials, saving declared state with a revision check.",
256
+ cli: "dench env run",
257
+ method: "POST",
258
+ path: "/local/environments/run",
259
+ requestSchema: noBody,
260
+ responseSchema: anyResponse,
261
+ backend: local(
262
+ "Execution occurs in the CLI process. Use dench env run NAME -- COMMAND; secret-bearing execution resolution is not a general REST read endpoint.",
263
+ ),
264
+ }),
265
+ op({
266
+ id: "secrets.list",
267
+ group: "secrets",
268
+ summary:
269
+ "List workspace-shared credential names, kinds and versions; never values.",
270
+ cli: "dench secrets list",
271
+ method: "GET",
272
+ path: "/secrets",
273
+ requestSchema: z
274
+ .object({
275
+ limit: z.number().int().min(1).max(100).optional(),
276
+ cursor: z.string().optional(),
277
+ })
278
+ .strict(),
279
+ responseSchema: anyResponse,
280
+ backend: convex("query", "functions/workspaceSecrets:list"),
281
+ }),
282
+ op({
283
+ id: "secrets.set",
284
+ group: "secrets",
285
+ summary:
286
+ "Encrypt a workspace credential. Use CLI stdin or the secure chat form; return metadata only. Do not put values in chat, manifests or scripts.",
287
+ cli: "dench secrets set",
288
+ method: "PUT",
289
+ path: "/secrets/{name}",
290
+ requestSchema: z
291
+ .object({
292
+ name: z.string().regex(/^[A-Z][A-Z0-9_]{0,127}$/),
293
+ kind: z.enum(["env", "file"]),
294
+ value: z.string().min(1).max(65536),
295
+ expectedVersion: z.number().int().nonnegative().optional(),
296
+ })
297
+ .strict(),
298
+ responseSchema: z.object({
299
+ name: z.string(),
300
+ kind: z.enum(["env", "file"]),
301
+ version: z.number(),
302
+ revision: z.number(),
303
+ status: z.literal("stored"),
304
+ }),
305
+ backend: convex("action", "functions/workspaceSecretsNode:set"),
306
+ }),
307
+ op({
308
+ id: "secrets.delete",
309
+ group: "secrets",
310
+ summary:
311
+ "Revoke a workspace credential for future resolution, optionally checking its version.",
312
+ cli: "dench secrets delete",
313
+ method: "DELETE",
314
+ path: "/secrets/{name}",
315
+ requestSchema: z
316
+ .object({
317
+ name: z.string().regex(/^[A-Z][A-Z0-9_]{0,127}$/),
318
+ expectedVersion: z.number().int().nonnegative().optional(),
319
+ })
320
+ .strict(),
321
+ responseSchema: anyResponse,
322
+ backend: convex("mutation", "functions/workspaceSecrets:remove"),
323
+ }),
140
324
  op({
141
325
  id: "campaigns.drafts.create",
142
326
  group: "campaigns",
@@ -974,6 +1158,18 @@ const rawApiOperations = [
974
1158
  responseSchema: anyResponse,
975
1159
  backend: convex("query", "functions/crm/objects:list"),
976
1160
  }),
1161
+ op({
1162
+ id: "crm.objects.listCompact",
1163
+ group: "crm",
1164
+ summary:
1165
+ "List names, display labels, visibility and workspace counts without internal state.",
1166
+ cli: "dench crm objects list --compact",
1167
+ method: "GET",
1168
+ path: "/crm/catalog/objects",
1169
+ requestSchema: anyObject,
1170
+ responseSchema: anyResponse,
1171
+ backend: convex("query", "functions/crm/objects:listCompact"),
1172
+ }),
977
1173
  op({
978
1174
  id: "crm.objects.get",
979
1175
  group: "crm",
@@ -1259,6 +1455,18 @@ const rawApiOperations = [
1259
1455
  responseSchema: anyResponse,
1260
1456
  backend: convex("query", "functions/crm/fields:list"),
1261
1457
  }),
1458
+ op({
1459
+ id: "crm.fields.listCompact",
1460
+ group: "crm",
1461
+ summary:
1462
+ "List field names, types and effective constraints without indexing or enrichment internals.",
1463
+ cli: "dench crm fields list --compact",
1464
+ method: "GET",
1465
+ path: "/crm/catalog/objects/{objectName}/fields",
1466
+ requestSchema: anyObject,
1467
+ responseSchema: anyResponse,
1468
+ backend: convex("query", "functions/crm/fields:listCompact"),
1469
+ }),
1262
1470
  op({
1263
1471
  id: "crm.fields.create",
1264
1472
  group: "crm",
@@ -2306,6 +2514,18 @@ const rawApiOperations = [
2306
2514
  responseSchema: anyResponse,
2307
2515
  backend: convex("query", "functions/crm/query:search"),
2308
2516
  }),
2517
+ op({
2518
+ id: "crm.search.page",
2519
+ group: "crm",
2520
+ summary:
2521
+ "Search bounded pages of readable CRM entries, optionally projecting cells. Always follow continueCursor until isDone.",
2522
+ cli: "dench crm search --page",
2523
+ method: "GET",
2524
+ path: "/crm/search/page",
2525
+ requestSchema: anyObject,
2526
+ responseSchema: anyResponse,
2527
+ backend: convex("query", "functions/crm/query:searchPage"),
2528
+ }),
2309
2529
  op({
2310
2530
  id: "crm.statuses.list",
2311
2531
  group: "crm",
@@ -3347,6 +3567,42 @@ const rawApiOperations = [
3347
3567
  responseSchema: anyResponse,
3348
3568
  backend: convex("mutation", "functions/emailCampaigns:deleteIdentity"),
3349
3569
  }),
3570
+ op({
3571
+ id: "email.inbox.search",
3572
+ group: "email",
3573
+ summary:
3574
+ "Search authorized synced mailbox headers with bounded cursor pagination. isDone covers stored records, not provider completeness.",
3575
+ cli: "dench email inbox search",
3576
+ method: "GET",
3577
+ path: "/email/inbox/search",
3578
+ requestSchema: anyObject,
3579
+ responseSchema: anyResponse,
3580
+ backend: convex("query", "functions/emailInbox:search"),
3581
+ }),
3582
+ op({
3583
+ id: "email.inbox.thread",
3584
+ group: "email",
3585
+ summary:
3586
+ "Read a bounded page of synced headers using an exact thread handle from inbox search; bodies remain on demand.",
3587
+ cli: "dench email inbox thread",
3588
+ method: "GET",
3589
+ path: "/email/inbox/threads/{threadHandle}",
3590
+ requestSchema: anyObject,
3591
+ responseSchema: anyResponse,
3592
+ backend: convex("query", "functions/emailInbox:thread"),
3593
+ }),
3594
+ op({
3595
+ id: "email.inbox.message",
3596
+ group: "email",
3597
+ summary:
3598
+ "Read a bounded stored body using an exact message handle from inbox search; rechecks mailbox and record privacy.",
3599
+ cli: "dench email inbox message",
3600
+ method: "GET",
3601
+ path: "/email/inbox/messages/{messageHandle}",
3602
+ requestSchema: anyObject,
3603
+ responseSchema: anyResponse,
3604
+ backend: convex("query", "functions/emailInbox:message"),
3605
+ }),
3350
3606
  op({
3351
3607
  id: "email.drafts.create",
3352
3608
  group: "email",
@@ -3434,7 +3690,7 @@ const rawApiOperations = [
3434
3690
  group: "email",
3435
3691
  summary:
3436
3692
  "Send through a native Gmail or Outlook mailbox with a durable request receipt. Only use for an explicit send request.",
3437
- cli: "dench email send --mailbox",
3693
+ cli: "dench email send [--mailbox <id/email>]",
3438
3694
  method: "POST",
3439
3695
  path: "/email/native/send",
3440
3696
  requestSchema: anyObject,
@@ -3449,7 +3705,7 @@ const rawApiOperations = [
3449
3705
  group: "email",
3450
3706
  summary:
3451
3707
  "Send one raw email (no campaign): to/cc/bcc, custom from-name and reply-to, optional reply threading via replyToMessageId.",
3452
- cli: "dench email send",
3708
+ cli: "dench email send --from <verified-email>",
3453
3709
  method: "POST",
3454
3710
  path: "/email/send",
3455
3711
  requestSchema: anyObject,
@@ -5062,7 +5318,8 @@ const rawApiOperations = [
5062
5318
  id: "agentConfig.identity.show",
5063
5319
  group: "agent-config",
5064
5320
  summary: "Read IDENTITY.md.",
5065
- cli: "dench identity show",
5321
+ cli: "dench context --sections identity",
5322
+ aliases: ["dench identity show"],
5066
5323
  method: "GET",
5067
5324
  path: "/agent-config/identity",
5068
5325
  requestSchema: noBody,
@@ -5073,7 +5330,8 @@ const rawApiOperations = [
5073
5330
  id: "agentConfig.identity.edit",
5074
5331
  group: "agent-config",
5075
5332
  summary: "Update IDENTITY.md.",
5076
- cli: "dench identity edit",
5333
+ cli: "dench context set identity",
5334
+ aliases: ["dench identity edit"],
5077
5335
  method: "PUT",
5078
5336
  path: "/agent-config/identity",
5079
5337
  requestSchema: anyObject,
@@ -5084,7 +5342,8 @@ const rawApiOperations = [
5084
5342
  id: "agentConfig.organisation.show",
5085
5343
  group: "agent-config",
5086
5344
  summary: "Read ORGANISATION.md.",
5087
- cli: "dench organisation show",
5345
+ cli: "dench context --sections organisation",
5346
+ aliases: ["dench organisation show"],
5088
5347
  method: "GET",
5089
5348
  path: "/agent-config/organisation",
5090
5349
  requestSchema: noBody,
@@ -5095,7 +5354,8 @@ const rawApiOperations = [
5095
5354
  id: "agentConfig.organisation.edit",
5096
5355
  group: "agent-config",
5097
5356
  summary: "Update ORGANISATION.md.",
5098
- cli: "dench organisation edit",
5357
+ cli: "dench context set organisation",
5358
+ aliases: ["dench organisation edit"],
5099
5359
  method: "PUT",
5100
5360
  path: "/agent-config/organisation",
5101
5361
  requestSchema: anyObject,
@@ -5106,7 +5366,8 @@ const rawApiOperations = [
5106
5366
  id: "agentConfig.user.show",
5107
5367
  group: "agent-config",
5108
5368
  summary: "Read USER.md.",
5109
- cli: "dench user show",
5369
+ cli: "dench context --sections user",
5370
+ aliases: ["dench user show"],
5110
5371
  method: "GET",
5111
5372
  path: "/agent-config/user",
5112
5373
  requestSchema: noBody,
@@ -5117,7 +5378,8 @@ const rawApiOperations = [
5117
5378
  id: "agentConfig.user.edit",
5118
5379
  group: "agent-config",
5119
5380
  summary: "Update USER.md.",
5120
- cli: "dench user edit",
5381
+ cli: "dench context set user",
5382
+ aliases: ["dench user edit"],
5121
5383
  method: "PUT",
5122
5384
  path: "/agent-config/user",
5123
5385
  requestSchema: anyObject,
@@ -5128,7 +5390,8 @@ const rawApiOperations = [
5128
5390
  id: "agentConfig.tools.show",
5129
5391
  group: "agent-config",
5130
5392
  summary: "Read tool notes.",
5131
- cli: "dench tools show",
5393
+ cli: "dench context --sections tools",
5394
+ aliases: ["dench tools show"],
5132
5395
  method: "GET",
5133
5396
  path: "/agent-config/tools",
5134
5397
  requestSchema: noBody,
@@ -5139,15 +5402,32 @@ const rawApiOperations = [
5139
5402
  id: "agentConfig.tools.edit",
5140
5403
  group: "agent-config",
5141
5404
  summary: "Update tool notes.",
5142
- cli: "dench tools notes-edit",
5405
+ cli: "dench context set tools",
5406
+ aliases: ["dench tools edit"],
5143
5407
  method: "PUT",
5144
5408
  path: "/agent-config/tools",
5145
5409
  requestSchema: anyObject,
5146
5410
  responseSchema: anyResponse,
5147
5411
  backend: convex("mutation", "functions/agentConfig:updateToolsNotes"),
5148
5412
  }),
5413
+ op({
5414
+ id: "workspace.context.rules.set",
5415
+ group: "workspace",
5416
+ summary:
5417
+ "Update standing workspace rules; credentials belong in secrets and runnable setup in environments.",
5418
+ cli: "dench context set rules",
5419
+ method: "PUT",
5420
+ path: "/context/rules",
5421
+ requestSchema: z.object({ content: z.string().min(1).max(32000) }).strict(),
5422
+ responseSchema: anyResponse,
5423
+ backend: {
5424
+ ...convex("mutation", "functions/agentConfig:writeMagicFileFromUI"),
5425
+ fixedArgs: { path: "/RULES.md" },
5426
+ },
5427
+ }),
5149
5428
  op({
5150
5429
  id: "agentConfig.mem.show",
5430
+ deprecated: true,
5151
5431
  group: "agent-config",
5152
5432
  summary: "Read aggregate memory.",
5153
5433
  cli: "dench mem show",
@@ -5159,6 +5439,7 @@ const rawApiOperations = [
5159
5439
  }),
5160
5440
  op({
5161
5441
  id: "agentConfig.mem.edit",
5442
+ deprecated: true,
5162
5443
  group: "agent-config",
5163
5444
  summary: "Update aggregate memory.",
5164
5445
  cli: "dench mem set",
@@ -5170,6 +5451,7 @@ const rawApiOperations = [
5170
5451
  }),
5171
5452
  op({
5172
5453
  id: "agentConfig.bootstrap.show",
5454
+ deprecated: true,
5173
5455
  group: "agent-config",
5174
5456
  summary: "Read bootstrap state.",
5175
5457
  cli: "dench bootstrap status",
@@ -5181,6 +5463,7 @@ const rawApiOperations = [
5181
5463
  }),
5182
5464
  op({
5183
5465
  id: "agentConfig.bootstrap.complete",
5466
+ deprecated: true,
5184
5467
  group: "agent-config",
5185
5468
  summary: "Complete bootstrap.",
5186
5469
  cli: "dench bootstrap complete",
@@ -5192,6 +5475,7 @@ const rawApiOperations = [
5192
5475
  }),
5193
5476
  op({
5194
5477
  id: "agentConfig.bootstrap.template",
5478
+ deprecated: true,
5195
5479
  group: "agent-config",
5196
5480
  summary: "Update bootstrap template.",
5197
5481
  cli: "dench bootstrap template",
@@ -5228,6 +5512,7 @@ const rawApiOperations = [
5228
5512
  }),
5229
5513
  op({
5230
5514
  id: "agentConfig.daily.today",
5515
+ deprecated: true,
5231
5516
  group: "agent-config",
5232
5517
  summary: "Read today's daily activity path.",
5233
5518
  cli: "dench daily today",
@@ -5239,6 +5524,7 @@ const rawApiOperations = [
5239
5524
  }),
5240
5525
  op({
5241
5526
  id: "agentConfig.daily.show",
5527
+ deprecated: true,
5242
5528
  group: "agent-config",
5243
5529
  summary: "Read a daily activity path.",
5244
5530
  cli: "dench daily show",