@miakapp/cli 4.0.0-alpha.3 → 4.0.0-alpha.5

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 (62) hide show
  1. package/assets/agent-guide.md +5 -5
  2. package/dist/agent-pack.d.ts +86 -0
  3. package/dist/agent-pack.d.ts.map +1 -0
  4. package/dist/agent-pack.js +202 -0
  5. package/dist/agent-pack.js.map +1 -0
  6. package/dist/artifact.d.ts +32 -0
  7. package/dist/artifact.d.ts.map +1 -0
  8. package/dist/artifact.js +328 -0
  9. package/dist/artifact.js.map +1 -0
  10. package/dist/control-plane.d.ts +37 -0
  11. package/dist/control-plane.d.ts.map +1 -0
  12. package/dist/control-plane.js +127 -0
  13. package/dist/control-plane.js.map +1 -0
  14. package/dist/discovery.d.ts +95 -0
  15. package/dist/discovery.d.ts.map +1 -0
  16. package/dist/discovery.js +389 -0
  17. package/dist/discovery.js.map +1 -0
  18. package/dist/errors.d.ts +37 -0
  19. package/dist/errors.d.ts.map +1 -0
  20. package/dist/errors.js +56 -0
  21. package/dist/errors.js.map +1 -0
  22. package/dist/internal/http.d.ts +35 -0
  23. package/dist/internal/http.d.ts.map +1 -0
  24. package/dist/internal/http.js +125 -0
  25. package/dist/internal/http.js.map +1 -0
  26. package/dist/internal/json.d.ts +15 -0
  27. package/dist/internal/json.d.ts.map +1 -0
  28. package/dist/internal/json.js +227 -0
  29. package/dist/internal/json.js.map +1 -0
  30. package/dist/internal/names.d.ts +45 -0
  31. package/dist/internal/names.d.ts.map +1 -0
  32. package/dist/internal/names.js +98 -0
  33. package/dist/internal/names.js.map +1 -0
  34. package/dist/internal/requirements.d.ts +10 -0
  35. package/dist/internal/requirements.d.ts.map +1 -0
  36. package/dist/internal/requirements.js +50 -0
  37. package/dist/internal/requirements.js.map +1 -0
  38. package/dist/internal/yaml.d.ts +26 -0
  39. package/dist/internal/yaml.d.ts.map +1 -0
  40. package/dist/internal/yaml.js +184 -0
  41. package/dist/internal/yaml.js.map +1 -0
  42. package/dist/main.d.ts +88 -0
  43. package/dist/main.d.ts.map +1 -0
  44. package/dist/main.js +698 -0
  45. package/dist/main.js.map +1 -0
  46. package/dist/mcp.d.ts +93 -0
  47. package/dist/mcp.d.ts.map +1 -0
  48. package/dist/mcp.js +539 -0
  49. package/dist/mcp.js.map +1 -0
  50. package/dist/project.d.ts +25 -0
  51. package/dist/project.d.ts.map +1 -0
  52. package/dist/project.js +90 -0
  53. package/dist/project.js.map +1 -0
  54. package/dist/publication.d.ts +95 -0
  55. package/dist/publication.d.ts.map +1 -0
  56. package/dist/publication.js +408 -0
  57. package/dist/publication.js.map +1 -0
  58. package/dist/version.d.ts +15 -0
  59. package/dist/version.d.ts.map +1 -0
  60. package/dist/version.js +15 -0
  61. package/dist/version.js.map +1 -0
  62. package/package.json +2 -1
@@ -0,0 +1,184 @@
1
+ import { projectError } from '../errors.js';
2
+ const KEY = /^[A-Za-z_][A-Za-z0-9_-]*$/;
3
+ const NUMBER = /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/;
4
+ const FORBIDDEN_KEYS = new Set(['__proto__', 'prototype', 'constructor']);
5
+ const MAXIMUM_LINES = 2_048;
6
+ const MAXIMUM_DEPTH = 8;
7
+ function fail(line, message) {
8
+ throw projectError(`miakapp.yaml line ${line}: ${message}`);
9
+ }
10
+ function stripComment(raw, number) {
11
+ let quote;
12
+ for (let index = 0; index < raw.length; index += 1) {
13
+ const character = raw[index];
14
+ if (quote !== undefined) {
15
+ if (character === '\\' && quote === '"')
16
+ index += 1;
17
+ else if (character === quote)
18
+ quote = undefined;
19
+ continue;
20
+ }
21
+ if (character === '"' || character === "'") {
22
+ quote = character;
23
+ continue;
24
+ }
25
+ if (character === '#' && (index === 0 || /\s/.test(raw[index - 1]))) {
26
+ return raw.slice(0, index).trimEnd();
27
+ }
28
+ }
29
+ if (quote !== undefined)
30
+ fail(number, 'unterminated quoted scalar');
31
+ return raw.trimEnd();
32
+ }
33
+ function readLines(source) {
34
+ const lines = [];
35
+ const raw = source.split('\n');
36
+ if (raw.length > MAXIMUM_LINES) {
37
+ throw projectError(`miakapp.yaml exceeds ${MAXIMUM_LINES} lines`);
38
+ }
39
+ raw.forEach((text, offset) => {
40
+ const number = offset + 1;
41
+ if (text.includes('\t'))
42
+ fail(number, 'tabs are not permitted');
43
+ if (text.includes('\r'))
44
+ fail(number, 'carriage returns are not permitted');
45
+ const content = stripComment(text, number);
46
+ if (content.trim() === '')
47
+ return;
48
+ if (content.trimStart() === '---' || content.trimStart() === '...') {
49
+ fail(number, 'document markers are not permitted');
50
+ }
51
+ const indent = content.length - content.trimStart().length;
52
+ if (indent % 2 !== 0)
53
+ fail(number, 'indentation must be a multiple of two spaces');
54
+ lines.push({ number, indent, content: content.trimStart() });
55
+ });
56
+ return lines;
57
+ }
58
+ function parseScalar(text, number) {
59
+ if (text === '')
60
+ return '';
61
+ const first = text[0];
62
+ if (first === '"' || first === "'") {
63
+ if (text.length < 2 || !text.endsWith(first))
64
+ fail(number, 'unterminated quoted scalar');
65
+ const inner = text.slice(1, -1);
66
+ if (first === "'") {
67
+ if (inner.includes("'"))
68
+ fail(number, "single-quoted escapes are not supported");
69
+ return inner;
70
+ }
71
+ try {
72
+ const decoded = JSON.parse(text);
73
+ if (typeof decoded !== 'string')
74
+ fail(number, 'invalid double-quoted scalar');
75
+ return decoded;
76
+ }
77
+ catch {
78
+ return fail(number, 'invalid double-quoted scalar');
79
+ }
80
+ }
81
+ if (text === '[]')
82
+ return [];
83
+ if ('&*!|>%@`'.includes(first) || first === '[' || first === '{') {
84
+ fail(number, `the ${first} scalar form is not supported`);
85
+ }
86
+ if (text === 'true')
87
+ return true;
88
+ if (text === 'false')
89
+ return false;
90
+ if (text === 'null' || text === '~')
91
+ return null;
92
+ if (NUMBER.test(text)) {
93
+ const number_ = Number(text);
94
+ if (!Number.isFinite(number_))
95
+ fail(number, 'number is not finite');
96
+ return number_;
97
+ }
98
+ if (text.includes(': ') || text.endsWith(':')) {
99
+ fail(number, 'a plain scalar cannot contain a mapping separator');
100
+ }
101
+ return text;
102
+ }
103
+ function parseBlock(lines, from, indent, depth) {
104
+ if (depth > MAXIMUM_DEPTH) {
105
+ fail(lines[from].number, `nesting exceeds ${MAXIMUM_DEPTH} levels`);
106
+ }
107
+ const first = lines[from];
108
+ if (first === undefined)
109
+ fail(0, 'unexpected end of file');
110
+ if (first.content.startsWith('- ') || first.content === '-') {
111
+ const items = [];
112
+ let index = from;
113
+ while (index < lines.length) {
114
+ const line = lines[index];
115
+ if (line.indent < indent)
116
+ break;
117
+ if (line.indent > indent)
118
+ fail(line.number, 'unexpected indentation inside a sequence');
119
+ if (!line.content.startsWith('- ') && line.content !== '-') {
120
+ fail(line.number, 'a sequence cannot be mixed with mapping keys');
121
+ }
122
+ if (line.content === '-')
123
+ fail(line.number, 'a sequence item must be a scalar');
124
+ items.push(parseScalar(line.content.slice(2).trim(), line.number));
125
+ index += 1;
126
+ }
127
+ return { value: items, next: index };
128
+ }
129
+ const mapping = Object.create(null);
130
+ const seen = new Set();
131
+ let index = from;
132
+ while (index < lines.length) {
133
+ const line = lines[index];
134
+ if (line.indent < indent)
135
+ break;
136
+ if (line.indent > indent)
137
+ fail(line.number, 'unexpected indentation');
138
+ const separator = line.content.indexOf(':');
139
+ if (separator === -1)
140
+ fail(line.number, 'expected a "key: value" mapping entry');
141
+ const key = line.content.slice(0, separator);
142
+ if (!KEY.test(key))
143
+ fail(line.number, `invalid key ${JSON.stringify(key)}`);
144
+ if (FORBIDDEN_KEYS.has(key))
145
+ fail(line.number, `the key ${key} is forbidden`);
146
+ if (seen.has(key))
147
+ fail(line.number, `duplicate key ${key}`);
148
+ seen.add(key);
149
+ const rest = line.content.slice(separator + 1).trim();
150
+ if (rest !== '') {
151
+ mapping[key] = parseScalar(rest, line.number);
152
+ index += 1;
153
+ continue;
154
+ }
155
+ const child = lines[index + 1];
156
+ if (child === undefined || child.indent <= indent) {
157
+ mapping[key] = null;
158
+ index += 1;
159
+ continue;
160
+ }
161
+ if (child.indent !== indent + 2)
162
+ fail(child.number, 'a nested block indents by two spaces');
163
+ const block = parseBlock(lines, index + 1, child.indent, depth + 1);
164
+ mapping[key] = block.value;
165
+ index = block.next;
166
+ }
167
+ return { value: mapping, next: index };
168
+ }
169
+ export function parseYaml(source) {
170
+ const lines = readLines(source);
171
+ if (lines.length === 0)
172
+ throw projectError('miakapp.yaml is empty');
173
+ const first = lines[0];
174
+ if (first.indent !== 0)
175
+ fail(first.number, 'the document must start at column one');
176
+ const { value, next } = parseBlock(lines, 0, 0, 1);
177
+ if (next !== lines.length)
178
+ fail(lines[next].number, 'unexpected trailing content');
179
+ if (Array.isArray(value) || value === null || typeof value !== 'object') {
180
+ throw projectError('miakapp.yaml must be a mapping');
181
+ }
182
+ return value;
183
+ }
184
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/internal/yaml.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts ADDED
@@ -0,0 +1,88 @@
1
+ import { CLI_VERSION } from './version.js';
2
+ import type { FetchLike } from './internal/http.js';
3
+ export { CLI_VERSION };
4
+ /**
5
+ * The Home Key is read from the environment only. A secret passed as an
6
+ * argument would land in shell history, in a process listing and in most CI
7
+ * logs, so no command accepts one.
8
+ */
9
+ export declare const HOME_KEY_VARIABLE = "MIAKAPP_HOME_KEY";
10
+ export interface FileSystem {
11
+ read(path: string): Promise<Uint8Array>;
12
+ /** Creates. Fails if the path exists: no command may clobber by accident. */
13
+ write(path: string, bytes: Uint8Array): Promise<void>;
14
+ /**
15
+ * Creates or overwrites.
16
+ *
17
+ * Separate from {@link FileSystem.write} so overwriting is never the default
18
+ * a command falls into. Only `agent-pack` calls it, and only after merging
19
+ * the existing bytes, so what it replaces is a file it generated.
20
+ */
21
+ replace(path: string, bytes: Uint8Array): Promise<void>;
22
+ exists(path: string): Promise<boolean>;
23
+ /** Creates the directory and its parents. Succeeds if it already exists. */
24
+ makeDirectory(path: string): Promise<void>;
25
+ }
26
+ export interface CliHost {
27
+ write(text: string): void;
28
+ writeError(text: string): void;
29
+ cwd(): string;
30
+ env(name: string): string | undefined;
31
+ /** Injected by tests; defaults to `node:fs/promises`. */
32
+ files?: FileSystem;
33
+ /** Injected by tests; defaults to the platform `fetch`. */
34
+ fetch?: FetchLike;
35
+ /** Read only by `mcp`, which serves a request stream instead of one command. */
36
+ input?: AsyncIterable<Uint8Array>;
37
+ }
38
+ type Field = readonly [key: string, value: string | number | readonly string[]];
39
+ export interface CommandResult {
40
+ readonly summary: string;
41
+ readonly fields: readonly Field[];
42
+ readonly json: Record<string, unknown>;
43
+ /** Complete human-facing document for commands such as `docs start`. */
44
+ readonly text?: string;
45
+ }
46
+ export interface Invocation {
47
+ readonly command: string;
48
+ readonly options: ReadonlyMap<string, string>;
49
+ readonly flags: ReadonlySet<string>;
50
+ readonly positional: readonly string[];
51
+ }
52
+ /** Exported so the MCP surface can be proved to expose every option, and no other. */
53
+ export declare const COMMAND_OPTIONS: Record<string, readonly string[]>;
54
+ /**
55
+ * Parses `--name value`, `--name=value` and bare flags.
56
+ *
57
+ * Options are a closed set per command: an unrecognized one is a usage error
58
+ * rather than a silently ignored argument, so a mistyped flag can never turn a
59
+ * publication into a different publication.
60
+ */
61
+ export declare function parseArguments(argv: readonly string[]): Invocation;
62
+ /**
63
+ * Absolute path of the guide shipped with this package.
64
+ *
65
+ * Resolved from this module rather than from the working directory: the pack is
66
+ * installed into someone else's repository, and the guide has to come from the
67
+ * installed CLI wherever that repository happens to be.
68
+ *
69
+ * Exported so a test reads the same path the command does. A test that seeded a
70
+ * fixture at a path the command never opens would prove nothing.
71
+ */
72
+ export declare function guideAssetPath(): Promise<string>;
73
+ /**
74
+ * Runs one parsed invocation.
75
+ *
76
+ * Exported for `mcp`, which reaches the same commands without a process: a
77
+ * tool call and a command line must not be able to diverge.
78
+ */
79
+ export declare function dispatch(host: CliHost, invocation: Invocation): Promise<CommandResult>;
80
+ /**
81
+ * Runs one invocation and returns its exit code.
82
+ *
83
+ * Nothing throws out of this function: an unexpected error becomes
84
+ * `unknown_outcome`, because a CLI that crashed mid-publication cannot claim
85
+ * the control plane was left untouched.
86
+ */
87
+ export declare function run(argv: readonly string[], host: CliHost): Promise<number>;
88
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAY3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAYpD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,6EAA6E;IAC7E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,4EAA4E;IAC5E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,yDAAyD;IACzD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACnC;AAED,KAAK,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAkED,sFAAsF;AACtF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAc7D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAsDlE;AAqMD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAGtD;AAyRD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAwB5F;AAyBD;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDjF"}