@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
package/src/topo-store.ts DELETED
@@ -1,301 +0,0 @@
1
- import type { SQLQueryBindings } from 'bun:sqlite';
2
- import { existsSync } from 'node:fs';
3
-
4
- import { NotFoundError } from './errors.js';
5
- import { provision } from './provision.js';
6
- import { Result } from './result.js';
7
- import type { TopoPinRecord, TopoSaveRecord } from './internal/topo-saves.js';
8
- import { getTopoPin } from './internal/topo-saves.js';
9
- import type {
10
- TopoStoreExportRecord,
11
- TopoStoreProvisionRecord,
12
- TopoStoreRef,
13
- TopoStoreTrailDetailRecord,
14
- TopoStoreTrailRecord,
15
- } from './internal/topo-store-read.js';
16
- import {
17
- getTopoStoreExport,
18
- getTopoStoreProvision,
19
- getTopoStoreTrail,
20
- listTopoStorePins,
21
- listTopoStoreProvisions,
22
- listTopoStoreSaves,
23
- listTopoStoreTrails,
24
- queryTopoStore,
25
- resolveTopoStoreSave,
26
- } from './internal/topo-store-read.js';
27
- import { openReadTrailsDb, resolveTrailsDbPath } from './internal/trails-db.js';
28
- import type { TrailsDbLocationOptions } from './internal/trails-db.js';
29
-
30
- export type {
31
- TopoStoreExportRecord,
32
- TopoStoreProvisionRecord,
33
- TopoStoreRef,
34
- TopoStoreTrailDetailRecord,
35
- TopoStoreTrailRecord,
36
- } from './internal/topo-store-read.js';
37
-
38
- export interface ReadOnlyTopoStore {
39
- readonly exports: {
40
- get(ref?: TopoStoreRef): TopoStoreExportRecord | undefined;
41
- };
42
- readonly pins: {
43
- get(name: string): TopoPinRecord | undefined;
44
- list(): readonly TopoPinRecord[];
45
- };
46
- query<TRow extends Record<string, unknown>>(
47
- sql: string,
48
- bindings?: readonly SQLQueryBindings[]
49
- ): readonly TRow[];
50
- readonly provisions: {
51
- get(
52
- id: string,
53
- options?: { readonly save?: TopoStoreRef }
54
- ): TopoStoreProvisionRecord | undefined;
55
- list(options?: {
56
- readonly save?: TopoStoreRef;
57
- }): readonly TopoStoreProvisionRecord[];
58
- };
59
- readonly saves: {
60
- get(ref?: TopoStoreRef): TopoSaveRecord | undefined;
61
- latest(): TopoSaveRecord | undefined;
62
- list(): readonly TopoSaveRecord[];
63
- };
64
- readonly trails: {
65
- get(
66
- id: string,
67
- options?: { readonly save?: TopoStoreRef }
68
- ): TopoStoreTrailDetailRecord | undefined;
69
- list(options?: {
70
- readonly intent?: TopoStoreTrailRecord['intent'];
71
- readonly save?: TopoStoreRef;
72
- }): readonly TopoStoreTrailRecord[];
73
- };
74
- }
75
-
76
- export interface MockTopoStoreSeed {
77
- readonly exports?: readonly TopoStoreExportRecord[];
78
- readonly pins?: readonly TopoPinRecord[];
79
- readonly provisions?: readonly TopoStoreProvisionRecord[];
80
- readonly saves?: readonly TopoSaveRecord[];
81
- readonly trails?: readonly TopoStoreTrailDetailRecord[];
82
- }
83
-
84
- const missingStoreMessage =
85
- 'No saved topo state found. Populate trails.db first or run a topo-backed surface.';
86
-
87
- const resolveStoreRootDir = (options?: TrailsDbLocationOptions): string =>
88
- options?.rootDir ?? process.cwd();
89
-
90
- const requireReadDb = (
91
- options?: TrailsDbLocationOptions
92
- ): ReturnType<typeof openReadTrailsDb> => {
93
- const dbPath = resolveTrailsDbPath(options);
94
- if (!existsSync(dbPath)) {
95
- throw new NotFoundError(missingStoreMessage);
96
- }
97
- return openReadTrailsDb(options);
98
- };
99
-
100
- const requireSavedTopoState = (
101
- db: ReturnType<typeof openReadTrailsDb>
102
- ): void => {
103
- if (resolveTopoStoreSave(db) === undefined) {
104
- throw new NotFoundError(missingStoreMessage);
105
- }
106
- };
107
-
108
- const withStoredTopoState = <T>(
109
- options: TrailsDbLocationOptions | undefined,
110
- run: (db: ReturnType<typeof openReadTrailsDb>) => T
111
- ): T => {
112
- const db = requireReadDb(options);
113
- try {
114
- requireSavedTopoState(db);
115
- return run(db);
116
- } finally {
117
- db.close();
118
- }
119
- };
120
-
121
- const createSeedResolver = (seed?: MockTopoStoreSeed) => {
122
- const saves = [...(seed?.saves ?? [])];
123
- const pins = [...(seed?.pins ?? [])];
124
- const trails = [...(seed?.trails ?? [])];
125
- const provisions = [...(seed?.provisions ?? [])];
126
- const exports = [...(seed?.exports ?? [])];
127
-
128
- const resolveSave = (ref?: TopoStoreRef): TopoSaveRecord | undefined => {
129
- if (ref?.saveId !== undefined) {
130
- return saves.find((save) => save.id === ref.saveId);
131
- }
132
- if (ref?.pin !== undefined) {
133
- const pin = pins.find((candidate) => candidate.name === ref.pin);
134
- return pin === undefined
135
- ? undefined
136
- : saves.find((save) => save.id === pin.saveId);
137
- }
138
- return saves[0];
139
- };
140
-
141
- return {
142
- exports,
143
- pins,
144
- provisions,
145
- resolveSave,
146
- saves,
147
- trails,
148
- };
149
- };
150
-
151
- export const createMockTopoStore = (
152
- seed?: MockTopoStoreSeed
153
- ): ReadOnlyTopoStore => {
154
- const resolved = createSeedResolver(seed);
155
-
156
- return {
157
- exports: {
158
- get(ref?: TopoStoreRef) {
159
- const save = resolved.resolveSave(ref);
160
- return save === undefined
161
- ? undefined
162
- : resolved.exports.find((entry) => entry.save.id === save.id);
163
- },
164
- },
165
- pins: {
166
- get(name: string) {
167
- return resolved.pins.find((pin) => pin.name === name);
168
- },
169
- list() {
170
- return resolved.pins;
171
- },
172
- },
173
- provisions: {
174
- get(id, options) {
175
- const save = resolved.resolveSave(options?.save);
176
- return resolved.provisions.find(
177
- (item) =>
178
- item.id === id && (save === undefined || item.saveId === save.id)
179
- );
180
- },
181
- list(options) {
182
- const save = resolved.resolveSave(options?.save);
183
- return save === undefined
184
- ? []
185
- : resolved.provisions.filter((item) => item.saveId === save.id);
186
- },
187
- },
188
- query() {
189
- throw new NotFoundError(
190
- 'Mock topoStore.query() is unsupported. Seed typed accessors instead.'
191
- );
192
- },
193
- saves: {
194
- get(ref?: TopoStoreRef) {
195
- return resolved.resolveSave(ref);
196
- },
197
- latest() {
198
- return resolved.saves[0];
199
- },
200
- list() {
201
- return resolved.saves;
202
- },
203
- },
204
- trails: {
205
- get(id, options) {
206
- const save = resolved.resolveSave(options?.save);
207
- if (save === undefined) {
208
- return;
209
- }
210
- return resolved.trails.find(
211
- (trail) => trail.id === id && trail.saveId === save.id
212
- );
213
- },
214
- list(options) {
215
- const save = resolved.resolveSave(options?.save);
216
- if (save === undefined) {
217
- return [];
218
- }
219
- return resolved.trails.filter(
220
- (trail) =>
221
- trail.saveId === save.id &&
222
- (options?.intent === undefined || trail.intent === options.intent)
223
- );
224
- },
225
- },
226
- };
227
- };
228
-
229
- export const createTopoStore = (
230
- options?: TrailsDbLocationOptions
231
- ): ReadOnlyTopoStore => ({
232
- exports: {
233
- get(ref?: TopoStoreRef) {
234
- return withStoredTopoState(options, (db) => getTopoStoreExport(db, ref));
235
- },
236
- },
237
- pins: {
238
- get(name: string) {
239
- return withStoredTopoState(options, (db) => getTopoPin(db, name));
240
- },
241
- list() {
242
- return withStoredTopoState(options, (db) => listTopoStorePins(db));
243
- },
244
- },
245
- provisions: {
246
- get(id, queryOptions) {
247
- return withStoredTopoState(options, (db) =>
248
- getTopoStoreProvision(db, id, queryOptions)
249
- );
250
- },
251
- list(queryOptions) {
252
- return withStoredTopoState(options, (db) =>
253
- listTopoStoreProvisions(db, queryOptions)
254
- );
255
- },
256
- },
257
- query<TRow extends Record<string, unknown>>(
258
- sql: string,
259
- bindings?: readonly SQLQueryBindings[]
260
- ) {
261
- return withStoredTopoState(options, (db) =>
262
- queryTopoStore<TRow>(db, sql, bindings)
263
- );
264
- },
265
- saves: {
266
- get(ref?: TopoStoreRef) {
267
- return withStoredTopoState(options, (db) =>
268
- resolveTopoStoreSave(db, ref)
269
- );
270
- },
271
- latest() {
272
- return withStoredTopoState(options, (db) => resolveTopoStoreSave(db));
273
- },
274
- list() {
275
- return withStoredTopoState(options, (db) => listTopoStoreSaves(db));
276
- },
277
- },
278
- trails: {
279
- get(id, queryOptions) {
280
- return withStoredTopoState(options, (db) =>
281
- getTopoStoreTrail(db, id, queryOptions)
282
- );
283
- },
284
- list(queryOptions) {
285
- return withStoredTopoState(options, (db) =>
286
- listTopoStoreTrails(db, queryOptions)
287
- );
288
- },
289
- },
290
- });
291
-
292
- export const topoStore = provision('topo.store', {
293
- create: (svc) =>
294
- Result.ok(
295
- createTopoStore({
296
- rootDir: svc.workspaceRoot ?? svc.cwd ?? resolveStoreRootDir(),
297
- })
298
- ),
299
- description: 'Read-only query access to saved topo state in trails.db',
300
- mock: () => createMockTopoStore(),
301
- });
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src"
6
- },
7
- "include": ["src"],
8
- "exclude": ["**/__tests__/**", "**/*.test.ts", "dist"]
9
- }
@@ -1 +0,0 @@
1
- {"root":["./src/blob-ref.ts","./src/branded.ts","./src/collections.ts","./src/context.ts","./src/derive.ts","./src/draft.ts","./src/errors.ts","./src/event.ts","./src/execute.ts","./src/fetch.ts","./src/gate.ts","./src/guards.ts","./src/index.ts","./src/path-security.ts","./src/provision-config.ts","./src/provision.ts","./src/resilience.ts","./src/result.ts","./src/run.ts","./src/serialization.ts","./src/signal.ts","./src/topo-store.ts","./src/topo.ts","./src/trail.ts","./src/type-utils.ts","./src/types.ts","./src/validate-established-topo.ts","./src/validate-topo.ts","./src/validation.ts","./src/workspace.ts","./src/internal/topo-saves.ts","./src/internal/topo-store-read.ts","./src/internal/topo-store.ts","./src/internal/trails-db.ts","./src/patterns/bulk.ts","./src/patterns/change.ts","./src/patterns/date-range.ts","./src/patterns/index.ts","./src/patterns/pagination.ts","./src/patterns/progress.ts","./src/patterns/sorting.ts","./src/patterns/status.ts","./src/patterns/timestamps.ts","./src/redaction/index.ts","./src/redaction/patterns.ts","./src/redaction/redactor.ts"],"version":"5.9.3"}