@mcsherrylabs/pi-meerkat 0.10.1 → 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.
- package/dist/installer/committee-init.sh +17 -33
- package/dist/installer/committee.conf +12 -34
- package/dist/installer/{node.devnet.conf → node-follower.conf} +3 -9
- package/dist/installer/node-join.sh +11 -4
- package/dist/installer/node.conf +4 -234
- package/dist/installer/node.local.conf +8 -0
- package/dist/installer/runtime.json +1 -1
- package/dist/installer-runtime/dist/scripts/recover-owner.js +7 -9
- package/dist/installer-runtime/dist/scripts/subscriptions-init.js +3 -4
- package/dist/installer-runtime/dist/scripts/versions.mjs +5 -10
- package/dist/installer-runtime/dist/src/announcements.js +1 -289
- package/dist/installer-runtime/dist/src/app.js +12 -548
- package/dist/installer-runtime/dist/src/chainfetch.js +0 -64
- package/dist/installer-runtime/dist/src/env.js +35 -32
- package/dist/installer-runtime/dist/src/service.js +151 -0
- package/dist/installer.d.ts +8 -18
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +8 -9
- package/dist/installer.js.map +1 -1
- package/dist/mcp-upstream.d.ts +1 -1
- package/dist/mcp-upstream.js +1 -1
- package/installer/Node.Dockerfile +4 -3
- package/installer/Registry.Dockerfile +34 -9
- package/installer/check-single-sdk.mjs +151 -0
- package/package.json +4 -4
- package/dist/installer-runtime/dist/src/runtime.js +0 -192
|
@@ -86,8 +86,8 @@ export const CHAIN_NAME_RE = /^[a-z0-9][a-z0-9._-]{0,31}$/;
|
|
|
86
86
|
* `??` is the wrong operator for these. Compose renders a pass-through variable as
|
|
87
87
|
* PRESENT-AND-EMPTY rather than omitting it (`EVOLVER_DEVNET_URL: ${EVOLVER_DEVNET_URL:-}`),
|
|
88
88
|
* and `process.env.X ?? default` only falls back on undefined — so an empty value WINS and
|
|
89
|
-
* the default never applies. That is not hypothetical:
|
|
90
|
-
*
|
|
89
|
+
* the default never applies. That is not hypothetical: a pass-through deploy that rendered
|
|
90
|
+
* these present-and-empty once made devnet's url resolve to the empty string, and the
|
|
91
91
|
* deployment failed with `chain not ready at (target 'devnet')`. Every optional variable
|
|
92
92
|
* in this project goes through here. */
|
|
93
93
|
export function optionalEnv(k) {
|
|
@@ -362,42 +362,45 @@ export function registryChannelOperator() {
|
|
|
362
362
|
export function registryReadOnly() {
|
|
363
363
|
return optionalEnv("REGISTRY_READ_ONLY") === "1";
|
|
364
364
|
}
|
|
365
|
-
// ── 004-event-processor-inbox
|
|
366
|
-
/** A setting
|
|
365
|
+
// ── 004-event-processor-inbox / 177-managed-processor-shell ───────────────────
|
|
366
|
+
/** A retired setting that the managed shell no longer reads. A non-empty value is REFUSED, not
|
|
367
|
+
* read, so a stale deployment cannot silently diverge (processing with no node control, or
|
|
368
|
+
* serving nothing). See `refuseRetiredSettings`. */
|
|
367
369
|
export class RenamedSettingError extends Error {
|
|
368
370
|
}
|
|
371
|
+
/** `registryStatePath(target)` moves here beside [[ensureStateDir]] — the shell owns the store
|
|
372
|
+
* path, and both `src/service.ts` and `scripts/recover-owner.ts` need it. */
|
|
373
|
+
export function registryStatePath(target) {
|
|
374
|
+
return join(target.stateDir, "registry.db");
|
|
375
|
+
}
|
|
369
376
|
/**
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
* the node's stream — the processor — and both keep what nobody handles in the inbox.
|
|
376
|
-
*
|
|
377
|
-
* ⚠️ IT STAYS ONE SWITCH BECAUSE THE NODE READS IT TOO. `node-join.sh` decides from the same
|
|
378
|
-
* value whether the node subscribes to `REGISTRY_CHANNEL`, and phase M of the command suite
|
|
379
|
-
* fails the build if the two are keyed on anything else. A second "which modules" setting could
|
|
380
|
-
* disagree with the node's channel list, and the registry would then index nothing (research R1).
|
|
377
|
+
* FR-031 — the managed shell reads ONLY the binding (`EVOLVER_CHAIN_ID`, `APP_NODE_ID`) from the
|
|
378
|
+
* environment. Every other retired Meerkat setting is a fixed container default or an explicit
|
|
379
|
+
* option, and a non-empty value must REFUSE startup. A compose `${X:-}` renders present-and-EMPTY,
|
|
380
|
+
* so an empty string is NOT a refusal (it is "unset"); only a non-empty value refuses. The message
|
|
381
|
+
* names the offending variable.
|
|
381
382
|
*
|
|
382
|
-
* `
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
* ⚠️ `REGISTRY_HTTP_PORT`, its name before 004, is REFUSED whenever it is set — not read, not
|
|
386
|
-
* aliased. Ignoring it would be worse than either: a registry deployment whose environment still
|
|
387
|
-
* says `REGISTRY_HTTP_PORT=8090` would start as the template DEMO, drain its node with the wrong
|
|
388
|
-
* module and serve nothing, and say so nowhere. The refusal names the fix.
|
|
383
|
+
* `EVOLVER_MANAGED_NODE_CONTAINER` is evolver-mcp's node container_name and is deliberately NOT on
|
|
384
|
+
* this list.
|
|
389
385
|
*/
|
|
390
|
-
export function
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
386
|
+
export function refuseRetiredSettings(env = process.env) {
|
|
387
|
+
for (const name of RETIRED_SETTINGS) {
|
|
388
|
+
const value = env[name];
|
|
389
|
+
if (value !== undefined && value !== "") {
|
|
390
|
+
throw new RenamedSettingError(`${name} is set (${value}), but it is a retired Meerkat setting and is no longer read:\n` +
|
|
391
|
+
` the managed processor shell fixes every setting as a container default or an explicit\n` +
|
|
392
|
+
` option, reading only EVOLVER_CHAIN_ID / APP_NODE_ID from the environment. Unset ${name}\n` +
|
|
393
|
+
` and start again; reading it would let a stale deployment silently diverge.`);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
400
396
|
}
|
|
397
|
+
const RETIRED_SETTINGS = [
|
|
398
|
+
"EVOLVER_PROCESSOR_CONTROL_SOCKET",
|
|
399
|
+
"PROCESSOR_HTTP_PORT",
|
|
400
|
+
"REGISTRY_HTTP_PORT",
|
|
401
|
+
"PROCESSOR_READ_HOST",
|
|
402
|
+
"EVOLVER_SUBSCRIPTIONS_FILE",
|
|
403
|
+
];
|
|
401
404
|
/** The lease ceiling, in ROUNDS, measured from the round an announcement is ordered.
|
|
402
405
|
*
|
|
403
406
|
* ⚠️ Rounds, never wall-clock: devnet commits on a ~600 ms floor when busy and a 300-second
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// The registry service: application configuration + module registration only (FR-004, SC-001).
|
|
2
|
+
// All generic cursor/storage/config/control/lifecycle ownership lives in the SDK managed shell
|
|
3
|
+
// (`startManagedProcessor`); this file wires the registry module, its routes, the state path, the
|
|
4
|
+
// own-node client and the operator identity to that shell. No processor-composition code of its
|
|
5
|
+
// own remains here.
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { readFileSync } from "node:fs";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { isValidNodeId, NodeClient } from "@mcsherrylabs/evolver-client";
|
|
10
|
+
import { deadlineFetch, MANAGED_PROCESSOR_DEFAULTS, startManagedProcessor, } from "@mcsherrylabs/evolver-client/processor";
|
|
11
|
+
import { ensureStateDir, refuseRetiredSettings, registryChannelOperator, registryReadOnly, registryStatePath, ROOT, } from "./env.js";
|
|
12
|
+
import * as store from "./store.js";
|
|
13
|
+
import { identityPrefix } from "../scripts/versions.mjs";
|
|
14
|
+
import { CHAIN_TIMEOUT_MS } from "./chainfetch.js";
|
|
15
|
+
import { registryModule, registryReadRoutes } from "./registry/index.js";
|
|
16
|
+
/** The operator identity name the registry claims/signs as. Resolved BEFORE any network: from
|
|
17
|
+
* saved state, else a freshly derived name, always carrying the per-target suffix on a shared
|
|
18
|
+
* chain so two deployments never collide on one name. */
|
|
19
|
+
function nameFor(target, prefix, suffix) {
|
|
20
|
+
return target.chainIsEphemeral ? `${prefix}A` : `${prefix}A${suffix()}`;
|
|
21
|
+
}
|
|
22
|
+
function devnetSuffixFor(target, prefix) {
|
|
23
|
+
let cached = null;
|
|
24
|
+
return () => {
|
|
25
|
+
if (cached)
|
|
26
|
+
return cached;
|
|
27
|
+
for (const { nodeId } of store.summary(target)) {
|
|
28
|
+
const m = new RegExp(`^${prefix}A(\\d+)$`).exec(nodeId);
|
|
29
|
+
if (m)
|
|
30
|
+
return (cached = m[1]);
|
|
31
|
+
}
|
|
32
|
+
return (cached = String(Date.now()).slice(-6));
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The registry service: refuse retired settings, build the own-node client (never the target's node URL,
|
|
37
|
+
* FR-012), claim/resolve the operator identity, register the registry module with the SDK shell,
|
|
38
|
+
* and start it. Everything the shell owns (owner lock, banner, control socket, stale-socket
|
|
39
|
+
* recovery, node-control restart, signals) is the SDK's.
|
|
40
|
+
*/
|
|
41
|
+
export async function startRegistryService(options) {
|
|
42
|
+
refuseRetiredSettings(); // FR-031
|
|
43
|
+
const nodeUrl = options.shell?.nodeUrl ?? MANAGED_PROCESSOR_DEFAULTS.nodeUrl; // FR-012: never the target's node URL
|
|
44
|
+
const node = new NodeClient({ baseUrl: nodeUrl, fetch: deadlineFetch(CHAIN_TIMEOUT_MS) });
|
|
45
|
+
// ── operator identity + read-only mode (ported from the old service branch of src/app.ts) ──
|
|
46
|
+
const readOnly = registryReadOnly();
|
|
47
|
+
// READ-ONLY: the installer's registry never claims or signs with any identity. The operator is
|
|
48
|
+
// the PINNED channel operator; no sender identity is ever loaded or claimed, so the identity()
|
|
49
|
+
// claim path is never reached in this mode. A read-only registry without a valid pinned operator
|
|
50
|
+
// has nobody to trust the channel's terms to, so it refuses at startup rather than proceeding
|
|
51
|
+
// owner-less.
|
|
52
|
+
const pinnedOperator = registryChannelOperator();
|
|
53
|
+
if (readOnly && !pinnedOperator)
|
|
54
|
+
throw new Error("REGISTRY_READ_ONLY=1 requires a valid REGISTRY_CHANNEL_OPERATOR naming the identity " +
|
|
55
|
+
"that owns the index channel; the installer's rendered compose always sets both.");
|
|
56
|
+
// This app's own name, from package.json — never a literal, so a rename cannot leave a stale one.
|
|
57
|
+
const appName = (() => {
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(readFileSync(join(ROOT, "package.json"), "utf8")).name ?? "app";
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return "app";
|
|
63
|
+
}
|
|
64
|
+
})();
|
|
65
|
+
const prefix = identityPrefix(appName);
|
|
66
|
+
const suffix = devnetSuffixFor(options.target, prefix);
|
|
67
|
+
const operator = readOnly ? pinnedOperator : store.get(options.target, "sender")?.nodeId ?? nameFor(options.target, prefix, suffix);
|
|
68
|
+
const nodeIdentity = process.env.APP_NODE_ID?.trim() ?? "";
|
|
69
|
+
const faucet = new NodeClient({ baseUrl: options.target.faucetUrl, fetch: deadlineFetch(CHAIN_TIMEOUT_MS) });
|
|
70
|
+
/** Load, or claim and persist, the sender identity. Only the "sender" role is ever used by the
|
|
71
|
+
* registry. Reconciles against the chain (the faucet's committed view) rather than trusting
|
|
72
|
+
* state — see the extensive note that lived in the old app.ts service branch. */
|
|
73
|
+
const identity = async () => {
|
|
74
|
+
if (readOnly)
|
|
75
|
+
throw new Error("read-only registry must never claim or sign with any identity");
|
|
76
|
+
const existing = store.get(options.target, "sender");
|
|
77
|
+
if (existing) {
|
|
78
|
+
const onChain = await faucet.getIdentity(existing.nodeId);
|
|
79
|
+
if (onChain !== null)
|
|
80
|
+
return { sender: existing, signer: store.signerFor(existing) };
|
|
81
|
+
options.say(` sender: ${existing.nodeId} is in state but not on chain — claiming it now`);
|
|
82
|
+
const retry = await faucet.claimIdentity(existing);
|
|
83
|
+
if (retry.kind === "committed")
|
|
84
|
+
return { sender: existing, signer: store.signerFor(existing) };
|
|
85
|
+
if (retry.kind === "exists") {
|
|
86
|
+
throw new Error(`'${existing.nodeId}' is on chain with keys this app does not hold.\n` +
|
|
87
|
+
` state/${options.target.name} is stale for 'sender'. npm run state:reset` +
|
|
88
|
+
(options.target.chainIsEphemeral ? ` (or npm run reset for chain + state)` : ``));
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`re-claim of '${existing.nodeId}' failed: ${retry.error}` +
|
|
91
|
+
`${retry.message ? ` — ${retry.message}` : ""}`);
|
|
92
|
+
}
|
|
93
|
+
const name = nameFor(options.target, prefix, suffix);
|
|
94
|
+
if (!isValidNodeId(name)) {
|
|
95
|
+
throw new Error(`'${name}' is not a usable identity name — the node requires 1–50 ASCII ` +
|
|
96
|
+
`alphanumeric characters (letters and digits only).`);
|
|
97
|
+
}
|
|
98
|
+
const id = store.create(options.target, "sender", name);
|
|
99
|
+
const r = await faucet.claimIdentity(id);
|
|
100
|
+
switch (r.kind) {
|
|
101
|
+
case "committed": return { sender: id, signer: store.signerFor(id) };
|
|
102
|
+
case "exists":
|
|
103
|
+
throw new Error(`'${name}' already exists on chain and these keys are not its keys.\n` +
|
|
104
|
+
(!options.target.chainIsEphemeral
|
|
105
|
+
? ` this target's state was reset but the name was reused — npm run state:reset, then retry`
|
|
106
|
+
: process.env.EVOLVER_IN_CONTAINER === "1"
|
|
107
|
+
? ` the chain outlived the app's state. Discard both together:\n` +
|
|
108
|
+
` docker compose down -v (or: docker compose -f oci://<ref> down -v)`
|
|
109
|
+
: ` the local chain outlived its state: npm run reset (chain + state together)`));
|
|
110
|
+
case "failed":
|
|
111
|
+
if (r.error === "digest_mismatch") {
|
|
112
|
+
throw new Error(`CLAIM RECIPE DRIFT — ${r.message}\n` +
|
|
113
|
+
` Nothing was signed. The node and @mcsherrylabs/evolver-client disagree on the\n` +
|
|
114
|
+
` proof-of-possession digest, which means their versions do not match.`);
|
|
115
|
+
}
|
|
116
|
+
throw new Error(`claim of '${name}' failed: ${r.error}${r.message ? ` — ${r.message}` : ""}`);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
/** Wait until this own node can actually write (stopped bulk-syncing) before provisioning. */
|
|
120
|
+
const beforeProvision = async () => {
|
|
121
|
+
const deadline = Date.now() + 180_000;
|
|
122
|
+
let last = await node.currentRound();
|
|
123
|
+
let announced = false;
|
|
124
|
+
while (Date.now() < deadline) {
|
|
125
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
126
|
+
const now = await node.currentRound();
|
|
127
|
+
const advanced = now - last;
|
|
128
|
+
last = now;
|
|
129
|
+
if (advanced < 5)
|
|
130
|
+
return;
|
|
131
|
+
if (!announced) {
|
|
132
|
+
options.say(` this node is still catching up (round ${now}, +${advanced}/500ms) — waiting`);
|
|
133
|
+
announced = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
throw new Error(`this node is still bulk-syncing after 3 minutes (round ${last}).\n` +
|
|
137
|
+
` A submit would be accepted and then sit unrouted, so nothing is sent.`);
|
|
138
|
+
};
|
|
139
|
+
const module = registryModule({
|
|
140
|
+
chain: options.target.name, node, chainUrl: nodeUrl,
|
|
141
|
+
chainAgreedUrl: options.target.faucetUrl, operator, nodeIdentity, readOnly, identity,
|
|
142
|
+
beforeProvision, say: options.say,
|
|
143
|
+
});
|
|
144
|
+
ensureStateDir(options.target);
|
|
145
|
+
return startManagedProcessor({ ...options.shell,
|
|
146
|
+
recovery: { service: "registry", command: `node ${fileURLToPath(new URL("../scripts/recover-owner.js", import.meta.url))} --force` },
|
|
147
|
+
paths: { ...options.shell?.paths, state: registryStatePath(options.target) },
|
|
148
|
+
storeModules: [module.worker], lifecycle: [module.lifecycle],
|
|
149
|
+
routes: runtime => registryReadRoutes(runtime, async () => String(await node.currentRound())),
|
|
150
|
+
say: options.say });
|
|
151
|
+
}
|
package/dist/installer.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare function renderDeployment(state: Installation): {
|
|
|
72
72
|
EVOLVER_ALLOWED_OUTBOUND: string;
|
|
73
73
|
EVOLVER_EXECUTION_ENABLED: string;
|
|
74
74
|
EVOLVER_NODE_PORT: string;
|
|
75
|
-
EVOLVER_NODE_CONFIG
|
|
75
|
+
EVOLVER_NODE_CONFIG?: undefined;
|
|
76
76
|
CLAIM_TIMEOUT?: undefined;
|
|
77
77
|
CLAIM_WATCH_SECS?: undefined;
|
|
78
78
|
};
|
|
@@ -92,6 +92,9 @@ export declare function renderDeployment(state: Installation): {
|
|
|
92
92
|
labels: {
|
|
93
93
|
"io.meerkat.installation": string;
|
|
94
94
|
};
|
|
95
|
+
args: {
|
|
96
|
+
EVOLVER_PROCESSOR_IMAGE: string;
|
|
97
|
+
};
|
|
95
98
|
};
|
|
96
99
|
user: string;
|
|
97
100
|
group_add: string[];
|
|
@@ -99,14 +102,10 @@ export declare function renderDeployment(state: Installation): {
|
|
|
99
102
|
EVOLVER_FAUCET_URL: string;
|
|
100
103
|
EVOLVER_CHAIN_ID: string;
|
|
101
104
|
APP_NODE_ID: string;
|
|
102
|
-
EVOLVER_SUBSCRIPTIONS_FILE: string;
|
|
103
105
|
REGISTRY_CHANNEL: string;
|
|
104
106
|
REGISTRY_CHANNEL_OPERATOR: string;
|
|
105
107
|
REGISTRY_READ_ONLY: string;
|
|
106
108
|
REGISTRY_CONTENT_URL: string;
|
|
107
|
-
PROCESSOR_HTTP_PORT: string;
|
|
108
|
-
PROCESSOR_READ_HOST: string;
|
|
109
|
-
EVOLVER_PROCESSOR_CONTROL_SOCKET: string;
|
|
110
109
|
EVOLVER_DEVNET_URL?: string | undefined;
|
|
111
110
|
EVOLVER_TARGET: string;
|
|
112
111
|
EVOLVER_NODE: string;
|
|
@@ -128,14 +127,10 @@ export declare function renderDeployment(state: Installation): {
|
|
|
128
127
|
EVOLVER_FAUCET_URL: string;
|
|
129
128
|
EVOLVER_CHAIN_ID: string;
|
|
130
129
|
APP_NODE_ID: string;
|
|
131
|
-
EVOLVER_SUBSCRIPTIONS_FILE: string;
|
|
132
130
|
REGISTRY_CHANNEL: string;
|
|
133
131
|
REGISTRY_CHANNEL_OPERATOR: string;
|
|
134
132
|
REGISTRY_READ_ONLY: string;
|
|
135
133
|
REGISTRY_CONTENT_URL: string;
|
|
136
|
-
PROCESSOR_HTTP_PORT: string;
|
|
137
|
-
PROCESSOR_READ_HOST: string;
|
|
138
|
-
EVOLVER_PROCESSOR_CONTROL_SOCKET: string;
|
|
139
134
|
EVOLVER_DEVNET_URL?: string | undefined;
|
|
140
135
|
EVOLVER_TARGET: string;
|
|
141
136
|
EVOLVER_NODE: string;
|
|
@@ -247,10 +242,10 @@ export declare function renderDeployment(state: Installation): {
|
|
|
247
242
|
EVOLVER_ALLOWED_OUTBOUND: string;
|
|
248
243
|
EVOLVER_EXECUTION_ENABLED: string;
|
|
249
244
|
EVOLVER_NODE_PORT: string;
|
|
245
|
+
EVOLVER_NODE_CONFIG: string;
|
|
250
246
|
CLAIM_TIMEOUT: string;
|
|
251
247
|
CLAIM_WATCH_SECS: string;
|
|
252
248
|
EVOLVER_DA_PEERS?: undefined;
|
|
253
|
-
EVOLVER_NODE_CONFIG?: undefined;
|
|
254
249
|
};
|
|
255
250
|
group_add: string[];
|
|
256
251
|
volumes: string[];
|
|
@@ -268,6 +263,9 @@ export declare function renderDeployment(state: Installation): {
|
|
|
268
263
|
labels: {
|
|
269
264
|
"io.meerkat.installation": string;
|
|
270
265
|
};
|
|
266
|
+
args: {
|
|
267
|
+
EVOLVER_PROCESSOR_IMAGE: string;
|
|
268
|
+
};
|
|
271
269
|
};
|
|
272
270
|
user: string;
|
|
273
271
|
group_add: string[];
|
|
@@ -275,14 +273,10 @@ export declare function renderDeployment(state: Installation): {
|
|
|
275
273
|
EVOLVER_FAUCET_URL: string;
|
|
276
274
|
EVOLVER_CHAIN_ID: string;
|
|
277
275
|
APP_NODE_ID: string;
|
|
278
|
-
EVOLVER_SUBSCRIPTIONS_FILE: string;
|
|
279
276
|
REGISTRY_CHANNEL: string;
|
|
280
277
|
REGISTRY_CHANNEL_OPERATOR: string;
|
|
281
278
|
REGISTRY_READ_ONLY: string;
|
|
282
279
|
REGISTRY_CONTENT_URL: string;
|
|
283
|
-
PROCESSOR_HTTP_PORT: string;
|
|
284
|
-
PROCESSOR_READ_HOST: string;
|
|
285
|
-
EVOLVER_PROCESSOR_CONTROL_SOCKET: string;
|
|
286
280
|
EVOLVER_DEVNET_URL?: string | undefined;
|
|
287
281
|
EVOLVER_TARGET: string;
|
|
288
282
|
EVOLVER_NODE: string;
|
|
@@ -304,14 +298,10 @@ export declare function renderDeployment(state: Installation): {
|
|
|
304
298
|
EVOLVER_FAUCET_URL: string;
|
|
305
299
|
EVOLVER_CHAIN_ID: string;
|
|
306
300
|
APP_NODE_ID: string;
|
|
307
|
-
EVOLVER_SUBSCRIPTIONS_FILE: string;
|
|
308
301
|
REGISTRY_CHANNEL: string;
|
|
309
302
|
REGISTRY_CHANNEL_OPERATOR: string;
|
|
310
303
|
REGISTRY_READ_ONLY: string;
|
|
311
304
|
REGISTRY_CONTENT_URL: string;
|
|
312
|
-
PROCESSOR_HTTP_PORT: string;
|
|
313
|
-
PROCESSOR_READ_HOST: string;
|
|
314
|
-
EVOLVER_PROCESSOR_CONTROL_SOCKET: string;
|
|
315
305
|
EVOLVER_DEVNET_URL?: string | undefined;
|
|
316
306
|
EVOLVER_TARGET: string;
|
|
317
307
|
EVOLVER_NODE: string;
|
package/dist/installer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
package/dist/installer.js
CHANGED
|
@@ -25,7 +25,10 @@ const NODE_IMAGE = 'nexus.mcsherrylabs.com/evolver-node@sha256:f78974686dcdfacfd
|
|
|
25
25
|
const NODE_CONTROL_UID = '10001';
|
|
26
26
|
const NODE_CONTROL_GID = '999';
|
|
27
27
|
const OWNER = 'io.meerkat.installation';
|
|
28
|
-
|
|
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';
|
|
29
32
|
const runtime = `${installed}/dist/installer-runtime`;
|
|
30
33
|
const control = `${installed}/installer/runtime-control.mjs`;
|
|
31
34
|
// DevNet facts (verified by the coordinator, pinned exactly). See the task brief.
|
|
@@ -62,14 +65,10 @@ const registryEnvironment = (state, committee) => ({
|
|
|
62
65
|
EVOLVER_FAUCET_URL: committee ? 'http://committee:8440' : DEVNET_ORIGIN,
|
|
63
66
|
EVOLVER_CHAIN_ID: state.mode === 'devnet' ? DEVNET_CHAIN_ID : state.binding?.chainId ?? '',
|
|
64
67
|
APP_NODE_ID: state.nodeId,
|
|
65
|
-
EVOLVER_SUBSCRIPTIONS_FILE: '/subscriptions/channels.conf',
|
|
66
68
|
REGISTRY_CHANNEL: state.channel,
|
|
67
69
|
REGISTRY_CHANNEL_OPERATOR: state.registryOperator,
|
|
68
70
|
REGISTRY_READ_ONLY: '1',
|
|
69
71
|
REGISTRY_CONTENT_URL: 'http://node:8450',
|
|
70
|
-
PROCESSOR_HTTP_PORT: '8090',
|
|
71
|
-
PROCESSOR_READ_HOST: '0.0.0.0',
|
|
72
|
-
EVOLVER_PROCESSOR_CONTROL_SOCKET: '/control/control.sock',
|
|
73
72
|
});
|
|
74
73
|
export function renderDeployment(state) {
|
|
75
74
|
const labels = { [OWNER]: state.id };
|
|
@@ -83,11 +82,11 @@ export function renderDeployment(state) {
|
|
|
83
82
|
build: { context: './package', dockerfile: 'installer/Node.Dockerfile', labels, args: { EVOLVER_NODE_IMAGE: NODE_IMAGE } },
|
|
84
83
|
environment: { APP_NODE_ID: state.nodeId, DEVNET_API: DEVNET_ORIGIN, EVOLVER_UPSTREAM_NODE_ID: DEVNET_UPSTREAM_NODE_ID,
|
|
85
84
|
EVOLVER_DA_PEERS: DEVNET_DA_PEERS, EVOLVER_ALLOWED_OUTBOUND: DEVNET_ALLOWED_OUTBOUND,
|
|
86
|
-
EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100'
|
|
85
|
+
EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100' },
|
|
87
86
|
group_add: ['1000'], volumes: ['node-data:/data', 'subscriptions:/subscriptions:ro', 'node-control:/node-control'],
|
|
88
87
|
restart: 'unless-stopped' },
|
|
89
88
|
registry: { image: `${state.project}-registry:${state.packageVersion}`, labels, container_name: `${state.project}-registry`,
|
|
90
|
-
build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels },
|
|
89
|
+
build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels, args: { EVOLVER_PROCESSOR_IMAGE: PROCESSOR_IMAGE } },
|
|
91
90
|
user: '1000:1000', group_add: [NODE_CONTROL_GID], environment: registryEnv,
|
|
92
91
|
volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent',
|
|
93
92
|
'node-control:/node-control:ro', 'control:/control'],
|
|
@@ -117,11 +116,11 @@ export function renderDeployment(state) {
|
|
|
117
116
|
node: { image: `${state.project}-node:${state.packageVersion}`, labels, container_name: `${state.project}-node`, entrypoint: ['sh', '/config/node-join.sh'],
|
|
118
117
|
build: { context: './package', dockerfile: 'installer/Node.Dockerfile', labels, args: { EVOLVER_NODE_IMAGE: NODE_IMAGE } },
|
|
119
118
|
environment: { APP_NODE_ID: state.nodeId, DEVNET_API: 'http://committee:8440', EVOLVER_UPSTREAM_NODE_ID: state.committeeId,
|
|
120
|
-
EVOLVER_ALLOWED_OUTBOUND: '1', EVOLVER_EXECUTION_ENABLED: 'true', EVOLVER_NODE_PORT: '7100', CLAIM_TIMEOUT: '90', CLAIM_WATCH_SECS: '30' },
|
|
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' },
|
|
121
120
|
group_add: ['1000'], volumes: ['node-data:/data', 'subscriptions:/subscriptions:ro', 'genesis:/public-genesis:ro', 'node-control:/node-control'],
|
|
122
121
|
restart: 'unless-stopped' },
|
|
123
122
|
registry: { image: `${state.project}-registry:${state.packageVersion}`, labels, container_name: `${state.project}-registry`,
|
|
124
|
-
build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels },
|
|
123
|
+
build: { context: './package', dockerfile: 'installer/Registry.Dockerfile', labels, args: { EVOLVER_PROCESSOR_IMAGE: PROCESSOR_IMAGE } },
|
|
125
124
|
user: '1000:1000', group_add: [NODE_CONTROL_GID], environment,
|
|
126
125
|
volumes: [`app-state:${runtime}/state`, 'subscriptions:/subscriptions', 'agent-state:/meerkat/agent',
|
|
127
126
|
'node-control:/node-control:ro', 'control:/control'],
|
package/dist/installer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-upstream.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CallToolRequest, CallToolResult, ListToolsResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { FacadeConfig } from "./mcp-config.js";
|
|
3
|
-
export declare const EVOLVER_MCP_VERSION = "0.
|
|
3
|
+
export declare const EVOLVER_MCP_VERSION = "0.17.0";
|
|
4
4
|
export declare const UPSTREAM_START_TIMEOUT_MS = 15000;
|
|
5
5
|
export declare const UPSTREAM_CALL_TIMEOUT_MS = 60000;
|
|
6
6
|
/** Resolve package metadata through this installed dependency tree, never PATH/global/npx/source. */
|
package/dist/mcp-upstream.js
CHANGED
|
@@ -7,7 +7,7 @@ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
|
7
7
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
8
8
|
import { CallToolResultSchema, ToolListChangedNotificationSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
9
9
|
import { upstreamEnvironment } from "./mcp-config.js";
|
|
10
|
-
export const EVOLVER_MCP_VERSION = "0.
|
|
10
|
+
export const EVOLVER_MCP_VERSION = "0.17.0";
|
|
11
11
|
export const UPSTREAM_START_TIMEOUT_MS = 15_000;
|
|
12
12
|
export const UPSTREAM_CALL_TIMEOUT_MS = 60_000;
|
|
13
13
|
/** Resolve package metadata through this installed dependency tree, never PATH/global/npx/source. */
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
ARG EVOLVER_NODE_IMAGE
|
|
3
3
|
FROM ${EVOLVER_NODE_IMAGE}
|
|
4
4
|
# Bake the released local-chain initializer and config into the image: no daemon-host paths.
|
|
5
|
-
# The node-join entry selects
|
|
6
|
-
#
|
|
5
|
+
# The node-join entry selects the local config explicitly via EVOLVER_NODE_CONFIG, so no public
|
|
6
|
+
# DevNet node config is baked here — the five files below are copied verbatim under their own names.
|
|
7
7
|
COPY dist/installer/node-join.sh /config/node-join.sh
|
|
8
8
|
COPY dist/installer/node.conf /config/node.conf
|
|
9
|
-
COPY dist/installer/node.
|
|
9
|
+
COPY dist/installer/node.local.conf /config/node.local.conf
|
|
10
|
+
COPY dist/installer/node-follower.conf /config/node-follower.conf
|
|
10
11
|
COPY dist/installer/genesis.devnet.conf /config/genesis.devnet.conf
|
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
# syntax=docker/dockerfile:1
|
|
2
|
-
#
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
# The installer's registry image (FR-015, FR-023, FR-029): the packaged pi-meerkat runtime layered
|
|
3
|
+
# over the evolver-mcp processor base image, adding no second SDK. The installer passes the pinned
|
|
4
|
+
# digest as EVOLVER_PROCESSOR_IMAGE; this file deliberately has NO default so an unpinned FROM fails
|
|
5
|
+
# loudly at build time rather than floating onto whatever :v0.17.0 the daemon last pulled.
|
|
6
|
+
ARG EVOLVER_PROCESSOR_IMAGE
|
|
7
|
+
FROM ${EVOLVER_PROCESSOR_IMAGE} AS base
|
|
8
|
+
|
|
9
|
+
# Build stage: pack the context (package/ — the emitted dist + installer + package.json the
|
|
10
|
+
# installer copied) and clean-install it bookworm/glibc, matching the base's libc for native
|
|
11
|
+
# optionals. Then prove exactly one client copy (== the base's) and strip it.
|
|
12
|
+
FROM node:22.23.3-bookworm-slim AS build
|
|
13
|
+
WORKDIR /build
|
|
14
|
+
COPY --from=base /app/node_modules/@mcsherrylabs/evolver-client/package.json /base-sdk.json
|
|
15
|
+
# The single-SDK gate is shipped in the package's installer/ files and copied verbatim from the
|
|
16
|
+
# context so it is byte-identical to the copy the app Dockerfile runs.
|
|
17
|
+
COPY installer/check-single-sdk.mjs /build/check-single-sdk.mjs
|
|
5
18
|
COPY . /package
|
|
6
|
-
RUN cd /package && npm pack --ignore-scripts --pack-destination /
|
|
7
|
-
cd /
|
|
8
|
-
rm ./*.tgz && rm -rf /package
|
|
9
|
-
|
|
10
|
-
|
|
19
|
+
RUN cd /package && npm pack --ignore-scripts --pack-destination /build && \
|
|
20
|
+
cd /build && npm install --omit=dev --ignore-scripts --no-audit --no-fund ./mcsherrylabs-pi-meerkat-*.tgz && \
|
|
21
|
+
rm ./*.tgz && rm -rf /package
|
|
22
|
+
RUN node /build/check-single-sdk.mjs /build --expect 0.24.0 --strip --base-sdk /base-sdk.json
|
|
23
|
+
|
|
24
|
+
FROM base
|
|
25
|
+
USER root
|
|
26
|
+
# Merge the packed package's node_modules over the base's; the base's @mcsherrylabs/evolver-client
|
|
27
|
+
# directory is untouched (stripped above), and the package installs under /app/node_modules so ESM
|
|
28
|
+
# resolves the base's SDK by walking up from /app/node_modules/@mcsherrylabs/pi-meerkat.
|
|
29
|
+
COPY --from=build /build/node_modules/ /app/node_modules/
|
|
30
|
+
RUN node /app/node_modules/@mcsherrylabs/pi-meerkat/installer/check-single-sdk.mjs /app --expect 0.24.0 --count-image
|
|
31
|
+
# Public application distribution; the app-owned state and agent dirs are the runtime's own.
|
|
32
|
+
RUN mkdir -p /app/node_modules/@mcsherrylabs/pi-meerkat/dist/installer-runtime/state /meerkat/agent && \
|
|
33
|
+
chown -R 1000:1000 /app/node_modules/@mcsherrylabs/pi-meerkat/dist/installer-runtime/state /meerkat/agent && \
|
|
34
|
+
chmod -R a+rX /app
|
|
11
35
|
ENV EVOLVER_IN_CONTAINER=1
|
|
12
36
|
USER 1000:1000
|
|
13
|
-
|
|
37
|
+
ENTRYPOINT []
|
|
38
|
+
CMD ["node", "/app/node_modules/@mcsherrylabs/pi-meerkat/dist/installer-runtime/dist/src/app.js"]
|