@stoneforge/quarry 0.1.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.
Files changed (330) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +160 -0
  3. package/dist/api/index.d.ts +8 -0
  4. package/dist/api/index.d.ts.map +1 -0
  5. package/dist/api/index.js +8 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/api/quarry-api.d.ts +268 -0
  8. package/dist/api/quarry-api.d.ts.map +1 -0
  9. package/dist/api/quarry-api.js +3905 -0
  10. package/dist/api/quarry-api.js.map +1 -0
  11. package/dist/api/types.d.ts +1359 -0
  12. package/dist/api/types.d.ts.map +1 -0
  13. package/dist/api/types.js +204 -0
  14. package/dist/api/types.js.map +1 -0
  15. package/dist/bin/sf.d.ts +3 -0
  16. package/dist/bin/sf.d.ts.map +1 -0
  17. package/dist/bin/sf.js +9 -0
  18. package/dist/bin/sf.js.map +1 -0
  19. package/dist/cli/commands/admin.d.ts +11 -0
  20. package/dist/cli/commands/admin.d.ts.map +1 -0
  21. package/dist/cli/commands/admin.js +465 -0
  22. package/dist/cli/commands/admin.js.map +1 -0
  23. package/dist/cli/commands/alias.d.ts +8 -0
  24. package/dist/cli/commands/alias.d.ts.map +1 -0
  25. package/dist/cli/commands/alias.js +70 -0
  26. package/dist/cli/commands/alias.js.map +1 -0
  27. package/dist/cli/commands/channel.d.ts +13 -0
  28. package/dist/cli/commands/channel.d.ts.map +1 -0
  29. package/dist/cli/commands/channel.js +680 -0
  30. package/dist/cli/commands/channel.js.map +1 -0
  31. package/dist/cli/commands/completion.d.ts +8 -0
  32. package/dist/cli/commands/completion.d.ts.map +1 -0
  33. package/dist/cli/commands/completion.js +87 -0
  34. package/dist/cli/commands/completion.js.map +1 -0
  35. package/dist/cli/commands/config.d.ts +12 -0
  36. package/dist/cli/commands/config.d.ts.map +1 -0
  37. package/dist/cli/commands/config.js +242 -0
  38. package/dist/cli/commands/config.js.map +1 -0
  39. package/dist/cli/commands/crud.d.ts +64 -0
  40. package/dist/cli/commands/crud.d.ts.map +1 -0
  41. package/dist/cli/commands/crud.js +805 -0
  42. package/dist/cli/commands/crud.js.map +1 -0
  43. package/dist/cli/commands/dep.d.ts +16 -0
  44. package/dist/cli/commands/dep.d.ts.map +1 -0
  45. package/dist/cli/commands/dep.js +499 -0
  46. package/dist/cli/commands/dep.js.map +1 -0
  47. package/dist/cli/commands/document.d.ts +12 -0
  48. package/dist/cli/commands/document.d.ts.map +1 -0
  49. package/dist/cli/commands/document.js +1039 -0
  50. package/dist/cli/commands/document.js.map +1 -0
  51. package/dist/cli/commands/embeddings.d.ts +12 -0
  52. package/dist/cli/commands/embeddings.d.ts.map +1 -0
  53. package/dist/cli/commands/embeddings.js +273 -0
  54. package/dist/cli/commands/embeddings.js.map +1 -0
  55. package/dist/cli/commands/entity.d.ts +16 -0
  56. package/dist/cli/commands/entity.d.ts.map +1 -0
  57. package/dist/cli/commands/entity.js +522 -0
  58. package/dist/cli/commands/entity.js.map +1 -0
  59. package/dist/cli/commands/gc.d.ts +10 -0
  60. package/dist/cli/commands/gc.d.ts.map +1 -0
  61. package/dist/cli/commands/gc.js +257 -0
  62. package/dist/cli/commands/gc.js.map +1 -0
  63. package/dist/cli/commands/help.d.ts +11 -0
  64. package/dist/cli/commands/help.d.ts.map +1 -0
  65. package/dist/cli/commands/help.js +169 -0
  66. package/dist/cli/commands/help.js.map +1 -0
  67. package/dist/cli/commands/history.d.ts +9 -0
  68. package/dist/cli/commands/history.d.ts.map +1 -0
  69. package/dist/cli/commands/history.js +160 -0
  70. package/dist/cli/commands/history.js.map +1 -0
  71. package/dist/cli/commands/identity.d.ts +18 -0
  72. package/dist/cli/commands/identity.d.ts.map +1 -0
  73. package/dist/cli/commands/identity.js +698 -0
  74. package/dist/cli/commands/identity.js.map +1 -0
  75. package/dist/cli/commands/inbox.d.ts +20 -0
  76. package/dist/cli/commands/inbox.d.ts.map +1 -0
  77. package/dist/cli/commands/inbox.js +493 -0
  78. package/dist/cli/commands/inbox.js.map +1 -0
  79. package/dist/cli/commands/init.d.ts +20 -0
  80. package/dist/cli/commands/init.d.ts.map +1 -0
  81. package/dist/cli/commands/init.js +144 -0
  82. package/dist/cli/commands/init.js.map +1 -0
  83. package/dist/cli/commands/install.d.ts +9 -0
  84. package/dist/cli/commands/install.d.ts.map +1 -0
  85. package/dist/cli/commands/install.js +200 -0
  86. package/dist/cli/commands/install.js.map +1 -0
  87. package/dist/cli/commands/library.d.ts +12 -0
  88. package/dist/cli/commands/library.d.ts.map +1 -0
  89. package/dist/cli/commands/library.js +665 -0
  90. package/dist/cli/commands/library.js.map +1 -0
  91. package/dist/cli/commands/message.d.ts +11 -0
  92. package/dist/cli/commands/message.d.ts.map +1 -0
  93. package/dist/cli/commands/message.js +608 -0
  94. package/dist/cli/commands/message.js.map +1 -0
  95. package/dist/cli/commands/plan.d.ts +17 -0
  96. package/dist/cli/commands/plan.d.ts.map +1 -0
  97. package/dist/cli/commands/plan.js +698 -0
  98. package/dist/cli/commands/plan.js.map +1 -0
  99. package/dist/cli/commands/playbook.d.ts +12 -0
  100. package/dist/cli/commands/playbook.d.ts.map +1 -0
  101. package/dist/cli/commands/playbook.js +730 -0
  102. package/dist/cli/commands/playbook.js.map +1 -0
  103. package/dist/cli/commands/reset.d.ts +12 -0
  104. package/dist/cli/commands/reset.d.ts.map +1 -0
  105. package/dist/cli/commands/reset.js +306 -0
  106. package/dist/cli/commands/reset.js.map +1 -0
  107. package/dist/cli/commands/serve.d.ts +11 -0
  108. package/dist/cli/commands/serve.d.ts.map +1 -0
  109. package/dist/cli/commands/serve.js +106 -0
  110. package/dist/cli/commands/serve.js.map +1 -0
  111. package/dist/cli/commands/stats.d.ts +8 -0
  112. package/dist/cli/commands/stats.d.ts.map +1 -0
  113. package/dist/cli/commands/stats.js +82 -0
  114. package/dist/cli/commands/stats.js.map +1 -0
  115. package/dist/cli/commands/sync.d.ts +14 -0
  116. package/dist/cli/commands/sync.d.ts.map +1 -0
  117. package/dist/cli/commands/sync.js +370 -0
  118. package/dist/cli/commands/sync.js.map +1 -0
  119. package/dist/cli/commands/task.d.ts +25 -0
  120. package/dist/cli/commands/task.d.ts.map +1 -0
  121. package/dist/cli/commands/task.js +1153 -0
  122. package/dist/cli/commands/task.js.map +1 -0
  123. package/dist/cli/commands/team.d.ts +13 -0
  124. package/dist/cli/commands/team.d.ts.map +1 -0
  125. package/dist/cli/commands/team.js +471 -0
  126. package/dist/cli/commands/team.js.map +1 -0
  127. package/dist/cli/commands/workflow.d.ts +16 -0
  128. package/dist/cli/commands/workflow.d.ts.map +1 -0
  129. package/dist/cli/commands/workflow.js +753 -0
  130. package/dist/cli/commands/workflow.js.map +1 -0
  131. package/dist/cli/completion.d.ts +28 -0
  132. package/dist/cli/completion.d.ts.map +1 -0
  133. package/dist/cli/completion.js +295 -0
  134. package/dist/cli/completion.js.map +1 -0
  135. package/dist/cli/db.d.ts +38 -0
  136. package/dist/cli/db.d.ts.map +1 -0
  137. package/dist/cli/db.js +90 -0
  138. package/dist/cli/db.js.map +1 -0
  139. package/dist/cli/formatter.d.ts +87 -0
  140. package/dist/cli/formatter.d.ts.map +1 -0
  141. package/dist/cli/formatter.js +464 -0
  142. package/dist/cli/formatter.js.map +1 -0
  143. package/dist/cli/index.d.ts +33 -0
  144. package/dist/cli/index.d.ts.map +1 -0
  145. package/dist/cli/index.js +38 -0
  146. package/dist/cli/index.js.map +1 -0
  147. package/dist/cli/parser.d.ts +45 -0
  148. package/dist/cli/parser.d.ts.map +1 -0
  149. package/dist/cli/parser.js +256 -0
  150. package/dist/cli/parser.js.map +1 -0
  151. package/dist/cli/plugin-loader.d.ts +39 -0
  152. package/dist/cli/plugin-loader.d.ts.map +1 -0
  153. package/dist/cli/plugin-loader.js +165 -0
  154. package/dist/cli/plugin-loader.js.map +1 -0
  155. package/dist/cli/plugin-registry.d.ts +50 -0
  156. package/dist/cli/plugin-registry.d.ts.map +1 -0
  157. package/dist/cli/plugin-registry.js +206 -0
  158. package/dist/cli/plugin-registry.js.map +1 -0
  159. package/dist/cli/plugin-types.d.ts +106 -0
  160. package/dist/cli/plugin-types.d.ts.map +1 -0
  161. package/dist/cli/plugin-types.js +103 -0
  162. package/dist/cli/plugin-types.js.map +1 -0
  163. package/dist/cli/runner.d.ts +35 -0
  164. package/dist/cli/runner.d.ts.map +1 -0
  165. package/dist/cli/runner.js +340 -0
  166. package/dist/cli/runner.js.map +1 -0
  167. package/dist/cli/suggest.d.ts +15 -0
  168. package/dist/cli/suggest.d.ts.map +1 -0
  169. package/dist/cli/suggest.js +49 -0
  170. package/dist/cli/suggest.js.map +1 -0
  171. package/dist/cli/types.d.ts +138 -0
  172. package/dist/cli/types.d.ts.map +1 -0
  173. package/dist/cli/types.js +63 -0
  174. package/dist/cli/types.js.map +1 -0
  175. package/dist/config/config.d.ts +86 -0
  176. package/dist/config/config.d.ts.map +1 -0
  177. package/dist/config/config.js +348 -0
  178. package/dist/config/config.js.map +1 -0
  179. package/dist/config/defaults.d.ts +66 -0
  180. package/dist/config/defaults.d.ts.map +1 -0
  181. package/dist/config/defaults.js +114 -0
  182. package/dist/config/defaults.js.map +1 -0
  183. package/dist/config/duration.d.ts +75 -0
  184. package/dist/config/duration.d.ts.map +1 -0
  185. package/dist/config/duration.js +190 -0
  186. package/dist/config/duration.js.map +1 -0
  187. package/dist/config/env.d.ts +67 -0
  188. package/dist/config/env.d.ts.map +1 -0
  189. package/dist/config/env.js +207 -0
  190. package/dist/config/env.js.map +1 -0
  191. package/dist/config/file.d.ts +97 -0
  192. package/dist/config/file.d.ts.map +1 -0
  193. package/dist/config/file.js +365 -0
  194. package/dist/config/file.js.map +1 -0
  195. package/dist/config/index.d.ts +35 -0
  196. package/dist/config/index.d.ts.map +1 -0
  197. package/dist/config/index.js +41 -0
  198. package/dist/config/index.js.map +1 -0
  199. package/dist/config/merge.d.ts +53 -0
  200. package/dist/config/merge.d.ts.map +1 -0
  201. package/dist/config/merge.js +226 -0
  202. package/dist/config/merge.js.map +1 -0
  203. package/dist/config/types.d.ts +257 -0
  204. package/dist/config/types.d.ts.map +1 -0
  205. package/dist/config/types.js +72 -0
  206. package/dist/config/types.js.map +1 -0
  207. package/dist/config/validation.d.ts +55 -0
  208. package/dist/config/validation.d.ts.map +1 -0
  209. package/dist/config/validation.js +251 -0
  210. package/dist/config/validation.js.map +1 -0
  211. package/dist/http/index.d.ts +8 -0
  212. package/dist/http/index.d.ts.map +1 -0
  213. package/dist/http/index.js +12 -0
  214. package/dist/http/index.js.map +1 -0
  215. package/dist/http/sync-handlers.d.ts +162 -0
  216. package/dist/http/sync-handlers.d.ts.map +1 -0
  217. package/dist/http/sync-handlers.js +271 -0
  218. package/dist/http/sync-handlers.js.map +1 -0
  219. package/dist/index.d.ts +25 -0
  220. package/dist/index.d.ts.map +1 -0
  221. package/dist/index.js +69 -0
  222. package/dist/index.js.map +1 -0
  223. package/dist/server/index.d.ts +34 -0
  224. package/dist/server/index.d.ts.map +1 -0
  225. package/dist/server/index.js +3329 -0
  226. package/dist/server/index.js.map +1 -0
  227. package/dist/server/static.d.ts +18 -0
  228. package/dist/server/static.d.ts.map +1 -0
  229. package/dist/server/static.js +71 -0
  230. package/dist/server/static.js.map +1 -0
  231. package/dist/server/ws/broadcaster.d.ts +8 -0
  232. package/dist/server/ws/broadcaster.d.ts.map +1 -0
  233. package/dist/server/ws/broadcaster.js +7 -0
  234. package/dist/server/ws/broadcaster.js.map +1 -0
  235. package/dist/server/ws/handler.d.ts +55 -0
  236. package/dist/server/ws/handler.d.ts.map +1 -0
  237. package/dist/server/ws/handler.js +160 -0
  238. package/dist/server/ws/handler.js.map +1 -0
  239. package/dist/services/blocked-cache.d.ts +297 -0
  240. package/dist/services/blocked-cache.d.ts.map +1 -0
  241. package/dist/services/blocked-cache.js +755 -0
  242. package/dist/services/blocked-cache.js.map +1 -0
  243. package/dist/services/dependency.d.ts +205 -0
  244. package/dist/services/dependency.d.ts.map +1 -0
  245. package/dist/services/dependency.js +566 -0
  246. package/dist/services/dependency.js.map +1 -0
  247. package/dist/services/embeddings/fusion.d.ts +33 -0
  248. package/dist/services/embeddings/fusion.d.ts.map +1 -0
  249. package/dist/services/embeddings/fusion.js +34 -0
  250. package/dist/services/embeddings/fusion.js.map +1 -0
  251. package/dist/services/embeddings/index.d.ts +12 -0
  252. package/dist/services/embeddings/index.d.ts.map +1 -0
  253. package/dist/services/embeddings/index.js +10 -0
  254. package/dist/services/embeddings/index.js.map +1 -0
  255. package/dist/services/embeddings/local-provider.d.ts +31 -0
  256. package/dist/services/embeddings/local-provider.d.ts.map +1 -0
  257. package/dist/services/embeddings/local-provider.js +80 -0
  258. package/dist/services/embeddings/local-provider.js.map +1 -0
  259. package/dist/services/embeddings/service.d.ts +76 -0
  260. package/dist/services/embeddings/service.d.ts.map +1 -0
  261. package/dist/services/embeddings/service.js +153 -0
  262. package/dist/services/embeddings/service.js.map +1 -0
  263. package/dist/services/embeddings/types.d.ts +70 -0
  264. package/dist/services/embeddings/types.d.ts.map +1 -0
  265. package/dist/services/embeddings/types.js +8 -0
  266. package/dist/services/embeddings/types.js.map +1 -0
  267. package/dist/services/id-length-cache.d.ts +156 -0
  268. package/dist/services/id-length-cache.d.ts.map +1 -0
  269. package/dist/services/id-length-cache.js +197 -0
  270. package/dist/services/id-length-cache.js.map +1 -0
  271. package/dist/services/inbox.d.ts +147 -0
  272. package/dist/services/inbox.d.ts.map +1 -0
  273. package/dist/services/inbox.js +428 -0
  274. package/dist/services/inbox.js.map +1 -0
  275. package/dist/services/index.d.ts +10 -0
  276. package/dist/services/index.d.ts.map +1 -0
  277. package/dist/services/index.js +10 -0
  278. package/dist/services/index.js.map +1 -0
  279. package/dist/services/priority-service.d.ts +145 -0
  280. package/dist/services/priority-service.d.ts.map +1 -0
  281. package/dist/services/priority-service.js +272 -0
  282. package/dist/services/priority-service.js.map +1 -0
  283. package/dist/services/search-utils.d.ts +47 -0
  284. package/dist/services/search-utils.d.ts.map +1 -0
  285. package/dist/services/search-utils.js +83 -0
  286. package/dist/services/search-utils.js.map +1 -0
  287. package/dist/sync/hash.d.ts +48 -0
  288. package/dist/sync/hash.d.ts.map +1 -0
  289. package/dist/sync/hash.js +136 -0
  290. package/dist/sync/hash.js.map +1 -0
  291. package/dist/sync/index.d.ts +11 -0
  292. package/dist/sync/index.d.ts.map +1 -0
  293. package/dist/sync/index.js +16 -0
  294. package/dist/sync/index.js.map +1 -0
  295. package/dist/sync/merge.d.ts +80 -0
  296. package/dist/sync/merge.d.ts.map +1 -0
  297. package/dist/sync/merge.js +310 -0
  298. package/dist/sync/merge.js.map +1 -0
  299. package/dist/sync/serialization.d.ts +132 -0
  300. package/dist/sync/serialization.d.ts.map +1 -0
  301. package/dist/sync/serialization.js +306 -0
  302. package/dist/sync/serialization.js.map +1 -0
  303. package/dist/sync/service.d.ts +102 -0
  304. package/dist/sync/service.d.ts.map +1 -0
  305. package/dist/sync/service.js +493 -0
  306. package/dist/sync/service.js.map +1 -0
  307. package/dist/sync/types.d.ts +275 -0
  308. package/dist/sync/types.d.ts.map +1 -0
  309. package/dist/sync/types.js +76 -0
  310. package/dist/sync/types.js.map +1 -0
  311. package/dist/systems/identity.d.ts +479 -0
  312. package/dist/systems/identity.d.ts.map +1 -0
  313. package/dist/systems/identity.js +817 -0
  314. package/dist/systems/identity.js.map +1 -0
  315. package/dist/systems/index.d.ts +8 -0
  316. package/dist/systems/index.d.ts.map +1 -0
  317. package/dist/systems/index.js +29 -0
  318. package/dist/systems/index.js.map +1 -0
  319. package/package.json +121 -0
  320. package/web/assets/charts-vendor-D1YcbGux.js +55 -0
  321. package/web/assets/dnd-vendor-DmxE-_ZH.js +5 -0
  322. package/web/assets/editor-vendor-BxraAWts.js +279 -0
  323. package/web/assets/index-B77vv208.js +341 -0
  324. package/web/assets/index-CF_XnVLh.css +1 -0
  325. package/web/assets/router-vendor-BCKpRBrB.js +41 -0
  326. package/web/assets/ui-vendor-DUahGnbT.js +45 -0
  327. package/web/assets/utils-vendor-CfYKiENT.js +813 -0
  328. package/web/favicon.ico +0 -0
  329. package/web/index.html +23 -0
  330. package/web/logo.png +0 -0
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Configuration Merging
3
+ *
4
+ * Deep merge utilities for combining configuration from multiple sources
5
+ * with precedence handling.
6
+ */
7
+ import { getDefaultConfig } from './defaults.js';
8
+ // ============================================================================
9
+ // Deep Merge Utilities
10
+ // ============================================================================
11
+ /**
12
+ * Checks if a value is a plain object (not array, null, etc.)
13
+ */
14
+ function isPlainObject(value) {
15
+ return (typeof value === 'object' &&
16
+ value !== null &&
17
+ !Array.isArray(value) &&
18
+ Object.getPrototypeOf(value) === Object.prototype);
19
+ }
20
+ /**
21
+ * Deep merges two objects, with source values overriding target values
22
+ * Arrays are replaced, not merged
23
+ *
24
+ * @param target - Base object
25
+ * @param source - Override object
26
+ * @returns Merged object
27
+ */
28
+ export function deepMerge(target, source) {
29
+ const result = { ...target };
30
+ for (const key of Object.keys(source)) {
31
+ const sourceValue = source[key];
32
+ const targetValue = target[key];
33
+ if (sourceValue === undefined) {
34
+ // Skip undefined values - don't override with undefined
35
+ continue;
36
+ }
37
+ if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {
38
+ // Recursively merge objects
39
+ result[key] = deepMerge(targetValue, sourceValue);
40
+ }
41
+ else {
42
+ // Replace value (arrays, primitives, etc.)
43
+ result[key] = sourceValue;
44
+ }
45
+ }
46
+ return result;
47
+ }
48
+ /**
49
+ * Merges partial configuration into a complete configuration
50
+ *
51
+ * @param base - Base configuration (typically defaults)
52
+ * @param partial - Partial configuration to merge in
53
+ * @returns Complete merged configuration
54
+ */
55
+ export function mergeConfiguration(base, partial) {
56
+ const result = {
57
+ actor: partial.actor !== undefined ? partial.actor : base.actor,
58
+ database: partial.database !== undefined ? partial.database : base.database,
59
+ sync: {
60
+ autoExport: partial.sync?.autoExport !== undefined ? partial.sync.autoExport : base.sync.autoExport,
61
+ exportDebounce: partial.sync?.exportDebounce !== undefined ? partial.sync.exportDebounce : base.sync.exportDebounce,
62
+ elementsFile: partial.sync?.elementsFile !== undefined ? partial.sync.elementsFile : base.sync.elementsFile,
63
+ dependenciesFile: partial.sync?.dependenciesFile !== undefined ? partial.sync.dependenciesFile : base.sync.dependenciesFile,
64
+ },
65
+ playbooks: {
66
+ paths: partial.playbooks?.paths !== undefined ? partial.playbooks.paths : [...base.playbooks.paths],
67
+ },
68
+ tombstone: {
69
+ ttl: partial.tombstone?.ttl !== undefined ? partial.tombstone.ttl : base.tombstone.ttl,
70
+ minTtl: partial.tombstone?.minTtl !== undefined ? partial.tombstone.minTtl : base.tombstone.minTtl,
71
+ },
72
+ identity: {
73
+ mode: partial.identity?.mode !== undefined ? partial.identity.mode : base.identity.mode,
74
+ timeTolerance: partial.identity?.timeTolerance !== undefined ? partial.identity.timeTolerance : base.identity.timeTolerance,
75
+ },
76
+ plugins: {
77
+ packages: partial.plugins?.packages !== undefined ? partial.plugins.packages : [...(base.plugins?.packages ?? [])],
78
+ },
79
+ };
80
+ return result;
81
+ }
82
+ /**
83
+ * Merges multiple partial configurations in order
84
+ * Later configurations override earlier ones
85
+ *
86
+ * @param base - Base configuration
87
+ * @param partials - Partial configurations to merge, in order
88
+ * @returns Complete merged configuration
89
+ */
90
+ export function mergeConfigurations(base, ...partials) {
91
+ let result = base;
92
+ for (const partial of partials) {
93
+ result = mergeConfiguration(result, partial);
94
+ }
95
+ return result;
96
+ }
97
+ /**
98
+ * Creates a configuration by merging defaults with partial config
99
+ *
100
+ * @param partial - Partial configuration
101
+ * @returns Complete configuration with defaults filled in
102
+ */
103
+ export function createConfiguration(partial) {
104
+ const defaults = getDefaultConfig();
105
+ if (!partial) {
106
+ return defaults;
107
+ }
108
+ return mergeConfiguration(defaults, partial);
109
+ }
110
+ // ============================================================================
111
+ // Clone Utilities
112
+ // ============================================================================
113
+ /**
114
+ * Creates a deep clone of a configuration
115
+ */
116
+ export function cloneConfiguration(config) {
117
+ return {
118
+ actor: config.actor,
119
+ database: config.database,
120
+ sync: {
121
+ autoExport: config.sync.autoExport,
122
+ exportDebounce: config.sync.exportDebounce,
123
+ elementsFile: config.sync.elementsFile,
124
+ dependenciesFile: config.sync.dependenciesFile,
125
+ },
126
+ playbooks: {
127
+ paths: [...config.playbooks.paths],
128
+ },
129
+ tombstone: {
130
+ ttl: config.tombstone.ttl,
131
+ minTtl: config.tombstone.minTtl,
132
+ },
133
+ identity: {
134
+ mode: config.identity.mode,
135
+ timeTolerance: config.identity.timeTolerance,
136
+ },
137
+ plugins: {
138
+ packages: [...(config.plugins?.packages ?? [])],
139
+ },
140
+ };
141
+ }
142
+ // ============================================================================
143
+ // Diff Utilities
144
+ // ============================================================================
145
+ /**
146
+ * Compares two configurations and returns the differences
147
+ */
148
+ export function diffConfigurations(a, b) {
149
+ const diff = {};
150
+ if (a.actor !== b.actor) {
151
+ diff.actor = b.actor;
152
+ }
153
+ if (a.database !== b.database) {
154
+ diff.database = b.database;
155
+ }
156
+ // Sync diff
157
+ const syncDiff = {};
158
+ if (a.sync.autoExport !== b.sync.autoExport) {
159
+ syncDiff.autoExport = b.sync.autoExport;
160
+ }
161
+ if (a.sync.exportDebounce !== b.sync.exportDebounce) {
162
+ syncDiff.exportDebounce = b.sync.exportDebounce;
163
+ }
164
+ if (a.sync.elementsFile !== b.sync.elementsFile) {
165
+ syncDiff.elementsFile = b.sync.elementsFile;
166
+ }
167
+ if (a.sync.dependenciesFile !== b.sync.dependenciesFile) {
168
+ syncDiff.dependenciesFile = b.sync.dependenciesFile;
169
+ }
170
+ if (Object.keys(syncDiff).length > 0) {
171
+ diff.sync = syncDiff;
172
+ }
173
+ // Playbooks diff
174
+ if (JSON.stringify(a.playbooks.paths) !== JSON.stringify(b.playbooks.paths)) {
175
+ diff.playbooks = { paths: b.playbooks.paths };
176
+ }
177
+ // Tombstone diff
178
+ const tombstoneDiff = {};
179
+ if (a.tombstone.ttl !== b.tombstone.ttl) {
180
+ tombstoneDiff.ttl = b.tombstone.ttl;
181
+ }
182
+ if (a.tombstone.minTtl !== b.tombstone.minTtl) {
183
+ tombstoneDiff.minTtl = b.tombstone.minTtl;
184
+ }
185
+ if (Object.keys(tombstoneDiff).length > 0) {
186
+ diff.tombstone = tombstoneDiff;
187
+ }
188
+ // Identity diff
189
+ const identityDiff = {};
190
+ if (a.identity.mode !== b.identity.mode) {
191
+ identityDiff.mode = b.identity.mode;
192
+ }
193
+ if (a.identity.timeTolerance !== b.identity.timeTolerance) {
194
+ identityDiff.timeTolerance = b.identity.timeTolerance;
195
+ }
196
+ if (Object.keys(identityDiff).length > 0) {
197
+ diff.identity = identityDiff;
198
+ }
199
+ // Plugins diff
200
+ const aPackages = a.plugins?.packages ?? [];
201
+ const bPackages = b.plugins?.packages ?? [];
202
+ if (JSON.stringify(aPackages) !== JSON.stringify(bPackages)) {
203
+ diff.plugins = { packages: bPackages };
204
+ }
205
+ return diff;
206
+ }
207
+ /**
208
+ * Checks if two configurations are equal
209
+ */
210
+ export function configurationsEqual(a, b) {
211
+ const aPackages = a.plugins?.packages ?? [];
212
+ const bPackages = b.plugins?.packages ?? [];
213
+ return (a.actor === b.actor &&
214
+ a.database === b.database &&
215
+ a.sync.autoExport === b.sync.autoExport &&
216
+ a.sync.exportDebounce === b.sync.exportDebounce &&
217
+ a.sync.elementsFile === b.sync.elementsFile &&
218
+ a.sync.dependenciesFile === b.sync.dependenciesFile &&
219
+ JSON.stringify(a.playbooks.paths) === JSON.stringify(b.playbooks.paths) &&
220
+ a.tombstone.ttl === b.tombstone.ttl &&
221
+ a.tombstone.minTtl === b.tombstone.minTtl &&
222
+ a.identity.mode === b.identity.mode &&
223
+ a.identity.timeTolerance === b.identity.timeTolerance &&
224
+ JSON.stringify(aPackages) === JSON.stringify(bPackages));
225
+ }
226
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Configuration System Types
3
+ *
4
+ * Defines all configuration interfaces and types for the Stoneforge system.
5
+ * Supports file-based configuration, environment variables, and CLI overrides
6
+ * with a clear precedence hierarchy.
7
+ */
8
+ import { IdentityMode } from '../systems/identity.js';
9
+ /**
10
+ * Duration in milliseconds
11
+ * Can be specified as number (ms) or duration string (e.g., '5m', '500ms')
12
+ */
13
+ export type Duration = number;
14
+ /**
15
+ * Duration string format
16
+ * Supported units: ms, s, m, h, d
17
+ */
18
+ export type DurationString = `${number}${'ms' | 's' | 'm' | 'h' | 'd'}`;
19
+ /**
20
+ * Sync configuration settings
21
+ */
22
+ export interface SyncConfig {
23
+ /** Auto-export on mutations (default: true) */
24
+ autoExport: boolean;
25
+ /** Debounce interval for exports (default: 500ms) */
26
+ exportDebounce: Duration;
27
+ /** Elements JSONL file name (default: 'elements.jsonl') */
28
+ elementsFile: string;
29
+ /** Dependencies JSONL file name (default: 'dependencies.jsonl') */
30
+ dependenciesFile: string;
31
+ }
32
+ /**
33
+ * Playbook configuration settings
34
+ */
35
+ export interface PlaybookConfig {
36
+ /** Playbook search paths */
37
+ paths: string[];
38
+ }
39
+ /**
40
+ * Tombstone (soft delete) configuration
41
+ */
42
+ export interface TombstoneConfig {
43
+ /** Time-to-live for tombstones (default: 30 days = 2592000000ms) */
44
+ ttl: Duration;
45
+ /** Minimum TTL allowed (default: 7 days = 604800000ms) */
46
+ minTtl: Duration;
47
+ }
48
+ /**
49
+ * CLI plugins configuration
50
+ */
51
+ export interface PluginsConfig {
52
+ /** Package names that export CLI plugins */
53
+ packages: string[];
54
+ }
55
+ /**
56
+ * Identity system configuration
57
+ */
58
+ export interface IdentityConfigSection {
59
+ /** Identity verification mode (default: 'soft') */
60
+ mode: IdentityMode;
61
+ /** Time tolerance for signature expiry (default: 5 minutes) */
62
+ timeTolerance: Duration;
63
+ }
64
+ /**
65
+ * Complete Stoneforge configuration
66
+ */
67
+ export interface Configuration {
68
+ /** Default actor name for operations */
69
+ actor?: string;
70
+ /** Database filename (default: 'stoneforge.db') */
71
+ database: string;
72
+ /** Sync settings */
73
+ sync: SyncConfig;
74
+ /** Playbook settings */
75
+ playbooks: PlaybookConfig;
76
+ /** Tombstone settings */
77
+ tombstone: TombstoneConfig;
78
+ /** Identity settings */
79
+ identity: IdentityConfigSection;
80
+ /** CLI plugins settings */
81
+ plugins: PluginsConfig;
82
+ }
83
+ /**
84
+ * Partial configuration for merging
85
+ */
86
+ export type PartialConfiguration = {
87
+ actor?: string;
88
+ database?: string;
89
+ sync?: Partial<SyncConfig>;
90
+ playbooks?: Partial<PlaybookConfig>;
91
+ tombstone?: Partial<TombstoneConfig>;
92
+ identity?: Partial<IdentityConfigSection>;
93
+ plugins?: Partial<PluginsConfig>;
94
+ };
95
+ /**
96
+ * Source of a configuration value
97
+ */
98
+ export declare const ConfigSource: {
99
+ /** Built-in default value */
100
+ readonly DEFAULT: "default";
101
+ /** From config file */
102
+ readonly FILE: "file";
103
+ /** From environment variable */
104
+ readonly ENVIRONMENT: "environment";
105
+ /** From CLI flag */
106
+ readonly CLI: "cli";
107
+ };
108
+ export type ConfigSource = (typeof ConfigSource)[keyof typeof ConfigSource];
109
+ /**
110
+ * Configuration value with source tracking
111
+ */
112
+ export interface TrackedValue<T> {
113
+ /** The configuration value */
114
+ value: T;
115
+ /** Where the value came from */
116
+ source: ConfigSource;
117
+ }
118
+ /**
119
+ * Configuration with source tracking for each value
120
+ */
121
+ export interface TrackedConfiguration {
122
+ actor?: TrackedValue<string>;
123
+ database: TrackedValue<string>;
124
+ sync: {
125
+ autoExport: TrackedValue<boolean>;
126
+ exportDebounce: TrackedValue<Duration>;
127
+ elementsFile: TrackedValue<string>;
128
+ dependenciesFile: TrackedValue<string>;
129
+ };
130
+ playbooks: {
131
+ paths: TrackedValue<string[]>;
132
+ };
133
+ tombstone: {
134
+ ttl: TrackedValue<Duration>;
135
+ minTtl: TrackedValue<Duration>;
136
+ };
137
+ identity: {
138
+ mode: TrackedValue<IdentityMode>;
139
+ timeTolerance: TrackedValue<Duration>;
140
+ };
141
+ plugins: {
142
+ packages: TrackedValue<string[]>;
143
+ };
144
+ }
145
+ /**
146
+ * YAML configuration file structure
147
+ * Uses snake_case to match YAML conventions
148
+ */
149
+ export interface YamlConfigFile {
150
+ actor?: string;
151
+ database?: string;
152
+ sync?: {
153
+ auto_export?: boolean;
154
+ export_debounce?: string | number;
155
+ elements_file?: string;
156
+ dependencies_file?: string;
157
+ };
158
+ playbooks?: {
159
+ paths?: string[];
160
+ };
161
+ tombstone?: {
162
+ ttl?: string | number;
163
+ min_ttl?: string | number;
164
+ };
165
+ identity?: {
166
+ mode?: string;
167
+ time_tolerance?: string | number;
168
+ };
169
+ plugins?: {
170
+ packages?: string[];
171
+ };
172
+ }
173
+ /**
174
+ * Environment variable names for configuration
175
+ */
176
+ export declare const EnvVars: {
177
+ /** Default actor name */
178
+ readonly ACTOR: "STONEFORGE_ACTOR";
179
+ /** Database file path */
180
+ readonly DATABASE: "STONEFORGE_DB";
181
+ /** Config file path override */
182
+ readonly CONFIG: "STONEFORGE_CONFIG";
183
+ /** JSON output mode */
184
+ readonly JSON: "STONEFORGE_JSON";
185
+ /** Verbose/debug mode */
186
+ readonly VERBOSE: "STONEFORGE_VERBOSE";
187
+ /** Auto-export on mutations */
188
+ readonly SYNC_AUTO_EXPORT: "STONEFORGE_SYNC_AUTO_EXPORT";
189
+ /** Identity mode */
190
+ readonly IDENTITY_MODE: "STONEFORGE_IDENTITY_MODE";
191
+ };
192
+ export type EnvVar = (typeof EnvVars)[keyof typeof EnvVars];
193
+ /**
194
+ * Options for loading configuration
195
+ */
196
+ export interface LoadConfigOptions {
197
+ /** Override config file path */
198
+ configPath?: string;
199
+ /** Skip environment variables */
200
+ skipEnv?: boolean;
201
+ /** Skip config file loading (use defaults only) */
202
+ skipFile?: boolean;
203
+ /** CLI flag overrides */
204
+ cliOverrides?: PartialConfiguration;
205
+ }
206
+ /**
207
+ * Result of configuration file discovery
208
+ */
209
+ export interface ConfigFileDiscovery {
210
+ /** Path to found config file, if any */
211
+ path?: string;
212
+ /** Whether the file exists */
213
+ exists: boolean;
214
+ /** Directory containing .stoneforge */
215
+ stoneforgeDir?: string;
216
+ }
217
+ /**
218
+ * Result of configuration validation
219
+ */
220
+ export interface ConfigValidationResult {
221
+ /** Whether validation passed */
222
+ valid: boolean;
223
+ /** Validation error messages */
224
+ errors: string[];
225
+ /** Warning messages (non-fatal) */
226
+ warnings: string[];
227
+ }
228
+ /**
229
+ * Valid configuration paths (as const array for runtime validation)
230
+ */
231
+ export declare const VALID_CONFIG_PATHS: readonly ["actor", "database", "sync.autoExport", "sync.exportDebounce", "sync.elementsFile", "sync.dependenciesFile", "playbooks.paths", "tombstone.ttl", "tombstone.minTtl", "identity.mode", "identity.timeTolerance", "plugins.packages"];
232
+ /**
233
+ * Dot-notation paths for configuration values
234
+ */
235
+ export type ConfigPath = (typeof VALID_CONFIG_PATHS)[number];
236
+ /**
237
+ * Type guard to check if a string is a valid ConfigPath
238
+ */
239
+ export declare function isValidConfigPath(value: string): value is ConfigPath;
240
+ /**
241
+ * Maps config paths to their value types
242
+ */
243
+ export interface ConfigPathTypes {
244
+ actor: string | undefined;
245
+ database: string;
246
+ 'sync.autoExport': boolean;
247
+ 'sync.exportDebounce': Duration;
248
+ 'sync.elementsFile': string;
249
+ 'sync.dependenciesFile': string;
250
+ 'playbooks.paths': string[];
251
+ 'tombstone.ttl': Duration;
252
+ 'tombstone.minTtl': Duration;
253
+ 'identity.mode': IdentityMode;
254
+ 'identity.timeTolerance': Duration;
255
+ 'plugins.packages': string[];
256
+ }
257
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Configuration System Types
3
+ *
4
+ * Defines all configuration interfaces and types for the Stoneforge system.
5
+ * Supports file-based configuration, environment variables, and CLI overrides
6
+ * with a clear precedence hierarchy.
7
+ */
8
+ // ============================================================================
9
+ // Configuration Source Tracking
10
+ // ============================================================================
11
+ /**
12
+ * Source of a configuration value
13
+ */
14
+ export const ConfigSource = {
15
+ /** Built-in default value */
16
+ DEFAULT: 'default',
17
+ /** From config file */
18
+ FILE: 'file',
19
+ /** From environment variable */
20
+ ENVIRONMENT: 'environment',
21
+ /** From CLI flag */
22
+ CLI: 'cli',
23
+ };
24
+ // ============================================================================
25
+ // Environment Variable Mapping
26
+ // ============================================================================
27
+ /**
28
+ * Environment variable names for configuration
29
+ */
30
+ export const EnvVars = {
31
+ /** Default actor name */
32
+ ACTOR: 'STONEFORGE_ACTOR',
33
+ /** Database file path */
34
+ DATABASE: 'STONEFORGE_DB',
35
+ /** Config file path override */
36
+ CONFIG: 'STONEFORGE_CONFIG',
37
+ /** JSON output mode */
38
+ JSON: 'STONEFORGE_JSON',
39
+ /** Verbose/debug mode */
40
+ VERBOSE: 'STONEFORGE_VERBOSE',
41
+ /** Auto-export on mutations */
42
+ SYNC_AUTO_EXPORT: 'STONEFORGE_SYNC_AUTO_EXPORT',
43
+ /** Identity mode */
44
+ IDENTITY_MODE: 'STONEFORGE_IDENTITY_MODE',
45
+ };
46
+ // ============================================================================
47
+ // Configuration Path Types
48
+ // ============================================================================
49
+ /**
50
+ * Valid configuration paths (as const array for runtime validation)
51
+ */
52
+ export const VALID_CONFIG_PATHS = [
53
+ 'actor',
54
+ 'database',
55
+ 'sync.autoExport',
56
+ 'sync.exportDebounce',
57
+ 'sync.elementsFile',
58
+ 'sync.dependenciesFile',
59
+ 'playbooks.paths',
60
+ 'tombstone.ttl',
61
+ 'tombstone.minTtl',
62
+ 'identity.mode',
63
+ 'identity.timeTolerance',
64
+ 'plugins.packages',
65
+ ];
66
+ /**
67
+ * Type guard to check if a string is a valid ConfigPath
68
+ */
69
+ export function isValidConfigPath(value) {
70
+ return VALID_CONFIG_PATHS.includes(value);
71
+ }
72
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2GH,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,SAAS;IAClB,uBAAuB;IACvB,IAAI,EAAE,MAAM;IACZ,gCAAgC;IAChC,WAAW,EAAE,aAAa;IAC1B,oBAAoB;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AA2EX,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,yBAAyB;IACzB,KAAK,EAAE,kBAAkB;IACzB,yBAAyB;IACzB,QAAQ,EAAE,eAAe;IACzB,gCAAgC;IAChC,MAAM,EAAE,mBAAmB;IAC3B,uBAAuB;IACvB,IAAI,EAAE,iBAAiB;IACvB,yBAAyB;IACzB,OAAO,EAAE,oBAAoB;IAC7B,+BAA+B;IAC/B,gBAAgB,EAAE,6BAA6B;IAC/C,oBAAoB;IACpB,aAAa,EAAE,0BAA0B;CACjC,CAAC;AA8CX,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO;IACP,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,mBAAmB;IACnB,uBAAuB;IACvB,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,wBAAwB;IACxB,kBAAkB;CACV,CAAC;AAOX;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Configuration Validation
3
+ *
4
+ * Validates configuration values for correctness and consistency.
5
+ */
6
+ import type { Configuration, PartialConfiguration, ConfigValidationResult } from './types.js';
7
+ /**
8
+ * Validates an actor name
9
+ */
10
+ export declare function isValidActor(value: unknown): value is string;
11
+ /**
12
+ * Validates actor and throws if invalid
13
+ */
14
+ export declare function validateActor(value: unknown): string;
15
+ /**
16
+ * Validates a database filename
17
+ */
18
+ export declare function isValidDatabase(value: unknown): value is string;
19
+ /**
20
+ * Validates database and throws if invalid
21
+ */
22
+ export declare function validateDatabase(value: unknown): string;
23
+ /**
24
+ * Validates a JSONL filename
25
+ */
26
+ export declare function isValidJsonlFilename(value: unknown): value is string;
27
+ /**
28
+ * Validates JSONL filename and throws if invalid
29
+ */
30
+ export declare function validateJsonlFilename(value: unknown, field: string): string;
31
+ /**
32
+ * Validates playbook paths array
33
+ */
34
+ export declare function isValidPlaybookPaths(value: unknown): value is string[];
35
+ /**
36
+ * Validates playbook paths and throws if invalid
37
+ */
38
+ export declare function validatePlaybookPaths(value: unknown): string[];
39
+ /**
40
+ * Validates a complete configuration object
41
+ *
42
+ * @param config - Configuration to validate
43
+ * @returns Validated configuration
44
+ * @throws ValidationError if validation fails
45
+ */
46
+ export declare function validateConfiguration(config: unknown): Configuration;
47
+ /**
48
+ * Validates a configuration without throwing, returns result
49
+ */
50
+ export declare function validateConfigurationSafe(config: unknown): ConfigValidationResult;
51
+ /**
52
+ * Validates partial configuration for merging
53
+ */
54
+ export declare function validatePartialConfiguration(config: PartialConfiguration): void;
55
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAcpB;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAuBpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAW/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA8BvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8B3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE,CAKtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAyB9D;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAoHpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAejF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAiD/E"}