@dzhechkov/harness-core 0.8.47 → 0.8.48
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/.dz-manifest.json +43 -23
- package/README.md +47 -1
- package/dist/setup-memory-deps.d.ts +14 -0
- package/dist/setup-memory-deps.d.ts.map +1 -0
- package/dist/setup-memory-deps.js +210 -0
- package/dist/setup-memory-deps.js.map +1 -0
- package/dist/setup.d.ts +2 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +379 -378
- package/dist/setup.js.map +1 -1
- package/dist/stage-usage.d.ts +102 -2
- package/dist/stage-usage.d.ts.map +1 -1
- package/dist/stage-usage.js +252 -2
- package/dist/stage-usage.js.map +1 -1
- package/dist/workflow-run-dispatch.d.ts +15 -0
- package/dist/workflow-run-dispatch.d.ts.map +1 -1
- package/dist/workflow-run-dispatch.js +50 -8
- package/dist/workflow-run-dispatch.js.map +1 -1
- package/dist/workflow-run.d.ts +8 -1
- package/dist/workflow-run.d.ts.map +1 -1
- package/dist/workflow-run.js +64 -0
- package/dist/workflow-run.js.map +1 -1
- package/package.json +1 -1
- package/sbom.json +72 -22
- package/src/setup-memory-deps.ts +166 -0
- package/src/setup.ts +95 -98
- package/src/stage-usage.ts +196 -2
- package/src/workflow-run-dispatch.ts +50 -5
- package/src/workflow-run.ts +61 -1
package/.dz-manifest.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "README.md",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "faf67370cf01c0c49213407591983100a97e6509b4cdcce4aec0d9ff70d977d1"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "dist/__tests__/golden-baseline.test.d.ts",
|
|
@@ -2427,21 +2427,37 @@
|
|
|
2427
2427
|
"path": "dist/session-retro.js.map",
|
|
2428
2428
|
"sha256": "f4744745a940e18d9591cbfcafc81cbc029c31e0c450918a4957fbdc87ba2070"
|
|
2429
2429
|
},
|
|
2430
|
+
{
|
|
2431
|
+
"path": "dist/setup-memory-deps.d.ts",
|
|
2432
|
+
"sha256": "20c587d44266b94bc946c25d66c1e53dbd57dfbbba49a56eb7e5080b89bffadb"
|
|
2433
|
+
},
|
|
2434
|
+
{
|
|
2435
|
+
"path": "dist/setup-memory-deps.d.ts.map",
|
|
2436
|
+
"sha256": "28de3a30d51b04b29392175bdc69c8c47aa4b8bd314182b631343e14144ebadf"
|
|
2437
|
+
},
|
|
2438
|
+
{
|
|
2439
|
+
"path": "dist/setup-memory-deps.js",
|
|
2440
|
+
"sha256": "7fe99dcd111bd4a644f126260fbb693c91b81d779b9e8b194482ccd9964b8ae8"
|
|
2441
|
+
},
|
|
2442
|
+
{
|
|
2443
|
+
"path": "dist/setup-memory-deps.js.map",
|
|
2444
|
+
"sha256": "463f7984bde099d63e2b64c4373255160fba321ae8e6524191b547fe2a52b8e0"
|
|
2445
|
+
},
|
|
2430
2446
|
{
|
|
2431
2447
|
"path": "dist/setup.d.ts",
|
|
2432
|
-
"sha256": "
|
|
2448
|
+
"sha256": "5bb08d77d90dfae60cfb117f0495cbe23739f03a209960a5292ed6680f214bee"
|
|
2433
2449
|
},
|
|
2434
2450
|
{
|
|
2435
2451
|
"path": "dist/setup.d.ts.map",
|
|
2436
|
-
"sha256": "
|
|
2452
|
+
"sha256": "a1b4f19126ab5175e78ea536fc474e8edd7d827c6598fe2b45bc3878ee973fd6"
|
|
2437
2453
|
},
|
|
2438
2454
|
{
|
|
2439
2455
|
"path": "dist/setup.js",
|
|
2440
|
-
"sha256": "
|
|
2456
|
+
"sha256": "5eee98e8f377ae61f60197924941d41ba054c57d5c3b4d80216bd1a1c54f1eb7"
|
|
2441
2457
|
},
|
|
2442
2458
|
{
|
|
2443
2459
|
"path": "dist/setup.js.map",
|
|
2444
|
-
"sha256": "
|
|
2460
|
+
"sha256": "8b8c9428d6fcc874c64cc25e1d28046b96cecb3ff3e854eb941702876cf6e4a8"
|
|
2445
2461
|
},
|
|
2446
2462
|
{
|
|
2447
2463
|
"path": "dist/shell-veto-policy.d.ts",
|
|
@@ -2621,19 +2637,19 @@
|
|
|
2621
2637
|
},
|
|
2622
2638
|
{
|
|
2623
2639
|
"path": "dist/stage-usage.d.ts",
|
|
2624
|
-
"sha256": "
|
|
2640
|
+
"sha256": "765d542b7e66403c575b8b1e4fa4096bf82591e71ad4a35ce4ec44f0f82762b3"
|
|
2625
2641
|
},
|
|
2626
2642
|
{
|
|
2627
2643
|
"path": "dist/stage-usage.d.ts.map",
|
|
2628
|
-
"sha256": "
|
|
2644
|
+
"sha256": "cb5895f0585ef30f4582b674c96ea17b3fe4f77979945d4727ad1059e9d11696"
|
|
2629
2645
|
},
|
|
2630
2646
|
{
|
|
2631
2647
|
"path": "dist/stage-usage.js",
|
|
2632
|
-
"sha256": "
|
|
2648
|
+
"sha256": "8cbeb2a7f0c8667febce4f608d3aec85f1b6a046514ed261523b71c06f9cef15"
|
|
2633
2649
|
},
|
|
2634
2650
|
{
|
|
2635
2651
|
"path": "dist/stage-usage.js.map",
|
|
2636
|
-
"sha256": "
|
|
2652
|
+
"sha256": "2a3512f82b2ed24802645d0048d300655d7990bb33c7d534865ddd490be74d7d"
|
|
2637
2653
|
},
|
|
2638
2654
|
{
|
|
2639
2655
|
"path": "dist/stamped-path.d.ts",
|
|
@@ -3037,35 +3053,35 @@
|
|
|
3037
3053
|
},
|
|
3038
3054
|
{
|
|
3039
3055
|
"path": "dist/workflow-run-dispatch.d.ts",
|
|
3040
|
-
"sha256": "
|
|
3056
|
+
"sha256": "6b264b0c6100053392988e917714cb626666b13134052286f462080cfde7e992"
|
|
3041
3057
|
},
|
|
3042
3058
|
{
|
|
3043
3059
|
"path": "dist/workflow-run-dispatch.d.ts.map",
|
|
3044
|
-
"sha256": "
|
|
3060
|
+
"sha256": "a9b6461415716a7fa2d4fc8e8465bfaf7b6ed2b580902a27f5dc89530d400b4c"
|
|
3045
3061
|
},
|
|
3046
3062
|
{
|
|
3047
3063
|
"path": "dist/workflow-run-dispatch.js",
|
|
3048
|
-
"sha256": "
|
|
3064
|
+
"sha256": "b39a7168fb7c07f6e8a5b4e8b3d6d5f40276b18eeac3d25019cf195e5bf7dc0d"
|
|
3049
3065
|
},
|
|
3050
3066
|
{
|
|
3051
3067
|
"path": "dist/workflow-run-dispatch.js.map",
|
|
3052
|
-
"sha256": "
|
|
3068
|
+
"sha256": "e97da7f04971b4771e2060b89fa3659cd4796ea9f92c03fe4eb5d1305398ef8e"
|
|
3053
3069
|
},
|
|
3054
3070
|
{
|
|
3055
3071
|
"path": "dist/workflow-run.d.ts",
|
|
3056
|
-
"sha256": "
|
|
3072
|
+
"sha256": "8460d23b0032130ab34bc9cfd7bcdfbe897a7c40b3ca03665bb1de519851c961"
|
|
3057
3073
|
},
|
|
3058
3074
|
{
|
|
3059
3075
|
"path": "dist/workflow-run.d.ts.map",
|
|
3060
|
-
"sha256": "
|
|
3076
|
+
"sha256": "d755ce82e6640ac232ad21006e2165fff690b38fe52f43ce98a0c64ed9b0e00d"
|
|
3061
3077
|
},
|
|
3062
3078
|
{
|
|
3063
3079
|
"path": "dist/workflow-run.js",
|
|
3064
|
-
"sha256": "
|
|
3080
|
+
"sha256": "c594a2f15f0ee53ffee51c92dc7fb96ba276d192c7492ef9b5d3a62089524bb9"
|
|
3065
3081
|
},
|
|
3066
3082
|
{
|
|
3067
3083
|
"path": "dist/workflow-run.js.map",
|
|
3068
|
-
"sha256": "
|
|
3084
|
+
"sha256": "7f5da97933113d32eaf6ef6735f39b2536dd1f3479f43439b7250789c3143d17"
|
|
3069
3085
|
},
|
|
3070
3086
|
{
|
|
3071
3087
|
"path": "dist/workflows.d.ts",
|
|
@@ -3101,7 +3117,7 @@
|
|
|
3101
3117
|
},
|
|
3102
3118
|
{
|
|
3103
3119
|
"path": "package.json",
|
|
3104
|
-
"sha256": "
|
|
3120
|
+
"sha256": "5462248e6ad249291f443700ff06fb7535f485d4f8e4ec1558220d9c83359843"
|
|
3105
3121
|
},
|
|
3106
3122
|
{
|
|
3107
3123
|
"path": "src/__tests__/golden-baseline.test.ts",
|
|
@@ -3723,9 +3739,13 @@
|
|
|
3723
3739
|
"path": "src/session-retro.ts",
|
|
3724
3740
|
"sha256": "9c27223147bed72c41c80723a87123662200b72700a05f44714aaaa1d7fa5dc5"
|
|
3725
3741
|
},
|
|
3742
|
+
{
|
|
3743
|
+
"path": "src/setup-memory-deps.ts",
|
|
3744
|
+
"sha256": "ba01380f84272b0f3384f3902908b839d55ae2e787f9b4da7381a20a8ad1e4d7"
|
|
3745
|
+
},
|
|
3726
3746
|
{
|
|
3727
3747
|
"path": "src/setup.ts",
|
|
3728
|
-
"sha256": "
|
|
3748
|
+
"sha256": "bc10eae3bac47dcd387a9f2618df27e2e93a0eacf3809141a02484ebe1719121"
|
|
3729
3749
|
},
|
|
3730
3750
|
{
|
|
3731
3751
|
"path": "src/shell-veto-policy.ts",
|
|
@@ -3777,7 +3797,7 @@
|
|
|
3777
3797
|
},
|
|
3778
3798
|
{
|
|
3779
3799
|
"path": "src/stage-usage.ts",
|
|
3780
|
-
"sha256": "
|
|
3800
|
+
"sha256": "c6ed5f1b7f0ea3b5088c4f54a93360ca1455254cf76661535e0bef7b8f8cb2fc"
|
|
3781
3801
|
},
|
|
3782
3802
|
{
|
|
3783
3803
|
"path": "src/stamped-path.ts",
|
|
@@ -3881,11 +3901,11 @@
|
|
|
3881
3901
|
},
|
|
3882
3902
|
{
|
|
3883
3903
|
"path": "src/workflow-run-dispatch.ts",
|
|
3884
|
-
"sha256": "
|
|
3904
|
+
"sha256": "ac72cb4f5fa62cb9d135b1218896e5bec418415fbaffad4c885790e1db52104a"
|
|
3885
3905
|
},
|
|
3886
3906
|
{
|
|
3887
3907
|
"path": "src/workflow-run.ts",
|
|
3888
|
-
"sha256": "
|
|
3908
|
+
"sha256": "c1ecd9dbe1fbcccd016a708656378d2701119644d4be2c815a24a6800d60b7be"
|
|
3889
3909
|
},
|
|
3890
3910
|
{
|
|
3891
3911
|
"path": "src/workflows.ts",
|
|
@@ -3897,5 +3917,5 @@
|
|
|
3897
3917
|
}
|
|
3898
3918
|
]
|
|
3899
3919
|
},
|
|
3900
|
-
"signature": "
|
|
3920
|
+
"signature": "uU+G6KY3wfOfO9JdbTZGrB28iPYkK4Drafgjrz+RSU78n7aBOiTJy88UBIY4BdSCeXB3tPcJXT+XypIpDo1lAw=="
|
|
3901
3921
|
}
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @dzhechkov/harness-core
|
|
2
2
|
|
|
3
|
-
Current package version: `0.8.
|
|
3
|
+
Current package version: `0.8.48`. <!-- dz:version -->
|
|
4
4
|
|
|
5
5
|
Site: https://aicoding.space · Source: https://github.com/djd1m/dz-harness/tree/main/packages/@dzhechkov/harness-core
|
|
6
6
|
|
|
@@ -2713,3 +2713,49 @@ For the exact batch `@dzhechkov/harness-core`, `@dzhechkov/harness-cli`, `@dzhec
|
|
|
2713
2713
|
Admission requires both original adapter signatures, complete physical signed coverage, exact current `workspace:*` core declarations throughout reachable local history, and source-to-pack materialization. Only the known owner branding and that derived core dependency value may differ. Fresh registered baseline and candidate consumers install all five roots together, independently check installed manifests against complete locks, run scoped npm audits, and retain every unselected node, resolved edge, registry SRI and optional platform witness. Nested registered occurrences remain checked. The recorded registered core floor and workspace floor are distinct; this proof does not assert version or runtime equivalence or establish the historical registry release commit.
|
|
2714
2714
|
|
|
2715
2715
|
Preview is preliminary. Live publication repeats the proof against **all five final signed tarballs before the first registry write**, including batches without bins, and rechecks their hashes after proof cleanup and before transport. Changed payloads, dependencies, registry bindings, source/history, missing evidence, execution failures or cleanup failures block the whole batch. Failed final admission restores owned signature/SBOM bytes and modes alongside the existing package/version/README rollback so a healthy retry can build a fresh proof. Existing signature, dependency-floor, release audit, smoke, guard and registry confirmation gates remain mandatory. There is no proof-file input or new bypass flag.
|
|
2716
|
+
|
|
2717
|
+
|
|
2718
|
+
`dz setup --memory agentdb` now saves `agentdb` and `better-sqlite3` as exact local devDependencies
|
|
2719
|
+
and repairs their npm lock/local state before checking native SQLite with SELECT 42. Existing
|
|
2720
|
+
supported exact pins govern repairs; supported installed-only legacy versions are preserved when
|
|
2721
|
+
orphan lock metadata agrees. Conflicting/ranged/peer or incomplete lock-only state refuses without
|
|
2722
|
+
replacing user declarations. Repeat setup avoids unnecessary npm/config/hooks changes. This promise
|
|
2723
|
+
includes devDependencies in `npm ci`; `npm ci --omit=dev` does not retain these memory dependencies.
|
|
2724
|
+
|
|
2725
|
+
An explicit jsonl → agentdb upgrade no longer requires force: only `memory.backend` changes,
|
|
2726
|
+
atomically, while unrelated config, hooks, skills and existing data remain. Failures print the observed
|
|
2727
|
+
saved backend and incomplete phase; unknown state is explicit, and rerunning setup without force
|
|
2728
|
+
can repair it. `--no-hooks` still validates dependency/native/saved-backend consistency; `--no-memory`
|
|
2729
|
+
performs no memory dependency/backend/store/hook migration. Full manifest/transition messages appear
|
|
2730
|
+
outside the abbreviated setup table. Native SQLite readiness does not establish embeddings or daemon
|
|
2731
|
+
liveness. Core's existing two-valued `SetupResult.memoryBackend` remains source compatible; optional
|
|
2732
|
+
`memoryBackendObserved` names the saved state or unknown on failures/uninitialized disabled setup.
|
|
2733
|
+
|
|
2734
|
+
Setup output separates the requested backend and its selection source from the observed saved
|
|
2735
|
+
backend. A failed transition names the observed backend as INCOMPLETE; a successful `--no-hooks`
|
|
2736
|
+
run names native readiness and disabled hooks separately. `--no-memory` also suppresses downstream
|
|
2737
|
+
memory hook delivery while preserving existing memory bytes.
|
|
2738
|
+
|
|
2739
|
+
The existing hook APIs have no memory-only delivery selector. With `--no-memory`, setup therefore
|
|
2740
|
+
preserves all existing hook registries and destructive-guard bodies and performs no hook delivery
|
|
2741
|
+
or live guard verification. The summary names this partial setup explicitly; existing guards remain
|
|
2742
|
+
registered. Use ordinary setup or the existing hooks-sync command separately to deliver new guards.
|
|
2743
|
+
|
|
2744
|
+
If core setup reports INCOMPLETE, the CLI withholds subsequent skill hook/MCP integrations and
|
|
2745
|
+
Codex hook delivery or live verification, preserving the current registries in those later phases.
|
|
2746
|
+
Unrelated skill files may still be installed. Earlier partial changes remain visible in the setup
|
|
2747
|
+
report; resolve the named failure and rerun ordinary setup to complete delivery.
|
|
2748
|
+
|
|
2749
|
+
Setup's real npm/native acceptance tests inherit caller npm settings and use standard npm defaults
|
|
2750
|
+
when offline/header/build settings are unset. They require npm access (or a complete explicitly
|
|
2751
|
+
selected offline cache), and a usable native binary or the platform's Node/native build prerequisites.
|
|
2752
|
+
Pass `npm_config_cache`, `npm_config_offline`, `npm_config_nodedir` or `npm_config_build_from_source`
|
|
2753
|
+
to select local prerequisites; missing prerequisites fail rather than skip. Tests with isolated HOME
|
|
2754
|
+
keep npm cache at the original user's default cache unless the caller supplies another cache.
|
|
2755
|
+
|
|
2756
|
+
|
|
2757
|
+
### Current routing observations
|
|
2758
|
+
|
|
2759
|
+
Stage usage adds `routingProvenance` (`routing-provenance-1`) separately from token/cost accounting. Probe observations retain the first32 reached candidates and the actual consideration count; `wrapperInvoked` records the ChildRunner seam call, without attesting OS child start or provider billing.
|
|
2760
|
+
|
|
2761
|
+
Stages expose safe `plannedModel`, `plannedModelSource` and invocation-local `probeId`, separately from the existing selected `requestedModel`. Legacy/Plain history is null/not-recorded. Missing sources or links are partial; malformed/conflicting identities suppress new attribution and report defect. Probe spend remains unknown. These observations establish neither model quality nor training readiness.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const MEMORY_DEFAULTS: {
|
|
2
|
+
readonly agentdb: "3.0.0-alpha.20";
|
|
3
|
+
readonly 'better-sqlite3': "11.10.0";
|
|
4
|
+
};
|
|
5
|
+
export interface MemoryDependencyResult {
|
|
6
|
+
readonly ready: boolean;
|
|
7
|
+
readonly changedManifest: boolean;
|
|
8
|
+
readonly changedLock: boolean;
|
|
9
|
+
readonly detail: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function supportedMemoryVersion(name: keyof typeof MEMORY_DEFAULTS, value: unknown): value is string;
|
|
12
|
+
export declare function probeMemoryNative(root: string): string | null;
|
|
13
|
+
export declare function reconcileMemoryDependencies(projectRoot: string, repair?: boolean): MemoryDependencyResult;
|
|
14
|
+
//# sourceMappingURL=setup-memory-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-memory-deps.d.ts","sourceRoot":"","sources":["../src/setup-memory-deps.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;;CAAsE,CAAC;AAInG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AASD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,OAAO,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAK1G;AA+DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW7D;AACD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,sBAAsB,CA6DtG"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/** Exact consumer npm persistence and local native readiness. No ancestor/global installs. */
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync, rmSync, realpathSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { execFileSync } from 'node:child_process';
|
|
5
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
6
|
+
export const MEMORY_DEFAULTS = { agentdb: '3.0.0-alpha.20', 'better-sqlite3': '11.10.0' };
|
|
7
|
+
const names = Object.keys(MEMORY_DEFAULTS);
|
|
8
|
+
const sections = ['dependencies', 'devDependencies', 'optionalDependencies'];
|
|
9
|
+
const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
10
|
+
const same = (a, b) => isDeepStrictEqual(a, b);
|
|
11
|
+
const bytes = (path) => existsSync(path) ? readFileSync(path, 'utf8') : null;
|
|
12
|
+
function json(path) {
|
|
13
|
+
const value = JSON.parse(readFileSync(path, 'utf8'));
|
|
14
|
+
if (!object(value))
|
|
15
|
+
throw Error(`${path}: expected a JSON object`);
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
export function supportedMemoryVersion(name, value) {
|
|
19
|
+
const number = '(?:0|[1-9][0-9]*)';
|
|
20
|
+
return typeof value === 'string' && new RegExp(name === 'agentdb'
|
|
21
|
+
? `^(?:3\\.${number}\\.${number}|3\\.0\\.0-alpha\\.${number})$`
|
|
22
|
+
: `^11\\.${number}\\.${number}$`).test(value);
|
|
23
|
+
}
|
|
24
|
+
function installed(root, name) {
|
|
25
|
+
const path = join(root, 'node_modules', name, 'package.json');
|
|
26
|
+
if (!existsSync(path))
|
|
27
|
+
return null;
|
|
28
|
+
const pkg = json(path);
|
|
29
|
+
if (pkg['name'] !== name || typeof pkg['version'] !== 'string')
|
|
30
|
+
throw Error(`${name}: malformed installed package metadata`);
|
|
31
|
+
return pkg['version'];
|
|
32
|
+
}
|
|
33
|
+
function lockVersion(lock, name) {
|
|
34
|
+
const item = lock?.['packages']?.[`node_modules/${name}`] ?? lock?.['dependencies']?.[name];
|
|
35
|
+
return item?.version ?? null;
|
|
36
|
+
}
|
|
37
|
+
function selectVersions(root, pkg, lock) {
|
|
38
|
+
for (const section of [...sections, 'peerDependencies']) {
|
|
39
|
+
if (pkg[section] !== undefined && !object(pkg[section]))
|
|
40
|
+
throw Error(`package.json: malformed ${section}`);
|
|
41
|
+
}
|
|
42
|
+
const versions = {};
|
|
43
|
+
for (const name of names) {
|
|
44
|
+
if (Object.hasOwn(pkg['peerDependencies'] ?? {}, name))
|
|
45
|
+
throw Error(`${name}: peer declaration is outside exact persistence repair`);
|
|
46
|
+
const declared = sections.flatMap(section => Object.hasOwn(pkg[section] ?? {}, name) ? [pkg[section][name]] : []);
|
|
47
|
+
if (declared.some(value => !supportedMemoryVersion(name, value)) || new Set(declared).size > 1)
|
|
48
|
+
throw Error(`${name}: conflicting or non-exact/unsupported saved declaration; original files preserved`);
|
|
49
|
+
if (declared.length) {
|
|
50
|
+
versions[name] = declared[0];
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const local = installed(root, name), locked = lockVersion(lock, name);
|
|
54
|
+
if (local !== null) {
|
|
55
|
+
if (!supportedMemoryVersion(name, local))
|
|
56
|
+
throw Error(`${name}: unsupported installed-only version ${local}`);
|
|
57
|
+
if (locked !== null && locked !== local)
|
|
58
|
+
throw Error(`${name}: installed-only and orphan lock versions conflict`);
|
|
59
|
+
versions[name] = local;
|
|
60
|
+
}
|
|
61
|
+
else if (locked !== null)
|
|
62
|
+
throw Error(`${name}: incomplete legacy lock-only state; original files preserved`);
|
|
63
|
+
else
|
|
64
|
+
versions[name] = MEMORY_DEFAULTS[name];
|
|
65
|
+
}
|
|
66
|
+
return versions;
|
|
67
|
+
}
|
|
68
|
+
function persisted(pkg, lock, versions) {
|
|
69
|
+
return names.every(name => pkg['devDependencies']?.[name] === versions[name]
|
|
70
|
+
&& !Object.hasOwn(pkg['dependencies'] ?? {}, name) && !Object.hasOwn(pkg['optionalDependencies'] ?? {}, name)
|
|
71
|
+
&& lockVersion(lock, name) === versions[name] && lock?.['packages']?.['']?.['devDependencies']?.[name] === versions[name]
|
|
72
|
+
&& !Object.hasOwn(lock?.['packages']?.['']?.['dependencies'] ?? {}, name)
|
|
73
|
+
&& !Object.hasOwn(lock?.['packages']?.['']?.['optionalDependencies'] ?? {}, name));
|
|
74
|
+
}
|
|
75
|
+
function protectedManifest(pkg) {
|
|
76
|
+
const copy = JSON.parse(JSON.stringify(pkg));
|
|
77
|
+
for (const section of sections) {
|
|
78
|
+
if (!object(copy[section]))
|
|
79
|
+
continue;
|
|
80
|
+
for (const name of names)
|
|
81
|
+
delete copy[section][name];
|
|
82
|
+
if (!Object.keys(copy[section]).length)
|
|
83
|
+
delete copy[section];
|
|
84
|
+
}
|
|
85
|
+
return copy;
|
|
86
|
+
}
|
|
87
|
+
function resolutions(lock) {
|
|
88
|
+
const result = {};
|
|
89
|
+
if (object(lock?.['packages']))
|
|
90
|
+
for (const [path, item] of Object.entries(lock['packages'])) {
|
|
91
|
+
if (path && !names.some(name => path === `node_modules/${name}`) && object(item) && typeof item['version'] === 'string')
|
|
92
|
+
result[path] = item['version'];
|
|
93
|
+
}
|
|
94
|
+
else if (object(lock?.['dependencies']))
|
|
95
|
+
for (const [name, item] of Object.entries(lock['dependencies'])) {
|
|
96
|
+
if (!names.includes(name) && object(item) && typeof item['version'] === 'string')
|
|
97
|
+
result[`node_modules/${name}`] = item['version'];
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
function npm(root, args) {
|
|
102
|
+
execFileSync(process.platform === 'win32' ? 'npm.cmd' : 'npm', args, {
|
|
103
|
+
cwd: root, timeout: 300000, maxBuffer: 8 * 1024 * 1024, stdio: 'pipe', shell: process.platform === 'win32',
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
export function probeMemoryNative(root) {
|
|
107
|
+
try {
|
|
108
|
+
for (const name of names)
|
|
109
|
+
if (installed(root, name) === null)
|
|
110
|
+
return `${name}: local package missing`;
|
|
111
|
+
const script = `const {createRequire}=require('node:module'),fs=require('node:fs'),path=require('node:path');
|
|
112
|
+
const root=process.argv[1],r=createRequire(path.join(root,'package.json')),local=fs.realpathSync(path.join(root,'node_modules'));
|
|
113
|
+
const resolved=fs.realpathSync(r.resolve('better-sqlite3')); if(path.relative(local,resolved).startsWith('..'))throw Error('native module resolved outside project');
|
|
114
|
+
const Sqlite=r('better-sqlite3'),db=new Sqlite(':memory:');try{if(db.prepare('SELECT 42 AS answer').get().answer!==42)throw Error('native SELECT failed');}finally{db.close();}
|
|
115
|
+
process.stdout.write('native-sql-ready');`;
|
|
116
|
+
const output = execFileSync(process.execPath, ['-e', script, realpathSync(root)], { cwd: root, timeout: 60000, maxBuffer: 4 * 1024 * 1024, stdio: 'pipe', encoding: 'utf8' });
|
|
117
|
+
return output === 'native-sql-ready' ? null : 'native SQL readiness stdout not established';
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return `native SQLite unavailable: ${error instanceof Error ? error.message : String(error)}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export function reconcileMemoryDependencies(projectRoot, repair = true) {
|
|
124
|
+
const pkgPath = join(projectRoot, 'package.json'), lockPath = join(projectRoot, 'package-lock.json');
|
|
125
|
+
const beforePkg = bytes(pkgPath), beforeLock = bytes(lockPath);
|
|
126
|
+
let stage = 'validate', repaired = false;
|
|
127
|
+
const result = (ready, detail) => ({ ready, changedManifest: bytes(pkgPath) !== beforePkg, changedLock: bytes(lockPath) !== beforeLock, detail });
|
|
128
|
+
try {
|
|
129
|
+
const pkg = beforePkg === null ? { name: 'dz-harness-project', private: true, version: '0.0.0' } : json(pkgPath);
|
|
130
|
+
const lock = beforeLock === null ? null : json(lockPath);
|
|
131
|
+
const versions = selectVersions(projectRoot, pkg, lock);
|
|
132
|
+
const localCurrent = names.every(name => installed(projectRoot, name) === versions[name]);
|
|
133
|
+
const savedCurrent = persisted(pkg, lock, versions);
|
|
134
|
+
if (!repair && (!savedCurrent || !localCurrent))
|
|
135
|
+
return result(false, 'saved/local dependency state is inconsistent; run setup to repair exact devDependencies');
|
|
136
|
+
const nativeBefore = localCurrent ? probeMemoryNative(projectRoot) : 'local package versions need repair';
|
|
137
|
+
if (!repair && nativeBefore)
|
|
138
|
+
return result(false, nativeBefore);
|
|
139
|
+
if (!savedCurrent || !localCurrent) {
|
|
140
|
+
stage = 'npm persistence repair';
|
|
141
|
+
const protectedFields = protectedManifest(pkg), protectedLock = resolutions(lock);
|
|
142
|
+
try {
|
|
143
|
+
// npm can retain an existing optional declaration despite --save-dev. Selection and
|
|
144
|
+
// conflicts were validated above; normalize ONLY the two memory declarations first.
|
|
145
|
+
const canonical = JSON.parse(JSON.stringify(pkg));
|
|
146
|
+
for (const section of sections) {
|
|
147
|
+
if (!object(canonical[section]))
|
|
148
|
+
continue;
|
|
149
|
+
let removed = false;
|
|
150
|
+
for (const name of names)
|
|
151
|
+
if (Object.hasOwn(canonical[section], name)) {
|
|
152
|
+
delete canonical[section][name];
|
|
153
|
+
removed = true;
|
|
154
|
+
}
|
|
155
|
+
if (removed && !Object.keys(canonical[section]).length)
|
|
156
|
+
delete canonical[section];
|
|
157
|
+
}
|
|
158
|
+
canonical['devDependencies'] = { ...(canonical['devDependencies'] ?? {}), ...versions };
|
|
159
|
+
if (beforePkg === null || !same(canonical, pkg))
|
|
160
|
+
writeFileSync(pkgPath, JSON.stringify(canonical, null, 2) + '\n');
|
|
161
|
+
npm(projectRoot, ['install', ...names.map(name => `${name}@${versions[name]}`), '--save-dev', '--save-exact', '--no-audit', '--no-fund', '--loglevel=error']);
|
|
162
|
+
const after = json(pkgPath), afterLock = json(lockPath), afterResolutions = resolutions(afterLock);
|
|
163
|
+
if (!same(protectedManifest(after), protectedFields) || Object.entries(protectedLock).some(([path, version]) => afterResolutions[path] !== version)) {
|
|
164
|
+
throw Error('npm changed protected unrelated manifest fields/lock resolutions');
|
|
165
|
+
}
|
|
166
|
+
if (!persisted(after, afterLock, versions) || !names.every(name => installed(projectRoot, name) === versions[name]))
|
|
167
|
+
throw Error('npm did not establish requested exact manifest/lock/local versions');
|
|
168
|
+
repaired = true;
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
// npm is not a whole-project transaction. Restore only protected manifest/lock files.
|
|
172
|
+
let changedProtected = false;
|
|
173
|
+
try {
|
|
174
|
+
const after = existsSync(pkgPath) ? json(pkgPath) : {};
|
|
175
|
+
const afterResolutions = resolutions(existsSync(lockPath) ? json(lockPath) : null);
|
|
176
|
+
changedProtected = !same(protectedManifest(after), protectedFields) || Object.entries(protectedLock).some(([path, version]) => afterResolutions[path] !== version);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
changedProtected = true;
|
|
180
|
+
}
|
|
181
|
+
if (changedProtected) {
|
|
182
|
+
if (beforePkg === null)
|
|
183
|
+
rmSync(pkgPath, { force: true });
|
|
184
|
+
else
|
|
185
|
+
writeFileSync(pkgPath, beforePkg);
|
|
186
|
+
if (beforeLock === null)
|
|
187
|
+
rmSync(lockPath, { force: true });
|
|
188
|
+
else
|
|
189
|
+
writeFileSync(lockPath, beforeLock);
|
|
190
|
+
throw Error(`protected manifest/lock restored after npm changed unrelated state; local modules may be incomplete: ${String(error)}`);
|
|
191
|
+
}
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else if (repair && nativeBefore) {
|
|
196
|
+
stage = 'native rebuild';
|
|
197
|
+
npm(projectRoot, ['rebuild', 'better-sqlite3', '--no-audit', '--no-fund', '--loglevel=error']);
|
|
198
|
+
repaired = true;
|
|
199
|
+
}
|
|
200
|
+
stage = 'native SQL probe';
|
|
201
|
+
const nativeError = probeMemoryNative(projectRoot);
|
|
202
|
+
if (nativeError)
|
|
203
|
+
return result(false, `INCOMPLETE ${stage}: ${nativeError}; package.json ${bytes(pkgPath) === beforePkg ? 'unchanged' : 'changed'}, package-lock.json ${bytes(lockPath) === beforeLock ? 'unchanged' : 'changed'}`);
|
|
204
|
+
return result(true, `${repaired ? 'repaired exact devDependencies/local readiness' : 'already current exact devDependencies and native SQLite'}; package.json ${bytes(pkgPath) === beforePkg ? 'unchanged' : 'changed'}, package-lock.json ${bytes(lockPath) === beforeLock ? 'unchanged' : 'changed'}; ${names.map(name => `${name}@${versions[name]}`).join(', ')}; native SELECT 42 passed`);
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
return result(false, `INCOMPLETE ${stage}: ${error instanceof Error ? error.message : String(error)}; package.json ${bytes(pkgPath) === beforePkg ? 'unchanged' : 'changed'}, package-lock.json ${bytes(lockPath) === beforeLock ? 'unchanged' : 'changed'}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=setup-memory-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-memory-deps.js","sourceRoot":"","sources":["../src/setup-memory-deps.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
CHANGED
|
@@ -76,6 +76,8 @@ export interface SetupResult {
|
|
|
76
76
|
readonly skipped: number;
|
|
77
77
|
/** The memory backend this run actually used (feature `setup-backend-from-config`, FR-1). */
|
|
78
78
|
readonly memoryBackend: MemoryBackend;
|
|
79
|
+
/** Observed persisted state; unknown is explicit on failed/uninitialized setup. */
|
|
80
|
+
readonly memoryBackendObserved?: MemoryBackend | 'unknown';
|
|
79
81
|
/** Where {@link memoryBackend} came from — FR-3, also the `--json` field name. */
|
|
80
82
|
readonly memoryBackendSource: MemoryBackendSource;
|
|
81
83
|
/** `true` when an explicit `--memory jsonl` pulled an agentdb-configured project down (FR-2). */
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|