lorenz 0.1.4 → 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 +39 -2
- 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/server/dist/index.js +1 -1
- package/node_modules/@lorenz/server/dist/index.js.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAqBzB,KAAK,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACxE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACrC;AAeD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,IAAI,SAAkB,GAAG,OAAO,CAqBnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAiBjE;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,GAAE,sBAA2B,GACrC,oBAAoB,CAWtB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAgDvB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ/D"}
|
|
@@ -12,13 +12,16 @@ import { acpAgentOptions, isClaudeCompatibleBridgeCommand, resolveBridgeCommand,
|
|
|
12
12
|
import { defaultToolRegistry } from "@lorenz/tool-sdk";
|
|
13
13
|
import { defaultTrackerRegistry } from "@lorenz/tracker-sdk";
|
|
14
14
|
import { registerBuiltinBackends, runtimeDefaultSettingsOptions } from "./daemon.js";
|
|
15
|
+
import { accumulateOption, resolveAppFlags } from "./flags-manifest.js";
|
|
15
16
|
export function createDoctorCommand(name = "lorenz doctor") {
|
|
16
17
|
return new Command(name)
|
|
17
18
|
.description("Validate a Lorenz workflow and local runtime prerequisites.")
|
|
18
19
|
.allowExcessArguments(false)
|
|
19
20
|
.argument("[workflowPath]", "Workflow markdown file.")
|
|
20
21
|
.option("--no-dashboard", "Skip dashboard static asset checks.")
|
|
21
|
-
.option("--logs-root <path>", "Root directory for Lorenz logs.", parseRequiredValue("--logs-root", "path"))
|
|
22
|
+
.option("--logs-root <path>", "Root directory for Lorenz logs.", parseRequiredValue("--logs-root", "path"))
|
|
23
|
+
.option("--flag <key=value>", "Override an internal feature flag (repeatable).", accumulateOption)
|
|
24
|
+
.option("--feature <name|name=bool>", "Enable or disable an internal feature preset (repeatable).", accumulateOption);
|
|
22
25
|
}
|
|
23
26
|
export function parseDoctorArgs(args) {
|
|
24
27
|
const command = configureCommandForParse(createDoctorCommand());
|
|
@@ -40,6 +43,11 @@ export function doctorOptionsFromCommanderOptions(parsed, workflowPath, inherite
|
|
|
40
43
|
workflowPath: workflowPath ?? null,
|
|
41
44
|
dashboard: parsed.dashboard === false || inherited.dashboard === false ? false : true,
|
|
42
45
|
logsRoot: parsed.logsRoot ?? inherited.logsRoot ?? null,
|
|
46
|
+
// Flag/feature tokens compose across the root and subcommand (unlike the scalar options above):
|
|
47
|
+
// inherited root tokens come first, then local ones, so both apply and a local token wins per
|
|
48
|
+
// key via the resolver's last-wins-within-a-layer rule.
|
|
49
|
+
flagTokens: [...(inherited.flag ?? []), ...(parsed.flag ?? [])],
|
|
50
|
+
featureTokens: [...(inherited.feature ?? []), ...(parsed.feature ?? [])],
|
|
43
51
|
};
|
|
44
52
|
}
|
|
45
53
|
export async function runDoctorMain(args) {
|
|
@@ -63,6 +71,11 @@ export async function runDoctorCommand(options, context = {}) {
|
|
|
63
71
|
return doctorReport(resolvedWorkflowPath, checks);
|
|
64
72
|
let workflow;
|
|
65
73
|
try {
|
|
74
|
+
// Doctor is a STATIC validator: it does not dynamic-import out-of-tree
|
|
75
|
+
// extensions (the daemon does that at startup). An out-of-tree `tracker.kind`
|
|
76
|
+
// module specifier surfaces through `dispatch_config` as an unsupported kind,
|
|
77
|
+
// listing the registered kinds - the same fail-loud surface as any unknown
|
|
78
|
+
// kind - without running arbitrary extension code in the doctor process.
|
|
66
79
|
workflow = await loadWorkflow(resolvedWorkflowPath, env, {
|
|
67
80
|
...runtimeDefaultSettingsOptions(),
|
|
68
81
|
cwd,
|
|
@@ -87,6 +100,7 @@ export async function runDoctorCommand(options, context = {}) {
|
|
|
87
100
|
}
|
|
88
101
|
applyDoctorOverrides(workflow.settings, options);
|
|
89
102
|
checks.push(...checkConfigDeprecations(workflow.config));
|
|
103
|
+
checks.push(checkFlags(workflow.config, options, env));
|
|
90
104
|
checks.push(checkDispatchConfig(workflow.settings));
|
|
91
105
|
checks.push(await checkDashboardAssets(workflow.settings, options.dashboard));
|
|
92
106
|
checks.push(await checkLogPath(workflow.settings.logging.logFile));
|
|
@@ -152,6 +166,29 @@ function checkConfigDeprecations(rawConfig) {
|
|
|
152
166
|
details: { key: dep.configPath, replacement: dep.replacement },
|
|
153
167
|
}));
|
|
154
168
|
}
|
|
169
|
+
function checkFlags(config, options, env) {
|
|
170
|
+
try {
|
|
171
|
+
const flags = resolveAppFlags({ flagTokens: options.flagTokens, featureTokens: options.featureTokens }, config, env, { warn: () => { } });
|
|
172
|
+
const details = {};
|
|
173
|
+
for (const [key, value] of Object.entries(flags.values)) {
|
|
174
|
+
details[key] =
|
|
175
|
+
`${JSON.stringify(value)} (${flags.source(key)})`;
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
id: "flags",
|
|
179
|
+
status: "ok",
|
|
180
|
+
message: "Internal feature flags resolve with the active layers.",
|
|
181
|
+
details,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return {
|
|
186
|
+
id: "flags",
|
|
187
|
+
status: "error",
|
|
188
|
+
message: `Internal feature flags failed to resolve: ${errorMessage(error)}`,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
155
192
|
function checkDispatchConfig(settings) {
|
|
156
193
|
try {
|
|
157
194
|
validateDispatchConfig(settings, defaultTrackerRegistry, defaultAgentExecutorRegistry, defaultToolRegistry);
|
|
@@ -591,7 +628,7 @@ function defaultDashboardStaticDir() {
|
|
|
591
628
|
return path.dirname(require.resolve("@lorenz/dashboard/dist/index.html"));
|
|
592
629
|
}
|
|
593
630
|
catch {
|
|
594
|
-
return path.resolve(import.meta.dirname, "../../
|
|
631
|
+
return path.resolve(import.meta.dirname, "../../web/dist");
|
|
595
632
|
}
|
|
596
633
|
}
|
|
597
634
|
function applyDoctorOverrides(settings, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,eAAe,EACf,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAqDrF,MAAM,UAAU,mBAAmB,CAAC,IAAI,GAAG,eAAe;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;SACrB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,oBAAoB,CAAC,KAAK,CAAC;SAC3B,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SAC/D,MAAM,CACL,oBAAoB,EACpB,iCAAiC,EACjC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAC1C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,OAAO,GAAG,wBAAwB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChE,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IAE/F,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iCAAiC,CACxC,OAAO,CAAC,IAAI,EAA0B,EACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,MAA8B,EAC9B,YAAqB,EACrB,YAAoC,EAAE;IAEtC,OAAO;QACL,YAAY,EAAE,YAAY,IAAI,IAAI;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACrF,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA6B,EAC7B,UAA4B,EAAE;IAE9B,uBAAuB,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjF,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAEvF,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACvD,GAAG,6BAA6B,EAAE;YAClC,GAAG;YACH,QAAQ,EAAE,sBAAsB;YAChC,SAAS,EAAE,4BAA4B;SACxC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,4BAA4B,YAAY,CAAC,KAAK,CAAC,EAAE;YAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;SACxC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,OAAO,GAAG;QACR,eAAe;QACf,UAAU,MAAM,CAAC,MAAM,EAAE;QACzB,YAAY,MAAM,CAAC,YAAY,EAAE;QACjC,EAAE;QACF,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;KACnF,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAA2B,EAC3B,GAAsB,EACtB,GAAW;IAEX,MAAM,QAAQ,GAAG,YAAY,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,YAAoB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,gCAAgC,YAAY,EAAE;gBACvD,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aAChC,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,8BAA8B,YAAY,EAAE;YACrD,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SACjD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,kCAAkC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;YAChF,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;SAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAkC;IACjE,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL;gBACE,EAAE,EAAE,qBAAqB;gBACzB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,8CAA8C;aACxD;SACF,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,EAAE,EAAE,sBAAsB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC;QACrC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;KAC/D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,IAAI,CAAC;QACH,sBAAsB,CACpB,QAAQ,EACR,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,CACpB,CAAC;QACF,OAAO;YACL,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,qDAAqD;YAC9D,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;SAChF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,sCAAsC,YAAY,CAAC,KAAK,CAAC,EAAE;YACpE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;SAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAkB,EAClB,YAAqB;IAErB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,kEAAkE;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,yBAAyB,EAAE,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,qBAAqB,CAAC,CAAC;QAClF,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,0CAA0C,SAAS,EAAE;YAC9D,OAAO,EAAE,EAAE,SAAS,EAAE;SACvB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,gDAAgD,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5F,OAAO,EAAE,EAAE,SAAS,EAAE;SACvB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE;QACzD,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,oDAAoD,OAAO,CAAC,IAAI,EAAE;YAC3E,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,0CAA0C,eAAe,EAAE;YACpE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,2BAA2B,MAAM,EAAE;YACrC,CAAC,CAAC,4EAA4E,OAAO,CAAC,IAAI,EAAE,CAAC;QACjG,OAAO;YACL,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,+BAA+B,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;YAC7E,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAkB,EAClB,GAAsB;IAEtB,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL;gBACE,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,0EAA0E;aACpF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO;YACL;gBACE,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,kFAAkF;gBAC3F,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;aACvD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAkB,MAAM,OAAO,CAAC,GAAG,CACnD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACvE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,gDAAgD,OAAO,KAAK,aAAa,EAAE;gBACpF,OAAO;aACR,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,IAAI,IAAI;YACzD,eAAe;YACf,YAAY,EAAE,YAAY,CAAC,YAAY,IAAI,IAAI;SAChD,CAAC;QACF,IAAI,YAAY,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC9B,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,kDAAkD,OAAO,KAAK,YAAY,CAAC,iBAAiB,EAAE;oBACvG,OAAO,EAAE,eAAe;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IACE,YAAY,CAAC,YAAY,KAAK,SAAS;gBACvC,CAAC,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAC/C,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC9B,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,4CAA4C,OAAO,KAAK,YAAY,CAAC,YAAY,EAAE;oBAC5F,OAAO,EAAE,eAAe;iBACzB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,yCAAyC,OAAO,KAAK,YAAY,CAAC,UAAU,EAAE;gBACvF,OAAO,EAAE,eAAe;aACzB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;YAC9B,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,0CAA0C,OAAO,KAAK,YAAY,CAAC,UAAU,EAAE;YACxF,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,iFAAiF;AACjF,4EAA4E;AAC5E,iFAAiF;AACjF,2DAA2D;AAC3D,KAAK,UAAU,cAAc,CAC3B,UAA8B,EAC9B,GAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC5D,KAAK,MAAM,EAAE,aAAa,EAAE,IAAI,UAAU,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,WAAW;YAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;SACvB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC9D,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YACjE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,EAAE,EAAE,aAAa,WAAW,CAAC,MAAM,EAAE;gBACrC,MAAM,EAAE,IAAa;gBACrB,OAAO,EAAE,2BAA2B,WAAW,CAAC,MAAM,KAAK,KAAK,GAAG;gBACnE,OAAO;aACR,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU;YACpC,CAAC,CAAC,8BAA8B,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,GAAG;YACpF,CAAC,CAAC,oCAAoC,WAAW,CAAC,MAAM,uBAAuB,WAAW,CAAC,WAAW,GAAG,CAAC;QAC5G,OAAO;YACL,EAAE,EAAE,aAAa,WAAW,CAAC,MAAM,EAAE;YACrC,MAAM,EAAE,SAAkB;YAC1B,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,aAAqB,EACrB,GAAsB;IAEtB,IAAI,+BAA+B,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,OAAO,eAAe,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,MAAc,EACd,WAAmB,EACnB,GAAsB;IAEtB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM;QACN,UAAU,EAAE,QAAQ,IAAI,MAAM;QAC9B,WAAW;QACX,UAAU,EAAE,QAAQ,KAAK,SAAS;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB;IACjD,OAAO,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAkB;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjD,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7C,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CACpE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE,CAC5D,CACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAmC,EACnC,QAAkB,EAClB,KAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK;QAAE,OAAO;IACvC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;IAC5D,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,aAAa,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAc;IACjD,OAAO,gBAAgB,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAKhD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,KAAK,GAAG,YAAY,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,UAAU;QACV,iBAAiB;QACjB,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAe,EAAE,KAAa;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACtF,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/E,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC3C,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAC3B,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B;IAC/C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,QAA4B;IACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAqB,IAAI,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,IAAI,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,SAAS;QACX,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,GAAsB;IACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACrD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAiB;IAEjB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB;IAChC,gGAAgG;IAChG,+FAA+F;IAC/F,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB,EAAE,OAA6B;IAC7E,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB,EAAE,MAAqB;IAC/D,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;QAC7B,YAAY;QACZ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAqB;IAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACrE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Axis-generic out-of-tree extension loading. Each of lorenz's extension axes -
|
|
3
|
+
* trackers, tools, agent-executors, worker-drivers - registers its BUILT-INS
|
|
4
|
+
* through a static `registerBuiltinBackends()` trust boundary. This is the other
|
|
5
|
+
* half: an operator names a MODULE SPECIFIER (an npm package name, `@scope/name`,
|
|
6
|
+
* `./relative` or `/absolute` path, with an optional `#exportName` suffix) in
|
|
7
|
+
* config, and the daemon dynamic-imports that module at startup (and on a reload
|
|
8
|
+
* that changes the specifier) and registers it into the axis registry under the
|
|
9
|
+
* EXACT configured string, so the existing registry resolution needs no changes
|
|
10
|
+
* and third parties ship extensions without forking the repo. Built-ins never
|
|
11
|
+
* flow through here.
|
|
12
|
+
*
|
|
13
|
+
* Trust: a dynamic import runs arbitrary code in the daemon process - the same
|
|
14
|
+
* trust boundary as workspace hooks. Loads happen ONLY at startup/reload, never
|
|
15
|
+
* on an acquire/hot path, and the `<axis>_loaded` audit event records exactly
|
|
16
|
+
* which code went live from where.
|
|
17
|
+
*
|
|
18
|
+
* Module pinning: Node's ESM cache loads a given specifier's code once per
|
|
19
|
+
* daemon lifetime. Changing extension CODE requires a daemon restart; changing
|
|
20
|
+
* the CONFIG to a different specifier hot-loads the new module. A reload that
|
|
21
|
+
* re-encounters an already-loaded specifier emits the `<axis>_module_pinned`
|
|
22
|
+
* event so the pin is observable, and cache-busting query strings are rejected
|
|
23
|
+
* (unbounded module-graph growth, half-initialized module hazards).
|
|
24
|
+
*/
|
|
25
|
+
/** The minimal registry surface the loader needs, shared by all four axes. */
|
|
26
|
+
export interface ExtensionRegistry<TFactory> {
|
|
27
|
+
/** The factory registered for a kind, or undefined when none is. */
|
|
28
|
+
get(kind: string | undefined): TFactory | undefined;
|
|
29
|
+
/** Register a factory; the loader always registers under the configured string. */
|
|
30
|
+
register(factory: TFactory): void;
|
|
31
|
+
/** Registered kinds, used for the did-you-mean hint on a bare-specifier miss. */
|
|
32
|
+
kinds(): string[];
|
|
33
|
+
}
|
|
34
|
+
/** The per-axis configuration that turns the generic core into a concrete loader. */
|
|
35
|
+
export interface ExtensionAxis<TFactory, TModule> {
|
|
36
|
+
/**
|
|
37
|
+
* Error-code prefix for this axis (e.g. `"worker_pool_driver"`). All thrown
|
|
38
|
+
* errors and the resolution diagnostics are namespaced under it.
|
|
39
|
+
*/
|
|
40
|
+
readonly errorPrefix: string;
|
|
41
|
+
/** Audit event names emitted on a fresh load vs a re-encountered pin. */
|
|
42
|
+
readonly eventNames: {
|
|
43
|
+
loaded: string;
|
|
44
|
+
pinned: string;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* The authoring-sugar helper name an out-of-tree module exports through (e.g.
|
|
48
|
+
* `"defineWorkerDriver"`), named in the no-default-export error so the author
|
|
49
|
+
* knows the expected shape.
|
|
50
|
+
*/
|
|
51
|
+
readonly defineHelperName: string;
|
|
52
|
+
/**
|
|
53
|
+
* The noun for this axis's units (e.g. `"worker drivers"`), used in the
|
|
54
|
+
* empty-registry resolution hint (`no <noun> registered`) and the
|
|
55
|
+
* cache-busting-query advice (`restart the daemon to pick up <noun> code
|
|
56
|
+
* changes`).
|
|
57
|
+
*/
|
|
58
|
+
readonly unitNoun: string;
|
|
59
|
+
/**
|
|
60
|
+
* Shape-asserts the unwrapped candidate is a valid module for this axis and
|
|
61
|
+
* runs the sdkVersion handshake, throwing loud on a mismatch. `source` names
|
|
62
|
+
* where the value came from so every error is actionable.
|
|
63
|
+
*/
|
|
64
|
+
assertModule(value: unknown, source: string): asserts value is TModule;
|
|
65
|
+
/**
|
|
66
|
+
* Whether the unwrapped value structurally looks like a module of this axis,
|
|
67
|
+
* used by {@link selectExport} to disambiguate the transpiled-CJS double-default
|
|
68
|
+
* shape and the CJS-hoisted-exports shape (e.g. by testing for a `create`
|
|
69
|
+
* function).
|
|
70
|
+
*/
|
|
71
|
+
looksLikeModule(value: unknown): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* The registry factory to register under the configured specifier string. The
|
|
74
|
+
* factory's kind IS the specifier (the registry resolves the configured value
|
|
75
|
+
* verbatim), delegating to the loaded module.
|
|
76
|
+
*/
|
|
77
|
+
toFactory(specifier: string, module: TModule): TFactory;
|
|
78
|
+
/** The audit fields describing a loaded module (its self-declared kind/version). */
|
|
79
|
+
describeModule(module: TModule): {
|
|
80
|
+
kind: string;
|
|
81
|
+
sdkVersion: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** A parsed configured extension value that is not a registered kind. */
|
|
85
|
+
export interface ExtensionRef {
|
|
86
|
+
/** The module specifier with any `#exportName` suffix removed. */
|
|
87
|
+
specifier: string;
|
|
88
|
+
/** The named export selected by a `#name` suffix; undefined means default. */
|
|
89
|
+
exportName?: string | undefined;
|
|
90
|
+
}
|
|
91
|
+
/** Options for {@link ExtensionLoader.ensureLoaded}. */
|
|
92
|
+
export interface EnsureExtensionLoadedOptions {
|
|
93
|
+
/** Anchor for `./relative` specifiers; the daemon passes a workflow-derived dir. */
|
|
94
|
+
baseDir?: string | undefined;
|
|
95
|
+
/** Structured-event sink for the loaded/pinned audit events. */
|
|
96
|
+
logEvent?: ((event: Record<string, unknown>) => void) | undefined;
|
|
97
|
+
}
|
|
98
|
+
/** The public surface of an axis loader instance. */
|
|
99
|
+
export interface ExtensionLoader<TFactory> {
|
|
100
|
+
/**
|
|
101
|
+
* Parses a configured value into its module-specifier form. Resolution rule
|
|
102
|
+
* (the single authority for the one-field-two-grammars overload): an EXACT
|
|
103
|
+
* registered kind always wins - {@link ExtensionLoader.ensureLoaded} checks
|
|
104
|
+
* the registry BEFORE calling this, so a published npm package can never
|
|
105
|
+
* shadow a built-in. A `#name` suffix selects a named export; everything else
|
|
106
|
+
* is the specifier itself.
|
|
107
|
+
*/
|
|
108
|
+
parseRef(value: string): ExtensionRef;
|
|
109
|
+
/**
|
|
110
|
+
* Idempotently makes the configured extension resolvable in `registry`. A
|
|
111
|
+
* registry hit (a built-in kind, an extension, or a specifier a previous call
|
|
112
|
+
* already loaded) is a no-op - except that a re-encountered loader-registered
|
|
113
|
+
* specifier emits the `<axis>_module_pinned` event so the code-is-pinned
|
|
114
|
+
* semantic is observable on reload. A miss parses the value as a module
|
|
115
|
+
* reference, dynamic-imports it, and registers a factory whose kind IS the
|
|
116
|
+
* configured string, emitting the `<axis>_loaded` event.
|
|
117
|
+
*/
|
|
118
|
+
ensureLoaded(value: string, registry: ExtensionRegistry<TFactory>, options?: EnsureExtensionLoadedOptions): Promise<void>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Builds an axis loader from {@link ExtensionAxis}. The returned instance is the
|
|
122
|
+
* single entrypoint per axis (lorenz has one registration mode, so one
|
|
123
|
+
* `ensureLoaded` suffices - no setup/metadata/discovery fan-out).
|
|
124
|
+
*/
|
|
125
|
+
export declare function createExtensionLoader<TFactory, TModule>(axis: ExtensionAxis<TFactory, TModule>): ExtensionLoader<TFactory>;
|
|
126
|
+
//# sourceMappingURL=extensionLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionLoader.d.ts","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB,CAAC,QAAQ;IACzC,oEAAoE;IACpE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,iFAAiF;IACjF,KAAK,IAAI,MAAM,EAAE,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,OAAO;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;IACvE;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxD,oFAAoF;IACpF,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,4BAA4B;IAC3C,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnE;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe,CAAC,QAAQ;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC;;;;;;;;OAQG;IACH,YAAY,CACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACrC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAkBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EACrD,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GACrC,eAAe,CAAC,QAAQ,CAAC,CAmL3B"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { pathToFileURL } from "node:url";
|
|
3
|
+
import { errorMessage, isRecord } from "@lorenz/domain";
|
|
4
|
+
/** Whether a specifier is a filesystem path (vs a bare npm package name). */
|
|
5
|
+
function isPathSpecifier(specifier) {
|
|
6
|
+
return (specifier.startsWith("./") ||
|
|
7
|
+
specifier.startsWith("../") ||
|
|
8
|
+
path.isAbsolute(specifier) ||
|
|
9
|
+
specifier.startsWith("file:"));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Builds an axis loader from {@link ExtensionAxis}. The returned instance is the
|
|
13
|
+
* single entrypoint per axis (lorenz has one registration mode, so one
|
|
14
|
+
* `ensureLoaded` suffices - no setup/metadata/discovery fan-out).
|
|
15
|
+
*/
|
|
16
|
+
export function createExtensionLoader(axis) {
|
|
17
|
+
/**
|
|
18
|
+
* Specifiers THIS loader registered, per registry. Distinguishes a reload that
|
|
19
|
+
* re-encounters an already-loaded specifier (emit the module-pinned event)
|
|
20
|
+
* from an ordinary built-in/extension hit (silent no-op).
|
|
21
|
+
*/
|
|
22
|
+
const loadedSpecifiers = new WeakMap();
|
|
23
|
+
function parseRef(value) {
|
|
24
|
+
const hashIndex = value.lastIndexOf("#");
|
|
25
|
+
const specifier = hashIndex === -1 ? value : value.slice(0, hashIndex);
|
|
26
|
+
const exportName = hashIndex === -1 ? undefined : value.slice(hashIndex + 1);
|
|
27
|
+
if (specifier === "") {
|
|
28
|
+
throw new Error(`${axis.errorPrefix}_invalid_specifier: ${value} has an empty module specifier`);
|
|
29
|
+
}
|
|
30
|
+
if (exportName === "") {
|
|
31
|
+
throw new Error(`${axis.errorPrefix}_invalid_specifier: ${value} has an empty #exportName suffix`);
|
|
32
|
+
}
|
|
33
|
+
if (specifier.includes("?")) {
|
|
34
|
+
throw new Error(`${axis.errorPrefix}_invalid_specifier: ${specifier} - cache-busting query strings are not ` +
|
|
35
|
+
`supported (module code is pinned for the daemon lifetime; restart the daemon to pick ` +
|
|
36
|
+
`up ${axis.unitNoun} code changes)`);
|
|
37
|
+
}
|
|
38
|
+
return { specifier, exportName };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Unwraps the module from the imported namespace: the selected named export
|
|
42
|
+
* (falling back through a transpiled-CJS `default` object), or the default
|
|
43
|
+
* export including the `default.default` shape some transpilers emit.
|
|
44
|
+
*/
|
|
45
|
+
function selectExport(namespace, exportName) {
|
|
46
|
+
if (exportName !== undefined) {
|
|
47
|
+
const named = namespace[exportName];
|
|
48
|
+
if (named !== undefined)
|
|
49
|
+
return named;
|
|
50
|
+
const viaDefault = namespace["default"];
|
|
51
|
+
if (isRecord(viaDefault)) {
|
|
52
|
+
return viaDefault[exportName];
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
let candidate = namespace["default"];
|
|
57
|
+
if (candidate === undefined) {
|
|
58
|
+
// A CJS module's exports are hoisted onto the namespace itself; accept the
|
|
59
|
+
// namespace only when it already looks like a module, so an ESM module
|
|
60
|
+
// that simply lacks a default export gets the no-default error.
|
|
61
|
+
return axis.looksLikeModule(namespace) ? namespace : undefined;
|
|
62
|
+
}
|
|
63
|
+
// Transpiled-CJS double default: `module.exports = { default: <module> }`
|
|
64
|
+
// imported as `{ default: { default: <module> } }`. A real module looks
|
|
65
|
+
// like a module, so only unwrap when the outer layer does not.
|
|
66
|
+
if (isRecord(candidate) && "default" in candidate && !axis.looksLikeModule(candidate)) {
|
|
67
|
+
candidate = candidate["default"];
|
|
68
|
+
}
|
|
69
|
+
return candidate;
|
|
70
|
+
}
|
|
71
|
+
/** Builds the actionable error for a failed module import. */
|
|
72
|
+
function moduleResolutionError(specifier, resolvedFrom, cause, knownKinds) {
|
|
73
|
+
const message = errorMessage(cause);
|
|
74
|
+
if (isPathSpecifier(specifier)) {
|
|
75
|
+
return new Error(`${axis.errorPrefix}_unavailable: ${specifier} (failed to import ${resolvedFrom}: ${message})`);
|
|
76
|
+
}
|
|
77
|
+
const kinds = knownKinds.length > 0
|
|
78
|
+
? ` (known kinds: ${[...knownKinds].sort().join(", ")})`
|
|
79
|
+
: ` (no ${axis.unitNoun} registered)`;
|
|
80
|
+
const close = closestKind(specifier, knownKinds);
|
|
81
|
+
const hint = close === undefined ? "" : ` - did you mean "${close}"?`;
|
|
82
|
+
return new Error(`${axis.errorPrefix}_unavailable: ${specifier} is not a registered kind and could not be ` +
|
|
83
|
+
`resolved as a module${kinds}${hint} [${message}]`);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Dynamic-imports a module and validates it. Relative and absolute paths
|
|
87
|
+
* resolve against `baseDir` via `pathToFileURL`; bare names resolve through
|
|
88
|
+
* the daemon's module graph. The imported namespace is unwrapped and passed
|
|
89
|
+
* through {@link ExtensionAxis.assertModule}, so a malformed module or an SDK
|
|
90
|
+
* version mismatch fails loud here - before any consumer exists.
|
|
91
|
+
*/
|
|
92
|
+
async function loadModule(specifier, options) {
|
|
93
|
+
const { baseDir, exportName, knownKinds } = options;
|
|
94
|
+
const resolvedFrom = isPathSpecifier(specifier) && !specifier.startsWith("file:")
|
|
95
|
+
? pathToFileURL(path.resolve(baseDir, specifier)).href
|
|
96
|
+
: specifier;
|
|
97
|
+
let namespace;
|
|
98
|
+
try {
|
|
99
|
+
namespace = (await import(resolvedFrom));
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
throw moduleResolutionError(specifier, resolvedFrom, error, knownKinds ?? []);
|
|
103
|
+
}
|
|
104
|
+
const source = exportName === undefined ? specifier : `${specifier}#${exportName}`;
|
|
105
|
+
const candidate = selectExport(namespace, exportName);
|
|
106
|
+
if (candidate === undefined) {
|
|
107
|
+
const available = Object.keys(namespace)
|
|
108
|
+
.filter((key) => key !== "__esModule")
|
|
109
|
+
.sort();
|
|
110
|
+
throw new Error(exportName === undefined
|
|
111
|
+
? `${axis.errorPrefix}_module_invalid: ${source} has no default export` +
|
|
112
|
+
(available.length > 0 ? ` (named exports: ${available.join(", ")})` : "") +
|
|
113
|
+
`; export ${axis.defineHelperName}(...) as the default export or select a named export with #name`
|
|
114
|
+
: `${axis.errorPrefix}_module_invalid: ${source} has no export named "${exportName}"` +
|
|
115
|
+
(available.length > 0 ? ` (available: ${available.join(", ")})` : ""));
|
|
116
|
+
}
|
|
117
|
+
axis.assertModule(candidate, source);
|
|
118
|
+
return { module: candidate, resolvedFrom };
|
|
119
|
+
}
|
|
120
|
+
async function ensureLoaded(value, registry, options = {}) {
|
|
121
|
+
const logEvent = options.logEvent ?? (() => { });
|
|
122
|
+
if (registry.get(value) !== undefined) {
|
|
123
|
+
if (loadedSpecifiers.get(registry)?.has(value)) {
|
|
124
|
+
logEvent({ event: axis.eventNames.pinned, specifier: value });
|
|
125
|
+
}
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const ref = parseRef(value);
|
|
129
|
+
const { module, resolvedFrom } = await loadModule(ref.specifier, {
|
|
130
|
+
baseDir: options.baseDir ?? process.cwd(),
|
|
131
|
+
exportName: ref.exportName,
|
|
132
|
+
knownKinds: registry.kinds(),
|
|
133
|
+
});
|
|
134
|
+
// Register under the EXACT configured string: the consumer resolves the
|
|
135
|
+
// configured value verbatim, so the factory's kind must be the specifier,
|
|
136
|
+
// not the module's self-declared kind (which is logged for the audit trail).
|
|
137
|
+
registry.register(axis.toFactory(value, module));
|
|
138
|
+
let loaded = loadedSpecifiers.get(registry);
|
|
139
|
+
if (loaded === undefined) {
|
|
140
|
+
loaded = new Set();
|
|
141
|
+
loadedSpecifiers.set(registry, loaded);
|
|
142
|
+
}
|
|
143
|
+
loaded.add(value);
|
|
144
|
+
const described = axis.describeModule(module);
|
|
145
|
+
logEvent({
|
|
146
|
+
event: axis.eventNames.loaded,
|
|
147
|
+
specifier: value,
|
|
148
|
+
kind: described.kind,
|
|
149
|
+
sdkVersion: described.sdkVersion,
|
|
150
|
+
resolvedFrom,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return { parseRef, ensureLoaded };
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The registered kind within a small edit distance of a mistyped bare specifier,
|
|
157
|
+
* or undefined when nothing is close. Mitigates the typo detection a closed
|
|
158
|
+
* config enum used to provide.
|
|
159
|
+
*/
|
|
160
|
+
function closestKind(specifier, kinds) {
|
|
161
|
+
let best;
|
|
162
|
+
for (const kind of kinds) {
|
|
163
|
+
const distance = editDistance(specifier.toLowerCase(), kind.toLowerCase());
|
|
164
|
+
if (distance <= 2 && (best === undefined || distance < best.distance)) {
|
|
165
|
+
best = { kind, distance };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return best?.kind;
|
|
169
|
+
}
|
|
170
|
+
/** Levenshtein distance (small inputs only: extension kinds and specifiers). */
|
|
171
|
+
function editDistance(a, b) {
|
|
172
|
+
if (a === b)
|
|
173
|
+
return 0;
|
|
174
|
+
const rows = a.length + 1;
|
|
175
|
+
const cols = b.length + 1;
|
|
176
|
+
let prev = Array.from({ length: cols }, (_, j) => j);
|
|
177
|
+
for (let i = 1; i < rows; i += 1) {
|
|
178
|
+
const current = [i, ...new Array(cols - 1).fill(0)];
|
|
179
|
+
for (let j = 1; j < cols; j += 1) {
|
|
180
|
+
const substitution = (prev[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
|
|
181
|
+
current[j] = Math.min((prev[j] ?? 0) + 1, (current[j - 1] ?? 0) + 1, substitution);
|
|
182
|
+
}
|
|
183
|
+
prev = current;
|
|
184
|
+
}
|
|
185
|
+
return prev[cols - 1] ?? Math.max(a.length, b.length);
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=extensionLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionLoader.js","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type FlagsSnapshot } from "@lorenz/flags";
|
|
2
|
+
declare const flags: {
|
|
3
|
+
readonly "diagnostics.log_flag_resolution": import("@lorenz/flags").FlagDef<import("zod").ZodType<boolean, string | boolean, import("zod/v4/core").$ZodTypeInternals<boolean, string | boolean>>>;
|
|
4
|
+
readonly "diagnostics.detail": {
|
|
5
|
+
kind: "enum";
|
|
6
|
+
schema: import("zod").ZodEnum<{
|
|
7
|
+
summary: "summary";
|
|
8
|
+
full: "full";
|
|
9
|
+
}>;
|
|
10
|
+
default: "summary" | "full";
|
|
11
|
+
description: string;
|
|
12
|
+
deprecation: import("@lorenz/flags").FlagDeprecation | undefined;
|
|
13
|
+
values: readonly ["summary", "full"];
|
|
14
|
+
envName: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
readonly "diagnostics.sample_limit": import("@lorenz/flags").FlagDef<import("zod").ZodType<number, string | number, import("zod/v4/core").$ZodTypeInternals<number, string | number>>>;
|
|
17
|
+
};
|
|
18
|
+
declare const features: {
|
|
19
|
+
readonly verbose_diagnostics: import("@lorenz/flags").FeatureDef<{
|
|
20
|
+
readonly "diagnostics.log_flag_resolution": true;
|
|
21
|
+
readonly "diagnostics.detail": "full";
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
type AppFlags = typeof flags;
|
|
25
|
+
type AppFeatures = typeof features;
|
|
26
|
+
export type AppFlagsSnapshot = FlagsSnapshot<AppFlags, AppFeatures>;
|
|
27
|
+
/** Typed ambient accessor for the installed snapshot. Reads after `setDefaultFlags` at startup. */
|
|
28
|
+
export declare function getFlags(): AppFlagsSnapshot;
|
|
29
|
+
export interface FlagCliInputs {
|
|
30
|
+
readonly flagTokens?: readonly string[] | undefined;
|
|
31
|
+
readonly featureTokens?: readonly string[] | undefined;
|
|
32
|
+
}
|
|
33
|
+
/** Commander accumulator for repeatable options: collects raw tokens, does no validation. */
|
|
34
|
+
export declare function accumulateOption(value: string, previous?: string[]): string[];
|
|
35
|
+
/** Resolve the app's flags from the three layers. Does NOT install the snapshot; the caller does. */
|
|
36
|
+
export declare function resolveAppFlags(inputs: FlagCliInputs, fileConfig: Record<string, unknown>, env: NodeJS.ProcessEnv, options?: {
|
|
37
|
+
warn?: ((message: string) => void) | undefined;
|
|
38
|
+
}): AppFlagsSnapshot;
|
|
39
|
+
/** Render the resolved flag set with provenance for the startup dump and `lorenz doctor`. */
|
|
40
|
+
export declare function renderFlagDiagnostics(snapshot: AppFlagsSnapshot): string;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=flags-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags-manifest.d.ts","sourceRoot":"","sources":["../src/flags-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAMvB,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;CAiBT,CAAC;AAEH,QAAA,MAAM,QAAQ;;;;;CAMZ,CAAC;AAOH,KAAK,QAAQ,GAAG,OAAO,KAAK,CAAC;AAC7B,KAAK,WAAW,GAAG,OAAO,QAAQ,CAAC;AACnC,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAMpE,mGAAmG;AACnG,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C;AAED,MAAM,WAAW,aAAa;IAG5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACxD;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAEjF;AAED,qGAAqG;AACrG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAAO,GAC/D,gBAAgB,CAUlB;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAqBxE"}
|