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

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 (57) hide show
  1. package/package.json +4 -3
  2. package/dist/agent-pack.d.ts +0 -78
  3. package/dist/agent-pack.d.ts.map +0 -1
  4. package/dist/agent-pack.js +0 -193
  5. package/dist/agent-pack.js.map +0 -1
  6. package/dist/artifact.d.ts +0 -32
  7. package/dist/artifact.d.ts.map +0 -1
  8. package/dist/artifact.js +0 -328
  9. package/dist/artifact.js.map +0 -1
  10. package/dist/control-plane.d.ts +0 -37
  11. package/dist/control-plane.d.ts.map +0 -1
  12. package/dist/control-plane.js +0 -127
  13. package/dist/control-plane.js.map +0 -1
  14. package/dist/discovery.d.ts +0 -95
  15. package/dist/discovery.d.ts.map +0 -1
  16. package/dist/discovery.js +0 -389
  17. package/dist/discovery.js.map +0 -1
  18. package/dist/errors.d.ts +0 -37
  19. package/dist/errors.d.ts.map +0 -1
  20. package/dist/errors.js +0 -56
  21. package/dist/errors.js.map +0 -1
  22. package/dist/internal/http.d.ts +0 -35
  23. package/dist/internal/http.d.ts.map +0 -1
  24. package/dist/internal/http.js +0 -125
  25. package/dist/internal/http.js.map +0 -1
  26. package/dist/internal/json.d.ts +0 -15
  27. package/dist/internal/json.d.ts.map +0 -1
  28. package/dist/internal/json.js +0 -227
  29. package/dist/internal/json.js.map +0 -1
  30. package/dist/internal/names.d.ts +0 -45
  31. package/dist/internal/names.d.ts.map +0 -1
  32. package/dist/internal/names.js +0 -98
  33. package/dist/internal/names.js.map +0 -1
  34. package/dist/internal/requirements.d.ts +0 -10
  35. package/dist/internal/requirements.d.ts.map +0 -1
  36. package/dist/internal/requirements.js +0 -50
  37. package/dist/internal/requirements.js.map +0 -1
  38. package/dist/internal/yaml.d.ts +0 -26
  39. package/dist/internal/yaml.d.ts.map +0 -1
  40. package/dist/internal/yaml.js +0 -184
  41. package/dist/internal/yaml.js.map +0 -1
  42. package/dist/main.d.ts +0 -86
  43. package/dist/main.d.ts.map +0 -1
  44. package/dist/main.js +0 -666
  45. package/dist/main.js.map +0 -1
  46. package/dist/mcp.d.ts +0 -93
  47. package/dist/mcp.d.ts.map +0 -1
  48. package/dist/mcp.js +0 -524
  49. package/dist/mcp.js.map +0 -1
  50. package/dist/project.d.ts +0 -25
  51. package/dist/project.d.ts.map +0 -1
  52. package/dist/project.js +0 -90
  53. package/dist/project.js.map +0 -1
  54. package/dist/publication.d.ts +0 -95
  55. package/dist/publication.d.ts.map +0 -1
  56. package/dist/publication.js +0 -408
  57. package/dist/publication.js.map +0 -1
package/dist/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts DELETED
@@ -1,93 +0,0 @@
1
- import { type CliHost } from './main.js';
2
- /** Revision of the MCP specification this server implements. */
3
- export declare const MCP_PROTOCOL_VERSION = "2025-06-18";
4
- export declare const SERVER_NAME = "miakapp";
5
- /**
6
- * A single JSON-RPC message may not exceed this. The transport is a pipe from
7
- * a process we do not control, so the reassembly buffer is bounded like every
8
- * other input in this package.
9
- */
10
- export declare const MAXIMUM_MESSAGE_BYTES = 1048576;
11
- type ArgumentType = 'string' | 'integer' | 'boolean';
12
- interface ToolArgument {
13
- /** Tool-facing name. The CLI option is this name with `_` replaced by `-`. */
14
- readonly name: string;
15
- readonly type: ArgumentType;
16
- readonly required: boolean;
17
- readonly description: string;
18
- }
19
- interface ToolPositional {
20
- readonly name: string;
21
- readonly description: string;
22
- }
23
- interface ToolDefinition {
24
- readonly name: string;
25
- readonly title: string;
26
- readonly command: string;
27
- readonly description: string;
28
- readonly args: readonly ToolArgument[];
29
- readonly positional?: ToolPositional;
30
- /** Reads only; opens no socket and writes no file. */
31
- readonly readOnly: boolean;
32
- /** Moves the home pointer, so it demands `confirm: true`. */
33
- readonly guarded: boolean;
34
- }
35
- /**
36
- * The exposed surface. Every CLI command is here except `help` and `version`,
37
- * which an MCP client gets from `initialize` and `tools/list` instead.
38
- */
39
- export declare const TOOLS: readonly ToolDefinition[];
40
- /** The CLI option a tool argument stands for. */
41
- export declare function optionName(argument: string): string;
42
- export declare function inputSchema(tool: ToolDefinition): Record<string, unknown>;
43
- /**
44
- * Turns tool arguments into the argv a person would have typed.
45
- *
46
- * Unknown keys are rejected here rather than dropped: a model that invented an
47
- * argument has misunderstood the tool, and silently ignoring it would publish
48
- * something other than what it asked for.
49
- */
50
- export declare function buildArgv(tool: ToolDefinition, args: Record<string, unknown>): readonly string[];
51
- /**
52
- * Runs one tool and returns its MCP result.
53
- *
54
- * The host handed to the dispatch captures output instead of writing it: the
55
- * command's own rendering never reaches stdout, which belongs to the protocol.
56
- */
57
- export declare function callTool(host: CliHost, name: unknown, rawArguments: unknown): Promise<Record<string, unknown>>;
58
- export interface Message {
59
- /**
60
- * Declared because every conforming client sends it, and not policed: the
61
- * method name is what routes a message, so rejecting a mislabelled version
62
- * would buy an interop failure and no safety property.
63
- */
64
- readonly jsonrpc?: unknown;
65
- readonly id?: unknown;
66
- readonly method?: unknown;
67
- readonly params?: unknown;
68
- }
69
- /**
70
- * Handles one decoded message.
71
- *
72
- * Returns the response to write, or `undefined` for a notification — a
73
- * JSON-RPC notification carries no id and must never be answered, not even to
74
- * report that it was not understood.
75
- */
76
- export declare function handleMessage(host: CliHost, message: Message): Promise<Record<string, unknown> | undefined>;
77
- /**
78
- * Splits a byte stream into JSON-RPC messages on newline boundaries.
79
- *
80
- * A message longer than {@link MAXIMUM_MESSAGE_BYTES} ends the session instead
81
- * of growing the buffer: the peer is either broken or hostile, and neither is
82
- * worth the memory.
83
- */
84
- export declare function messages(input: AsyncIterable<Uint8Array>): AsyncGenerator<string, void, undefined>;
85
- /**
86
- * Serves MCP until the input stream ends.
87
- *
88
- * Returns an exit code, like every other command. A closed stdin is the normal
89
- * way an MCP client shuts a server down, so it is success, not failure.
90
- */
91
- export declare function serve(host: CliHost, input: AsyncIterable<Uint8Array>): Promise<number>;
92
- export {};
93
- //# sourceMappingURL=mcp.d.ts.map
package/dist/mcp.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AA4BA,OAAO,EAKL,KAAK,OAAO,EAEb,MAAM,WAAW,CAAC;AAEnB,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAE/C,KAAK,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErD,UAAU,YAAY;IACpB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAmCD;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EA+L1C,CAAC;AAEF,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAYD,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzE;AAkBD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,SAAS,MAAM,EAAE,CAsDnB;AAoBD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoClC;AAOD,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAoBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CA+B9C;AAED;;;;;;GAMG;AACH,wBAAuB,QAAQ,CAC7B,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAC/B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAqBzC;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
package/dist/mcp.js DELETED
@@ -1,524 +0,0 @@
1
- /**
2
- * The same commands, spoken over the Model Context Protocol.
3
- *
4
- * An agent that already runs a shell does not need this. An agent that speaks
5
- * MCP natively does: it gets typed arguments, a description per tool and a
6
- * closed JSON object per outcome, without a shell, without quoting and without
7
- * parsing prose. The transport is newline-delimited JSON-RPC 2.0 on stdio.
8
- *
9
- * The server is a translation layer and nothing else. It builds the exact argv
10
- * a person would have typed, hands it to {@link parseArguments} and then to the
11
- * same dispatch the CLI uses. There is no second implementation of an option,
12
- * a default or a validation rule to keep in sync — a tool call and a command
13
- * line either both succeed or both fail the same way.
14
- *
15
- * Two deliberate departures from the command line:
16
- *
17
- * - a tool that changes the home pointer refuses to run without `confirm:
18
- * true`. A model that hallucinated a publication then spends its mistake on
19
- * an argument check rather than on a generation;
20
- * - a failure comes back as a tool result carrying `isError`, not as a
21
- * JSON-RPC error. Protocol errors mean the call never happened; a publication
22
- * that reached the control plane and failed did happen, and the caller has to
23
- * see `kind` to know whether to reconcile.
24
- *
25
- * Nothing but framed JSON-RPC is ever written to stdout: a stray log line would
26
- * desynchronize the stream for the rest of the session.
27
- */
28
- import { CliError, EXIT_CODE, usageError } from './errors.js';
29
- import { CLI_VERSION, HOME_KEY_VARIABLE, dispatch, parseArguments, } from './main.js';
30
- /** Revision of the MCP specification this server implements. */
31
- export const MCP_PROTOCOL_VERSION = '2025-06-18';
32
- export const SERVER_NAME = 'miakapp';
33
- /**
34
- * A single JSON-RPC message may not exceed this. The transport is a pipe from
35
- * a process we do not control, so the reassembly buffer is bounded like every
36
- * other input in this package.
37
- */
38
- export const MAXIMUM_MESSAGE_BYTES = 1_048_576;
39
- const PROJECT_ARGUMENT = {
40
- name: 'project',
41
- type: 'string',
42
- required: false,
43
- description: 'Directory to start the miakapp.yaml search from. Defaults to the working directory.',
44
- };
45
- const EXPECTED_GENERATION = {
46
- name: 'expected_generation',
47
- type: 'integer',
48
- required: true,
49
- description: 'Generation the home pointer is expected to hold right now. The activation is a '
50
- + 'compare-and-set: if the real generation differs the call fails with kind "conflict" and '
51
- + 'changes nothing. Re-read the state, do not retry blindly.',
52
- };
53
- const GENERATION = {
54
- name: 'generation',
55
- type: 'integer',
56
- required: false,
57
- description: 'Generation to publish. Defaults to expected_generation + 1, and must be above it.',
58
- };
59
- const CONFIRM = {
60
- name: 'confirm',
61
- type: 'boolean',
62
- required: true,
63
- description: 'Must be true. Guard against an unintended call: this tool changes what every device in '
64
- + 'the home runs. Set it only when the owner asked for this exact publication.',
65
- };
66
- /**
67
- * The exposed surface. Every CLI command is here except `help` and `version`,
68
- * which an MCP client gets from `initialize` and `tools/list` instead.
69
- */
70
- export const TOOLS = [
71
- {
72
- name: 'miakapp_discover',
73
- title: 'Inventory an existing Node-RED house',
74
- command: 'discover',
75
- description: 'Read a Node-RED flows export and report what the house already is: its flows, its MQTT '
76
- + 'brokers with the topics their nodes actually reach, the v3 MiakAPI surface as V4 state '
77
- + 'and function candidates, and every node type the inventory does not model. Offline: it '
78
- + 'reads the file it is given, opens no socket and writes nothing. Needs no project file '
79
- + 'and no Home Key, because the house it describes has no V4 project yet. Run this before '
80
- + 'designing anything for a house you inherited.',
81
- args: [{
82
- name: 'flows',
83
- type: 'string',
84
- required: true,
85
- description: 'Path to flows.json, or to an Export > All flows download.',
86
- }],
87
- readOnly: true,
88
- guarded: false,
89
- },
90
- {
91
- name: 'miakapp_agent_pack',
92
- title: 'Install the pack into a repository',
93
- command: 'agent-pack',
94
- description: 'Install the Miakapp agent pack into a repository: the full guide as a file under '
95
- + '.miakapp/, a pointer to it in AGENTS.md and CLAUDE.md, and this MCP server in .mcp.json. '
96
- + 'Run it once in a home repository that does not have it, so the next agent opening that '
97
- + 'repository finds the rules and the tools already wired. It edits rather than replaces: '
98
- + 'prose outside the miakapp markers is kept, and every other server in .mcp.json is kept '
99
- + 'by name. Safe to run twice — a file already current is reported unchanged.',
100
- args: [{
101
- name: 'dir',
102
- type: 'string',
103
- required: false,
104
- description: 'Repository to install into. Defaults to the working directory.',
105
- }],
106
- readOnly: false,
107
- guarded: false,
108
- },
109
- {
110
- name: 'miakapp_init',
111
- title: 'Write the project file',
112
- command: 'init',
113
- description: 'Write miakapp.yaml in the project directory. Refuses to overwrite an existing one, so it '
114
- + 'is safe to call when unsure. Declares no requirements: grant them one at a time, as the '
115
- + 'component earns them.',
116
- args: [
117
- {
118
- name: 'home',
119
- type: 'string',
120
- required: true,
121
- description: 'Home ID the component is published to.',
122
- },
123
- {
124
- name: 'control_plane',
125
- type: 'string',
126
- required: true,
127
- description: 'Control-plane issuer, an https URL.',
128
- },
129
- {
130
- name: 'artifact',
131
- type: 'string',
132
- required: false,
133
- description: 'Built artifact path. Defaults to dist/component.js.',
134
- },
135
- {
136
- name: 'release',
137
- type: 'string',
138
- required: false,
139
- description: 'Initial release name. Defaults to 0.1.0.',
140
- },
141
- PROJECT_ARGUMENT,
142
- ],
143
- readOnly: false,
144
- guarded: false,
145
- },
146
- {
147
- name: 'miakapp_check',
148
- title: 'Validate the project and the artifact',
149
- command: 'check',
150
- description: 'Parse miakapp.yaml, verify the built artifact against the four ABI 1 rules the broker '
151
- + 'would reject anyway, and report the digest a publication would bind. Offline and free: '
152
- + 'run it in CI and before every publication. It never builds the component itself.',
153
- args: [PROJECT_ARGUMENT],
154
- readOnly: true,
155
- guarded: false,
156
- },
157
- {
158
- name: 'miakapp_release',
159
- title: 'Read one finalized release',
160
- command: 'release',
161
- description: 'Read the finalized release record for one digest: release name, ABI, size, requirements '
162
- + 'and finalization instant. This is the reconciliation read after a lost finalize '
163
- + 'response — call it before deciding that a publication did not happen.',
164
- args: [PROJECT_ARGUMENT],
165
- positional: {
166
- name: 'sha256',
167
- description: 'Artifact digest, 43 base64url characters.',
168
- },
169
- readOnly: true,
170
- guarded: false,
171
- },
172
- {
173
- name: 'miakapp_upload',
174
- title: 'Read one upload status',
175
- command: 'upload',
176
- description: 'Read the status of one upload: awaiting_upload, delivered or finalized. This is the read '
177
- + 'that tells a lost PUT from an upload that never arrived. Call it after any '
178
- + 'unknown_outcome, before touching the control plane again.',
179
- args: [PROJECT_ARGUMENT],
180
- positional: {
181
- name: 'upload_id',
182
- description: 'Upload ID returned when the capability was issued, 22 characters.',
183
- },
184
- readOnly: true,
185
- guarded: false,
186
- },
187
- {
188
- name: 'miakapp_publish',
189
- title: 'Publish and activate the built artifact',
190
- command: 'publish',
191
- description: 'Upload the built artifact, finalize it and activate it as the new generation, in one run. '
192
- + 'Changes what every device in the home runs. Requires MIAKAPP_HOME_KEY in the '
193
- + 'environment. Run miakapp_check first; this tool does not build the component.',
194
- args: [
195
- EXPECTED_GENERATION,
196
- GENERATION,
197
- {
198
- name: 'release',
199
- type: 'string',
200
- required: false,
201
- description: 'Release name for this publication. Defaults to component.release.',
202
- },
203
- PROJECT_ARGUMENT,
204
- CONFIRM,
205
- ],
206
- readOnly: false,
207
- guarded: true,
208
- },
209
- {
210
- name: 'miakapp_activate',
211
- title: 'Activate an already finalized digest',
212
- command: 'activate',
213
- description: 'Point the home at a digest that was already finalized, at a new generation. Uploads '
214
- + 'nothing. Use it to promote a release that was published but not activated.',
215
- args: [
216
- {
217
- name: 'sha256',
218
- type: 'string',
219
- required: true,
220
- description: 'Finalized artifact digest, 43 base64url characters.',
221
- },
222
- EXPECTED_GENERATION,
223
- GENERATION,
224
- PROJECT_ARGUMENT,
225
- CONFIRM,
226
- ],
227
- readOnly: false,
228
- guarded: true,
229
- },
230
- {
231
- name: 'miakapp_rollback',
232
- title: 'Return the home to a known-good digest',
233
- command: 'rollback',
234
- description: 'The same operation as miakapp_activate, named for the moment it matters: put the home '
235
- + 'back on a digest that was working. A rollback is a forward activation of an older '
236
- + 'artifact, so it takes a new generation too — generations never go backwards.',
237
- args: [
238
- {
239
- name: 'sha256',
240
- type: 'string',
241
- required: true,
242
- description: 'Digest of the release to return to, 43 base64url characters.',
243
- },
244
- EXPECTED_GENERATION,
245
- GENERATION,
246
- PROJECT_ARGUMENT,
247
- CONFIRM,
248
- ],
249
- readOnly: false,
250
- guarded: true,
251
- },
252
- ];
253
- /** The CLI option a tool argument stands for. */
254
- export function optionName(argument) {
255
- return argument.replaceAll('_', '-');
256
- }
257
- function schemaProperty(argument) {
258
- if (argument.type === 'integer') {
259
- return { type: 'integer', minimum: 0, description: argument.description };
260
- }
261
- if (argument.type === 'boolean') {
262
- return { type: 'boolean', description: argument.description };
263
- }
264
- return { type: 'string', minLength: 1, description: argument.description };
265
- }
266
- export function inputSchema(tool) {
267
- const properties = {};
268
- const required = [];
269
- if (tool.positional !== undefined) {
270
- properties[tool.positional.name] = {
271
- type: 'string',
272
- minLength: 1,
273
- description: tool.positional.description,
274
- };
275
- required.push(tool.positional.name);
276
- }
277
- for (const argument of tool.args) {
278
- properties[argument.name] = schemaProperty(argument);
279
- if (argument.required)
280
- required.push(argument.name);
281
- }
282
- return {
283
- type: 'object',
284
- properties,
285
- required,
286
- additionalProperties: false,
287
- };
288
- }
289
- function descriptor(tool) {
290
- return {
291
- name: tool.name,
292
- title: tool.title,
293
- description: tool.description,
294
- inputSchema: inputSchema(tool),
295
- annotations: {
296
- title: tool.title,
297
- readOnlyHint: tool.readOnly,
298
- destructiveHint: tool.guarded,
299
- idempotentHint: false,
300
- openWorldHint: !tool.readOnly || tool.command === 'release' || tool.command === 'upload',
301
- },
302
- };
303
- }
304
- /**
305
- * Turns tool arguments into the argv a person would have typed.
306
- *
307
- * Unknown keys are rejected here rather than dropped: a model that invented an
308
- * argument has misunderstood the tool, and silently ignoring it would publish
309
- * something other than what it asked for.
310
- */
311
- export function buildArgv(tool, args) {
312
- const byName = new Map(tool.args.map((argument) => [argument.name, argument]));
313
- const argv = [tool.command];
314
- const positional = tool.positional;
315
- for (const key of Object.keys(args)) {
316
- if (key === positional?.name)
317
- continue;
318
- if (!byName.has(key)) {
319
- throw usageError(`Unknown argument ${key} for ${tool.name}`, `${tool.name} accepts ${[...byName.keys()].join(', ')}.`);
320
- }
321
- }
322
- if (positional !== undefined) {
323
- const value = args[positional.name];
324
- if (typeof value !== 'string' || value === '') {
325
- throw usageError(`${positional.name} is required and must be a non-empty string`);
326
- }
327
- argv.push(value);
328
- }
329
- for (const argument of tool.args) {
330
- const value = args[argument.name];
331
- if (argument.type === 'boolean') {
332
- // A guard is not an option: it is checked here and never reaches the argv,
333
- // so the command line keeps exactly the shape it had before MCP existed.
334
- if (value !== true) {
335
- throw usageError(`${argument.name} must be set to true`, 'This tool changes what every device in the home runs, and will not act without an '
336
- + 'explicit confirmation from the caller.');
337
- }
338
- continue;
339
- }
340
- if (value === undefined) {
341
- if (argument.required)
342
- throw usageError(`${argument.name} is required`);
343
- continue;
344
- }
345
- if (argument.type === 'integer') {
346
- if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
347
- throw usageError(`${argument.name} must be a non-negative integer`);
348
- }
349
- argv.push(`--${optionName(argument.name)}`, String(value));
350
- continue;
351
- }
352
- if (typeof value !== 'string' || value === '') {
353
- throw usageError(`${argument.name} must be a non-empty string`);
354
- }
355
- argv.push(`--${optionName(argument.name)}`, value);
356
- }
357
- return argv;
358
- }
359
- function failureJson(error) {
360
- return {
361
- ok: false,
362
- kind: error.kind,
363
- exit_code: error.exitCode,
364
- message: error.message,
365
- ...(error.remedy === undefined ? {} : { remedy: error.remedy }),
366
- };
367
- }
368
- function toolResult(payload, isError) {
369
- return {
370
- content: [{ type: 'text', text: JSON.stringify(payload) }],
371
- structuredContent: payload,
372
- isError,
373
- };
374
- }
375
- /**
376
- * Runs one tool and returns its MCP result.
377
- *
378
- * The host handed to the dispatch captures output instead of writing it: the
379
- * command's own rendering never reaches stdout, which belongs to the protocol.
380
- */
381
- export async function callTool(host, name, rawArguments) {
382
- const tool = TOOLS.find((candidate) => candidate.name === name);
383
- if (tool === undefined) {
384
- return toolResult(failureJson(usageError(`Unknown tool: ${typeof name === 'string' ? name : 'a non-string name'}`, `This server exposes ${TOOLS.map((item) => item.name).join(', ')}.`)), true);
385
- }
386
- const args = rawArguments === undefined || rawArguments === null ? {} : rawArguments;
387
- if (typeof args !== 'object' || Array.isArray(args)) {
388
- return toolResult(failureJson(usageError('arguments must be a JSON object')), true);
389
- }
390
- let result;
391
- try {
392
- const argv = buildArgv(tool, args);
393
- result = await dispatch(silentHost(host), parseArguments(argv));
394
- }
395
- catch (error) {
396
- if (error instanceof CliError)
397
- return toolResult(failureJson(error), true);
398
- const message = error instanceof Error ? error.message : 'Unrecognized failure';
399
- return toolResult(failureJson(new CliError('unknown_outcome', `The command ended in an unhandled failure: ${message}`, 'Reconcile with miakapp_release or miakapp_upload before publishing again.')), true);
400
- }
401
- return toolResult({ ok: true, command: tool.command, summary: result.summary, ...result.json }, false);
402
- }
403
- /** The dispatch never prints; the protocol owns both streams of this process. */
404
- function silentHost(host) {
405
- return { ...host, write: () => { }, writeError: () => { } };
406
- }
407
- function response(id, result) {
408
- return { jsonrpc: '2.0', id, result };
409
- }
410
- function errorResponse(id, code, message) {
411
- return { jsonrpc: '2.0', id: id ?? null, error: { code, message } };
412
- }
413
- const INSTRUCTIONS = 'Publish and roll back one Miakapp home component. Start with miakapp_discover on a house '
414
- + 'that already exists, then miakapp_check before every publication. A publication is a '
415
- + 'compare-and-set on the home generation: when a call fails with kind "conflict" the state '
416
- + 'moved under you, so read it again rather than retrying. When a call fails with kind '
417
- + '"unknown_outcome" the effect is undetermined — call miakapp_upload or miakapp_release to '
418
- + 'find out what happened before acting. Every result is a closed JSON object with a stable '
419
- + `"kind"; branch on that, never on the prose. Publishing needs ${HOME_KEY_VARIABLE} in this `
420
- + 'server\'s environment; it is never an argument and never printed.';
421
- /**
422
- * Handles one decoded message.
423
- *
424
- * Returns the response to write, or `undefined` for a notification — a
425
- * JSON-RPC notification carries no id and must never be answered, not even to
426
- * report that it was not understood.
427
- */
428
- export async function handleMessage(host, message) {
429
- const { method, id } = message;
430
- const isNotification = id === undefined || id === null;
431
- if (typeof method !== 'string') {
432
- return isNotification ? undefined : errorResponse(id, -32600, 'Missing method');
433
- }
434
- if (isNotification)
435
- return undefined;
436
- switch (method) {
437
- case 'initialize':
438
- return response(id, {
439
- protocolVersion: MCP_PROTOCOL_VERSION,
440
- capabilities: { tools: { listChanged: false } },
441
- serverInfo: { name: SERVER_NAME, title: 'Miakapp', version: CLI_VERSION },
442
- instructions: INSTRUCTIONS,
443
- });
444
- case 'ping':
445
- return response(id, {});
446
- case 'tools/list':
447
- return response(id, { tools: TOOLS.map(descriptor) });
448
- case 'tools/call': {
449
- const params = message.params;
450
- if (typeof params !== 'object' || params === null || Array.isArray(params)) {
451
- return errorResponse(id, -32602, 'tools/call requires a params object');
452
- }
453
- const { name, arguments: args } = params;
454
- return response(id, await callTool(host, name, args));
455
- }
456
- default:
457
- return errorResponse(id, -32601, `Unknown method: ${method}`);
458
- }
459
- }
460
- /**
461
- * Splits a byte stream into JSON-RPC messages on newline boundaries.
462
- *
463
- * A message longer than {@link MAXIMUM_MESSAGE_BYTES} ends the session instead
464
- * of growing the buffer: the peer is either broken or hostile, and neither is
465
- * worth the memory.
466
- */
467
- export async function* messages(input) {
468
- const decoder = new TextDecoder('utf-8');
469
- let buffer = '';
470
- for await (const chunk of input) {
471
- buffer += decoder.decode(chunk, { stream: true });
472
- let newline = buffer.indexOf('\n');
473
- while (newline !== -1) {
474
- const line = buffer.slice(0, newline).trim();
475
- buffer = buffer.slice(newline + 1);
476
- if (line !== '')
477
- yield line;
478
- newline = buffer.indexOf('\n');
479
- }
480
- if (buffer.length > MAXIMUM_MESSAGE_BYTES) {
481
- throw new CliError('contract', `A single JSON-RPC message exceeded ${MAXIMUM_MESSAGE_BYTES} bytes`);
482
- }
483
- }
484
- const last = buffer.trim();
485
- if (last !== '')
486
- yield last;
487
- }
488
- /**
489
- * Serves MCP until the input stream ends.
490
- *
491
- * Returns an exit code, like every other command. A closed stdin is the normal
492
- * way an MCP client shuts a server down, so it is success, not failure.
493
- */
494
- export async function serve(host, input) {
495
- const write = (payload) => {
496
- host.write(`${JSON.stringify(payload)}\n`);
497
- };
498
- try {
499
- for await (const line of messages(input)) {
500
- let message;
501
- try {
502
- message = JSON.parse(line);
503
- }
504
- catch {
505
- write(errorResponse(null, -32700, 'Parse error'));
506
- continue;
507
- }
508
- if (typeof message !== 'object' || message === null || Array.isArray(message)) {
509
- write(errorResponse(null, -32600, 'A JSON-RPC message must be an object'));
510
- continue;
511
- }
512
- const reply = await handleMessage(host, message);
513
- if (reply !== undefined)
514
- write(reply);
515
- }
516
- return EXIT_CODE.success;
517
- }
518
- catch (error) {
519
- const message = error instanceof Error ? error.message : 'Unrecognized failure';
520
- host.writeError(`miakapp: mcp: ${message}\n`);
521
- return error instanceof CliError ? error.exitCode : EXIT_CODE.unknown_outcome;
522
- }
523
- }
524
- //# sourceMappingURL=mcp.js.map