@superblocksteam/vite-plugin-file-sync 2.0.137 → 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.
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +2 -22
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +150 -7
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +10 -0
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +14 -1
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +15 -1
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +2 -1
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +8 -0
- package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -6
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +2 -0
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.js +10 -5
- package/dist/ai-service/agent/tools2/tools/web-fetch.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +25 -7
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
- package/dist/ai-service/app-interface/linter.js +14 -3
- package/dist/ai-service/app-interface/linter.js.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts +19 -14
- package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-package-lookup.js +56 -23
- package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts +96 -48
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.js +247 -220
- package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +36 -0
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +183 -8
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +48 -8
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/app-skills/manager.d.ts +5 -0
- package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
- package/dist/ai-service/app-skills/manager.js +13 -4
- package/dist/ai-service/app-skills/manager.js.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.js +12 -5
- package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
- package/dist/ai-service/index.d.ts +1 -2
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +16 -175
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/judge-eval-service-runner.js +0 -4
- package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
- package/dist/ai-service/judge/judge-service.js +1 -1
- package/dist/ai-service/judge/judge-service.js.map +1 -1
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts +20 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.d.ts.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.js +77 -0
- package/dist/ai-service/knowledge/knowledge-metrics-emitters.js.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics.d.ts +43 -0
- package/dist/ai-service/knowledge/knowledge-metrics.d.ts.map +1 -0
- package/dist/ai-service/knowledge/knowledge-metrics.js +217 -0
- package/dist/ai-service/knowledge/knowledge-metrics.js.map +1 -0
- package/dist/ai-service/llm/client.d.ts +144 -18
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +303 -48
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts +1 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +14 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +3 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +34 -1
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +4 -1
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +19 -4
- package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
- package/dist/ai-service/llm/interaction/provider.d.ts +17 -3
- package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.js +19 -15
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.js +25 -2
- package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +9 -0
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +22 -5
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +17 -12
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +131 -0
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/types.d.ts +17 -6
- package/dist/ai-service/llm/types.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js +13 -5
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js.map +1 -1
- package/dist/ai-service/security/safety-classifier.d.ts +14 -1
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
- package/dist/ai-service/security/safety-classifier.js +26 -12
- package/dist/ai-service/security/safety-classifier.js.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +35 -18
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +7 -5
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +3 -2
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +14 -7
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +40 -27
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +14 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +72 -16
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/next-steps.d.ts +8 -1
- package/dist/ai-service/state-machine/handlers/next-steps.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/next-steps.js +13 -11
- package/dist/ai-service/state-machine/handlers/next-steps.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +3 -2
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +5 -0
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +37 -0
- package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +2 -2
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -2
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/dev-server-ws-smoke-client.d.ts +41 -0
- package/dist/dev-server-ws-smoke-client.d.ts.map +1 -0
- package/dist/dev-server-ws-smoke-client.js +314 -0
- package/dist/dev-server-ws-smoke-client.js.map +1 -0
- package/dist/early-error-relay.d.ts +31 -0
- package/dist/early-error-relay.d.ts.map +1 -0
- package/dist/early-error-relay.js +88 -0
- package/dist/early-error-relay.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts +26 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +82 -43
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +13 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +18 -1
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/file-system-manager.d.ts +0 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +0 -53
- package/dist/file-system-manager.js.map +1 -1
- package/dist/injected-index.d.ts +6 -0
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +59 -14
- package/dist/injected-index.js.map +1 -1
- package/dist/migration/migration-routes.d.ts +3 -0
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +93 -108
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/migration/restructure.d.ts +15 -0
- package/dist/migration/restructure.d.ts.map +1 -1
- package/dist/migration/restructure.js +50 -1
- package/dist/migration/restructure.js.map +1 -1
- package/dist/migration-templates/app-fullstack/eslint.config.js +6 -1
- package/dist/migration-templates/app-fullstack/package.json +2 -1
- package/dist/plugin-options.d.ts +7 -0
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +0 -5
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts +1 -1
- package/dist/sync-service/list-dir.js +3 -3
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts.map +1 -1
- package/dist/util/log-sanitizer.js +13 -6
- package/dist/util/log-sanitizer.js.map +1 -1
- package/dist/util/summarize-for-logging.d.ts +14 -0
- package/dist/util/summarize-for-logging.d.ts.map +1 -0
- package/dist/util/summarize-for-logging.js +94 -0
- package/dist/util/summarize-for-logging.js.map +1 -0
- package/package.json +8 -8
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts +0 -4
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts.map +0 -1
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js +0 -19
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js.map +0 -1
- package/dist/ai-service/llm/impl/anthropic.d.ts +0 -3
- package/dist/ai-service/llm/impl/anthropic.d.ts.map +0 -1
- package/dist/ai-service/llm/impl/anthropic.js +0 -15
- package/dist/ai-service/llm/impl/anthropic.js.map +0 -1
- package/dist/ai-service/prompts/explain-code.d.ts +0 -7
- package/dist/ai-service/prompts/explain-code.d.ts.map +0 -1
- package/dist/ai-service/prompts/explain-code.js +0 -23
- package/dist/ai-service/prompts/explain-code.js.map +0 -1
- package/dist/ai-service/util/json-stream-parser.d.ts +0 -20
- package/dist/ai-service/util/json-stream-parser.d.ts.map +0 -1
- package/dist/ai-service/util/json-stream-parser.js +0 -139
- 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
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
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
|
|
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,
|
|
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,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/npm-registry.ts"],"names":[],"mappings":"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"}
|