@sdd-method/sdd-cli 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-harness.d.ts +20 -0
- package/dist/lib/agent-harness.d.ts.map +1 -0
- package/dist/lib/agent-harness.js +28 -0
- package/dist/lib/agent-harness.js.map +1 -0
- package/dist/lib/briefing/index.d.ts +15 -0
- package/dist/lib/briefing/index.d.ts.map +1 -0
- package/dist/lib/briefing/index.js +13 -0
- package/dist/lib/briefing/index.js.map +1 -0
- package/dist/lib/briefing/render.d.ts +57 -0
- package/dist/lib/briefing/render.d.ts.map +1 -0
- package/dist/lib/briefing/render.js +112 -0
- package/dist/lib/briefing/render.js.map +1 -0
- package/dist/lib/briefing/variables.d.ts +49 -0
- package/dist/lib/briefing/variables.d.ts.map +1 -0
- package/dist/lib/briefing/variables.js +92 -0
- package/dist/lib/briefing/variables.js.map +1 -0
- package/dist/lib/bundle.d.ts +57 -2
- package/dist/lib/bundle.d.ts.map +1 -1
- package/dist/lib/bundle.js +53 -19
- package/dist/lib/bundle.js.map +1 -1
- package/dist/lib/catalogue/aggregate.d.ts +19 -0
- package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +88 -0
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +24 -1
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.js +18 -4
- package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
- package/dist/lib/catalogue/builders/feature-subscription-channels.d.ts +12 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.js +197 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.js.map +1 -0
- package/dist/lib/catalogue/builders/index.d.ts +4 -0
- package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/index.js +2 -0
- package/dist/lib/catalogue/builders/index.js.map +1 -1
- package/dist/lib/catalogue/builders/product-platform-dependencies.d.ts +10 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.js +155 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.js.map +1 -0
- package/dist/lib/catalogue/canonical-schema.yaml +96 -1
- package/dist/lib/catalogue/traceability-loader.d.ts +17 -0
- package/dist/lib/catalogue/traceability-loader.d.ts.map +1 -1
- package/dist/lib/catalogue/traceability-loader.js +6 -0
- package/dist/lib/catalogue/traceability-loader.js.map +1 -1
- package/dist/lib/generate-briefing/index.d.ts +22 -0
- package/dist/lib/generate-briefing/index.d.ts.map +1 -0
- package/dist/lib/generate-briefing/index.js +77 -0
- package/dist/lib/generate-briefing/index.js.map +1 -0
- package/dist/lib/hooks-seed/copilot.d.ts +93 -0
- package/dist/lib/hooks-seed/copilot.d.ts.map +1 -0
- package/dist/lib/hooks-seed/copilot.js +167 -0
- package/dist/lib/hooks-seed/copilot.js.map +1 -0
- package/dist/lib/hooks-seed/index.d.ts +4 -0
- package/dist/lib/hooks-seed/index.d.ts.map +1 -1
- package/dist/lib/hooks-seed/index.js +2 -0
- package/dist/lib/hooks-seed/index.js.map +1 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts +12 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts.map +1 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.js +28 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.js.map +1 -0
- package/dist/lib/init/index.d.ts +6 -4
- package/dist/lib/init/index.d.ts.map +1 -1
- package/dist/lib/init/index.js +5 -26
- package/dist/lib/init/index.js.map +1 -1
- package/dist/lib/init/platform.d.ts +9 -0
- package/dist/lib/init/platform.d.ts.map +1 -1
- package/dist/lib/init/platform.js +8 -2
- package/dist/lib/init/platform.js.map +1 -1
- package/dist/lib/list/discover.d.ts +28 -0
- package/dist/lib/list/discover.d.ts.map +1 -1
- package/dist/lib/list/discover.js +27 -11
- package/dist/lib/list/discover.js.map +1 -1
- package/dist/lib/list/format.d.ts +2 -0
- package/dist/lib/list/format.d.ts.map +1 -1
- package/dist/lib/list/format.js +44 -4
- package/dist/lib/list/format.js.map +1 -1
- package/dist/lib/list/index.d.ts +1 -0
- package/dist/lib/list/index.d.ts.map +1 -1
- package/dist/lib/list/index.js +1 -0
- package/dist/lib/list/index.js.map +1 -1
- package/dist/lib/lock-file.d.ts +23 -5
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +86 -9
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/pack/builder.d.ts +55 -0
- package/dist/lib/pack/builder.d.ts.map +1 -0
- package/dist/lib/pack/builder.js +226 -0
- package/dist/lib/pack/builder.js.map +1 -0
- package/dist/lib/pack/index.d.ts +26 -0
- package/dist/lib/pack/index.d.ts.map +1 -0
- package/dist/lib/pack/index.js +85 -0
- package/dist/lib/pack/index.js.map +1 -0
- package/dist/lib/pack/leakage.d.ts +55 -0
- package/dist/lib/pack/leakage.d.ts.map +1 -0
- package/dist/lib/pack/leakage.js +133 -0
- package/dist/lib/pack/leakage.js.map +1 -0
- package/dist/lib/pack/schema.d.ts +36 -0
- package/dist/lib/pack/schema.d.ts.map +1 -0
- package/dist/lib/pack/schema.js +63 -0
- package/dist/lib/pack/schema.js.map +1 -0
- package/dist/lib/pack/seed.d.ts +46 -0
- package/dist/lib/pack/seed.d.ts.map +1 -0
- package/dist/lib/pack/seed.js +107 -0
- package/dist/lib/pack/seed.js.map +1 -0
- package/dist/lib/repo-kind.d.ts +8 -4
- package/dist/lib/repo-kind.d.ts.map +1 -1
- package/dist/lib/repo-kind.js +10 -2
- package/dist/lib/repo-kind.js.map +1 -1
- package/dist/lib/sync/briefing-merge.d.ts +34 -0
- package/dist/lib/sync/briefing-merge.d.ts.map +1 -0
- package/dist/lib/sync/briefing-merge.js +82 -0
- package/dist/lib/sync/briefing-merge.js.map +1 -0
- package/dist/lib/sync/config.d.ts +33 -0
- package/dist/lib/sync/config.d.ts.map +1 -0
- package/dist/lib/sync/config.js +40 -0
- package/dist/lib/sync/config.js.map +1 -0
- package/dist/lib/sync/copilot-hooks-merge.d.ts +30 -0
- package/dist/lib/sync/copilot-hooks-merge.d.ts.map +1 -0
- package/dist/lib/sync/copilot-hooks-merge.js +96 -0
- package/dist/lib/sync/copilot-hooks-merge.js.map +1 -0
- package/dist/lib/sync/index.d.ts +40 -3
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +186 -26
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/lib/sync/source-tag.d.ts +5 -0
- package/dist/lib/sync/source-tag.d.ts.map +1 -0
- package/dist/lib/sync/source-tag.js +34 -0
- package/dist/lib/sync/source-tag.js.map +1 -0
- package/dist/verbs/generate-briefing.d.ts +3 -0
- package/dist/verbs/generate-briefing.d.ts.map +1 -0
- package/dist/verbs/generate-briefing.js +28 -0
- package/dist/verbs/generate-briefing.js.map +1 -0
- package/dist/verbs/init.d.ts.map +1 -1
- package/dist/verbs/init.js +11 -8
- package/dist/verbs/init.js.map +1 -1
- package/dist/verbs/list.d.ts.map +1 -1
- package/dist/verbs/list.js +3 -1
- package/dist/verbs/list.js.map +1 -1
- package/dist/verbs/pack.d.ts +3 -0
- package/dist/verbs/pack.d.ts.map +1 -0
- package/dist/verbs/pack.js +35 -0
- package/dist/verbs/pack.js.map +1 -0
- package/dist/verbs/sync.d.ts.map +1 -1
- package/dist/verbs/sync.js +56 -15
- package/dist/verbs/sync.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-bundle sync config file. Per ADR 0151 + companion plan Phase 3b.
|
|
3
|
+
*
|
|
4
|
+
* Lives at `method-baseline.config.yaml` (or any path passed via
|
|
5
|
+
* `sdd-cli sync --config <path>`). Declares an ordered list of bundle
|
|
6
|
+
* sources to sync in sequence.
|
|
7
|
+
*
|
|
8
|
+
* Shape:
|
|
9
|
+
*
|
|
10
|
+
* ```yaml
|
|
11
|
+
* version: "1.0"
|
|
12
|
+
* bundles:
|
|
13
|
+
* - source: "./dist/method-baseline/method-baseline-v0.9.0.tar.gz"
|
|
14
|
+
* - source: "./dist/contextua-app-context-pack/contextua-app-context-pack-v0.1.0.tar.gz"
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* `source` may be:
|
|
18
|
+
* - Absolute path
|
|
19
|
+
* - Path relative to the config file's directory
|
|
20
|
+
*
|
|
21
|
+
* Remote URL support is reserved for a future minor (consumers fetch
|
|
22
|
+
* to a temp file and pass the local path on for now).
|
|
23
|
+
*/
|
|
24
|
+
export interface SyncConfig {
|
|
25
|
+
version: string;
|
|
26
|
+
bundles: SyncConfigBundle[];
|
|
27
|
+
}
|
|
28
|
+
export interface SyncConfigBundle {
|
|
29
|
+
/** Resolved absolute path to the tarball. */
|
|
30
|
+
source: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function loadSyncConfig(configPath: string): Promise<SyncConfig>;
|
|
33
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/config.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2C5E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, isAbsolute, resolve } from "node:path";
|
|
3
|
+
import { parse as parseYaml } from "yaml";
|
|
4
|
+
export async function loadSyncConfig(configPath) {
|
|
5
|
+
const absPath = isAbsolute(configPath) ? configPath : resolve(configPath);
|
|
6
|
+
let raw;
|
|
7
|
+
try {
|
|
8
|
+
raw = await readFile(absPath, "utf8");
|
|
9
|
+
}
|
|
10
|
+
catch (err) {
|
|
11
|
+
throw new Error(`Cannot read sync config ${absPath}: ${err.message}`);
|
|
12
|
+
}
|
|
13
|
+
const parsed = parseYaml(raw);
|
|
14
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
15
|
+
throw new Error(`Sync config ${absPath} is not a YAML object`);
|
|
16
|
+
}
|
|
17
|
+
const version = typeof parsed.version === "string" ? parsed.version : undefined;
|
|
18
|
+
if (!version) {
|
|
19
|
+
throw new Error(`Sync config ${absPath} missing required field: version`);
|
|
20
|
+
}
|
|
21
|
+
if (!Array.isArray(parsed.bundles)) {
|
|
22
|
+
throw new Error(`Sync config ${absPath} field "bundles" must be a list`);
|
|
23
|
+
}
|
|
24
|
+
if (parsed.bundles.length === 0) {
|
|
25
|
+
throw new Error(`Sync config ${absPath} field "bundles" must not be empty`);
|
|
26
|
+
}
|
|
27
|
+
const configDir = dirname(absPath);
|
|
28
|
+
const bundles = [];
|
|
29
|
+
for (const [i, entry] of parsed.bundles.entries()) {
|
|
30
|
+
const raw = entry;
|
|
31
|
+
const src = typeof raw.source === "string" ? raw.source : undefined;
|
|
32
|
+
if (!src) {
|
|
33
|
+
throw new Error(`Sync config ${absPath} bundles[${i}] missing required field: source`);
|
|
34
|
+
}
|
|
35
|
+
const resolved = isAbsolute(src) ? src : resolve(configDir, src);
|
|
36
|
+
bundles.push({ source: resolved });
|
|
37
|
+
}
|
|
38
|
+
return { version, bundles };
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/sync/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AA4C1C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,KAAM,GAAa,CAAC,OAAO,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAc,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,uBAAuB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,iCAAiC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,oCAAoC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,KAAkB,CAAC;QAC/B,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,YAAY,CAAC,kCAAkC,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `.github/hooks/*.json` merge pass during `sdd-cli sync` when the
|
|
3
|
+
* adopter opted into `--agent-harness github-copilot-cli`.
|
|
4
|
+
*
|
|
5
|
+
* Method-managed event entries are sentinel-tagged via their
|
|
6
|
+
* `command.bash` / `command.powershell` strings. Adopter-added events
|
|
7
|
+
* in the same `events[]` array survive sync. Drift inside a method-
|
|
8
|
+
* managed event refuses without `--allow-overwrite`, symmetric to the
|
|
9
|
+
* Claude Code settings-merge path.
|
|
10
|
+
*/
|
|
11
|
+
import type { PortableLifecycleEventClass } from "../hooks-seed/lifecycle-mapping.js";
|
|
12
|
+
export interface CopilotHooksMergeOptions {
|
|
13
|
+
readonly targetRepo: string;
|
|
14
|
+
readonly allowOverwrite: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface CopilotHookFileResult {
|
|
17
|
+
readonly relPath: string;
|
|
18
|
+
readonly portableClass: PortableLifecycleEventClass;
|
|
19
|
+
readonly drifted: boolean;
|
|
20
|
+
readonly wrote: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface CopilotHooksMergeResult {
|
|
23
|
+
readonly files: readonly CopilotHookFileResult[];
|
|
24
|
+
/** Filenames where method-managed drift exists but --allow-overwrite was not passed. */
|
|
25
|
+
readonly driftedRefused: readonly string[];
|
|
26
|
+
/** Set when any file was refused. */
|
|
27
|
+
readonly refused: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function syncMethodManagedCopilotHooks(opts: CopilotHooksMergeOptions): Promise<CopilotHooksMergeResult>;
|
|
30
|
+
//# sourceMappingURL=copilot-hooks-merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-hooks-merge.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/copilot-hooks-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACjD,wFAAwF;IACxF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAuElC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `.github/hooks/*.json` merge pass during `sdd-cli sync` when the
|
|
3
|
+
* adopter opted into `--agent-harness github-copilot-cli`.
|
|
4
|
+
*
|
|
5
|
+
* Method-managed event entries are sentinel-tagged via their
|
|
6
|
+
* `command.bash` / `command.powershell` strings. Adopter-added events
|
|
7
|
+
* in the same `events[]` array survive sync. Drift inside a method-
|
|
8
|
+
* managed event refuses without `--allow-overwrite`, symmetric to the
|
|
9
|
+
* Claude Code settings-merge path.
|
|
10
|
+
*/
|
|
11
|
+
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
import { buildMethodManagedCopilotHooks, detectCopilotHookDrift, upsertCopilotHookFile, } from "../hooks-seed/copilot.js";
|
|
14
|
+
export async function syncMethodManagedCopilotHooks(opts) {
|
|
15
|
+
const surface = buildMethodManagedCopilotHooks();
|
|
16
|
+
const entries = Object.entries(surface);
|
|
17
|
+
// First pass: detect drift across all files. If any drifted file
|
|
18
|
+
// would be refused (no --allow-overwrite), we refuse the whole
|
|
19
|
+
// merge without writing — same all-or-nothing posture as the
|
|
20
|
+
// Claude Code settings merge.
|
|
21
|
+
const reads = [];
|
|
22
|
+
for (const [portableClass, { filePath, events }] of entries) {
|
|
23
|
+
const absPath = join(opts.targetRepo, filePath);
|
|
24
|
+
const existing = await readHookFile(absPath);
|
|
25
|
+
const drifted = detectCopilotHookDrift(existing, events);
|
|
26
|
+
reads.push({
|
|
27
|
+
portableClass,
|
|
28
|
+
relPath: filePath,
|
|
29
|
+
absPath,
|
|
30
|
+
existing,
|
|
31
|
+
owned: events,
|
|
32
|
+
drifted,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const driftedFiles = reads.filter((r) => r.drifted).map((r) => r.relPath);
|
|
36
|
+
if (driftedFiles.length > 0 && !opts.allowOverwrite) {
|
|
37
|
+
return {
|
|
38
|
+
files: reads.map((r) => ({
|
|
39
|
+
relPath: r.relPath,
|
|
40
|
+
portableClass: r.portableClass,
|
|
41
|
+
drifted: r.drifted,
|
|
42
|
+
wrote: false,
|
|
43
|
+
})),
|
|
44
|
+
driftedRefused: driftedFiles,
|
|
45
|
+
refused: true,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Second pass: upsert + write.
|
|
49
|
+
const fileResults = [];
|
|
50
|
+
for (const r of reads) {
|
|
51
|
+
const merge = upsertCopilotHookFile(r.existing, r.owned);
|
|
52
|
+
let wrote = false;
|
|
53
|
+
if (merge.changed || r.existing === null) {
|
|
54
|
+
await mkdir(dirname(r.absPath), { recursive: true });
|
|
55
|
+
await writeFile(r.absPath, JSON.stringify(merge.file, null, 2) + "\n", "utf8");
|
|
56
|
+
wrote = true;
|
|
57
|
+
}
|
|
58
|
+
fileResults.push({
|
|
59
|
+
relPath: r.relPath,
|
|
60
|
+
portableClass: r.portableClass,
|
|
61
|
+
drifted: r.drifted,
|
|
62
|
+
wrote,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return { files: fileResults, driftedRefused: [], refused: false };
|
|
66
|
+
}
|
|
67
|
+
async function readHookFile(absPath) {
|
|
68
|
+
if (!(await fileExists(absPath)))
|
|
69
|
+
return null;
|
|
70
|
+
const raw = await readFile(absPath, "utf8");
|
|
71
|
+
if (raw.trim().length === 0)
|
|
72
|
+
return null;
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(raw);
|
|
75
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
76
|
+
const obj = parsed;
|
|
77
|
+
if (Array.isArray(obj["events"])) {
|
|
78
|
+
return obj;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
/* fall through — treat malformed as empty so the next write reseats it */
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
async function fileExists(path) {
|
|
88
|
+
try {
|
|
89
|
+
await access(path);
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=copilot-hooks-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-hooks-merge.js","sourceRoot":"","sources":["../../../src/lib/sync/copilot-hooks-merge.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sync/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type BundleManifest } from "../bundle.js";
|
|
2
|
+
import { type LockFile } from "../lock-file.js";
|
|
3
|
+
import { type AgentHarness } from "../agent-harness.js";
|
|
2
4
|
export interface SyncOptions {
|
|
3
5
|
bundle: string;
|
|
4
6
|
targetRepo: string;
|
|
@@ -6,10 +8,14 @@ export interface SyncOptions {
|
|
|
6
8
|
allowOverwrite: boolean;
|
|
7
9
|
delete: boolean;
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
+
* Target agent harness per ADR 0141 §4.6. Drives which hook
|
|
12
|
+
* configuration sync emits: `claude-code` → `.claude/settings.json`;
|
|
13
|
+
* `github-copilot-cli` → `.github/hooks/*.json`. Direct callers MAY
|
|
14
|
+
* pass `undefined` for the legacy "MCP-only, no hooks" behaviour
|
|
15
|
+
* (preserved for backwards-compatible test paths); the CLI verbs
|
|
16
|
+
* resolve the default (`claude-code`) before calling in.
|
|
11
17
|
*/
|
|
12
|
-
agentHarness?:
|
|
18
|
+
agentHarness?: AgentHarness;
|
|
13
19
|
}
|
|
14
20
|
export interface SyncResult {
|
|
15
21
|
exitCode: number;
|
|
@@ -26,4 +32,35 @@ export declare function runSync(opts: SyncOptions, stdout?: (line: string) => vo
|
|
|
26
32
|
* stable release version.
|
|
27
33
|
*/
|
|
28
34
|
export declare function checkMinimumSddCliVersion(manifest: BundleManifest, installedOverride?: string): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Verify `requires_forward_base` declared by an adopter pack against
|
|
37
|
+
* the consumer's lock. Returns null on success or a formatted error.
|
|
38
|
+
*/
|
|
39
|
+
export declare function checkRequiresForwardBase(prevLock: LockFile | null, required: {
|
|
40
|
+
bundle: string;
|
|
41
|
+
minimumVersion: string;
|
|
42
|
+
}, incomingBundleName: string): string | null;
|
|
43
|
+
/**
|
|
44
|
+
* Verify `requires_pack` declared by a vertical extension against the
|
|
45
|
+
* consumer's lock. Returns null on success or a formatted error.
|
|
46
|
+
*
|
|
47
|
+
* @public exported for unit testing.
|
|
48
|
+
*
|
|
49
|
+
* Version semantics: caret-range default (`^vX.Y.Z` matches `X.x.y` ≥
|
|
50
|
+
* `X.Y.Z` for X >= 1; for `^v0.Y.Z` only the same minor — `0.Y.x`).
|
|
51
|
+
* Exact pin (`vX.Y.Z`) matches only that version. Tilde (`~vX.Y.Z`)
|
|
52
|
+
* matches `X.Y.x`. `>=vX.Y.Z` matches anything ≥ that version.
|
|
53
|
+
*/
|
|
54
|
+
export declare function checkRequiresPack(prevLock: LockFile | null, required: {
|
|
55
|
+
name: string;
|
|
56
|
+
version: string;
|
|
57
|
+
}, incomingBundleName: string): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Semver range satisfaction. Supports caret (^), tilde (~), >= and
|
|
60
|
+
* exact-pin (no prefix). Versions may carry a leading 'v'.
|
|
61
|
+
*
|
|
62
|
+
* Pre-1.0 caret narrows to the same minor: ^v0.1.x matches only 0.1.y
|
|
63
|
+
* (per npm convention). ^v1.2.x matches 1.x.y >= 1.2.x.
|
|
64
|
+
*/
|
|
65
|
+
export declare function rangeSatisfies(version: string, range: string): boolean;
|
|
29
66
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EASL,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAmBzB,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAa/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACpE,OAAO,CAAC,UAAU,CAAC,CA8WrB;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAUf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EACpD,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAqBf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3C,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAef;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAkCtE"}
|
package/dist/lib/sync/index.js
CHANGED
|
@@ -2,12 +2,15 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { access, readFile } from "node:fs/promises";
|
|
3
3
|
import { loadBundle } from "../bundle.js";
|
|
4
4
|
import { getPackageVersion } from "../package-version.js";
|
|
5
|
-
import { findBundle, hasForwardBase, pathToBundleMap, readLockFile, upsertBundle, writeLockFile, } from "../lock-file.js";
|
|
6
|
-
import { REPO_KIND_FILE,
|
|
5
|
+
import { findBundle, findForwardBase, hasForwardBase, pathToBundleMap, readLockFile, upsertBundle, writeLockFile, } from "../lock-file.js";
|
|
6
|
+
import { REPO_KIND_FILE, profileFromBundleName, repoKindFromProfile, writeRepoKind, } from "../repo-kind.js";
|
|
7
7
|
import { join } from "node:path";
|
|
8
8
|
import { copyManagedFiles, removeManagedFiles } from "./apply.js";
|
|
9
9
|
import { PROTECTED_PREFIXES, computeRemovals, findConflicts, findMissingPayloadFiles, findProtectedPaths, } from "./diff.js";
|
|
10
10
|
import { syncMethodManagedSettings } from "./settings-merge.js";
|
|
11
|
+
import { syncMethodManagedCopilotHooks } from "./copilot-hooks-merge.js";
|
|
12
|
+
import { syncBriefingFiles } from "./briefing-merge.js";
|
|
13
|
+
import { DEFAULT_AGENT_HARNESS } from "../agent-harness.js";
|
|
11
14
|
import { renderMethodManagedWorkflowBlock, renderMethodValidationWorkflow, WORKFLOW_REL_PATH, BLOCK_BEGIN, BLOCK_END, } from "../init/ci-workflow.js";
|
|
12
15
|
import { detectBlockDrift, writeMarkedBlockFile, } from "./yaml-block-merge.js";
|
|
13
16
|
const SECTION_RULE = "═".repeat(59);
|
|
@@ -68,13 +71,33 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
// Additive bundles require a forward base already in the lock.
|
|
74
|
+
// For adopter packs (ADR 0151) the requires_forward_base field
|
|
75
|
+
// declares which sdd-method bundle (and minimum version) is needed.
|
|
71
76
|
const incomingBundleName = bundle.manifest.bundleName;
|
|
72
|
-
const incomingIsForward = isForwardBase
|
|
77
|
+
const incomingIsForward = bundle.manifest.isForwardBase;
|
|
73
78
|
if (!incomingIsForward && !hasForwardBase(prevLock, incomingBundleName)) {
|
|
74
79
|
stdout(fail(`${incomingBundleName} is an additive extension. Sync a forward base first.`));
|
|
75
80
|
stdout(fail(`Forward bases: platform-baseline, app-baseline, integration-baseline, reverse-baseline.`));
|
|
76
81
|
return { exitCode: 1 };
|
|
77
82
|
}
|
|
83
|
+
// Adopter pack requires_forward_base check: the named forward base
|
|
84
|
+
// must be in the lock at a compatible version. Per ADR 0151 §4.2.
|
|
85
|
+
if (!incomingIsForward && bundle.manifest.requiresForwardBase) {
|
|
86
|
+
const err = checkRequiresForwardBase(prevLock, bundle.manifest.requiresForwardBase, incomingBundleName);
|
|
87
|
+
if (err !== null) {
|
|
88
|
+
stdout(fail(err));
|
|
89
|
+
return { exitCode: 1 };
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Adopter pack requires_pack check: vertical extensions name a base
|
|
93
|
+
// pack they depend on. Per ADR 0151 §4.3.
|
|
94
|
+
if (!incomingIsForward && bundle.manifest.requiresPack) {
|
|
95
|
+
const err = checkRequiresPack(prevLock, bundle.manifest.requiresPack, incomingBundleName);
|
|
96
|
+
if (err !== null) {
|
|
97
|
+
stdout(fail(err));
|
|
98
|
+
return { exitCode: 1 };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
78
101
|
// Cross-bundle ownership: a path managed by another bundle in the
|
|
79
102
|
// lock cannot also be claimed by this bundle.
|
|
80
103
|
const otherBundlePaths = pathToBundleMap(prevLock, incomingBundleName);
|
|
@@ -122,6 +145,18 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
122
145
|
syncedAtUtc: nowUtcIso(),
|
|
123
146
|
isForwardBase: incomingIsForward,
|
|
124
147
|
managedPaths: [...bundle.managedPaths],
|
|
148
|
+
// Adopter-pack provenance per ADR 0151 — fields only present for
|
|
149
|
+
// non-forward-base bundles produced by adopter pack builders.
|
|
150
|
+
...(bundle.manifest.producedByAdopter && {
|
|
151
|
+
producedByAdopter: bundle.manifest.producedByAdopter,
|
|
152
|
+
}),
|
|
153
|
+
...(bundle.manifest.scope && { scope: bundle.manifest.scope }),
|
|
154
|
+
...(bundle.manifest.requiresForwardBase && {
|
|
155
|
+
requiresForwardBase: bundle.manifest.requiresForwardBase,
|
|
156
|
+
}),
|
|
157
|
+
...(bundle.manifest.requiresPack && {
|
|
158
|
+
requiresPack: bundle.manifest.requiresPack,
|
|
159
|
+
}),
|
|
125
160
|
};
|
|
126
161
|
// Additive layers (e.g. reverse-extension-baseline) own only the
|
|
127
162
|
// reverse-method content. They do NOT set .sdd-repo-kind, refresh
|
|
@@ -142,30 +177,50 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
142
177
|
}
|
|
143
178
|
const repoKind = repoKindFromProfile(profile);
|
|
144
179
|
await writeRepoKind(opts.targetRepo, repoKind);
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
180
|
+
// Harness-aware merge of agent-harness wiring per ADR 0141 §4.6.
|
|
181
|
+
// claude-code keeps the .claude/settings.json path (MCP + Claude
|
|
182
|
+
// hooks). github-copilot-cli writes .github/hooks/*.json instead;
|
|
183
|
+
// its MCP wiring lands separately under ADR 0150 Phase 3.
|
|
184
|
+
if (opts.agentHarness === "github-copilot-cli") {
|
|
185
|
+
const copilotResult = await syncMethodManagedCopilotHooks({
|
|
186
|
+
targetRepo: opts.targetRepo,
|
|
187
|
+
allowOverwrite: opts.allowOverwrite,
|
|
188
|
+
});
|
|
189
|
+
if (copilotResult.refused) {
|
|
190
|
+
stdout(fail(`.github/hooks/*.json has adopter-modified method entries (${copilotResult.driftedRefused.join(", ")}). Re-run with --allow-overwrite to rewrite them.`));
|
|
191
|
+
return { exitCode: 1 };
|
|
192
|
+
}
|
|
193
|
+
const written = copilotResult.files.filter((f) => f.wrote);
|
|
194
|
+
if (written.length > 0) {
|
|
195
|
+
stdout(info(`Refreshed ${written.map((f) => f.relPath).join(", ")}.`));
|
|
196
|
+
}
|
|
159
197
|
}
|
|
160
|
-
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
198
|
+
else {
|
|
199
|
+
const settingsResult = await syncMethodManagedSettings({
|
|
200
|
+
targetRepo: opts.targetRepo,
|
|
201
|
+
profile,
|
|
202
|
+
allowOverwrite: opts.allowOverwrite,
|
|
203
|
+
...(opts.agentHarness ? { agentHarness: opts.agentHarness } : {}),
|
|
204
|
+
});
|
|
205
|
+
if (settingsResult.refused) {
|
|
206
|
+
const conflicts = [];
|
|
207
|
+
if (settingsResult.drifted.length > 0)
|
|
208
|
+
conflicts.push(`mcpServers: ${settingsResult.drifted.join(", ")}`);
|
|
209
|
+
if (settingsResult.hooksDrifted.length > 0)
|
|
210
|
+
conflicts.push(`hooks: ${settingsResult.hooksDrifted.join(", ")}`);
|
|
211
|
+
stdout(fail(`.claude/settings.json has adopter-modified method entries (${conflicts.join("; ")}). Re-run with --allow-overwrite to rewrite them.`));
|
|
212
|
+
return { exitCode: 1 };
|
|
213
|
+
}
|
|
214
|
+
if (settingsResult.wroteFile) {
|
|
215
|
+
const labels = [];
|
|
216
|
+
if (settingsResult.added.length > 0)
|
|
217
|
+
labels.push(`mcp added: ${settingsResult.added.join(", ")}`);
|
|
218
|
+
if (settingsResult.updated.length > 0)
|
|
219
|
+
labels.push(`mcp updated: ${settingsResult.updated.join(", ")}`);
|
|
220
|
+
if (settingsResult.hooksChangedEvents.length > 0)
|
|
221
|
+
labels.push(`hooks: ${settingsResult.hooksChangedEvents.join(", ")}`);
|
|
222
|
+
stdout(info(`Refreshed ${settingsResult.path} (${labels.join("; ") || "no changes"}).`));
|
|
223
|
+
}
|
|
169
224
|
}
|
|
170
225
|
const workflowBlock = renderMethodManagedWorkflowBlock(profile);
|
|
171
226
|
const workflowAbsPath = join(opts.targetRepo, WORKFLOW_REL_PATH);
|
|
@@ -194,6 +249,23 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
194
249
|
if (workflowResult.changed) {
|
|
195
250
|
stdout(info(`Refreshed ${WORKFLOW_REL_PATH}.`));
|
|
196
251
|
}
|
|
252
|
+
// Briefing layer per ADR 0148: agent-instructions.md (unconditional
|
|
253
|
+
// overwrite) + harness wrapper (marker-aware merge). Templates ship
|
|
254
|
+
// in the bundle's orchestration/templates/briefing/; gracefully skip
|
|
255
|
+
// when an older bundle without them is being synced.
|
|
256
|
+
const briefingResult = await syncBriefingFiles({
|
|
257
|
+
targetRepo: opts.targetRepo,
|
|
258
|
+
repoKind: repoKindFromProfile(profile),
|
|
259
|
+
baselineVersion: bundle.manifest.bundleVersion,
|
|
260
|
+
agentHarness: opts.agentHarness ?? DEFAULT_AGENT_HARNESS,
|
|
261
|
+
allowOverwrite: opts.allowOverwrite,
|
|
262
|
+
});
|
|
263
|
+
if (briefingResult.refused) {
|
|
264
|
+
stdout(fail(`${briefingResult.refused} has adopter edits outside the method-managed markers. Re-run with --allow-overwrite to replace the file.`));
|
|
265
|
+
return { exitCode: 1 };
|
|
266
|
+
}
|
|
267
|
+
for (const line of briefingResult.log)
|
|
268
|
+
stdout(info(line));
|
|
197
269
|
await writeLockFile(opts.targetRepo, upsertBundle(prevLock, newEntry));
|
|
198
270
|
stdout(pass(`Method baseline synced to: ${opts.targetRepo}`));
|
|
199
271
|
stdout(info("Updated lock file: method-baseline.lock (lock_version: 2)"));
|
|
@@ -248,6 +320,94 @@ export function checkMinimumSddCliVersion(manifest, installedOverride) {
|
|
|
248
320
|
`Remediation: npm install -g @sdd-method/sdd-cli@^${required}`,
|
|
249
321
|
].join(" ");
|
|
250
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Verify `requires_forward_base` declared by an adopter pack against
|
|
325
|
+
* the consumer's lock. Returns null on success or a formatted error.
|
|
326
|
+
*/
|
|
327
|
+
export function checkRequiresForwardBase(prevLock, required, incomingBundleName) {
|
|
328
|
+
const fwd = findForwardBase(prevLock, incomingBundleName);
|
|
329
|
+
if (fwd === null) {
|
|
330
|
+
return (`${incomingBundleName} requires forward base ${required.bundle} ` +
|
|
331
|
+
`>= ${required.minimumVersion}, but the consumer lock has no forward base.`);
|
|
332
|
+
}
|
|
333
|
+
if (fwd.name !== required.bundle) {
|
|
334
|
+
return (`${incomingBundleName} requires forward base ${required.bundle}, ` +
|
|
335
|
+
`but the consumer lock has ${fwd.name} as its forward base.`);
|
|
336
|
+
}
|
|
337
|
+
if (!versionAtLeast(fwd.bundleVersion, required.minimumVersion)) {
|
|
338
|
+
return (`${incomingBundleName} requires ${required.bundle} >= ${required.minimumVersion}, ` +
|
|
339
|
+
`but the consumer lock has ${fwd.name} ${fwd.bundleVersion}.`);
|
|
340
|
+
}
|
|
341
|
+
return null;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Verify `requires_pack` declared by a vertical extension against the
|
|
345
|
+
* consumer's lock. Returns null on success or a formatted error.
|
|
346
|
+
*
|
|
347
|
+
* @public exported for unit testing.
|
|
348
|
+
*
|
|
349
|
+
* Version semantics: caret-range default (`^vX.Y.Z` matches `X.x.y` ≥
|
|
350
|
+
* `X.Y.Z` for X >= 1; for `^v0.Y.Z` only the same minor — `0.Y.x`).
|
|
351
|
+
* Exact pin (`vX.Y.Z`) matches only that version. Tilde (`~vX.Y.Z`)
|
|
352
|
+
* matches `X.Y.x`. `>=vX.Y.Z` matches anything ≥ that version.
|
|
353
|
+
*/
|
|
354
|
+
export function checkRequiresPack(prevLock, required, incomingBundleName) {
|
|
355
|
+
const target = findBundle(prevLock, required.name);
|
|
356
|
+
if (target === null) {
|
|
357
|
+
return (`${incomingBundleName} requires pack ${required.name} ${required.version}, ` +
|
|
358
|
+
`but no such pack is in the consumer lock.`);
|
|
359
|
+
}
|
|
360
|
+
if (!rangeSatisfies(target.bundleVersion, required.version)) {
|
|
361
|
+
return (`${incomingBundleName} requires ${required.name} ${required.version}, ` +
|
|
362
|
+
`but the consumer lock has ${target.name} ${target.bundleVersion} (range not satisfied).`);
|
|
363
|
+
}
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Semver range satisfaction. Supports caret (^), tilde (~), >= and
|
|
368
|
+
* exact-pin (no prefix). Versions may carry a leading 'v'.
|
|
369
|
+
*
|
|
370
|
+
* Pre-1.0 caret narrows to the same minor: ^v0.1.x matches only 0.1.y
|
|
371
|
+
* (per npm convention). ^v1.2.x matches 1.x.y >= 1.2.x.
|
|
372
|
+
*/
|
|
373
|
+
export function rangeSatisfies(version, range) {
|
|
374
|
+
const stripV = (s) => s.replace(/^v/, "");
|
|
375
|
+
const parse = (s) => parseSimpleSemver(stripV(s));
|
|
376
|
+
let prefix = "=";
|
|
377
|
+
let body = range;
|
|
378
|
+
if (range.startsWith("^")) {
|
|
379
|
+
prefix = "^";
|
|
380
|
+
body = range.slice(1);
|
|
381
|
+
}
|
|
382
|
+
else if (range.startsWith("~")) {
|
|
383
|
+
prefix = "~";
|
|
384
|
+
body = range.slice(1);
|
|
385
|
+
}
|
|
386
|
+
else if (range.startsWith(">=")) {
|
|
387
|
+
prefix = ">=";
|
|
388
|
+
body = range.slice(2);
|
|
389
|
+
}
|
|
390
|
+
const v = parse(version);
|
|
391
|
+
const r = parse(body);
|
|
392
|
+
if (v === null || r === null)
|
|
393
|
+
return false;
|
|
394
|
+
switch (prefix) {
|
|
395
|
+
case "=":
|
|
396
|
+
return v.major === r.major && v.minor === r.minor && v.patch === r.patch;
|
|
397
|
+
case ">=":
|
|
398
|
+
return versionAtLeast(stripV(version), stripV(body));
|
|
399
|
+
case "~":
|
|
400
|
+
// Same major.minor, patch >= r.patch
|
|
401
|
+
return v.major === r.major && v.minor === r.minor && v.patch >= r.patch;
|
|
402
|
+
case "^":
|
|
403
|
+
// Pre-1.0: same major.minor (narrow caret)
|
|
404
|
+
if (r.major === 0) {
|
|
405
|
+
return v.major === 0 && v.minor === r.minor && v.patch >= r.patch;
|
|
406
|
+
}
|
|
407
|
+
// Stable: same major, version >= range
|
|
408
|
+
return v.major === r.major && versionAtLeast(stripV(version), stripV(body));
|
|
409
|
+
}
|
|
410
|
+
}
|
|
251
411
|
function versionAtLeast(installed, minimum) {
|
|
252
412
|
const i = parseSimpleSemver(installed);
|
|
253
413
|
const m = parseSimpleSemver(minimum);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function isAdrPath(managedPath: string): boolean;
|
|
2
|
+
export declare function ensureSourceTag(content: string, tag: string): string;
|
|
3
|
+
export declare function stripSourceTag(content: string): string;
|
|
4
|
+
export declare function contentForCompare(managedPath: string, content: string): string;
|
|
5
|
+
//# sourceMappingURL=source-tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-tag.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/source-tag.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAKtD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBpE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CAER"}
|