@amalgm/shell 0.1.113 → 0.1.115

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 (78) hide show
  1. package/PURPOSE.md +67 -6
  2. package/README.md +38 -7
  3. package/dist/authorization/device-key.d.ts +19 -0
  4. package/dist/authorization/device-key.js +81 -0
  5. package/dist/authorization/device-key.js.map +1 -0
  6. package/dist/authorization/index.d.ts +65 -0
  7. package/dist/authorization/index.js +63 -0
  8. package/dist/authorization/index.js.map +1 -0
  9. package/dist/authorization/issuer.d.ts +11 -0
  10. package/dist/authorization/issuer.js +76 -0
  11. package/dist/authorization/issuer.js.map +1 -0
  12. package/dist/authorization/key-store.d.ts +15 -0
  13. package/dist/authorization/key-store.js +148 -0
  14. package/dist/authorization/key-store.js.map +1 -0
  15. package/dist/authorization/recovery-client.d.ts +19 -0
  16. package/dist/authorization/recovery-client.js +102 -0
  17. package/dist/authorization/recovery-client.js.map +1 -0
  18. package/dist/authorization/recovery-host.d.ts +28 -0
  19. package/dist/authorization/recovery-host.js +93 -0
  20. package/dist/authorization/recovery-host.js.map +1 -0
  21. package/dist/authorization/recovery.d.ts +13 -0
  22. package/dist/authorization/recovery.js +27 -0
  23. package/dist/authorization/recovery.js.map +1 -0
  24. package/dist/authorization/secret-process.d.ts +2 -0
  25. package/dist/authorization/secret-process.js +32 -0
  26. package/dist/authorization/secret-process.js.map +1 -0
  27. package/dist/boot.d.ts +19 -11
  28. package/dist/boot.js +34 -25
  29. package/dist/boot.js.map +1 -1
  30. package/dist/builtin-agents.d.ts +3 -0
  31. package/dist/builtin-agents.js +15 -0
  32. package/dist/builtin-agents.js.map +1 -0
  33. package/dist/chat-composition.d.ts +19 -0
  34. package/dist/chat-composition.js +83 -0
  35. package/dist/chat-composition.js.map +1 -0
  36. package/dist/chat-host.d.ts +9 -25
  37. package/dist/chat-host.js +12 -158
  38. package/dist/chat-host.js.map +1 -1
  39. package/dist/cli.js +21 -13
  40. package/dist/cli.js.map +1 -1
  41. package/dist/content-cache-host.d.ts +7 -0
  42. package/dist/content-cache-host.js +23 -1
  43. package/dist/content-cache-host.js.map +1 -1
  44. package/dist/credentials-host.d.ts +1 -5
  45. package/dist/credentials-host.js +1 -5
  46. package/dist/credentials-host.js.map +1 -1
  47. package/dist/entity-record-store.d.ts +2 -0
  48. package/dist/entity-record-store.js +15 -0
  49. package/dist/entity-record-store.js.map +1 -1
  50. package/dist/forward.js +1 -1
  51. package/dist/forward.js.map +1 -1
  52. package/dist/index.d.ts +7 -6
  53. package/dist/index.js +2 -2
  54. package/dist/index.js.map +1 -1
  55. package/dist/machine-host.d.ts +29 -0
  56. package/dist/machine-host.js +240 -10
  57. package/dist/machine-host.js.map +1 -1
  58. package/dist/parity.d.ts +1 -5
  59. package/dist/parity.js +4 -41
  60. package/dist/parity.js.map +1 -1
  61. package/dist/release-catalog.js +7 -4
  62. package/dist/release-catalog.js.map +1 -1
  63. package/dist/runtime-command-host.d.ts +11 -0
  64. package/dist/runtime-command-host.js +65 -0
  65. package/dist/runtime-command-host.js.map +1 -1
  66. package/dist/user-ground-host.js +60 -5
  67. package/dist/user-ground-host.js.map +1 -1
  68. package/npm-shrinkwrap.json +2326 -0
  69. package/package.json +15 -5
  70. package/dist/chat-payloads-host.d.ts +0 -8
  71. package/dist/chat-payloads-host.js +0 -76
  72. package/dist/chat-payloads-host.js.map +0 -1
  73. package/dist/chat-relay-host.d.ts +0 -24
  74. package/dist/chat-relay-host.js +0 -90
  75. package/dist/chat-relay-host.js.map +0 -1
  76. package/dist/drivers/claude-code.d.ts +0 -27
  77. package/dist/drivers/claude-code.js +0 -72
  78. package/dist/drivers/claude-code.js.map +0 -1
@@ -2,13 +2,25 @@ import { randomBytes, randomUUID } from "node:crypto";
2
2
  import { existsSync, readdirSync, rmSync } from "node:fs";
3
3
  import { homedir as osHomedir, hostname, platform, release } from "node:os";
4
4
  import { join, resolve } from "node:path";
5
+ import { Agents } from "@amalgm/agents";
6
+ import { createRestServer as createAgentsRest } from "@amalgm/agents/http";
7
+ import { createMcpServer as createAgentsMcp } from "@amalgm/agents/mcp";
5
8
  import { buildRootManifest, joinMachine, mergeRecordAuth, resumeMachine, scopedAmalgmDir, userMachineDir, } from "@amalgm/core/identity";
6
9
  import { addFilesWorkspace, registerFilesWorkspace, } from "@amalgm/live/files";
10
+ import { createMcpServer as createToolsMcp } from "@amalgm/tools";
11
+ import { createToolboxHttpServer } from "@amalgm/tools/http";
7
12
  import { atomicJson, atomicJsonSet, ensurePrivateDir, readJson, } from "./filesystem.js";
8
13
  import { emitFilesStage, } from "./files-observability.js";
9
14
  import { FilesStageRecorder, serializeStages } from "./files-trace.js";
15
+ import { createShellChatComposition } from "./chat-composition.js";
16
+ import { createShellAuthorization, loadInstallationDeviceKey, } from "./authorization/index.js";
17
+ import { recoverMachineAuthorization, } from "./authorization/recovery-host.js";
18
+ import { installBuiltinAgents } from "./builtin-agents.js";
19
+ import { forwardMount } from "./forward.js";
10
20
  import { createGateway } from "./gateway.js";
11
- import { callRuntimeCommand, publishRuntimeCommands, unpublishRuntimeCommands, } from "./runtime-command-host.js";
21
+ import { localMount } from "./local-host.js";
22
+ import { createPtyHost } from "./pty-host.js";
23
+ import { callRuntimeCommand, inspectRuntimeCommands, publishRuntimeCommands, unpublishRuntimeCommands, } from "./runtime-command-host.js";
12
24
  import { shellReleaseCatalog, shellReleaseVerifier } from "./release-catalog.js";
13
25
  import { UserGroundHost, } from "./user-ground-host.js";
14
26
  /** The production effects around Core's machine-setup operation. It does not
@@ -43,12 +55,41 @@ export class MachineHost {
43
55
  atomicJson(paths.status, { ready: true, updatedAt: new Date().toISOString() });
44
56
  },
45
57
  };
58
+ const withRegistrationKey = async (body) => {
59
+ const deviceId = text(body.device_id);
60
+ if (!deviceId)
61
+ throw Object.assign(new Error("registration device identity is missing"), {
62
+ code: "device_missing",
63
+ });
64
+ const signer = await loadInstallationDeviceKey(this.authorizationKeyOptions(deviceId));
65
+ return { ...body, authorization_key_thumbprint: signer.keyThumbprint };
66
+ };
46
67
  const controlPlane = {
47
- start: (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/cli/start", body),
48
- poll: (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/cli/poll", body),
49
- redeem: (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/redeem", body),
68
+ start: async (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/cli/start", await withRegistrationKey(body)),
69
+ poll: async (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/cli/poll", await withRegistrationKey(body)),
70
+ redeem: async (body) => postJson(this.options.appUrl, "/api/auth/computer-setup/redeem", await withRegistrationKey(body)),
50
71
  register: async (token, body) => {
51
- const response = await postJson(this.options.appUrl, "/api/computers/register", body, token);
72
+ const deviceId = text(body.device_id);
73
+ if (!deviceId)
74
+ throw Object.assign(new Error("registration device identity is missing"), {
75
+ code: "device_missing",
76
+ });
77
+ const signer = await loadInstallationDeviceKey({
78
+ stateDir: join(this.amalgmRoot, ".amalgm"),
79
+ deviceId,
80
+ ...(this.options.authorizationKeyStore
81
+ ? { keyStore: this.options.authorizationKeyStore }
82
+ : {}),
83
+ ...(this.options.authorizationPlatform
84
+ ? { platform: this.options.authorizationPlatform }
85
+ : this.options.homedir ? { platform: "linux" } : {}),
86
+ });
87
+ const registerUrl = new URL("/api/computers/register", `${this.options.appUrl.replace(/\/+$/, "")}/`).toString();
88
+ const proof = await signer.signProof({ method: "POST", url: registerUrl });
89
+ const response = await postJson(this.options.appUrl, "/api/computers/register", {
90
+ ...body,
91
+ authorization_key_thumbprint: signer.keyThumbprint,
92
+ }, token, { dpop: proof });
52
93
  const email = normalizeEmail(response.user_email);
53
94
  if (!email)
54
95
  throw Object.assign(new Error("registration did not return a user email"), {
@@ -142,9 +183,81 @@ export class MachineHost {
142
183
  this.resolveUserForResume();
143
184
  return resumeMachine(this.ports);
144
185
  }
186
+ async recoverAuthorizationKey(input = {}) {
187
+ this.resolveUserForResume();
188
+ const machine = await this.loadMachine();
189
+ if (!machine)
190
+ throw Object.assign(new Error("authorization recovery requires a registered machine"), {
191
+ code: "authorization_recovery_machine_missing",
192
+ });
193
+ return recoverMachineAuthorization({
194
+ machine,
195
+ appUrl: this.options.appUrl,
196
+ runtimeVersion: this.options.runtimeVersion,
197
+ runtimeLabel: this.options.runtimeLabel ?? "main",
198
+ branch: this.options.branch ?? "main",
199
+ fallbackName: defaultMachineName(),
200
+ fallbackPlatform: `${platform()}-${release()}`,
201
+ ...this.authorizationStorageOptions(),
202
+ ...(input.setupCode ? { setupCode: input.setupCode } : {}),
203
+ showSetup: (setup) => this.options.showSetup?.(setup),
204
+ save: (next) => this.saveMachine(next),
205
+ });
206
+ }
145
207
  selectedPaths() {
146
208
  return this.paths();
147
209
  }
210
+ /** One read-only answer for platform adapters deciding whether to adopt a
211
+ * running Shell, resume a durable registration, or begin installation. */
212
+ async status() {
213
+ const user = this.requireSelectedUser();
214
+ const userRoot = resolve(scopedAmalgmDir(this.amalgmRoot, user));
215
+ const device = readJson(this.deviceFile);
216
+ const deviceId = text(device?.device_id) || null;
217
+ if (!deviceId) {
218
+ return {
219
+ user,
220
+ deviceId: null,
221
+ registration: "absent",
222
+ running: false,
223
+ runtimePid: null,
224
+ runtimePort: null,
225
+ deviceFile: this.deviceFile,
226
+ userRoot,
227
+ machineDir: null,
228
+ database: null,
229
+ };
230
+ }
231
+ const paths = this.paths(user);
232
+ const publicRecord = readJson(paths.publicRecord);
233
+ const secretAuth = readJson(paths.secretAuth);
234
+ const installation = readJson(paths.installation);
235
+ const storedStatus = readJson(paths.status);
236
+ const complete = Boolean(publicRecord && secretAuth && installation && storedStatus);
237
+ const registration = !complete
238
+ ? (publicRecord || secretAuth || installation || storedStatus ? "incomplete" : "absent")
239
+ : storedStatus?.ready === true ? "ready" : "incomplete";
240
+ const runtime = registration === "ready" && deviceId
241
+ ? await inspectRuntimeCommands({
242
+ userRoot: paths.userRoot,
243
+ deviceId,
244
+ runtimeLabel: this.options.runtimeLabel ?? "main",
245
+ userScope: user,
246
+ })
247
+ : { published: false, running: false, pid: null, port: null };
248
+ return {
249
+ user,
250
+ deviceId,
251
+ registration,
252
+ running: runtime.running,
253
+ runtimePid: runtime.pid,
254
+ runtimePort: runtime.port,
255
+ deviceFile: this.deviceFile,
256
+ userRoot: paths.userRoot,
257
+ machineDir: paths.machineDir,
258
+ database: join(paths.machineDir, "live", "identity.db"),
259
+ };
260
+ }
148
261
  filesCommandPorts() {
149
262
  if (!this.groundHost)
150
263
  throw new Error("Files commands require a resumed authenticated machine");
@@ -278,6 +391,26 @@ export class MachineHost {
278
391
  if (!existing?.installationId)
279
392
  atomicJson(manifestFile, manifest);
280
393
  }
394
+ authorizationKeyOptions(deviceId) {
395
+ return {
396
+ ...this.authorizationStorageOptions(),
397
+ deviceId,
398
+ };
399
+ }
400
+ authorizationStorageOptions() {
401
+ return {
402
+ stateDir: join(this.amalgmRoot, ".amalgm"),
403
+ ...(this.options.authorizationKeyStore
404
+ ? { keyStore: this.options.authorizationKeyStore }
405
+ : {}),
406
+ ...(this.options.authorizationRecoveryKeyStore
407
+ ? { recoveryKeyStore: this.options.authorizationRecoveryKeyStore }
408
+ : {}),
409
+ ...(this.options.authorizationPlatform
410
+ ? { platform: this.options.authorizationPlatform }
411
+ : this.options.homedir ? { platform: "linux" } : {}),
412
+ };
413
+ }
281
414
  paths(email = this.requireSelectedUser()) {
282
415
  const userRoot = resolve(scopedAmalgmDir(this.amalgmRoot, email));
283
416
  const device = readJson(this.deviceFile);
@@ -363,10 +496,12 @@ export class MachineHost {
363
496
  const deviceId = text(record.device_id);
364
497
  const tunnelUrl = text(record.tunnel_url);
365
498
  const tunnelToken = text(record.tunnel_token);
366
- const proxyToken = text(record.proxy_token);
367
- if (!userId || !userEmail || !computerId || !deviceId || !tunnelUrl || !tunnelToken || !proxyToken) {
499
+ const computerAuthToken = text(record.computer_auth_token);
500
+ if (!userId || !userEmail || !computerId || !deviceId || !tunnelUrl || !tunnelToken || !computerAuthToken) {
368
501
  throw Object.assign(new Error("runtime identity or credentials are incomplete"), { code: "runtime_identity_incomplete" });
369
502
  }
503
+ const userRoot = this.paths(userEmail).userRoot;
504
+ const workspaceRoot = join(userRoot, "workspaces");
370
505
  const runtimeToken = randomBytes(32).toString("base64url");
371
506
  const env = {
372
507
  ...process.env,
@@ -378,11 +513,68 @@ export class MachineHost {
378
513
  AMALGM_RUNTIME_LABEL: this.options.runtimeLabel ?? "main",
379
514
  AMALGM_BRANCH: this.options.branch ?? "main",
380
515
  AMALGM_RUNTIME_TOKEN: runtimeToken,
381
- AMALGM_PROXY_TOKEN: proxyToken,
382
516
  AMALGM_PROXY_URL: this.options.proxyUrl ?? "https://amalgm-api-proxy-v2.fly.dev",
517
+ AMALGM_WORKSPACES_DIR: workspaceRoot,
518
+ };
519
+ const pty = createPtyHost({
520
+ env,
521
+ defaultCwd: userRoot,
522
+ });
523
+ const services = new Set(machine.installation.services);
524
+ const serviceStateRoot = join(this.paths(userEmail).machineDir, "services");
525
+ const agentsService = services.has("agents")
526
+ ? new Agents({ stateDir: join(serviceStateRoot, "agents") })
527
+ : null;
528
+ if (agentsService)
529
+ installBuiltinAgents(agentsService);
530
+ const agentsMcp = agentsService ? createAgentsMcp({ agents: agentsService }) : null;
531
+ const agentsRest = agentsService ? createAgentsRest({ agents: agentsService }) : null;
532
+ const agentsAddress = agentsRest ? await agentsRest.listen(0, "127.0.0.1") : null;
533
+ const toolsMcp = services.has("tools")
534
+ ? createToolsMcp({ stateDir: join(serviceStateRoot, "tools") })
535
+ : null;
536
+ const toolsHttp = toolsMcp ? createToolboxHttpServer({ toolbox: toolsMcp.toolbox }) : null;
537
+ const toolsAddress = toolsHttp ? await toolsHttp.listen(0, "127.0.0.1") : null;
538
+ if (services.has("chat") && (!agentsService || !toolsMcp)) {
539
+ throw new Error("The Chat release requires Agents and Tools");
540
+ }
541
+ const authorization = await createShellAuthorization({
542
+ stateDir: join(this.amalgmRoot, ".amalgm"),
543
+ appUrl: this.options.appUrl,
544
+ computerAuthToken,
545
+ computerId,
546
+ deviceId,
547
+ ...(this.options.authorizationKeyStore
548
+ ? { keyStore: this.options.authorizationKeyStore }
549
+ : {}),
550
+ ...(this.options.authorizationPlatform
551
+ ? { platform: this.options.authorizationPlatform }
552
+ : this.options.homedir ? { platform: "linux" } : {}),
553
+ });
554
+ let gateway = null;
555
+ const gatewayPort = () => {
556
+ const address = gateway?.address();
557
+ if (!address || typeof address === "string")
558
+ throw new Error("runtime gateway is not listening");
559
+ return address.port;
383
560
  };
384
- const gateway = createGateway({
561
+ const chat = services.has("chat") && agentsService && toolsMcp
562
+ ? await createShellChatComposition({
563
+ ownerUserId: userId,
564
+ computerId,
565
+ stateDir: join(serviceStateRoot, "chat"),
566
+ agents: agentsService,
567
+ toolbox: toolsMcp.toolbox,
568
+ ...(this.options.chatRuntime ? { runtime: this.options.chatRuntime } : {}),
569
+ localBaseUrl: () => `http://127.0.0.1:${gatewayPort()}`,
570
+ credentialBroker: authorization,
571
+ proxyBaseUrl: env.AMALGM_PROXY_URL,
572
+ amalgmDir: this.paths(userEmail).userRoot,
573
+ })
574
+ : null;
575
+ gateway = createGateway({
385
576
  env,
577
+ exemptPrefixes: ["/chat/egress/"],
386
578
  mounts: [
387
579
  {
388
580
  prefix: "/entities/register",
@@ -392,7 +584,31 @@ export class MachineHost {
392
584
  prefix: "/entities/add",
393
585
  handle: (body) => this.journey(body, () => this.addWorkspace(bodyText(body, "uuid"), bodyText(body, "path"))),
394
586
  },
587
+ ...(agentsMcp ? [{
588
+ prefix: "/mcp/agents",
589
+ handle: (body) => agentsMcp.handle(body),
590
+ }] : []),
591
+ ...(toolsMcp ? [{
592
+ prefix: "/mcp/tools",
593
+ handle: (body) => toolsMcp.handle(body),
594
+ }] : []),
595
+ ...(agentsAddress ? [
596
+ forwardMount("/agents", () => agentsAddress.port, { root: "/v1/agents" }),
597
+ forwardMount("/agent-config", () => agentsAddress.port, { root: "/agent-config" }),
598
+ forwardMount("/agent-bundles", () => agentsAddress.port, { root: "/agent-bundles" }),
599
+ forwardMount("/skills", () => agentsAddress.port, { root: "/skills" }),
600
+ ] : []),
601
+ ...(toolsAddress ? [forwardMount("/toolbox", () => toolsAddress.port, { root: "/toolbox" })] : []),
602
+ ...(chat?.mounts() ?? []),
603
+ ...(services.has("core") ? [localMount({
604
+ home: this.homedir,
605
+ env,
606
+ amalgmPath: userRoot,
607
+ workspaceRoot,
608
+ })] : []),
609
+ pty.mount,
395
610
  ],
611
+ upgrades: [pty.upgrade],
396
612
  });
397
613
  let commandPublication = null;
398
614
  try {
@@ -429,9 +645,15 @@ export class MachineHost {
429
645
  if (commandPublication)
430
646
  unpublishRuntimeCommands(commandPublication);
431
647
  await this.groundHost?.stopRuntimeTunnel();
648
+ pty.close();
432
649
  const closed = new Promise((resolve) => gateway.close(() => resolve()));
433
650
  gateway.closeAllConnections();
434
651
  await closed;
652
+ await chat?.close();
653
+ await agentsRest?.close();
654
+ await toolsHttp?.close();
655
+ agentsService?.close();
656
+ toolsMcp?.toolbox.close();
435
657
  },
436
658
  };
437
659
  this.running.add(running);
@@ -441,11 +663,17 @@ export class MachineHost {
441
663
  if (commandPublication)
442
664
  unpublishRuntimeCommands(commandPublication);
443
665
  await this.groundHost?.stopRuntimeTunnel().catch(() => undefined);
666
+ pty.close();
444
667
  if (gateway.listening) {
445
668
  const closed = new Promise((resolve) => gateway.close(() => resolve()));
446
669
  gateway.closeAllConnections();
447
670
  await closed;
448
671
  }
672
+ await chat?.close().catch(() => undefined);
673
+ await agentsRest?.close().catch(() => undefined);
674
+ await toolsHttp?.close().catch(() => undefined);
675
+ agentsService?.close();
676
+ toolsMcp?.toolbox.close();
449
677
  throw error;
450
678
  }
451
679
  }
@@ -466,13 +694,15 @@ function bodyText(body, key) {
466
694
  throw new Error(`${key} is required`);
467
695
  return value;
468
696
  }
469
- async function postJson(baseUrl, path, body, token = "") {
697
+ async function postJson(baseUrl, path, body, token = "", extraHeaders = {}) {
470
698
  const response = await fetch(`${baseUrl.replace(/\/$/, "")}${path}`, {
471
699
  method: "POST",
700
+ redirect: "error",
472
701
  headers: {
473
702
  accept: "application/json",
474
703
  "content-type": "application/json",
475
704
  ...(token ? { authorization: `Bearer ${token}` } : {}),
705
+ ...extraHeaders,
476
706
  },
477
707
  body: JSON.stringify(body),
478
708
  });
@@ -1 +1 @@
1
- {"version":3,"file":"machine-host.js","sourceRoot":"","sources":["../src/machine-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAqB,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,GAQf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,cAAc,GAIf,MAAM,uBAAuB,CAAC;AAgD/B;+EAC+E;AAC/E,MAAM,OAAO,WAAW;IACb,OAAO,CAAqB;IAC5B,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,KAAK,CAAoB;IAE1B,iBAAiB,CAAgB;IACjC,UAAU,GAA0B,IAAI,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtC,MAAM,CAAqB;IAE5C,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAA4C,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,EAAE,KAAK,EAAE,MAAiD,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;SACvG,CAAC;QACF,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACpC,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACjE,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;SACF,CAAC;QACF,MAAM,YAAY,GAA4B;YAC5C,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAAI,CAChE;YACD,IAAI,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mCAAmC,EAAE,IAAI,CAC/D;YACD,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iCAAiC,EAAE,IAAI,CAC7D;YACD,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,IAAU,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7F,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK;oBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,EAAE;wBACrF,IAAI,EAAE,oBAAoB;qBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,YAAY,EAAE,CAAC,KAAa,EAAE,IAAU,EAAE,EAAE,CAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,CAAC;SAC3E,CAAC;QACF,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,KAAK,EAAE,IAAsB,EAA6B,EAAE;gBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3F,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE;oBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC5C,CAAC,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,SAA2B,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBACrF,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QACF,MAAM,UAAU,GAAmB;YACjC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAChH,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBACnH,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC;oBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;oBAC3C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;oBACzC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;oBACvC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;oBACvC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;oBACvC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;oBACrD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;iBAC9C,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;QACF,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACpE,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG;YACX,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAClF,SAAS;YACT,UAAU;YACV,OAAO;YACP,YAAY,EAAE;gBACZ,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;aACtD;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;aACnD;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAA+F;QAClG,OAAO,WAAW,CAAC;YACjB,GAAG,KAAK;YACR,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,QAAQ,EAAE,GAAG,QAAQ,EAAE,IAAI,OAAO,EAAE,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YACvC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;YACjD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM;SACtC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,iBAAyB;QAG/D,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW;SAC1E,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,WAAW,EACX,iBAAiB,EACjB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,GAAG,CACxC,CAAC;YACF,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9F,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClC,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,WAAW;gBACnB,WAAW;gBACX,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO;aACxC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClC,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO;aACxC,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;2DACuD;IACvD,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3F,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa;SACvF,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa;SAC5F,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,aAAa,EACb,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAC7C,CAAC;YACF,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClC,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,kBAAkB;aACnD,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5F,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClC,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;aAC/C,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClC,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;aAC/C,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;4EAGwE;IAChE,KAAK,CAAC,OAAO,CACnB,IAAa,EACb,GAAqB;QAErB,IAAK,IAA4B,EAAE,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA4C,EAC5C,IAA6B;QAE7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,kBAAkB,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ;YAC/B,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;YACjD,SAAS,EAAE,SAAS;SACrB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkC,EAAE;QAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAEO,sBAAsB;QAC5B,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAA0C,YAAY,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,cAAc;YAAE,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAyB,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjH,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/D,OAAO;YACL,QAAQ;YACR,UAAU;YACV,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;YACzC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,EAAE;gBACvF,IAAI,EAAE,yBAAyB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAyB,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,QAAQ,CAA8B,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAsB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;YACtG,IAAI,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAW,CAAC;aACzE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACnG,IAAI,EAAE,yBAAyB;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAO,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAO,KAAK,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,QAAQ,CAAmB,KAAK,CAAC,YAAY,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAsB,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;IAClF,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAsB;QAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,WAAW;YAAE,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC;YACZ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;YAC1C,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;YACtC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;YAC1C,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,OAAsB;QAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YACnG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAsB;YAC7B,GAAG,OAAO,CAAC,GAAG;YACd,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,MAAM;YACtB,gBAAgB,EAAE,QAAQ;YAC1B,kBAAkB,EAAE,UAAU;YAC9B,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;YACzD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM;YAC5C,oBAAoB,EAAE,YAAY;YAClC,kBAAkB,EAAE,UAAU;YAC9B,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,qCAAqC;SACjF,CAAC;QACF,MAAM,OAAO,GAAG,aAAa,CAAC;YAC5B,GAAG;YACH,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,oBAAoB;oBAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CACxC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;iBAClD;gBACD;oBACE,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CACvB,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,IAAI,kBAAkB,GAAwD,IAAI,CAAC;QACnF,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACvF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACxE,kBAAkB,GAAG;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ;gBACxC,QAAQ;gBACR,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;gBACjD,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,YAAY;aACpB,CAAC;YACF,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE;oBACR,MAAM;oBACN,UAAU;oBACV,QAAQ;oBACR,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ;oBACvC,oBAAoB,EAAE,IAAI;oBAC1B,YAAY,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;iBACrC;gBACD,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,kBAAkB;wBAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;oBACrE,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC9E,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,MAAM,MAAM,CAAC;gBACf,CAAC;aACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,kBAAkB;gBAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC;YACf,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,GAAW;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAE,IAAgC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAW,OAAe,EAAE,IAAY,EAAE,IAAU,EAAE,KAAK,GAAG,EAAE;IACrF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;QACnE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO,GAAS,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE;YACzG,IAAI,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO;SACR,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,OAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,QAAQ,EAAE,IAAI,gBAAgB,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"machine-host.js","sourceRoot":"","sources":["../src/machine-host.ts"],"names":[],"mappings":"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"}
package/dist/parity.d.ts CHANGED
@@ -25,12 +25,8 @@ export interface ParityOptions {
25
25
  /** Base URL of a booted shell gateway, e.g. http://127.0.0.1:4123 */
26
26
  base: string;
27
27
  token: string;
28
- /** A real turnId (capture it from the injected driver) so /raw-temp can replay. */
29
- seedTurnId?: string;
30
28
  }
31
- export declare function engineSurfaceProbes(seed?: {
32
- turnId?: string;
33
- }): ParityProbe[];
29
+ export declare function engineSurfaceProbes(): ParityProbe[];
34
30
  export declare function measureEngineParity(options: ParityOptions): Promise<ParityResult[]>;
35
31
  export interface ParitySummary {
36
32
  readonly served: string[];
package/dist/parity.js CHANGED
@@ -4,10 +4,10 @@ import { shippedRouteTable } from "@amalgm/core/transport";
4
4
  * own root — the probe must elicit a non-404 from a served surface.
5
5
  */
6
6
  const MCP_PROBE_PATHS = {
7
- "/agents": "/agents/sessions",
7
+ "/agents": "/agents",
8
8
  "/browser": "/browser/health",
9
9
  };
10
- export function engineSurfaceProbes(seed) {
10
+ export function engineSurfaceProbes() {
11
11
  const table = shippedRouteTable;
12
12
  const probes = [];
13
13
  for (const path of table.gatewayExactPaths) {
@@ -20,44 +20,7 @@ export function engineSurfaceProbes(seed) {
20
20
  probes.push({ service: "portMonitor", surface: prefix, method: "GET", path: prefix });
21
21
  }
22
22
  const chatProbe = (surface) => {
23
- switch (surface) {
24
- case "/chat":
25
- return {
26
- service: "chat",
27
- surface,
28
- method: "POST",
29
- path: "/chat",
30
- body: JSON.stringify({ sessionId: "parity-probe", prompt: "ping" }),
31
- };
32
- case "/raw-temp":
33
- return {
34
- service: "chat",
35
- surface,
36
- method: "GET",
37
- path: `/raw-temp/${seed?.turnId ?? "parity-no-seed"}`,
38
- note: seed?.turnId ? undefined : "no seed turn — a served mount may still 404",
39
- };
40
- case "/active":
41
- return { service: "chat", surface, method: "GET", path: "/active/parity-probe" };
42
- case "/stop":
43
- return { service: "chat", surface, method: "POST", path: "/stop/parity-probe" };
44
- case "/egress":
45
- return {
46
- service: "chat",
47
- surface,
48
- method: "POST",
49
- path: "/egress/parity-relay",
50
- };
51
- case "/mcp-relay":
52
- return {
53
- service: "chat",
54
- surface,
55
- method: "POST",
56
- path: "/mcp-relay/parity-relay/amalgm",
57
- };
58
- default:
59
- return { service: "chat", surface, method: "POST", path: `${surface}/parity-probe` };
60
- }
23
+ return { service: "chat", surface, method: "GET", path: "/chat/conversations" };
61
24
  };
62
25
  for (const prefix of table.chatPrefixes)
63
26
  probes.push(chatProbe(prefix));
@@ -83,7 +46,7 @@ export function engineSurfaceProbes(seed) {
83
46
  return probes;
84
47
  }
85
48
  export async function measureEngineParity(options) {
86
- const probes = engineSurfaceProbes({ turnId: options.seedTurnId });
49
+ const probes = engineSurfaceProbes();
87
50
  const results = [];
88
51
  for (const probe of probes) {
89
52
  const response = await fetch(`${options.base}${probe.path}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"parity.js","sourceRoot":"","sources":["../src/parity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parity.js","sourceRoot":"","sources":["../src/parity.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  import { createPublicKey, verify } from "node:crypto";
2
2
  const RELEASE_KEY = `-----BEGIN PUBLIC KEY-----
3
- MCowBQYDK2VwAyEANMqhSyyHbFnlzR/e7O7OaykWb5zZ73OXCmP+An5/hUc=
3
+ MCowBQYDK2VwAyEAFYplNyJKDsGlrlGOcQ7IotvOwUaauTyRjFqkVqxl03A=
4
4
  -----END PUBLIC KEY-----`;
5
5
  /** Signed once by the Shell release authority. The private key is not part of
6
6
  * the package; changing this graph requires a newly signed release. */
7
7
  export const shellReleaseCatalog = Object.freeze({
8
- releaseId: "shell-registration-0.1.0",
9
- keyId: "shell-registration-2026-08",
8
+ releaseId: "shell-chat-0.2.0",
9
+ keyId: "shell-release-2026-08-chat",
10
10
  services: Object.freeze([
11
11
  { id: "core", dependencies: [] },
12
12
  { id: "files", dependencies: ["core"] },
13
+ { id: "agents", dependencies: ["core"] },
14
+ { id: "tools", dependencies: ["core"] },
15
+ { id: "chat", dependencies: ["core", "agents", "tools"] },
13
16
  ]),
14
- signature: "KvhNC0EuTFuDaeunhsKzY-iKT0N5NZyKzCmyVN-uVNjkkHZ16yAwIf22vhlFFc3MhJZwejWWwS5dU7KrsE4zBQ",
17
+ signature: "VHufdjgg-ojAEHZjZBs3XYQ9Zezz53ZnRrQeDfnmmWCMaqSTnWaoAfwfig_07a6bUqc6jOMmofqPcHC79smVAA",
15
18
  });
16
19
  const releaseKey = createPublicKey(RELEASE_KEY);
17
20
  export const shellReleaseVerifier = Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"release-catalog.js","sourceRoot":"","sources":["../src/release-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,GAAG;;yBAEK,CAAC;AAE1B;uEACuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAyB,MAAM,CAAC,MAAM,CAAC;IACrE,SAAS,EAAE,0BAA0B;IACrC,KAAK,EAAE,4BAA4B;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;QAChC,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;KACxC,CAAC;IACF,SAAS,EAAE,wFAAwF;CACpG,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC5E,MAAM,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;QACtD,OAAO,KAAK,KAAK,mBAAmB,CAAC,KAAK;eACrC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"release-catalog.js","sourceRoot":"","sources":["../src/release-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,GAAG;;yBAEK,CAAC;AAE1B;uEACuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAyB,MAAM,CAAC,MAAM,CAAC;IACrE,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,4BAA4B;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;QAChC,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;QACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;QACxC,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;QACvC,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;KAC1D,CAAC;IACF,SAAS,EAAE,wFAAwF;CACpG,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC5E,MAAM,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;QACtD,OAAO,KAAK,KAAK,mBAAmB,CAAC,KAAK;eACrC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF,CAAC,CAAC"}
@@ -8,9 +8,20 @@ export interface RuntimeCommandPublication extends RuntimeCommandAddress {
8
8
  readonly port: number;
9
9
  readonly token: string;
10
10
  }
11
+ export interface RuntimeCommandStatus {
12
+ readonly published: boolean;
13
+ readonly running: boolean;
14
+ readonly pid: number | null;
15
+ readonly port: number | null;
16
+ }
11
17
  /** Publish the loopback address only after the watching runtime is ready. */
12
18
  export declare function publishRuntimeCommands(input: RuntimeCommandPublication): void;
13
19
  /** Remove only the discovery document owned by this exact runtime token. */
14
20
  export declare function unpublishRuntimeCommands(input: RuntimeCommandPublication): void;
21
+ /** Readiness is the published address plus an authenticated response from the
22
+ * exact loopback runtime. A marker or a live PID alone cannot prove that the
23
+ * composed services are accepting requests. This probe is read-only so a UI
24
+ * may adopt a runtime it did not start. */
25
+ export declare function inspectRuntimeCommands(input: RuntimeCommandAddress): Promise<RuntimeCommandStatus>;
15
26
  /** Call the one running Files runtime. The CLI owns no Files effects. */
16
27
  export declare function callRuntimeCommand(input: RuntimeCommandAddress, path: "/entities/register" | "/entities/add", body: Record<string, unknown>): Promise<Record<string, unknown>>;