@impetik/xeer-mcp 0.2.5 → 0.2.7

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 (54) hide show
  1. package/README.md +4 -1
  2. package/dist/dev-session.d.ts +1 -1
  3. package/dist/network-policy.js +1 -1
  4. package/dist/server.d.ts +1 -1
  5. package/dist/server.js +4 -4
  6. package/dist/test-run.d.ts +1 -1
  7. package/dist/xeer-cli.d.ts +1 -1
  8. package/package.json +8 -5
  9. package/vendor/spec/actions.d.ts +1250 -0
  10. package/vendor/spec/actions.js +805 -0
  11. package/vendor/spec/admin-sql.d.ts +59 -0
  12. package/vendor/spec/admin-sql.js +147 -0
  13. package/vendor/spec/admin.d.ts +110 -0
  14. package/vendor/spec/admin.js +58 -0
  15. package/vendor/spec/canonical.d.ts +3 -0
  16. package/vendor/spec/canonical.js +36 -0
  17. package/vendor/spec/diagnostics.d.ts +49 -0
  18. package/vendor/spec/diagnostics.js +500 -0
  19. package/vendor/spec/docs.d.ts +21 -0
  20. package/vendor/spec/docs.js +57 -0
  21. package/vendor/spec/events.d.ts +8 -0
  22. package/vendor/spec/events.js +21 -0
  23. package/vendor/spec/identity-keys.d.ts +36 -0
  24. package/vendor/spec/identity-keys.js +72 -0
  25. package/vendor/spec/index.d.ts +20 -0
  26. package/vendor/spec/index.js +20 -0
  27. package/vendor/spec/local-identity.d.ts +69 -0
  28. package/vendor/spec/local-identity.js +132 -0
  29. package/vendor/spec/network-policy.d.ts +16 -0
  30. package/vendor/spec/network-policy.js +50 -0
  31. package/vendor/spec/public-assets.d.ts +153 -0
  32. package/vendor/spec/public-assets.js +166 -0
  33. package/vendor/spec/review.d.ts +120 -0
  34. package/vendor/spec/review.js +226 -0
  35. package/vendor/spec/route.d.ts +43 -0
  36. package/vendor/spec/route.js +87 -0
  37. package/vendor/spec/schema-lifecycle.d.ts +27 -0
  38. package/vendor/spec/schema-lifecycle.js +146 -0
  39. package/vendor/spec/schema-plan.d.ts +98 -0
  40. package/vendor/spec/schema-plan.js +194 -0
  41. package/vendor/spec/schema.d.ts +166 -0
  42. package/vendor/spec/schema.js +409 -0
  43. package/vendor/spec/sql-expression.d.ts +91 -0
  44. package/vendor/spec/sql-expression.js +650 -0
  45. package/vendor/spec/state-export.d.ts +143 -0
  46. package/vendor/spec/state-export.js +341 -0
  47. package/vendor/spec/storage.d.ts +61 -0
  48. package/vendor/spec/storage.js +120 -0
  49. package/vendor/spec/table-ddl.d.ts +162 -0
  50. package/vendor/spec/table-ddl.js +508 -0
  51. package/vendor/spec/types.d.ts +275 -0
  52. package/vendor/spec/types.js +11 -0
  53. package/vendor/spec/value.d.ts +22 -0
  54. package/vendor/spec/value.js +72 -0
@@ -0,0 +1,1250 @@
1
+ export declare const ACTION_REGISTRY_PROTOCOL: "xeer.actions.v0";
2
+ export type ActionEffect = 'read-source' | 'write-source' | 'write-file' | 'write-generated' | 'run-local' | 'read-state' | 'write-state' | 'network-read' | 'network-write' | 'production-change' | 'secret-metadata' | 'secret-read' | 'secret-write';
3
+ export type ActionPathPolicy = 'project-relative' | 'url' | 'app-or-url' | 'project-or-url' | 'none';
4
+ export declare const XEER_MCP_PROFILES: readonly ["author", "operator"];
5
+ export type XeerMcpProfile = (typeof XEER_MCP_PROFILES)[number];
6
+ export declare const XEER_ARTIFACT_ID_PATTERN: "^sha256:[a-f0-9]{64}$";
7
+ export declare const MCP_INPUT_SCHEMA_DRAFT: "http://json-schema.org/draft-07/schema#";
8
+ interface McpInputPropertyBase {
9
+ readonly description?: string;
10
+ }
11
+ export type McpInputPropertyDefinition = McpInputPropertyBase & ({
12
+ readonly type: 'string';
13
+ readonly enum?: readonly string[];
14
+ readonly default?: string;
15
+ readonly minLength?: number;
16
+ readonly maxLength?: number;
17
+ readonly pattern?: string;
18
+ readonly minimum?: never;
19
+ readonly maximum?: never;
20
+ } | {
21
+ readonly type: 'integer' | 'number';
22
+ readonly enum?: never;
23
+ readonly default?: number;
24
+ readonly minimum?: number;
25
+ readonly maximum?: number;
26
+ readonly minLength?: never;
27
+ readonly maxLength?: never;
28
+ readonly pattern?: never;
29
+ } | {
30
+ readonly type: 'boolean';
31
+ readonly enum?: never;
32
+ readonly default?: boolean;
33
+ readonly minimum?: never;
34
+ readonly maximum?: never;
35
+ readonly minLength?: never;
36
+ readonly maxLength?: never;
37
+ readonly pattern?: never;
38
+ });
39
+ export interface McpInputSchemaDefinition {
40
+ readonly type: 'object';
41
+ readonly properties: Readonly<Record<string, McpInputPropertyDefinition>>;
42
+ readonly required?: readonly string[];
43
+ }
44
+ export interface XeerActionDefinition {
45
+ readonly id: string;
46
+ /** Canonical positional dispatch tokens, without the `xeer` executable. */
47
+ readonly command: readonly string[];
48
+ readonly aliases?: readonly (readonly string[])[];
49
+ readonly summary: string;
50
+ /** Help syntax without the `xeer ` prefix. May contain `{{templates}}`. */
51
+ readonly usage: readonly string[];
52
+ readonly hiddenFromHelp?: boolean;
53
+ readonly helpOrder?: number;
54
+ readonly outputProtocol: string;
55
+ readonly effects: readonly ActionEffect[];
56
+ readonly idempotent: boolean;
57
+ readonly reversible: boolean;
58
+ readonly destructive: boolean;
59
+ readonly humanPrerequisites: readonly string[];
60
+ readonly pathPolicy: ActionPathPolicy;
61
+ readonly surfaces: {
62
+ readonly cli: boolean;
63
+ readonly mcpTool?: string;
64
+ readonly mcpTitle?: string;
65
+ readonly mcpDescription?: string;
66
+ /** Server profiles that expose this tool. Required with mcpTool. */
67
+ readonly mcpProfiles?: readonly XeerMcpProfile[];
68
+ /** Exact reusable input contract projected by MCP listTools. Required with mcpTool. */
69
+ readonly mcpInputSchema?: McpInputSchemaDefinition;
70
+ /** Why this action is intentionally absent from MCP. Required when there is no tool. */
71
+ readonly mcpExclusion?: string;
72
+ };
73
+ }
74
+ export interface XeerCliOptionDefinition {
75
+ readonly name: string;
76
+ readonly takesValue: boolean;
77
+ }
78
+ export interface McpActionAnnotations {
79
+ readonly readOnlyHint: boolean;
80
+ readonly destructiveHint: boolean;
81
+ readonly idempotentHint: boolean;
82
+ readonly openWorldHint: boolean;
83
+ }
84
+ export interface McpInputJsonSchema extends McpInputSchemaDefinition {
85
+ readonly $schema: typeof MCP_INPUT_SCHEMA_DRAFT;
86
+ }
87
+ declare const actions: readonly [{
88
+ readonly id: "check";
89
+ readonly command: readonly ["check"];
90
+ readonly summary: "Validate a project and report structured diagnostics.";
91
+ readonly usage: readonly ["check [directory] [--json]"];
92
+ readonly helpOrder: 10;
93
+ readonly outputProtocol: "xeer.command.v0";
94
+ readonly effects: readonly ["read-source", "write-generated"];
95
+ readonly idempotent: true;
96
+ readonly reversible: true;
97
+ readonly destructive: false;
98
+ readonly humanPrerequisites: readonly [];
99
+ readonly pathPolicy: "project-relative";
100
+ readonly surfaces: {
101
+ readonly mcpInputSchema: {
102
+ readonly type: "object";
103
+ readonly properties: {
104
+ readonly directory: {
105
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
106
+ readonly type: "string";
107
+ };
108
+ };
109
+ };
110
+ readonly mcpTitle: "Check a Xeer project";
111
+ readonly mcpDescription: string;
112
+ readonly cli: true;
113
+ readonly mcpTool: "xeer_check";
114
+ readonly mcpProfiles: readonly ["author", "operator"];
115
+ };
116
+ }, {
117
+ readonly id: "build";
118
+ readonly command: readonly ["build"];
119
+ readonly summary: "Build and verify a content-addressed application artifact.";
120
+ readonly usage: readonly ["build [directory] [--json]"];
121
+ readonly helpOrder: 40;
122
+ readonly outputProtocol: "xeer.command.v0";
123
+ readonly effects: readonly ["read-source", "write-generated", "run-local"];
124
+ readonly idempotent: true;
125
+ readonly reversible: true;
126
+ readonly destructive: false;
127
+ readonly humanPrerequisites: readonly [];
128
+ readonly pathPolicy: "project-relative";
129
+ readonly surfaces: {
130
+ readonly mcpInputSchema: {
131
+ readonly type: "object";
132
+ readonly properties: {
133
+ readonly directory: {
134
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
135
+ readonly type: "string";
136
+ };
137
+ };
138
+ };
139
+ readonly mcpTitle: "Build a Xeer project";
140
+ readonly mcpDescription: string;
141
+ readonly cli: true;
142
+ readonly mcpTool: "xeer_build";
143
+ readonly mcpProfiles: readonly ["author", "operator"];
144
+ };
145
+ }, {
146
+ readonly id: "test";
147
+ readonly command: readonly ["test"];
148
+ readonly summary: "Run application tests against fresh isolated local state.";
149
+ readonly usage: readonly ["test [directory] [--host <host>] [--json]"];
150
+ readonly helpOrder: 250;
151
+ readonly outputProtocol: "xeer.dev.v0";
152
+ readonly effects: readonly ["read-source", "write-generated", "run-local", "write-state"];
153
+ readonly idempotent: true;
154
+ readonly reversible: true;
155
+ readonly destructive: false;
156
+ readonly humanPrerequisites: readonly [];
157
+ readonly pathPolicy: "project-relative";
158
+ readonly surfaces: {
159
+ readonly mcpInputSchema: {
160
+ readonly type: "object";
161
+ readonly properties: {
162
+ readonly directory: {
163
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
164
+ readonly type: "string";
165
+ };
166
+ readonly timeoutMilliseconds: {
167
+ readonly type: "integer";
168
+ readonly minimum: 1000;
169
+ readonly maximum: 1800000;
170
+ };
171
+ };
172
+ };
173
+ readonly mcpTitle: "Run a Xeer project's tests";
174
+ readonly mcpDescription: string;
175
+ readonly cli: true;
176
+ readonly mcpTool: "xeer_test";
177
+ readonly mcpProfiles: readonly ["author", "operator"];
178
+ };
179
+ }, {
180
+ readonly id: "new";
181
+ readonly command: readonly ["new"];
182
+ readonly summary: "Create a new project from a supported scaffold.";
183
+ readonly usage: readonly ["new <directory> [--template {{templates}}] [--json]"];
184
+ readonly helpOrder: 30;
185
+ readonly outputProtocol: "xeer.command.v0";
186
+ readonly effects: readonly ["write-source"];
187
+ readonly idempotent: false;
188
+ readonly reversible: true;
189
+ readonly destructive: false;
190
+ readonly humanPrerequisites: readonly [];
191
+ readonly pathPolicy: "project-relative";
192
+ readonly surfaces: {
193
+ readonly mcpInputSchema: {
194
+ readonly type: "object";
195
+ readonly properties: {
196
+ readonly directory: {
197
+ readonly type: "string";
198
+ readonly description: "Target directory, relative to the server root. Must be empty or absent.";
199
+ };
200
+ readonly template: {
201
+ readonly description: "Which scaffold to write. Defaults to notes.";
202
+ readonly type: "string";
203
+ readonly enum: readonly ["notes", "todo", "blog", "personal-site"];
204
+ };
205
+ };
206
+ readonly required: readonly ["directory"];
207
+ };
208
+ readonly mcpTitle: "Scaffold a Xeer project";
209
+ readonly mcpDescription: string;
210
+ readonly cli: true;
211
+ readonly mcpTool: "xeer_new";
212
+ readonly mcpProfiles: readonly ["author", "operator"];
213
+ };
214
+ }, {
215
+ readonly id: "agent.setup";
216
+ readonly command: readonly ["agent", "setup"];
217
+ readonly summary: "Install or verify project-confined agent adapters.";
218
+ readonly usage: readonly ["agent setup [directory] [--target auto|agents|claude|codex|cursor|vscode|mcp] [--check] [--json]"];
219
+ readonly helpOrder: 35;
220
+ readonly outputProtocol: "xeer.command.v0";
221
+ readonly effects: readonly ["read-source", "write-source"];
222
+ readonly idempotent: true;
223
+ readonly reversible: true;
224
+ readonly destructive: false;
225
+ readonly humanPrerequisites: readonly [];
226
+ readonly pathPolicy: "project-relative";
227
+ readonly surfaces: {
228
+ readonly cli: true;
229
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
230
+ };
231
+ }, {
232
+ readonly id: "agent.context";
233
+ readonly command: readonly ["agent", "context"];
234
+ readonly summary: "Read normalized project facts, operations, diagnostics, tests, and safe next actions.";
235
+ readonly usage: readonly ["agent context [directory] [--json]"];
236
+ readonly helpOrder: 34;
237
+ readonly outputProtocol: "xeer.agent-context.v0";
238
+ readonly effects: readonly ["read-source"];
239
+ readonly idempotent: true;
240
+ readonly reversible: true;
241
+ readonly destructive: false;
242
+ readonly humanPrerequisites: readonly [];
243
+ readonly pathPolicy: "project-relative";
244
+ readonly surfaces: {
245
+ readonly cli: true;
246
+ readonly mcpTool: "xeer_agent_context";
247
+ readonly mcpProfiles: readonly ["author", "operator"];
248
+ readonly mcpTitle: "Read normalized Xeer project context";
249
+ readonly mcpDescription: "Read the bounded, deterministic, versioned project context without writing generated files. Returns normalized manifest facts, source zones, operations, diagnostics, tests, safe next actions, resources, and a stable content hash.";
250
+ readonly mcpInputSchema: {
251
+ readonly type: "object";
252
+ readonly properties: {
253
+ readonly directory: {
254
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
255
+ readonly type: "string";
256
+ };
257
+ };
258
+ };
259
+ };
260
+ }, {
261
+ readonly id: "docs.search";
262
+ readonly command: readonly ["docs", "search"];
263
+ readonly summary: "Search the installed-version Xeer documentation index.";
264
+ readonly usage: readonly ["docs search <query> [--limit <n>] [--json]"];
265
+ readonly helpOrder: 36;
266
+ readonly outputProtocol: "xeer.docs-search.v0";
267
+ readonly effects: readonly [];
268
+ readonly idempotent: true;
269
+ readonly reversible: true;
270
+ readonly destructive: false;
271
+ readonly humanPrerequisites: readonly [];
272
+ readonly pathPolicy: "none";
273
+ readonly surfaces: {
274
+ readonly cli: true;
275
+ readonly mcpTool: "xeer_docs_search";
276
+ readonly mcpProfiles: readonly ["author", "operator"];
277
+ readonly mcpTitle: "Search installed Xeer documentation";
278
+ readonly mcpDescription: "Run deterministic lexical search over the compact index bundled with this exact framework version. Returns matching resource URIs and content hashes; read the selected xeer://docs/<path> resource on demand.";
279
+ readonly mcpInputSchema: {
280
+ readonly type: "object";
281
+ readonly properties: {
282
+ readonly query: {
283
+ readonly type: "string";
284
+ readonly minLength: 1;
285
+ readonly maxLength: 500;
286
+ readonly description: "Terms or phrase to search for.";
287
+ };
288
+ readonly limit: {
289
+ readonly type: "integer";
290
+ readonly minimum: 1;
291
+ readonly maximum: 20;
292
+ readonly default: 5;
293
+ readonly description: "Maximum result count.";
294
+ };
295
+ };
296
+ readonly required: readonly ["query"];
297
+ };
298
+ };
299
+ }, {
300
+ readonly id: "doctor";
301
+ readonly command: readonly ["doctor"];
302
+ readonly summary: "Diagnose the toolchain and generated project state.";
303
+ readonly usage: readonly ["doctor [directory] [--json]"];
304
+ readonly helpOrder: 20;
305
+ readonly outputProtocol: "xeer.command.v0";
306
+ readonly effects: readonly ["read-source", "write-generated"];
307
+ readonly idempotent: true;
308
+ readonly reversible: true;
309
+ readonly destructive: false;
310
+ readonly humanPrerequisites: readonly [];
311
+ readonly pathPolicy: "project-relative";
312
+ readonly surfaces: {
313
+ readonly mcpInputSchema: {
314
+ readonly type: "object";
315
+ readonly properties: {
316
+ readonly directory: {
317
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
318
+ readonly type: "string";
319
+ };
320
+ };
321
+ };
322
+ readonly mcpTitle: "Diagnose the Xeer toolchain";
323
+ readonly mcpDescription: string;
324
+ readonly cli: true;
325
+ readonly mcpTool: "xeer_doctor";
326
+ readonly mcpProfiles: readonly ["author", "operator"];
327
+ };
328
+ }, {
329
+ readonly id: "deploy";
330
+ readonly command: readonly ["deploy"];
331
+ readonly summary: "Build and deploy an application artifact.";
332
+ readonly usage: readonly ["deploy [directory] [--environment prod|preview] [--control-url <url>] [--json]"];
333
+ readonly helpOrder: 50;
334
+ readonly outputProtocol: "xeer.command.v0";
335
+ readonly effects: readonly ["read-source", "write-generated", "run-local", "network-read", "network-write", "production-change"];
336
+ readonly idempotent: false;
337
+ readonly reversible: true;
338
+ readonly destructive: false;
339
+ readonly humanPrerequisites: readonly ["A human must establish the builder credential with xeer auth login."];
340
+ readonly pathPolicy: "project-relative";
341
+ readonly surfaces: {
342
+ readonly cli: true;
343
+ readonly mcpExclusion: "MCP exposes a separate preview-only deploy action; direct production deploy stays CLI-only.";
344
+ };
345
+ }, {
346
+ readonly id: "promote";
347
+ readonly command: readonly ["promote"];
348
+ readonly summary: "Promote a preview artifact to production.";
349
+ readonly usage: readonly [string];
350
+ readonly helpOrder: 80;
351
+ readonly outputProtocol: "xeer.command.v0";
352
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
353
+ readonly idempotent: false;
354
+ readonly reversible: true;
355
+ readonly destructive: false;
356
+ readonly humanPrerequisites: readonly ["The preview artifact must be reviewed before production promotion."];
357
+ readonly pathPolicy: "project-or-url";
358
+ readonly surfaces: {
359
+ readonly cli: true;
360
+ readonly mcpExclusion: "MCP promotion is a separate action available only when the server starts in operator profile.";
361
+ };
362
+ }, {
363
+ readonly id: "deploy.preview";
364
+ readonly command: readonly ["deploy"];
365
+ readonly summary: "Build and deploy an artifact to preview only.";
366
+ readonly usage: readonly [];
367
+ readonly outputProtocol: "xeer.command.v0";
368
+ readonly effects: readonly ["read-source", "write-generated", "run-local", "network-read", "network-write"];
369
+ readonly idempotent: false;
370
+ readonly reversible: true;
371
+ readonly destructive: false;
372
+ readonly humanPrerequisites: readonly ["A human must establish the builder credential with xeer auth login."];
373
+ readonly pathPolicy: "project-relative";
374
+ readonly surfaces: {
375
+ readonly mcpInputSchema: {
376
+ readonly type: "object";
377
+ readonly properties: {
378
+ readonly directory: {
379
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
380
+ readonly type: "string";
381
+ };
382
+ readonly controlUrl: {
383
+ readonly description: string;
384
+ readonly type: "string";
385
+ };
386
+ };
387
+ };
388
+ readonly mcpTitle: "Deploy a Xeer preview";
389
+ readonly mcpDescription: string;
390
+ readonly cli: false;
391
+ readonly mcpTool: "xeer_deploy_preview";
392
+ readonly mcpProfiles: readonly ["author", "operator"];
393
+ };
394
+ }, {
395
+ readonly id: "promote.operator";
396
+ readonly command: readonly ["promote"];
397
+ readonly summary: "Promote an exact review receipt in operator mode.";
398
+ readonly usage: readonly [];
399
+ readonly outputProtocol: "xeer.command.v0";
400
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
401
+ readonly idempotent: false;
402
+ readonly reversible: true;
403
+ readonly destructive: false;
404
+ readonly humanPrerequisites: readonly ["A human must review the exact artifact and start xeer-mcp with XEER_MCP_PROFILE=operator."];
405
+ readonly pathPolicy: "project-or-url";
406
+ readonly surfaces: {
407
+ readonly mcpInputSchema: {
408
+ readonly type: "object";
409
+ readonly properties: {
410
+ readonly directory: {
411
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
412
+ readonly type: "string";
413
+ };
414
+ readonly receiptId: {
415
+ readonly description: "Versioned receipt returned by the exact reviewed preview deployment.";
416
+ readonly type: "string";
417
+ readonly minLength: 19;
418
+ readonly maxLength: 103;
419
+ readonly pattern: "^review_[A-Za-z0-9_-]{12,96}$";
420
+ };
421
+ readonly controlUrl: {
422
+ readonly description: "Allowed control-plane origin override.";
423
+ readonly type: "string";
424
+ };
425
+ };
426
+ readonly required: readonly ["receiptId"];
427
+ };
428
+ readonly mcpTitle: "Promote an exact preview artifact (operator)";
429
+ readonly mcpDescription: string;
430
+ readonly cli: false;
431
+ readonly mcpTool: "xeer_promote";
432
+ readonly mcpProfiles: readonly ["operator"];
433
+ };
434
+ }, {
435
+ readonly id: "auth.status";
436
+ readonly command: readonly ["auth", "status"];
437
+ readonly summary: "Report builder credential metadata.";
438
+ readonly usage: readonly ["auth status [--control-url <url>] [--json]"];
439
+ readonly helpOrder: 180;
440
+ readonly outputProtocol: "xeer.command.v0";
441
+ readonly effects: readonly ["network-read", "secret-metadata"];
442
+ readonly idempotent: true;
443
+ readonly reversible: true;
444
+ readonly destructive: false;
445
+ readonly humanPrerequisites: readonly [];
446
+ readonly pathPolicy: "none";
447
+ readonly surfaces: {
448
+ readonly mcpInputSchema: {
449
+ readonly type: "object";
450
+ readonly properties: {
451
+ readonly controlUrl: {
452
+ readonly description: "Allowed control-plane origin override.";
453
+ readonly type: "string";
454
+ };
455
+ };
456
+ };
457
+ readonly mcpTitle: "Report builder sign-in status";
458
+ readonly mcpDescription: string;
459
+ readonly cli: true;
460
+ readonly mcpTool: "xeer_auth_status";
461
+ readonly mcpProfiles: readonly ["author", "operator"];
462
+ };
463
+ }, {
464
+ readonly id: "inspect";
465
+ readonly command: readonly ["inspect"];
466
+ readonly summary: "Read a running application manifest.";
467
+ readonly usage: readonly ["inspect <local-url|app> [--environment prod|preview] [--control-url <url>] [--json]"];
468
+ readonly helpOrder: 230;
469
+ readonly outputProtocol: "xeer.command.v0";
470
+ readonly effects: readonly ["network-read", "read-state"];
471
+ readonly idempotent: true;
472
+ readonly reversible: true;
473
+ readonly destructive: false;
474
+ readonly humanPrerequisites: readonly [];
475
+ readonly pathPolicy: "app-or-url";
476
+ readonly surfaces: {
477
+ readonly mcpInputSchema: {
478
+ readonly type: "object";
479
+ readonly properties: {
480
+ readonly previewUrl: {
481
+ readonly type: "string";
482
+ readonly description: string;
483
+ };
484
+ readonly view: {
485
+ readonly default: "manifest";
486
+ readonly type: "string";
487
+ readonly enum: readonly ["manifest", "state", "logs", "export"];
488
+ };
489
+ readonly after: {
490
+ readonly description: "Log cursor, for view: \"logs\".";
491
+ readonly type: "string";
492
+ };
493
+ };
494
+ readonly required: readonly ["previewUrl"];
495
+ };
496
+ readonly mcpTitle: "Inspect a running preview";
497
+ readonly mcpDescription: string;
498
+ readonly cli: true;
499
+ readonly mcpTool: "xeer_inspect";
500
+ readonly mcpProfiles: readonly ["author", "operator"];
501
+ };
502
+ }, {
503
+ readonly id: "dev.start";
504
+ readonly command: readonly ["dev"];
505
+ readonly summary: "Start a local development session.";
506
+ readonly usage: readonly ["dev [directory] [--host <host>] [--port <port>] [--json]"];
507
+ readonly helpOrder: 220;
508
+ readonly outputProtocol: "xeer.dev.v0";
509
+ readonly effects: readonly ["read-source", "write-generated", "run-local", "write-state"];
510
+ readonly idempotent: false;
511
+ readonly reversible: true;
512
+ readonly destructive: false;
513
+ readonly humanPrerequisites: readonly [];
514
+ readonly pathPolicy: "project-relative";
515
+ readonly surfaces: {
516
+ readonly mcpInputSchema: {
517
+ readonly type: "object";
518
+ readonly properties: {
519
+ readonly directory: {
520
+ readonly description: "Project directory. Relative paths resolve against the server root; defaults to it.";
521
+ readonly type: "string";
522
+ };
523
+ readonly host: {
524
+ readonly description: "Defaults to 127.0.0.1.";
525
+ readonly type: "string";
526
+ };
527
+ readonly port: {
528
+ readonly description: "Defaults to 0 (OS-assigned).";
529
+ readonly type: "integer";
530
+ readonly minimum: 0;
531
+ readonly maximum: 65535;
532
+ };
533
+ readonly timeoutMilliseconds: {
534
+ readonly type: "integer";
535
+ readonly minimum: 1000;
536
+ readonly maximum: 600000;
537
+ };
538
+ };
539
+ };
540
+ readonly mcpTitle: "Start a dev session";
541
+ readonly mcpDescription: string;
542
+ readonly cli: true;
543
+ readonly mcpTool: "xeer_dev_start";
544
+ readonly mcpProfiles: readonly ["author", "operator"];
545
+ };
546
+ }, {
547
+ readonly id: "dev.status";
548
+ readonly command: readonly ["dev"];
549
+ readonly summary: "Read new events from a local development session.";
550
+ readonly usage: readonly [];
551
+ readonly outputProtocol: "xeer.dev.v0";
552
+ readonly effects: readonly [];
553
+ readonly idempotent: true;
554
+ readonly reversible: true;
555
+ readonly destructive: false;
556
+ readonly humanPrerequisites: readonly [];
557
+ readonly pathPolicy: "none";
558
+ readonly surfaces: {
559
+ readonly mcpInputSchema: {
560
+ readonly type: "object";
561
+ readonly properties: {
562
+ readonly sessionId: {
563
+ readonly description: "Optional when only one session exists.";
564
+ readonly type: "string";
565
+ };
566
+ readonly cursor: {
567
+ readonly default: 0;
568
+ readonly description: "Last seq you have already read.";
569
+ readonly type: "integer";
570
+ readonly minimum: 0;
571
+ readonly maximum: number;
572
+ };
573
+ readonly waitMilliseconds: {
574
+ readonly default: 0;
575
+ readonly description: "Wait up to this long for new events to arrive and settle.";
576
+ readonly type: "integer";
577
+ readonly minimum: 0;
578
+ readonly maximum: 600000;
579
+ };
580
+ readonly limit: {
581
+ readonly default: 200;
582
+ readonly type: "integer";
583
+ readonly minimum: 1;
584
+ readonly maximum: 1000;
585
+ };
586
+ };
587
+ };
588
+ readonly mcpTitle: "Read new dev-session events";
589
+ readonly mcpDescription: string;
590
+ readonly cli: false;
591
+ readonly mcpTool: "xeer_dev_status";
592
+ readonly mcpProfiles: readonly ["author", "operator"];
593
+ };
594
+ }, {
595
+ readonly id: "dev.stop";
596
+ readonly command: readonly ["dev"];
597
+ readonly summary: "Stop a local development session and release its lease.";
598
+ readonly usage: readonly [];
599
+ readonly outputProtocol: "xeer.dev.v0";
600
+ readonly effects: readonly ["run-local"];
601
+ readonly idempotent: true;
602
+ readonly reversible: true;
603
+ readonly destructive: false;
604
+ readonly humanPrerequisites: readonly [];
605
+ readonly pathPolicy: "none";
606
+ readonly surfaces: {
607
+ readonly mcpInputSchema: {
608
+ readonly type: "object";
609
+ readonly properties: {
610
+ readonly sessionId: {
611
+ readonly description: "Optional when only one session exists.";
612
+ readonly type: "string";
613
+ };
614
+ readonly cursor: {
615
+ readonly default: 0;
616
+ readonly type: "integer";
617
+ readonly minimum: 0;
618
+ readonly maximum: number;
619
+ };
620
+ };
621
+ };
622
+ readonly mcpTitle: "Stop a dev session";
623
+ readonly mcpDescription: string;
624
+ readonly cli: false;
625
+ readonly mcpTool: "xeer_dev_stop";
626
+ readonly mcpProfiles: readonly ["author", "operator"];
627
+ };
628
+ }, {
629
+ readonly id: "diagnostics";
630
+ readonly command: readonly [];
631
+ readonly summary: "Read the generated diagnostic catalogue.";
632
+ readonly usage: readonly [];
633
+ readonly outputProtocol: "unversioned";
634
+ readonly effects: readonly [];
635
+ readonly idempotent: true;
636
+ readonly reversible: true;
637
+ readonly destructive: false;
638
+ readonly humanPrerequisites: readonly [];
639
+ readonly pathPolicy: "none";
640
+ readonly surfaces: {
641
+ readonly mcpInputSchema: {
642
+ readonly type: "object";
643
+ readonly properties: {
644
+ readonly code: {
645
+ readonly description: "An XE#### code, e.g. XE1202.";
646
+ readonly type: "string";
647
+ };
648
+ };
649
+ };
650
+ readonly mcpTitle: "Look up Xeer diagnostic codes";
651
+ readonly mcpDescription: string;
652
+ readonly cli: false;
653
+ readonly mcpTool: "xeer_diagnostics";
654
+ readonly mcpProfiles: readonly ["author", "operator"];
655
+ };
656
+ }, {
657
+ readonly id: "link";
658
+ readonly command: readonly ["link"];
659
+ readonly summary: "Link a checkout to an application the builder owns.";
660
+ readonly usage: readonly ["link [directory] [--app <appId>] [--new] [--control-url <url>] [--json]"];
661
+ readonly helpOrder: 60;
662
+ readonly outputProtocol: "xeer.command.v0";
663
+ readonly effects: readonly ["read-source", "write-source", "network-read", "network-write"];
664
+ readonly idempotent: false;
665
+ readonly reversible: true;
666
+ readonly destructive: false;
667
+ readonly humanPrerequisites: readonly ["A human must choose which hosted application this checkout controls."];
668
+ readonly pathPolicy: "project-relative";
669
+ readonly surfaces: {
670
+ readonly cli: true;
671
+ readonly mcpExclusion: "Human identity and project ownership decisions are not delegated through MCP.";
672
+ };
673
+ }, {
674
+ readonly id: "deployments";
675
+ readonly command: readonly ["deployments"];
676
+ readonly summary: "List deployment history for an application.";
677
+ readonly usage: readonly ["deployments [app|directory] [--limit <n>] [--control-url <url>] [--json]"];
678
+ readonly helpOrder: 70;
679
+ readonly outputProtocol: "xeer.command.v0";
680
+ readonly effects: readonly ["network-read", "read-state", "secret-metadata"];
681
+ readonly idempotent: true;
682
+ readonly reversible: true;
683
+ readonly destructive: false;
684
+ readonly humanPrerequisites: readonly ["A human must establish the builder credential with xeer auth login."];
685
+ readonly pathPolicy: "project-or-url";
686
+ readonly surfaces: {
687
+ readonly cli: true;
688
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
689
+ };
690
+ }, {
691
+ readonly id: "rollback";
692
+ readonly command: readonly ["rollback"];
693
+ readonly summary: "Redeploy a previously deployed artifact.";
694
+ readonly usage: readonly ["rollback [app|directory] <artifactId> [--environment prod|preview] [--control-url <url>] [--json]"];
695
+ readonly helpOrder: 90;
696
+ readonly outputProtocol: "xeer.command.v0";
697
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
698
+ readonly idempotent: false;
699
+ readonly reversible: true;
700
+ readonly destructive: false;
701
+ readonly humanPrerequisites: readonly ["A human must choose the artifact and deployment environment to restore."];
702
+ readonly pathPolicy: "project-or-url";
703
+ readonly surfaces: {
704
+ readonly cli: true;
705
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
706
+ };
707
+ }, {
708
+ readonly id: "disable";
709
+ readonly command: readonly ["disable"];
710
+ readonly summary: "Take an application offline without deleting its data.";
711
+ readonly usage: readonly ["disable [app|directory] [--control-url <url>] [--json]"];
712
+ readonly helpOrder: 100;
713
+ readonly outputProtocol: "xeer.command.v0";
714
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
715
+ readonly idempotent: true;
716
+ readonly reversible: true;
717
+ readonly destructive: false;
718
+ readonly humanPrerequisites: readonly ["A human must authorize taking the production application offline."];
719
+ readonly pathPolicy: "project-or-url";
720
+ readonly surfaces: {
721
+ readonly cli: true;
722
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
723
+ };
724
+ }, {
725
+ readonly id: "enable";
726
+ readonly command: readonly ["enable"];
727
+ readonly summary: "Restore a disabled application to service.";
728
+ readonly usage: readonly ["enable [app|directory] [--control-url <url>] [--json]"];
729
+ readonly helpOrder: 110;
730
+ readonly outputProtocol: "xeer.command.v0";
731
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
732
+ readonly idempotent: true;
733
+ readonly reversible: true;
734
+ readonly destructive: false;
735
+ readonly humanPrerequisites: readonly ["A human must authorize restoring the production application."];
736
+ readonly pathPolicy: "project-or-url";
737
+ readonly surfaces: {
738
+ readonly cli: true;
739
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
740
+ };
741
+ }, {
742
+ readonly id: "delete";
743
+ readonly command: readonly ["delete"];
744
+ readonly summary: "Permanently delete an application and all of its data.";
745
+ readonly usage: readonly ["delete [app|directory] --confirm <application> [--control-url <url>] [--json]"];
746
+ readonly helpOrder: 120;
747
+ readonly outputProtocol: "xeer.command.v0";
748
+ readonly effects: readonly ["network-read", "network-write", "write-state", "production-change"];
749
+ readonly idempotent: false;
750
+ readonly reversible: false;
751
+ readonly destructive: true;
752
+ readonly humanPrerequisites: readonly ["A human must provide the exact application name as irreversible confirmation."];
753
+ readonly pathPolicy: "project-or-url";
754
+ readonly surfaces: {
755
+ readonly cli: true;
756
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
757
+ };
758
+ }, {
759
+ readonly id: "domains.add";
760
+ readonly command: readonly ["domains", "add"];
761
+ readonly summary: "Attach a customer-owned hostname to an application.";
762
+ readonly usage: readonly ["domains add <hostname> [app|directory] [--control-url <url>] [--json]"];
763
+ readonly helpOrder: 125;
764
+ readonly outputProtocol: "xeer.command.v0";
765
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
766
+ readonly idempotent: true;
767
+ readonly reversible: true;
768
+ readonly destructive: false;
769
+ readonly humanPrerequisites: readonly ["A human must control the hostname DNS and authorize production routing."];
770
+ readonly pathPolicy: "project-or-url";
771
+ readonly surfaces: {
772
+ readonly cli: true;
773
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
774
+ };
775
+ }, {
776
+ readonly id: "domains.ls";
777
+ readonly command: readonly ["domains", "ls"];
778
+ readonly aliases: readonly [readonly ["domains", "list"]];
779
+ readonly summary: "List an application's platform and custom domains.";
780
+ readonly usage: readonly ["domains ls [app|directory] [--control-url <url>] [--json]"];
781
+ readonly helpOrder: 126;
782
+ readonly outputProtocol: "xeer.command.v0";
783
+ readonly effects: readonly ["network-read"];
784
+ readonly idempotent: true;
785
+ readonly reversible: true;
786
+ readonly destructive: false;
787
+ readonly humanPrerequisites: readonly [];
788
+ readonly pathPolicy: "project-or-url";
789
+ readonly surfaces: {
790
+ readonly cli: true;
791
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
792
+ };
793
+ }, {
794
+ readonly id: "domains.status";
795
+ readonly command: readonly ["domains", "status"];
796
+ readonly summary: "Refresh hostname and certificate validation.";
797
+ readonly usage: readonly ["domains status <hostname> [app|directory] [--control-url <url>] [--json]"];
798
+ readonly helpOrder: 127;
799
+ readonly outputProtocol: "xeer.command.v0";
800
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
801
+ readonly idempotent: true;
802
+ readonly reversible: true;
803
+ readonly destructive: false;
804
+ readonly humanPrerequisites: readonly ["A human must control the hostname DNS and authorize activating production routing."];
805
+ readonly pathPolicy: "project-or-url";
806
+ readonly surfaces: {
807
+ readonly cli: true;
808
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
809
+ };
810
+ }, {
811
+ readonly id: "domains.remove";
812
+ readonly command: readonly ["domains", "remove"];
813
+ readonly aliases: readonly [readonly ["domains", "rm"]];
814
+ readonly summary: "Detach a custom hostname and delete its provider certificate.";
815
+ readonly usage: readonly ["domains remove <hostname> [app|directory] [--control-url <url>] [--json]"];
816
+ readonly helpOrder: 128;
817
+ readonly outputProtocol: "xeer.command.v0";
818
+ readonly effects: readonly ["network-read", "network-write", "production-change"];
819
+ readonly idempotent: true;
820
+ readonly reversible: true;
821
+ readonly destructive: true;
822
+ readonly humanPrerequisites: readonly ["A human must authorize removing production routing for the hostname."];
823
+ readonly pathPolicy: "project-or-url";
824
+ readonly surfaces: {
825
+ readonly cli: true;
826
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
827
+ };
828
+ }, {
829
+ readonly id: "preview";
830
+ readonly command: readonly ["preview"];
831
+ readonly summary: "Run a verified artifact in a local preview server.";
832
+ readonly usage: readonly ["preview [directory] [--host <host>] [--port <port>] [--json]"];
833
+ readonly helpOrder: 240;
834
+ readonly outputProtocol: "xeer.dev.v0";
835
+ readonly effects: readonly ["read-source", "write-generated", "run-local", "write-state"];
836
+ readonly idempotent: false;
837
+ readonly reversible: true;
838
+ readonly destructive: false;
839
+ readonly humanPrerequisites: readonly [];
840
+ readonly pathPolicy: "project-relative";
841
+ readonly surfaces: {
842
+ readonly cli: true;
843
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
844
+ };
845
+ }, {
846
+ readonly id: "state.read";
847
+ readonly command: readonly ["state"];
848
+ readonly summary: "Read record counts from a running application.";
849
+ readonly usage: readonly ["state <local-url|app> [--environment prod|preview] [--control-url <url>] [--json]"];
850
+ readonly helpOrder: 260;
851
+ readonly outputProtocol: "xeer.command.v0";
852
+ readonly effects: readonly ["network-read", "read-state"];
853
+ readonly idempotent: true;
854
+ readonly reversible: true;
855
+ readonly destructive: false;
856
+ readonly humanPrerequisites: readonly [];
857
+ readonly pathPolicy: "app-or-url";
858
+ readonly surfaces: {
859
+ readonly cli: true;
860
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
861
+ };
862
+ }, {
863
+ readonly id: "state.reset";
864
+ readonly command: readonly ["state", "reset"];
865
+ readonly summary: "Permanently reset local environment state.";
866
+ readonly usage: readonly ["state reset [directory] --state <dev|preview|test> --confirm <application> [--json]"];
867
+ readonly helpOrder: 270;
868
+ readonly outputProtocol: "xeer.command.v0";
869
+ readonly effects: readonly ["read-source", "write-state"];
870
+ readonly idempotent: false;
871
+ readonly reversible: false;
872
+ readonly destructive: true;
873
+ readonly humanPrerequisites: readonly ["A human must provide the exact application name as destructive confirmation."];
874
+ readonly pathPolicy: "project-relative";
875
+ readonly surfaces: {
876
+ readonly cli: true;
877
+ readonly mcpExclusion: "Destructive state replacement requires an explicit CLI invocation.";
878
+ };
879
+ }, {
880
+ readonly id: "logs";
881
+ readonly command: readonly ["logs"];
882
+ readonly summary: "Read the bounded log ring of a running application.";
883
+ readonly usage: readonly ["logs <local-url|app> [--environment prod|preview] [--after <cursor>] [--control-url <url>] [--json]"];
884
+ readonly helpOrder: 280;
885
+ readonly outputProtocol: "xeer.command.v0";
886
+ readonly effects: readonly ["network-read", "read-state"];
887
+ readonly idempotent: true;
888
+ readonly reversible: true;
889
+ readonly destructive: false;
890
+ readonly humanPrerequisites: readonly [];
891
+ readonly pathPolicy: "app-or-url";
892
+ readonly surfaces: {
893
+ readonly cli: true;
894
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
895
+ };
896
+ }, {
897
+ readonly id: "export";
898
+ readonly command: readonly ["export"];
899
+ readonly summary: "Export application state to a document.";
900
+ readonly usage: readonly ["export <local-url|app> [--environment prod|preview] [--out <file>] [--control-url <url>] [--json]", "export --state <dev|preview> [directory] [--out <file>] [--json]"];
901
+ readonly helpOrder: 290;
902
+ readonly outputProtocol: "xeer.command.v0";
903
+ readonly effects: readonly ["network-read", "read-state", "write-file"];
904
+ readonly idempotent: true;
905
+ readonly reversible: true;
906
+ readonly destructive: false;
907
+ readonly humanPrerequisites: readonly [];
908
+ readonly pathPolicy: "project-or-url";
909
+ readonly surfaces: {
910
+ readonly cli: true;
911
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
912
+ };
913
+ }, {
914
+ readonly id: "import";
915
+ readonly command: readonly ["import"];
916
+ readonly summary: "Replace local or preview state from an export document.";
917
+ readonly usage: readonly ["import <preview-url> <file> [--json]", "import --state <dev|preview> [directory] <file> [--json]"];
918
+ readonly helpOrder: 300;
919
+ readonly outputProtocol: "xeer.command.v0";
920
+ readonly effects: readonly ["read-source", "network-write", "write-state"];
921
+ readonly idempotent: false;
922
+ readonly reversible: false;
923
+ readonly destructive: true;
924
+ readonly humanPrerequisites: readonly ["A human must choose the export document that replaces existing state."];
925
+ readonly pathPolicy: "project-or-url";
926
+ readonly surfaces: {
927
+ readonly cli: true;
928
+ readonly mcpExclusion: "Destructive state replacement requires an explicit CLI invocation.";
929
+ };
930
+ }, {
931
+ readonly id: "auth.login";
932
+ readonly command: readonly ["auth", "login"];
933
+ readonly summary: "Establish a human builder credential.";
934
+ readonly usage: readonly ["auth login [--control-url <url>] [--no-open] [--json]"];
935
+ readonly helpOrder: 170;
936
+ readonly outputProtocol: "xeer.command.v0";
937
+ readonly effects: readonly ["network-read", "network-write", "secret-write"];
938
+ readonly idempotent: false;
939
+ readonly reversible: true;
940
+ readonly destructive: false;
941
+ readonly humanPrerequisites: readonly ["A human must approve the exact browser verification code."];
942
+ readonly pathPolicy: "none";
943
+ readonly surfaces: {
944
+ readonly cli: true;
945
+ readonly mcpExclusion: "Human identity and project ownership decisions are not delegated through MCP.";
946
+ };
947
+ }, {
948
+ readonly id: "auth.logout";
949
+ readonly command: readonly ["auth", "logout"];
950
+ readonly summary: "Remove the local builder credential.";
951
+ readonly usage: readonly ["auth logout [--control-url <url>] [--json]"];
952
+ readonly helpOrder: 190;
953
+ readonly outputProtocol: "xeer.command.v0";
954
+ readonly effects: readonly ["network-write", "secret-write"];
955
+ readonly idempotent: true;
956
+ readonly reversible: true;
957
+ readonly destructive: false;
958
+ readonly humanPrerequisites: readonly [];
959
+ readonly pathPolicy: "none";
960
+ readonly surfaces: {
961
+ readonly cli: true;
962
+ readonly mcpExclusion: "Human identity and project ownership decisions are not delegated through MCP.";
963
+ };
964
+ }, {
965
+ readonly id: "auth.as";
966
+ readonly command: readonly ["auth", "as"];
967
+ readonly summary: "Select a deterministic local development persona.";
968
+ readonly usage: readonly ["auth as <alice|bob> [directory] [--workspace <id>]... [--json]"];
969
+ readonly helpOrder: 200;
970
+ readonly outputProtocol: "xeer.command.v0";
971
+ readonly effects: readonly ["write-state"];
972
+ readonly idempotent: true;
973
+ readonly reversible: true;
974
+ readonly destructive: false;
975
+ readonly humanPrerequisites: readonly [];
976
+ readonly pathPolicy: "project-relative";
977
+ readonly surfaces: {
978
+ readonly cli: true;
979
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
980
+ };
981
+ }, {
982
+ readonly id: "auth.clear";
983
+ readonly command: readonly ["auth", "clear"];
984
+ readonly summary: "Reset the local development persona.";
985
+ readonly usage: readonly ["auth clear [directory] [--json]"];
986
+ readonly helpOrder: 210;
987
+ readonly outputProtocol: "xeer.command.v0";
988
+ readonly effects: readonly ["write-state"];
989
+ readonly idempotent: true;
990
+ readonly reversible: true;
991
+ readonly destructive: false;
992
+ readonly humanPrerequisites: readonly [];
993
+ readonly pathPolicy: "project-relative";
994
+ readonly surfaces: {
995
+ readonly cli: true;
996
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
997
+ };
998
+ }, {
999
+ readonly id: "env.set";
1000
+ readonly command: readonly ["env", "set"];
1001
+ readonly summary: "Set an environment value or secret.";
1002
+ readonly usage: readonly ["env set <NAME> [value] [--environment prod|preview|dev] [--dir <directory>] [--control-url <url>] [--json]"];
1003
+ readonly helpOrder: 130;
1004
+ readonly outputProtocol: "xeer.command.v0";
1005
+ readonly effects: readonly ["network-write", "write-state", "secret-write"];
1006
+ readonly idempotent: true;
1007
+ readonly reversible: true;
1008
+ readonly destructive: false;
1009
+ readonly humanPrerequisites: readonly ["A human must deliberately provide the secret value."];
1010
+ readonly pathPolicy: "project-relative";
1011
+ readonly surfaces: {
1012
+ readonly cli: true;
1013
+ readonly mcpExclusion: "Secret values are intentionally unreachable through MCP; env pull returns plaintext.";
1014
+ };
1015
+ }, {
1016
+ readonly id: "env.ls";
1017
+ readonly command: readonly ["env", "ls"];
1018
+ readonly aliases: readonly [readonly ["env", "list"]];
1019
+ readonly summary: "List environment variable names and metadata.";
1020
+ readonly usage: readonly ["env ls [--environment prod|preview|dev] [--dir <directory>] [--control-url <url>] [--json]"];
1021
+ readonly helpOrder: 140;
1022
+ readonly outputProtocol: "xeer.command.v0";
1023
+ readonly effects: readonly ["network-read", "secret-metadata"];
1024
+ readonly idempotent: true;
1025
+ readonly reversible: true;
1026
+ readonly destructive: false;
1027
+ readonly humanPrerequisites: readonly [];
1028
+ readonly pathPolicy: "project-relative";
1029
+ readonly surfaces: {
1030
+ readonly cli: true;
1031
+ readonly mcpExclusion: "Secret values are intentionally unreachable through MCP; env pull returns plaintext.";
1032
+ };
1033
+ }, {
1034
+ readonly id: "env.rm";
1035
+ readonly command: readonly ["env", "rm"];
1036
+ readonly aliases: readonly [readonly ["env", "remove"]];
1037
+ readonly summary: "Remove an environment value or secret.";
1038
+ readonly usage: readonly ["env rm <NAME> [--environment prod|preview|dev] [--dir <directory>] [--control-url <url>] [--json]"];
1039
+ readonly helpOrder: 150;
1040
+ readonly outputProtocol: "xeer.command.v0";
1041
+ readonly effects: readonly ["network-write", "write-state", "secret-write"];
1042
+ readonly idempotent: true;
1043
+ readonly reversible: false;
1044
+ readonly destructive: true;
1045
+ readonly humanPrerequisites: readonly ["A human must choose the secret name to remove."];
1046
+ readonly pathPolicy: "project-relative";
1047
+ readonly surfaces: {
1048
+ readonly cli: true;
1049
+ readonly mcpExclusion: "Secret values are intentionally unreachable through MCP; env pull returns plaintext.";
1050
+ };
1051
+ }, {
1052
+ readonly id: "env.pull";
1053
+ readonly command: readonly ["env", "pull"];
1054
+ readonly summary: "Write development secrets to a local file.";
1055
+ readonly usage: readonly ["env pull [--environment prod|preview|dev] [--dir <directory>] [--control-url <url>] [--json]"];
1056
+ readonly helpOrder: 160;
1057
+ readonly outputProtocol: "xeer.command.v0";
1058
+ readonly effects: readonly ["network-read", "write-file", "secret-read"];
1059
+ readonly idempotent: true;
1060
+ readonly reversible: true;
1061
+ readonly destructive: false;
1062
+ readonly humanPrerequisites: readonly ["A human must authorize writing plaintext secrets to the checkout."];
1063
+ readonly pathPolicy: "project-relative";
1064
+ readonly surfaces: {
1065
+ readonly cli: true;
1066
+ readonly mcpExclusion: "Secret values are intentionally unreachable through MCP; env pull returns plaintext.";
1067
+ };
1068
+ }, {
1069
+ readonly id: "token.create";
1070
+ readonly command: readonly ["token", "create"];
1071
+ readonly summary: "Issue a service builder token.";
1072
+ readonly usage: readonly ["token create --name <label> [--control-url <url>] [--json]"];
1073
+ readonly hiddenFromHelp: true;
1074
+ readonly outputProtocol: "xeer.command.v0";
1075
+ readonly effects: readonly ["network-write", "secret-write"];
1076
+ readonly idempotent: false;
1077
+ readonly reversible: true;
1078
+ readonly destructive: false;
1079
+ readonly humanPrerequisites: readonly ["A human service builder must store the one-time plaintext token securely."];
1080
+ readonly pathPolicy: "none";
1081
+ readonly surfaces: {
1082
+ readonly cli: true;
1083
+ readonly mcpExclusion: "Service credential issuance and revocation are intentionally CLI-only.";
1084
+ };
1085
+ }, {
1086
+ readonly id: "token.ls";
1087
+ readonly command: readonly ["token", "ls"];
1088
+ readonly aliases: readonly [readonly ["token", "list"]];
1089
+ readonly summary: "List service token metadata.";
1090
+ readonly usage: readonly ["token ls [--control-url <url>] [--json]"];
1091
+ readonly hiddenFromHelp: true;
1092
+ readonly outputProtocol: "xeer.command.v0";
1093
+ readonly effects: readonly ["network-read", "secret-metadata"];
1094
+ readonly idempotent: true;
1095
+ readonly reversible: true;
1096
+ readonly destructive: false;
1097
+ readonly humanPrerequisites: readonly [];
1098
+ readonly pathPolicy: "none";
1099
+ readonly surfaces: {
1100
+ readonly cli: true;
1101
+ readonly mcpExclusion: "Service credential issuance and revocation are intentionally CLI-only.";
1102
+ };
1103
+ }, {
1104
+ readonly id: "token.revoke";
1105
+ readonly command: readonly ["token", "revoke"];
1106
+ readonly summary: "Revoke a service builder token.";
1107
+ readonly usage: readonly ["token revoke <tokenId> [--reason <why>] [--control-url <url>] [--json]"];
1108
+ readonly hiddenFromHelp: true;
1109
+ readonly outputProtocol: "xeer.command.v0";
1110
+ readonly effects: readonly ["network-write", "secret-write"];
1111
+ readonly idempotent: true;
1112
+ readonly reversible: false;
1113
+ readonly destructive: true;
1114
+ readonly humanPrerequisites: readonly ["A human service builder must choose the credential to revoke."];
1115
+ readonly pathPolicy: "none";
1116
+ readonly surfaces: {
1117
+ readonly cli: true;
1118
+ readonly mcpExclusion: "Service credential issuance and revocation are intentionally CLI-only.";
1119
+ };
1120
+ }, {
1121
+ readonly id: "actions";
1122
+ readonly command: readonly ["actions"];
1123
+ readonly summary: "Print the machine-readable action and safety catalogue.";
1124
+ readonly usage: readonly ["actions [--json]"];
1125
+ readonly helpOrder: 310;
1126
+ readonly outputProtocol: "xeer.command.v0";
1127
+ readonly effects: readonly [];
1128
+ readonly idempotent: true;
1129
+ readonly reversible: true;
1130
+ readonly destructive: false;
1131
+ readonly humanPrerequisites: readonly [];
1132
+ readonly pathPolicy: "none";
1133
+ readonly surfaces: {
1134
+ readonly cli: true;
1135
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
1136
+ };
1137
+ }, {
1138
+ readonly id: "db.tables";
1139
+ readonly command: readonly ["db", "tables"];
1140
+ readonly summary: "List the tables of a running application database.";
1141
+ readonly usage: readonly ["db tables [directory] [--state <dev|preview>] [--json]"];
1142
+ readonly helpOrder: 320;
1143
+ readonly outputProtocol: "xeer.command.v0";
1144
+ readonly effects: readonly ["read-state"];
1145
+ readonly idempotent: true;
1146
+ readonly reversible: true;
1147
+ readonly destructive: false;
1148
+ readonly humanPrerequisites: readonly [];
1149
+ readonly pathPolicy: "project-relative";
1150
+ readonly surfaces: {
1151
+ readonly cli: true;
1152
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
1153
+ };
1154
+ }, {
1155
+ readonly id: "db.schema";
1156
+ readonly command: readonly ["db", "schema"];
1157
+ readonly summary: "Print the declared schema of a running application database.";
1158
+ readonly usage: readonly ["db schema [directory] [--state <dev|preview>] [--json]"];
1159
+ readonly helpOrder: 330;
1160
+ readonly outputProtocol: "xeer.command.v0";
1161
+ readonly effects: readonly ["read-state"];
1162
+ readonly idempotent: true;
1163
+ readonly reversible: true;
1164
+ readonly destructive: false;
1165
+ readonly humanPrerequisites: readonly [];
1166
+ readonly pathPolicy: "project-relative";
1167
+ readonly surfaces: {
1168
+ readonly cli: true;
1169
+ readonly mcpExclusion: "Not exposed through MCP v0; use the CLI deliberately.";
1170
+ };
1171
+ }, {
1172
+ readonly id: "db.exec";
1173
+ readonly command: readonly ["db", "exec"];
1174
+ readonly summary: "Run one SQL statement against a running application database.";
1175
+ readonly usage: readonly ["db exec [directory] <sql> [--state <dev|preview>] [--write] [--json]"];
1176
+ readonly helpOrder: 340;
1177
+ readonly outputProtocol: "xeer.command.v0";
1178
+ readonly effects: readonly ["read-state", "write-state"];
1179
+ readonly idempotent: false;
1180
+ readonly reversible: false;
1181
+ readonly destructive: false;
1182
+ readonly humanPrerequisites: readonly ["A human must pass --write before any statement that modifies rows."];
1183
+ readonly pathPolicy: "project-relative";
1184
+ readonly surfaces: {
1185
+ readonly cli: true;
1186
+ readonly mcpExclusion: "Destructive state replacement requires an explicit CLI invocation.";
1187
+ };
1188
+ }];
1189
+ export type XeerRegisteredAction = (typeof actions)[number];
1190
+ export type XeerActionId = XeerRegisteredAction['id'];
1191
+ export type XeerCliActionId = Extract<XeerRegisteredAction, {
1192
+ surfaces: {
1193
+ cli: true;
1194
+ };
1195
+ }>['id'];
1196
+ export type XeerMcpActionId = Extract<XeerRegisteredAction, {
1197
+ surfaces: {
1198
+ mcpTool: string;
1199
+ };
1200
+ }>['id'];
1201
+ type ActionForId<Id extends XeerActionId> = Extract<XeerRegisteredAction, {
1202
+ id: Id;
1203
+ }>;
1204
+ type McpSchemaForId<Id extends XeerActionId> = ActionForId<Id>['surfaces'] extends {
1205
+ mcpInputSchema: infer Schema extends McpInputSchemaDefinition;
1206
+ } ? Schema : never;
1207
+ type McpPropertyValue<Property> = Property extends {
1208
+ enum: readonly (infer Value)[];
1209
+ } ? Value : Property extends {
1210
+ type: 'string';
1211
+ } ? string : Property extends {
1212
+ type: 'integer' | 'number';
1213
+ } ? number : Property extends {
1214
+ type: 'boolean';
1215
+ } ? boolean : never;
1216
+ type McpRequiredOutputKeys<Schema extends McpInputSchemaDefinition> = (Schema extends {
1217
+ required: readonly (infer Key extends string)[];
1218
+ } ? Key : never) | {
1219
+ [Key in keyof Schema['properties']]: Schema['properties'][Key] extends {
1220
+ default: unknown;
1221
+ } ? Key : never;
1222
+ }[keyof Schema['properties']];
1223
+ /** Parsed handler input for an MCP action, including values supplied by schema defaults. */
1224
+ export type McpInputForAction<Id extends XeerMcpActionId> = {
1225
+ [Key in keyof McpSchemaForId<Id>['properties'] as Key extends McpRequiredOutputKeys<McpSchemaForId<Id>> ? Key : never]: McpPropertyValue<McpSchemaForId<Id>['properties'][Key]>;
1226
+ } & {
1227
+ [Key in keyof McpSchemaForId<Id>['properties'] as Key extends McpRequiredOutputKeys<McpSchemaForId<Id>> ? never : Key]?: McpPropertyValue<McpSchemaForId<Id>['properties'][Key]>;
1228
+ };
1229
+ export declare const XEER_ACTIONS: readonly XeerActionDefinition[];
1230
+ export declare function actionDefinition(id: string): XeerActionDefinition | undefined;
1231
+ export declare function mcpActions(profile: XeerMcpProfile): XeerActionDefinition[];
1232
+ export declare function cliHelpActions(): XeerActionDefinition[];
1233
+ /**
1234
+ * Extract the CLI option contract from the same usage strings that generate `xeer --help`.
1235
+ * An option followed by a documented value token takes one; a closing bracket or end-of-line
1236
+ * denotes a boolean flag. Keeping this derived means help, dispatch validation, and aliases cannot
1237
+ * acquire separate hand-maintained allowlists.
1238
+ */
1239
+ export declare function cliOptionDefinitions(action: XeerActionDefinition): XeerCliOptionDefinition[];
1240
+ /** Resolves canonical and alias command prefixes, preferring `state reset` over the `state` target action. */
1241
+ export declare function cliActionForTokens(tokens: readonly string[]): XeerActionDefinition | undefined;
1242
+ export declare function mcpAnnotations(action: XeerActionDefinition): McpActionAnnotations;
1243
+ /** Exact Draft-07 object the MCP SDK must advertise for a registered tool. */
1244
+ export declare function mcpInputJsonSchema(action: XeerActionDefinition): McpInputJsonSchema | undefined;
1245
+ export declare const ACTION_REFERENCE_START = "<!-- xeer-action-reference:start -->";
1246
+ export declare const ACTION_REFERENCE_END = "<!-- xeer-action-reference:end -->";
1247
+ export declare const ACTION_REFERENCE_TARGETS: readonly ["docs/AGENTS.md", "packages/website/content/guides/agents.md", ".agents/skills/xeer/SKILL.md", "packages/mcp/README.md", "packages/website/content/reference/cli.md"];
1248
+ /** One generated block is embedded in every agent-facing action-policy surface. */
1249
+ export declare function renderActionReference(): string;
1250
+ export {};