@smthrs/control 0.0.0-stage → 1.0.0-rc.4

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 (418) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/LICENSE +21 -0
  3. package/README.md +168 -2
  4. package/dist/cjs/ApprovalAuthority.d.ts +73 -0
  5. package/dist/cjs/ApprovalAuthority.d.ts.map +1 -0
  6. package/dist/cjs/ApprovalAuthority.js +62 -0
  7. package/dist/cjs/ApprovalAuthority.js.map +7 -0
  8. package/dist/cjs/Cancellation.d.ts +107 -0
  9. package/dist/cjs/Cancellation.d.ts.map +1 -0
  10. package/dist/cjs/Cancellation.js +72 -0
  11. package/dist/cjs/Cancellation.js.map +7 -0
  12. package/dist/cjs/Channels.d.ts +170 -0
  13. package/dist/cjs/Channels.d.ts.map +1 -0
  14. package/dist/cjs/Channels.js +278 -0
  15. package/dist/cjs/Channels.js.map +7 -0
  16. package/dist/cjs/Control.d.ts +202 -0
  17. package/dist/cjs/Control.d.ts.map +1 -0
  18. package/dist/cjs/Control.js +47 -0
  19. package/dist/cjs/Control.js.map +7 -0
  20. package/dist/cjs/ControlClient.d.ts +52 -0
  21. package/dist/cjs/ControlClient.d.ts.map +1 -0
  22. package/dist/cjs/ControlClient.js +191 -0
  23. package/dist/cjs/ControlClient.js.map +7 -0
  24. package/dist/cjs/ControlError.d.ts +318 -0
  25. package/dist/cjs/ControlError.d.ts.map +1 -0
  26. package/dist/cjs/ControlError.js +249 -0
  27. package/dist/cjs/ControlError.js.map +7 -0
  28. package/dist/cjs/ControlExecutor.d.ts +372 -0
  29. package/dist/cjs/ControlExecutor.d.ts.map +1 -0
  30. package/dist/cjs/ControlExecutor.js +123 -0
  31. package/dist/cjs/ControlExecutor.js.map +7 -0
  32. package/dist/cjs/ControlFacts.d.ts +454 -0
  33. package/dist/cjs/ControlFacts.d.ts.map +1 -0
  34. package/dist/cjs/ControlFacts.js +261 -0
  35. package/dist/cjs/ControlFacts.js.map +7 -0
  36. package/dist/cjs/ControlLive.d.ts +23 -0
  37. package/dist/cjs/ControlLive.d.ts.map +1 -0
  38. package/dist/cjs/ControlLive.js +1293 -0
  39. package/dist/cjs/ControlLive.js.map +7 -0
  40. package/dist/cjs/ControlRpcs.d.ts +1204 -0
  41. package/dist/cjs/ControlRpcs.d.ts.map +1 -0
  42. package/dist/cjs/ControlRpcs.js +247 -0
  43. package/dist/cjs/ControlRpcs.js.map +7 -0
  44. package/dist/cjs/ControlRuntime.d.ts +635 -0
  45. package/dist/cjs/ControlRuntime.d.ts.map +1 -0
  46. package/dist/cjs/ControlRuntime.js +744 -0
  47. package/dist/cjs/ControlRuntime.js.map +7 -0
  48. package/dist/cjs/ControlSchema.d.ts +2642 -0
  49. package/dist/cjs/ControlSchema.d.ts.map +1 -0
  50. package/dist/cjs/ControlSchema.js +634 -0
  51. package/dist/cjs/ControlSchema.js.map +7 -0
  52. package/dist/cjs/ControlServer.d.ts +51 -0
  53. package/dist/cjs/ControlServer.d.ts.map +1 -0
  54. package/dist/cjs/ControlServer.js +121 -0
  55. package/dist/cjs/ControlServer.js.map +7 -0
  56. package/dist/cjs/Credential.d.ts +136 -0
  57. package/dist/cjs/Credential.d.ts.map +1 -0
  58. package/dist/cjs/Credential.js +168 -0
  59. package/dist/cjs/Credential.js.map +7 -0
  60. package/dist/cjs/CredentialCipher.d.ts +90 -0
  61. package/dist/cjs/CredentialCipher.d.ts.map +1 -0
  62. package/dist/cjs/CredentialCipher.js +45 -0
  63. package/dist/cjs/CredentialCipher.js.map +7 -0
  64. package/dist/cjs/CredentialStore.d.ts +97 -0
  65. package/dist/cjs/CredentialStore.d.ts.map +1 -0
  66. package/dist/cjs/CredentialStore.js +81 -0
  67. package/dist/cjs/CredentialStore.js.map +7 -0
  68. package/dist/cjs/DispatchReader.d.ts +112 -0
  69. package/dist/cjs/DispatchReader.d.ts.map +1 -0
  70. package/dist/cjs/DispatchReader.js +45 -0
  71. package/dist/cjs/DispatchReader.js.map +7 -0
  72. package/dist/cjs/Health.d.ts +333 -0
  73. package/dist/cjs/Health.d.ts.map +1 -0
  74. package/dist/cjs/Health.js +311 -0
  75. package/dist/cjs/Health.js.map +7 -0
  76. package/dist/cjs/JevSessionChecker.d.ts +57 -0
  77. package/dist/cjs/JevSessionChecker.d.ts.map +1 -0
  78. package/dist/cjs/JevSessionChecker.js +113 -0
  79. package/dist/cjs/JevSessionChecker.js.map +7 -0
  80. package/dist/cjs/Lineage.d.ts +131 -0
  81. package/dist/cjs/Lineage.d.ts.map +1 -0
  82. package/dist/cjs/Lineage.js +81 -0
  83. package/dist/cjs/Lineage.js.map +7 -0
  84. package/dist/cjs/Migrations.d.ts +34 -0
  85. package/dist/cjs/Migrations.d.ts.map +1 -0
  86. package/dist/cjs/Migrations.js +60 -0
  87. package/dist/cjs/Migrations.js.map +7 -0
  88. package/dist/cjs/Monitor.d.ts +282 -0
  89. package/dist/cjs/Monitor.d.ts.map +1 -0
  90. package/dist/cjs/Monitor.js +283 -0
  91. package/dist/cjs/Monitor.js.map +7 -0
  92. package/dist/cjs/ScopedToken.d.ts +193 -0
  93. package/dist/cjs/ScopedToken.d.ts.map +1 -0
  94. package/dist/cjs/ScopedToken.js +135 -0
  95. package/dist/cjs/ScopedToken.js.map +7 -0
  96. package/dist/cjs/SqlControlRuntime.d.ts +161 -0
  97. package/dist/cjs/SqlControlRuntime.d.ts.map +1 -0
  98. package/dist/cjs/SqlControlRuntime.js +1522 -0
  99. package/dist/cjs/SqlControlRuntime.js.map +7 -0
  100. package/dist/cjs/SqlCredentialStore.d.ts +43 -0
  101. package/dist/cjs/SqlCredentialStore.d.ts.map +1 -0
  102. package/dist/cjs/SqlCredentialStore.js +113 -0
  103. package/dist/cjs/SqlCredentialStore.js.map +7 -0
  104. package/dist/cjs/Steering.d.ts +69 -0
  105. package/dist/cjs/Steering.d.ts.map +1 -0
  106. package/dist/cjs/Steering.js +49 -0
  107. package/dist/cjs/Steering.js.map +7 -0
  108. package/dist/cjs/SystemFlows.d.ts +223 -0
  109. package/dist/cjs/SystemFlows.d.ts.map +1 -0
  110. package/dist/cjs/SystemFlows.js +195 -0
  111. package/dist/cjs/SystemFlows.js.map +7 -0
  112. package/dist/cjs/WebCryptoCipher.d.ts +49 -0
  113. package/dist/cjs/WebCryptoCipher.d.ts.map +1 -0
  114. package/dist/cjs/WebCryptoCipher.js +129 -0
  115. package/dist/cjs/WebCryptoCipher.js.map +7 -0
  116. package/dist/cjs/WebhookChannel.d.ts +113 -0
  117. package/dist/cjs/WebhookChannel.d.ts.map +1 -0
  118. package/dist/cjs/WebhookChannel.js +98 -0
  119. package/dist/cjs/WebhookChannel.js.map +7 -0
  120. package/dist/cjs/index.d.ts +160 -0
  121. package/dist/cjs/index.d.ts.map +1 -0
  122. package/dist/cjs/index.js +91 -0
  123. package/dist/cjs/index.js.map +7 -0
  124. package/dist/cjs/internal/MutationBoundary.d.ts +27 -0
  125. package/dist/cjs/internal/MutationBoundary.d.ts.map +1 -0
  126. package/dist/cjs/internal/MutationBoundary.js +50 -0
  127. package/dist/cjs/internal/MutationBoundary.js.map +7 -0
  128. package/dist/cjs/internal/activeFibers.d.ts +12 -0
  129. package/dist/cjs/internal/activeFibers.d.ts.map +1 -0
  130. package/dist/cjs/internal/activeFibers.js +30 -0
  131. package/dist/cjs/internal/activeFibers.js.map +7 -0
  132. package/dist/cjs/internal/issues.d.ts +28 -0
  133. package/dist/cjs/internal/issues.d.ts.map +1 -0
  134. package/dist/cjs/internal/issues.js +34 -0
  135. package/dist/cjs/internal/issues.js.map +7 -0
  136. package/dist/cjs/internal/planning.d.ts +347 -0
  137. package/dist/cjs/internal/planning.d.ts.map +1 -0
  138. package/dist/cjs/internal/planning.js +137 -0
  139. package/dist/cjs/internal/planning.js.map +7 -0
  140. package/dist/cjs/internal/sqlSchemaErrors.d.ts +18 -0
  141. package/dist/cjs/internal/sqlSchemaErrors.d.ts.map +1 -0
  142. package/dist/cjs/internal/sqlSchemaErrors.js +40 -0
  143. package/dist/cjs/internal/sqlSchemaErrors.js.map +7 -0
  144. package/dist/cjs/migrations/0001_control_tables.d.ts +18 -0
  145. package/dist/cjs/migrations/0001_control_tables.d.ts.map +1 -0
  146. package/dist/cjs/migrations/0001_control_tables.js +115 -0
  147. package/dist/cjs/migrations/0001_control_tables.js.map +7 -0
  148. package/dist/cjs/migrations/0002_run_keys.d.ts +15 -0
  149. package/dist/cjs/migrations/0002_run_keys.d.ts.map +1 -0
  150. package/dist/cjs/migrations/0002_run_keys.js +44 -0
  151. package/dist/cjs/migrations/0002_run_keys.js.map +7 -0
  152. package/dist/cjs/migrations/0003_signal_commands.d.ts +13 -0
  153. package/dist/cjs/migrations/0003_signal_commands.d.ts.map +1 -0
  154. package/dist/cjs/migrations/0003_signal_commands.js +50 -0
  155. package/dist/cjs/migrations/0003_signal_commands.js.map +7 -0
  156. package/dist/cjs/migrations/0004_approval_decisions.d.ts +13 -0
  157. package/dist/cjs/migrations/0004_approval_decisions.d.ts.map +1 -0
  158. package/dist/cjs/migrations/0004_approval_decisions.js +45 -0
  159. package/dist/cjs/migrations/0004_approval_decisions.js.map +7 -0
  160. package/dist/cjs/migrations/0005_signal_principals.d.ts +18 -0
  161. package/dist/cjs/migrations/0005_signal_principals.d.ts.map +1 -0
  162. package/dist/cjs/migrations/0005_signal_principals.js +45 -0
  163. package/dist/cjs/migrations/0005_signal_principals.js.map +7 -0
  164. package/dist/cjs/migrations/0006_run_principals.d.ts +18 -0
  165. package/dist/cjs/migrations/0006_run_principals.d.ts.map +1 -0
  166. package/dist/cjs/migrations/0006_run_principals.js +49 -0
  167. package/dist/cjs/migrations/0006_run_principals.js.map +7 -0
  168. package/dist/cjs/migrations/0007_resume_consent.d.ts +18 -0
  169. package/dist/cjs/migrations/0007_resume_consent.d.ts.map +1 -0
  170. package/dist/cjs/migrations/0007_resume_consent.js +46 -0
  171. package/dist/cjs/migrations/0007_resume_consent.js.map +7 -0
  172. package/dist/cjs/package.json +1 -0
  173. package/dist/cjs/test/TestControl.d.ts +19 -0
  174. package/dist/cjs/test/TestControl.d.ts.map +1 -0
  175. package/dist/cjs/test/TestControl.js +62 -0
  176. package/dist/cjs/test/TestControl.js.map +7 -0
  177. package/dist/esm/ApprovalAuthority.d.ts +73 -0
  178. package/dist/esm/ApprovalAuthority.d.ts.map +1 -0
  179. package/dist/esm/ApprovalAuthority.js +72 -0
  180. package/dist/esm/ApprovalAuthority.js.map +1 -0
  181. package/dist/esm/Cancellation.d.ts +107 -0
  182. package/dist/esm/Cancellation.d.ts.map +1 -0
  183. package/dist/esm/Cancellation.js +116 -0
  184. package/dist/esm/Cancellation.js.map +1 -0
  185. package/dist/esm/Channels.d.ts +170 -0
  186. package/dist/esm/Channels.d.ts.map +1 -0
  187. package/dist/esm/Channels.js +312 -0
  188. package/dist/esm/Channels.js.map +1 -0
  189. package/dist/esm/Control.d.ts +202 -0
  190. package/dist/esm/Control.d.ts.map +1 -0
  191. package/dist/esm/Control.js +42 -0
  192. package/dist/esm/Control.js.map +1 -0
  193. package/dist/esm/ControlClient.d.ts +52 -0
  194. package/dist/esm/ControlClient.d.ts.map +1 -0
  195. package/dist/esm/ControlClient.js +217 -0
  196. package/dist/esm/ControlClient.js.map +1 -0
  197. package/dist/esm/ControlError.d.ts +318 -0
  198. package/dist/esm/ControlError.d.ts.map +1 -0
  199. package/dist/esm/ControlError.js +359 -0
  200. package/dist/esm/ControlError.js.map +1 -0
  201. package/dist/esm/ControlExecutor.d.ts +372 -0
  202. package/dist/esm/ControlExecutor.d.ts.map +1 -0
  203. package/dist/esm/ControlExecutor.js +212 -0
  204. package/dist/esm/ControlExecutor.js.map +1 -0
  205. package/dist/esm/ControlFacts.d.ts +454 -0
  206. package/dist/esm/ControlFacts.d.ts.map +1 -0
  207. package/dist/esm/ControlFacts.js +324 -0
  208. package/dist/esm/ControlFacts.js.map +1 -0
  209. package/dist/esm/ControlLive.d.ts +23 -0
  210. package/dist/esm/ControlLive.d.ts.map +1 -0
  211. package/dist/esm/ControlLive.js +1589 -0
  212. package/dist/esm/ControlLive.js.map +1 -0
  213. package/dist/esm/ControlRpcs.d.ts +1204 -0
  214. package/dist/esm/ControlRpcs.d.ts.map +1 -0
  215. package/dist/esm/ControlRpcs.js +299 -0
  216. package/dist/esm/ControlRpcs.js.map +1 -0
  217. package/dist/esm/ControlRuntime.d.ts +635 -0
  218. package/dist/esm/ControlRuntime.d.ts.map +1 -0
  219. package/dist/esm/ControlRuntime.js +808 -0
  220. package/dist/esm/ControlRuntime.js.map +1 -0
  221. package/dist/esm/ControlSchema.d.ts +2642 -0
  222. package/dist/esm/ControlSchema.d.ts.map +1 -0
  223. package/dist/esm/ControlSchema.js +1030 -0
  224. package/dist/esm/ControlSchema.js.map +1 -0
  225. package/dist/esm/ControlServer.d.ts +51 -0
  226. package/dist/esm/ControlServer.d.ts.map +1 -0
  227. package/dist/esm/ControlServer.js +145 -0
  228. package/dist/esm/ControlServer.js.map +1 -0
  229. package/dist/esm/Credential.d.ts +136 -0
  230. package/dist/esm/Credential.d.ts.map +1 -0
  231. package/dist/esm/Credential.js +190 -0
  232. package/dist/esm/Credential.js.map +1 -0
  233. package/dist/esm/CredentialCipher.d.ts +90 -0
  234. package/dist/esm/CredentialCipher.d.ts.map +1 -0
  235. package/dist/esm/CredentialCipher.js +56 -0
  236. package/dist/esm/CredentialCipher.js.map +1 -0
  237. package/dist/esm/CredentialStore.d.ts +97 -0
  238. package/dist/esm/CredentialStore.d.ts.map +1 -0
  239. package/dist/esm/CredentialStore.js +101 -0
  240. package/dist/esm/CredentialStore.js.map +1 -0
  241. package/dist/esm/DispatchReader.d.ts +112 -0
  242. package/dist/esm/DispatchReader.d.ts.map +1 -0
  243. package/dist/esm/DispatchReader.js +76 -0
  244. package/dist/esm/DispatchReader.js.map +1 -0
  245. package/dist/esm/Health.d.ts +333 -0
  246. package/dist/esm/Health.d.ts.map +1 -0
  247. package/dist/esm/Health.js +400 -0
  248. package/dist/esm/Health.js.map +1 -0
  249. package/dist/esm/JevSessionChecker.d.ts +57 -0
  250. package/dist/esm/JevSessionChecker.d.ts.map +1 -0
  251. package/dist/esm/JevSessionChecker.js +108 -0
  252. package/dist/esm/JevSessionChecker.js.map +1 -0
  253. package/dist/esm/Lineage.d.ts +131 -0
  254. package/dist/esm/Lineage.d.ts.map +1 -0
  255. package/dist/esm/Lineage.js +174 -0
  256. package/dist/esm/Lineage.js.map +1 -0
  257. package/dist/esm/Migrations.d.ts +34 -0
  258. package/dist/esm/Migrations.d.ts.map +1 -0
  259. package/dist/esm/Migrations.js +53 -0
  260. package/dist/esm/Migrations.js.map +1 -0
  261. package/dist/esm/Monitor.d.ts +282 -0
  262. package/dist/esm/Monitor.d.ts.map +1 -0
  263. package/dist/esm/Monitor.js +415 -0
  264. package/dist/esm/Monitor.js.map +1 -0
  265. package/dist/esm/ScopedToken.d.ts +193 -0
  266. package/dist/esm/ScopedToken.d.ts.map +1 -0
  267. package/dist/esm/ScopedToken.js +224 -0
  268. package/dist/esm/ScopedToken.js.map +1 -0
  269. package/dist/esm/SqlControlRuntime.d.ts +161 -0
  270. package/dist/esm/SqlControlRuntime.d.ts.map +1 -0
  271. package/dist/esm/SqlControlRuntime.js +1756 -0
  272. package/dist/esm/SqlControlRuntime.js.map +1 -0
  273. package/dist/esm/SqlCredentialStore.d.ts +43 -0
  274. package/dist/esm/SqlCredentialStore.d.ts.map +1 -0
  275. package/dist/esm/SqlCredentialStore.js +97 -0
  276. package/dist/esm/SqlCredentialStore.js.map +1 -0
  277. package/dist/esm/Steering.d.ts +69 -0
  278. package/dist/esm/Steering.d.ts.map +1 -0
  279. package/dist/esm/Steering.js +89 -0
  280. package/dist/esm/Steering.js.map +1 -0
  281. package/dist/esm/SystemFlows.d.ts +223 -0
  282. package/dist/esm/SystemFlows.d.ts.map +1 -0
  283. package/dist/esm/SystemFlows.js +198 -0
  284. package/dist/esm/SystemFlows.js.map +1 -0
  285. package/dist/esm/WebCryptoCipher.d.ts +49 -0
  286. package/dist/esm/WebCryptoCipher.d.ts.map +1 -0
  287. package/dist/esm/WebCryptoCipher.js +123 -0
  288. package/dist/esm/WebCryptoCipher.js.map +1 -0
  289. package/dist/esm/WebhookChannel.d.ts +113 -0
  290. package/dist/esm/WebhookChannel.d.ts.map +1 -0
  291. package/dist/esm/WebhookChannel.js +109 -0
  292. package/dist/esm/WebhookChannel.js.map +1 -0
  293. package/dist/esm/index.d.ts +160 -0
  294. package/dist/esm/index.d.ts.map +1 -0
  295. package/dist/esm/index.js +160 -0
  296. package/dist/esm/index.js.map +1 -0
  297. package/dist/esm/internal/MutationBoundary.d.ts +27 -0
  298. package/dist/esm/internal/MutationBoundary.d.ts.map +1 -0
  299. package/dist/esm/internal/MutationBoundary.js +40 -0
  300. package/dist/esm/internal/MutationBoundary.js.map +1 -0
  301. package/dist/esm/internal/activeFibers.d.ts +12 -0
  302. package/dist/esm/internal/activeFibers.d.ts.map +1 -0
  303. package/dist/esm/internal/activeFibers.js +17 -0
  304. package/dist/esm/internal/activeFibers.js.map +1 -0
  305. package/dist/esm/internal/issues.d.ts +28 -0
  306. package/dist/esm/internal/issues.d.ts.map +1 -0
  307. package/dist/esm/internal/issues.js +35 -0
  308. package/dist/esm/internal/issues.js.map +1 -0
  309. package/dist/esm/internal/planning.d.ts +347 -0
  310. package/dist/esm/internal/planning.d.ts.map +1 -0
  311. package/dist/esm/internal/planning.js +199 -0
  312. package/dist/esm/internal/planning.js.map +1 -0
  313. package/dist/esm/internal/sqlSchemaErrors.d.ts +18 -0
  314. package/dist/esm/internal/sqlSchemaErrors.d.ts.map +1 -0
  315. package/dist/esm/internal/sqlSchemaErrors.js +38 -0
  316. package/dist/esm/internal/sqlSchemaErrors.js.map +1 -0
  317. package/dist/esm/migrations/0001_control_tables.d.ts +18 -0
  318. package/dist/esm/migrations/0001_control_tables.d.ts.map +1 -0
  319. package/dist/esm/migrations/0001_control_tables.js +96 -0
  320. package/dist/esm/migrations/0001_control_tables.js.map +1 -0
  321. package/dist/esm/migrations/0002_run_keys.d.ts +15 -0
  322. package/dist/esm/migrations/0002_run_keys.d.ts.map +1 -0
  323. package/dist/esm/migrations/0002_run_keys.js +22 -0
  324. package/dist/esm/migrations/0002_run_keys.js.map +1 -0
  325. package/dist/esm/migrations/0003_signal_commands.d.ts +13 -0
  326. package/dist/esm/migrations/0003_signal_commands.d.ts.map +1 -0
  327. package/dist/esm/migrations/0003_signal_commands.js +26 -0
  328. package/dist/esm/migrations/0003_signal_commands.js.map +1 -0
  329. package/dist/esm/migrations/0004_approval_decisions.d.ts +13 -0
  330. package/dist/esm/migrations/0004_approval_decisions.d.ts.map +1 -0
  331. package/dist/esm/migrations/0004_approval_decisions.js +25 -0
  332. package/dist/esm/migrations/0004_approval_decisions.js.map +1 -0
  333. package/dist/esm/migrations/0005_signal_principals.d.ts +18 -0
  334. package/dist/esm/migrations/0005_signal_principals.d.ts.map +1 -0
  335. package/dist/esm/migrations/0005_signal_principals.js +27 -0
  336. package/dist/esm/migrations/0005_signal_principals.js.map +1 -0
  337. package/dist/esm/migrations/0006_run_principals.d.ts +18 -0
  338. package/dist/esm/migrations/0006_run_principals.d.ts.map +1 -0
  339. package/dist/esm/migrations/0006_run_principals.js +30 -0
  340. package/dist/esm/migrations/0006_run_principals.js.map +1 -0
  341. package/dist/esm/migrations/0007_resume_consent.d.ts +18 -0
  342. package/dist/esm/migrations/0007_resume_consent.d.ts.map +1 -0
  343. package/dist/esm/migrations/0007_resume_consent.js +27 -0
  344. package/dist/esm/migrations/0007_resume_consent.js.map +1 -0
  345. package/dist/esm/test/TestControl.d.ts +19 -0
  346. package/dist/esm/test/TestControl.d.ts.map +1 -0
  347. package/dist/esm/test/TestControl.js +30 -0
  348. package/dist/esm/test/TestControl.js.map +1 -0
  349. package/docs/README.md +189 -0
  350. package/docs/api.md +982 -0
  351. package/docs/concepts/authority.md +109 -0
  352. package/docs/concepts/cancellation.md +129 -0
  353. package/docs/concepts/lineage.md +132 -0
  354. package/docs/concepts/ownership.md +139 -0
  355. package/docs/concepts/projections.md +203 -0
  356. package/docs/concepts/receipts.md +128 -0
  357. package/docs/guides/approvals.md +284 -0
  358. package/docs/guides/cancel-and-resume.md +162 -0
  359. package/docs/guides/durable-storage.md +147 -0
  360. package/docs/guides/implement-an-executor.md +173 -0
  361. package/docs/guides/ingest-a-webhook.md +177 -0
  362. package/docs/guides/list-runs.md +160 -0
  363. package/docs/guides/monitor-runs.md +176 -0
  364. package/docs/guides/observe-health.md +147 -0
  365. package/docs/guides/postgres-tests.md +7 -0
  366. package/docs/guides/serve-over-rpc.md +220 -0
  367. package/docs/guides/signal-a-run.md +53 -0
  368. package/docs/guides/steer-a-run.md +138 -0
  369. package/docs/guides/store-credentials.md +164 -0
  370. package/docs/guides/testing.md +139 -0
  371. package/docs/guides/watch-a-run.md +154 -0
  372. package/docs/installation.md +106 -0
  373. package/docs/quickstart.md +163 -0
  374. package/docs/troubleshooting.md +208 -0
  375. package/package.json +405 -3
  376. package/src/ApprovalAuthority.ts +114 -0
  377. package/src/Cancellation.ts +172 -0
  378. package/src/Channels.ts +493 -0
  379. package/src/Control.ts +337 -0
  380. package/src/ControlClient.ts +319 -0
  381. package/src/ControlError.ts +378 -0
  382. package/src/ControlExecutor.ts +490 -0
  383. package/src/ControlFacts.ts +383 -0
  384. package/src/ControlLive.ts +2127 -0
  385. package/src/ControlRpcs.ts +443 -0
  386. package/src/ControlRuntime.ts +1601 -0
  387. package/src/ControlSchema.ts +1380 -0
  388. package/src/ControlServer.ts +182 -0
  389. package/src/Credential.ts +310 -0
  390. package/src/CredentialCipher.ts +110 -0
  391. package/src/CredentialStore.ts +152 -0
  392. package/src/DispatchReader.ts +122 -0
  393. package/src/Health.ts +591 -0
  394. package/src/JevSessionChecker.ts +127 -0
  395. package/src/Lineage.ts +203 -0
  396. package/src/Migrations.ts +56 -0
  397. package/src/Monitor.ts +600 -0
  398. package/src/ScopedToken.ts +306 -0
  399. package/src/SqlControlRuntime.ts +2478 -0
  400. package/src/SqlCredentialStore.ts +148 -0
  401. package/src/Steering.ts +96 -0
  402. package/src/SystemFlows.ts +225 -0
  403. package/src/WebCryptoCipher.ts +169 -0
  404. package/src/WebhookChannel.ts +166 -0
  405. package/src/index.ts +188 -0
  406. package/src/internal/MutationBoundary.ts +46 -0
  407. package/src/internal/activeFibers.ts +22 -0
  408. package/src/internal/issues.ts +40 -0
  409. package/src/internal/planning.ts +262 -0
  410. package/src/internal/sqlSchemaErrors.ts +37 -0
  411. package/src/migrations/0001_control_tables.ts +99 -0
  412. package/src/migrations/0002_run_keys.ts +23 -0
  413. package/src/migrations/0003_signal_commands.ts +27 -0
  414. package/src/migrations/0004_approval_decisions.ts +25 -0
  415. package/src/migrations/0005_signal_principals.ts +27 -0
  416. package/src/migrations/0006_run_principals.ts +31 -0
  417. package/src/migrations/0007_resume_consent.ts +28 -0
  418. package/src/test/TestControl.ts +47 -0
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Control-plane contracts and projections for the Smithers harness.
3
+ *
4
+ * This is the public surface of the control plane: the transport-independent
5
+ * `Control` service, the `ControlRuntime` port it writes through, the
6
+ * projections it reads back, and the durable adapter that binds both to a real
7
+ * database.
8
+ *
9
+ * `Control` is authority, not execution. Every mutation it accepts is
10
+ * idempotent, principal-stamped, and recorded in the journal beside the state
11
+ * change it caused, so "who asked for this, and when did it take effect?" is
12
+ * answered from persisted evidence rather than from a log line.
13
+ *
14
+ * @since 0.1.0
15
+ */
16
+ /**
17
+ * @category services
18
+ * @since 0.1.0
19
+ */
20
+ export * as Control from "./Control.js";
21
+ /**
22
+ * @category services
23
+ * @since 1.0.0
24
+ */
25
+ export * as ApprovalAuthority from "./ApprovalAuthority.js";
26
+ /**
27
+ * @category errors
28
+ * @since 0.1.0
29
+ */
30
+ export * as ControlError from "./ControlError.js";
31
+ /**
32
+ * @category models
33
+ * @since 0.1.0
34
+ */
35
+ export * as ControlSchema from "./ControlSchema.js";
36
+ /**
37
+ * @category projections
38
+ * @since 0.1.0
39
+ */
40
+ export * as Cancellation from "./Cancellation.js";
41
+ /**
42
+ * @category projections
43
+ * @since 0.1.0
44
+ */
45
+ export * as Lineage from "./Lineage.js";
46
+ /**
47
+ * @category projections
48
+ * @since 0.1.0
49
+ */
50
+ export * as Monitor from "./Monitor.js";
51
+ /**
52
+ * @category projections
53
+ * @since 0.1.0
54
+ */
55
+ export * as Steering from "./Steering.js";
56
+ /**
57
+ * @category services
58
+ * @since 0.1.0
59
+ */
60
+ export * as ControlRuntime from "./ControlRuntime.js";
61
+ /**
62
+ * @category services
63
+ * @since 0.1.0
64
+ */
65
+ export * as ControlExecutor from "./ControlExecutor.js";
66
+ /**
67
+ * @category services
68
+ * @since 1.0.0
69
+ */
70
+ export * as DispatchReader from "./DispatchReader.js";
71
+ /**
72
+ * @category layers
73
+ * @since 0.1.0
74
+ */
75
+ export * as ControlLive from "./ControlLive.js";
76
+ /**
77
+ * @category models
78
+ * @since 0.1.0
79
+ */
80
+ export * as SystemFlows from "./SystemFlows.js";
81
+ /**
82
+ * @category rpc
83
+ * @since 0.1.0
84
+ */
85
+ export * as ControlRpcs from "./ControlRpcs.js";
86
+ /**
87
+ * @category layers
88
+ * @since 0.1.0
89
+ */
90
+ export * as ControlServer from "./ControlServer.js";
91
+ /**
92
+ * @category layers
93
+ * @since 0.1.0
94
+ */
95
+ export * as ControlClient from "./ControlClient.js";
96
+ /**
97
+ * @category services
98
+ * @since 0.1.0
99
+ */
100
+ export * as Channels from "./Channels.js";
101
+ /**
102
+ * @category channels
103
+ * @since 0.1.0
104
+ */
105
+ export * as WebhookChannel from "./WebhookChannel.js";
106
+ /**
107
+ * @category services
108
+ * @since 0.1.0
109
+ */
110
+ export * as Credential from "./Credential.js";
111
+ /**
112
+ * @category services
113
+ * @since 0.1.0
114
+ */
115
+ export * as CredentialCipher from "./CredentialCipher.js";
116
+ /**
117
+ * @category services
118
+ * @since 0.1.0
119
+ */
120
+ export * as CredentialStore from "./CredentialStore.js";
121
+ /**
122
+ * @category layers
123
+ * @since 0.1.0
124
+ */
125
+ export * as SqlCredentialStore from "./SqlCredentialStore.js";
126
+ /**
127
+ * @category layers
128
+ * @since 0.1.0
129
+ */
130
+ export * as WebCryptoCipher from "./WebCryptoCipher.js";
131
+ /**
132
+ * @category layers
133
+ * @since 0.1.0
134
+ */
135
+ export * as SqlControlRuntime from "./SqlControlRuntime.js";
136
+ /**
137
+ * @category authentication
138
+ * @since 1.0.0
139
+ */
140
+ export * as ScopedToken from "./ScopedToken.js";
141
+ /**
142
+ * @category migrations
143
+ * @since 0.1.0
144
+ */
145
+ export * as Migrations from "./Migrations.js";
146
+ /**
147
+ * Observational health contracts.
148
+ * @category health
149
+ * @since 1.0.0
150
+ */
151
+ export * as Health from "./Health.js";
152
+ /**
153
+ * The Jev-decided session checker a host binds as `jev.session`.
154
+ * @category health
155
+ * @since 1.0.0
156
+ */
157
+ export * as JevSessionChecker from "./JevSessionChecker.js";
158
+ /** Versioned control lifecycle producer and projection contract. */
159
+ export * as ControlFacts from "./ControlFacts.js";
160
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;GAIG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D,oEAAoE;AACpE,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA","sourcesContent":["/**\n * Control-plane contracts and projections for the Smithers harness.\n *\n * This is the public surface of the control plane: the transport-independent\n * `Control` service, the `ControlRuntime` port it writes through, the\n * projections it reads back, and the durable adapter that binds both to a real\n * database.\n *\n * `Control` is authority, not execution. Every mutation it accepts is\n * idempotent, principal-stamped, and recorded in the journal beside the state\n * change it caused, so \"who asked for this, and when did it take effect?\" is\n * answered from persisted evidence rather than from a log line.\n *\n * @since 0.1.0\n */\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as Control from \"./Control.ts\"\n\n/**\n * @category services\n * @since 1.0.0\n */\nexport * as ApprovalAuthority from \"./ApprovalAuthority.ts\"\n\n/**\n * @category errors\n * @since 0.1.0\n */\nexport * as ControlError from \"./ControlError.ts\"\n\n/**\n * @category models\n * @since 0.1.0\n */\nexport * as ControlSchema from \"./ControlSchema.ts\"\n\n/**\n * @category projections\n * @since 0.1.0\n */\nexport * as Cancellation from \"./Cancellation.ts\"\n\n/**\n * @category projections\n * @since 0.1.0\n */\nexport * as Lineage from \"./Lineage.ts\"\n\n/**\n * @category projections\n * @since 0.1.0\n */\nexport * as Monitor from \"./Monitor.ts\"\n\n/**\n * @category projections\n * @since 0.1.0\n */\nexport * as Steering from \"./Steering.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as ControlRuntime from \"./ControlRuntime.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as ControlExecutor from \"./ControlExecutor.ts\"\n\n/**\n * @category services\n * @since 1.0.0\n */\nexport * as DispatchReader from \"./DispatchReader.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as ControlLive from \"./ControlLive.ts\"\n\n/**\n * @category models\n * @since 0.1.0\n */\nexport * as SystemFlows from \"./SystemFlows.ts\"\n\n/**\n * @category rpc\n * @since 0.1.0\n */\nexport * as ControlRpcs from \"./ControlRpcs.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as ControlServer from \"./ControlServer.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as ControlClient from \"./ControlClient.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as Channels from \"./Channels.ts\"\n\n/**\n * @category channels\n * @since 0.1.0\n */\nexport * as WebhookChannel from \"./WebhookChannel.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as Credential from \"./Credential.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as CredentialCipher from \"./CredentialCipher.ts\"\n\n/**\n * @category services\n * @since 0.1.0\n */\nexport * as CredentialStore from \"./CredentialStore.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as SqlCredentialStore from \"./SqlCredentialStore.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as WebCryptoCipher from \"./WebCryptoCipher.ts\"\n\n/**\n * @category layers\n * @since 0.1.0\n */\nexport * as SqlControlRuntime from \"./SqlControlRuntime.ts\"\n\n/**\n * @category authentication\n * @since 1.0.0\n */\nexport * as ScopedToken from \"./ScopedToken.ts\"\n\n/**\n * @category migrations\n * @since 0.1.0\n */\nexport * as Migrations from \"./Migrations.ts\"\n\n/**\n * Observational health contracts.\n * @category health\n * @since 1.0.0\n */\nexport * as Health from \"./Health.ts\"\n\n/**\n * The Jev-decided session checker a host binds as `jev.session`.\n * @category health\n * @since 1.0.0\n */\nexport * as JevSessionChecker from \"./JevSessionChecker.ts\"\n\n/** Versioned control lifecycle producer and projection contract. */\nexport * as ControlFacts from \"./ControlFacts.ts\"\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Bounded inert JSON admission for control mutations.
3
+ *
4
+ * @since 1.0.0-rc.0
5
+ * @private
6
+ */
7
+ import * as BoundedJson from "@smthrs/canonical/BoundedJson";
8
+ /** Result of admitting an unknown mutation value. */
9
+ type Result = {
10
+ readonly ok: true;
11
+ readonly value: BoundedJson.Json;
12
+ } | {
13
+ readonly ok: false;
14
+ readonly complaint: string;
15
+ };
16
+ /**
17
+ * Copies one mutation without invoking getters or `toJSON`.
18
+ *
19
+ * `bounds` defaults to the control mutation limits. Tests pass smaller ones to
20
+ * reach a byte-exact boundary without building multi-megabyte values.
21
+ *
22
+ * @since 1.0.0-rc.0
23
+ * @private
24
+ */
25
+ export declare const admit: (input: unknown, bounds?: BoundedJson.Limits) => Result;
26
+ export {};
27
+ //# sourceMappingURL=MutationBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutationBoundary.d.ts","sourceRoot":"","sources":["../../../src/internal/MutationBoundary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAa5D,qDAAqD;AACrD,KAAK,MAAM,GACP;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtD;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,OAAO,EAAE,SAAQ,WAAW,CAAC,MAAe,KAAG,MAW3E,CAAA"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Bounded inert JSON admission for control mutations.
3
+ *
4
+ * @since 1.0.0-rc.0
5
+ * @private
6
+ */
7
+ import * as BoundedJson from "@smthrs/canonical/BoundedJson";
8
+ /** Limits and diagnostic precedence of the control mutation boundary. */
9
+ const limits = {
10
+ maxBytes: 4 * 1024 * 1024,
11
+ maxStringBytes: 4 * 1024 * 1024,
12
+ maxKeyBytes: 4 * 1024 * 1024,
13
+ maxDepth: 128,
14
+ maxNodes: 100_000,
15
+ maxMembers: 100_000,
16
+ maxTotalMembers: 100_000
17
+ };
18
+ /**
19
+ * Copies one mutation without invoking getters or `toJSON`.
20
+ *
21
+ * `bounds` defaults to the control mutation limits. Tests pass smaller ones to
22
+ * reach a byte-exact boundary without building multi-megabyte values.
23
+ *
24
+ * @since 1.0.0-rc.0
25
+ * @private
26
+ */
27
+ export const admit = (input, bounds = limits) => {
28
+ const result = BoundedJson.admit(input, bounds, { preflightObjects: false });
29
+ if (result.ok)
30
+ return { ok: true, value: result.value };
31
+ const complaint = result.code === "members"
32
+ ? `contains more than ${bounds.maxTotalMembers} JSON members`
33
+ : result.code === "string"
34
+ ? "contains oversized or ill-formed text"
35
+ : result.code === "key"
36
+ ? "contains an oversized or ill-formed object key"
37
+ : result.complaint;
38
+ return { ok: false, complaint };
39
+ };
40
+ //# sourceMappingURL=MutationBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutationBoundary.js","sourceRoot":"","sources":["../../../src/internal/MutationBoundary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,yEAAyE;AACzE,MAAM,MAAM,GAAG;IACb,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IACzB,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC/B,WAAW,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC5B,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,eAAe,EAAE,OAAO;CACI,CAAA;AAO9B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,SAA6B,MAAM,EAAU,EAAE;IACnF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS;QACzC,CAAC,CAAC,sBAAsB,MAAM,CAAC,eAAe,eAAe;QAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;gBACvB,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;IACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AACjC,CAAC,CAAA","sourcesContent":["/**\n * Bounded inert JSON admission for control mutations.\n *\n * @since 1.0.0-rc.0\n * @private\n */\n\nimport * as BoundedJson from \"@smthrs/canonical/BoundedJson\"\n\n/** Limits and diagnostic precedence of the control mutation boundary. */\nconst limits = {\n maxBytes: 4 * 1024 * 1024,\n maxStringBytes: 4 * 1024 * 1024,\n maxKeyBytes: 4 * 1024 * 1024,\n maxDepth: 128,\n maxNodes: 100_000,\n maxMembers: 100_000,\n maxTotalMembers: 100_000\n} satisfies BoundedJson.Limits\n\n/** Result of admitting an unknown mutation value. */\ntype Result =\n | { readonly ok: true; readonly value: BoundedJson.Json }\n | { readonly ok: false; readonly complaint: string }\n\n/**\n * Copies one mutation without invoking getters or `toJSON`.\n *\n * `bounds` defaults to the control mutation limits. Tests pass smaller ones to\n * reach a byte-exact boundary without building multi-megabyte values.\n *\n * @since 1.0.0-rc.0\n * @private\n */\nexport const admit = (input: unknown, bounds: BoundedJson.Limits = limits): Result => {\n const result = BoundedJson.admit(input, bounds, { preflightObjects: false })\n if (result.ok) return { ok: true, value: result.value }\n const complaint = result.code === \"members\"\n ? `contains more than ${bounds.maxTotalMembers} JSON members`\n : result.code === \"string\"\n ? \"contains oversized or ill-formed text\"\n : result.code === \"key\"\n ? \"contains an oversized or ill-formed object key\"\n : result.complaint\n return { ok: false, complaint }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Completion-aware, replacement-safe ownership of live fibers.
3
+ * @since 1.0.0
4
+ */
5
+ import type * as Fiber from "effect/Fiber";
6
+ /**
7
+ * A completed predecessor must never unregister its replacement.
8
+ * @category registration
9
+ * @since 1.0.0
10
+ */
11
+ export declare const register: <K>(fibers: Map<K, Fiber.Fiber<unknown, unknown>>, key: K, fiber: Fiber.Fiber<unknown, unknown>) => void;
12
+ //# sourceMappingURL=activeFibers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeFibers.d.ts","sourceRoot":"","sources":["../../../src/internal/activeFibers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,QAAQ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC7C,KAAK,CAAC,EACN,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KACnC,IAKF,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Completion-aware, replacement-safe ownership of live fibers.
3
+ * @since 1.0.0
4
+ */
5
+ /**
6
+ * A completed predecessor must never unregister its replacement.
7
+ * @category registration
8
+ * @since 1.0.0
9
+ */
10
+ export const register = (fibers, key, fiber) => {
11
+ fibers.set(key, fiber);
12
+ fiber.addObserver(() => {
13
+ if (fibers.get(key) === fiber)
14
+ fibers.delete(key);
15
+ });
16
+ };
17
+ //# sourceMappingURL=activeFibers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeFibers.js","sourceRoot":"","sources":["../../../src/internal/activeFibers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAA6C,EAC7C,GAAM,EACN,KAAoC,EAC9B,EAAE;IACR,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACtB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACrB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["/**\n * Completion-aware, replacement-safe ownership of live fibers.\n * @since 1.0.0\n */\n\nimport type * as Fiber from \"effect/Fiber\"\n\n/**\n * A completed predecessor must never unregister its replacement.\n * @category registration\n * @since 1.0.0\n */\nexport const register = <K>(\n fibers: Map<K, Fiber.Fiber<unknown, unknown>>,\n key: K,\n fiber: Fiber.Fiber<unknown, unknown>\n): void => {\n fibers.set(key, fiber)\n fiber.addObserver(() => {\n if (fibers.get(key) === fiber) fibers.delete(key)\n })\n}\n"]}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Bounded diagnostics for failures that cross the control wire boundary.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+ /**
7
+ * Joins a stable location and reason without allowing an RPC error to grow
8
+ * without bound.
9
+ *
10
+ * @private
11
+ * @since 0.1.0
12
+ */
13
+ export declare const cappedIssue: (path: string, reason: string) => string;
14
+ /**
15
+ * Renders canonical's stable located failure without copying its rejected
16
+ * value or a nested cause message into an RPC error.
17
+ *
18
+ * @private
19
+ * @since 0.1.0
20
+ */
21
+ export declare const canonicalIssue: (cause: unknown) => string;
22
+ /**
23
+ * Finds the first rejected field without rendering its value.
24
+ * @private
25
+ * @since 0.1.0
26
+ */
27
+ export { firstPath as schemaIssuePath } from "@smthrs/canonical/IssuePath";
28
+ //# sourceMappingURL=issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../../src/internal/issues.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,MAG1D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,MAGC,CAAA;AAEjD;;;;GAIG;AACH,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Bounded diagnostics for failures that cross the control wire boundary.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+ import { CanonicalError } from "@smthrs/canonical";
7
+ const maximumIssueLength = 512;
8
+ /**
9
+ * Joins a stable location and reason without allowing an RPC error to grow
10
+ * without bound.
11
+ *
12
+ * @private
13
+ * @since 0.1.0
14
+ */
15
+ export const cappedIssue = (path, reason) => {
16
+ const issue = `${path}: ${reason}`;
17
+ return issue.length <= maximumIssueLength ? issue : `${issue.slice(0, maximumIssueLength - 3)}...`;
18
+ };
19
+ /**
20
+ * Renders canonical's stable located failure without copying its rejected
21
+ * value or a nested cause message into an RPC error.
22
+ *
23
+ * @private
24
+ * @since 0.1.0
25
+ */
26
+ export const canonicalIssue = (cause) => cause instanceof CanonicalError
27
+ ? cappedIssue(cause.path, cause.code)
28
+ : cappedIssue("$", "canonicalization failed");
29
+ /**
30
+ * Finds the first rejected field without rendering its value.
31
+ * @private
32
+ * @since 0.1.0
33
+ */
34
+ export { firstPath as schemaIssuePath } from "@smthrs/canonical/IssuePath";
35
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../../src/internal/issues.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE;IAClE,MAAM,KAAK,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAAA;IAClC,OAAO,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAA;AACpG,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE,CACvD,KAAK,YAAY,cAAc;IAC7B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IACrC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;AAEjD;;;;GAIG;AACH,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAA","sourcesContent":["/**\n * Bounded diagnostics for failures that cross the control wire boundary.\n *\n * @since 0.1.0\n */\n\nimport { CanonicalError } from \"@smthrs/canonical\"\n\nconst maximumIssueLength = 512\n\n/**\n * Joins a stable location and reason without allowing an RPC error to grow\n * without bound.\n *\n * @private\n * @since 0.1.0\n */\nexport const cappedIssue = (path: string, reason: string): string => {\n const issue = `${path}: ${reason}`\n return issue.length <= maximumIssueLength ? issue : `${issue.slice(0, maximumIssueLength - 3)}...`\n}\n\n/**\n * Renders canonical's stable located failure without copying its rejected\n * value or a nested cause message into an RPC error.\n *\n * @private\n * @since 0.1.0\n */\nexport const canonicalIssue = (cause: unknown): string =>\n cause instanceof CanonicalError\n ? cappedIssue(cause.path, cause.code)\n : cappedIssue(\"$\", \"canonicalization failed\")\n\n/**\n * Finds the first rejected field without rendering its value.\n * @private\n * @since 0.1.0\n */\nexport { firstPath as schemaIssuePath } from \"@smthrs/canonical/IssuePath\"\n"]}