@ontrails/core 1.0.0-beta.14 → 1.0.0-beta.15
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/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +11 -0
- package/README.md +17 -13
- package/dist/branded.d.ts +1 -1
- package/dist/branded.d.ts.map +1 -1
- package/dist/branded.js +1 -1
- package/dist/branded.js.map +1 -1
- package/dist/context.d.ts +13 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +19 -3
- package/dist/context.js.map +1 -1
- package/dist/contour.d.ts +81 -0
- package/dist/contour.d.ts.map +1 -0
- package/dist/contour.js +176 -0
- package/dist/contour.js.map +1 -0
- package/dist/cross-schema.d.ts +18 -0
- package/dist/cross-schema.d.ts.map +1 -0
- package/dist/cross-schema.js +29 -0
- package/dist/cross-schema.js.map +1 -0
- package/dist/draft.d.ts +5 -5
- package/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +28 -27
- package/dist/draft.js.map +1 -1
- package/dist/errors.d.ts +62 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +44 -1
- package/dist/errors.js.map +1 -1
- package/dist/execute.d.ts +26 -9
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +441 -20
- package/dist/execute.js.map +1 -1
- package/dist/fire.d.ts +43 -0
- package/dist/fire.d.ts.map +1 -0
- package/dist/fire.js +185 -0
- package/dist/fire.js.map +1 -0
- package/dist/index.d.ts +31 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -13
- package/dist/index.js.map +1 -1
- package/dist/internal/cross-batch.d.ts +44 -0
- package/dist/internal/cross-batch.d.ts.map +1 -0
- package/dist/internal/cross-batch.js +58 -0
- package/dist/internal/cross-batch.js.map +1 -0
- package/dist/internal/fork-ctx.d.ts +41 -0
- package/dist/internal/fork-ctx.d.ts.map +1 -0
- package/dist/internal/fork-ctx.js +47 -0
- package/dist/internal/fork-ctx.js.map +1 -0
- package/dist/internal/signal-ref.d.ts +15 -0
- package/dist/internal/signal-ref.d.ts.map +1 -0
- package/dist/internal/signal-ref.js +41 -0
- package/dist/internal/signal-ref.js.map +1 -0
- package/dist/internal/topo-saves.d.ts +8 -2
- package/dist/internal/topo-saves.d.ts.map +1 -1
- package/dist/internal/topo-saves.js +162 -23
- package/dist/internal/topo-saves.js.map +1 -1
- package/dist/internal/topo-snapshots.d.ts +57 -0
- package/dist/internal/topo-snapshots.d.ts.map +1 -0
- package/dist/internal/topo-snapshots.js +372 -0
- package/dist/internal/topo-snapshots.js.map +1 -0
- package/dist/internal/topo-store-read.d.ts +23 -20
- package/dist/internal/topo-store-read.d.ts.map +1 -1
- package/dist/internal/topo-store-read.js +82 -83
- package/dist/internal/topo-store-read.js.map +1 -1
- package/dist/internal/topo-store.d.ts +19 -5
- package/dist/internal/topo-store.d.ts.map +1 -1
- package/dist/internal/topo-store.js +174 -124
- package/dist/internal/topo-store.js.map +1 -1
- package/dist/internal/tracing.d.ts +98 -0
- package/dist/internal/tracing.d.ts.map +1 -0
- package/dist/internal/tracing.js +102 -0
- package/dist/internal/tracing.js.map +1 -0
- package/dist/internal/trails-db.d.ts +2 -2
- package/dist/internal/trails-db.d.ts.map +1 -1
- package/dist/internal/trails-db.js +8 -8
- package/dist/internal/trails-db.js.map +1 -1
- package/dist/internal/zod-wrappers.d.ts +40 -0
- package/dist/internal/zod-wrappers.d.ts.map +1 -0
- package/dist/internal/zod-wrappers.js +59 -0
- package/dist/internal/zod-wrappers.js.map +1 -0
- package/dist/layer.d.ts +22 -5
- package/dist/layer.d.ts.map +1 -1
- package/dist/layer.js +20 -3
- package/dist/layer.js.map +1 -1
- package/dist/path-security.d.ts +1 -1
- package/dist/path-security.d.ts.map +1 -1
- package/dist/path-security.js +1 -1
- package/dist/path-security.js.map +1 -1
- package/dist/resilience.d.ts +1 -1
- package/dist/resilience.d.ts.map +1 -1
- package/dist/resilience.js +3 -3
- package/dist/resilience.js.map +1 -1
- package/dist/resource-config.d.ts +22 -0
- package/dist/resource-config.d.ts.map +1 -0
- package/dist/resource-config.js +210 -0
- package/dist/resource-config.js.map +1 -0
- package/dist/resource.d.ts +74 -0
- package/dist/resource.d.ts.map +1 -0
- package/dist/resource.js +61 -0
- package/dist/resource.js.map +1 -0
- package/dist/run.d.ts +4 -3
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +5 -4
- package/dist/run.js.map +1 -1
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +2 -1
- package/dist/serialization.js.map +1 -1
- package/dist/store/accessor-protocol.d.ts +51 -0
- package/dist/store/accessor-protocol.d.ts.map +1 -0
- package/dist/store/accessor-protocol.js +2 -0
- package/dist/store/accessor-protocol.js.map +1 -0
- package/dist/store/index.d.ts +2 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +2 -0
- package/dist/store/index.js.map +1 -0
- package/dist/surface-filter.d.ts +13 -0
- package/dist/surface-filter.d.ts.map +1 -0
- package/dist/surface-filter.js +76 -0
- package/dist/surface-filter.js.map +1 -0
- package/dist/topo-store.d.ts +36 -22
- package/dist/topo-store.d.ts.map +1 -1
- package/dist/topo-store.js +215 -71
- package/dist/topo-store.js.map +1 -1
- package/dist/topo.d.ts +23 -9
- package/dist/topo.d.ts.map +1 -1
- package/dist/topo.js +175 -46
- package/dist/topo.js.map +1 -1
- package/dist/trail.d.ts +86 -19
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +59 -4
- package/dist/trail.js.map +1 -1
- package/dist/trails/derive-trail.d.ts +66 -0
- package/dist/trails/derive-trail.d.ts.map +1 -0
- package/dist/trails/derive-trail.js +378 -0
- package/dist/trails/derive-trail.js.map +1 -0
- package/dist/trails/index.d.ts +5 -0
- package/dist/trails/index.d.ts.map +1 -0
- package/dist/trails/index.js +3 -0
- package/dist/trails/index.js.map +1 -0
- package/dist/trails/ingest.d.ts +24 -0
- package/dist/trails/ingest.d.ts.map +1 -0
- package/dist/trails/ingest.js +63 -0
- package/dist/trails/ingest.js.map +1 -0
- package/dist/transport-error-map.d.ts +106 -0
- package/dist/transport-error-map.d.ts.map +1 -0
- package/dist/transport-error-map.js +24 -0
- package/dist/transport-error-map.js.map +1 -0
- package/dist/type-checks.test-d.d.ts +71 -0
- package/dist/type-checks.test-d.d.ts.map +1 -0
- package/dist/type-checks.test-d.js +12 -0
- package/dist/type-checks.test-d.js.map +1 -0
- package/dist/type-utils.d.ts +11 -2
- package/dist/type-utils.d.ts.map +1 -1
- package/dist/type-utils.js.map +1 -1
- package/dist/types.d.ts +113 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validate-established-topo.js +2 -2
- package/dist/validate-established-topo.js.map +1 -1
- package/dist/validate-topo.d.ts.map +1 -1
- package/dist/validate-topo.js +24 -7
- package/dist/validate-topo.js.map +1 -1
- package/dist/workspace.d.ts +1 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +1 -1
- package/dist/workspace.js.map +1 -1
- package/package.json +8 -2
- package/src/__tests__/branded.test.ts +5 -5
- package/src/__tests__/context.test.ts +3 -3
- package/src/__tests__/contour.test.ts +263 -0
- package/src/__tests__/derive-trail.test.ts +668 -0
- package/src/__tests__/errors.test.ts +118 -0
- package/src/__tests__/execute.test.ts +1179 -141
- package/src/__tests__/fire.test.ts +1056 -0
- package/src/__tests__/fork-ctx.test.ts +83 -0
- package/src/__tests__/ingest.test.ts +191 -0
- package/src/__tests__/{gate.test.ts → layer.test.ts} +21 -21
- package/src/__tests__/path-security.test.ts +7 -7
- package/src/__tests__/resilience.test.ts +8 -8
- package/src/__tests__/resource.test.ts +204 -0
- package/src/__tests__/run.test.ts +13 -13
- package/src/__tests__/service-config.test.ts +28 -32
- package/src/__tests__/surface-filter.test.ts +196 -0
- package/src/__tests__/topo-store-read.test.ts +41 -36
- package/src/__tests__/topo-store.test.ts +493 -93
- package/src/__tests__/topo.test.ts +350 -54
- package/src/__tests__/trail.test.ts +189 -24
- package/src/__tests__/trails-db.test.ts +32 -25
- package/src/__tests__/transport-error-map.test.ts +82 -0
- package/src/__tests__/type-utils.test.ts +29 -1
- package/src/__tests__/validate-topo.test.ts +147 -25
- package/src/__tests__/workspace.test.ts +6 -6
- package/src/__tests__/zod-wrappers.test.ts +62 -0
- package/src/branded.ts +1 -1
- package/src/context.ts +24 -4
- package/src/contour.ts +344 -0
- package/src/cross-schema.ts +36 -0
- package/src/draft.ts +56 -52
- package/src/errors.ts +62 -18
- package/src/execute.ts +840 -29
- package/src/fire.ts +295 -0
- package/src/index.ts +116 -29
- package/src/internal/cross-batch.ts +77 -0
- package/src/internal/fork-ctx.ts +69 -0
- package/src/internal/signal-ref.ts +87 -0
- package/src/internal/topo-snapshots.ts +517 -0
- package/src/internal/topo-store-read.ts +140 -132
- package/src/internal/topo-store.ts +291 -186
- package/src/internal/tracing.ts +187 -0
- package/src/internal/trails-db.ts +9 -11
- package/src/internal/zod-wrappers.ts +78 -0
- package/src/layer.ts +50 -0
- package/src/path-security.ts +1 -1
- package/src/resilience.ts +3 -3
- package/src/{provision-config.ts → resource-config.ts} +109 -123
- package/src/resource.ts +155 -0
- package/src/run.ts +5 -4
- package/src/serialization.ts +2 -0
- package/src/store/accessor-protocol.ts +56 -0
- package/src/store/index.ts +4 -0
- package/src/surface-filter.ts +182 -0
- package/src/topo-store.ts +313 -104
- package/src/topo.ts +328 -57
- package/src/trail.ts +199 -31
- package/src/trails/derive-trail.ts +842 -0
- package/src/trails/index.ts +9 -0
- package/src/trails/ingest.ts +146 -0
- package/src/transport-error-map.ts +56 -0
- package/src/type-checks.test-d.ts +106 -0
- package/src/type-utils.ts +17 -2
- package/src/types.ts +148 -11
- package/src/validate-established-topo.ts +2 -2
- package/src/validate-topo.ts +32 -8
- package/src/workspace.ts +1 -1
- package/tsconfig.tests.json +10 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/adapters.d.ts +0 -39
- package/dist/adapters.d.ts.map +0 -1
- package/dist/adapters.js +0 -2
- package/dist/adapters.js.map +0 -1
- package/dist/dispatch.d.ts +0 -27
- package/dist/dispatch.d.ts.map +0 -1
- package/dist/dispatch.js +0 -34
- package/dist/dispatch.js.map +0 -1
- package/dist/event.d.ts +0 -8
- package/dist/event.d.ts.map +0 -1
- package/dist/event.js +0 -7
- package/dist/event.js.map +0 -1
- package/dist/gate.d.ts +0 -17
- package/dist/gate.d.ts.map +0 -1
- package/dist/gate.js +0 -21
- package/dist/gate.js.map +0 -1
- package/dist/health.d.ts +0 -18
- package/dist/health.d.ts.map +0 -1
- package/dist/health.js +0 -5
- package/dist/health.js.map +0 -1
- package/dist/job.d.ts +0 -24
- package/dist/job.d.ts.map +0 -1
- package/dist/job.js +0 -17
- package/dist/job.js.map +0 -1
- package/dist/provision-config.d.ts +0 -22
- package/dist/provision-config.d.ts.map +0 -1
- package/dist/provision-config.js +0 -210
- package/dist/provision-config.js.map +0 -1
- package/dist/provision.d.ts +0 -71
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -56
- package/dist/provision.js.map +0 -1
- package/dist/service-config.d.ts +0 -22
- package/dist/service-config.d.ts.map +0 -1
- package/dist/service-config.js +0 -210
- package/dist/service-config.js.map +0 -1
- package/dist/service.d.ts +0 -71
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -56
- package/dist/service.js.map +0 -1
- package/src/__tests__/service.test.ts +0 -197
- package/src/event.ts +0 -15
- package/src/gate.ts +0 -44
- package/src/internal/topo-saves.ts +0 -429
- package/src/provision.ts +0 -148
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ValidationError } from '../errors.js';
|
|
2
|
-
import {
|
|
2
|
+
import { listTopoSnapshots, readPinnedTopoSnapshot, readTopoSnapshot, } from './topo-snapshots.js';
|
|
3
3
|
import { getStoredTopoExport } from './topo-store.js';
|
|
4
4
|
const ensureSingleRefSelector = (ref) => {
|
|
5
|
-
if (ref?.pin !== undefined && ref.
|
|
6
|
-
throw new ValidationError('Topo store references may use pin or
|
|
5
|
+
if (ref?.pin !== undefined && ref.snapshotId !== undefined) {
|
|
6
|
+
throw new ValidationError('Topo store references may use pin or snapshotId, not both');
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
9
|
const normalizeIntent = (intent) => {
|
|
@@ -25,24 +25,23 @@ const parseMeta = (value) => value === null
|
|
|
25
25
|
? null
|
|
26
26
|
: JSON.parse(value);
|
|
27
27
|
const parseJson = (value) => JSON.parse(value);
|
|
28
|
-
const
|
|
28
|
+
const readSnapshotRef = (db, ref) => {
|
|
29
29
|
ensureSingleRefSelector(ref);
|
|
30
|
-
if (ref?.
|
|
31
|
-
return
|
|
30
|
+
if (ref?.snapshotId !== undefined) {
|
|
31
|
+
return readTopoSnapshot(db, ref.snapshotId);
|
|
32
32
|
}
|
|
33
33
|
if (ref?.pin !== undefined) {
|
|
34
|
-
|
|
35
|
-
return pin === undefined ? undefined : getTopoSave(db, pin.saveId);
|
|
34
|
+
return readPinnedTopoSnapshot(db, ref.pin);
|
|
36
35
|
}
|
|
37
|
-
return
|
|
36
|
+
return listTopoSnapshots(db, { limit: 1 })[0];
|
|
38
37
|
};
|
|
39
|
-
const readStoredEntry = (db,
|
|
40
|
-
const stored = getStoredTopoExport(db,
|
|
38
|
+
const readStoredEntry = (db, snapshotId, kind, id) => {
|
|
39
|
+
const stored = getStoredTopoExport(db, snapshotId);
|
|
41
40
|
if (stored === undefined) {
|
|
42
41
|
return undefined;
|
|
43
42
|
}
|
|
44
|
-
const map = JSON.parse(stored.
|
|
45
|
-
return map.entries.find((entry) => entry.
|
|
43
|
+
const map = JSON.parse(stored.surfaceMapJson);
|
|
44
|
+
return map.entries.find((entry) => entry.id === id && entry.kind === kind);
|
|
46
45
|
};
|
|
47
46
|
const mapTrailRow = (row) => {
|
|
48
47
|
const intent = normalizeIntent(row.intent);
|
|
@@ -56,30 +55,31 @@ const mapTrailRow = (row) => {
|
|
|
56
55
|
intent,
|
|
57
56
|
kind: 'trail',
|
|
58
57
|
meta: parseMeta(row.meta),
|
|
58
|
+
pattern: row.pattern,
|
|
59
59
|
safety: safetyForIntent(intent),
|
|
60
|
-
|
|
60
|
+
snapshotId: row.snapshot_id,
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
|
-
const readTrailCrossings = (db,
|
|
63
|
+
const readTrailCrossings = (db, snapshotId, trailId) => db
|
|
64
64
|
.query(`SELECT target_id
|
|
65
65
|
FROM topo_crossings
|
|
66
|
-
WHERE
|
|
66
|
+
WHERE snapshot_id = ? AND source_id = ?
|
|
67
67
|
ORDER BY target_id ASC`)
|
|
68
|
-
.all(
|
|
68
|
+
.all(snapshotId, trailId)
|
|
69
69
|
.map((row) => row.target_id);
|
|
70
|
-
const
|
|
71
|
-
.query(`SELECT
|
|
72
|
-
FROM
|
|
73
|
-
WHERE
|
|
74
|
-
ORDER BY
|
|
75
|
-
.all(
|
|
76
|
-
.map((row) => row.
|
|
77
|
-
const readTrailExamples = (db,
|
|
70
|
+
const readTrailResourceIds = (db, snapshotId, trailId) => db
|
|
71
|
+
.query(`SELECT resource_id
|
|
72
|
+
FROM topo_trail_resources
|
|
73
|
+
WHERE snapshot_id = ? AND trail_id = ?
|
|
74
|
+
ORDER BY resource_id ASC`)
|
|
75
|
+
.all(snapshotId, trailId)
|
|
76
|
+
.map((row) => row.resource_id);
|
|
77
|
+
const readTrailExamples = (db, snapshotId, trailId) => db
|
|
78
78
|
.query(`SELECT ordinal, name, description, input, expected, error
|
|
79
79
|
FROM topo_examples
|
|
80
|
-
WHERE
|
|
80
|
+
WHERE snapshot_id = ? AND trail_id = ?
|
|
81
81
|
ORDER BY ordinal ASC`)
|
|
82
|
-
.all(
|
|
82
|
+
.all(snapshotId, trailId)
|
|
83
83
|
.map((row) => ({
|
|
84
84
|
description: row.description,
|
|
85
85
|
error: row.error,
|
|
@@ -88,87 +88,86 @@ const readTrailExamples = (db, saveId, trailId) => db
|
|
|
88
88
|
name: row.name,
|
|
89
89
|
ordinal: row.ordinal,
|
|
90
90
|
}));
|
|
91
|
-
const
|
|
91
|
+
const readResourceUsage = (db, snapshotId) => {
|
|
92
92
|
const rows = db
|
|
93
|
-
.query(`SELECT
|
|
94
|
-
FROM
|
|
95
|
-
WHERE
|
|
96
|
-
ORDER BY
|
|
97
|
-
.all(
|
|
93
|
+
.query(`SELECT resource_id, trail_id
|
|
94
|
+
FROM topo_trail_resources
|
|
95
|
+
WHERE snapshot_id = ?
|
|
96
|
+
ORDER BY resource_id ASC, trail_id ASC`)
|
|
97
|
+
.all(snapshotId);
|
|
98
98
|
const usage = new Map();
|
|
99
99
|
for (const row of rows) {
|
|
100
|
-
const trails = usage.get(row.
|
|
100
|
+
const trails = usage.get(row.resource_id) ?? [];
|
|
101
101
|
trails.push(row.trail_id);
|
|
102
|
-
usage.set(row.
|
|
102
|
+
usage.set(row.resource_id, trails);
|
|
103
103
|
}
|
|
104
104
|
return new Map([...usage.entries()].map(([id, trails]) => [id, trails]));
|
|
105
105
|
};
|
|
106
|
-
export const
|
|
107
|
-
export const
|
|
108
|
-
export const listTopoStoreSaves = (db) => listTopoSaves(db);
|
|
106
|
+
export const readTopoStoreSnapshot = (db, ref) => readSnapshotRef(db, ref);
|
|
107
|
+
export const listTopoStoreSnapshots = (db, options) => listTopoSnapshots(db, options);
|
|
109
108
|
export const getTopoStoreExport = (db, ref) => {
|
|
110
|
-
const
|
|
111
|
-
if (
|
|
109
|
+
const snapshot = readSnapshotRef(db, ref);
|
|
110
|
+
if (snapshot === undefined) {
|
|
112
111
|
return undefined;
|
|
113
112
|
}
|
|
114
|
-
const stored = getStoredTopoExport(db,
|
|
113
|
+
const stored = getStoredTopoExport(db, snapshot.id);
|
|
115
114
|
if (stored === undefined) {
|
|
116
115
|
return undefined;
|
|
117
116
|
}
|
|
118
117
|
return {
|
|
119
118
|
...stored,
|
|
120
|
-
|
|
119
|
+
snapshot,
|
|
121
120
|
};
|
|
122
121
|
};
|
|
123
122
|
export const listTopoStoreTrails = (db, options) => {
|
|
124
|
-
const
|
|
125
|
-
if (
|
|
123
|
+
const snapshot = readSnapshotRef(db, options?.snapshot);
|
|
124
|
+
if (snapshot === undefined) {
|
|
126
125
|
return [];
|
|
127
126
|
}
|
|
128
|
-
const baseQuery = `SELECT id, intent, idempotent, has_output, has_examples, example_count, description, meta,
|
|
127
|
+
const baseQuery = `SELECT id, intent, idempotent, has_output, has_examples, example_count, description, pattern, meta, snapshot_id
|
|
129
128
|
FROM topo_trails`;
|
|
130
129
|
let rows;
|
|
131
130
|
if (options?.intent === undefined) {
|
|
132
131
|
rows = db
|
|
133
|
-
.query(`${baseQuery} WHERE
|
|
134
|
-
.all(
|
|
132
|
+
.query(`${baseQuery} WHERE snapshot_id = ? ORDER BY id ASC`)
|
|
133
|
+
.all(snapshot.id);
|
|
135
134
|
}
|
|
136
135
|
else if (options.intent === 'write') {
|
|
137
136
|
rows = db
|
|
138
|
-
.query(`${baseQuery} WHERE
|
|
139
|
-
.all(
|
|
137
|
+
.query(`${baseQuery} WHERE snapshot_id = ? AND intent = 'write' ORDER BY id ASC`)
|
|
138
|
+
.all(snapshot.id);
|
|
140
139
|
}
|
|
141
140
|
else {
|
|
142
141
|
rows = db
|
|
143
|
-
.query(`${baseQuery} WHERE
|
|
144
|
-
.all(
|
|
142
|
+
.query(`${baseQuery} WHERE snapshot_id = ? AND intent = ? ORDER BY id ASC`)
|
|
143
|
+
.all(snapshot.id, options.intent);
|
|
145
144
|
}
|
|
146
145
|
return rows.map(mapTrailRow);
|
|
147
146
|
};
|
|
148
147
|
export const getTopoStoreTrail = (db, trailId, options) => {
|
|
149
|
-
const
|
|
150
|
-
if (
|
|
148
|
+
const snapshot = readSnapshotRef(db, options?.snapshot);
|
|
149
|
+
if (snapshot === undefined) {
|
|
151
150
|
return undefined;
|
|
152
151
|
}
|
|
153
152
|
const row = db
|
|
154
|
-
.query(`SELECT id, intent, idempotent, has_output, has_examples, example_count, description, meta,
|
|
153
|
+
.query(`SELECT id, intent, idempotent, has_output, has_examples, example_count, description, pattern, meta, snapshot_id
|
|
155
154
|
FROM topo_trails
|
|
156
|
-
WHERE
|
|
155
|
+
WHERE snapshot_id = ? AND id = ?
|
|
157
156
|
LIMIT 1`)
|
|
158
|
-
.get(
|
|
157
|
+
.get(snapshot.id, trailId);
|
|
159
158
|
if (row === null || row === undefined) {
|
|
160
159
|
return undefined;
|
|
161
160
|
}
|
|
162
|
-
const storedEntry = readStoredEntry(db,
|
|
161
|
+
const storedEntry = readStoredEntry(db, snapshot.id, 'trail', trailId);
|
|
163
162
|
return {
|
|
164
163
|
...mapTrailRow(row),
|
|
165
|
-
crosses: readTrailCrossings(db,
|
|
164
|
+
crosses: readTrailCrossings(db, snapshot.id, trailId),
|
|
166
165
|
detours: storedEntry?.detours ?? null,
|
|
167
|
-
examples: readTrailExamples(db,
|
|
168
|
-
|
|
166
|
+
examples: readTrailExamples(db, snapshot.id, trailId),
|
|
167
|
+
resources: readTrailResourceIds(db, snapshot.id, trailId),
|
|
169
168
|
};
|
|
170
169
|
};
|
|
171
|
-
const
|
|
170
|
+
const mapResourceRow = (row, usedBy, storedEntry) => ({
|
|
172
171
|
description: storedEntry?.description ?? null,
|
|
173
172
|
hasHealth: row.has_health === 1,
|
|
174
173
|
hasMock: row.has_mock === 1,
|
|
@@ -176,45 +175,45 @@ const mapProvisionRow = (row, usedBy, storedEntry) => ({
|
|
|
176
175
|
? 'available'
|
|
177
176
|
: 'none',
|
|
178
177
|
id: row.id,
|
|
179
|
-
kind: '
|
|
178
|
+
kind: 'resource',
|
|
180
179
|
lifetime: 'singleton',
|
|
181
|
-
|
|
180
|
+
snapshotId: row.snapshot_id,
|
|
182
181
|
usedBy,
|
|
183
182
|
});
|
|
184
|
-
export const
|
|
185
|
-
const
|
|
186
|
-
if (
|
|
183
|
+
export const listTopoStoreResources = (db, options) => {
|
|
184
|
+
const snapshot = readSnapshotRef(db, options?.snapshot);
|
|
185
|
+
if (snapshot === undefined) {
|
|
187
186
|
return [];
|
|
188
187
|
}
|
|
189
|
-
const usage =
|
|
188
|
+
const usage = readResourceUsage(db, snapshot.id);
|
|
190
189
|
const rows = db
|
|
191
|
-
.query(`SELECT id, has_mock, has_health,
|
|
192
|
-
FROM
|
|
193
|
-
WHERE
|
|
190
|
+
.query(`SELECT id, has_mock, has_health, snapshot_id
|
|
191
|
+
FROM topo_resources
|
|
192
|
+
WHERE snapshot_id = ?
|
|
194
193
|
ORDER BY id ASC`)
|
|
195
|
-
.all(
|
|
196
|
-
const stored = getStoredTopoExport(db,
|
|
194
|
+
.all(snapshot.id);
|
|
195
|
+
const stored = getStoredTopoExport(db, snapshot.id);
|
|
197
196
|
const entries = stored
|
|
198
|
-
? JSON.parse(stored.
|
|
197
|
+
? JSON.parse(stored.surfaceMapJson).entries
|
|
199
198
|
: [];
|
|
200
|
-
return rows.map((row) =>
|
|
199
|
+
return rows.map((row) => mapResourceRow(row, usage.get(row.id) ?? [], entries.find((entry) => entry.id === row.id && entry.kind === 'resource')));
|
|
201
200
|
};
|
|
202
|
-
export const
|
|
203
|
-
const
|
|
204
|
-
if (
|
|
201
|
+
export const getTopoStoreResource = (db, resourceId, options) => {
|
|
202
|
+
const snapshot = readSnapshotRef(db, options?.snapshot);
|
|
203
|
+
if (snapshot === undefined) {
|
|
205
204
|
return undefined;
|
|
206
205
|
}
|
|
207
206
|
const row = db
|
|
208
|
-
.query(`SELECT id, has_mock, has_health,
|
|
209
|
-
FROM
|
|
210
|
-
WHERE
|
|
207
|
+
.query(`SELECT id, has_mock, has_health, snapshot_id
|
|
208
|
+
FROM topo_resources
|
|
209
|
+
WHERE snapshot_id = ? AND id = ?
|
|
211
210
|
LIMIT 1`)
|
|
212
|
-
.get(
|
|
211
|
+
.get(snapshot.id, resourceId);
|
|
213
212
|
if (row === null || row === undefined) {
|
|
214
213
|
return undefined;
|
|
215
214
|
}
|
|
216
|
-
const usage =
|
|
217
|
-
return
|
|
215
|
+
const usage = readResourceUsage(db, snapshot.id);
|
|
216
|
+
return mapResourceRow(row, usage.get(resourceId) ?? [], readStoredEntry(db, snapshot.id, 'resource', resourceId));
|
|
218
217
|
};
|
|
219
218
|
export const queryTopoStore = (db, sql, bindings) => db
|
|
220
219
|
.query(sql)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topo-store-read.js","sourceRoot":"","sources":["../../src/internal/topo-store-read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"topo-store-read.js","sourceRoot":"","sources":["../../src/internal/topo-store-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import type { Database } from 'bun:sqlite';
|
|
2
2
|
import { Result } from '../result.js';
|
|
3
3
|
import type { Topo } from '../topo.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { AnyTrail } from '../trail.js';
|
|
5
|
+
import type { CreateTopoSnapshotInput, TopoSnapshot } from './topo-snapshots.js';
|
|
6
|
+
interface TopoFiresRow {
|
|
7
|
+
readonly snapshotId: string;
|
|
8
|
+
readonly signalId: string;
|
|
9
|
+
readonly trailId: string;
|
|
10
|
+
}
|
|
11
|
+
interface TopoOnRow {
|
|
12
|
+
readonly snapshotId: string;
|
|
13
|
+
readonly signalId: string;
|
|
14
|
+
readonly trailId: string;
|
|
15
|
+
}
|
|
5
16
|
export interface StoredTopoExport {
|
|
6
17
|
readonly lockContent: string;
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
18
|
+
readonly surfaceHash: string;
|
|
19
|
+
readonly surfaceMapJson: string;
|
|
9
20
|
}
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
21
|
+
export declare const normalizeFiresRows: (trails: readonly AnyTrail[], snapshotId: string) => readonly TopoFiresRow[];
|
|
22
|
+
export declare const normalizeOnRows: (trails: readonly AnyTrail[], snapshotId: string) => readonly TopoOnRow[];
|
|
23
|
+
export declare const getStoredTopoExport: (db: Database, snapshotId: string) => StoredTopoExport | undefined;
|
|
24
|
+
export declare const createTopoSnapshot: (db: Database, topo: Topo, input?: CreateTopoSnapshotInput) => Result<TopoSnapshot, Error>;
|
|
25
|
+
export {};
|
|
12
26
|
//# sourceMappingURL=topo-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topo-store.d.ts","sourceRoot":"","sources":["../../src/internal/topo-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"topo-store.d.ts","sourceRoot":"","sources":["../../src/internal/topo-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAI7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAuC7B,UAAU,YAAY;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,SAAS;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAsED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAiLD,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,QAAQ,EAAE,EAC3B,YAAY,MAAM,KACjB,SAAS,YAAY,EAOrB,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,SAAS,QAAQ,EAAE,EAC3B,YAAY,MAAM,KACjB,SAAS,SAAS,EAOlB,CAAC;AAkyBJ,eAAO,MAAM,mBAAmB,GAC9B,IAAI,QAAQ,EACZ,YAAY,MAAM,KACjB,gBAAgB,GAAG,SAkBrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,IAAI,QAAQ,EACZ,MAAM,IAAI,EACV,QAAQ,uBAAuB,KAC9B,MAAM,CAAC,YAAY,EAAE,KAAK,CAyB5B,CAAC"}
|