lorenz 0.1.5 → 0.1.6
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/README.md +83 -20
- package/RELEASE-MANIFEST.json +6 -1
- package/node_modules/@lorenz/agent-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/agent-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/agent-sdk/dist/module.d.ts +38 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.js +41 -0
- package/node_modules/@lorenz/agent-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts +30 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js +63 -0
- package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemon.d.ts +42 -19
- package/node_modules/@lorenz/cli/dist/daemon.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/daemon.js +72 -23
- package/node_modules/@lorenz/cli/dist/daemon.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/daemonLock.d.ts +59 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.js +304 -0
- package/node_modules/@lorenz/cli/dist/daemonLock.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts +16 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.js +21 -0
- package/node_modules/@lorenz/cli/dist/daemonStatus.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/doctor.d.ts +6 -0
- package/node_modules/@lorenz/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/doctor.js +38 -1
- package/node_modules/@lorenz/cli/dist/doctor.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts +126 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.js +187 -0
- package/node_modules/@lorenz/cli/dist/extensionLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts +42 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.js +67 -0
- package/node_modules/@lorenz/cli/dist/flags-manifest.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/index.d.ts +6 -0
- package/node_modules/@lorenz/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/index.js +4 -0
- package/node_modules/@lorenz/cli/dist/index.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts +42 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.js +2 -0
- package/node_modules/@lorenz/cli/dist/leadershipStore.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/main.d.ts +11 -7
- package/node_modules/@lorenz/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/main.js +58 -8
- package/node_modules/@lorenz/cli/dist/main.js.map +1 -1
- package/node_modules/@lorenz/cli/dist/toolLoader.d.ts +28 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.js +62 -0
- package/node_modules/@lorenz/cli/dist/toolLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts +24 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts.map +1 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.js +34 -0
- package/node_modules/@lorenz/cli/dist/trackerLoader.js.map +1 -0
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts +15 -55
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts.map +1 -1
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.js +26 -203
- package/node_modules/@lorenz/cli/dist/workerDriverLoader.js.map +1 -1
- package/node_modules/@lorenz/cli/package.json +1 -0
- package/node_modules/@lorenz/config/dist/index.d.ts +1 -1
- package/node_modules/@lorenz/config/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/index.js +1 -1
- package/node_modules/@lorenz/config/dist/index.js.map +1 -1
- package/node_modules/@lorenz/config/dist/parse.d.ts +17 -0
- package/node_modules/@lorenz/config/dist/parse.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/parse.js +107 -11
- package/node_modules/@lorenz/config/dist/parse.js.map +1 -1
- package/node_modules/@lorenz/config/dist/schemas.d.ts +0 -2
- package/node_modules/@lorenz/config/dist/schemas.d.ts.map +1 -1
- package/node_modules/@lorenz/config/dist/schemas.js +5 -1
- package/node_modules/@lorenz/config/dist/schemas.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts +55 -21
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js +187 -82
- package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts +6 -4
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js +9 -6
- package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.js +5 -6
- package/node_modules/@lorenz/dispatch-coordinator/dist/index.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts +7 -5
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js +12 -10
- package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts +11 -10
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js +15 -22
- package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts +16 -15
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts.map +1 -1
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.js +6 -7
- package/node_modules/@lorenz/dispatch-coordinator/dist/types.js.map +1 -1
- package/node_modules/@lorenz/domain/dist/index.d.ts +75 -9
- package/node_modules/@lorenz/domain/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/domain/dist/index.js +40 -0
- package/node_modules/@lorenz/domain/dist/index.js.map +1 -1
- package/node_modules/@lorenz/flags/dist/coerce.d.ts +12 -0
- package/node_modules/@lorenz/flags/dist/coerce.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/coerce.js +44 -0
- package/node_modules/@lorenz/flags/dist/coerce.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/default.d.ts +6 -0
- package/node_modules/@lorenz/flags/dist/default.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/default.js +22 -0
- package/node_modules/@lorenz/flags/dist/default.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/deprecations.d.ts +20 -0
- package/node_modules/@lorenz/flags/dist/deprecations.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/deprecations.js +42 -0
- package/node_modules/@lorenz/flags/dist/deprecations.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/env.d.ts +17 -0
- package/node_modules/@lorenz/flags/dist/env.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/env.js +90 -0
- package/node_modules/@lorenz/flags/dist/env.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/errors.d.ts +22 -0
- package/node_modules/@lorenz/flags/dist/errors.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/errors.js +61 -0
- package/node_modules/@lorenz/flags/dist/errors.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/index.d.ts +8 -0
- package/node_modules/@lorenz/flags/dist/index.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/index.js +11 -0
- package/node_modules/@lorenz/flags/dist/index.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/keys.d.ts +6 -0
- package/node_modules/@lorenz/flags/dist/keys.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/keys.js +15 -0
- package/node_modules/@lorenz/flags/dist/keys.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/layers.d.ts +14 -0
- package/node_modules/@lorenz/flags/dist/layers.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/layers.js +107 -0
- package/node_modules/@lorenz/flags/dist/layers.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/manifest.d.ts +71 -0
- package/node_modules/@lorenz/flags/dist/manifest.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/manifest.js +137 -0
- package/node_modules/@lorenz/flags/dist/manifest.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/resolve.d.ts +8 -0
- package/node_modules/@lorenz/flags/dist/resolve.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/resolve.js +178 -0
- package/node_modules/@lorenz/flags/dist/resolve.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/testing.d.ts +19 -0
- package/node_modules/@lorenz/flags/dist/testing.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/testing.js +68 -0
- package/node_modules/@lorenz/flags/dist/testing.js.map +1 -0
- package/node_modules/@lorenz/flags/dist/types.d.ts +93 -0
- package/node_modules/@lorenz/flags/dist/types.d.ts.map +1 -0
- package/node_modules/@lorenz/flags/dist/types.js +2 -0
- package/node_modules/@lorenz/flags/dist/types.js.map +1 -0
- package/node_modules/@lorenz/flags/package.json +16 -0
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts +16 -3
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.js +105 -17
- package/node_modules/@lorenz/mcp/dist/agentEndpoint.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/auth.d.ts +88 -0
- package/node_modules/@lorenz/mcp/dist/auth.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/auth.js +53 -0
- package/node_modules/@lorenz/mcp/dist/auth.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/index.d.ts +3 -2
- package/node_modules/@lorenz/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/index.js +1 -1
- package/node_modules/@lorenz/mcp/dist/index.js.map +1 -1
- package/node_modules/@lorenz/mcp/dist/server.d.ts +22 -0
- package/node_modules/@lorenz/mcp/dist/server.d.ts.map +1 -1
- package/node_modules/@lorenz/mcp/dist/server.js +85 -12
- package/node_modules/@lorenz/mcp/dist/server.js.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts +157 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.js +621 -0
- package/node_modules/@lorenz/orchestrator/dist/claimStore.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.d.ts +38 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.js +176 -0
- package/node_modules/@lorenz/orchestrator/dist/codec.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/index.d.ts +55 -51
- package/node_modules/@lorenz/orchestrator/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/index.js +285 -45
- package/node_modules/@lorenz/orchestrator/dist/index.js.map +1 -1
- package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts +34 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.js +142 -0
- package/node_modules/@lorenz/orchestrator/dist/sqlite.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/state.d.ts +47 -0
- package/node_modules/@lorenz/orchestrator/dist/state.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/state.js +15 -0
- package/node_modules/@lorenz/orchestrator/dist/state.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.d.ts +28 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.d.ts.map +1 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.js +125 -0
- package/node_modules/@lorenz/orchestrator/dist/turso.js.map +1 -0
- package/node_modules/@lorenz/orchestrator/package.json +6 -2
- package/node_modules/@lorenz/presenter/dist/index.d.ts +14 -0
- package/node_modules/@lorenz/presenter/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/presenter/dist/index.js +18 -0
- package/node_modules/@lorenz/presenter/dist/index.js.map +1 -1
- package/node_modules/@lorenz/projections/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/projections/dist/index.js +1 -0
- package/node_modules/@lorenz/projections/dist/index.js.map +1 -1
- package/node_modules/@lorenz/runtime/dist/index.d.ts +27 -8
- package/node_modules/@lorenz/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/runtime/dist/index.js +422 -98
- package/node_modules/@lorenz/runtime/dist/index.js.map +1 -1
- package/node_modules/@lorenz/runtime-events/dist/index.d.ts +14 -0
- package/node_modules/@lorenz/runtime-events/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/ssh/dist/index.d.ts +2 -0
- package/node_modules/@lorenz/ssh/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/ssh/dist/index.js +2 -1
- package/node_modules/@lorenz/ssh/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tool-sdk/dist/module.d.ts +38 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.js +42 -0
- package/node_modules/@lorenz/tool-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/tracker-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts +37 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts.map +1 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.js +38 -0
- package/node_modules/@lorenz/tracker-sdk/dist/module.js.map +1 -0
- package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts +34 -6
- package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-host-pool/dist/index.js +110 -143
- package/node_modules/@lorenz/worker-host-pool/dist/index.js.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/index.d.ts +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/index.js +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/index.js.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/local.d.ts +74 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.d.ts.map +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.js +112 -0
- package/node_modules/@lorenz/worker-sdk/dist/local.js.map +1 -0
- package/node_modules/@lorenz/worker-sdk/dist/module.d.ts +8 -16
- package/node_modules/@lorenz/worker-sdk/dist/module.d.ts.map +1 -1
- package/node_modules/@lorenz/worker-sdk/dist/module.js +15 -35
- package/node_modules/@lorenz/worker-sdk/dist/module.js.map +1 -1
- package/node_modules/@lorenz/workflow/dist/index.d.ts +11 -0
- package/node_modules/@lorenz/workflow/dist/index.d.ts.map +1 -1
- package/node_modules/@lorenz/workflow/dist/index.js +3 -0
- package/node_modules/@lorenz/workflow/dist/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { bindFlags, defineFeatures, defineFlags, feature, flag, flagInputsFromCli, flagInputsFromEnv, flagInputsFromFile, featureKeys, resolveFlags, validateManifest, } from "@lorenz/flags";
|
|
2
|
+
// The composition root owns the concrete flag/feature manifest; `@lorenz/flags` itself stays
|
|
3
|
+
// manifest-agnostic. The valid key universe is declared once here, so unknown keys fail explicitly
|
|
4
|
+
// at every layer. (When an engine package needs to read a flag with its precise type, this manifest
|
|
5
|
+
// moves to that engine package and the daemon imports it from there.)
|
|
6
|
+
const flags = defineFlags({
|
|
7
|
+
"diagnostics.log_flag_resolution": flag.bool({
|
|
8
|
+
default: false,
|
|
9
|
+
description: "Write the resolved flag set to stderr at startup.",
|
|
10
|
+
}),
|
|
11
|
+
"diagnostics.detail": flag.enum({
|
|
12
|
+
values: ["summary", "full"],
|
|
13
|
+
default: "summary",
|
|
14
|
+
description: "Startup flag-dump detail: summary lists non-default flags, full lists every flag and feature.",
|
|
15
|
+
}),
|
|
16
|
+
"diagnostics.sample_limit": flag.int({
|
|
17
|
+
default: 20,
|
|
18
|
+
refine: (n) => n >= 0,
|
|
19
|
+
refineMessage: "must be a non-negative integer",
|
|
20
|
+
description: "Maximum flags to print in the startup dump (0 = no limit).",
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
const features = defineFeatures(flags, {
|
|
24
|
+
verbose_diagnostics: feature({
|
|
25
|
+
default: false,
|
|
26
|
+
description: "Dump the full resolved flag set to stderr at startup.",
|
|
27
|
+
preset: { "diagnostics.log_flag_resolution": true, "diagnostics.detail": "full" },
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
const appManifest = { flags, features };
|
|
31
|
+
// Fail fast in CI if the manifest is internally inconsistent (bad default / bad preset).
|
|
32
|
+
validateManifest(appManifest);
|
|
33
|
+
const bound = bindFlags(appManifest);
|
|
34
|
+
/** Typed ambient accessor for the installed snapshot. Reads after `setDefaultFlags` at startup. */
|
|
35
|
+
export function getFlags() {
|
|
36
|
+
return bound.getFlags();
|
|
37
|
+
}
|
|
38
|
+
/** Commander accumulator for repeatable options: collects raw tokens, does no validation. */
|
|
39
|
+
export function accumulateOption(value, previous = []) {
|
|
40
|
+
return [...previous, value];
|
|
41
|
+
}
|
|
42
|
+
/** Resolve the app's flags from the three layers. Does NOT install the snapshot; the caller does. */
|
|
43
|
+
export function resolveAppFlags(inputs, fileConfig, env, options = {}) {
|
|
44
|
+
return resolveFlags(appManifest, {
|
|
45
|
+
cli: flagInputsFromCli(appManifest, inputs.flagTokens ?? [], inputs.featureTokens ?? []),
|
|
46
|
+
file: flagInputsFromFile(appManifest, fileConfig),
|
|
47
|
+
env: flagInputsFromEnv(appManifest, env),
|
|
48
|
+
}, options);
|
|
49
|
+
}
|
|
50
|
+
/** Render the resolved flag set with provenance for the startup dump and `lorenz doctor`. */
|
|
51
|
+
export function renderFlagDiagnostics(snapshot) {
|
|
52
|
+
const full = snapshot.get("diagnostics.detail") === "full";
|
|
53
|
+
const limit = snapshot.get("diagnostics.sample_limit");
|
|
54
|
+
const entries = Object.entries(snapshot.values).filter(([key]) => full || snapshot.source(key) !== "default");
|
|
55
|
+
const shown = limit > 0 ? entries.slice(0, limit) : entries;
|
|
56
|
+
const lines = shown.map(([key, value]) => ` ${key} = ${JSON.stringify(value)} (${snapshot.source(key)})`);
|
|
57
|
+
if (shown.length < entries.length) {
|
|
58
|
+
lines.push(` ... and ${entries.length - shown.length} more (raise diagnostics.sample_limit)`);
|
|
59
|
+
}
|
|
60
|
+
if (full) {
|
|
61
|
+
const enabled = featureKeys(appManifest).filter((name) => snapshot.feature(name));
|
|
62
|
+
lines.push(` features enabled: ${enabled.length > 0 ? enabled.join(", ") : "(none)"}`);
|
|
63
|
+
}
|
|
64
|
+
const header = full ? "Resolved flags (full):" : "Resolved flags (non-default):";
|
|
65
|
+
return `${header}\n${lines.join("\n")}\n`;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=flags-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags-manifest.js","sourceRoot":"","sources":["../src/flags-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,12 @@ export { LinearClient } from "@lorenz/linear-tracker";
|
|
|
12
12
|
export { JiraClient, JiraMcpClient } from "@lorenz/jira-tracker";
|
|
13
13
|
export { MemoryTrackerClient, memoryIssuesFromEnv } from "@lorenz/memory-tracker";
|
|
14
14
|
export { configureLogFile, appendLogEvent, defaultLogFile } from "@lorenz/log-file";
|
|
15
|
+
/** @beta */
|
|
16
|
+
export { acquireDaemonLock, createDaemonIdentity, daemonLockIsStale, daemonLockPath, LocalFileDaemonLeadershipStore, readDaemonLock, type AcquireDaemonLockOptions, type AcquireDaemonLockResult, type AcquireLocalFileDaemonLeadershipResult, type DaemonEndpoint, type DaemonIdentity, type DaemonLockRecord, } from "./daemonLock.js";
|
|
17
|
+
/** @beta */
|
|
18
|
+
export type { LeadershipAcquireResult, LeadershipEndpoint, LeadershipIdentity, LeadershipLease, LeadershipLeaseRecord, LeadershipStore, } from "./leadershipStore.js";
|
|
19
|
+
/** @beta */
|
|
20
|
+
export { daemonStatusPayload, type DaemonStatusPayload } from "./daemonStatus.js";
|
|
15
21
|
export { Orchestrator } from "@lorenz/orchestrator";
|
|
16
22
|
export type { RunResult } from "@lorenz/agent-runner";
|
|
17
23
|
export { LorenzRuntime, RUNTIME_EVENT_TYPES } from "@lorenz/runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,10 @@ export { LinearClient } from "@lorenz/linear-tracker";
|
|
|
12
12
|
export { JiraClient, JiraMcpClient } from "@lorenz/jira-tracker";
|
|
13
13
|
export { MemoryTrackerClient, memoryIssuesFromEnv } from "@lorenz/memory-tracker";
|
|
14
14
|
export { configureLogFile, appendLogEvent, defaultLogFile } from "@lorenz/log-file";
|
|
15
|
+
/** @beta */
|
|
16
|
+
export { acquireDaemonLock, createDaemonIdentity, daemonLockIsStale, daemonLockPath, LocalFileDaemonLeadershipStore, readDaemonLock, } from "./daemonLock.js";
|
|
17
|
+
/** @beta */
|
|
18
|
+
export { daemonStatusPayload } from "./daemonStatus.js";
|
|
15
19
|
export { Orchestrator } from "@lorenz/orchestrator";
|
|
16
20
|
export { LorenzRuntime, RUNTIME_EVENT_TYPES } from "@lorenz/runtime";
|
|
17
21
|
export { statePayload, issuePayload, runsPayload } from "@lorenz/presenter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EACL,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EACL,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,EAC9B,cAAc,GAOf,MAAM,iBAAiB,CAAC;AAUzB,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAA4B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** @beta */
|
|
2
|
+
export interface LeadershipEndpoint {
|
|
3
|
+
kind: "http" | "socket";
|
|
4
|
+
address: string;
|
|
5
|
+
}
|
|
6
|
+
/** @beta */
|
|
7
|
+
export interface LeadershipIdentity {
|
|
8
|
+
ownerId: string;
|
|
9
|
+
pid: number;
|
|
10
|
+
hostname: string;
|
|
11
|
+
startedAt: string;
|
|
12
|
+
workflowPath: string;
|
|
13
|
+
workspaceRoot: string;
|
|
14
|
+
}
|
|
15
|
+
/** @beta */
|
|
16
|
+
export interface LeadershipLeaseRecord extends LeadershipIdentity {
|
|
17
|
+
endpoint: LeadershipEndpoint;
|
|
18
|
+
heartbeatAt: string;
|
|
19
|
+
}
|
|
20
|
+
/** @beta */
|
|
21
|
+
export interface LeadershipLease<TRecord extends LeadershipLeaseRecord = LeadershipLeaseRecord> {
|
|
22
|
+
snapshot(): TRecord;
|
|
23
|
+
heartbeat(now?: Date): Promise<TRecord>;
|
|
24
|
+
release(): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
/** @beta */
|
|
27
|
+
export type LeadershipAcquireResult<TLease extends LeadershipLease<TRecord>, TRecord extends LeadershipLeaseRecord> = {
|
|
28
|
+
status: "acquired";
|
|
29
|
+
lease: TLease;
|
|
30
|
+
} | {
|
|
31
|
+
status: "conflict";
|
|
32
|
+
record: TRecord | null;
|
|
33
|
+
stale: boolean;
|
|
34
|
+
};
|
|
35
|
+
/** @beta */
|
|
36
|
+
export interface LeadershipStore<TAcquireOptions, TReadOptions, TRecord extends LeadershipLeaseRecord, TLease extends LeadershipLease<TRecord>> {
|
|
37
|
+
readonly kind: string;
|
|
38
|
+
acquire(options: TAcquireOptions): Promise<LeadershipAcquireResult<TLease, TRecord>>;
|
|
39
|
+
read(options: TReadOptions): Promise<TRecord | null>;
|
|
40
|
+
isStale(record: TRecord, now?: Date, staleAfterMs?: number): boolean;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=leadershipStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leadershipStore.d.ts","sourceRoot":"","sources":["../src/leadershipStore.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,YAAY;AACZ,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,YAAY;AACZ,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,YAAY;AACZ,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB;IAC5F,QAAQ,IAAI,OAAO,CAAC;IACpB,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,YAAY;AACZ,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,eAAe,CAAC,OAAO,CAAC,EACvC,OAAO,SAAS,qBAAqB,IAEnC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE,YAAY;AACZ,MAAM,WAAW,eAAe,CAC9B,eAAe,EACf,YAAY,EACZ,OAAO,SAAS,qBAAqB,EACrC,MAAM,SAAS,eAAe,CAAC,OAAO,CAAC;IAEvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leadershipStore.js","sourceRoot":"","sources":["../src/leadershipStore.ts"],"names":[],"mappings":""}
|
|
@@ -8,6 +8,8 @@ export interface CliOptions {
|
|
|
8
8
|
dashboard: boolean;
|
|
9
9
|
port: number | null;
|
|
10
10
|
logsRoot: string | null;
|
|
11
|
+
flagTokens?: string[];
|
|
12
|
+
featureTokens?: string[];
|
|
11
13
|
}
|
|
12
14
|
export type CliParseResult = ParseResult<CliOptions>;
|
|
13
15
|
export declare function parseCliArgs(args: string[]): CliParseResult;
|
|
@@ -19,22 +21,24 @@ export declare function projectUrlForSettings(settings: Settings): string | unde
|
|
|
19
21
|
* (the canonical field behind the legacy `max_in_flight` key). Co-residence packs
|
|
20
22
|
* multiple run slots onto one machine, so it requires BOTH:
|
|
21
23
|
*
|
|
22
|
-
* 1. a coordinator
|
|
23
|
-
*
|
|
24
|
-
*
|
|
24
|
+
* 1. a coordinator whose gateway advertises `capabilities.perRunClaimEnforcement
|
|
25
|
+
* === true`: the shared MCP gateway resolves each request's per-run scoped Token
|
|
26
|
+
* B claim server-side, re-checks the owning run is still live, fences it by
|
|
27
|
+
* generation, and fails closed otherwise - so two co-resident runs sharing one
|
|
28
|
+
* host + reverse tunnel can never authorize against each other's claim, and
|
|
25
29
|
* 2. an explicit `worker.worker_pool.co_residence` operator opt-in, because a single
|
|
26
30
|
* poisoned worker fails every co-resident run on recycle: widening that blast
|
|
27
31
|
* radius is a deliberate tradeoff, not just a capability.
|
|
28
32
|
*
|
|
29
33
|
* `slotsPerMachine === 1` (the default) always passes - the gate never triggers, so
|
|
30
34
|
* the single-tenant startup path stays byte-identical. This lives in the daemon
|
|
31
|
-
* rather than {@link validateDispatchConfig} because the per-run-
|
|
32
|
-
* only exists once the coordinator has been constructed; the per-poll
|
|
33
|
-
* validation must stay capability-free.
|
|
35
|
+
* rather than {@link validateDispatchConfig} because the per-run-claim-enforcement
|
|
36
|
+
* capability only exists once the coordinator has been constructed; the per-poll
|
|
37
|
+
* config validation must stay capability-free.
|
|
34
38
|
*/
|
|
35
39
|
export declare function assertSlotsPerMachineGate(settings: Settings, coordinator: {
|
|
36
40
|
readonly capabilities: {
|
|
37
|
-
readonly
|
|
41
|
+
readonly perRunClaimEnforcement: boolean;
|
|
38
42
|
};
|
|
39
43
|
} | undefined): void;
|
|
40
44
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAazB,OAAO,EAAgB,KAAK,QAAQ,EAA2B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAazB,OAAO,EAAgB,KAAK,QAAQ,EAA2B,MAAM,gBAAgB,CAAC;AAgCtF,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAaD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAErD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAW3D;AAED,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCxE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAwMpE;AA2DD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE;IAAE,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,GAC/F,IAAI,CAMN"}
|
|
@@ -16,9 +16,11 @@ import { defaultTrackerRegistry } from "@lorenz/tracker-sdk";
|
|
|
16
16
|
import { TraceEmitter } from "@lorenz/traceviz-emitter";
|
|
17
17
|
import { defaultIssueStorePath, IssueStore } from "@lorenz/server";
|
|
18
18
|
import { errorMessage } from "@lorenz/domain";
|
|
19
|
+
import { setDefaultFlags } from "@lorenz/flags";
|
|
19
20
|
import { createRunsCommand, runRunsCommand, runsOptionsFromCommanderOptions, } from "./runs.js";
|
|
20
21
|
import { createDoctorCommand, doctorOptionsFromCommanderOptions, renderDoctorReport, runDoctorCommand, } from "./doctor.js";
|
|
21
|
-
import { buildDispatchCoordinator, createTrackerClient, runAgentAttempt, registerBuiltinBackends, runtimeAdapters, runtimeDefaultSettingsOptions, } from "./daemon.js";
|
|
22
|
+
import { buildDispatchCoordinator, createTrackerClient, prepareTrackerExtensions, runAgentAttempt, registerBuiltinBackends, runtimeAdapters, runtimeDefaultSettingsOptions, } from "./daemon.js";
|
|
23
|
+
import { accumulateOption, getFlags, renderFlagDiagnostics, resolveAppFlags, } from "./flags-manifest.js";
|
|
22
24
|
export function parseCliArgs(args) {
|
|
23
25
|
const command = configureCommandForParse(createDaemonCommand());
|
|
24
26
|
if (hasHelpFlag(args))
|
|
@@ -72,11 +74,28 @@ export async function runDaemon(options) {
|
|
|
72
74
|
// Surface deprecated config keys once, on the first (startup) load. Reloads run the same
|
|
73
75
|
// validation every poll, so re-warning there would spam an unchanged config.
|
|
74
76
|
let deprecationsReported = false;
|
|
77
|
+
// Flags resolve once at startup and are reload-invariant; if a later reload changes the
|
|
78
|
+
// `flags:`/`features:` front matter, warn once that the edit was ignored rather than honoring
|
|
79
|
+
// or silently dropping it.
|
|
80
|
+
let flagFrontMatter = null;
|
|
81
|
+
let flagChangeWarned = false;
|
|
82
|
+
// Known after the first load; reused so the tracker loader's audit events
|
|
83
|
+
// reach the configured log file on every reload after startup.
|
|
84
|
+
let trackerLogFile;
|
|
75
85
|
const loadRuntimeWorkflow = async () => {
|
|
76
86
|
const workflow = await loadWorkflow(options.workflowPath ?? undefined, process.env, {
|
|
77
87
|
...runtimeDefaultSettingsOptions(),
|
|
78
88
|
trackers: defaultTrackerRegistry,
|
|
89
|
+
// Pre-parse hook: dynamic-import any out-of-tree tracker named by
|
|
90
|
+
// `tracker.kind` BEFORE config parsing resolves the provider, so an
|
|
91
|
+
// out-of-tree tracker is option-parsed and validated exactly like a built-in.
|
|
92
|
+
prepareRegistries: async (rawConfig, ctx) => prepareTrackerExtensions(rawConfig, {
|
|
93
|
+
baseDir: ctx.baseDir,
|
|
94
|
+
logFile: trackerLogFile,
|
|
95
|
+
trackers: defaultTrackerRegistry,
|
|
96
|
+
}),
|
|
79
97
|
});
|
|
98
|
+
trackerLogFile = workflow.settings.logging.logFile;
|
|
80
99
|
applyCliOverrides(workflow, options);
|
|
81
100
|
if (boundServerPort !== null)
|
|
82
101
|
workflow.settings.server.port = boundServerPort;
|
|
@@ -87,9 +106,33 @@ export async function runDaemon(options) {
|
|
|
87
106
|
warn: (message) => process.stderr.write(`Lorenz config deprecation: ${message}\n`),
|
|
88
107
|
});
|
|
89
108
|
deprecationsReported = true;
|
|
109
|
+
// Detect a post-startup edit to the reload-invariant flag front matter. Skip the work once the
|
|
110
|
+
// warning has fired, so the steady-state per-poll cost is zero.
|
|
111
|
+
if (!flagChangeWarned) {
|
|
112
|
+
const flagFingerprint = JSON.stringify({
|
|
113
|
+
flags: workflow.config.flags ?? null,
|
|
114
|
+
features: workflow.config.features ?? null,
|
|
115
|
+
});
|
|
116
|
+
if (flagFrontMatter === null) {
|
|
117
|
+
flagFrontMatter = flagFingerprint;
|
|
118
|
+
}
|
|
119
|
+
else if (flagFingerprint !== flagFrontMatter) {
|
|
120
|
+
flagChangeWarned = true;
|
|
121
|
+
process.stderr.write("warning: WORKFLOW.md flags/features changed after startup and were ignored; " +
|
|
122
|
+
"restart Lorenz to apply.\n");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
90
125
|
return workflow;
|
|
91
126
|
};
|
|
92
127
|
const workflow = await loadRuntimeWorkflow();
|
|
128
|
+
// Resolve flags once, from CLI > file (front matter) > env > defaults, and install the frozen
|
|
129
|
+
// snapshot before anything that might read it. Invalid flags throw and surface via the catch.
|
|
130
|
+
const flags = resolveAppFlags({ flagTokens: options.flagTokens, featureTokens: options.featureTokens }, workflow.config, process.env, { warn: (message) => process.stderr.write(`warning: ${message}\n`) });
|
|
131
|
+
setDefaultFlags(flags);
|
|
132
|
+
// Read back through the installed typed accessor, the same path engine code uses.
|
|
133
|
+
if (getFlags().get("diagnostics.log_flag_resolution")) {
|
|
134
|
+
process.stderr.write(renderFlagDiagnostics(getFlags()));
|
|
135
|
+
}
|
|
93
136
|
await configureLogFile(workflow.settings.logging.logFile);
|
|
94
137
|
// baseDir anchors `./relative` driver module specifiers to the workflow
|
|
95
138
|
// file's directory - the most predictable anchor for operators.
|
|
@@ -213,7 +256,10 @@ function createDaemonCommand(name = "lorenz") {
|
|
|
213
256
|
.option("--no-tui", "Disable the terminal dashboard.")
|
|
214
257
|
.option("--no-dashboard", "Disable the web dashboard server.")
|
|
215
258
|
.option("--logs-root <path>", "Root directory for Lorenz logs.", parseRequiredValue("--logs-root", "path"))
|
|
216
|
-
.option("--port <port>", "Observability API port.", parseNonNegativeInteger("--port"))
|
|
259
|
+
.option("--port <port>", "Observability API port.", parseNonNegativeInteger("--port"))
|
|
260
|
+
.option("--flag <key=value>", "Override an internal feature flag (repeatable).", accumulateOption)
|
|
261
|
+
.option("--feature <name|name=bool>", "Enable or disable an internal feature preset, e.g. --feature verbose_diagnostics or " +
|
|
262
|
+
"--feature verbose_diagnostics=false (repeatable).", accumulateOption);
|
|
217
263
|
}
|
|
218
264
|
function createRootCommand() {
|
|
219
265
|
return createDaemonCommand("lorenz");
|
|
@@ -227,6 +273,8 @@ function cliOptionsFromCommander(parsed, workflowPath) {
|
|
|
227
273
|
dashboard: parsed.dashboard ?? true,
|
|
228
274
|
port: parsed.port ?? null,
|
|
229
275
|
logsRoot: parsed.logsRoot ?? null,
|
|
276
|
+
flagTokens: parsed.flag ?? [],
|
|
277
|
+
featureTokens: parsed.feature ?? [],
|
|
230
278
|
};
|
|
231
279
|
}
|
|
232
280
|
function applyCliOverrides(workflow, options) {
|
|
@@ -244,18 +292,20 @@ export function projectUrlForSettings(settings) {
|
|
|
244
292
|
* (the canonical field behind the legacy `max_in_flight` key). Co-residence packs
|
|
245
293
|
* multiple run slots onto one machine, so it requires BOTH:
|
|
246
294
|
*
|
|
247
|
-
* 1. a coordinator
|
|
248
|
-
*
|
|
249
|
-
*
|
|
295
|
+
* 1. a coordinator whose gateway advertises `capabilities.perRunClaimEnforcement
|
|
296
|
+
* === true`: the shared MCP gateway resolves each request's per-run scoped Token
|
|
297
|
+
* B claim server-side, re-checks the owning run is still live, fences it by
|
|
298
|
+
* generation, and fails closed otherwise - so two co-resident runs sharing one
|
|
299
|
+
* host + reverse tunnel can never authorize against each other's claim, and
|
|
250
300
|
* 2. an explicit `worker.worker_pool.co_residence` operator opt-in, because a single
|
|
251
301
|
* poisoned worker fails every co-resident run on recycle: widening that blast
|
|
252
302
|
* radius is a deliberate tradeoff, not just a capability.
|
|
253
303
|
*
|
|
254
304
|
* `slotsPerMachine === 1` (the default) always passes - the gate never triggers, so
|
|
255
305
|
* the single-tenant startup path stays byte-identical. This lives in the daemon
|
|
256
|
-
* rather than {@link validateDispatchConfig} because the per-run-
|
|
257
|
-
* only exists once the coordinator has been constructed; the per-poll
|
|
258
|
-
* validation must stay capability-free.
|
|
306
|
+
* rather than {@link validateDispatchConfig} because the per-run-claim-enforcement
|
|
307
|
+
* capability only exists once the coordinator has been constructed; the per-poll
|
|
308
|
+
* config validation must stay capability-free.
|
|
259
309
|
*/
|
|
260
310
|
export function assertSlotsPerMachineGate(settings, coordinator) {
|
|
261
311
|
// Delegate to the shared PURE predicate so this STARTUP gate and the runtime
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ToolRegistry } from "@lorenz/tool-sdk";
|
|
2
|
+
import { type EnsureExtensionLoadedOptions, type ExtensionRef } from "./extensionLoader.js";
|
|
3
|
+
/**
|
|
4
|
+
* Out-of-tree tool-pack loading: a configured tool-pack name accepts a module
|
|
5
|
+
* specifier in addition to a registered pack name. Instantiates the axis-generic
|
|
6
|
+
* {@link createExtensionLoader}; identity field is the pack `name`. See
|
|
7
|
+
* {@link createExtensionLoader} for the trust boundary, module pinning, and
|
|
8
|
+
* exact-name-wins resolution shared by every axis.
|
|
9
|
+
*
|
|
10
|
+
* A caller (a `loadWorkflow` prepareRegistries hook or a startup MCP-mount step)
|
|
11
|
+
* invokes {@link ensureToolProviderLoaded} for the configured pack name BEFORE the
|
|
12
|
+
* registry resolves it, exactly as `prepareTrackerExtensions` does for trackers.
|
|
13
|
+
*/
|
|
14
|
+
/** A parsed configured tool-pack value that is not a registered pack name. */
|
|
15
|
+
export type ToolRef = ExtensionRef;
|
|
16
|
+
/** Options for {@link ensureToolProviderLoaded}. */
|
|
17
|
+
export type EnsureToolProviderLoadedOptions = EnsureExtensionLoadedOptions;
|
|
18
|
+
/** Parses a configured tool-pack string into its module-specifier form. */
|
|
19
|
+
export declare function parseToolRef(name: string): ToolRef;
|
|
20
|
+
/**
|
|
21
|
+
* Idempotently makes the configured tool pack resolvable in `registry` (see
|
|
22
|
+
* {@link createExtensionLoader} for the load/pin semantics). A caller invokes this
|
|
23
|
+
* BEFORE the MCP mount resolves the pack at startup and on every reload, so the
|
|
24
|
+
* mount's `registry.require(name)` resolves an out-of-tree pack exactly like a
|
|
25
|
+
* built-in.
|
|
26
|
+
*/
|
|
27
|
+
export declare function ensureToolProviderLoaded(name: string, registry: ToolRegistry, options?: EnsureToolProviderLoadedOptions): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=toolLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolLoader.d.ts","sourceRoot":"","sources":["../src/toolLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;GAUG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC;AAEnC,oDAAoD;AACpD,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAiD3E,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { isRecord } from "@lorenz/domain";
|
|
2
|
+
import { assertToolProviderModule, } from "@lorenz/tool-sdk";
|
|
3
|
+
import { createExtensionLoader, } from "./extensionLoader.js";
|
|
4
|
+
const toolLoader = createExtensionLoader({
|
|
5
|
+
errorPrefix: "tool_provider",
|
|
6
|
+
eventNames: {
|
|
7
|
+
loaded: "tool_provider_loaded",
|
|
8
|
+
pinned: "tool_provider_module_pinned",
|
|
9
|
+
},
|
|
10
|
+
defineHelperName: "defineToolProvider",
|
|
11
|
+
unitNoun: "tool packs",
|
|
12
|
+
assertModule: assertToolProviderModule,
|
|
13
|
+
looksLikeModule: (value) => isRecord(value) && typeof value["executeTool"] === "function",
|
|
14
|
+
// Spread the loaded module so every provider hook (toolSpecs, executeTool,
|
|
15
|
+
// validateOptions, skills, ...) is preserved and only `name` is overridden to
|
|
16
|
+
// the configured specifier.
|
|
17
|
+
toFactory: (specifier, module) => ({ ...module, name: specifier }),
|
|
18
|
+
// The tool axis's identity field is `name`; map it onto the generic `kind`
|
|
19
|
+
// audit field so the loaded/pinned events stay uniform across axes.
|
|
20
|
+
describeModule: (module) => ({ kind: module.name, sdkVersion: module.sdkVersion }),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* One stable {@link ExtensionRegistry} adapter per underlying {@link ToolRegistry}.
|
|
24
|
+
* The generic loader keys its pinned-specifier set in a WeakMap by the registry
|
|
25
|
+
* IDENTITY it is handed, so the adapter must be the SAME object across reload
|
|
26
|
+
* calls for the same tool registry - otherwise the module-pinned re-encounter
|
|
27
|
+
* event would never fire. Caching by the real registry preserves that identity.
|
|
28
|
+
*/
|
|
29
|
+
const adapters = new WeakMap();
|
|
30
|
+
/**
|
|
31
|
+
* Adapts a {@link ToolRegistry} to the minimal {@link ExtensionRegistry} surface
|
|
32
|
+
* the generic loader needs. The tool registry exposes `names()` rather than the
|
|
33
|
+
* generic `kinds()`, so the loader sees registered pack names through this thin
|
|
34
|
+
* shim.
|
|
35
|
+
*/
|
|
36
|
+
function asExtensionRegistry(registry) {
|
|
37
|
+
let adapter = adapters.get(registry);
|
|
38
|
+
if (adapter === undefined) {
|
|
39
|
+
adapter = {
|
|
40
|
+
get: (name) => registry.get(name),
|
|
41
|
+
register: (provider) => registry.register(provider),
|
|
42
|
+
kinds: () => registry.names(),
|
|
43
|
+
};
|
|
44
|
+
adapters.set(registry, adapter);
|
|
45
|
+
}
|
|
46
|
+
return adapter;
|
|
47
|
+
}
|
|
48
|
+
/** Parses a configured tool-pack string into its module-specifier form. */
|
|
49
|
+
export function parseToolRef(name) {
|
|
50
|
+
return toolLoader.parseRef(name);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Idempotently makes the configured tool pack resolvable in `registry` (see
|
|
54
|
+
* {@link createExtensionLoader} for the load/pin semantics). A caller invokes this
|
|
55
|
+
* BEFORE the MCP mount resolves the pack at startup and on every reload, so the
|
|
56
|
+
* mount's `registry.require(name)` resolves an out-of-tree pack exactly like a
|
|
57
|
+
* built-in.
|
|
58
|
+
*/
|
|
59
|
+
export async function ensureToolProviderLoaded(name, registry, options = {}) {
|
|
60
|
+
return toolLoader.ensureLoaded(name, asExtensionRegistry(registry), options);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=toolLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolLoader.js","sourceRoot":"","sources":["../src/toolLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,wBAAwB,GAIzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,qBAAqB,GAItB,MAAM,sBAAsB,CAAC;AAoB9B,MAAM,UAAU,GAAG,qBAAqB,CAAmC;IACzE,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE;QACV,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,6BAA6B;KACtC;IACD,gBAAgB,EAAE,oBAAoB;IACtC,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,wBAAwB;IACtC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,UAAU;IACzF,2EAA2E;IAC3E,8EAA8E;IAC9E,4BAA4B;IAC5B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClE,2EAA2E;IAC3E,oEAAoE;IACpE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;CACnF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAiD,CAAC;AAE9E;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,QAAsB;IACjD,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG;YACR,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;SAC9B,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,QAAsB,EACtB,UAA2C,EAAE;IAE7C,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TrackerRegistry } from "@lorenz/tracker-sdk";
|
|
2
|
+
import { type EnsureExtensionLoadedOptions, type ExtensionRef } from "./extensionLoader.js";
|
|
3
|
+
/**
|
|
4
|
+
* Out-of-tree tracker loading: `tracker.kind` accepts a module specifier in
|
|
5
|
+
* addition to a registered kind. Instantiates the axis-generic
|
|
6
|
+
* {@link createExtensionLoader}; identity field is the provider `kind`. See
|
|
7
|
+
* {@link createExtensionLoader} for the trust boundary, module pinning, and
|
|
8
|
+
* exact-kind-wins resolution shared by every axis.
|
|
9
|
+
*/
|
|
10
|
+
/** A parsed configured tracker value that is not a registered kind. */
|
|
11
|
+
export type TrackerRef = ExtensionRef;
|
|
12
|
+
/** Options for {@link ensureTrackerProviderLoaded}. */
|
|
13
|
+
export type EnsureTrackerProviderLoadedOptions = EnsureExtensionLoadedOptions;
|
|
14
|
+
/** Parses a configured tracker string into its module-specifier form. */
|
|
15
|
+
export declare function parseTrackerRef(kind: string): TrackerRef;
|
|
16
|
+
/**
|
|
17
|
+
* Idempotently makes the configured tracker resolvable in `registry` (see
|
|
18
|
+
* {@link createExtensionLoader} for the load/pin semantics). Called by the daemon
|
|
19
|
+
* BEFORE `validateDispatchConfig` at startup and on every reload, so the config
|
|
20
|
+
* validation's `trackers.require(settings.tracker.kind)` resolves an out-of-tree
|
|
21
|
+
* tracker exactly like a built-in.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ensureTrackerProviderLoaded(kind: string, registry: TrackerRegistry, options?: EnsureTrackerProviderLoadedOptions): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=trackerLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackerLoader.d.ts","sourceRoot":"","sources":["../src/trackerLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;GAMG;AAEH,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAEtC,uDAAuD;AACvD,MAAM,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAmB9E,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAExD;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { isRecord } from "@lorenz/domain";
|
|
2
|
+
import { assertTrackerProviderModule, } from "@lorenz/tracker-sdk";
|
|
3
|
+
import { createExtensionLoader, } from "./extensionLoader.js";
|
|
4
|
+
const trackerLoader = createExtensionLoader({
|
|
5
|
+
errorPrefix: "tracker_provider",
|
|
6
|
+
eventNames: {
|
|
7
|
+
loaded: "tracker_provider_loaded",
|
|
8
|
+
pinned: "tracker_provider_module_pinned",
|
|
9
|
+
},
|
|
10
|
+
defineHelperName: "defineTrackerProvider",
|
|
11
|
+
unitNoun: "tracker providers",
|
|
12
|
+
assertModule: assertTrackerProviderModule,
|
|
13
|
+
looksLikeModule: (value) => isRecord(value) && typeof value["createClient"] === "function",
|
|
14
|
+
// Spread the loaded module so every provider hook (createClient, parseOptions,
|
|
15
|
+
// validateDispatch, createToolOps, ...) is preserved and only `kind` is
|
|
16
|
+
// overridden to the configured specifier.
|
|
17
|
+
toFactory: (specifier, module) => ({ ...module, kind: specifier }),
|
|
18
|
+
describeModule: (module) => ({ kind: module.kind, sdkVersion: module.sdkVersion }),
|
|
19
|
+
});
|
|
20
|
+
/** Parses a configured tracker string into its module-specifier form. */
|
|
21
|
+
export function parseTrackerRef(kind) {
|
|
22
|
+
return trackerLoader.parseRef(kind);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Idempotently makes the configured tracker resolvable in `registry` (see
|
|
26
|
+
* {@link createExtensionLoader} for the load/pin semantics). Called by the daemon
|
|
27
|
+
* BEFORE `validateDispatchConfig` at startup and on every reload, so the config
|
|
28
|
+
* validation's `trackers.require(settings.tracker.kind)` resolves an out-of-tree
|
|
29
|
+
* tracker exactly like a built-in.
|
|
30
|
+
*/
|
|
31
|
+
export async function ensureTrackerProviderLoaded(kind, registry, options = {}) {
|
|
32
|
+
return trackerLoader.ensureLoaded(kind, registry, options);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=trackerLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackerLoader.js","sourceRoot":"","sources":["../src/trackerLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAgB9B,MAAM,aAAa,GAAG,qBAAqB,CAAyC;IAClF,WAAW,EAAE,kBAAkB;IAC/B,UAAU,EAAE;QACV,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,gCAAgC;KACzC;IACD,gBAAgB,EAAE,uBAAuB;IACzC,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,2BAA2B;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,UAAU;IAC1F,+EAA+E;IAC/E,wEAAwE;IACxE,0CAA0C;IAC1C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;CACnF,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,QAAyB,EACzB,UAA8C,EAAE;IAEhD,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
|