@ontrails/core 1.0.0-beta.14 → 1.0.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +73 -24
  3. package/package.json +11 -4
  4. package/src/activation-provenance.ts +111 -0
  5. package/src/activation-source-compatibility.ts +430 -0
  6. package/src/activation-source-projection.ts +221 -0
  7. package/src/activation-source.ts +91 -0
  8. package/src/blob-ref.ts +51 -0
  9. package/src/branded.ts +1 -1
  10. package/src/context.ts +28 -4
  11. package/src/contour.ts +344 -0
  12. package/src/cross-batch.ts +69 -0
  13. package/src/cross-schema.ts +36 -0
  14. package/src/detours.ts +8 -0
  15. package/src/draft.ts +60 -52
  16. package/src/error-projection.ts +51 -0
  17. package/src/errors.ts +245 -48
  18. package/src/execute.ts +1250 -40
  19. package/src/fire.ts +1169 -0
  20. package/src/index.ts +383 -49
  21. package/src/internal/fork-ctx.ts +69 -0
  22. package/src/layer-projection.ts +192 -0
  23. package/src/layer.ts +81 -0
  24. package/src/observe.ts +361 -0
  25. package/src/path-security.ts +1 -1
  26. package/src/permits.ts +12 -0
  27. package/src/redaction/patterns.ts +6 -3
  28. package/src/resilience.ts +11 -11
  29. package/src/resource-config.ts +792 -0
  30. package/src/resource.ts +175 -0
  31. package/src/result.ts +18 -0
  32. package/src/run.ts +7 -6
  33. package/src/schedule-runtime.ts +689 -0
  34. package/src/schedule.ts +324 -0
  35. package/src/serialization.ts +90 -55
  36. package/src/signal-diagnostics.ts +633 -0
  37. package/src/signal-ref.ts +87 -0
  38. package/src/signal.ts +37 -0
  39. package/src/store/accessor-protocol.ts +56 -0
  40. package/src/store/index.ts +4 -0
  41. package/src/structured-examples.ts +245 -0
  42. package/src/surface-derivation.ts +91 -0
  43. package/src/surface-filter.ts +176 -0
  44. package/src/topo.ts +710 -59
  45. package/src/tracing.ts +345 -0
  46. package/src/trail.ts +347 -33
  47. package/src/trails/derive-trail.ts +842 -0
  48. package/src/trails/index.ts +9 -0
  49. package/src/trails/ingest.ts +138 -0
  50. package/src/{internal/trails-db.ts → trails-db.ts} +50 -31
  51. package/src/transport-error-map.ts +174 -0
  52. package/src/type-utils.ts +17 -2
  53. package/src/types.ts +208 -17
  54. package/src/validate-established-topo.ts +8 -2
  55. package/src/validate-topo.ts +244 -13
  56. package/src/validation.ts +58 -1
  57. package/src/webhook.ts +276 -0
  58. package/src/workspace.ts +1 -1
  59. package/src/zod-wrappers.ts +72 -0
  60. package/.turbo/turbo-build.log +0 -1
  61. package/.turbo/turbo-lint.log +0 -3
  62. package/.turbo/turbo-typecheck.log +0 -1
  63. package/dist/adapters.d.ts +0 -39
  64. package/dist/adapters.d.ts.map +0 -1
  65. package/dist/adapters.js +0 -2
  66. package/dist/adapters.js.map +0 -1
  67. package/dist/blob-ref.d.ts +0 -20
  68. package/dist/blob-ref.d.ts.map +0 -1
  69. package/dist/blob-ref.js +0 -22
  70. package/dist/blob-ref.js.map +0 -1
  71. package/dist/branded.d.ts +0 -36
  72. package/dist/branded.d.ts.map +0 -1
  73. package/dist/branded.js +0 -89
  74. package/dist/branded.js.map +0 -1
  75. package/dist/collections.d.ts +0 -31
  76. package/dist/collections.d.ts.map +0 -1
  77. package/dist/collections.js +0 -60
  78. package/dist/collections.js.map +0 -1
  79. package/dist/context.d.ts +0 -10
  80. package/dist/context.d.ts.map +0 -1
  81. package/dist/context.js +0 -21
  82. package/dist/context.js.map +0 -1
  83. package/dist/derive.d.ts +0 -44
  84. package/dist/derive.d.ts.map +0 -1
  85. package/dist/derive.js +0 -149
  86. package/dist/derive.js.map +0 -1
  87. package/dist/dispatch.d.ts +0 -27
  88. package/dist/dispatch.d.ts.map +0 -1
  89. package/dist/dispatch.js +0 -34
  90. package/dist/dispatch.js.map +0 -1
  91. package/dist/draft.d.ts +0 -28
  92. package/dist/draft.d.ts.map +0 -1
  93. package/dist/draft.js +0 -156
  94. package/dist/draft.js.map +0 -1
  95. package/dist/errors.d.ts +0 -83
  96. package/dist/errors.d.ts.map +0 -1
  97. package/dist/errors.js +0 -142
  98. package/dist/errors.js.map +0 -1
  99. package/dist/event.d.ts +0 -8
  100. package/dist/event.d.ts.map +0 -1
  101. package/dist/event.js +0 -7
  102. package/dist/event.js.map +0 -1
  103. package/dist/execute.d.ts +0 -35
  104. package/dist/execute.d.ts.map +0 -1
  105. package/dist/execute.js +0 -90
  106. package/dist/execute.js.map +0 -1
  107. package/dist/fetch.d.ts +0 -15
  108. package/dist/fetch.d.ts.map +0 -1
  109. package/dist/fetch.js +0 -102
  110. package/dist/fetch.js.map +0 -1
  111. package/dist/gate.d.ts +0 -17
  112. package/dist/gate.d.ts.map +0 -1
  113. package/dist/gate.js +0 -21
  114. package/dist/gate.js.map +0 -1
  115. package/dist/guards.d.ts +0 -17
  116. package/dist/guards.d.ts.map +0 -1
  117. package/dist/guards.js +0 -25
  118. package/dist/guards.js.map +0 -1
  119. package/dist/health.d.ts +0 -18
  120. package/dist/health.d.ts.map +0 -1
  121. package/dist/health.js +0 -5
  122. package/dist/health.js.map +0 -1
  123. package/dist/index.d.ts +0 -48
  124. package/dist/index.d.ts.map +0 -1
  125. package/dist/index.js +0 -51
  126. package/dist/index.js.map +0 -1
  127. package/dist/internal/topo-saves.d.ts +0 -47
  128. package/dist/internal/topo-saves.d.ts.map +0 -1
  129. package/dist/internal/topo-saves.js +0 -310
  130. package/dist/internal/topo-saves.js.map +0 -1
  131. package/dist/internal/topo-store-read.d.ts +0 -67
  132. package/dist/internal/topo-store-read.d.ts.map +0 -1
  133. package/dist/internal/topo-store-read.js +0 -222
  134. package/dist/internal/topo-store-read.js.map +0 -1
  135. package/dist/internal/topo-store.d.ts +0 -12
  136. package/dist/internal/topo-store.d.ts.map +0 -1
  137. package/dist/internal/topo-store.js +0 -571
  138. package/dist/internal/topo-store.js.map +0 -1
  139. package/dist/internal/trails-db.d.ts +0 -16
  140. package/dist/internal/trails-db.d.ts.map +0 -1
  141. package/dist/internal/trails-db.js +0 -118
  142. package/dist/internal/trails-db.js.map +0 -1
  143. package/dist/job.d.ts +0 -24
  144. package/dist/job.d.ts.map +0 -1
  145. package/dist/job.js +0 -17
  146. package/dist/job.js.map +0 -1
  147. package/dist/layer.d.ts +0 -6
  148. package/dist/layer.d.ts.map +0 -1
  149. package/dist/layer.js +0 -4
  150. package/dist/layer.js.map +0 -1
  151. package/dist/path-security.d.ts +0 -28
  152. package/dist/path-security.d.ts.map +0 -1
  153. package/dist/path-security.js +0 -63
  154. package/dist/path-security.js.map +0 -1
  155. package/dist/patterns/bulk.d.ts +0 -15
  156. package/dist/patterns/bulk.d.ts.map +0 -1
  157. package/dist/patterns/bulk.js +0 -14
  158. package/dist/patterns/bulk.js.map +0 -1
  159. package/dist/patterns/change.d.ts +0 -10
  160. package/dist/patterns/change.d.ts.map +0 -1
  161. package/dist/patterns/change.js +0 -10
  162. package/dist/patterns/change.js.map +0 -1
  163. package/dist/patterns/date-range.d.ts +0 -10
  164. package/dist/patterns/date-range.d.ts.map +0 -1
  165. package/dist/patterns/date-range.js +0 -10
  166. package/dist/patterns/date-range.js.map +0 -1
  167. package/dist/patterns/index.d.ts +0 -9
  168. package/dist/patterns/index.d.ts.map +0 -1
  169. package/dist/patterns/index.js +0 -9
  170. package/dist/patterns/index.js.map +0 -1
  171. package/dist/patterns/pagination.d.ts +0 -18
  172. package/dist/patterns/pagination.d.ts.map +0 -1
  173. package/dist/patterns/pagination.js +0 -18
  174. package/dist/patterns/pagination.js.map +0 -1
  175. package/dist/patterns/progress.d.ts +0 -11
  176. package/dist/patterns/progress.d.ts.map +0 -1
  177. package/dist/patterns/progress.js +0 -11
  178. package/dist/patterns/progress.js.map +0 -1
  179. package/dist/patterns/sorting.d.ts +0 -13
  180. package/dist/patterns/sorting.d.ts.map +0 -1
  181. package/dist/patterns/sorting.js +0 -10
  182. package/dist/patterns/sorting.js.map +0 -1
  183. package/dist/patterns/status.d.ts +0 -15
  184. package/dist/patterns/status.d.ts.map +0 -1
  185. package/dist/patterns/status.js +0 -9
  186. package/dist/patterns/status.js.map +0 -1
  187. package/dist/patterns/timestamps.d.ts +0 -10
  188. package/dist/patterns/timestamps.d.ts.map +0 -1
  189. package/dist/patterns/timestamps.js +0 -10
  190. package/dist/patterns/timestamps.js.map +0 -1
  191. package/dist/provision-config.d.ts +0 -22
  192. package/dist/provision-config.d.ts.map +0 -1
  193. package/dist/provision-config.js +0 -210
  194. package/dist/provision-config.js.map +0 -1
  195. package/dist/provision.d.ts +0 -71
  196. package/dist/provision.d.ts.map +0 -1
  197. package/dist/provision.js +0 -56
  198. package/dist/provision.js.map +0 -1
  199. package/dist/redaction/index.d.ts +0 -4
  200. package/dist/redaction/index.d.ts.map +0 -1
  201. package/dist/redaction/index.js +0 -3
  202. package/dist/redaction/index.js.map +0 -1
  203. package/dist/redaction/patterns.d.ts +0 -9
  204. package/dist/redaction/patterns.d.ts.map +0 -1
  205. package/dist/redaction/patterns.js +0 -39
  206. package/dist/redaction/patterns.js.map +0 -1
  207. package/dist/redaction/redactor.d.ts +0 -27
  208. package/dist/redaction/redactor.d.ts.map +0 -1
  209. package/dist/redaction/redactor.js +0 -89
  210. package/dist/redaction/redactor.js.map +0 -1
  211. package/dist/resilience.d.ts +0 -34
  212. package/dist/resilience.d.ts.map +0 -1
  213. package/dist/resilience.js +0 -164
  214. package/dist/resilience.js.map +0 -1
  215. package/dist/result.d.ts +0 -57
  216. package/dist/result.d.ts.map +0 -1
  217. package/dist/result.js +0 -156
  218. package/dist/result.js.map +0 -1
  219. package/dist/run.d.ts +0 -27
  220. package/dist/run.d.ts.map +0 -1
  221. package/dist/run.js +0 -34
  222. package/dist/run.js.map +0 -1
  223. package/dist/serialization.d.ts +0 -27
  224. package/dist/serialization.d.ts.map +0 -1
  225. package/dist/serialization.js +0 -153
  226. package/dist/serialization.js.map +0 -1
  227. package/dist/service-config.d.ts +0 -22
  228. package/dist/service-config.d.ts.map +0 -1
  229. package/dist/service-config.js +0 -210
  230. package/dist/service-config.js.map +0 -1
  231. package/dist/service.d.ts +0 -71
  232. package/dist/service.d.ts.map +0 -1
  233. package/dist/service.js +0 -56
  234. package/dist/service.js.map +0 -1
  235. package/dist/signal.d.ts +0 -33
  236. package/dist/signal.d.ts.map +0 -1
  237. package/dist/signal.js +0 -17
  238. package/dist/signal.js.map +0 -1
  239. package/dist/topo-store.d.ts +0 -48
  240. package/dist/topo-store.d.ts.map +0 -1
  241. package/dist/topo-store.js +0 -175
  242. package/dist/topo-store.js.map +0 -1
  243. package/dist/topo.d.ts +0 -25
  244. package/dist/topo.d.ts.map +0 -1
  245. package/dist/topo.js +0 -112
  246. package/dist/topo.js.map +0 -1
  247. package/dist/trail.d.ts +0 -96
  248. package/dist/trail.d.ts.map +0 -1
  249. package/dist/trail.js +0 -20
  250. package/dist/trail.js.map +0 -1
  251. package/dist/type-utils.d.ts +0 -24
  252. package/dist/type-utils.d.ts.map +0 -1
  253. package/dist/type-utils.js +0 -12
  254. package/dist/type-utils.js.map +0 -1
  255. package/dist/types.d.ts +0 -71
  256. package/dist/types.d.ts.map +0 -1
  257. package/dist/types.js +0 -3
  258. package/dist/types.js.map +0 -1
  259. package/dist/validate-established-topo.d.ts +0 -76
  260. package/dist/validate-established-topo.d.ts.map +0 -1
  261. package/dist/validate-established-topo.js +0 -43
  262. package/dist/validate-established-topo.js.map +0 -1
  263. package/dist/validate-topo.d.ts +0 -24
  264. package/dist/validate-topo.d.ts.map +0 -1
  265. package/dist/validate-topo.js +0 -176
  266. package/dist/validate-topo.js.map +0 -1
  267. package/dist/validation.d.ts +0 -27
  268. package/dist/validation.d.ts.map +0 -1
  269. package/dist/validation.js +0 -165
  270. package/dist/validation.js.map +0 -1
  271. package/dist/workspace.d.ts +0 -25
  272. package/dist/workspace.d.ts.map +0 -1
  273. package/dist/workspace.js +0 -57
  274. package/dist/workspace.js.map +0 -1
  275. package/src/__tests__/blob-ref.test.ts +0 -103
  276. package/src/__tests__/branded.test.ts +0 -148
  277. package/src/__tests__/collections.test.ts +0 -126
  278. package/src/__tests__/context.test.ts +0 -77
  279. package/src/__tests__/derive.test.ts +0 -260
  280. package/src/__tests__/errors.test.ts +0 -309
  281. package/src/__tests__/execute.test.ts +0 -525
  282. package/src/__tests__/fetch.test.ts +0 -217
  283. package/src/__tests__/gate.test.ts +0 -125
  284. package/src/__tests__/guards.test.ts +0 -102
  285. package/src/__tests__/path-security.test.ts +0 -114
  286. package/src/__tests__/patterns.test.ts +0 -273
  287. package/src/__tests__/redaction.test.ts +0 -244
  288. package/src/__tests__/resilience.test.ts +0 -246
  289. package/src/__tests__/result.test.ts +0 -155
  290. package/src/__tests__/run.test.ts +0 -181
  291. package/src/__tests__/serialization.test.ts +0 -401
  292. package/src/__tests__/service-config.test.ts +0 -228
  293. package/src/__tests__/service.test.ts +0 -197
  294. package/src/__tests__/signal.test.ts +0 -82
  295. package/src/__tests__/topo-store-read.test.ts +0 -251
  296. package/src/__tests__/topo-store.test.ts +0 -469
  297. package/src/__tests__/topo.test.ts +0 -277
  298. package/src/__tests__/trail-permit.test.ts +0 -60
  299. package/src/__tests__/trail.test.ts +0 -261
  300. package/src/__tests__/trails-db.test.ts +0 -191
  301. package/src/__tests__/type-utils.test.ts +0 -90
  302. package/src/__tests__/validate-topo.test.ts +0 -489
  303. package/src/__tests__/validation.test.ts +0 -336
  304. package/src/__tests__/workspace.test.ts +0 -183
  305. package/src/event.ts +0 -15
  306. package/src/gate.ts +0 -44
  307. package/src/internal/topo-saves.ts +0 -429
  308. package/src/internal/topo-store-read.ts +0 -473
  309. package/src/internal/topo-store.ts +0 -1087
  310. package/src/provision-config.ts +0 -373
  311. package/src/provision.ts +0 -148
  312. package/src/topo-store.ts +0 -301
  313. package/tsconfig.json +0 -9
  314. package/tsconfig.tsbuildinfo +0 -1
@@ -1,222 +0,0 @@
1
- import { ValidationError } from '../errors.js';
2
- import { getTopoPin, getTopoSave, listTopoPins, listTopoSaves, } from './topo-saves.js';
3
- import { getStoredTopoExport } from './topo-store.js';
4
- const ensureSingleRefSelector = (ref) => {
5
- if (ref?.pin !== undefined && ref.saveId !== undefined) {
6
- throw new ValidationError('Topo store references may use pin or saveId, not both');
7
- }
8
- };
9
- const normalizeIntent = (intent) => {
10
- if (intent === 'destroy' || intent === 'read') {
11
- return intent;
12
- }
13
- return 'write';
14
- };
15
- const safetyForIntent = (intent) => {
16
- if (intent === 'destroy') {
17
- return 'destroy';
18
- }
19
- if (intent === 'read') {
20
- return 'read';
21
- }
22
- return 'write';
23
- };
24
- const parseMeta = (value) => value === null
25
- ? null
26
- : JSON.parse(value);
27
- const parseJson = (value) => JSON.parse(value);
28
- const resolveRefSave = (db, ref) => {
29
- ensureSingleRefSelector(ref);
30
- if (ref?.saveId !== undefined) {
31
- return getTopoSave(db, ref.saveId);
32
- }
33
- if (ref?.pin !== undefined) {
34
- const pin = getTopoPin(db, ref.pin);
35
- return pin === undefined ? undefined : getTopoSave(db, pin.saveId);
36
- }
37
- return listTopoSaves(db)[0];
38
- };
39
- const readStoredEntry = (db, saveId, kind, id) => {
40
- const stored = getStoredTopoExport(db, saveId);
41
- if (stored === undefined) {
42
- return undefined;
43
- }
44
- const map = JSON.parse(stored.trailheadMapJson);
45
- return map.entries.find((entry) => entry.kind === kind && entry.id === id);
46
- };
47
- const mapTrailRow = (row) => {
48
- const intent = normalizeIntent(row.intent);
49
- return {
50
- description: row.description,
51
- exampleCount: row.example_count,
52
- hasExamples: row.has_examples === 1,
53
- hasOutput: row.has_output === 1,
54
- id: row.id,
55
- idempotent: row.idempotent === 1,
56
- intent,
57
- kind: 'trail',
58
- meta: parseMeta(row.meta),
59
- safety: safetyForIntent(intent),
60
- saveId: row.save_id,
61
- };
62
- };
63
- const readTrailCrossings = (db, saveId, trailId) => db
64
- .query(`SELECT target_id
65
- FROM topo_crossings
66
- WHERE save_id = ? AND source_id = ?
67
- ORDER BY target_id ASC`)
68
- .all(saveId, trailId)
69
- .map((row) => row.target_id);
70
- const readTrailProvisionIds = (db, saveId, trailId) => db
71
- .query(`SELECT provision_id
72
- FROM topo_trail_provisions
73
- WHERE save_id = ? AND trail_id = ?
74
- ORDER BY provision_id ASC`)
75
- .all(saveId, trailId)
76
- .map((row) => row.provision_id);
77
- const readTrailExamples = (db, saveId, trailId) => db
78
- .query(`SELECT ordinal, name, description, input, expected, error
79
- FROM topo_examples
80
- WHERE save_id = ? AND trail_id = ?
81
- ORDER BY ordinal ASC`)
82
- .all(saveId, trailId)
83
- .map((row) => ({
84
- description: row.description,
85
- error: row.error,
86
- expected: row.expected === null ? null : parseJson(row.expected),
87
- input: parseJson(row.input),
88
- name: row.name,
89
- ordinal: row.ordinal,
90
- }));
91
- const readProvisionUsage = (db, saveId) => {
92
- const rows = db
93
- .query(`SELECT provision_id, trail_id
94
- FROM topo_trail_provisions
95
- WHERE save_id = ?
96
- ORDER BY provision_id ASC, trail_id ASC`)
97
- .all(saveId);
98
- const usage = new Map();
99
- for (const row of rows) {
100
- const trails = usage.get(row.provision_id) ?? [];
101
- trails.push(row.trail_id);
102
- usage.set(row.provision_id, trails);
103
- }
104
- return new Map([...usage.entries()].map(([id, trails]) => [id, trails]));
105
- };
106
- export const resolveTopoStoreSave = (db, ref) => resolveRefSave(db, ref);
107
- export const listTopoStorePins = (db) => listTopoPins(db);
108
- export const listTopoStoreSaves = (db) => listTopoSaves(db);
109
- export const getTopoStoreExport = (db, ref) => {
110
- const save = resolveRefSave(db, ref);
111
- if (save === undefined) {
112
- return undefined;
113
- }
114
- const stored = getStoredTopoExport(db, save.id);
115
- if (stored === undefined) {
116
- return undefined;
117
- }
118
- return {
119
- ...stored,
120
- save,
121
- };
122
- };
123
- export const listTopoStoreTrails = (db, options) => {
124
- const save = resolveRefSave(db, options?.save);
125
- if (save === undefined) {
126
- return [];
127
- }
128
- const baseQuery = `SELECT id, intent, idempotent, has_output, has_examples, example_count, description, meta, save_id
129
- FROM topo_trails`;
130
- let rows;
131
- if (options?.intent === undefined) {
132
- rows = db
133
- .query(`${baseQuery} WHERE save_id = ? ORDER BY id ASC`)
134
- .all(save.id);
135
- }
136
- else if (options.intent === 'write') {
137
- rows = db
138
- .query(`${baseQuery} WHERE save_id = ? AND intent = 'write' ORDER BY id ASC`)
139
- .all(save.id);
140
- }
141
- else {
142
- rows = db
143
- .query(`${baseQuery} WHERE save_id = ? AND intent = ? ORDER BY id ASC`)
144
- .all(save.id, options.intent);
145
- }
146
- return rows.map(mapTrailRow);
147
- };
148
- export const getTopoStoreTrail = (db, trailId, options) => {
149
- const save = resolveRefSave(db, options?.save);
150
- if (save === undefined) {
151
- return undefined;
152
- }
153
- const row = db
154
- .query(`SELECT id, intent, idempotent, has_output, has_examples, example_count, description, meta, save_id
155
- FROM topo_trails
156
- WHERE save_id = ? AND id = ?
157
- LIMIT 1`)
158
- .get(save.id, trailId);
159
- if (row === null || row === undefined) {
160
- return undefined;
161
- }
162
- const storedEntry = readStoredEntry(db, save.id, 'trail', trailId);
163
- return {
164
- ...mapTrailRow(row),
165
- crosses: readTrailCrossings(db, save.id, trailId),
166
- detours: storedEntry?.detours ?? null,
167
- examples: readTrailExamples(db, save.id, trailId),
168
- provisions: readTrailProvisionIds(db, save.id, trailId),
169
- };
170
- };
171
- const mapProvisionRow = (row, usedBy, storedEntry) => ({
172
- description: storedEntry?.description ?? null,
173
- hasHealth: row.has_health === 1,
174
- hasMock: row.has_mock === 1,
175
- health: row.has_health === 1 || storedEntry?.healthcheck === true
176
- ? 'available'
177
- : 'none',
178
- id: row.id,
179
- kind: 'provision',
180
- lifetime: 'singleton',
181
- saveId: row.save_id,
182
- usedBy,
183
- });
184
- export const listTopoStoreProvisions = (db, options) => {
185
- const save = resolveRefSave(db, options?.save);
186
- if (save === undefined) {
187
- return [];
188
- }
189
- const usage = readProvisionUsage(db, save.id);
190
- const rows = db
191
- .query(`SELECT id, has_mock, has_health, save_id
192
- FROM topo_provisions
193
- WHERE save_id = ?
194
- ORDER BY id ASC`)
195
- .all(save.id);
196
- const stored = getStoredTopoExport(db, save.id);
197
- const entries = stored
198
- ? JSON.parse(stored.trailheadMapJson).entries
199
- : [];
200
- return rows.map((row) => mapProvisionRow(row, usage.get(row.id) ?? [], entries.find((e) => e.kind === 'provision' && e.id === row.id)));
201
- };
202
- export const getTopoStoreProvision = (db, provisionId, options) => {
203
- const save = resolveRefSave(db, options?.save);
204
- if (save === undefined) {
205
- return undefined;
206
- }
207
- const row = db
208
- .query(`SELECT id, has_mock, has_health, save_id
209
- FROM topo_provisions
210
- WHERE save_id = ? AND id = ?
211
- LIMIT 1`)
212
- .get(save.id, provisionId);
213
- if (row === null || row === undefined) {
214
- return undefined;
215
- }
216
- const usage = readProvisionUsage(db, save.id);
217
- return mapProvisionRow(row, usage.get(provisionId) ?? [], readStoredEntry(db, save.id, 'provision', provisionId));
218
- };
219
- export const queryTopoStore = (db, sql, bindings) => db
220
- .query(sql)
221
- .all(...(bindings === undefined ? [] : [...bindings]));
222
- //# sourceMappingURL=topo-store-read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topo-store-read.js","sourceRoot":"","sources":["../../src/internal/topo-store-read.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Database } from 'bun:sqlite';
2
- import { Result } from '../result.js';
3
- import type { Topo } from '../topo.js';
4
- import type { CreateTopoSaveInput, TopoSaveRecord } from './topo-saves.js';
5
- export interface StoredTopoExport {
6
- readonly lockContent: string;
7
- readonly trailheadHash: string;
8
- readonly trailheadMapJson: string;
9
- }
10
- export declare const getStoredTopoExport: (db: Database, saveId: string) => StoredTopoExport | undefined;
11
- export declare const persistEstablishedTopoSave: (db: Database, topo: Topo, input?: CreateTopoSaveInput) => Result<TopoSaveRecord, Error>;
12
- //# sourceMappingURL=topo-store.d.ts.map
@@ -1 +0,0 @@
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;AAG7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAsG3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAs5BD,eAAO,MAAM,mBAAmB,GAC9B,IAAI,QAAQ,EACZ,QAAQ,MAAM,KACb,gBAAgB,GAAG,SAkBrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,IAAI,QAAQ,EACZ,MAAM,IAAI,EACV,QAAQ,mBAAmB,KAC1B,MAAM,CAAC,cAAc,EAAE,KAAK,CAyB9B,CAAC"}