@microwiseai/snapshot 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +1 -0
- package/dist/commands/access.d.ts +25 -9
- package/dist/commands/access.d.ts.map +1 -1
- package/dist/commands/access.js +101 -47
- package/dist/commands/access.js.map +1 -1
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +37 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/install.d.ts +54 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +494 -145
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/publish.d.ts +10 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +94 -12
- package/dist/commands/publish.js.map +1 -1
- package/dist/index.js +45 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/access-index.d.ts +81 -0
- package/dist/lib/access-index.d.ts.map +1 -0
- package/dist/lib/access-index.js +175 -0
- package/dist/lib/access-index.js.map +1 -0
- package/dist/lib/access-sync.d.ts +66 -17
- package/dist/lib/access-sync.d.ts.map +1 -1
- package/dist/lib/access-sync.js +391 -217
- package/dist/lib/access-sync.js.map +1 -1
- package/dist/lib/extends-access.d.ts +34 -0
- package/dist/lib/extends-access.d.ts.map +1 -0
- package/dist/lib/extends-access.js +82 -0
- package/dist/lib/extends-access.js.map +1 -0
- package/dist/lib/gitlab-publisher.d.ts +70 -0
- package/dist/lib/gitlab-publisher.d.ts.map +1 -0
- package/dist/lib/gitlab-publisher.js +165 -0
- package/dist/lib/gitlab-publisher.js.map +1 -0
- package/dist/lib/gitlab.d.ts +4 -0
- package/dist/lib/gitlab.d.ts.map +1 -1
- package/dist/lib/gitlab.js +1 -1
- package/dist/lib/gitlab.js.map +1 -1
- package/dist/lib/grant.d.ts +157 -0
- package/dist/lib/grant.d.ts.map +1 -0
- package/dist/lib/grant.js +352 -0
- package/dist/lib/grant.js.map +1 -0
- package/dist/lib/install-verify.d.ts +16 -2
- package/dist/lib/install-verify.d.ts.map +1 -1
- package/dist/lib/install-verify.js +24 -3
- package/dist/lib/install-verify.js.map +1 -1
- package/dist/lib/ledger.d.ts +13 -0
- package/dist/lib/ledger.d.ts.map +1 -1
- package/dist/lib/ledger.js.map +1 -1
- package/dist/lib/prerequisites.d.ts.map +1 -1
- package/dist/lib/prerequisites.js +4 -1
- package/dist/lib/prerequisites.js.map +1 -1
- package/dist/lib/proxy-auth-globalconfig.d.ts +55 -0
- package/dist/lib/proxy-auth-globalconfig.d.ts.map +1 -0
- package/dist/lib/proxy-auth-globalconfig.js +110 -0
- package/dist/lib/proxy-auth-globalconfig.js.map +1 -0
- package/dist/lib/proxy-userconfig.d.ts +45 -0
- package/dist/lib/proxy-userconfig.d.ts.map +1 -0
- package/dist/lib/proxy-userconfig.js +94 -0
- package/dist/lib/proxy-userconfig.js.map +1 -0
- package/dist/lib/semver-range.d.ts +32 -0
- package/dist/lib/semver-range.d.ts.map +1 -0
- package/dist/lib/semver-range.js +243 -0
- package/dist/lib/semver-range.js.map +1 -0
- package/dist/lib/session.d.ts +5 -0
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +9 -0
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/skit-adapter.d.ts.map +1 -1
- package/dist/lib/skit-adapter.js +26 -3
- package/dist/lib/skit-adapter.js.map +1 -1
- package/dist/lib/timing.d.ts +7 -0
- package/dist/lib/timing.d.ts.map +1 -0
- package/dist/lib/timing.js +14 -0
- package/dist/lib/timing.js.map +1 -0
- package/dist/lib/types.d.ts +3 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/command-specs.d.ts +25 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/command-specs.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/command-specs.js +55 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/command-specs.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/config.d.ts +52 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/config.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/config.js +62 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/config.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/detect.d.ts +30 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/detect.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/detect.js +39 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/detect.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/index.d.ts +35 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/index.js +31 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/policy.d.ts +42 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/policy.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/policy.js +36 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/policy.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/report.d.ts +11 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/report.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/report.js +46 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/report.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/semver.d.ts +11 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/semver.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/semver.js +81 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/semver.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/types.d.ts +29 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/types.d.ts.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/types.js +6 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/dist/types.js.map +1 -0
- package/node_modules/@microwiseai/snapshot-downgrade-guard/package.json +55 -0
- package/package.json +5 -2
- package/dist/lib/transitive-resolver.d.ts +0 -89
- package/dist/lib/transitive-resolver.d.ts.map +0 -1
- package/dist/lib/transitive-resolver.js +0 -447
- package/dist/lib/transitive-resolver.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -7,9 +7,10 @@ import { listCommand } from './commands/list.js';
|
|
|
7
7
|
import { currentCommand } from './commands/current.js';
|
|
8
8
|
import { publishCommand } from './commands/publish.js';
|
|
9
9
|
import { licenseActivateCommand, licenseStatusCommand, licenseDeactivateCommand, licenseRefreshCommand, } from './commands/license.js';
|
|
10
|
-
import { accessSyncCommand } from './commands/access.js';
|
|
10
|
+
import { accessSyncCommand, accessIndexCommand } from './commands/access.js';
|
|
11
11
|
import { doctorCommand } from './commands/doctor.js';
|
|
12
12
|
import { setupCommand } from './commands/setup.js';
|
|
13
|
+
import { configGetCommand, configSetCommand } from './commands/config.js';
|
|
13
14
|
import { reportImport } from '@microwiseai/import-telemetry';
|
|
14
15
|
import { VENDOR_NAME, PACKAGE_NAME } from './lib/config.js';
|
|
15
16
|
const require = createRequire(import.meta.url);
|
|
@@ -46,7 +47,10 @@ const program = new Command();
|
|
|
46
47
|
program
|
|
47
48
|
.name('snapshot')
|
|
48
49
|
.description('IST Snapshot Installer - Install packages from GitLab snapshot repos')
|
|
49
|
-
.version(pkg.version)
|
|
50
|
+
.version(pkg.version)
|
|
51
|
+
// Root options (only --version) are recognized before the subcommand only, so
|
|
52
|
+
// `access-index --version <v>` reaches the subcommand.
|
|
53
|
+
.enablePositionalOptions();
|
|
50
54
|
program
|
|
51
55
|
.command('install <name>')
|
|
52
56
|
.description('Install packages from a snapshot (e.g., @scope/name)')
|
|
@@ -55,6 +59,7 @@ program
|
|
|
55
59
|
.option('-y, --yes', 'With --replace, skip the removal confirmation prompt')
|
|
56
60
|
.option('--no-converge', 'Raw/fast install: skip post-install convergence — only verify, and fail-loud on any divergence (convergence is ON by default)')
|
|
57
61
|
.option('--pin <spec...>', 'Override a package version without re-publishing, e.g. --pin @ist/sesh@0.4.0 (repeatable)')
|
|
62
|
+
.option('--allow-downgrade', 'Proceed even if the snapshot would downgrade already-installed global packages (one-shot; same as SNAPSHOT_ALLOW_LOCAL=1)')
|
|
58
63
|
.action(async (name, options) => {
|
|
59
64
|
await installCommand(name, options);
|
|
60
65
|
});
|
|
@@ -81,7 +86,9 @@ program
|
|
|
81
86
|
.option('-b, --bump <type>', 'Bump version (patch, minor, major)')
|
|
82
87
|
.option('-d, --dry-run', 'Show what would be published without publishing')
|
|
83
88
|
.option('-v, --verbose', 'Show detailed output')
|
|
84
|
-
.option('--skip-access-sync', '
|
|
89
|
+
.option('--skip-access-sync', '(deprecated, no-op) license-api access sync was retired')
|
|
90
|
+
.option('--allow-partial', 'With --dry-run only: generate the access-index even if the closure has gaps')
|
|
91
|
+
.option('--index-out <path>', 'With --dry-run, write access-index.json here (default: temp dir)')
|
|
85
92
|
.action(async (options) => {
|
|
86
93
|
await publishCommand(options);
|
|
87
94
|
});
|
|
@@ -89,14 +96,28 @@ program
|
|
|
89
96
|
const accessCmd = program
|
|
90
97
|
.command('access')
|
|
91
98
|
.description('Package access management');
|
|
99
|
+
// Retired (2026-09-28, snapshot-tier-access): no license-api writes. Kept so
|
|
100
|
+
// the command fails loudly with the contract reference instead of "unknown".
|
|
92
101
|
accessCmd
|
|
93
102
|
.command('sync [path]')
|
|
94
|
-
.description('
|
|
95
|
-
.
|
|
103
|
+
.description('(retired) license-api access sync — use access-index instead')
|
|
104
|
+
.allowUnknownOption()
|
|
105
|
+
.action(async () => {
|
|
106
|
+
await accessSyncCommand();
|
|
107
|
+
});
|
|
108
|
+
const collect = (value, prev = []) => [...prev, value];
|
|
109
|
+
program
|
|
110
|
+
.command('access-index <snapshot>')
|
|
111
|
+
.description('Backfill access-index.json for published snapshot versions (reads snapshot.json from the registry; never re-publishes the tarball)')
|
|
112
|
+
.option('--version <v>', 'Published version (repeatable)', collect)
|
|
113
|
+
.option('--all', 'All published versions of the snapshot')
|
|
114
|
+
.option('--force', 'Re-upload even if access-index.json already exists')
|
|
115
|
+
.option('-d, --dry-run', 'Generate files only (no upload)')
|
|
116
|
+
.option('--out <dir>', 'With --dry-run, write files into this directory')
|
|
117
|
+
.option('--allow-partial', 'With --dry-run only: generate even if the closure has gaps (never uploaded)')
|
|
96
118
|
.option('-v, --verbose', 'Show detailed output')
|
|
97
|
-
.
|
|
98
|
-
|
|
99
|
-
await accessSyncCommand(path, options);
|
|
119
|
+
.action(async (snapshot, options) => {
|
|
120
|
+
await accessIndexCommand(snapshot, options);
|
|
100
121
|
});
|
|
101
122
|
// License management commands
|
|
102
123
|
const licenseCmd = program
|
|
@@ -126,6 +147,22 @@ licenseCmd
|
|
|
126
147
|
.action(async () => {
|
|
127
148
|
await licenseRefreshCommand();
|
|
128
149
|
});
|
|
150
|
+
// Machine-level config (thin wrapper over @microwiseai/snapshot-downgrade-guard)
|
|
151
|
+
const configCmd = program
|
|
152
|
+
.command('config')
|
|
153
|
+
.description('Machine-level snapshot config (~/.config/ist-snapshot/config.json)');
|
|
154
|
+
configCmd
|
|
155
|
+
.command('get [key]')
|
|
156
|
+
.description('Get a config value (default: show install.onDowngrade)')
|
|
157
|
+
.action(async (key) => {
|
|
158
|
+
await configGetCommand(key);
|
|
159
|
+
});
|
|
160
|
+
configCmd
|
|
161
|
+
.command('set <key> <value>')
|
|
162
|
+
.description('Set a config value, e.g. install.onDowngrade refuse|warn|allow')
|
|
163
|
+
.action(async (key, value) => {
|
|
164
|
+
await configSetCommand(key, value);
|
|
165
|
+
});
|
|
129
166
|
program
|
|
130
167
|
.command('doctor')
|
|
131
168
|
.description('Check if all prerequisites are satisfied')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,2DAA2D;AAC3D,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,0EAA0E;AAC1E,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,gCAAgC;IACrE,MAAM,GAAG,GAAG,CAAC,GAAG,KAAe,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,CAAO,sBAAsB;IACtE,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,CAAC,qBAAqB;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC;QACX,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,YAAY;QACzB,cAAc,EAAE,GAAG,CAAC,OAAO;QAC3B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iDAAiD;KACzF,CAAC,CAAC;AACL,CAAC;AACD,2DAA2D;AAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,sEAAsE,CAAC;KACnF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACrB,8EAA8E;IAC9E,uDAAuD;KACtD,uBAAuB,EAAE,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,kHAAkH,CAAC;KACvI,MAAM,CAAC,eAAe,EAAE,sEAAsE,CAAC;KAC/F,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,eAAe,EAAE,+HAA+H,CAAC;KACxJ,MAAM,CAAC,iBAAiB,EAAE,2FAA2F,CAAC;KACtH,MAAM,CAAC,mBAAmB,EAAE,2HAA2H,CAAC;KACxJ,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA6H,EAAE,EAAE;IAC5J,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEL,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,sDAAsD;AACtD,OAAO;KACJ,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACjC,WAAW,CAAC,0EAA0E,CAAC;KACvF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,0EAA0E,CAAC;KAC5F,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;IAC5C,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;KACjE,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,yDAAyD,CAAC;KACvF,MAAM,CAAC,iBAAiB,EAAE,6EAA6E,CAAC;KACxG,MAAM,CAAC,oBAAoB,EAAE,kEAAkE,CAAC;KAChG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,6BAA6B;AAC7B,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAE5C,6EAA6E;AAC7E,6EAA6E;AAC7E,SAAS;KACN,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,kBAAkB,EAAE;KACpB,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAiB,EAAE,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;AAEnF,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,oIAAoI,CAAC;KACjJ,MAAM,CAAC,eAAe,EAAE,gCAAgC,EAAE,OAAO,CAAC;KAClE,MAAM,CAAC,OAAO,EAAE,wCAAwC,CAAC;KACzD,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC;KACvE,MAAM,CAAC,eAAe,EAAE,iCAAiC,CAAC;KAC1D,MAAM,CAAC,aAAa,EAAE,iDAAiD,CAAC;KACxE,MAAM,CAAC,iBAAiB,EAAE,6EAA6E,CAAC;KACxG,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,8BAA8B;AAC9B,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAErC,UAAU;KACP,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;IAC5B,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,qBAAqB,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oEAAoE,CAAC,CAAC;AAErF,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,GAAuB,EAAE,EAAE;IACxC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;IAC3C,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,0BAA0B;AAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;CAI7B,CAAC,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* access-index.json — per-version serving manifest for registry-proxy.
|
|
3
|
+
*
|
|
4
|
+
* Contract (global state `snapshot-tier-access`, 2026-09-28 revision):
|
|
5
|
+
* snapshot.json `access` (authoring SSOT) → `snapshot publish` writes the
|
|
6
|
+
* install-set transitive closure (npmjs origin excluded) as access-index.json
|
|
7
|
+
* into the SAME generic package version (serving SSOT) → registry-proxy
|
|
8
|
+
* rebuilds its index from every published version of supported snapshots.
|
|
9
|
+
*
|
|
10
|
+
* Schema 1:
|
|
11
|
+
* { schema: 1, snapshot, version, access: "public" | "licensed",
|
|
12
|
+
* productId (required when licensed, else null),
|
|
13
|
+
* generatedBy: "@microwiseai/snapshot@<ver> <git sha>",
|
|
14
|
+
* closureSource: "gitlab" | "proxy" (additive, schema-1 compatible),
|
|
15
|
+
* packages: [{ name, versions: [exact…], kind: "npm" | "generic" }] }
|
|
16
|
+
* generic names use the proxy path form (`ist__qa-kit`). Output is sorted
|
|
17
|
+
* (packages by kind+name, versions ascending) so it is deterministic.
|
|
18
|
+
*
|
|
19
|
+
* Partial closures (unresolved / untraversed / skipped kits / unmatched) are
|
|
20
|
+
* refused by default — a partial index must not be published. `allowPartial`
|
|
21
|
+
* is the only escape hatch.
|
|
22
|
+
*/
|
|
23
|
+
import type { Snapshot } from './types.js';
|
|
24
|
+
import { type ClosureSource, type InstallClosure } from './access-sync.js';
|
|
25
|
+
export { ACCESS_INDEX_FILE } from './gitlab-publisher.js';
|
|
26
|
+
export { downloadAccessIndex, findGenericPackageVersion, listGenericPackageVersions, listPackageFiles, resolveGenericProjectId, uploadAccessIndex, type GenericPackageVersion, type GenericTarget, } from './gitlab-publisher.js';
|
|
27
|
+
export declare const ACCESS_INDEX_SCHEMA = 1;
|
|
28
|
+
export interface AccessIndexPackage {
|
|
29
|
+
name: string;
|
|
30
|
+
versions: string[];
|
|
31
|
+
kind: 'npm' | 'generic';
|
|
32
|
+
}
|
|
33
|
+
export interface AccessIndex {
|
|
34
|
+
schema: 1;
|
|
35
|
+
snapshot: string;
|
|
36
|
+
version: string;
|
|
37
|
+
access: 'public' | 'licensed';
|
|
38
|
+
productId: string | null;
|
|
39
|
+
generatedBy: string;
|
|
40
|
+
/** Where the closure walk read packuments/kits (additive field). */
|
|
41
|
+
closureSource: ClosureSource;
|
|
42
|
+
packages: AccessIndexPackage[];
|
|
43
|
+
}
|
|
44
|
+
/** Closure gaps that make an index partial. */
|
|
45
|
+
export declare function closureGaps(closure: InstallClosure): string[];
|
|
46
|
+
export declare class PartialClosureError extends Error {
|
|
47
|
+
readonly snapshotSpec: string;
|
|
48
|
+
readonly gaps: string[];
|
|
49
|
+
constructor(snapshotSpec: string, gaps: string[]);
|
|
50
|
+
}
|
|
51
|
+
/** Map snapshot.json `access` to the schema-1 access/productId pair (fail-loud). */
|
|
52
|
+
export declare function indexAccess(snapshot: Snapshot): {
|
|
53
|
+
access: 'public' | 'licensed';
|
|
54
|
+
productId: string | null;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Pure builder: closure → schema-1 index. The snapshot's own generic package
|
|
58
|
+
* (e.g. `ist__beta@<version>`) is included so the proxy can serve the snapshot
|
|
59
|
+
* artifact itself under the same rule as its members.
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildAccessIndex(snapshot: Snapshot, closure: InstallClosure, generatedBy: string, closureSource?: ClosureSource): AccessIndex;
|
|
62
|
+
/** Stable serialization (2-space JSON + trailing newline). */
|
|
63
|
+
export declare function serializeAccessIndex(index: AccessIndex): string;
|
|
64
|
+
/** "@microwiseai/snapshot@<ver> <git sha>" of the running CLI. */
|
|
65
|
+
export declare function generatedByString(): string;
|
|
66
|
+
export interface GenerateResult {
|
|
67
|
+
index: AccessIndex;
|
|
68
|
+
closure: InstallClosure;
|
|
69
|
+
gaps: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Walk the closure and build the index. Throws PartialClosureError on gaps
|
|
73
|
+
* unless `allowPartial` (gaps are then returned for the caller to warn about).
|
|
74
|
+
*/
|
|
75
|
+
export declare function generateAccessIndex(snapshot: Snapshot, options?: {
|
|
76
|
+
allowPartial?: boolean;
|
|
77
|
+
verbose?: boolean;
|
|
78
|
+
generatedBy?: string;
|
|
79
|
+
source?: ClosureSource;
|
|
80
|
+
}): Promise<GenerateResult>;
|
|
81
|
+
//# sourceMappingURL=access-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-index.d.ts","sourceRoot":"","sources":["../../src/lib/access-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAA0C,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE,CAM7D;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE;gBADd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE;CAQ1B;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAa3G;AAWD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,aAAwB,GACtC,WAAW,CA6Bb;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D;AAID,kEAAkE;AAClE,wBAAgB,iBAAiB,IAAI,MAAM,CAwC1C;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAO,GACxG,OAAO,CAAC,cAAc,CAAC,CAWzB"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* access-index.json — per-version serving manifest for registry-proxy.
|
|
3
|
+
*
|
|
4
|
+
* Contract (global state `snapshot-tier-access`, 2026-09-28 revision):
|
|
5
|
+
* snapshot.json `access` (authoring SSOT) → `snapshot publish` writes the
|
|
6
|
+
* install-set transitive closure (npmjs origin excluded) as access-index.json
|
|
7
|
+
* into the SAME generic package version (serving SSOT) → registry-proxy
|
|
8
|
+
* rebuilds its index from every published version of supported snapshots.
|
|
9
|
+
*
|
|
10
|
+
* Schema 1:
|
|
11
|
+
* { schema: 1, snapshot, version, access: "public" | "licensed",
|
|
12
|
+
* productId (required when licensed, else null),
|
|
13
|
+
* generatedBy: "@microwiseai/snapshot@<ver> <git sha>",
|
|
14
|
+
* closureSource: "gitlab" | "proxy" (additive, schema-1 compatible),
|
|
15
|
+
* packages: [{ name, versions: [exact…], kind: "npm" | "generic" }] }
|
|
16
|
+
* generic names use the proxy path form (`ist__qa-kit`). Output is sorted
|
|
17
|
+
* (packages by kind+name, versions ascending) so it is deterministic.
|
|
18
|
+
*
|
|
19
|
+
* Partial closures (unresolved / untraversed / skipped kits / unmatched) are
|
|
20
|
+
* refused by default — a partial index must not be published. `allowPartial`
|
|
21
|
+
* is the only escape hatch.
|
|
22
|
+
*/
|
|
23
|
+
import { execFileSync } from 'node:child_process';
|
|
24
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
25
|
+
import { dirname, join } from 'node:path';
|
|
26
|
+
import { fileURLToPath } from 'node:url';
|
|
27
|
+
import { createRequire } from 'node:module';
|
|
28
|
+
import { resolveInstallClosure, kitRegistryName } from './access-sync.js';
|
|
29
|
+
import { compareVersions, parseVersion } from './semver-range.js';
|
|
30
|
+
export { ACCESS_INDEX_FILE } from './gitlab-publisher.js';
|
|
31
|
+
export { downloadAccessIndex, findGenericPackageVersion, listGenericPackageVersions, listPackageFiles, resolveGenericProjectId, uploadAccessIndex, } from './gitlab-publisher.js';
|
|
32
|
+
export const ACCESS_INDEX_SCHEMA = 1;
|
|
33
|
+
/** Closure gaps that make an index partial. */
|
|
34
|
+
export function closureGaps(closure) {
|
|
35
|
+
return [
|
|
36
|
+
...closure.unresolved.map((g) => `unresolved: ${g}`),
|
|
37
|
+
...closure.untraversed.map((g) => `untraversed: ${g}`),
|
|
38
|
+
...closure.skippedKits.map((g) => `kit not read: ${g}`),
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
export class PartialClosureError extends Error {
|
|
42
|
+
snapshotSpec;
|
|
43
|
+
gaps;
|
|
44
|
+
constructor(snapshotSpec, gaps) {
|
|
45
|
+
super(`access-index for ${snapshotSpec} would be partial (${gaps.length} gap(s)); refusing to publish it. ` +
|
|
46
|
+
'Fix the gaps or pass --allow-partial.\n - ' + gaps.join('\n - '));
|
|
47
|
+
this.snapshotSpec = snapshotSpec;
|
|
48
|
+
this.gaps = gaps;
|
|
49
|
+
this.name = 'PartialClosureError';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Map snapshot.json `access` to the schema-1 access/productId pair (fail-loud). */
|
|
53
|
+
export function indexAccess(snapshot) {
|
|
54
|
+
const a = snapshot.access;
|
|
55
|
+
if (a === 'public')
|
|
56
|
+
return { access: 'public', productId: null };
|
|
57
|
+
if (a && typeof a === 'object' && a.type === 'licensed') {
|
|
58
|
+
if (!a.productId || typeof a.productId !== 'string') {
|
|
59
|
+
throw new Error(`${snapshot.name}@${snapshot.version}: access is licensed but productId is missing`);
|
|
60
|
+
}
|
|
61
|
+
return { access: 'licensed', productId: a.productId };
|
|
62
|
+
}
|
|
63
|
+
throw new Error(`${snapshot.name}@${snapshot.version}: access-index schema 1 needs snapshot.json "access" = "public" ` +
|
|
64
|
+
`or { "type": "licensed", "productId": "…" } (got ${JSON.stringify(a ?? null)})`);
|
|
65
|
+
}
|
|
66
|
+
function sortVersions(versions) {
|
|
67
|
+
return [...new Set(versions)].sort((a, b) => {
|
|
68
|
+
const pa = parseVersion(a);
|
|
69
|
+
const pb = parseVersion(b);
|
|
70
|
+
if (pa && pb)
|
|
71
|
+
return compareVersions(pa, pb);
|
|
72
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Pure builder: closure → schema-1 index. The snapshot's own generic package
|
|
77
|
+
* (e.g. `ist__beta@<version>`) is included so the proxy can serve the snapshot
|
|
78
|
+
* artifact itself under the same rule as its members.
|
|
79
|
+
*/
|
|
80
|
+
export function buildAccessIndex(snapshot, closure, generatedBy, closureSource = 'gitlab') {
|
|
81
|
+
const { access, productId } = indexAccess(snapshot);
|
|
82
|
+
const merged = new Map();
|
|
83
|
+
const add = (kind, name, versions) => {
|
|
84
|
+
const key = `${kind}:${name}`;
|
|
85
|
+
const e = merged.get(key) ?? { name, kind, versions: [] };
|
|
86
|
+
e.versions.push(...versions);
|
|
87
|
+
merged.set(key, e);
|
|
88
|
+
};
|
|
89
|
+
for (const r of closure.resolved) {
|
|
90
|
+
add(r.kind, r.kind === 'generic' ? kitRegistryName(r.name) : r.name, r.versions);
|
|
91
|
+
}
|
|
92
|
+
add('generic', kitRegistryName(snapshot.name), [snapshot.version]);
|
|
93
|
+
const packages = [...merged.values()]
|
|
94
|
+
.filter((p) => p.versions.length > 0)
|
|
95
|
+
.map((p) => ({ name: p.name, versions: sortVersions(p.versions), kind: p.kind }))
|
|
96
|
+
.sort((a, b) => (a.kind === b.kind ? (a.name < b.name ? -1 : a.name > b.name ? 1 : 0) : a.kind < b.kind ? 1 : -1));
|
|
97
|
+
return {
|
|
98
|
+
schema: ACCESS_INDEX_SCHEMA,
|
|
99
|
+
snapshot: snapshot.name,
|
|
100
|
+
version: snapshot.version,
|
|
101
|
+
access,
|
|
102
|
+
productId,
|
|
103
|
+
generatedBy,
|
|
104
|
+
closureSource,
|
|
105
|
+
packages,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** Stable serialization (2-space JSON + trailing newline). */
|
|
109
|
+
export function serializeAccessIndex(index) {
|
|
110
|
+
return JSON.stringify(index, null, 2) + '\n';
|
|
111
|
+
}
|
|
112
|
+
let cachedGeneratedBy;
|
|
113
|
+
/** "@microwiseai/snapshot@<ver> <git sha>" of the running CLI. */
|
|
114
|
+
export function generatedByString() {
|
|
115
|
+
if (cachedGeneratedBy)
|
|
116
|
+
return cachedGeneratedBy;
|
|
117
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
118
|
+
const require = createRequire(import.meta.url);
|
|
119
|
+
let name = '@microwiseai/snapshot';
|
|
120
|
+
let version = '0.0.0';
|
|
121
|
+
let pkgRoot = join(here, '..', '..');
|
|
122
|
+
try {
|
|
123
|
+
const pkgPath = require.resolve('../../package.json');
|
|
124
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
125
|
+
name = pkg.name ?? name;
|
|
126
|
+
version = pkg.version ?? version;
|
|
127
|
+
pkgRoot = dirname(pkgPath);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// keep defaults
|
|
131
|
+
}
|
|
132
|
+
let sha = process.env.SNAPSHOT_BUILD_SHA || '';
|
|
133
|
+
if (!sha) {
|
|
134
|
+
// dist/build-info.json is written at build time (scripts/write-build-info.mjs).
|
|
135
|
+
const info = join(pkgRoot, 'dist', 'build-info.json');
|
|
136
|
+
if (existsSync(info)) {
|
|
137
|
+
try {
|
|
138
|
+
sha = JSON.parse(readFileSync(info, 'utf-8')).gitSha ?? '';
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// fall through
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (!sha) {
|
|
146
|
+
try {
|
|
147
|
+
sha = execFileSync('git', ['rev-parse', '--short=12', 'HEAD'], {
|
|
148
|
+
cwd: pkgRoot,
|
|
149
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
150
|
+
}).toString().trim();
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
sha = 'unknown';
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
cachedGeneratedBy = `${name}@${version} ${sha}`;
|
|
157
|
+
return cachedGeneratedBy;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Walk the closure and build the index. Throws PartialClosureError on gaps
|
|
161
|
+
* unless `allowPartial` (gaps are then returned for the caller to warn about).
|
|
162
|
+
*/
|
|
163
|
+
export async function generateAccessIndex(snapshot, options = {}) {
|
|
164
|
+
indexAccess(snapshot); // fail fast before any network walk
|
|
165
|
+
// Publisher-side read from GitLab by default (decision 2026-09-28 (A)).
|
|
166
|
+
const source = options.source ?? 'gitlab';
|
|
167
|
+
const closure = await resolveInstallClosure(snapshot, { transitive: true, verbose: options.verbose, source });
|
|
168
|
+
const gaps = closureGaps(closure);
|
|
169
|
+
if (gaps.length > 0 && !options.allowPartial) {
|
|
170
|
+
throw new PartialClosureError(`${snapshot.name}@${snapshot.version}`, gaps);
|
|
171
|
+
}
|
|
172
|
+
const index = buildAccessIndex(snapshot, closure, options.generatedBy ?? generatedByString(), source);
|
|
173
|
+
return { index, closure, gaps };
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=access-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-index.js","sourceRoot":"","sources":["../../src/lib/access-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,75 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Install-set closure resolver (formerly "access sync").
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Walks a snapshot's install-set dependency closure through the registry-proxy.
|
|
5
|
+
* The result feeds access-index.json (see ./access-index.ts), the serving SSOT
|
|
6
|
+
* that registry-proxy reads to grant snapshot members.
|
|
7
|
+
*
|
|
8
|
+
* The former license-api write path (POST /admin/package-access/with-deps,
|
|
9
|
+
* LICENSE_API_ADMIN_KEY) was retired by the 2026-09-28 owner decision
|
|
10
|
+
* (global state `snapshot-tier-access`, `owner-decision-2026-09-28-proxy-snapshot-driven`):
|
|
11
|
+
* "license-api package_access 에 snapshot 의존 패키지를 등록하지 않음(access-sync 의
|
|
12
|
+
* license-api 쓰기 경로 폐기)". Nothing in this module writes anywhere.
|
|
6
13
|
*/
|
|
7
14
|
import type { Snapshot } from './types.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Where the closure walk reads packuments / kit tarballs from.
|
|
17
|
+
* - 'proxy' (default): registry-proxy with the user's session/license token.
|
|
18
|
+
* - 'gitlab': GitLab directly with the publisher's glpkg token. Used by
|
|
19
|
+
* publish/backfill only (snapshot-mgr decision 2026-09-28 (A)): the proxy
|
|
20
|
+
* grants from access-index.json, so reading the closure through it is
|
|
21
|
+
* circular. GitLab 3xx/404 on a packument = npmjs origin (excluded).
|
|
22
|
+
*/
|
|
23
|
+
export type ClosureSource = 'proxy' | 'gitlab';
|
|
24
|
+
/** Result of the install-set closure walk. @internal Exported for testing */
|
|
25
|
+
export interface InstallClosure {
|
|
26
|
+
/** Package names to register (discovery order, deduped). */
|
|
27
|
+
packages: string[];
|
|
28
|
+
/** Transitive deps judged public npmjs — not registered, not descended. */
|
|
29
|
+
npmjsExcluded: string[];
|
|
30
|
+
/** Kits whose skit.json could not be read. */
|
|
31
|
+
skippedKits: string[];
|
|
32
|
+
/** Our packages whose deps could not be read (name@version (reason)). */
|
|
33
|
+
untraversed: string[];
|
|
34
|
+
/** Transitive deps that could not be classified (not registered). */
|
|
35
|
+
unresolved: string[];
|
|
36
|
+
/**
|
|
37
|
+
* Exact versions the walk resolved, per package (npmjs-origin excluded).
|
|
38
|
+
* Kits are `kind: 'generic'` and keep their `@scope/name` here; the index
|
|
39
|
+
* builder converts them to the proxy generic path form (ist__qa-kit).
|
|
40
|
+
*/
|
|
41
|
+
resolved: ResolvedPackage[];
|
|
42
|
+
}
|
|
43
|
+
/** One package of the closure with every exact version the walk resolved. */
|
|
44
|
+
export interface ResolvedPackage {
|
|
45
|
+
name: string;
|
|
46
|
+
kind: 'npm' | 'generic';
|
|
47
|
+
versions: string[];
|
|
13
48
|
}
|
|
14
49
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
18
|
-
|
|
50
|
+
* Resolve a spec against a version list: dist-tag → exact → highest version
|
|
51
|
+
* satisfying the range (prerelease allowed only for prerelease pins).
|
|
52
|
+
* @internal Exported for testing
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveSpecVersion(versions: string[], distTags: Record<string, string>, spec: string): string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Pick the npm deps (name → spec) a kit's skit.json declares under
|
|
57
|
+
* `dependencies.npm`. Entries marked `source: "npm"` come from public npmjs
|
|
58
|
+
* and are excluded. Object entries use their `version` field.
|
|
59
|
+
* @internal Exported for testing
|
|
60
|
+
*/
|
|
61
|
+
export declare function kitNpmDeps(skitJson: unknown): Array<[string, string]>;
|
|
62
|
+
/** @internal Exported for testing */
|
|
63
|
+
export declare function kitNpmDepNames(skitJson: unknown): string[];
|
|
64
|
+
/** `@ist/qa-kit` → `ist__qa-kit` (registry-proxy generic path form). */
|
|
65
|
+
export declare function kitRegistryName(kit: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Walk the install-set dependency closure once.
|
|
68
|
+
* @internal Exported for testing
|
|
19
69
|
*/
|
|
20
|
-
export declare function
|
|
70
|
+
export declare function resolveInstallClosure(snapshot: Snapshot, options?: {
|
|
71
|
+
transitive?: boolean;
|
|
21
72
|
verbose?: boolean;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}): Promise<SyncResult>;
|
|
25
|
-
export {};
|
|
73
|
+
source?: ClosureSource;
|
|
74
|
+
}): Promise<InstallClosure>;
|
|
26
75
|
//# sourceMappingURL=access-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-sync.d.ts","sourceRoot":"","sources":["../../src/lib/access-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"access-sync.d.ts","sourceRoot":"","sources":["../../src/lib/access-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAsD/C,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgCD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAIf;AAyDD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAerE;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAE1D;AA4RD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAO,GAChF,OAAO,CAAC,cAAc,CAAC,CAQzB"}
|