@mcsherrylabs/pi-meerkat 0.8.0 → 0.11.0

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 (47) hide show
  1. package/README.md +34 -10
  2. package/dist/installer/committee-init.sh +17 -33
  3. package/dist/installer/committee.conf +12 -34
  4. package/dist/installer/genesis.devnet.conf +92 -0
  5. package/dist/installer/node-follower.conf +232 -0
  6. package/dist/installer/node-join.sh +15 -1
  7. package/dist/installer/node.conf +4 -231
  8. package/dist/installer/node.local.conf +8 -0
  9. package/dist/installer/runtime.json +1 -1
  10. package/dist/installer-runtime/dist/scripts/recover-owner.js +7 -9
  11. package/dist/installer-runtime/dist/scripts/subscriptions-init.js +3 -4
  12. package/dist/installer-runtime/dist/scripts/versions.mjs +5 -10
  13. package/dist/installer-runtime/dist/src/announcements.js +1 -289
  14. package/dist/installer-runtime/dist/src/app.js +12 -535
  15. package/dist/installer-runtime/dist/src/chainfetch.js +0 -64
  16. package/dist/installer-runtime/dist/src/env.js +47 -32
  17. package/dist/installer-runtime/dist/src/registry/index.js +11 -2
  18. package/dist/installer-runtime/dist/src/registry/provision.js +46 -1
  19. package/dist/installer-runtime/dist/src/service.js +151 -0
  20. package/dist/installer.d.ts +185 -18
  21. package/dist/installer.d.ts.map +1 -1
  22. package/dist/installer.js +161 -52
  23. package/dist/installer.js.map +1 -1
  24. package/dist/mcp-announce.d.ts +18 -0
  25. package/dist/mcp-announce.d.ts.map +1 -1
  26. package/dist/mcp-announce.js +18 -4
  27. package/dist/mcp-announce.js.map +1 -1
  28. package/dist/mcp-cli.d.ts.map +1 -1
  29. package/dist/mcp-cli.js +28 -18
  30. package/dist/mcp-cli.js.map +1 -1
  31. package/dist/mcp-config.d.ts +1 -0
  32. package/dist/mcp-config.d.ts.map +1 -1
  33. package/dist/mcp-config.js +2 -1
  34. package/dist/mcp-config.js.map +1 -1
  35. package/dist/mcp-upstream.d.ts +1 -1
  36. package/dist/mcp-upstream.d.ts.map +1 -1
  37. package/dist/mcp-upstream.js +7 -2
  38. package/dist/mcp-upstream.js.map +1 -1
  39. package/dist/tools.js +4 -4
  40. package/dist/tools.js.map +1 -1
  41. package/installer/Node.Dockerfile +5 -0
  42. package/installer/Registry.Dockerfile +34 -9
  43. package/installer/check-single-sdk.mjs +151 -0
  44. package/installer/runtime-control.mjs +179 -16
  45. package/package.json +5 -5
  46. package/skills/channel-subscription/SKILL.md +3 -3
  47. package/dist/installer-runtime/dist/src/runtime.js +0 -164
package/dist/installer.js CHANGED
@@ -1,5 +1,12 @@
1
1
  // Operator-only deployment orchestration. Key generation/read/signing remains in the released
2
2
  // Evolver bootstrap/child. All services/data are owned Docker resources, never host bind mounts.
3
+ //
4
+ // Two modes, each in its own private state directory so installs coexist and 0.8.0 state is never
5
+ // read/adopted/removed:
6
+ // devnet (default) — install against the public DevNet; one follower node + one read-only
7
+ // registry draining the shared channel `ce.meerkat.announcements`.
8
+ // local (--local) — 0.8.0's private chain (committee + follower), now with a read-only
9
+ // registry and an agent-owned private channel.
3
10
  import { spawn } from 'node:child_process';
4
11
  import { randomBytes } from 'node:crypto';
5
12
  import { constants } from 'node:fs';
@@ -9,34 +16,96 @@ import { dirname, isAbsolute, join, resolve } from 'node:path';
9
16
  import { fileURLToPath } from 'node:url';
10
17
  const PACKAGE = '@mcsherrylabs/pi-meerkat';
11
18
  const packageDir = resolve(dirname(fileURLToPath(import.meta.url)), '..');
12
- // Public manifest rechecked anonymously 2026-11-05; coordinated with released SDK 0.22.1.
13
- const NODE_IMAGE = 'nexus.mcsherrylabs.com/evolver-node@sha256:38b2e175efc9b974dbc26a19eef27ee94c66701aaefd4e49219371c60ef26747';
19
+ // Public manifest rechecked anonymously 2026-11-06; coordinated with released SDK 0.23.0.
20
+ // This digest pins tag v0.27.0 (anonymously pullable); keep the tag named here when re-pinning.
21
+ const NODE_IMAGE = 'nexus.mcsherrylabs.com/evolver-node@sha256:f78974686dcdfacfd49a6a02166d393485aeb5db33ac83d4d72393c6bcd3b006';
22
+ // The pinned node image runs as uid=10001(evolver) gid=999(evolver) (Config.User=evolver). The node
23
+ // control listener REQUIRES /node-control to be owned by exactly that uid:gid with mode 0750, or it
24
+ // fails startup. These are image facts tied to NODE_IMAGE — re-check against the new image on re-pin.
25
+ const NODE_CONTROL_UID = '10001';
26
+ const NODE_CONTROL_GID = '999';
14
27
  const OWNER = 'io.meerkat.installation';
15
- const installed = '/opt/meerkat/node_modules/@mcsherrylabs/pi-meerkat';
28
+ // Pinned processor base digest this installer layers the packaged pi-meerkat runtime onto (FR-015).
29
+ // Placeholder digest; the orchestrator sed-replaces it after evolver-mcp v0.17.0 is published.
30
+ const PROCESSOR_IMAGE = 'nexus.mcsherrylabs.com/evolver-mcp-processor:v0.17.0@sha256:f72a54e61e4fb963d6d050800934e23e8a0a328db2cdb16c150ed14c2034ff2e';
31
+ const installed = '/app/node_modules/@mcsherrylabs/pi-meerkat';
16
32
  const runtime = `${installed}/dist/installer-runtime`;
17
33
  const control = `${installed}/installer/runtime-control.mjs`;
34
+ // DevNet facts (verified by the coordinator, pinned exactly). See the task brief.
35
+ const DEVNET_ORIGIN = 'https://devnet.mcsherrylabs.com';
36
+ const DEVNET_CHAIN_ID = 'c8925985ae7948d2e608efcf863928d15476c4b561ad773fdca6f0d53d4fea05';
37
+ const DEVNET_CHANNEL = 'ce.meerkat.announcements';
38
+ const DEVNET_OPERATOR = 'evolvermeerkatA483344';
39
+ const DEVNET_UPSTREAM_NODE_ID = 'evolvermeerkatnode920080';
40
+ const DEVNET_DA_PEERS = 'schednode2';
41
+ const DEVNET_ALLOWED_OUTBOUND = '2';
18
42
  export function managedDirectory(env = process.env) {
19
43
  const base = env.XDG_STATE_HOME || join(env.HOME || homedir(), '.local', 'state');
20
44
  if (!isAbsolute(base))
21
45
  throw new Error('HOME/XDG_STATE_HOME must resolve to an absolute operator state directory');
22
46
  return join(base, 'meerkat');
23
47
  }
24
- export const managedConfigPath = (env = process.env) => join(managedDirectory(env), 'installation.json');
25
- export function pinnedRegistration(version) {
48
+ /** Per-mode state directory. The 0.8.0 path `<state>/meerkat/` (installation.json) is never used. */
49
+ export function modeDirectory(mode, env = process.env) {
50
+ return join(managedDirectory(env), mode);
51
+ }
52
+ export const managedConfigPath = (mode = 'devnet', env = process.env) => join(modeDirectory(mode, env), 'installation.json');
53
+ export function pinnedRegistration(version, mode = 'devnet') {
26
54
  if (!/^\d+\.\d+\.\d+$/.test(version))
27
55
  throw new Error('installer requires a released semantic package version');
28
- return { mcpServers: { meerkat: { command: 'npx', args: ['--yes', `${PACKAGE}@${version}`, 'serve'] } } };
56
+ return { mcpServers: { meerkat: { command: 'npx', args: ['--yes', `${PACKAGE}@${version}`, 'serve', ...(mode === 'local' ? ['--local'] : [])] } } };
29
57
  }
58
+ const registryEnvironment = (state, committee) => ({
59
+ EVOLVER_TARGET: state.mode === 'devnet' ? 'devnet' : 'local',
60
+ EVOLVER_NODE: 'http://node:8440',
61
+ // The devnet target reads EVOLVER_DEVNET_URL (default: the PUBLIC devnet) and ignores EVOLVER_NODE.
62
+ // The chain is devnet; the ENDPOINT must be this install's own processing node, or the processor
63
+ // observes/pulls the public node (no processor-state for us: HTTP 404) and never becomes ready.
64
+ ...(state.mode === 'devnet' ? { EVOLVER_DEVNET_URL: 'http://node:8440' } : {}),
65
+ EVOLVER_FAUCET_URL: committee ? 'http://committee:8440' : DEVNET_ORIGIN,
66
+ EVOLVER_CHAIN_ID: state.mode === 'devnet' ? DEVNET_CHAIN_ID : state.binding?.chainId ?? '',
67
+ APP_NODE_ID: state.nodeId,
68
+ REGISTRY_CHANNEL: state.channel,
69
+ REGISTRY_CHANNEL_OPERATOR: state.registryOperator,
70
+ REGISTRY_READ_ONLY: '1',
71
+ REGISTRY_CONTENT_URL: 'http://node:8450',
72
+ });
30
73
  export function renderDeployment(state) {
31
74
  const labels = { [OWNER]: state.id };
32
75
  const volume = (name) => ({ name: `${state.project}-${name}`, labels });
33
- const environment = {
34
- EVOLVER_TARGET: 'local', EVOLVER_NODE: 'http://node:8440', EVOLVER_FAUCET_URL: 'http://committee:8440',
35
- EVOLVER_CHAIN_ID: state.binding?.chainId ?? '', APP_NODE_ID: state.nodeId,
36
- EVOLVER_SUBSCRIPTIONS_FILE: '/subscriptions/channels.conf', REGISTRY_CHANNEL: state.channel,
37
- REGISTRY_CHANNEL_OPERATOR: state.registryOperator,
38
- REGISTRY_CONTENT_URL: 'http://node:8450', PROCESSOR_HTTP_PORT: '8090', PROCESSOR_READ_HOST: '0.0.0.0',
39
- };
76
+ const registryEnv = registryEnvironment(state, state.mode === 'local');
77
+ if (state.mode === 'devnet') {
78
+ return {
79
+ name: state.project,
80
+ services: {
81
+ node: { image: `${state.project}-node:${state.packageVersion}`, labels, container_name: `${state.project}-node`, entrypoint: ['sh', '/config/node-join.sh'],
82
+ build: { context: './package', dockerfile: 'installer/Node.Dockerfile', labels, args: { EVOLVER_NODE_IMAGE: NODE_IMAGE } },
83
+ environment: { APP_NODE_ID: state.nodeId, DEVNET_API: DEVNET_ORIGIN, EVOLVER_UPSTREAM_NODE_ID: DEVNET_UPSTREAM_NODE_ID,
84
+ EVOLVER_DA_PEERS: DEVNET_DA_PEERS, EVOLVER_ALLOWED_OUTBOUND: DEVNET_ALLOWED_OUTBOUND,
85
+ EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100' },
86
+ group_add: ['1000'], volumes: ['node-data:/data', 'subscriptions:/subscriptions:ro', 'node-control:/node-control'],
87
+ restart: 'unless-stopped' },
88
+ registry: { image: `${state.project}-registry:${state.packageVersion}`, labels, container_name: `${state.project}-registry`,
89
+ build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels, args: { EVOLVER_PROCESSOR_IMAGE: PROCESSOR_IMAGE } },
90
+ user: '1000:1000', group_add: [NODE_CONTROL_GID], environment: registryEnv,
91
+ volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent',
92
+ 'node-control:/node-control:ro', 'control:/control'],
93
+ restart: 'unless-stopped' },
94
+ 'subscriptions-init': { image: `${state.project}-registry:${state.packageVersion}`, labels, profiles: ['initialize-only'],
95
+ user: '0:0', environment: { ...registryEnv, EVOLVER_INITIAL_CHANNELS: JSON.stringify([state.channel]),
96
+ EVOLVER_OPERATOR_UID: '1000', EVOLVER_OPERATOR_GID: '1000' },
97
+ entrypoint: ['sh', '-ec'], command: [`chown 1000:1000 ${runtime}/state /meerkat/agent /control; chown ${NODE_CONTROL_UID}:${NODE_CONTROL_GID} /node-control; chmod 700 /meerkat/agent; chmod 750 /node-control /control; exec node ${runtime}/dist/scripts/subscriptions-init.js`],
98
+ volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent',
99
+ 'node-control:/node-control', 'control:/control'] },
100
+ },
101
+ volumes: { 'node-data': volume('node-data'), 'app-state': volume('app-state'),
102
+ subscriptions: volume('subscriptions'), 'agent-state': volume('agent-state'),
103
+ 'node-control': volume('node-control'), control: volume('control') },
104
+ networks: { default: { name: `${state.project}-network`, labels } },
105
+ };
106
+ }
107
+ // LOCAL: 0.8.0's private chain, with a read-only registry and an agent-owned private channel.
108
+ const environment = registryEnv;
40
109
  return {
41
110
  name: state.project,
42
111
  services: {
@@ -47,31 +116,34 @@ export function renderDeployment(state) {
47
116
  node: { image: `${state.project}-node:${state.packageVersion}`, labels, container_name: `${state.project}-node`, entrypoint: ['sh', '/config/node-join.sh'],
48
117
  build: { context: './package', dockerfile: 'installer/Node.Dockerfile', labels, args: { EVOLVER_NODE_IMAGE: NODE_IMAGE } },
49
118
  environment: { APP_NODE_ID: state.nodeId, DEVNET_API: 'http://committee:8440', EVOLVER_UPSTREAM_NODE_ID: state.committeeId,
50
- EVOLVER_ALLOWED_OUTBOUND: '1', EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100', CLAIM_TIMEOUT: '90', CLAIM_WATCH_SECS: '30' },
51
- group_add: ['1000'], volumes: ['node-data:/data', 'subscriptions:/subscriptions:ro', 'genesis:/public-genesis:ro'],
119
+ EVOLVER_ALLOWED_OUTBOUND: '1', EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100', EVOLVER_NODE_CONFIG: '/config/node.local.conf', CLAIM_TIMEOUT: '90', CLAIM_WATCH_SECS: '30' },
120
+ group_add: ['1000'], volumes: ['node-data:/data', 'subscriptions:/subscriptions:ro', 'genesis:/public-genesis:ro', 'node-control:/node-control'],
52
121
  restart: 'unless-stopped' },
53
122
  registry: { image: `${state.project}-registry:${state.packageVersion}`, labels, container_name: `${state.project}-registry`,
54
- build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels },
55
- user: '1000:1000', environment,
56
- volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions:ro', 'agent-state:/meerkat/agent'],
123
+ build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels, args: { EVOLVER_PROCESSOR_IMAGE: PROCESSOR_IMAGE } },
124
+ user: '1000:1000', group_add: [NODE_CONTROL_GID], environment,
125
+ volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent',
126
+ 'node-control:/node-control:ro', 'control:/control'],
57
127
  restart: 'unless-stopped' },
58
128
  'subscriptions-init': { image: `${state.project}-registry:${state.packageVersion}`, labels, profiles: ['initialize-only'],
59
129
  user: '0:0', environment: { ...environment, EVOLVER_INITIAL_CHANNELS: JSON.stringify([state.channel]),
60
130
  EVOLVER_OPERATOR_UID: '1000', EVOLVER_OPERATOR_GID: '1000' },
61
- entrypoint: ['sh', '-ec'], command: [`chown 1000:1000 ${runtime}/state /meerkat/agent /public-genesis; chmod 700 /meerkat/agent; chmod 2770 /public-genesis; exec node ${runtime}/dist/scripts/subscriptions-init.js`],
62
- volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent', 'genesis:/public-genesis'] },
131
+ entrypoint: ['sh', '-ec'], command: [`chown 1000:1000 ${runtime}/state /meerkat/agent /public-genesis /control; chown ${NODE_CONTROL_UID}:${NODE_CONTROL_GID} /node-control; chmod 700 /meerkat/agent; chmod 2770 /public-genesis; chmod 750 /node-control /control; exec node ${runtime}/dist/scripts/subscriptions-init.js`],
132
+ volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent', 'genesis:/public-genesis',
133
+ 'node-control:/node-control', 'control:/control'] },
63
134
  },
64
135
  volumes: { 'committee-data': volume('committee-data'), genesis: volume('genesis'), 'node-data': volume('node-data'),
65
- 'app-state': volume('app-state'), subscriptions: volume('subscriptions'), 'agent-state': volume('agent-state') },
136
+ 'app-state': volume('app-state'), subscriptions: volume('subscriptions'), 'agent-state': volume('agent-state'),
137
+ 'node-control': volume('node-control'), control: volume('control') },
66
138
  networks: { default: { name: `${state.project}-network`, internal: true, labels } },
67
139
  };
68
140
  }
69
- async function command(command, args, env = process.env, cwd) {
141
+ async function command(command, args, env = process.env, cwd, timeoutMs = 600_000) {
70
142
  return new Promise((resolve, reject) => {
71
143
  const child = spawn(command, args, { env, cwd, stdio: ['ignore', 'pipe', 'pipe'] });
72
144
  let stdout = '', stderr = '', timedOut = false;
73
- const timer = setTimeout(() => { timedOut = true; child.kill('SIGTERM'); }, 600_000);
74
- const hard = setTimeout(() => child.kill('SIGKILL'), 605_000);
145
+ const timer = setTimeout(() => { timedOut = true; child.kill('SIGTERM'); }, timeoutMs);
146
+ const hard = setTimeout(() => child.kill('SIGKILL'), timeoutMs + 5_000);
75
147
  child.stdout.on('data', data => { stdout = (stdout + String(data)).slice(-2 * 1024 * 1024); });
76
148
  child.stderr.on('data', data => { stderr = (stderr + String(data)).slice(-8192); });
77
149
  child.on('error', error => { clearTimeout(timer); clearTimeout(hard); reject(error); });
@@ -86,7 +158,7 @@ async function command(command, args, env = process.env, cwd) {
86
158
  });
87
159
  }
88
160
  const composeArgs = (state) => ['compose', '--project-name', state.project, '--file', join(state.dir, 'compose.json')];
89
- const request = (state) => JSON.stringify({ nodeId: state.nodeId, committeeId: state.committeeId, identity: state.identity, channel: state.channel, binding: state.binding });
161
+ const request = (state) => JSON.stringify({ mode: state.mode, nodeId: state.nodeId, committeeId: state.committeeId ?? '', identity: state.identity, channel: state.channel, binding: state.binding });
90
162
  const defaults = {
91
163
  command,
92
164
  committeeReady: async (state, env) => {
@@ -95,8 +167,11 @@ const defaults = {
95
167
  },
96
168
  nodeBinding: async (state, env) => JSON.parse(await command('docker', [...composeArgs(state), 'run', '--rm', '--no-deps',
97
169
  '--entrypoint', 'node', 'registry', control, 'node-binding', request(state)], env, state.dir)),
98
- registryReady: async (state, env) => { await command('docker', ['exec', `${state.project}-registry`, 'node', control, 'ready', request(state)], env); },
170
+ // runtime-control 'ready' owns a progress-aware wait (DevNet: 45 min budget, 10 min stall); a fresh
171
+ // DevNet follower needs well over 10 min to sync, so the outer deadline must sit above that budget.
172
+ registryReady: async (state, env) => { await command('docker', ['exec', `${state.project}-registry`, 'node', control, 'ready', request(state)], env, undefined, 50 * 60_000); },
99
173
  bootstrap: async (state, env) => { await command('docker', ['exec', '--workdir', '/meerkat/agent', `${state.project}-registry`, 'node', control, 'bootstrap', request(state)], env); },
174
+ claimChannel: async (state, env) => { await command('docker', ['exec', '--workdir', '/meerkat/agent', `${state.project}-registry`, 'node', control, 'claim-channel', request(state)], env); },
100
175
  };
101
176
  export function operatorEnvironment(env) {
102
177
  const result = {};
@@ -150,16 +225,19 @@ async function ownership(state, deps, env, fresh) {
150
225
  const daemonId = (await deps.command('docker', ['info', '--format', '{{.ID}}'], env)).trim();
151
226
  if (daemonId !== state.daemonId)
152
227
  throw new Error('Docker daemon identity differs; refusing resource adoption');
228
+ const devnet = state.mode === 'devnet';
229
+ const services = devnet ? ['node', 'registry'] : ['committee', 'node', 'registry'];
230
+ const volumes = devnet ? ['node-data', 'app-state', 'subscriptions', 'agent-state', 'node-control', 'control'] : ['committee-data', 'genesis', 'node-data', 'app-state', 'subscriptions', 'agent-state', 'node-control', 'control'];
153
231
  for (const [args, name] of [
154
- [['ps', '-a'], `^/${state.project}-(committee|node|registry)$`],
155
- [['volume', 'ls'], `^${state.project}-(committee-data|genesis|node-data|app-state|subscriptions|agent-state)$`],
232
+ [['ps', '-a'], `^/${state.project}-(${services.join('|')})$`],
233
+ [['volume', 'ls'], `^${state.project}-(${volumes.join('|')})$`],
156
234
  [['network', 'ls'], `^${state.project}-network$`],
157
235
  ]) {
158
236
  const output = await deps.command('docker', [...args, '--filter', `name=${name}`, '--format', 'json'], env);
159
237
  const rows = output.trim() ? output.trim().startsWith('[') ? JSON.parse(output) : output.trim().split('\n').map(line => JSON.parse(line)) : [];
160
238
  if (fresh && rows.length)
161
239
  throw new Error('foreign project resources exist; refusing adoption');
162
- if (state.binding && ((args[0] === 'volume' && rows.length !== 6) || (args[0] === 'network' && rows.length !== 1) || (args[0] === 'ps' && rows.length < (state.ready ? 3 : 2))))
240
+ if (state.binding && ((args[0] === 'volume' && rows.length !== volumes.length) || (args[0] === 'network' && rows.length !== 1) || (args[0] === 'ps' && rows.length < (state.ready ? services.length : services.length - 1))))
163
241
  throw new Error('saved owned deployment resources are missing; refusing regeneration/re-genesis');
164
242
  for (const row of rows) {
165
243
  const labels = row.Labels;
@@ -169,20 +247,36 @@ async function ownership(state, deps, env, fresh) {
169
247
  }
170
248
  }
171
249
  function validateState(state, dir, version) {
172
- if (state.version !== 1 || state.uid !== process.getuid?.() || state.dir !== dir || !/^[0-9a-f]{24}$/.test(state.id) ||
173
- state.project !== `meerkat-${state.id}` || state.committeeId !== `meerkatquorum${state.id}` || state.nodeId !== `meerkatnode${state.id}` || state.identity !== `meerkatuser${state.id}` ||
174
- typeof state.daemonId !== 'string' || !/^[A-Za-z0-9:._-]{8,200}$/.test(state.daemonId) ||
175
- !/^[A-Za-z0-9]{1,50}$/.test(state.registryOperator) || state.channel !== `meerkat.${state.id}.announcements` || state.packageVersion !== version ||
176
- !['pending', 'attempted', 'complete'].includes(state.initialization) || !Array.isArray(state.ports) || state.ports.length !== 3 ||
177
- new Set(state.ports).size !== 3 || state.ports.some(p => !Number.isSafeInteger(p) || p < 1024 || p > 65535) ||
178
- (state.binding && (state.binding.nodeId !== state.nodeId || !/^[0-9a-f]{64}$/.test(state.binding.chainId))))
250
+ const id = state.id, nodeId = state.nodeId, identity = state.identity;
251
+ const portsOk = Array.isArray(state.ports) && state.ports.length === 3 &&
252
+ new Set(state.ports).size === 3 &&
253
+ state.ports.every(p => Number.isSafeInteger(p) && p >= 1024 && p <= 65535);
254
+ const baseline = state.version === 1 && state.uid === process.getuid?.() && state.dir === dir &&
255
+ /^[0-9a-f]{24}$/.test(id) && state.project === `meerkat-${id}` &&
256
+ nodeId === `meerkatnode${id}` && identity === `meerkatuser${id}` &&
257
+ typeof state.daemonId === 'string' && /^[A-Za-z0-9:._-]{8,200}$/.test(state.daemonId) &&
258
+ /^[A-Za-z0-9]{1,50}$/.test(state.registryOperator) && state.packageVersion === version &&
259
+ ['pending', 'attempted', 'complete'].includes(state.initialization) && portsOk &&
260
+ !(state.binding && (state.binding.nodeId !== state.nodeId || !/^[0-9a-f]{64}$/.test(state.binding.chainId)));
261
+ if (!baseline)
179
262
  throw new Error('invalid saved installation or package version differs; refusing automatic migration/adoption');
263
+ if (state.mode === 'devnet') {
264
+ if (state.committeeId !== undefined || state.channel !== DEVNET_CHANNEL || state.registryOperator !== DEVNET_OPERATOR)
265
+ throw new Error('invalid saved installation mode/resources; refusing automatic migration/adoption');
266
+ }
267
+ else if (state.mode === 'local') {
268
+ if (state.committeeId !== `meerkatquorum${id}` || state.channel !== `meerkat.${id}.announcements` || state.registryOperator !== identity)
269
+ throw new Error('invalid saved installation mode/resources; refusing automatic migration/adoption');
270
+ }
271
+ else {
272
+ throw new Error('invalid saved installation mode; refusing automatic migration/adoption');
273
+ }
180
274
  }
181
- export async function managedInstallation(env = process.env) {
182
- const state = await readState(managedConfigPath(env));
275
+ export async function managedInstallation(mode = 'devnet', env = process.env) {
276
+ const state = await readState(managedConfigPath(mode, env));
183
277
  if (state) {
184
278
  const version = JSON.parse(await readFile(join(packageDir, 'package.json'), 'utf8')).version;
185
- validateState(state, managedDirectory(env), version);
279
+ validateState(state, modeDirectory(mode, env), version);
186
280
  }
187
281
  return state;
188
282
  }
@@ -230,11 +324,11 @@ export async function serveManaged(state, env = process.env) {
230
324
  await stopRemote();
231
325
  }
232
326
  }
233
- export async function installMeerkat(env = process.env, deps = defaults) {
327
+ export async function installMeerkat(mode = 'devnet', env = process.env, deps = defaults) {
234
328
  if (Number(process.versions.node.split('.')[0]) < 22)
235
329
  throw new Error('Meerkat install requires Node.js 22 or newer, npm/npx, and Docker Engine with Compose v2');
236
330
  const packageVersion = JSON.parse(await readFile(join(packageDir, 'package.json'), 'utf8')).version;
237
- const dir = managedDirectory(env), configPath = managedConfigPath(env), cleanEnv = operatorEnvironment(env);
331
+ const dir = modeDirectory(mode, env), configPath = managedConfigPath(mode, env), cleanEnv = operatorEnvironment(env);
238
332
  await deps.command('docker', ['version', '--format', 'json'], cleanEnv);
239
333
  await deps.command('docker', ['compose', 'version'], cleanEnv);
240
334
  await deps.command('npm', ['--version'], cleanEnv);
@@ -269,10 +363,13 @@ export async function installMeerkat(env = process.env, deps = defaults) {
269
363
  throw e;
270
364
  }
271
365
  const id = randomBytes(12).toString('hex');
272
- const assets = JSON.parse(await readFile(join(packageDir, 'dist', 'installer', 'runtime.json'), 'utf8'));
273
- state = { version: 1, uid: process.getuid(), id, dir, project: `meerkat-${id}`, nodeId: `meerkatnode${id}`, committeeId: `meerkatquorum${id}`,
274
- identity: `meerkatuser${id}`, registryOperator: assets.operatorIdentity, channel: `meerkat.${id}.announcements`, ports: [8440, 8450, 8090],
275
- packageVersion, daemonId, initialization: 'pending' };
366
+ const devnet = mode === 'devnet';
367
+ state = { version: 1, uid: process.getuid(), id, dir, project: `meerkat-${id}`, mode,
368
+ nodeId: `meerkatnode${id}`, identity: `meerkatuser${id}`,
369
+ registryOperator: devnet ? DEVNET_OPERATOR : `meerkatuser${id}`,
370
+ channel: devnet ? DEVNET_CHANNEL : `meerkat.${id}.announcements`,
371
+ ports: [8440, 8450, 8090], packageVersion, daemonId, initialization: 'pending',
372
+ ...(devnet ? {} : { committeeId: `meerkatquorum${id}` }) };
276
373
  }
277
374
  validateState(state, dir, packageVersion);
278
375
  if (state.initialization === 'attempted')
@@ -291,7 +388,7 @@ export async function installMeerkat(env = process.env, deps = defaults) {
291
388
  await compose('config', '--quiet');
292
389
  checkpoint();
293
390
  if (state.initialization === 'pending') {
294
- await compose('build', 'committee', 'node', 'registry');
391
+ await compose('build', ...(state.mode === 'devnet' ? ['node', 'registry'] : ['committee', 'node', 'registry']));
295
392
  checkpoint();
296
393
  state.initialization = 'attempted';
297
394
  await saveState(state);
@@ -300,13 +397,18 @@ export async function installMeerkat(env = process.env, deps = defaults) {
300
397
  await saveState(state);
301
398
  checkpoint();
302
399
  }
303
- await compose('up', '-d', '--no-build', '--no-recreate', 'committee');
304
- await deps.committeeReady(state, cleanEnv);
305
- checkpoint();
400
+ if (state.mode === 'local') {
401
+ await compose('up', '-d', '--no-build', '--no-recreate', 'committee');
402
+ await deps.committeeReady(state, cleanEnv);
403
+ checkpoint();
404
+ }
306
405
  await compose('up', '-d', '--no-build', '--no-recreate', 'node');
307
406
  checkpoint();
308
407
  const observed = await deps.nodeBinding(state, cleanEnv);
309
- if (observed.nodeId !== state.nodeId || !/^[0-9a-f]{64}$/.test(observed.chainId) || (state.binding && state.binding.chainId !== observed.chainId))
408
+ const expectedChain = state.mode === 'devnet' ? DEVNET_CHAIN_ID : null;
409
+ if (observed.nodeId !== state.nodeId || !/^[0-9a-f]{64}$/.test(observed.chainId) ||
410
+ (state.binding && state.binding.chainId !== observed.chainId) ||
411
+ (expectedChain && observed.chainId !== expectedChain))
310
412
  throw new Error('owned node returned an invalid or changed saved binding');
311
413
  state.binding = observed;
312
414
  await saveState(state);
@@ -314,13 +416,20 @@ export async function installMeerkat(env = process.env, deps = defaults) {
314
416
  await writeFile(composePath, JSON.stringify(renderDeployment(state), null, 2), { mode: 0o600 });
315
417
  await compose('up', '-d', '--no-build', '--no-recreate', 'registry');
316
418
  checkpoint();
419
+ await deps.bootstrap(state, cleanEnv);
420
+ if (state.mode === 'local' && !state.ready) {
421
+ // The agent owns the install's private channel; claim it once through the child's own tools,
422
+ // BEFORE the registry's readiness check, so the read-only registry sees its pinned operator.
423
+ // A completed install never repeats the step. An interrupted one retries it: the runtime
424
+ // reads the terms first and never re-claims a channel the agent already owns.
425
+ await deps.claimChannel(state, cleanEnv);
426
+ }
317
427
  await deps.registryReady(state, cleanEnv);
318
428
  checkpoint();
319
- await deps.bootstrap(state, cleanEnv);
320
429
  state.ready = true;
321
430
  await saveState(state);
322
431
  checkpoint();
323
- return { dir, configPath, registration: pinnedRegistration(state.packageVersion) };
432
+ return { dir, configPath, registration: pinnedRegistration(state.packageVersion, state.mode) };
324
433
  }
325
434
  finally {
326
435
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iGAAiG;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,0FAA0F;AAC1F,MAAM,UAAU,GAAG,6GAA6G,CAAC;AACjI,MAAM,KAAK,GAAG,yBAAyB,CAAC;AACxC,MAAM,SAAS,GAAG,oDAAoD,CAAC;AACvE,MAAM,OAAO,GAAG,GAAG,SAAS,yBAAyB,CAAC;AACtD,MAAM,OAAO,GAAG,GAAG,SAAS,gCAAgC,CAAC;AAa7D,MAAM,UAAU,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACnH,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/B,CAAC;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAyB,OAAO,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACpI,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAChH,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5G,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB;QACtG,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM;QACzE,0BAA0B,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO;QAC3F,yBAAyB,EAAE,KAAK,CAAC,gBAAgB;QACjD,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS;KACtG,CAAC;IACF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,QAAQ,EAAE;YACR,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,cAAc,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,OAAO,YAAY;gBAC5H,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gCAAgC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE;gBAC/H,UAAU,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE;gBACjH,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE;YAChH,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,OAAO,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC;gBACzJ,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE;gBAC1H,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,KAAK,CAAC,WAAW;oBACxH,wBAAwB,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAC5I,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,4BAA4B,CAAC;gBAClH,OAAO,EAAE,gBAAgB,EAAE;YAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW;gBACzH,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,+BAA+B,EAAE,MAAM,EAAE;gBACpF,IAAI,EAAE,WAAW,EAAE,WAAW;gBAC9B,OAAO,EAAE,CAAC,aAAa,OAAO,QAAQ,EAAE,iCAAiC,EAAE,4BAA4B,CAAC;gBACxG,OAAO,EAAE,gBAAgB,EAAE;YAC7B,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACvH,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnG,oBAAoB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE;gBAC9D,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,OAAO,0GAA0G,OAAO,qCAAqC,CAAC;gBACtN,OAAO,EAAE,CAAC,aAAa,OAAO,QAAQ,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,EAAE;SACrI;QACD,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YACjH,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;QAClH,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;KACpF,CAAC;AACJ,CAAC;AACD,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,IAAc,EAAE,MAAyB,OAAO,CAAC,GAAG,EAAE,GAAY;IACxG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,IAAI,KAAK,CAAC,IAAI,QAAQ;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;;gBAC1H,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AACD,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;AACrI,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5L,MAAM,QAAQ,GAAkB;IAC9B,OAAO;IACP,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW;YAChH,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IACrG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW;QACtH,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChG,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvJ,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACvL,CAAC;AACF,MAAM,UAAU,mBAAmB,CAAC,GAAsB;IACxD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,CAAC;QAC/J,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;AAC/F,CAAC;AACD,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QAAC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;IAC7E,OAAO,CAAC,EAAE,CAAC;QAAC,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7J,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5I,OAAO,MAAsB,CAAC;IAChC,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACrC,CAAC;AACD,KAAK,UAAU,SAAS,CAAC,KAAmB;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;YACnF,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;IACjC,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAChE,CAAC;AACD,KAAK,UAAU,SAAS,CAAC,KAAmB,EAAE,IAAmB,EAAE,GAAsB,EAAE,KAAc;IACvG,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7F,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/G,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI;QACzB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,6BAA6B,CAAC;QAC/D,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,0EAA0E,CAAC;QAC/G,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,WAAW,CAAC;KACzC,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5G,MAAM,IAAI,GAAU,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtJ,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7K,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACnH,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AACD,SAAS,aAAa,CAAC,KAAmB,EAAE,GAAW,EAAE,OAAe;IACtE,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChH,KAAK,CAAC,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,gBAAgB,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,KAAK,CAAC,EAAE,EAAE;QACvL,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtF,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,gBAAgB,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO;QAChJ,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC/H,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3G,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;AACpH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7F,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD;2FAC2F;AAC3F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAmB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC1F,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,cAAc,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3I,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvJ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7I,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzJ,IAAI,UAAqC,EAAE,aAAa,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IAClF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,SAAS,GAA6B,GAAG,EAAE,GAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI,OAAO;QAAE,KAAK,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,SAAS,GAAG,MAAM,CAAC;YACnB,sFAAsF;YACtF,yFAAyF;YACzF,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,EAChH,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACzB,KAAK,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1I,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,OAAO;YAAE,MAAM,UAAU,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG,EAAE,OAAsB,QAAQ;IACvG,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAClK,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAiB,CAAC;IAC9G,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5G,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC3G,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvC,uFAAuF;IACvF,0FAA0F;IAC1F,IAAI,WAAW,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,IAAI,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9K,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtI,MAAM,GAAG,IAAI,CAAC;QACd,UAAU,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,4EAA4E;YAC5E,IAAI,CAAC;gBAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAAC,CAAC;YACxH,OAAO,CAAC,EAAE,CAAC;gBAAC,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAC1E,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACzG,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE;gBAC5I,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC1I,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAC1D,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,cAAc,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;QAC1K,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC;QACb,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxH,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAClI,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACvH,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,EAAE,GAAG,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,KAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtH,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,MAAM,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnC,UAAU,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACxD,UAAU,EAAE,CAAC;YACb,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC;YAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,OAAO,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAChG,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;YAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1D,UAAU,EAAE,CAAC;QACf,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,UAAU,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACjE,UAAU,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;YAC/I,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;QACzB,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,UAAU,EAAE,CAAC;QACb,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QACrE,UAAU,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1C,UAAU,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;IACrF,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;gBAChD,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,24 @@ export type McpAnnouncementResult = AnnouncementState & ({
36
36
  readonly kind: "error" | "refused";
37
37
  readonly txId?: string;
38
38
  });
39
+ /** Strip the child's single terminal warning suffix and return the one text block. Exported for the
40
+ * installer's controlled claim/sign flows (sign_claim_channel) which share this exact released renderer. */
41
+ export declare function resultText(result: CallToolResult): string;
42
+ /** Parse a successful ToolResult into a JSON object, refusing non-ok prose. Exported for the
43
+ * installer's claim flow, which must not hand-roll decoding of the released child's results. */
44
+ export declare function jsonResult(result: CallToolResult): Record<string, unknown>;
45
+ /** Validate the released child's `evolver_sign_claim_channel` acknowledgement and return its txId.
46
+ * Exported for the installer's local-mode channel claim, which must not hand-roll this decoding. */
47
+ export declare function claimTxId(result: CallToolResult, channel: string): string;
48
+ type DecodedSubmit = {
49
+ readonly kind: "committed" | "fined" | "refused" | "already_submitted" | "unknown";
50
+ readonly message: string;
51
+ readonly reason?: string;
52
+ readonly commitIntervalMs?: number;
53
+ };
54
+ /** Decode only complete released ordinary-submit templates. Unrecognized/mismatched data => UNKNOWN.
55
+ * Exported for the installer's local-mode channel claim, which must act on the real outcome. */
56
+ export declare function submissionResult(result: CallToolResult, txId: string): DecodedSubmit;
39
57
  /** One same owned session; zero local signing/key/node access; one ordinary submit of its original id. */
40
58
  export declare function announceViaMcp(session: McpAnnounceSession, request: AnnounceRequest, options: McpAnnounceOptions): Promise<McpAnnouncementResult>;
41
59
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-announce.d.ts","sourceRoot":"","sources":["../src/mcp-announce.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrG,4FAA4F;IAC5F,MAAM,IAAI,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AACD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,CAAC;AAC5G,UAAU,iBAAiB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,CACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CACjE,CAAC;AAkHF,0GAA0G;AAC1G,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA6FhC"}
1
+ {"version":3,"file":"mcp-announce.d.ts","sourceRoot":"","sources":["../src/mcp-announce.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ function record(v) {
17
17
  function round(v) {
18
18
  return typeof v === "number" && Number.isSafeInteger(v) && v >= 0;
19
19
  }
20
- function resultText(result) {
20
+ /** Strip the child's single terminal warning suffix and return the one text block. Exported for the
21
+ * installer's controlled claim/sign flows (sign_claim_channel) which share this exact released renderer. */
22
+ export function resultText(result) {
21
23
  if (!record(result) || result.isError === true ||
22
24
  (result.isError !== undefined && result.isError !== false) ||
23
25
  !Array.isArray(result.content) || result.content.length !== 1)
@@ -28,7 +30,9 @@ function resultText(result) {
28
30
  throw new Error("upstream result is not bounded text with the recognized terminal warning");
29
31
  return block.text.slice(0, -UNTRUSTED.length);
30
32
  }
31
- function jsonResult(result) {
33
+ /** Parse a successful ToolResult into a JSON object, refusing non-ok prose. Exported for the
34
+ * installer's claim flow, which must not hand-roll decoding of the released child's results. */
35
+ export function jsonResult(result) {
32
36
  const text = resultText(result);
33
37
  // Non-ok ToolResult prose is NOT a JSON success, even with isError:false.
34
38
  if (/^(?:misconfigured|partial|wrong_kind|not_found): /.test(text))
@@ -70,8 +74,18 @@ function signatureResult(result, channel) {
70
74
  throw new Error("upstream signing acknowledgement is not a valid channel-write intent for the configured channel");
71
75
  return s.txId;
72
76
  }
73
- /** Decode only complete released ordinary-submit templates. Unrecognized/mismatched data => UNKNOWN. */
74
- function submissionResult(result, txId) {
77
+ /** Validate the released child's `evolver_sign_claim_channel` acknowledgement and return its txId.
78
+ * Exported for the installer's local-mode channel claim, which must not hand-roll this decoding. */
79
+ export function claimTxId(result, channel) {
80
+ const s = jsonResult(result);
81
+ if (typeof s.txId !== "string" || !TX_ID.test(s.txId) || s.verb !== "channel_claim" ||
82
+ !record(s.fields) || s.fields.channel !== channel || !record(s.summary))
83
+ throw new Error("upstream signing acknowledgement is not a valid channel-claim intent for the configured channel");
84
+ return s.txId;
85
+ }
86
+ /** Decode only complete released ordinary-submit templates. Unrecognized/mismatched data => UNKNOWN.
87
+ * Exported for the installer's local-mode channel claim, which must act on the real outcome. */
88
+ export function submissionResult(result, txId) {
75
89
  const text = resultText(result);
76
90
  const committed = /^committed: the transaction was ordered as ([0-9a-fA-F]{64})(?:, taking (\d+) ms to commit)?\. ⚠️ ORDERED is not the same as PAID — did the payment land is answered by the balance, not by ordering\.(?: `commitIntervalMs` is the submit-to-commit time in milliseconds\.)?$/.exec(text);
77
91
  if (committed) {