@substrat-run/control-plane-api 0.175.0 → 0.177.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/api.d.ts +11 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +408 -59
- package/dist/api.js.map +1 -1
- package/dist/backups.d.ts +51 -9
- package/dist/backups.d.ts.map +1 -1
- package/dist/backups.js +3 -0
- package/dist/backups.js.map +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/builder-turns.d.ts +16 -0
- package/dist/builder-turns.d.ts.map +1 -0
- package/dist/builder-turns.js +43 -0
- package/dist/builder-turns.js.map +1 -0
- package/dist/connection-binding-options.d.ts +14 -0
- package/dist/connection-binding-options.d.ts.map +1 -1
- package/dist/connection-binding-options.js +37 -1
- package/dist/connection-binding-options.js.map +1 -1
- package/dist/connection-binding-relay.d.ts +28 -1
- package/dist/connection-binding-relay.d.ts.map +1 -1
- package/dist/connection-binding-relay.js +92 -4
- package/dist/connection-binding-relay.js.map +1 -1
- package/dist/connection-relay.d.ts +2 -2
- package/dist/connection-relay.d.ts.map +1 -1
- package/dist/connection-relay.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/mask.d.ts.map +1 -1
- package/dist/mask.js +3 -1
- package/dist/mask.js.map +1 -1
- package/dist/migration-extract.d.ts +92 -0
- package/dist/migration-extract.d.ts.map +1 -0
- package/dist/migration-extract.js +217 -0
- package/dist/migration-extract.js.map +1 -0
- package/dist/platform-entry.d.ts +2 -0
- package/dist/platform-entry.d.ts.map +1 -1
- package/dist/platform-entry.js +2 -1
- package/dist/platform-entry.js.map +1 -1
- package/dist/platform-scope-stores.d.ts +9 -11
- package/dist/platform-scope-stores.d.ts.map +1 -1
- package/dist/platform-scope-stores.js +34 -19
- package/dist/platform-scope-stores.js.map +1 -1
- package/dist/r2-backups.d.ts +8 -5
- package/dist/r2-backups.d.ts.map +1 -1
- package/dist/r2-backups.js +109 -36
- package/dist/r2-backups.js.map +1 -1
- package/dist/seal.d.ts +5 -2
- package/dist/seal.d.ts.map +1 -1
- package/dist/seal.js +3 -0
- package/dist/seal.js.map +1 -1
- package/dist/staff-client.d.ts +10 -1
- package/dist/staff-client.d.ts.map +1 -1
- package/dist/staff-client.js +4 -2
- package/dist/staff-client.js.map +1 -1
- package/dist/store-entry.generated.d.ts +7 -2
- package/dist/store-entry.generated.d.ts.map +1 -1
- package/dist/store-entry.generated.js +10 -5
- package/dist/store-entry.generated.js.map +1 -1
- package/dist/vertical-client.d.ts +8 -1
- package/dist/vertical-client.d.ts.map +1 -1
- package/dist/vertical-client.js +21 -3
- package/dist/vertical-client.js.map +1 -1
- package/package.json +9 -9
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { createControlPlaneApi, tenantCredentialPin, CLI_MIN_VERSION_HEADER, CLI
|
|
|
2
2
|
export type { ControlPlaneApiOptions, ConnectionInspector } from './api.js';
|
|
3
3
|
export { DEV_ACTOR_HEADER, SERVICE_TOKEN_HEADER, TENANT_HEADER, UNSAFE_devPlatformActorAuth, sessionPlatformAuth, staffAllowlist, serviceTokenAuth, firstPlatformActorAuth, firstBuilderAuth, confinedTenant, } from './auth.js';
|
|
4
4
|
export { relayConnectionUpsert, ConnectionRelayError, PREVIEW_CONNECTIONS_REFUSAL, PROVEN_CALLER_REFUSAL } from './connection-relay.js';
|
|
5
|
-
export { relayConnectionBind, relayConnectionBindings, relayConnectionUnbind, type ConnectionBindingRelayOptions } from './connection-binding-relay.js';
|
|
5
|
+
export { relayConnectionBind, relayConnectionBindings, relayConnectionSync, relayConnectionUnbind, SYNC_OPERATION_PREFIX, type ConnectionBindingRelayOptions, type ConnectionSyncRelayOptions, type ScopeSync, type ScopeSyncResult, } from './connection-binding-relay.js';
|
|
6
6
|
export type { ConnectionCandidateContext, ConnectionCandidatePrepare, ConnectionCandidatePreparer, ConnectionCandidateProbe, VerticalConnectorDeclarationOf } from './connection-relay.js';
|
|
7
7
|
export { signConnectState, verifyConnectState, ConnectStateError } from './connect-state.js';
|
|
8
8
|
export type { ConnectStateClaim } from './connect-state.js';
|
|
@@ -35,6 +35,7 @@ export type { VerticalClientOptions, ProvisionInstanceInput, ProvisionedInstance
|
|
|
35
35
|
export { callPlatformScopeStore, callPlatformScopeStoreAt, platformScopeStoresFor, runningVersionStoresOf, scopeStoresOf, unrouteScope, unreachablePlatformScopeStores, type PlatformScopeStoreDispatch, type PlatformScopeStores, type DeclaredScopeStore, declaredStoresOf, } from './platform-scope-stores.js';
|
|
36
36
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
|
37
37
|
export type { DeployVerticalFn, FetchVerticalAssetFn, FetchVerticalModulesFn, RecoverAssetContentFn, VerticalBundle, DeclaredBinding, DeployManifest, } from './deploy.js';
|
|
38
|
+
export { extractedMigrationsDigest, extractedMigrationsProblem, loaderMigrationExtractor, MigrationExtractionError, MigrationLoaderUnavailable, readExtraction, type ExtractMigrationsFn, type MigrationLoader, } from './migration-extract.js';
|
|
38
39
|
export { createWfpUploader, createWfpModulesFetcher, createWfpBindingsPatcher } from './wfp.js';
|
|
39
40
|
export { createWfpWireSettingsApi, type WireSettingsApi } from './wire-settings.js';
|
|
40
41
|
export { approvalFactsOf, createScopeStoreEnsurer, createStoreCanaryEnsurer, liveApprovalOf, readStoreScriptSettings, STORE_BUILD_VAR, STORE_RELEASE_VAR, storePlatformFingerprint, type StoreDriverApprovals, } from './store-script.js';
|
|
@@ -68,7 +69,7 @@ export { aggregateReads } from './aggregate-reads.js';
|
|
|
68
69
|
export { sqlCubeStore, CUBE_RETENTION_MS } from './cube-store-sql.js';
|
|
69
70
|
export type { SqlExecLike } from './cube-store-sql.js';
|
|
70
71
|
export type { CfObservabilityOptions } from './cf-observability.js';
|
|
71
|
-
export type { ScopeBackup, ScopeBackupStore, DirectoryBackup, DirectoryBackupStore, } from './backups.js';
|
|
72
|
+
export type { ScopeBackup, ScopeBackupEntry, ScopeBackupStore, ScopeBackupWriter, ScopeDumpHeader, StoredScopeBackup, DirectoryBackup, DirectoryBackupStore, } from './backups.js';
|
|
72
73
|
export { createR2AccessLogSink, createR2BackupStore, createR2DirectoryBackupStore, createR2EventSink, pruneAccessLogBatches, pruneScopeBackups, } from './r2-backups.js';
|
|
73
74
|
export { createPipelinesEventSink } from './pipelines-sink.js';
|
|
74
75
|
export type { LakeQueryEngine } from './lake-gateway.js';
|
|
@@ -81,9 +82,10 @@ export { createPseudonymizer, kindOf, kindUnder } from './pseudonymize.js';
|
|
|
81
82
|
export type { PiiKind, Pseudonymizer } from './pseudonymize.js';
|
|
82
83
|
export { resolveObservabilityWindow, observabilityBucketMinutes } from './observability-window.js';
|
|
83
84
|
export type { ObservabilityWindow, ObservabilityWindowInput } from './observability-window.js';
|
|
84
|
-
export { bindingChangeRefusal, connectionBindingOptions } from './connection-binding-options.js';
|
|
85
|
+
export { bindingChangeRefusal, bindingOptionsRefusal, connectionBindingOptions } from './connection-binding-options.js';
|
|
85
86
|
export { resolveVerticalConnectorTarget, verticalConnectorBinder, verticalConnectorDispatchHandler, verticalConnectorInspector, verticalConnectorReadsOf, verticalConnectorSweeper, } from './vertical-connectors.js';
|
|
86
87
|
export type { VerticalConnectorDeps, VerticalConnectorReads, VerticalConnectorTarget } from './vertical-connectors.js';
|
|
87
88
|
export { gh, appJwt, installationToken, githubConfig, installUrl, type GithubConfig } from './github-app.js';
|
|
88
89
|
export { sourceBuildService } from './source-builds.js';
|
|
90
|
+
export { builderTurnsService, type BuilderTurnsService } from './builder-turns.js';
|
|
89
91
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAExI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { createControlPlaneApi, tenantCredentialPin, CLI_MIN_VERSION_HEADER, CLI
|
|
|
2
2
|
export { DEV_ACTOR_HEADER, SERVICE_TOKEN_HEADER, TENANT_HEADER, UNSAFE_devPlatformActorAuth, sessionPlatformAuth, staffAllowlist, serviceTokenAuth, firstPlatformActorAuth, firstBuilderAuth, confinedTenant, } from './auth.js';
|
|
3
3
|
export { relayConnectionUpsert, ConnectionRelayError, PREVIEW_CONNECTIONS_REFUSAL, PROVEN_CALLER_REFUSAL } from './connection-relay.js';
|
|
4
4
|
// #2732: a scope binds its own connection to itself, unbinds it, and reads its bindings' status.
|
|
5
|
-
export { relayConnectionBind, relayConnectionBindings, relayConnectionUnbind } from './connection-binding-relay.js';
|
|
5
|
+
export { relayConnectionBind, relayConnectionBindings, relayConnectionSync, relayConnectionUnbind, SYNC_OPERATION_PREFIX, } from './connection-binding-relay.js';
|
|
6
6
|
export { signConnectState, verifyConnectState, ConnectStateError } from './connect-state.js';
|
|
7
7
|
export { relayConnectUrl, ConnectUrlRelayError } from './connect-url.js';
|
|
8
8
|
export { relayConnectLinkMint, relayConnectLinkList, relayConnectLinkRevoke, connectLinkViewOf } from './connect-links.js';
|
|
@@ -32,6 +32,7 @@ export { sendEmailHandler, sendFailureStatus, retryAfterSecondsOf, MAX_EMAIL_SEN
|
|
|
32
32
|
export { isTerminalDispatchFailure, isTerminalProviderError, providerErrorStatus, RETRYABLE_CLIENT_STATUSES, } from './provider-error.js';
|
|
33
33
|
export { callPlatformScopeStore, callPlatformScopeStoreAt, platformScopeStoresFor, runningVersionStoresOf, scopeStoresOf, unrouteScope, unreachablePlatformScopeStores, declaredStoresOf, } from './platform-scope-stores.js';
|
|
34
34
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
|
35
|
+
export { extractedMigrationsDigest, extractedMigrationsProblem, loaderMigrationExtractor, MigrationExtractionError, MigrationLoaderUnavailable, readExtraction, } from './migration-extract.js';
|
|
35
36
|
export { createWfpUploader, createWfpModulesFetcher, createWfpBindingsPatcher } from './wfp.js';
|
|
36
37
|
export { createWfpWireSettingsApi } from './wire-settings.js';
|
|
37
38
|
export { approvalFactsOf, createScopeStoreEnsurer, createStoreCanaryEnsurer, liveApprovalOf, readStoreScriptSettings, STORE_BUILD_VAR, STORE_RELEASE_VAR, storePlatformFingerprint, } from './store-script.js';
|
|
@@ -76,8 +77,9 @@ export { maskDump, maskRecords, MASKED } from './mask.js';
|
|
|
76
77
|
export { createPseudonymizer, kindOf, kindUnder } from './pseudonymize.js';
|
|
77
78
|
export { resolveObservabilityWindow, observabilityBucketMinutes } from './observability-window.js';
|
|
78
79
|
// #2316: the binding options a provider takes — the staff door and the connector pass validate with it.
|
|
79
|
-
export { bindingChangeRefusal, connectionBindingOptions } from './connection-binding-options.js';
|
|
80
|
+
export { bindingChangeRefusal, bindingOptionsRefusal, connectionBindingOptions } from './connection-binding-options.js';
|
|
80
81
|
export { resolveVerticalConnectorTarget, verticalConnectorBinder, verticalConnectorDispatchHandler, verticalConnectorInspector, verticalConnectorReadsOf, verticalConnectorSweeper, } from './vertical-connectors.js';
|
|
81
82
|
export { gh, appJwt, installationToken, githubConfig, installUrl } from './github-app.js';
|
|
82
83
|
export { sourceBuildService } from './source-builds.js';
|
|
84
|
+
export { builderTurnsService } from './builder-turns.js';
|
|
83
85
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxI,iGAAiG;AACjG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAmC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiHhG,kFAAkF;AAClF,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAmC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiHhG,kFAAkF;AAClF,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAO3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAM7F;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/mask.js
CHANGED
|
@@ -107,7 +107,9 @@ export async function maskDump(tables, mask) {
|
|
|
107
107
|
const values = new Set();
|
|
108
108
|
sweepTables(tables, collector(values));
|
|
109
109
|
await mask.prepare(values);
|
|
110
|
-
|
|
110
|
+
// #2820: a masked dump carries no module indexes or triggers. Masked values collide (a constant
|
|
111
|
+
// for free text, a short list of names), so a unique index over them would refuse the load.
|
|
112
|
+
return sweepTables(tables, (kind, original) => mask.valueFor(kind, original)).map(({ objects: _, ...t }) => t);
|
|
111
113
|
}
|
|
112
114
|
/**
|
|
113
115
|
* The same heuristic applied to plain JSON records — the directory half of a tenant
|
package/dist/mask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { type DeclaredMigration } from '@substrat-run/contracts';
|
|
2
|
+
import type { VerticalBundle } from './deploy.js';
|
|
3
|
+
/**
|
|
4
|
+
* The control plane reads a version's migrations from its bundle (#2351). The scope host that
|
|
5
|
+
* applies a version's migrations is code inside the vertical's own bundle, so the set the push
|
|
6
|
+
* declared and the set the bundle registers are two lists that nothing else ties together. The
|
|
7
|
+
* control plane evaluates the bundle in an isolate with no bindings and no network, asks each
|
|
8
|
+
* class `defineScopeDO` made for what it registers (`REGISTERED_MIGRATIONS`), and gates on it:
|
|
9
|
+
* a push whose declared migrations are not the registered ones is refused before upload. The
|
|
10
|
+
* stored set is then the registered set; nothing is stored in its place.
|
|
11
|
+
*
|
|
12
|
+
* What it reads is what the bundle registers when evaluated without its bindings, so this is an
|
|
13
|
+
* integrity check on the build, not an isolation boundary: the apply-time check (#2349) stays.
|
|
14
|
+
*/
|
|
15
|
+
/** Evaluate a bundle and read what it registers: null when it exposes no registrations. Throws `MigrationExtractionError`. */
|
|
16
|
+
export type ExtractMigrationsFn = (bundle: Pick<VerticalBundle, 'entry' | 'compatibilityDate' | 'compatibilityFlags' | 'modules'>) => Promise<DeclaredMigration[] | null>;
|
|
17
|
+
/** A bundle that could not be evaluated, did not settle, or whose answer does not read: the bundle's own outcome. */
|
|
18
|
+
export declare class MigrationExtractionError extends Error {
|
|
19
|
+
readonly name = "MigrationExtractionError";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The loader itself failed: the platform could not run the read, which says nothing about the
|
|
23
|
+
* bundle. Retryable, so a caller never answers it as the bundle's fault.
|
|
24
|
+
*/
|
|
25
|
+
export declare class MigrationLoaderUnavailable extends Error {
|
|
26
|
+
readonly name = "MigrationLoaderUnavailable";
|
|
27
|
+
}
|
|
28
|
+
/** The part of a Worker Loader binding this uses (`WorkerLoader` in workers-types). */
|
|
29
|
+
export interface MigrationLoader {
|
|
30
|
+
get(id: string, code: () => {
|
|
31
|
+
compatibilityDate: string;
|
|
32
|
+
compatibilityFlags?: string[];
|
|
33
|
+
mainModule: string;
|
|
34
|
+
modules: Record<string, string | {
|
|
35
|
+
js?: string;
|
|
36
|
+
cjs?: string;
|
|
37
|
+
text?: string;
|
|
38
|
+
data?: ArrayBuffer;
|
|
39
|
+
json?: unknown;
|
|
40
|
+
wasm?: ArrayBuffer;
|
|
41
|
+
}>;
|
|
42
|
+
env?: Record<string, never>;
|
|
43
|
+
globalOutbound?: null;
|
|
44
|
+
limits?: {
|
|
45
|
+
cpuMs?: number;
|
|
46
|
+
};
|
|
47
|
+
}): {
|
|
48
|
+
getEntrypoint(): {
|
|
49
|
+
fetch(url: string): Promise<Response>;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* An `ExtractMigrationsFn` over a Worker Loader binding. The loaded worker is the vertical's own
|
|
55
|
+
* modules (a platform module an archive script carries is left out) behind a main module of the
|
|
56
|
+
* platform's, with `env: {}` and `globalOutbound: null`, so the bundle reaches nothing while it
|
|
57
|
+
* evaluates, and `limits.cpuMs`. Keyed by the bundle's content, so the same bytes evaluated again
|
|
58
|
+
* reuse the isolate.
|
|
59
|
+
*
|
|
60
|
+
* Whose outcome a failure is decides how it is answered: an error the bundle's entry threw, a read
|
|
61
|
+
* over its limits, or one that does not settle within `timeoutMs` is a `MigrationExtractionError`;
|
|
62
|
+
* any other failure of the loader is a `MigrationLoaderUnavailable`.
|
|
63
|
+
*/
|
|
64
|
+
export declare function loaderMigrationExtractor(loader: MigrationLoader, options?: {
|
|
65
|
+
timeoutMs?: number;
|
|
66
|
+
}): ExtractMigrationsFn;
|
|
67
|
+
/**
|
|
68
|
+
* The loaded worker's answer, which is the bundle's data, parsed as a push's migrations are.
|
|
69
|
+
* Classes that register the same module must register the same migrations for it; their
|
|
70
|
+
* registrations are otherwise one set, in the order they came.
|
|
71
|
+
*/
|
|
72
|
+
export declare function readExtraction(raw: unknown): DeclaredMigration[] | null;
|
|
73
|
+
/**
|
|
74
|
+
* Why the migrations a push declares are not the ones its bundle registers, or null when they
|
|
75
|
+
* are: migration for migration within each module, by version, exact SQL and the declared
|
|
76
|
+
* `moves` and `discards`. The order of the modules is not compared (the permission entry and
|
|
77
|
+
* the worker entry may list them differently), the order inside a module is.
|
|
78
|
+
*/
|
|
79
|
+
export declare function extractedMigrationsProblem(declared: readonly DeclaredMigration[], registered: readonly DeclaredMigration[]): string | null;
|
|
80
|
+
/** The sentence a push or a promote is refused with when the two sets differ. */
|
|
81
|
+
export declare const extractedMigrationsRefusal: (problem: string) => string;
|
|
82
|
+
/**
|
|
83
|
+
* What `migrations_extracted` holds for a version: the digest of the migrations read from its
|
|
84
|
+
* bundle. Canonical form: `migrationDigestOf` with no store classes over the registered set,
|
|
85
|
+
* modules ordered by id (ascending, by UTF-16 code unit) and each module's migrations in the
|
|
86
|
+
* order the host applies them; per migration its module, version, the SHA-256 of its exact SQL,
|
|
87
|
+
* and its `moves` and `discards` when it declares any, as `stableJson` frames them. So module
|
|
88
|
+
* order, which the bundle chooses, does not move it, and any change to the SQL or to what a
|
|
89
|
+
* migration declares does.
|
|
90
|
+
*/
|
|
91
|
+
export declare function extractedMigrationsDigest(registered: readonly DeclaredMigration[]): Promise<string>;
|
|
92
|
+
//# sourceMappingURL=migration-extract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-extract.d.ts","sourceRoot":"","sources":["../src/migration-extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD;;;;;;;;;;;GAWG;AAEH,8HAA8H;AAC9H,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC,KAC3F,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;AAEzC,qHAAqH;AACrH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,SAAkB,IAAI,8BAA8B;CACrD;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAAgC;CACvD;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM;QACV,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,WAAW,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACvI,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,cAAc,CAAC,EAAE,IAAI,CAAC;QACtB,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,GACA;QAAE,aAAa,IAAI;YAAE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE;AAqED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,mBAAmB,CAkC3H;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAkBvE;AAeD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GACvC,MAAM,GAAG,IAAI,CAoBf;AAED,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,YAAa,MAAM,KAAG,MAEwC,CAAC;AAEtG;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnG"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { declaredMigration, migrationDigestOf, reviewLine, z } from '@substrat-run/contracts';
|
|
2
|
+
import { PLATFORM_MODULES, platformEntryFlags } from './platform-entry.js';
|
|
3
|
+
/** A bundle that could not be evaluated, did not settle, or whose answer does not read: the bundle's own outcome. */
|
|
4
|
+
export class MigrationExtractionError extends Error {
|
|
5
|
+
name = 'MigrationExtractionError';
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The loader itself failed: the platform could not run the read, which says nothing about the
|
|
9
|
+
* bundle. Retryable, so a caller never answers it as the bundle's fault.
|
|
10
|
+
*/
|
|
11
|
+
export class MigrationLoaderUnavailable extends Error {
|
|
12
|
+
name = 'MigrationLoaderUnavailable';
|
|
13
|
+
}
|
|
14
|
+
/** The main module of the loaded worker. Not a name a bundle can ship: no bundler emits `:`. */
|
|
15
|
+
const EXTRACT_MODULE = 'substrat:extract-migrations.js';
|
|
16
|
+
/** A bundle must start inside the runtime's 1 s startup limit to deploy at all; twice that, for the read. */
|
|
17
|
+
const EXTRACT_CPU_MS = 2000;
|
|
18
|
+
/** How long a read may take in wall time before it counts as a bundle that does not settle. */
|
|
19
|
+
const EXTRACT_TIMEOUT_MS = 10_000;
|
|
20
|
+
/** How much of a bundle's own error text a refusal quotes. */
|
|
21
|
+
const ERROR_TEXT_MAX = 500;
|
|
22
|
+
const clip = (text) => (text.length > ERROR_TEXT_MAX ? `${text.slice(0, ERROR_TEXT_MAX)}…` : text);
|
|
23
|
+
const unevaluable = (why) => new MigrationExtractionError(`the worker entry could not be evaluated without its bindings: ${clip(why)}`);
|
|
24
|
+
/**
|
|
25
|
+
* What the runtime says when the bundle itself is at fault, so pushing it again cannot help: it
|
|
26
|
+
* went over its `limits` or hung, a module failed to start (a syntax error in any of them), or it
|
|
27
|
+
* names a compatibility flag the runtime does not know. Anything else the loader throws is the
|
|
28
|
+
* platform's.
|
|
29
|
+
*/
|
|
30
|
+
const BUNDLE_FAULT = /exceeded (its )?(cpu|resource|memory)|had hung|Failed to start Worker|Uncaught|No such compatibility flag/i;
|
|
31
|
+
/**
|
|
32
|
+
* Imports the vertical's entry inside the request, so a throw at its top level is an answer
|
|
33
|
+
* rather than a worker that never starts, and returns every exported class's registrations.
|
|
34
|
+
*/
|
|
35
|
+
const extractSource = (entry) => `
|
|
36
|
+
const MARK = Symbol.for('substrat.registeredMigrations');
|
|
37
|
+
const failed = (e) => Response.json({ error: String((e && e.message) || e) });
|
|
38
|
+
export default {
|
|
39
|
+
async fetch() {
|
|
40
|
+
let mod;
|
|
41
|
+
try { mod = await import(${JSON.stringify(`./${entry}`)}); } catch (e) { return failed(e); }
|
|
42
|
+
const classes = [];
|
|
43
|
+
try {
|
|
44
|
+
for (const value of Object.values(mod)) {
|
|
45
|
+
if (typeof value === 'function' && typeof value[MARK] === 'function') classes.push(value[MARK]());
|
|
46
|
+
}
|
|
47
|
+
} catch (e) { return failed(e); }
|
|
48
|
+
return Response.json({ classes });
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
`;
|
|
52
|
+
/**
|
|
53
|
+
* A module as the loader takes it, by its content type. A push sends every part as an ES module
|
|
54
|
+
* (the CLI labels each `application/javascript+module`), so a push reads as `js` throughout; the
|
|
55
|
+
* other kinds are for an archive script read back, whose parts carry the runtime's own types.
|
|
56
|
+
*/
|
|
57
|
+
function moduleOf(m) {
|
|
58
|
+
const bytes = m.content;
|
|
59
|
+
const text = () => new TextDecoder().decode(bytes);
|
|
60
|
+
const buffer = () => bytes.slice().buffer;
|
|
61
|
+
if (m.contentType.includes('wasm'))
|
|
62
|
+
return { wasm: buffer() };
|
|
63
|
+
if (m.contentType.startsWith('text/'))
|
|
64
|
+
return { text: text() };
|
|
65
|
+
if (m.contentType.includes('json'))
|
|
66
|
+
return { json: JSON.parse(text()) };
|
|
67
|
+
if (m.contentType === 'application/octet-stream')
|
|
68
|
+
return { data: buffer() };
|
|
69
|
+
if (m.contentType === 'application/javascript' || m.name.endsWith('.cjs'))
|
|
70
|
+
return { cjs: text() };
|
|
71
|
+
return { js: text() };
|
|
72
|
+
}
|
|
73
|
+
const sha256 = async (bytes) => [...new Uint8Array(await crypto.subtle.digest('SHA-256', bytes))].map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
74
|
+
/** The loader id: every input of the loaded worker, each module by its content's digest. */
|
|
75
|
+
async function bundleId(bundle) {
|
|
76
|
+
const modules = await Promise.all(bundle.modules.map(async (m) => [m.name, m.contentType, await sha256(m.content)]));
|
|
77
|
+
return sha256(new TextEncoder().encode(JSON.stringify([bundle.entry, bundle.compatibilityDate, bundle.compatibilityFlags, modules])));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* An `ExtractMigrationsFn` over a Worker Loader binding. The loaded worker is the vertical's own
|
|
81
|
+
* modules (a platform module an archive script carries is left out) behind a main module of the
|
|
82
|
+
* platform's, with `env: {}` and `globalOutbound: null`, so the bundle reaches nothing while it
|
|
83
|
+
* evaluates, and `limits.cpuMs`. Keyed by the bundle's content, so the same bytes evaluated again
|
|
84
|
+
* reuse the isolate.
|
|
85
|
+
*
|
|
86
|
+
* Whose outcome a failure is decides how it is answered: an error the bundle's entry threw, a read
|
|
87
|
+
* over its limits, or one that does not settle within `timeoutMs` is a `MigrationExtractionError`;
|
|
88
|
+
* any other failure of the loader is a `MigrationLoaderUnavailable`.
|
|
89
|
+
*/
|
|
90
|
+
export function loaderMigrationExtractor(loader, options = {}) {
|
|
91
|
+
const timeoutMs = options.timeoutMs ?? EXTRACT_TIMEOUT_MS;
|
|
92
|
+
return async (bundle) => {
|
|
93
|
+
const own = bundle.modules.filter((m) => !PLATFORM_MODULES.has(m.name));
|
|
94
|
+
const id = await bundleId({ ...bundle, modules: own });
|
|
95
|
+
let raw;
|
|
96
|
+
let timer;
|
|
97
|
+
const unsettled = new Promise((_, reject) => {
|
|
98
|
+
timer = setTimeout(() => reject(unevaluable(`it did not settle within ${timeoutMs} ms`)), timeoutMs);
|
|
99
|
+
});
|
|
100
|
+
try {
|
|
101
|
+
const stub = loader.get(id, () => ({
|
|
102
|
+
compatibilityDate: bundle.compatibilityDate,
|
|
103
|
+
// The flags the bundle is uploaded with: the uploader may add `nodejs_als` (#2245).
|
|
104
|
+
compatibilityFlags: platformEntryFlags(bundle.compatibilityFlags).flags,
|
|
105
|
+
mainModule: EXTRACT_MODULE,
|
|
106
|
+
modules: { ...Object.fromEntries(own.map((m) => [m.name, moduleOf(m)])), [EXTRACT_MODULE]: extractSource(bundle.entry) },
|
|
107
|
+
env: {},
|
|
108
|
+
globalOutbound: null,
|
|
109
|
+
limits: { cpuMs: EXTRACT_CPU_MS },
|
|
110
|
+
}));
|
|
111
|
+
raw = await Promise.race([stub.getEntrypoint().fetch('https://extract.invalid/').then((res) => res.json()), unsettled]);
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
if (e instanceof MigrationExtractionError)
|
|
115
|
+
throw e;
|
|
116
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
117
|
+
if (BUNDLE_FAULT.test(message))
|
|
118
|
+
throw unevaluable(message);
|
|
119
|
+
// The runtime's own text stays in the platform's log; the push is told only that it may retry.
|
|
120
|
+
console.error(JSON.stringify({ substrat: 'migration-extract-unavailable', error: clip(message) }));
|
|
121
|
+
throw new MigrationLoaderUnavailable("the platform could not read this bundle's migrations; push again");
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
clearTimeout(timer);
|
|
125
|
+
}
|
|
126
|
+
return readExtraction(raw);
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const extraction = z.union([
|
|
130
|
+
z.object({ classes: z.array(z.array(declaredMigration)) }).strict(),
|
|
131
|
+
z.object({ error: z.string() }).strict(),
|
|
132
|
+
]);
|
|
133
|
+
/**
|
|
134
|
+
* The loaded worker's answer, which is the bundle's data, parsed as a push's migrations are.
|
|
135
|
+
* Classes that register the same module must register the same migrations for it; their
|
|
136
|
+
* registrations are otherwise one set, in the order they came.
|
|
137
|
+
*/
|
|
138
|
+
export function readExtraction(raw) {
|
|
139
|
+
const parsed = extraction.safeParse(raw);
|
|
140
|
+
if (!parsed.success)
|
|
141
|
+
throw new MigrationExtractionError('the bundle answered with migrations that do not read as migrations');
|
|
142
|
+
if ('error' in parsed.data) {
|
|
143
|
+
throw unevaluable(parsed.data.error);
|
|
144
|
+
}
|
|
145
|
+
if (parsed.data.classes.length === 0)
|
|
146
|
+
return null;
|
|
147
|
+
const byModule = new Map();
|
|
148
|
+
for (const registered of parsed.data.classes) {
|
|
149
|
+
for (const [moduleId, migrations] of groupByModule(registered)) {
|
|
150
|
+
const seen = byModule.get(moduleId);
|
|
151
|
+
if (seen && extractedMigrationsProblem(seen, migrations)) {
|
|
152
|
+
throw new MigrationExtractionError(`two Durable Object classes register module ${reviewLine(moduleId)} with different migrations`);
|
|
153
|
+
}
|
|
154
|
+
byModule.set(moduleId, migrations);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return [...byModule.values()].flat();
|
|
158
|
+
}
|
|
159
|
+
function groupByModule(migrations) {
|
|
160
|
+
const out = new Map();
|
|
161
|
+
for (const m of migrations) {
|
|
162
|
+
const list = out.get(m.moduleId);
|
|
163
|
+
if (list)
|
|
164
|
+
list.push(m);
|
|
165
|
+
else
|
|
166
|
+
out.set(m.moduleId, [m]);
|
|
167
|
+
}
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
const sameRecord = (a, b) => JSON.stringify(Object.entries(a ?? {}).sort()) === JSON.stringify(Object.entries(b ?? {}).sort());
|
|
171
|
+
/**
|
|
172
|
+
* Why the migrations a push declares are not the ones its bundle registers, or null when they
|
|
173
|
+
* are: migration for migration within each module, by version, exact SQL and the declared
|
|
174
|
+
* `moves` and `discards`. The order of the modules is not compared (the permission entry and
|
|
175
|
+
* the worker entry may list them differently), the order inside a module is.
|
|
176
|
+
*/
|
|
177
|
+
export function extractedMigrationsProblem(declared, registered) {
|
|
178
|
+
const d = groupByModule(declared);
|
|
179
|
+
const r = groupByModule(registered);
|
|
180
|
+
for (const moduleId of [...new Set([...d.keys(), ...r.keys()])].sort()) {
|
|
181
|
+
const a = d.get(moduleId) ?? [];
|
|
182
|
+
const b = r.get(moduleId) ?? [];
|
|
183
|
+
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
184
|
+
const x = a[i];
|
|
185
|
+
const y = b[i];
|
|
186
|
+
if (x && y && x.version === y.version && x.sql === y.sql && sameRecord(x.moves, y.moves) && sameRecord(x.discards, y.discards)) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
const where = `module ${reviewLine(moduleId)}`;
|
|
190
|
+
if (!y)
|
|
191
|
+
return `${where}: the push declares ${reviewLine(x.version)}, which the bundle does not register`;
|
|
192
|
+
if (!x)
|
|
193
|
+
return `${where}: the bundle registers ${reviewLine(y.version)}, which the push does not declare`;
|
|
194
|
+
if (x.version !== y.version)
|
|
195
|
+
return `${where}: the push declares ${reviewLine(x.version)} where the bundle registers ${reviewLine(y.version)}`;
|
|
196
|
+
return `${where}: ${reviewLine(x.version)} ${x.sql !== y.sql ? 'has other SQL' : 'declares other moves or discards'} in the bundle than in the push`;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
/** The sentence a push or a promote is refused with when the two sets differ. */
|
|
202
|
+
export const extractedMigrationsRefusal = (problem) => `the migrations this version's bundle registers are not the ones its push declared (${problem}). ` +
|
|
203
|
+
'Push again from the build that is deployed, so the stored migrations are the ones it runs (#2351)';
|
|
204
|
+
/**
|
|
205
|
+
* What `migrations_extracted` holds for a version: the digest of the migrations read from its
|
|
206
|
+
* bundle. Canonical form: `migrationDigestOf` with no store classes over the registered set,
|
|
207
|
+
* modules ordered by id (ascending, by UTF-16 code unit) and each module's migrations in the
|
|
208
|
+
* order the host applies them; per migration its module, version, the SHA-256 of its exact SQL,
|
|
209
|
+
* and its `moves` and `discards` when it declares any, as `stableJson` frames them. So module
|
|
210
|
+
* order, which the bundle chooses, does not move it, and any change to the SQL or to what a
|
|
211
|
+
* migration declares does.
|
|
212
|
+
*/
|
|
213
|
+
export function extractedMigrationsDigest(registered) {
|
|
214
|
+
const ordered = [...groupByModule(registered)].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)).flatMap(([, ms]) => ms);
|
|
215
|
+
return migrationDigestOf({ doClasses: [], migrations: ordered });
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=migration-extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-extract.js","sourceRoot":"","sources":["../src/migration-extract.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-entry.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ import { type DeployManifest } from '@substrat-run/contracts';
|
|
|
33
33
|
import type { VerticalBundle } from './deploy.js';
|
|
34
34
|
import { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE } from './platform-entry.generated.js';
|
|
35
35
|
export { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE };
|
|
36
|
+
/** The modules the uploader adds to a bundle; an archive script read back carries them too. */
|
|
37
|
+
export declare const PLATFORM_MODULES: ReadonlySet<string>;
|
|
36
38
|
/**
|
|
37
39
|
* Why a bundle is uploaded without the platform's entry, or `undefined` when it gets one.
|
|
38
40
|
* Exported for the upload's own tests and for anyone asking why a script is not wrapped.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-entry.d.ts","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAGrB,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-entry.d.ts","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAGrB,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAE1D,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA6D,CAAC;AAkB/G;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAc7G;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB;AACrC,qGAAqG;AACrG,QAAQ,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC7G,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAChD;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CA2D1C;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAE5G;AAED,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAK3H;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,oBAAoB,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,GAAG,CAAC,CAkCd"}
|
package/dist/platform-entry.js
CHANGED
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
import { PLATFORM_SWEEPER_BINDING, PLATFORM_SWEEPER_CLASS, PLATFORM_SWEEPER_VAR, PLATFORM_SWEEP_HOST_KEY, sweeperConflict, } from '@substrat-run/contracts';
|
|
33
33
|
import { PLATFORM_ENTRY_ALS_FALLBACK, PLATFORM_ENTRY_ALS_IMPORT, PLATFORM_ENTRY_MODULE, PLATFORM_ENTRY_PLACEHOLDER, PLATFORM_ENTRY_SOURCE, PLATFORM_SWEEPER_MODULE, PLATFORM_SWEEPER_SOURCE, } from './platform-entry.generated.js';
|
|
34
34
|
export { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE };
|
|
35
|
-
|
|
35
|
+
/** The modules the uploader adds to a bundle; an archive script read back carries them too. */
|
|
36
|
+
export const PLATFORM_MODULES = new Set([PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE]);
|
|
36
37
|
/** The line `invocationLog` writes, as it appears in any build: `substrat:"invocation"`. */
|
|
37
38
|
const WRITES_THE_LINE = /substrat['"]?\s*:\s*["']invocation["']/;
|
|
38
39
|
/** The registry a current middleware shares with the platform's copy. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-entry.js","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAE1D,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"platform-entry.js","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,16 +104,13 @@ export declare function unrouteScope(admin: Pick<HostAdmin, 'listHostnames' | 'u
|
|
|
104
104
|
* ordinary install whose store the router serves. A pin that names another script than the
|
|
105
105
|
* pointer's is unknown, as #2242's erasure gate has it.
|
|
106
106
|
*
|
|
107
|
-
* The
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* that record says the vertical has declared none, the answer is none; when it cannot be read, the
|
|
115
|
-
* refusal stands. A bind or promote that lands after the read is the erasure fence's to refuse,
|
|
116
|
-
* as it is for a version that declares none.
|
|
107
|
+
* The vertical's record of declared bindings is read first (`declaredRecordOf`): with no driver
|
|
108
|
+
* registered, or a record that says the vertical has declared none, the answer is none; a record
|
|
109
|
+
* that cannot be read refuses. Only then is the running version read, and a version that cannot be
|
|
110
|
+
* named, a manifest that cannot be read, or one the gate (`mayHoldScopeStores`) says may hold a
|
|
111
|
+
* store without naming it refuses (503), rather than let a backup, a wipe, a replay or an erasure
|
|
112
|
+
* skip a store that may hold data (#2394). A bind or promote that lands after the read is the
|
|
113
|
+
* erasure fence's to refuse, as it is for a version that declares none.
|
|
117
114
|
*
|
|
118
115
|
* `running` is a resolution the caller already holds (`runningVersionOf`), so a caller that fences
|
|
119
116
|
* on the version reads it once and judges the stores against the same read.
|
|
@@ -124,7 +121,8 @@ export declare function runningVersionStoresOf(admin: Pick<HostAdmin, 'verticalS
|
|
|
124
121
|
* (`runningVersionStoresOf`, which still fails closed first), and every binding any version of its
|
|
125
122
|
* vertical has declared (`HostAdmin.verticalScopeStores`, read by its keys). Export, wipe, erasure
|
|
126
123
|
* and the meter reach `all`, so an object under a binding a later version dropped is still
|
|
127
|
-
* reached. A restore imports only into `running` (L8).
|
|
124
|
+
* reached. A restore imports only into `running` (L8). The record is read once, first, and judges
|
|
125
|
+
* both.
|
|
128
126
|
*
|
|
129
127
|
* A binding keeps its driver for the life of the vertical, since publish refuses a driver change; a
|
|
130
128
|
* running version whose driver disagrees with the record, or a record that cannot be read,
|