@superblocksteam/vite-plugin-file-sync 2.0.137-next.0 → 2.0.138-next.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 (229) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +2 -22
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
  5. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  6. package/dist/ai-service/agent/tools/build-capture-screenshot.js +150 -7
  7. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  8. package/dist/ai-service/agent/tools/build-read-file.d.ts +10 -0
  9. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools/build-read-file.js +14 -1
  11. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  12. package/dist/ai-service/agent/tools/index.d.ts +1 -1
  13. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/index.js +1 -1
  15. package/dist/ai-service/agent/tools/index.js.map +1 -1
  16. package/dist/ai-service/agent/tools.d.ts +1 -1
  17. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools.js +15 -1
  19. package/dist/ai-service/agent/tools.js.map +1 -1
  20. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools2/tools/grep.js +2 -1
  22. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  23. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +8 -0
  25. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
  26. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -6
  28. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
  29. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +2 -0
  30. package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools2/tools/web-fetch.js +10 -5
  32. package/dist/ai-service/agent/tools2/tools/web-fetch.js.map +1 -1
  33. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  34. package/dist/ai-service/agent/utils.js +25 -7
  35. package/dist/ai-service/agent/utils.js.map +1 -1
  36. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  37. package/dist/ai-service/app-interface/linter.js +14 -3
  38. package/dist/ai-service/app-interface/linter.js.map +1 -1
  39. package/dist/ai-service/app-interface/npm-package-lookup.d.ts +19 -14
  40. package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
  41. package/dist/ai-service/app-interface/npm-package-lookup.js +56 -23
  42. package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
  43. package/dist/ai-service/app-interface/npm-registry.d.ts +96 -48
  44. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  45. package/dist/ai-service/app-interface/npm-registry.js +247 -220
  46. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  47. package/dist/ai-service/app-interface/shell.d.ts +36 -0
  48. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  49. package/dist/ai-service/app-interface/shell.js +183 -8
  50. package/dist/ai-service/app-interface/shell.js.map +1 -1
  51. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  52. package/dist/ai-service/app-skills/helpers.js +48 -8
  53. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  54. package/dist/ai-service/app-skills/manager.d.ts +5 -0
  55. package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
  56. package/dist/ai-service/app-skills/manager.js +13 -4
  57. package/dist/ai-service/app-skills/manager.js.map +1 -1
  58. package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
  59. package/dist/ai-service/attachments/uploaded-content-part.js +12 -5
  60. package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
  61. package/dist/ai-service/index.d.ts +1 -2
  62. package/dist/ai-service/index.d.ts.map +1 -1
  63. package/dist/ai-service/index.js +16 -175
  64. package/dist/ai-service/index.js.map +1 -1
  65. package/dist/ai-service/judge/judge-eval-service-runner.js +0 -4
  66. package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
  67. package/dist/ai-service/judge/judge-service.js +1 -1
  68. package/dist/ai-service/judge/judge-service.js.map +1 -1
  69. package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts +20 -0
  70. package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts.map +1 -0
  71. package/dist/ai-service/knowledge/knowledge-metrics-emitters.js +77 -0
  72. package/dist/ai-service/knowledge/knowledge-metrics-emitters.js.map +1 -0
  73. package/dist/ai-service/knowledge/knowledge-metrics.d.ts +43 -0
  74. package/dist/ai-service/knowledge/knowledge-metrics.d.ts.map +1 -0
  75. package/dist/ai-service/knowledge/knowledge-metrics.js +217 -0
  76. package/dist/ai-service/knowledge/knowledge-metrics.js.map +1 -0
  77. package/dist/ai-service/llm/client.d.ts +144 -18
  78. package/dist/ai-service/llm/client.d.ts.map +1 -1
  79. package/dist/ai-service/llm/client.js +303 -48
  80. package/dist/ai-service/llm/client.js.map +1 -1
  81. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +1 -0
  82. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  83. package/dist/ai-service/llm/context-v2/context-metrics.js +14 -1
  84. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  85. package/dist/ai-service/llm/context-v2/context.d.ts +3 -0
  86. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  87. package/dist/ai-service/llm/context-v2/context.js +34 -1
  88. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  89. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  90. package/dist/ai-service/llm/context-v2/manager.js +4 -1
  91. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  92. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +1 -1
  93. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
  94. package/dist/ai-service/llm/interaction/adapters/vercel.js +19 -4
  95. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
  96. package/dist/ai-service/llm/interaction/provider.d.ts +17 -3
  97. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
  98. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  99. package/dist/ai-service/llm/provider.js +19 -15
  100. package/dist/ai-service/llm/provider.js.map +1 -1
  101. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  102. package/dist/ai-service/llm/stream/managed-stream.js +25 -2
  103. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  104. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +9 -0
  105. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  106. package/dist/ai-service/llm/stream/observers/llmobs.js +22 -5
  107. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  108. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  109. package/dist/ai-service/llm/stream/observers/logging.js +17 -12
  110. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  111. package/dist/ai-service/llm/stream/orchestrator.d.ts +1 -0
  112. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  113. package/dist/ai-service/llm/stream/orchestrator.js +131 -0
  114. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  115. package/dist/ai-service/llm/types.d.ts +17 -6
  116. package/dist/ai-service/llm/types.d.ts.map +1 -1
  117. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts +3 -1
  118. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts.map +1 -1
  119. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js +13 -5
  120. package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js.map +1 -1
  121. package/dist/ai-service/security/safety-classifier.d.ts +14 -1
  122. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  123. package/dist/ai-service/security/safety-classifier.js +26 -12
  124. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  125. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +1 -1
  126. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +1 -1
  127. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +35 -18
  128. package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +1 -1
  129. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  130. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  131. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +7 -5
  132. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
  133. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  134. package/dist/ai-service/state-machine/clark-fsm.js +3 -2
  135. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  136. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  137. package/dist/ai-service/state-machine/handlers/agent-planning.js +14 -7
  138. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  139. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
  140. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  141. package/dist/ai-service/state-machine/handlers/awaiting-user.js +40 -27
  142. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  143. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +14 -0
  144. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  145. package/dist/ai-service/state-machine/handlers/llm-generating.js +72 -16
  146. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  147. package/dist/ai-service/state-machine/handlers/next-steps.d.ts +8 -1
  148. package/dist/ai-service/state-machine/handlers/next-steps.d.ts.map +1 -1
  149. package/dist/ai-service/state-machine/handlers/next-steps.js +13 -11
  150. package/dist/ai-service/state-machine/handlers/next-steps.js.map +1 -1
  151. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  152. package/dist/ai-service/state-machine/helpers/peer.js +3 -2
  153. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  154. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +5 -0
  155. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  156. package/dist/ai-service/state-machine/helpers/stable-peer.js +37 -0
  157. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  158. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  159. package/dist/ai-service/template-renderer.js +2 -2
  160. package/dist/ai-service/template-renderer.js.map +1 -1
  161. package/dist/ai-service/types.d.ts +2 -2
  162. package/dist/ai-service/types.d.ts.map +1 -1
  163. package/dist/dev-server-ws-smoke-client.d.ts +41 -0
  164. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -0
  165. package/dist/dev-server-ws-smoke-client.js +314 -0
  166. package/dist/dev-server-ws-smoke-client.js.map +1 -0
  167. package/dist/early-error-relay.d.ts +31 -0
  168. package/dist/early-error-relay.d.ts.map +1 -0
  169. package/dist/early-error-relay.js +88 -0
  170. package/dist/early-error-relay.js.map +1 -0
  171. package/dist/file-sync-vite-plugin.d.ts +26 -1
  172. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  173. package/dist/file-sync-vite-plugin.js +82 -43
  174. package/dist/file-sync-vite-plugin.js.map +1 -1
  175. package/dist/file-system-helpers.d.ts +13 -0
  176. package/dist/file-system-helpers.d.ts.map +1 -1
  177. package/dist/file-system-helpers.js +18 -1
  178. package/dist/file-system-helpers.js.map +1 -1
  179. package/dist/file-system-manager.d.ts +0 -1
  180. package/dist/file-system-manager.d.ts.map +1 -1
  181. package/dist/file-system-manager.js +0 -53
  182. package/dist/file-system-manager.js.map +1 -1
  183. package/dist/injected-index.d.ts +6 -0
  184. package/dist/injected-index.d.ts.map +1 -1
  185. package/dist/injected-index.js +59 -14
  186. package/dist/injected-index.js.map +1 -1
  187. package/dist/migration/migration-routes.d.ts +3 -0
  188. package/dist/migration/migration-routes.d.ts.map +1 -1
  189. package/dist/migration/migration-routes.js +93 -108
  190. package/dist/migration/migration-routes.js.map +1 -1
  191. package/dist/migration/restructure.d.ts +15 -0
  192. package/dist/migration/restructure.d.ts.map +1 -1
  193. package/dist/migration/restructure.js +50 -1
  194. package/dist/migration/restructure.js.map +1 -1
  195. package/dist/migration-templates/app-fullstack/eslint.config.js +6 -1
  196. package/dist/migration-templates/app-fullstack/package.json +2 -1
  197. package/dist/plugin-options.d.ts +7 -0
  198. package/dist/plugin-options.d.ts.map +1 -1
  199. package/dist/plugin-options.js.map +1 -1
  200. package/dist/socket-manager.d.ts.map +1 -1
  201. package/dist/socket-manager.js +0 -5
  202. package/dist/socket-manager.js.map +1 -1
  203. package/dist/sync-service/list-dir.d.ts +1 -1
  204. package/dist/sync-service/list-dir.js +3 -3
  205. package/dist/sync-service/list-dir.js.map +1 -1
  206. package/dist/util/log-sanitizer.d.ts.map +1 -1
  207. package/dist/util/log-sanitizer.js +13 -6
  208. package/dist/util/log-sanitizer.js.map +1 -1
  209. package/dist/util/summarize-for-logging.d.ts +14 -0
  210. package/dist/util/summarize-for-logging.d.ts.map +1 -0
  211. package/dist/util/summarize-for-logging.js +94 -0
  212. package/dist/util/summarize-for-logging.js.map +1 -0
  213. package/package.json +8 -8
  214. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts +0 -4
  215. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts.map +0 -1
  216. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js +0 -19
  217. package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js.map +0 -1
  218. package/dist/ai-service/llm/impl/anthropic.d.ts +0 -3
  219. package/dist/ai-service/llm/impl/anthropic.d.ts.map +0 -1
  220. package/dist/ai-service/llm/impl/anthropic.js +0 -15
  221. package/dist/ai-service/llm/impl/anthropic.js.map +0 -1
  222. package/dist/ai-service/prompts/explain-code.d.ts +0 -7
  223. package/dist/ai-service/prompts/explain-code.d.ts.map +0 -1
  224. package/dist/ai-service/prompts/explain-code.js +0 -23
  225. package/dist/ai-service/prompts/explain-code.js.map +0 -1
  226. package/dist/ai-service/util/json-stream-parser.d.ts +0 -20
  227. package/dist/ai-service/util/json-stream-parser.d.ts.map +0 -1
  228. package/dist/ai-service/util/json-stream-parser.js +0 -139
  229. package/dist/ai-service/util/json-stream-parser.js.map +0 -1
@@ -1,13 +1,3 @@
1
- /**
2
- * Scopes whose existing `<scope>:registry=` lines in a project / pod `.npmrc`
3
- * must survive `writeNpmrc` calls. Shared between AppShell, TemplateRenderer,
4
- * and any other call site so a new scope only needs to be added in one place.
5
- *
6
- * `setup-template.sh` bakes
7
- * `@superblocksteam:registry=https://npm.pkg.github.com/` into the template
8
- * `.npmrc` for ephemeral environments; we must not clobber it.
9
- */
10
- export declare const PRESERVE_NPMRC_SCOPES: string[];
11
1
  /**
12
2
  * Wire shape for a single registry row returned by
13
3
  * `GET /api/v1/organizations/:orgId/npm-registry`. Mirrors the server's
@@ -16,12 +6,16 @@ export declare const PRESERVE_NPMRC_SCOPES: string[];
16
6
  *
17
7
  * `scope === null` is the default (unscoped) registry; otherwise it is a
18
8
  * single npm scope like `"@mycompany"`.
9
+ *
10
+ * `registryUrl` is the Superblocks npm proxy URL (the server rewrites each
11
+ * row to it). There is no token here: the auth token is the machine's own
12
+ * Superblocks login, stamped in by `registriesToConfig`, not a per-registry
13
+ * secret.
19
14
  */
20
15
  export interface NpmRegistryEntry {
21
16
  id: string;
22
17
  scope: string | null;
23
18
  registryUrl: string;
24
- token: string | null;
25
19
  }
26
20
  /**
27
21
  * Renderable npm registry configuration. This is the shape `writeNpmrc`
@@ -145,20 +139,27 @@ export interface LastKnownRegistryPolicyStore {
145
139
  */
146
140
  export declare function shouldIgnoreInstallScripts(result: NpmRegistryFetchResult | undefined): boolean;
147
141
  /**
148
- * Translates a list of server-shaped registry entries into the renderable
149
- * `NpmRegistryConfig`. Centralised so `writeNpmrc`, tests, and any future
150
- * consumer all interpret the wire shape the same way.
151
- *
152
- * Multiple `scope === null` entries should never happen the server's
153
- * UNIQUE (organization_id, scope) constraint forbids it but we are
154
- * defensive: the FIRST default wins, subsequent ones are logged and
155
- * discarded so a server-side bug never silently rotates the default URL
156
- * mid-fetch.
157
- *
158
- * Duplicate scoped entries (same `scope` string) follow the same rule:
159
- * first wins.
142
+ * True only when `registryUrl` is genuinely the Superblocks npm proxy for THIS
143
+ * org on THIS server (matching origin AND the org-scoped `/npm-proxy` path).
144
+ *
145
+ * The client stamps the machine's own Superblocks login token onto every row
146
+ * `/config` returns. That is only safe if every row really is our proxy: a
147
+ * version-skewed or misconfigured server could return a customer's upstream
148
+ * registry URL (or a broken one built from an empty external-server URL), and
149
+ * blindly stamping the login token onto that would leak a Superblocks
150
+ * credential to a third-party host. So the client proves the proxy invariant
151
+ * before stamping and fails closed when it does not hold.
152
+ *
153
+ * Compares parsed origin + pathname (not a raw string prefix) so trailing
154
+ * slashes and default ports can't cause a false negative, and requires a path
155
+ * boundary so a lookalike like `…/npm-proxyEVIL` can't slip through. Also
156
+ * rejects anything the canonical proxy URL never carries — embedded
157
+ * userinfo (`https://user:pass@host/…` shares the host's `origin` but is not
158
+ * our proxy URL) and any query/fragment — so a crafted URL can't satisfy the
159
+ * origin check while smuggling something else into `.npmrc`.
160
160
  */
161
- export declare function registriesToConfig(entries: NpmRegistryEntry[], allowInstallScripts?: boolean): NpmRegistryConfig;
161
+ export declare function isSuperblocksNpmProxyUrl(registryUrl: string, baseUrl: string, organizationId: string): boolean;
162
+ export declare function registriesToConfig(entries: NpmRegistryEntry[], allowInstallScripts?: boolean, authToken?: string): NpmRegistryConfig;
162
163
  /**
163
164
  * Dependencies the `NpmRegistryClient` needs to fetch from the server.
164
165
  * Injected so the client itself stays free of `fs`, `~/.superblocks/auth.json`
@@ -239,6 +240,30 @@ export interface NpmRegistryClientDeps {
239
240
  */
240
241
  lastKnownPolicyStore?: LastKnownRegistryPolicyStore;
241
242
  }
243
+ /**
244
+ * Per-call options for `NpmRegistryClient.getConfig`.
245
+ */
246
+ export interface GetConfigOptions {
247
+ /**
248
+ * Skip the in-memory TTL cache and re-fetch from the server. Used by the
249
+ * just-in-time call sites (`.npmrc` synthesis before an install, package
250
+ * lookups, home-npmrc sync) so an admin clearing or changing the org's
251
+ * registry takes effect immediately rather than after the TTL expires.
252
+ * The last-known-good fallback on a server outage is unaffected — only
253
+ * the cache-hit read is bypassed.
254
+ */
255
+ forceRefresh?: boolean;
256
+ /**
257
+ * Freshness floor (ms) for a forced read: serve the cache if it is younger
258
+ * than this, otherwise re-fetch. Defaults to 0, which means a forced read
259
+ * always re-fetches (full bypass). Only meaningful when `forceRefresh` is
260
+ * set. The hot lookup path passes a small floor so a tight sequential batch
261
+ * of per-package lookups collapses onto one config fetch instead of one per
262
+ * package; the install/home `.npmrc` boundaries leave it at 0 so they always
263
+ * observe an admin change immediately.
264
+ */
265
+ forceRefreshMaxAgeMs?: number;
266
+ }
242
267
  /**
243
268
  * Fetches per-org npm registry configuration from the server, caching the
244
269
  * result in-memory with a short TTL. Designed so callers do not have to
@@ -381,30 +406,61 @@ export declare class NpmRegistryClient {
381
406
  /**
382
407
  * Resolve the current npm registry configuration for the active org. See
383
408
  * the class docstring for the full state machine.
409
+ *
410
+ * `forceRefresh` bypasses the TTL cache-hit return below so a just-in-time
411
+ * caller (the `.npmrc` writer before an install, a package lookup, the
412
+ * home-npmrc sync) observes an admin clearing or changing the registry
413
+ * immediately instead of waiting out the TTL. `forceRefreshMaxAgeMs` lets a
414
+ * high-frequency caller (the package lookup) keep a small freshness floor so
415
+ * a tight sequential batch collapses onto one fetch; left at 0 (install /
416
+ * home sync) a forced read always re-fetches. It does NOT touch the cache
417
+ * before fetching: `serveStaleOrUnconfigured` still needs the last-known-good
418
+ * entries to fall back to during a 5xx/network outage. The flag-off
419
+ * short-circuit, inflight dedup, and all hard-fail branches behave
420
+ * identically.
384
421
  */
385
- getConfig(): Promise<NpmRegistryFetchResult>;
422
+ getConfig(options?: GetConfigOptions): Promise<NpmRegistryFetchResult>;
386
423
  private fetchWithRefresh;
387
424
  /**
388
425
  * One full fetch attempt with the current JWT. Throws on getJwt failure
389
426
  * OR network failure so the caller's single try/catch handles both.
390
427
  */
391
428
  private attempt;
429
+ /**
430
+ * Signal when `lastKnownPolicy` supplied the install-scripts policy that the
431
+ * in-memory cache could not (`cachePolicy == null && lastKnownPolicy !=
432
+ * null`). That combination means an earlier auth-failure or 4xx branch wiped
433
+ * the cache and we fell back to the surviving policy, which is a sign
434
+ * something went wrong. Emit a WARN (with `orgId` and which branch ran) plus
435
+ * a low-cardinality counter so it can be alerted on from a dashboard without
436
+ * digging through logs or traces. `cachePolicy` is passed in (not re-read)
437
+ * because the 404 branch overwrites `this.cache` before this runs.
438
+ */
439
+ private signalPolicyFallback;
440
+ /**
441
+ * Render cached/fetched entries into a config, stamping the machine's current
442
+ * Superblocks login token onto every proxied registry (`registryUrl` is the
443
+ * proxy URL the server rewrote each row to). Read fresh each call so the
444
+ * `.npmrc` the caller writes right after carries a current token. `getJwt()`
445
+ * resolves immediately when a token is already primed, so this stays cheap on
446
+ * the cache-hit fast path; it throws only when no token is available, in
447
+ * which case there is no way to build a working proxy `.npmrc`.
448
+ */
449
+ private renderConfig;
450
+ /**
451
+ * Build a `configured` result, but route a JWT-read failure through the same
452
+ * fail-closed path as `serveStaleOrUnconfigured`. `renderConfig` reads the
453
+ * login token via `getJwt()`, which can reject (no token primed). A missing
454
+ * token is the same "we can't build a working proxy `.npmrc`" condition the
455
+ * stale path already treats as `unreachable`, so both the cache-hit and the
456
+ * fresh-fetch success paths must resolve it the same way rather than throwing
457
+ * out of `getConfig()`. With a warm cache this serves last-known-good; with
458
+ * no usable cache it reports `unreachable`.
459
+ */
460
+ private renderConfigured;
392
461
  private serveStaleOrUnconfigured;
393
462
  }
394
463
  export interface WriteNpmrcOptions {
395
- /**
396
- * Scope prefixes (e.g. `@superblocksteam`) whose existing
397
- * `<scope>:registry=` lines must survive — together with every
398
- * auth-family key (`_authToken`, `_password`, `username`, `email`,
399
- * `_auth`) keyed on the same `//<origin>/` prefix as
400
- * the preserved registry URL. Used to keep scope mappings baked into a
401
- * template `.npmrc` by setup-template.sh in EE builds, including the
402
- * GHPR token that authenticates `@superblocksteam/*` installs
403
- * (APPS-4300). When the same scope is also overridden in
404
- * `config.scopes`, both the registry line and its auth-family lines
405
- * are dropped in favour of the override.
406
- */
407
- preserveScopeLines?: string[];
408
464
  /**
409
465
  * POSIX file mode for the written `.npmrc`. Defaults to `0o600` (owner
410
466
  * read/write) because the per-install-site writers rewrite the file on
@@ -443,14 +499,6 @@ export interface WriteNpmrcOptions {
443
499
  * does not validate scope names.
444
500
  * - https-only registry URLs: npm itself accepts http.
445
501
  *
446
- * When `preserveScopeLines` is provided, any existing `<scope>:registry=`
447
- * keys for those scopes are preserved (so EE-baked
448
- * `@superblocksteam:registry=https://npm.pkg.github.com/` survives) UNLESS
449
- * the same scope is explicitly overridden in `config.scopes`. The
450
- * preserved value is read via `ini.parse` from the existing file, so
451
- * `ini`'s own quoting rules apply (rather than our older line-grep that
452
- * could mis-handle quoted values).
453
- *
454
502
  * Idempotent: rewrites the file in full each call. Writes are atomic (tmp +
455
503
  * rename) and the file mode is restricted to 0600 because the file may carry
456
504
  * an auth token.
@@ -732,7 +780,7 @@ export declare function ensureNpmrcGitignored(dir: string): Promise<EnsureNpmrcG
732
780
  * Returns the resolved fetch result so callers can branch on `source` for
733
781
  * observability, or `undefined` when no client was provided.
734
782
  */
735
- export declare function maybeWriteNpmrcForDir(dir: string, options?: WriteNpmrcOptions, client?: NpmRegistryClient): Promise<NpmRegistryFetchResult | undefined>;
783
+ export declare function maybeWriteNpmrcForDir(dir: string, client?: NpmRegistryClient): Promise<NpmRegistryFetchResult | undefined>;
736
784
  /**
737
785
  * Materializes the private-registry `.npmrc` AND unconditionally strips
738
786
  * `resolved` URLs from any lockfile present in `dir`, so a subsequent
@@ -766,7 +814,7 @@ export declare function maybeWriteNpmrcForDir(dir: string, options?: WriteNpmrcO
766
814
  * can branch on `source` for observability), or `undefined` when no client
767
815
  * was provided. The lockfile strip happens in both cases.
768
816
  */
769
- export declare function prepareForPrivateRegistry(dir: string, options?: WriteNpmrcOptions, client?: NpmRegistryClient): Promise<NpmRegistryFetchResult | undefined>;
817
+ export declare function prepareForPrivateRegistry(dir: string, client?: NpmRegistryClient): Promise<NpmRegistryFetchResult | undefined>;
770
818
  /**
771
819
  * Removes the `resolved` field from every entry in `.packages` of an npm v2+
772
820
  * lockfile. TS-side counterpart to `scripts/strip-lockfile-resolved.sh`.
@@ -1 +1 @@
1
- {"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/npm-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/npm-registry.ts"],"names":[],"mappings":"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"}