@microwiseai/snapshot 0.5.2 → 0.6.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.
Files changed (134) hide show
  1. package/dist/commands/doctor.d.ts +2 -0
  2. package/dist/commands/doctor.d.ts.map +1 -0
  3. package/dist/commands/doctor.js +37 -0
  4. package/dist/commands/doctor.js.map +1 -0
  5. package/dist/commands/install.d.ts.map +1 -1
  6. package/dist/commands/install.js +68 -206
  7. package/dist/commands/install.js.map +1 -1
  8. package/dist/commands/publish.d.ts +0 -4
  9. package/dist/commands/publish.d.ts.map +1 -1
  10. package/dist/commands/publish.js +1 -35
  11. package/dist/commands/publish.js.map +1 -1
  12. package/dist/commands/setup.d.ts +5 -0
  13. package/dist/commands/setup.d.ts.map +1 -0
  14. package/dist/commands/setup.js +52 -0
  15. package/dist/commands/setup.js.map +1 -0
  16. package/dist/index.js +18 -27
  17. package/dist/index.js.map +1 -1
  18. package/dist/lib/config.js +1 -1
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/gitlab.d.ts.map +1 -1
  21. package/dist/lib/gitlab.js +8 -6
  22. package/dist/lib/gitlab.js.map +1 -1
  23. package/dist/lib/prerequisites.d.ts +33 -0
  24. package/dist/lib/prerequisites.d.ts.map +1 -0
  25. package/dist/lib/prerequisites.js +123 -0
  26. package/dist/lib/prerequisites.js.map +1 -0
  27. package/dist/lib/transitive-resolver.d.ts +0 -121
  28. package/dist/lib/transitive-resolver.d.ts.map +1 -1
  29. package/dist/lib/transitive-resolver.js +0 -190
  30. package/dist/lib/transitive-resolver.js.map +1 -1
  31. package/package.json +3 -20
  32. package/dist/commands/clone-all.d.ts +0 -21
  33. package/dist/commands/clone-all.d.ts.map +0 -1
  34. package/dist/commands/clone-all.js +0 -57
  35. package/dist/commands/clone-all.js.map +0 -1
  36. package/dist/commands/preflight.d.ts +0 -31
  37. package/dist/commands/preflight.d.ts.map +0 -1
  38. package/dist/commands/preflight.js +0 -83
  39. package/dist/commands/preflight.js.map +0 -1
  40. package/dist/lib/distkit-closure-bridge.d.ts +0 -102
  41. package/dist/lib/distkit-closure-bridge.d.ts.map +0 -1
  42. package/dist/lib/distkit-closure-bridge.js +0 -177
  43. package/dist/lib/distkit-closure-bridge.js.map +0 -1
  44. package/dist/lib/distkit-closure-parity.d.ts +0 -110
  45. package/dist/lib/distkit-closure-parity.d.ts.map +0 -1
  46. package/dist/lib/distkit-closure-parity.js +0 -134
  47. package/dist/lib/distkit-closure-parity.js.map +0 -1
  48. package/dist/lib/distkit-routing-port.d.ts +0 -37
  49. package/dist/lib/distkit-routing-port.d.ts.map +0 -1
  50. package/dist/lib/distkit-routing-port.js +0 -72
  51. package/dist/lib/distkit-routing-port.js.map +0 -1
  52. package/dist/lib/install-timeline.d.ts +0 -81
  53. package/dist/lib/install-timeline.d.ts.map +0 -1
  54. package/dist/lib/install-timeline.js +0 -243
  55. package/dist/lib/install-timeline.js.map +0 -1
  56. package/dist/lib/preflight-adapter.d.ts +0 -52
  57. package/dist/lib/preflight-adapter.d.ts.map +0 -1
  58. package/dist/lib/preflight-adapter.js +0 -224
  59. package/dist/lib/preflight-adapter.js.map +0 -1
  60. package/node_modules/@gitdot/clone-lib/README.md +0 -117
  61. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.d.ts +0 -9
  62. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.d.ts.map +0 -1
  63. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.js +0 -154
  64. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.js.map +0 -1
  65. package/node_modules/@gitdot/clone-lib/dist/clone.d.ts +0 -21
  66. package/node_modules/@gitdot/clone-lib/dist/clone.d.ts.map +0 -1
  67. package/node_modules/@gitdot/clone-lib/dist/clone.js +0 -228
  68. package/node_modules/@gitdot/clone-lib/dist/clone.js.map +0 -1
  69. package/node_modules/@gitdot/clone-lib/dist/dotpath.d.ts +0 -10
  70. package/node_modules/@gitdot/clone-lib/dist/dotpath.d.ts.map +0 -1
  71. package/node_modules/@gitdot/clone-lib/dist/dotpath.js +0 -27
  72. package/node_modules/@gitdot/clone-lib/dist/dotpath.js.map +0 -1
  73. package/node_modules/@gitdot/clone-lib/dist/git.d.ts +0 -23
  74. package/node_modules/@gitdot/clone-lib/dist/git.d.ts.map +0 -1
  75. package/node_modules/@gitdot/clone-lib/dist/git.js +0 -134
  76. package/node_modules/@gitdot/clone-lib/dist/git.js.map +0 -1
  77. package/node_modules/@gitdot/clone-lib/dist/index.d.ts +0 -17
  78. package/node_modules/@gitdot/clone-lib/dist/index.d.ts.map +0 -1
  79. package/node_modules/@gitdot/clone-lib/dist/index.js +0 -35
  80. package/node_modules/@gitdot/clone-lib/dist/index.js.map +0 -1
  81. package/node_modules/@gitdot/clone-lib/dist/lock.d.ts +0 -24
  82. package/node_modules/@gitdot/clone-lib/dist/lock.d.ts.map +0 -1
  83. package/node_modules/@gitdot/clone-lib/dist/lock.js +0 -97
  84. package/node_modules/@gitdot/clone-lib/dist/lock.js.map +0 -1
  85. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.d.ts +0 -15
  86. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.d.ts.map +0 -1
  87. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.js +0 -124
  88. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.js.map +0 -1
  89. package/node_modules/@gitdot/clone-lib/dist/resolve/index.d.ts +0 -12
  90. package/node_modules/@gitdot/clone-lib/dist/resolve/index.d.ts.map +0 -1
  91. package/node_modules/@gitdot/clone-lib/dist/resolve/index.js +0 -31
  92. package/node_modules/@gitdot/clone-lib/dist/resolve/index.js.map +0 -1
  93. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.d.ts +0 -32
  94. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.d.ts.map +0 -1
  95. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.js +0 -159
  96. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.js.map +0 -1
  97. package/node_modules/@gitdot/clone-lib/dist/resolve/member.d.ts +0 -44
  98. package/node_modules/@gitdot/clone-lib/dist/resolve/member.d.ts.map +0 -1
  99. package/node_modules/@gitdot/clone-lib/dist/resolve/member.js +0 -163
  100. package/node_modules/@gitdot/clone-lib/dist/resolve/member.js.map +0 -1
  101. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.d.ts +0 -18
  102. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.d.ts.map +0 -1
  103. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.js +0 -155
  104. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.js.map +0 -1
  105. package/node_modules/@gitdot/clone-lib/dist/types.d.ts +0 -225
  106. package/node_modules/@gitdot/clone-lib/dist/types.d.ts.map +0 -1
  107. package/node_modules/@gitdot/clone-lib/dist/types.js +0 -9
  108. package/node_modules/@gitdot/clone-lib/dist/types.js.map +0 -1
  109. package/node_modules/@gitdot/clone-lib/package.json +0 -53
  110. package/node_modules/@microwiseai/install-preflight/dist/index.d.ts +0 -27
  111. package/node_modules/@microwiseai/install-preflight/dist/index.d.ts.map +0 -1
  112. package/node_modules/@microwiseai/install-preflight/dist/index.js +0 -26
  113. package/node_modules/@microwiseai/install-preflight/dist/index.js.map +0 -1
  114. package/node_modules/@microwiseai/install-preflight/dist/policy.d.ts +0 -42
  115. package/node_modules/@microwiseai/install-preflight/dist/policy.d.ts.map +0 -1
  116. package/node_modules/@microwiseai/install-preflight/dist/policy.js +0 -79
  117. package/node_modules/@microwiseai/install-preflight/dist/policy.js.map +0 -1
  118. package/node_modules/@microwiseai/install-preflight/dist/preflight.d.ts +0 -18
  119. package/node_modules/@microwiseai/install-preflight/dist/preflight.d.ts.map +0 -1
  120. package/node_modules/@microwiseai/install-preflight/dist/preflight.js +0 -0
  121. package/node_modules/@microwiseai/install-preflight/dist/preflight.js.map +0 -1
  122. package/node_modules/@microwiseai/install-preflight/dist/resolvers.d.ts +0 -26
  123. package/node_modules/@microwiseai/install-preflight/dist/resolvers.d.ts.map +0 -1
  124. package/node_modules/@microwiseai/install-preflight/dist/resolvers.js +0 -63
  125. package/node_modules/@microwiseai/install-preflight/dist/resolvers.js.map +0 -1
  126. package/node_modules/@microwiseai/install-preflight/dist/semver.d.ts +0 -45
  127. package/node_modules/@microwiseai/install-preflight/dist/semver.d.ts.map +0 -1
  128. package/node_modules/@microwiseai/install-preflight/dist/semver.js +0 -195
  129. package/node_modules/@microwiseai/install-preflight/dist/semver.js.map +0 -1
  130. package/node_modules/@microwiseai/install-preflight/dist/types.d.ts +0 -136
  131. package/node_modules/@microwiseai/install-preflight/dist/types.d.ts.map +0 -1
  132. package/node_modules/@microwiseai/install-preflight/dist/types.js +0 -11
  133. package/node_modules/@microwiseai/install-preflight/dist/types.js.map +0 -1
  134. package/node_modules/@microwiseai/install-preflight/package.json +0 -49
@@ -129,18 +129,19 @@ async function fetchSnapshotFromProxy(snapshotSpec, authToken) {
129
129
  if (!response.ok) {
130
130
  if (response.status === 401) {
131
131
  if (resolvedToken) {
132
- throw new Error('Access token expired or invalid for this package.\n' +
132
+ throw new Error('Session expired or invalid. Please re-authenticate:\n' +
133
+ ' Login: npm i -g @microwiseai/cli-auth && ist auth login\n' +
133
134
  ' Refresh: snapshot license refresh');
134
135
  }
135
136
  else {
136
- throw new Error('Access denied for this package (licensed or private).\n' +
137
- ' Provide a license or auth token to continue:\n' +
137
+ throw new Error('Authentication required. Please log in or activate a license:\n' +
138
+ ' Login: npm i -g @microwiseai/cli-auth && ist auth login\n' +
138
139
  ' License: snapshot license activate <KEY>');
139
140
  }
140
141
  }
141
142
  if (response.status === 403) {
142
- throw new Error('Access denied for this package.\n' +
143
- ' Check your license or auth token:\n' +
143
+ throw new Error('Access denied. Please check your authentication:\n' +
144
+ ' Login: npm i -g @microwiseai/cli-auth && ist auth login\n' +
144
145
  ' License: snapshot license status');
145
146
  }
146
147
  if (response.status === 404) {
@@ -175,7 +176,8 @@ export async function fetchSnapshotFromRepo(snapshotSpec, authToken) {
175
176
  export async function listSnapshotPackages(authToken) {
176
177
  const resolvedToken = authToken || getLicenseKey() || getProxyAuthToken();
177
178
  if (!resolvedToken) {
178
- throw new Error('Access denied: a license or auth token is required to list snapshots.\n' +
179
+ throw new Error('Authentication required. Please log in or activate a license:\n' +
180
+ ' Login: npm i -g @microwiseai/cli-auth && ist auth login\n' +
179
181
  ' License: snapshot license activate <KEY>');
180
182
  }
181
183
  // Try registry-proxy list endpoint (if available)
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface Prerequisite {
2
+ name: string;
3
+ description: string;
4
+ requiredBy: string[];
5
+ check: () => boolean;
6
+ install?: Record<string, string>;
7
+ guide?: string;
8
+ autoInstall: boolean;
9
+ }
10
+ export interface CheckResult {
11
+ name: string;
12
+ description: string;
13
+ requiredBy: string[];
14
+ installed: boolean;
15
+ guide?: string;
16
+ installCommand?: string;
17
+ }
18
+ /**
19
+ * Minimal snapshot prerequisites
20
+ */
21
+ export declare const MINIMAL_PREREQUISITES: Prerequisite[];
22
+ /**
23
+ * Check all prerequisites and return results
24
+ */
25
+ export declare function checkPrerequisites(prerequisites?: Prerequisite[]): CheckResult[];
26
+ /**
27
+ * Install a single prerequisite
28
+ */
29
+ export declare function installPrerequisite(result: CheckResult): {
30
+ success: boolean;
31
+ error?: string;
32
+ };
33
+ //# sourceMappingURL=prerequisites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites.d.ts","sourceRoot":"","sources":["../../src/lib/prerequisites.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqCD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAgD/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,GAAE,YAAY,EAA0B,GAAG,WAAW,EAAE,CAWvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAU7F"}
@@ -0,0 +1,123 @@
1
+ import { execSync } from 'child_process';
2
+ import { platform } from 'os';
3
+ import { isLoggedIn } from './config.js';
4
+ /**
5
+ * Get OS-specific platform key
6
+ */
7
+ function getPlatformKey() {
8
+ const os = platform();
9
+ if (os === 'darwin')
10
+ return 'macos-brew';
11
+ if (os === 'linux') {
12
+ // Detect apt vs yum
13
+ try {
14
+ execSync('which apt-get', { stdio: 'ignore' });
15
+ return 'linux-apt';
16
+ }
17
+ catch {
18
+ try {
19
+ execSync('which yum', { stdio: 'ignore' });
20
+ return 'linux-yum';
21
+ }
22
+ catch {
23
+ return 'linux-unknown';
24
+ }
25
+ }
26
+ }
27
+ return 'unknown';
28
+ }
29
+ /**
30
+ * Check if a command exists
31
+ */
32
+ function hasCommand(cmd) {
33
+ try {
34
+ execSync(`which ${cmd} 2>/dev/null`, { stdio: 'ignore' });
35
+ return true;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * Minimal snapshot prerequisites
43
+ */
44
+ export const MINIMAL_PREREQUISITES = [
45
+ {
46
+ name: 'tmux',
47
+ description: 'Terminal multiplexer (session management)',
48
+ requiredBy: ['@ist/sesh'],
49
+ check: () => hasCommand('tmux'),
50
+ install: {
51
+ 'linux-apt': 'sudo apt-get update -qq && sudo apt-get install -y tmux',
52
+ 'linux-yum': 'sudo yum install -y tmux',
53
+ 'macos-brew': 'brew install tmux',
54
+ },
55
+ autoInstall: true,
56
+ },
57
+ {
58
+ name: 'IST CLI Auth',
59
+ description: 'Authentication CLI for IST services (ist auth login)',
60
+ requiredBy: ['snapshot install (authenticated)'],
61
+ check: () => hasCommand('ist'),
62
+ install: {
63
+ 'linux-apt': 'npm install -g @microwiseai/cli-auth',
64
+ 'linux-yum': 'npm install -g @microwiseai/cli-auth',
65
+ 'macos-brew': 'npm install -g @microwiseai/cli-auth',
66
+ },
67
+ autoInstall: true,
68
+ },
69
+ {
70
+ name: 'Claude Code',
71
+ description: 'AI CLI for session creation',
72
+ requiredBy: ['@ist/sesh'],
73
+ check: () => hasCommand('claude'),
74
+ install: {
75
+ 'linux-apt': 'npm install -g @anthropic-ai/claude-code',
76
+ 'linux-yum': 'npm install -g @anthropic-ai/claude-code',
77
+ 'macos-brew': 'npm install -g @anthropic-ai/claude-code',
78
+ },
79
+ autoInstall: true,
80
+ },
81
+ {
82
+ name: 'IST Credentials',
83
+ description: 'Authentication for session isolation',
84
+ requiredBy: ['snapshot install (authenticated)'],
85
+ // SSOT: ~/.ist/credentials.json `.token` (IST JWT) via cli-auth v2, with
86
+ // local expiry pre-check. NOT the legacy extensionless ~/.ist/credentials
87
+ // file (that path predates the credential-schema convergence).
88
+ check: () => isLoggedIn(),
89
+ autoInstall: false,
90
+ guide: 'Run "ist auth login" to authenticate.',
91
+ },
92
+ ];
93
+ /**
94
+ * Check all prerequisites and return results
95
+ */
96
+ export function checkPrerequisites(prerequisites = MINIMAL_PREREQUISITES) {
97
+ const platformKey = getPlatformKey();
98
+ return prerequisites.map(prereq => ({
99
+ name: prereq.name,
100
+ description: prereq.description,
101
+ requiredBy: prereq.requiredBy,
102
+ installed: prereq.check(),
103
+ guide: prereq.guide,
104
+ installCommand: prereq.install?.[platformKey] || prereq.install?.['linux-apt'],
105
+ }));
106
+ }
107
+ /**
108
+ * Install a single prerequisite
109
+ */
110
+ export function installPrerequisite(result) {
111
+ if (result.installed)
112
+ return { success: true };
113
+ if (!result.installCommand)
114
+ return { success: false, error: 'No install command available. ' + (result.guide || '') };
115
+ try {
116
+ execSync(result.installCommand, { stdio: 'inherit' });
117
+ return { success: true };
118
+ }
119
+ catch (err) {
120
+ return { success: false, error: err.message };
121
+ }
122
+ }
123
+ //# sourceMappingURL=prerequisites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../src/lib/prerequisites.ts"],"names":[],"mappings":"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"}
@@ -43,49 +43,6 @@ export interface LicenseApiResolveDepsResponse {
43
43
  dependencies: Record<string, string>;
44
44
  peerDependencies?: Record<string, string>;
45
45
  }
46
- /** distkit-schema `Ecosystem` (opened union). Mirror. */
47
- export type Ecosystem = 'npm' | 'pypi' | (string & {});
48
- /** distkit-schema `Installer` (opened union). Mirror. */
49
- export type Installer = 'npm' | 'glpkg' | 'skit' | 'pip' | (string & {});
50
- /** distkit-schema `InstallTarget` (closed union). Mirror. */
51
- export type InstallTarget = 'cli-global' | 'project-local';
52
- /** distkit-schema `AccessTier` (closed union). Mirror. */
53
- export type AccessTier = 'public' | 'authenticated' | 'licensed' | 'restricted';
54
- /**
55
- * The `package.json`-shaped manifest the distkit npm adapter's
56
- * `parseDependencies` consumes (`adapters/npm.ts` `PackumentVersion`). Only the
57
- * four dependency maps are meaningful to the adapter; everything else is ignored.
58
- * This is what a ClosureRoot in the `'npm'` lane carries as its `manifest`.
59
- */
60
- export interface NpmPackageJsonManifest {
61
- dependencies?: Record<string, string>;
62
- optionalDependencies?: Record<string, string>;
63
- devDependencies?: Record<string, string>;
64
- peerDependencies?: Record<string, string>;
65
- }
66
- /**
67
- * Mirror of distkit `ClosureRoot` (closure.ts:57): one already-pinned entry
68
- * package whose `manifest` declares the first level of dependencies distkit's
69
- * walker will expand transitively. `manifest` is `unknown` in the contract (the
70
- * adapter knows its own shape); for the npm lane we populate it with an
71
- * {@link NpmPackageJsonManifest}.
72
- */
73
- export interface ClosureRoot {
74
- /** package name, e.g. "@microwiseai/foo". */
75
- name: string;
76
- /** exact version of the root (already pinned). */
77
- version: string;
78
- /** ecosystem of the root; omitted ⇒ the matching adapter's ecosystem (C4). */
79
- ecosystem?: Ecosystem;
80
- /** the root's manifest, fed to `EcosystemAdapter.parseDependencies`. */
81
- manifest: unknown;
82
- /** installer to record for produced entries (else the adapter's default). */
83
- installer?: Installer;
84
- /** intended install location for produced entries. */
85
- installTarget?: InstallTarget;
86
- /** observed access tier for produced entries (authority = license-mgr). */
87
- accessTier?: AccessTier;
88
- }
89
46
  export interface ResolveOptions {
90
47
  /** proxy를 통해 transitive deps 해석 */
91
48
  resolveTransitive?: boolean;
@@ -125,84 +82,6 @@ export interface ResolveDepsFromLicenseOptions {
125
82
  * // result.peerDependencies: { "typescript": "^5.0.0" }
126
83
  */
127
84
  export declare function resolveDepsFromLicenseAPI(options: ResolveDepsFromLicenseOptions): Promise<LicenseApiResolveDepsResponse>;
128
- /**
129
- * Feature-flag gate for the new distkit closure path (§1.2 wiring target).
130
- *
131
- * OFF by default. Defined now so the future §1.2 caller has a single, documented
132
- * switch; the collector itself is a pure additive export that no live path calls,
133
- * so flipping this on has NO effect until §1.2 wires `walkClosure` behind it.
134
- *
135
- * Env: `SNAPSHOT_DISTKIT_CLOSURE=1` (or `true`).
136
- */
137
- export declare const SNAPSHOT_DISTKIT_CLOSURE_FLAG: "SNAPSHOT_DISTKIT_CLOSURE";
138
- /** True iff the distkit closure path is enabled via {@link SNAPSHOT_DISTKIT_CLOSURE_FLAG}. */
139
- export declare function isDistkitClosureEnabled(): boolean;
140
- /** Options for {@link collectNpmClosureRoots}. */
141
- export interface CollectClosureRootsOptions {
142
- /**
143
- * Restrict roots to npm packages whose name starts with one of these scopes.
144
- * Omitted ⇒ ALL declared npm packages become roots (recommended: distkit's
145
- * walker expands each into its own transitive closure).
146
- */
147
- scopes?: string[];
148
- /** `installTarget` hint stamped on every produced root. Default `'cli-global'`. */
149
- installTarget?: InstallTarget;
150
- }
151
- /** Result of {@link collectNpmClosureRoots}. */
152
- export interface NpmClosureRootsResult {
153
- /** one {@link ClosureRoot} per directly-declared npm entry package (ecosystem `'npm'`). */
154
- roots: ClosureRoot[];
155
- /** domain-walk + manifest-fetch failures (fail-soft at this pre-wiring stage). */
156
- errors: Array<{
157
- name: string;
158
- error: string;
159
- }>;
160
- /** scope → groupId map collected from the snapshot `registry` fields (§1.3 routing feed). */
161
- scopeGroups: Record<string, string>;
162
- }
163
- /**
164
- * Phase-2b §1.1 collector: walk the snapshot/skit domain graph and emit the npm
165
- * lane as `ClosureRoot[]` for distkit's `walkClosure`.
166
- *
167
- * Reuses `traverseSnapshot` (the unchanged domain-graph walk: `extends`, `skits`,
168
- * `install`, `packages`, `registry`, and skit.json `dependencies.{npm,skit,cli}`)
169
- * to discover the directly-declared npm packages, then fetches each one's
170
- * `package.json`-shaped manifest and maps it to a {@link ClosureRoot}:
171
- *
172
- * { name, version, ecosystem: 'npm', manifest, installTarget }
173
- *
174
- * NOTE (pre-wiring, fail-soft): a package whose manifest cannot be fetched is
175
- * still emitted (with an empty `{}` manifest) and an error is recorded — so a
176
- * parity fixture surfaces the gap. Authoritative fail-loud + range→exact version
177
- * resolution move in with distkit's adapter at §1.2 / §1.4.
178
- *
179
- * This function is on NO live install path — it is the §1.1 deliverable only.
180
- */
181
- export declare function collectNpmClosureRoots(snapshotName: string, options?: CollectClosureRootsOptions): Promise<NpmClosureRootsResult>;
182
- /**
183
- * Build `ClosureRoot[]` from an explicit list of npm pins (name + exact version),
184
- * fetching each pin's `package.json`-shaped manifest from the registry-proxy
185
- * packument. Extracted from {@link collectNpmClosureRoots} (behaviour-identical)
186
- * so the §5-step6 install-resolution switch can build roots from the pins the
187
- * preflight adapter already computed (WITHOUT re-walking the snapshot graph —
188
- * important during `snapshot publish`, where the snapshot is LOCAL/unpublished).
189
- *
190
- * Deterministic (sorted by name). A pin whose manifest cannot be fetched is still
191
- * emitted (empty `{}` manifest) AND recorded in `errors` — the caller decides
192
- * fail-soft (collector §1.1) vs fail-loud (install path §1.4).
193
- */
194
- export declare function buildNpmClosureRoots(pins: ReadonlyArray<{
195
- name: string;
196
- version: string;
197
- }>, options?: {
198
- installTarget?: InstallTarget;
199
- }): Promise<{
200
- roots: ClosureRoot[];
201
- errors: Array<{
202
- name: string;
203
- error: string;
204
- }>;
205
- }>;
206
85
  /**
207
86
  * 캐시 클리어
208
87
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transitive-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/transitive-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transitive-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/transitive-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,GAAG,CAAC,EAAE,KAAK,CAAC;YACV,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,GAAG,EAAE,eAAe,EAAE,CAAC;IACvB,sBAAsB;IACtB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,kBAAkB;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAYD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAmWD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAqDrC;AAMD,MAAM,WAAW,6BAA6B;IAC5C,iEAAiE;IACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,6BAA6B,CAAC,CAiGxC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -427,200 +427,10 @@ export async function resolveDepsFromLicenseAPI(options) {
427
427
  throw new Error(`[resolveDepsFromLicenseAPI] Network error: ${error instanceof Error ? error.message : String(error)}`);
428
428
  }
429
429
  }
430
- // ============================================================
431
- // Phase-2b §1.1 — ClosureRoot[] collector (distkit npm lane)
432
- // ============================================================
433
- //
434
- // NEW PATH — behind a flag, called by NOBODY on the live install path yet.
435
- //
436
- // Scope (SSOT §1.1, §5 step 3): KEEP snapshot's snapshot/skit domain-graph walk
437
- // (`traverseSnapshot`/`traverseSkit`) exactly as-is; only change the OUTPUT
438
- // SHAPE. This collector reuses that walk (via a fresh TraversalContext, same as
439
- // `resolveAllDependencies`) to discover the directly-declared npm entry packages,
440
- // then emits one {@link ClosureRoot} per package for distkit's `walkClosure`.
441
- //
442
- // Explicitly OUT OF SCOPE here (later phases / sign-off gate):
443
- // • §1.2 wiring distkit `walkClosure` / lock emit / cutover.
444
- // • porting a cycle guard or first-writer dedup into this path — distkit's
445
- // walker OWNS transitive cycle-safety + multi-parent dedup (§1.1 note). The
446
- // `visited*` Sets used inside `traverseSnapshot`/`traverseSkit` are the
447
- // snapshot DOMAIN-graph guard (extends/skit recursion) and stay on the
448
- // legacy path only; they are NOT re-implemented for the npm closure here.
449
- // • skit / glpkg lanes (§4 Phase-2c) — this collector is the npm lane only.
450
- /**
451
- * Feature-flag gate for the new distkit closure path (§1.2 wiring target).
452
- *
453
- * OFF by default. Defined now so the future §1.2 caller has a single, documented
454
- * switch; the collector itself is a pure additive export that no live path calls,
455
- * so flipping this on has NO effect until §1.2 wires `walkClosure` behind it.
456
- *
457
- * Env: `SNAPSHOT_DISTKIT_CLOSURE=1` (or `true`).
458
- */
459
- export const SNAPSHOT_DISTKIT_CLOSURE_FLAG = 'SNAPSHOT_DISTKIT_CLOSURE';
460
- /** True iff the distkit closure path is enabled via {@link SNAPSHOT_DISTKIT_CLOSURE_FLAG}. */
461
- export function isDistkitClosureEnabled() {
462
- const v = process.env[SNAPSHOT_DISTKIT_CLOSURE_FLAG];
463
- return v === '1' || v === 'true';
464
- }
465
- /**
466
- * Cache of fetched npm root manifests (package.json-shaped), keyed `name@version`.
467
- * Separate from {@link skitManifestCache} (that reads the packument `skit` field;
468
- * this reads the standard npm dependency maps).
469
- */
470
- const npmRootManifestCache = new Map();
471
- /**
472
- * Fetch an npm root's `package.json`-shaped manifest from the registry-proxy
473
- * packument (`GET {REGISTRY_PROXY_URL}/{name}` → `{ 'dist-tags', versions }`).
474
- *
475
- * This is the npm analogue of {@link fetchSkitManifest}: same packument source,
476
- * but it reads the standard npm dependency maps
477
- * (`dependencies`/`optionalDependencies`/`devDependencies`/`peerDependencies`)
478
- * that the distkit npm adapter's `parseDependencies` expects — NOT the `skit`
479
- * field. Resolves the `latest` dist-tag; other specs are looked up as exact keys.
480
- *
481
- * @returns the manifest + the exact version it resolved to, or `null` if the
482
- * package / version is not present (surfaced by the collector as an error;
483
- * authoritative range→exact resolution is distkit's adapter job at §1.2).
484
- */
485
- async function fetchNpmRootManifest(pkgName, version) {
486
- const cacheKey = `${pkgName}@${version}`;
487
- const cached = npmRootManifestCache.get(cacheKey);
488
- if (cached) {
489
- return cached;
490
- }
491
- const sessionToken = getLicenseKey();
492
- const headers = {
493
- 'Accept': 'application/json',
494
- };
495
- if (sessionToken) {
496
- headers['Authorization'] = `Bearer ${sessionToken}`;
497
- }
498
- try {
499
- const url = `${REGISTRY_PROXY_URL}/${pkgName}`;
500
- const response = await fetch(url, { headers });
501
- if (!response.ok) {
502
- return null;
503
- }
504
- const data = await response.json();
505
- const distTags = data['dist-tags'];
506
- const versions = data['versions'];
507
- // Resolve the `latest` dist-tag; otherwise treat `version` as an exact key.
508
- // (Range specs are NOT resolved here — distkit's adapter owns range→exact at
509
- // §1.2; an unresolvable spec yields null and a recorded collector error.)
510
- let targetVersion = version;
511
- if ((version === 'latest' || version === '') && distTags?.['latest']) {
512
- targetVersion = distTags['latest'];
513
- }
514
- const versionData = versions?.[targetVersion];
515
- if (!versionData) {
516
- return null;
517
- }
518
- const manifest = {};
519
- const deps = versionData['dependencies'];
520
- const optional = versionData['optionalDependencies'];
521
- const dev = versionData['devDependencies'];
522
- const peer = versionData['peerDependencies'];
523
- if (deps)
524
- manifest.dependencies = { ...deps };
525
- if (optional)
526
- manifest.optionalDependencies = { ...optional };
527
- if (dev)
528
- manifest.devDependencies = { ...dev };
529
- if (peer)
530
- manifest.peerDependencies = { ...peer };
531
- const result = { manifest, resolvedVersion: targetVersion };
532
- npmRootManifestCache.set(cacheKey, result);
533
- return result;
534
- }
535
- catch {
536
- return null;
537
- }
538
- }
539
- /**
540
- * Phase-2b §1.1 collector: walk the snapshot/skit domain graph and emit the npm
541
- * lane as `ClosureRoot[]` for distkit's `walkClosure`.
542
- *
543
- * Reuses `traverseSnapshot` (the unchanged domain-graph walk: `extends`, `skits`,
544
- * `install`, `packages`, `registry`, and skit.json `dependencies.{npm,skit,cli}`)
545
- * to discover the directly-declared npm packages, then fetches each one's
546
- * `package.json`-shaped manifest and maps it to a {@link ClosureRoot}:
547
- *
548
- * { name, version, ecosystem: 'npm', manifest, installTarget }
549
- *
550
- * NOTE (pre-wiring, fail-soft): a package whose manifest cannot be fetched is
551
- * still emitted (with an empty `{}` manifest) and an error is recorded — so a
552
- * parity fixture surfaces the gap. Authoritative fail-loud + range→exact version
553
- * resolution move in with distkit's adapter at §1.2 / §1.4.
554
- *
555
- * This function is on NO live install path — it is the §1.1 deliverable only.
556
- */
557
- export async function collectNpmClosureRoots(snapshotName, options = {}) {
558
- const { scopes, installTarget = 'cli-global' } = options;
559
- // 1. Reuse the unchanged snapshot/skit domain-graph walk (same ctx shape as
560
- // resolveAllDependencies) to collect the directly-declared npm packages.
561
- const ctx = {
562
- visitedSnapshots: new Set(),
563
- visitedSkits: new Set(),
564
- collectedNpm: new Map(),
565
- collectedSkit: new Map(),
566
- errors: [],
567
- scopeGroups: new Map(),
568
- };
569
- await traverseSnapshot(snapshotName, ctx);
570
- // 2. Select npm entry packages → optionally filter by scope.
571
- let entries = Array.from(ctx.collectedNpm.values());
572
- if (scopes && scopes.length > 0) {
573
- entries = entries.filter(p => scopes.some(scope => p.name.startsWith(scope)));
574
- }
575
- // 3. Fetch each root's package.json-shaped manifest and map → ClosureRoot[].
576
- const { roots, errors: rootErrors } = await buildNpmClosureRoots(entries, { installTarget });
577
- return {
578
- roots,
579
- errors: [...ctx.errors, ...rootErrors],
580
- scopeGroups: Object.fromEntries(ctx.scopeGroups),
581
- };
582
- }
583
- /**
584
- * Build `ClosureRoot[]` from an explicit list of npm pins (name + exact version),
585
- * fetching each pin's `package.json`-shaped manifest from the registry-proxy
586
- * packument. Extracted from {@link collectNpmClosureRoots} (behaviour-identical)
587
- * so the §5-step6 install-resolution switch can build roots from the pins the
588
- * preflight adapter already computed (WITHOUT re-walking the snapshot graph —
589
- * important during `snapshot publish`, where the snapshot is LOCAL/unpublished).
590
- *
591
- * Deterministic (sorted by name). A pin whose manifest cannot be fetched is still
592
- * emitted (empty `{}` manifest) AND recorded in `errors` — the caller decides
593
- * fail-soft (collector §1.1) vs fail-loud (install path §1.4).
594
- */
595
- export async function buildNpmClosureRoots(pins, options = {}) {
596
- const { installTarget = 'cli-global' } = options;
597
- const errors = [];
598
- const roots = [];
599
- for (const pkg of pins) {
600
- const fetched = await fetchNpmRootManifest(pkg.name, pkg.version);
601
- if (!fetched) {
602
- errors.push({
603
- name: `${pkg.name}@${pkg.version}`,
604
- error: 'Failed to fetch npm root manifest (package/version not in packument, or non-exact spec)',
605
- });
606
- }
607
- roots.push({
608
- name: pkg.name,
609
- version: fetched?.resolvedVersion ?? pkg.version,
610
- ecosystem: 'npm',
611
- manifest: fetched?.manifest ?? {},
612
- installTarget,
613
- });
614
- }
615
- // Deterministic order (parity-friendly; distkit re-sorts internally anyway).
616
- roots.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
617
- return { roots, errors };
618
- }
619
430
  /**
620
431
  * 캐시 클리어
621
432
  */
622
433
  export function clearTransitiveCache() {
623
434
  skitManifestCache.clear();
624
- npmRootManifestCache.clear();
625
435
  }
626
436
  //# sourceMappingURL=transitive-resolver.js.map