@substrat-run/kernel 0.121.0 → 0.122.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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/platform-sweep.d.ts +59 -0
- package/dist/platform-sweep.d.ts.map +1 -1
- package/dist/platform-sweep.js +79 -5
- package/dist/platform-sweep.js.map +1 -1
- package/dist/scope-host.d.ts +44 -4
- package/dist/scope-host.d.ts.map +1 -1
- package/dist/scope-host.js.map +1 -1
- package/dist/system-switch.d.ts +2 -2
- package/dist/system-switch.d.ts.map +1 -1
- package/dist/version-migrations.d.ts +108 -0
- package/dist/version-migrations.d.ts.map +1 -0
- package/dist/version-migrations.js +187 -0
- package/dist/version-migrations.js.map +1 -0
- package/dist/vertical-events.d.ts.map +1 -1
- package/dist/vertical-events.js +11 -5
- package/dist/vertical-events.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-switch.d.ts","sourceRoot":"","sources":["../src/system-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,4FAA4F;AAC5F,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAKvD,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"system-switch.d.ts","sourceRoot":"","sources":["../src/system-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,4FAA4F;AAC5F,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAKvD,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;CAC/D;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oHACmD,CAAC;AAE5F;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAErG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAalG;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAWlF;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAK1E;AAED,+FAA+F;AAC/F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAMlF;AAED,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzE,aAAa,CAOf;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxE,aAAa,CA4Ff"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A version's SQL migrations, stored apart from its manifest (#1764), shared by both adapters.
|
|
3
|
+
*
|
|
4
|
+
* Since #1677 a pushed deploy manifest carries its whole cumulative migration set
|
|
5
|
+
* (`migrations: { moduleId, version, sql }[]`). The manifest is one `manifest_json` column on
|
|
6
|
+
* `vertical_versions`, so every read of a version moved that SQL too: `readVersion` on every
|
|
7
|
+
* admit, promote and bind, and every `storedDeployManifest.parse` behind `/registry`, `/model`,
|
|
8
|
+
* `/schedules` and the serving upload. Only the promote review reads the SQL.
|
|
9
|
+
*
|
|
10
|
+
* So `publishVersion` splits the field off: the SQL goes to `vertical_version_migrations`, one
|
|
11
|
+
* row per migration, and the manifest is stored without it. The wire is unchanged, since the
|
|
12
|
+
* CLI still sends `migrations` inside the manifest. Two columns on `vertical_versions` carry
|
|
13
|
+
* what the rows alone cannot:
|
|
14
|
+
*
|
|
15
|
+
* - `migration_count`: how many rows the version stored. **NULL means the version carries no
|
|
16
|
+
* SQL** (pushed before #1677, over the push's caps, or malformed), which a reader must show
|
|
17
|
+
* as "not available", never as "no migrations". `0` is a version whose modules ship none. A
|
|
18
|
+
* read whose row count disagrees with it answers null rather than a short list.
|
|
19
|
+
* - `migrations_split`: 1 once the version's SQL is out of its manifest. NULL is a version
|
|
20
|
+
* stored before this, whose manifest may still carry it. The backfill below moves those a
|
|
21
|
+
* bounded batch at a time, and until it reaches a version the read falls back to that
|
|
22
|
+
* version's manifest. The fallback is only for those rows. A version published by this code
|
|
23
|
+
* is split on the way in.
|
|
24
|
+
*/
|
|
25
|
+
import { type DeclaredMigration } from '@substrat-run/contracts';
|
|
26
|
+
import type { SwitchSql } from './system-switch.js';
|
|
27
|
+
/**
|
|
28
|
+
* The table, and the index the backfill walks. Interpolated into both adapters' directory DDL,
|
|
29
|
+
* so `lint:spine-ddl` sees one spelling on each side. Anything that references this table or
|
|
30
|
+
* this index goes in this fragment, which is what the adapters run after their column additions.
|
|
31
|
+
*
|
|
32
|
+
* The index is partial: it holds only versions still waiting for the backfill, so "is there
|
|
33
|
+
* anything left" is one probe that costs nothing once the backfill is done. It names a column
|
|
34
|
+
* a directory from before #1764 lacks, so the adapters run these statements after their
|
|
35
|
+
* column additions, not in their DDL loop.
|
|
36
|
+
*/
|
|
37
|
+
export declare const VERSION_MIGRATIONS_DDL = "\n CREATE TABLE IF NOT EXISTS vertical_version_migrations (\n version_id TEXT NOT NULL,\n -- The migration's place in the order the host runs them, from 0.\n ordinal INTEGER NOT NULL,\n module_id TEXT NOT NULL,\n -- The module's SqlMigration.version, e.g. 0001-init.\n version TEXT NOT NULL,\n sql TEXT NOT NULL,\n PRIMARY KEY (version_id, ordinal)\n );\n CREATE INDEX IF NOT EXISTS vertical_versions_unsplit\n ON vertical_versions (id) WHERE migrations_split IS NULL;\n";
|
|
38
|
+
/** A manifest with its SQL taken out, and the SQL. */
|
|
39
|
+
export interface SplitManifest {
|
|
40
|
+
/** The manifest to store: without `migrations`, or exactly as given when there was nothing to take. */
|
|
41
|
+
manifestJson: string | null;
|
|
42
|
+
/** The migrations to store, or null when the version carries none that can be stored. */
|
|
43
|
+
migrations: DeclaredMigration[] | null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Take `migrations` out of a manifest.
|
|
47
|
+
*
|
|
48
|
+
* `push` holds the field to the push boundary's caps (`deployManifest`): at most 2000 entries
|
|
49
|
+
* and 512 KiB of SQL, which also bounds every row under a Durable Object's 2 MB row limit.
|
|
50
|
+
* `/deploy` already refuses an over-cap set, before the upload, because it parses the whole
|
|
51
|
+
* manifest with `deployManifest`. This split caps whatever reaches `publishVersion` by any
|
|
52
|
+
* route, including `POST /verticals/:slug/versions`, which stores `manifestJson` unparsed
|
|
53
|
+
* (#1765). There, a field over the caps or not shaped like migrations is dropped and the
|
|
54
|
+
* version reads as "SQL not available", so the promote dialog still asks. `stored` is for a
|
|
55
|
+
* manifest already in the directory, whose history the caps must never make unreadable
|
|
56
|
+
* (`storedDeployManifest`).
|
|
57
|
+
*
|
|
58
|
+
* A manifest that is not a JSON object is returned as it came, with no migrations. The
|
|
59
|
+
* manifest is only rewritten when it has a `migrations` key to remove.
|
|
60
|
+
*/
|
|
61
|
+
export declare function splitManifestMigrations(manifestJson: string | null, mode: 'push' | 'stored'): SplitManifest;
|
|
62
|
+
/** Replace one version's migration rows. The caller sets its `migration_count` and `migrations_split`. */
|
|
63
|
+
export declare function writeVersionMigrations(db: SwitchSql, versionId: string, migrations: readonly DeclaredMigration[] | null): void;
|
|
64
|
+
/**
|
|
65
|
+
* The two reads that find unsplit versions. Named so the kernel's test can EXPLAIN these
|
|
66
|
+
* exact strings: each must be answered from `vertical_versions_unsplit`, never by a scan of
|
|
67
|
+
* every version's row (and its manifest's overflow pages).
|
|
68
|
+
*/
|
|
69
|
+
export declare const UNSPLIT_IDS_SQL = "SELECT id FROM vertical_versions WHERE migrations_split IS NULL ORDER BY id LIMIT ?";
|
|
70
|
+
export declare const UNSPLIT_PROBE_SQL = "SELECT 1 AS present FROM vertical_versions WHERE migrations_split IS NULL LIMIT 1";
|
|
71
|
+
/**
|
|
72
|
+
* How much manifest one batch reads at most, in UTF-8 bytes (the first version is always
|
|
73
|
+
* moved). A stored manifest can be up to about 1.5 MiB, and a batch holds the directory DO.
|
|
74
|
+
* Bytes, because what a batch costs is the bytes it reads: a manifest of four-byte characters
|
|
75
|
+
* is four times its character count.
|
|
76
|
+
*/
|
|
77
|
+
export declare const BATCH_MANIFEST_BYTES: number;
|
|
78
|
+
/**
|
|
79
|
+
* Move the SQL out of the next versions stored before #1764: at most `limit` of them, and
|
|
80
|
+
* at most `BATCH_MANIFEST_BYTES` of manifest. Returns how many it moved, and whether any are
|
|
81
|
+
* left.
|
|
82
|
+
*
|
|
83
|
+
* Bounded so that no one run has to read the whole version history: the Durable-Object
|
|
84
|
+
* adapter runs one batch per alarm and re-arms while any are left, so its constructor never
|
|
85
|
+
* does per-version work. Resumable because each version is marked as it is moved, in the
|
|
86
|
+
* caller's transaction with its rows. A version is moved by the same `splitManifestMigrations`
|
|
87
|
+
* a push goes through, in `stored` mode, so history is read without the push caps.
|
|
88
|
+
*
|
|
89
|
+
* Idempotent: a version that is already split is never selected, and moving one replaces its
|
|
90
|
+
* rows. A directory restored from a dump taken before the backfill comes back unsplit and is
|
|
91
|
+
* simply moved again.
|
|
92
|
+
*/
|
|
93
|
+
export declare function splitVersionMigrationsBatch(db: SwitchSql, limit?: number): {
|
|
94
|
+
moved: number;
|
|
95
|
+
more: boolean;
|
|
96
|
+
};
|
|
97
|
+
/** Whether any version still waits for the backfill. One probe of the partial index. */
|
|
98
|
+
export declare function versionsAwaitSplit(db: SwitchSql): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* One version's migrations, in the order the host runs them. `undefined` when there is no
|
|
101
|
+
* such version. `migrations` is null when the version carries none that can be shown, which
|
|
102
|
+
* a reader must say as "not available", never as "no migrations".
|
|
103
|
+
*/
|
|
104
|
+
export declare function versionMigrationsOf(db: SwitchSql, versionId: string): {
|
|
105
|
+
verticalSlug: string;
|
|
106
|
+
migrations: DeclaredMigration[] | null;
|
|
107
|
+
} | undefined;
|
|
108
|
+
//# sourceMappingURL=version-migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-migrations.d.ts","sourceRoot":"","sources":["../src/version-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,ugBAalC,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,uGAAuG;IACvG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAkB3G;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,GAC9C,IAAI,CASN;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,wFAAwF,CAAC;AACrH,eAAO,MAAM,iBAAiB,sFAAsF,CAAC;AAIrH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AAEpD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,MAAuB,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAiClC;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,GAChB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CA4B9E"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A version's SQL migrations, stored apart from its manifest (#1764), shared by both adapters.
|
|
3
|
+
*
|
|
4
|
+
* Since #1677 a pushed deploy manifest carries its whole cumulative migration set
|
|
5
|
+
* (`migrations: { moduleId, version, sql }[]`). The manifest is one `manifest_json` column on
|
|
6
|
+
* `vertical_versions`, so every read of a version moved that SQL too: `readVersion` on every
|
|
7
|
+
* admit, promote and bind, and every `storedDeployManifest.parse` behind `/registry`, `/model`,
|
|
8
|
+
* `/schedules` and the serving upload. Only the promote review reads the SQL.
|
|
9
|
+
*
|
|
10
|
+
* So `publishVersion` splits the field off: the SQL goes to `vertical_version_migrations`, one
|
|
11
|
+
* row per migration, and the manifest is stored without it. The wire is unchanged, since the
|
|
12
|
+
* CLI still sends `migrations` inside the manifest. Two columns on `vertical_versions` carry
|
|
13
|
+
* what the rows alone cannot:
|
|
14
|
+
*
|
|
15
|
+
* - `migration_count`: how many rows the version stored. **NULL means the version carries no
|
|
16
|
+
* SQL** (pushed before #1677, over the push's caps, or malformed), which a reader must show
|
|
17
|
+
* as "not available", never as "no migrations". `0` is a version whose modules ship none. A
|
|
18
|
+
* read whose row count disagrees with it answers null rather than a short list.
|
|
19
|
+
* - `migrations_split`: 1 once the version's SQL is out of its manifest. NULL is a version
|
|
20
|
+
* stored before this, whose manifest may still carry it. The backfill below moves those a
|
|
21
|
+
* bounded batch at a time, and until it reaches a version the read falls back to that
|
|
22
|
+
* version's manifest. The fallback is only for those rows. A version published by this code
|
|
23
|
+
* is split on the way in.
|
|
24
|
+
*/
|
|
25
|
+
import { deployManifest, storedDeployManifest, } from '@substrat-run/contracts';
|
|
26
|
+
/**
|
|
27
|
+
* The table, and the index the backfill walks. Interpolated into both adapters' directory DDL,
|
|
28
|
+
* so `lint:spine-ddl` sees one spelling on each side. Anything that references this table or
|
|
29
|
+
* this index goes in this fragment, which is what the adapters run after their column additions.
|
|
30
|
+
*
|
|
31
|
+
* The index is partial: it holds only versions still waiting for the backfill, so "is there
|
|
32
|
+
* anything left" is one probe that costs nothing once the backfill is done. It names a column
|
|
33
|
+
* a directory from before #1764 lacks, so the adapters run these statements after their
|
|
34
|
+
* column additions, not in their DDL loop.
|
|
35
|
+
*/
|
|
36
|
+
export const VERSION_MIGRATIONS_DDL = `
|
|
37
|
+
CREATE TABLE IF NOT EXISTS vertical_version_migrations (
|
|
38
|
+
version_id TEXT NOT NULL,
|
|
39
|
+
-- The migration's place in the order the host runs them, from 0.
|
|
40
|
+
ordinal INTEGER NOT NULL,
|
|
41
|
+
module_id TEXT NOT NULL,
|
|
42
|
+
-- The module's SqlMigration.version, e.g. 0001-init.
|
|
43
|
+
version TEXT NOT NULL,
|
|
44
|
+
sql TEXT NOT NULL,
|
|
45
|
+
PRIMARY KEY (version_id, ordinal)
|
|
46
|
+
);
|
|
47
|
+
CREATE INDEX IF NOT EXISTS vertical_versions_unsplit
|
|
48
|
+
ON vertical_versions (id) WHERE migrations_split IS NULL;
|
|
49
|
+
`;
|
|
50
|
+
/**
|
|
51
|
+
* Take `migrations` out of a manifest.
|
|
52
|
+
*
|
|
53
|
+
* `push` holds the field to the push boundary's caps (`deployManifest`): at most 2000 entries
|
|
54
|
+
* and 512 KiB of SQL, which also bounds every row under a Durable Object's 2 MB row limit.
|
|
55
|
+
* `/deploy` already refuses an over-cap set, before the upload, because it parses the whole
|
|
56
|
+
* manifest with `deployManifest`. This split caps whatever reaches `publishVersion` by any
|
|
57
|
+
* route, including `POST /verticals/:slug/versions`, which stores `manifestJson` unparsed
|
|
58
|
+
* (#1765). There, a field over the caps or not shaped like migrations is dropped and the
|
|
59
|
+
* version reads as "SQL not available", so the promote dialog still asks. `stored` is for a
|
|
60
|
+
* manifest already in the directory, whose history the caps must never make unreadable
|
|
61
|
+
* (`storedDeployManifest`).
|
|
62
|
+
*
|
|
63
|
+
* A manifest that is not a JSON object is returned as it came, with no migrations. The
|
|
64
|
+
* manifest is only rewritten when it has a `migrations` key to remove.
|
|
65
|
+
*/
|
|
66
|
+
export function splitManifestMigrations(manifestJson, mode) {
|
|
67
|
+
if (manifestJson === null)
|
|
68
|
+
return { manifestJson, migrations: null };
|
|
69
|
+
let parsed;
|
|
70
|
+
try {
|
|
71
|
+
parsed = JSON.parse(manifestJson);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return { manifestJson, migrations: null };
|
|
75
|
+
}
|
|
76
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed) || !('migrations' in parsed)) {
|
|
77
|
+
return { manifestJson, migrations: null };
|
|
78
|
+
}
|
|
79
|
+
const { migrations: carried, ...rest } = parsed;
|
|
80
|
+
const schema = (mode === 'push' ? deployManifest : storedDeployManifest).shape.migrations;
|
|
81
|
+
const result = schema.safeParse(carried);
|
|
82
|
+
return {
|
|
83
|
+
manifestJson: JSON.stringify(rest),
|
|
84
|
+
migrations: result.success && result.data !== undefined ? result.data : null,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/** Replace one version's migration rows. The caller sets its `migration_count` and `migrations_split`. */
|
|
88
|
+
export function writeVersionMigrations(db, versionId, migrations) {
|
|
89
|
+
db.run('DELETE FROM vertical_version_migrations WHERE version_id = ?', versionId);
|
|
90
|
+
(migrations ?? []).forEach((m, ordinal) => {
|
|
91
|
+
db.run(`INSERT INTO vertical_version_migrations (version_id, ordinal, module_id, version, sql)
|
|
92
|
+
VALUES (?, ?, ?, ?, ?)`, versionId, ordinal, m.moduleId, m.version, m.sql);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The two reads that find unsplit versions. Named so the kernel's test can EXPLAIN these
|
|
97
|
+
* exact strings: each must be answered from `vertical_versions_unsplit`, never by a scan of
|
|
98
|
+
* every version's row (and its manifest's overflow pages).
|
|
99
|
+
*/
|
|
100
|
+
export const UNSPLIT_IDS_SQL = 'SELECT id FROM vertical_versions WHERE migrations_split IS NULL ORDER BY id LIMIT ?';
|
|
101
|
+
export const UNSPLIT_PROBE_SQL = 'SELECT 1 AS present FROM vertical_versions WHERE migrations_split IS NULL LIMIT 1';
|
|
102
|
+
/** How many versions one backfill batch moves at most. */
|
|
103
|
+
const BATCH_VERSIONS = 25;
|
|
104
|
+
/**
|
|
105
|
+
* How much manifest one batch reads at most, in UTF-8 bytes (the first version is always
|
|
106
|
+
* moved). A stored manifest can be up to about 1.5 MiB, and a batch holds the directory DO.
|
|
107
|
+
* Bytes, because what a batch costs is the bytes it reads: a manifest of four-byte characters
|
|
108
|
+
* is four times its character count.
|
|
109
|
+
*/
|
|
110
|
+
export const BATCH_MANIFEST_BYTES = 4 * 1024 * 1024;
|
|
111
|
+
/**
|
|
112
|
+
* Move the SQL out of the next versions stored before #1764: at most `limit` of them, and
|
|
113
|
+
* at most `BATCH_MANIFEST_BYTES` of manifest. Returns how many it moved, and whether any are
|
|
114
|
+
* left.
|
|
115
|
+
*
|
|
116
|
+
* Bounded so that no one run has to read the whole version history: the Durable-Object
|
|
117
|
+
* adapter runs one batch per alarm and re-arms while any are left, so its constructor never
|
|
118
|
+
* does per-version work. Resumable because each version is marked as it is moved, in the
|
|
119
|
+
* caller's transaction with its rows. A version is moved by the same `splitManifestMigrations`
|
|
120
|
+
* a push goes through, in `stored` mode, so history is read without the push caps.
|
|
121
|
+
*
|
|
122
|
+
* Idempotent: a version that is already split is never selected, and moving one replaces its
|
|
123
|
+
* rows. A directory restored from a dump taken before the backfill comes back unsplit and is
|
|
124
|
+
* simply moved again.
|
|
125
|
+
*/
|
|
126
|
+
export function splitVersionMigrationsBatch(db, limit = BATCH_VERSIONS) {
|
|
127
|
+
// The ids come off the partial index alone; each manifest is read only when it is moved.
|
|
128
|
+
const ids = db.all(UNSPLIT_IDS_SQL, limit);
|
|
129
|
+
let moved = 0;
|
|
130
|
+
let bytes = 0;
|
|
131
|
+
for (const { id } of ids) {
|
|
132
|
+
// The candidate is measured before it is taken, so a batch never passes the bound by one
|
|
133
|
+
// more manifest. The first is always taken, or a manifest over the bound would never move.
|
|
134
|
+
// `octet_length` (SQLite 3.43+) counts bytes; `length` would count code points.
|
|
135
|
+
const { size } = db.all('SELECT COALESCE(octet_length(manifest_json), 0) AS size FROM vertical_versions WHERE id = ?', id)[0];
|
|
136
|
+
if (moved > 0 && bytes + size > BATCH_MANIFEST_BYTES)
|
|
137
|
+
break;
|
|
138
|
+
bytes += size;
|
|
139
|
+
const { manifest_json: stored } = db.all('SELECT manifest_json FROM vertical_versions WHERE id = ?', id)[0];
|
|
140
|
+
const split = splitManifestMigrations(stored, 'stored');
|
|
141
|
+
writeVersionMigrations(db, id, split.migrations);
|
|
142
|
+
const count = split.migrations?.length ?? null;
|
|
143
|
+
// A manifest with nothing taken out is left where it is, not rewritten.
|
|
144
|
+
if (split.manifestJson === stored) {
|
|
145
|
+
db.run('UPDATE vertical_versions SET migration_count = ?, migrations_split = 1 WHERE id = ?', count, id);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
db.run('UPDATE vertical_versions SET manifest_json = ?, migration_count = ?, migrations_split = 1 WHERE id = ?', split.manifestJson, count, id);
|
|
149
|
+
}
|
|
150
|
+
moved++;
|
|
151
|
+
}
|
|
152
|
+
return { moved, more: versionsAwaitSplit(db) };
|
|
153
|
+
}
|
|
154
|
+
/** Whether any version still waits for the backfill. One probe of the partial index. */
|
|
155
|
+
export function versionsAwaitSplit(db) {
|
|
156
|
+
return db.all(UNSPLIT_PROBE_SQL).length > 0;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* One version's migrations, in the order the host runs them. `undefined` when there is no
|
|
160
|
+
* such version. `migrations` is null when the version carries none that can be shown, which
|
|
161
|
+
* a reader must say as "not available", never as "no migrations".
|
|
162
|
+
*/
|
|
163
|
+
export function versionMigrationsOf(db, versionId) {
|
|
164
|
+
// The manifest is read only for a version the backfill has not reached: its SQL, if any,
|
|
165
|
+
// is still in there. A split version's manifest carries none, so it is left unread.
|
|
166
|
+
const row = db.all(`SELECT vertical_slug, migration_count, migrations_split,
|
|
167
|
+
CASE WHEN migrations_split IS NULL THEN manifest_json END AS manifest_json
|
|
168
|
+
FROM vertical_versions WHERE id = ?`, versionId)[0];
|
|
169
|
+
if (!row)
|
|
170
|
+
return undefined;
|
|
171
|
+
if (row.migrations_split === null) {
|
|
172
|
+
return { verticalSlug: row.vertical_slug, migrations: splitManifestMigrations(row.manifest_json, 'stored').migrations };
|
|
173
|
+
}
|
|
174
|
+
if (row.migration_count === null)
|
|
175
|
+
return { verticalSlug: row.vertical_slug, migrations: null };
|
|
176
|
+
const rows = db.all(`SELECT module_id, version, sql FROM vertical_version_migrations
|
|
177
|
+
WHERE version_id = ? ORDER BY ordinal`, versionId);
|
|
178
|
+
// Never a short list: rows that disagree with the count are not the version's migrations.
|
|
179
|
+
if (rows.length !== row.migration_count)
|
|
180
|
+
return { verticalSlug: row.vertical_slug, migrations: null };
|
|
181
|
+
return {
|
|
182
|
+
verticalSlug: row.vertical_slug,
|
|
183
|
+
// Parsed on the way in (`splitManifestMigrations`), so the brand is the stored value's.
|
|
184
|
+
migrations: rows.map((r) => ({ moduleId: r.module_id, version: r.version, sql: r.sql })),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=version-migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-migrations.js","sourceRoot":"","sources":["../src/version-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACL,cAAc,EACd,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;CAarC,CAAC;AAUF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA2B,EAAE,IAAuB;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;QACxG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KAC7E,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,sBAAsB,CACpC,EAAa,EACb,SAAiB,EACjB,UAA+C;IAE/C,EAAE,CAAC,GAAG,CAAC,8DAA8D,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACxC,EAAE,CAAC,GAAG,CACJ;8BACwB,EACxB,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,qFAAqF,CAAC;AACrH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mFAAmF,CAAC;AAErH,0DAA0D;AAC1D,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CACzC,EAAa,EACb,KAAK,GAAW,cAAc;IAE9B,yFAAyF;IACzF,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAqB,CAAC;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC;QACzB,yFAAyF;QACzF,2FAA2F;QAC3F,gFAAgF;QAChF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CACrB,6FAA6F,EAC7F,EAAE,CACH,CAAC,CAAC,CAAqB,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,oBAAoB;YAAE,MAAM;QAC5D,KAAK,IAAI,IAAI,CAAC;QACd,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,0DAA0D,EAAE,EAAE,CAAC,CAAC,CAAC,CAEzG,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;QAC/C,wEAAwE;QACxE,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAClC,EAAE,CAAC,GAAG,CAAC,qFAAqF,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CACJ,wGAAwG,EACxG,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAC9B,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,EAAa;IAC9C,OAAO,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAa,EACb,SAAiB;IAEjB,yFAAyF;IACzF,oFAAoF;IACpF,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAChB;;2CAEuC,EACvC,SAAS,CACV,CAAC,CAAC,CAEU,CAAC;IACd,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1H,CAAC;IACD,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/F,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CACjB;4CACwC,EACxC,SAAS,CAC+C,CAAC;IAC3D,0FAA0F;IAC1F,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,eAAe;QAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACtG,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,wFAAwF;QACxF,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAqB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KACrG,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertical-events.d.ts","sourceRoot":"","sources":["../src/vertical-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAElB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,mBAAmB,+hIAmE/B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,GACZ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"vertical-events.d.ts","sourceRoot":"","sources":["../src/vertical-events.ts"],"names":[],"mappings":"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"}
|
package/dist/vertical-events.js
CHANGED
|
@@ -104,12 +104,17 @@ export const VERTICAL_EVENTS_DDL = `
|
|
|
104
104
|
export function exportReadQuery(types, after, limit) {
|
|
105
105
|
if (types.length === 0)
|
|
106
106
|
throw new Error('exportReadQuery: no types to read');
|
|
107
|
-
|
|
107
|
+
// The types travel as ONE bound JSON array (#1776): a Durable Object binds at most 100
|
|
108
|
+
// parameters, and nothing caps how many event types a manifest exports. The plan depends on
|
|
109
|
+
// there being no table statistics: with none, this seeks `_substrat_outbox_type_id` as the
|
|
110
|
+
// old `IN (?, …)` did. After an ANALYZE, SQLite walks the primary key with a bloom filter
|
|
111
|
+
// instead. The platform runs neither ANALYZE nor `PRAGMA optimize`, but a module's `ctx.sql` can
|
|
112
|
+
// (#1787). Whoever adds one should recheck this plan (`adapter-cloudflare/test/do-sql-limits.test.ts` pins it).
|
|
108
113
|
return {
|
|
109
|
-
sql:
|
|
114
|
+
sql: 'SELECT * FROM _substrat_outbox WHERE type IN (SELECT value FROM json_each(?))' +
|
|
110
115
|
(after === null ? '' : ' AND id > ?') +
|
|
111
116
|
' ORDER BY id LIMIT ?',
|
|
112
|
-
params: [
|
|
117
|
+
params: [JSON.stringify(types), ...(after === null ? [] : [after]), limit],
|
|
113
118
|
};
|
|
114
119
|
}
|
|
115
120
|
/**
|
|
@@ -262,8 +267,9 @@ export function exportedSinceQuery(types, mark) {
|
|
|
262
267
|
if (types.length === 0)
|
|
263
268
|
throw new Error('exportedSinceQuery: no types to count');
|
|
264
269
|
return {
|
|
265
|
-
|
|
266
|
-
|
|
270
|
+
// One bound JSON array, on `exportReadQuery`'s reasoning (#1776).
|
|
271
|
+
sql: 'SELECT COUNT(*) AS n FROM _substrat_outbox WHERE rowid > ? AND type IN (SELECT value FROM json_each(?))',
|
|
272
|
+
params: [mark, JSON.stringify(types)],
|
|
267
273
|
};
|
|
268
274
|
}
|
|
269
275
|
/** The consumer's watermark per producer, oldest source first. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertical-events.js","sourceRoot":"","sources":["../src/vertical-events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vertical-events.js","sourceRoot":"","sources":["../src/vertical-events.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.122.0",
|
|
4
4
|
"description": "Substrat kernel contracts and services — pure TypeScript, no platform imports (D-14)",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@substrat-run/contracts": "^0.
|
|
25
|
+
"@substrat-run/contracts": "^0.122.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.0.0",
|