@substrat-run/kernel 0.139.0 → 0.141.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 (148) hide show
  1. package/dist/admin-log-ddl.d.ts +21 -0
  2. package/dist/admin-log-ddl.d.ts.map +1 -0
  3. package/dist/admin-log-ddl.js +32 -0
  4. package/dist/admin-log-ddl.js.map +1 -0
  5. package/dist/attachment-extractor.d.ts +12 -1
  6. package/dist/attachment-extractor.d.ts.map +1 -1
  7. package/dist/attachment-extractor.js +10 -5
  8. package/dist/attachment-extractor.js.map +1 -1
  9. package/dist/audit-outcome.d.ts +149 -0
  10. package/dist/audit-outcome.d.ts.map +1 -0
  11. package/dist/audit-outcome.js +233 -0
  12. package/dist/audit-outcome.js.map +1 -0
  13. package/dist/capability.d.ts +5 -2
  14. package/dist/capability.d.ts.map +1 -1
  15. package/dist/capability.js +17 -8
  16. package/dist/capability.js.map +1 -1
  17. package/dist/connect-links.d.ts +91 -0
  18. package/dist/connect-links.d.ts.map +1 -0
  19. package/dist/connect-links.js +189 -0
  20. package/dist/connect-links.js.map +1 -0
  21. package/dist/connect-state.d.ts +12 -3
  22. package/dist/connect-state.d.ts.map +1 -1
  23. package/dist/connect-state.js +8 -3
  24. package/dist/connect-state.js.map +1 -1
  25. package/dist/derived-object.d.ts +14 -0
  26. package/dist/derived-object.d.ts.map +1 -0
  27. package/dist/derived-object.js +2 -0
  28. package/dist/derived-object.js.map +1 -0
  29. package/dist/derived-objects.d.ts +108 -0
  30. package/dist/derived-objects.d.ts.map +1 -0
  31. package/dist/derived-objects.js +199 -0
  32. package/dist/derived-objects.js.map +1 -0
  33. package/dist/email-intent.d.ts +56 -0
  34. package/dist/email-intent.d.ts.map +1 -0
  35. package/dist/email-intent.js +71 -0
  36. package/dist/email-intent.js.map +1 -0
  37. package/dist/entity-edges.d.ts +6 -1
  38. package/dist/entity-edges.d.ts.map +1 -1
  39. package/dist/entity-edges.js +13 -0
  40. package/dist/entity-edges.js.map +1 -1
  41. package/dist/entity-grant-shape.d.ts +94 -0
  42. package/dist/entity-grant-shape.d.ts.map +1 -0
  43. package/dist/entity-grant-shape.js +329 -0
  44. package/dist/entity-grant-shape.js.map +1 -0
  45. package/dist/entity-grant.d.ts +45 -0
  46. package/dist/entity-grant.d.ts.map +1 -0
  47. package/dist/entity-grant.js +71 -0
  48. package/dist/entity-grant.js.map +1 -0
  49. package/dist/entity-state-reads.d.ts +4 -7
  50. package/dist/entity-state-reads.d.ts.map +1 -1
  51. package/dist/entity-state-reads.js +13 -57
  52. package/dist/entity-state-reads.js.map +1 -1
  53. package/dist/entity-state.d.ts +37 -10
  54. package/dist/entity-state.d.ts.map +1 -1
  55. package/dist/entity-state.js +80 -69
  56. package/dist/entity-state.js.map +1 -1
  57. package/dist/entity-trash.d.ts +245 -0
  58. package/dist/entity-trash.d.ts.map +1 -0
  59. package/dist/entity-trash.js +380 -0
  60. package/dist/entity-trash.js.map +1 -0
  61. package/dist/grant-scoped-read.d.ts +41 -0
  62. package/dist/grant-scoped-read.d.ts.map +1 -0
  63. package/dist/grant-scoped-read.js +100 -0
  64. package/dist/grant-scoped-read.js.map +1 -0
  65. package/dist/index.d.ts +35 -8
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +22 -5
  68. package/dist/index.js.map +1 -1
  69. package/dist/kernel-outbox.d.ts +14 -0
  70. package/dist/kernel-outbox.d.ts.map +1 -0
  71. package/dist/kernel-outbox.js +37 -0
  72. package/dist/kernel-outbox.js.map +1 -0
  73. package/dist/list-index.d.ts +11 -2
  74. package/dist/list-index.d.ts.map +1 -1
  75. package/dist/list-index.js +29 -21
  76. package/dist/list-index.js.map +1 -1
  77. package/dist/mail-sender.d.ts +78 -0
  78. package/dist/mail-sender.d.ts.map +1 -0
  79. package/dist/mail-sender.js +2 -0
  80. package/dist/mail-sender.js.map +1 -0
  81. package/dist/membership-executor.d.ts +0 -52
  82. package/dist/membership-executor.d.ts.map +1 -1
  83. package/dist/membership-executor.js +19 -59
  84. package/dist/membership-executor.js.map +1 -1
  85. package/dist/migration-digest.d.ts +161 -0
  86. package/dist/migration-digest.d.ts.map +1 -0
  87. package/dist/migration-digest.js +237 -0
  88. package/dist/migration-digest.js.map +1 -0
  89. package/dist/module-erasure.d.ts +156 -0
  90. package/dist/module-erasure.d.ts.map +1 -0
  91. package/dist/module-erasure.js +440 -0
  92. package/dist/module-erasure.js.map +1 -0
  93. package/dist/peer.d.ts +9 -1
  94. package/dist/peer.d.ts.map +1 -1
  95. package/dist/peer.js +29 -0
  96. package/dist/peer.js.map +1 -1
  97. package/dist/permission-checker.d.ts +6 -0
  98. package/dist/permission-checker.d.ts.map +1 -1
  99. package/dist/permission-checker.js.map +1 -1
  100. package/dist/permission-eval.d.ts +10 -1
  101. package/dist/permission-eval.d.ts.map +1 -1
  102. package/dist/permission-eval.js +51 -2
  103. package/dist/permission-eval.js.map +1 -1
  104. package/dist/platform-sweep.d.ts +1 -1
  105. package/dist/platform-sweep.d.ts.map +1 -1
  106. package/dist/platform-sweep.js +5 -0
  107. package/dist/platform-sweep.js.map +1 -1
  108. package/dist/scope-copy-ledger.d.ts +79 -0
  109. package/dist/scope-copy-ledger.d.ts.map +1 -0
  110. package/dist/scope-copy-ledger.js +82 -0
  111. package/dist/scope-copy-ledger.js.map +1 -0
  112. package/dist/scope-host.d.ts +402 -25
  113. package/dist/scope-host.d.ts.map +1 -1
  114. package/dist/scope-host.js +74 -5
  115. package/dist/scope-host.js.map +1 -1
  116. package/dist/search-index.d.ts +8 -0
  117. package/dist/search-index.d.ts.map +1 -1
  118. package/dist/search-index.js +51 -21
  119. package/dist/search-index.js.map +1 -1
  120. package/dist/spine-guard.d.ts +7 -0
  121. package/dist/spine-guard.d.ts.map +1 -1
  122. package/dist/spine-guard.js +54 -6
  123. package/dist/spine-guard.js.map +1 -1
  124. package/dist/spine-restore.d.ts.map +1 -1
  125. package/dist/spine-restore.js +5 -0
  126. package/dist/spine-restore.js.map +1 -1
  127. package/dist/sql-statements.d.ts +71 -0
  128. package/dist/sql-statements.d.ts.map +1 -0
  129. package/dist/sql-statements.js +191 -0
  130. package/dist/sql-statements.js.map +1 -0
  131. package/dist/subject-redaction.d.ts +9 -1
  132. package/dist/subject-redaction.d.ts.map +1 -1
  133. package/dist/subject-redaction.js.map +1 -1
  134. package/dist/system-switch-record.d.ts +3 -0
  135. package/dist/system-switch-record.d.ts.map +1 -1
  136. package/dist/system-switch-record.js +2 -0
  137. package/dist/system-switch-record.js.map +1 -1
  138. package/dist/table-ownership.d.ts +103 -0
  139. package/dist/table-ownership.d.ts.map +1 -0
  140. package/dist/table-ownership.js +285 -0
  141. package/dist/table-ownership.js.map +1 -0
  142. package/dist/timeline.d.ts +4 -4
  143. package/dist/timeline.js +4 -4
  144. package/dist/visible-continuation.d.ts +38 -0
  145. package/dist/visible-continuation.d.ts.map +1 -0
  146. package/dist/visible-continuation.js +162 -0
  147. package/dist/visible-continuation.js.map +1 -0
  148. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"system-switch-record.d.ts","sourceRoot":"","sources":["../src/system-switch-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-switch-record.d.ts","sourceRoot":"","sources":["../src/system-switch-record.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,8 @@ const RECORDS = {
80
80
  `(check the slug: it is the calling vertical's registry id, as the target's \`peers\` names it)`,
81
81
  },
82
82
  };
83
+ /** Every admin-log action a switch CALL writes its intent and outcome under (#2089: the settle closes them). */
84
+ export const SWITCH_ACTIONS = [...RECORDS.system.actions, ...RECORDS.peer.actions];
83
85
  /** Every kind, for the passes that walk them all (a scope's reap, a directory restore). */
84
86
  export const SWITCH_KINDS = ['system', 'peer'];
85
87
  /** The admin-log action a switch call of this kind writes its intent and outcome rows under. */
@@ -1 +1 @@
1
- {"version":3,"file":"system-switch-record.js","sourceRoot":"","sources":["../src/system-switch-record.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,mBAAmB,GAKpB,MAAM,oBAAoB,CAAC;AAI5B,2DAA2D;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;CAmBlC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;CAahC,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,GAAG;IACd,MAAM,EAAE;QACN,KAAK,EAAE,qBAAqB;QAC5B,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,WAAW;QAChB,aAAa,EAAE,SAAS;QACxB,OAAO,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;QAChD,cAAc,EAAE,sBAAsB;QACtC,yFAAyF;QACzF,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAU,EAAE,EAAE,CACrD,SAAS,OAAO,sCAAsC,GAAG,yBAAyB,EAAE,GAAG;YACvF,4FAA4F;KAC/F;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,UAAU;QACf,aAAa,EAAE,mBAAmB;QAClC,OAAO,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAC5C,cAAc,EAAE,oBAAoB;QACpC,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAU,EAAE,EAAE,CACrD,SAAS,OAAO,6BAA6B,GAAG,yBAAyB,EAAE,GAAG;YAC9E,gGAAgG;KACnG;CACO,CAAC;AAEX,2FAA2F;AAC3F,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEtE,gGAAgG;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,EAAgB,EAAmD,EAAE,CACpH,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,qGAAqG;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAgB,EAAE,OAAe,EAAE,GAAW,EAAE,EAAgB,EAAU,EAAE,CAChH,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAgB,EAAE,OAAe,EAAE,GAAW,EAAE,EAAgB,EAAU,EAAE,CAClH,0BAA0B,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,aAAa,OAAO,iBAAiB;IACtH,gBAAgB,EAAE,qEAAqE,CAAC;AAE1F,oCAAoC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;CAW9B,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,cAAc,CAC5B,EAAa,EACb,IAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,GAAW,EACX,WAAmB;IAEnB,EAAE,CAAC,GAAG,CACJ;;uEAEmE,EACnE,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,GAAG,EACH,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,cAAc,CAAC,EAAa,EAAE,IAAgB,EAAE,QAAgB,EAAE,OAAe;IAC/F,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CACjB;yEACqE,EACrE,QAAQ,EACR,OAAO,EACP,IAAI,CACL,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAa,EACb,IAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,GAAW,EACX,KAAa;IAEb,EAAE,CAAC,GAAG,CACJ;8FAC0F,EAC1F,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,GAAG,EACH,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAAa,EAAE,OAAe;IAC5D,OAAO,EAAE,CAAC,GAAG,CAAC,gEAAgE,EAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACtG,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAE7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAgB;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAClC,OAAO;;;;yBAIgB,MAAM,OAAO,OAAO;;;;;sCAKP,UAAU;iCACf,MAAM;;;;;;;;2BAQZ,MAAM,OAAO,OAAO;;;sCAGT,UAAU;;;;;;;;;0BAStB,KAAK;4BACH,GAAG;;;;CAI9B,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,IAAgB;IAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,mBAAmB,CAAC,EAAa,EAAE,IAAgB;IACjE,OAAO,CACL,EAAE,CAAC,GAAG,CAAC,0EAA0E,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;SACpG,MAAM,GAAG,CAAC,CACd,CAAC;AACJ,CAAC;AA2BD,MAAM,UAAU,GAAG,CAAC,CAAU,EAAgB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE7E,MAAM,OAAO,GAAG;gCACgB,CAAC;AAEjC,MAAM,KAAK,GAAG,CAAC,CAA0B,EAAyB,EAAE,CAAC,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxD,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;CAC1B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAa,EAAE,MAAM,GAA6B,EAAE;IAC1F,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,GAAW,EAAE,CAAqB,EAAE,EAAE;QAChD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IACF,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,mFAAmF;IACnF,gFAAgF;IAChF,IAAI,GAAG,GACL,UAAU,OAAO,iFAAiF;QAClG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,4BAA4B,KAAK,EAAE,CAAC;IACtC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,IAAI,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAa,EACb,IAAgB,EAChB,QAAgB,EAChB,OAAe;IAEf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,wBAAwB,KAAK,uCAAuC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1H,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA8D,EAC9D,QAAmC;IAEnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,aAAa,CAAC,EAAa,EAAE,IAAgB,EAAE,QAAgB,EAAE,OAAe;IAC9F,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE;SACN,GAAG,CACF,UAAU,GAAG,cAAc,KAAK,uEAAuE,GAAG,EAAE,EAC5G,QAAQ,EACR,OAAO,CACR;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAa,EAAE,QAAgB,EAAE,QAAgB;IACpF,OAAO,EAAE;SACN,GAAG,CACF;qFAC+E,EAC/E,QAAQ,EACR,QAAQ,CACT;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAa,EAAE,IAAgB,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IAC1G,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAChB;;eAEW,YAAY,EAAE,WAAW,EACpC,QAAQ,EACR,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE,EACtC,UAAU,QAAQ,EAAE,EACpB,GAAG,CACJ,CAAC,CAAC,CAAiC,CAAC;IACrC,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,YAAY,CAAC,EAAa,EAAE,IAAgB,EAAE,QAAgB,EAAE,IAAuB,EAAE,GAAW;IAClH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AA2CD,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,MAAoB,EAAsB,EAAE,CACxF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,GAAW,EACX,QAAsB;IAEtB,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAA2C,CAAC;AACnG,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAkD,EAAE,CACnG,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;AAE/B,0FAA0F;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAgB,EAChB,GAAW,EACX,OAA4C,EACtB,EAAE,CACxB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAoC,CAAC;AAEzH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,GAAW,EAAE,WAA8B,EAAE,EAAE,CAAC,CAAC;IAC/F,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IACtC,KAAK,EAAE,SAAkB;IACzB,OAAO,EAAE,IAAa;IACtB,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;CAC9B,CAAC,CAAC;AAEH,6GAA6G;AAC7G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,GAAW,EAAE,WAA8B,EAAE,EAAE,CAAC,CAAC;IAChG,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;IACvC,KAAK,EAAE,SAAkB;IACzB,OAAO,EAAE,IAAa;IACtB,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;CAC9B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,WAA8B,EAC9B,OAAqD;AACrD,uGAAuG;AACvG,QAAQ,GAAwB,IAAI,GAAG,EAAE;IAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACrD,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;QACvC,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,IAAI;QACb,WAAW;QACX,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAgB,EAChB,QAA2C,EAC3C,OAAqD;IAErD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,mBAAmB,CACjC,IAAgB,EAChB,GAAW,EACX,OAA6D;IAE7D,OAAO;QACL,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;QACtC,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QACrC,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,EAAa,EAAE,EAAa,EAAE,GAAmC,EAAE,aAAsB;IAC7G,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,EAAE,CAAC,GAAG,CACJ,UAAU,KAAK;;iDAE8B,GAAG,MAAM,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EACrH,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,EAAE,EACN,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,OAAO,EACV,EAAE,CAAC,GAAG,EACN,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,OAAO,CAAC,EAAa,EAAE,EAAa;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAClB,kEAAkE,KAAK;iDAC1B,GAAG,MAAM,EACtD,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,OAAO,EACV,EAAE,CAAC,GAAG,CACP,CAAC,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QACvC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,GAA2C,EAAW,EAAE,CACtG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAExD,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAa,EAAE,IAAgB,EAAE,QAAgB,EAAE,OAAe;IAC/F,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,4BAA4B,KAAK,uCAAuC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9H,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,EAAa,EACb,IAAgB,EAChB,QAAgB,EAChB,OAAe;IAEf,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CACjB,UAAU,GAAG,sCAAsC,KAAK,kDAAkD,GAAG,EAAE,EAC/G,QAAQ,EACR,OAAO,CACR,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,GAAW,EAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;AAEjH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAa,EAAE,GAAsB;IACrE,OAAO,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,wGAAwG;AACxG,SAAS,WAAW,CAAC,EAAa,EAAE,GAAsB,EAAE,QAAsB;IAChF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,EAAE,CAAC,GAAG,CACJ,eAAe,KAAK;+BACO,GAAG;;yCAEO,GAAG;;gFAEoC,EAC5E,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,GAAG,EACP,QAAQ,EACR,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,EAAE,CACP,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAa,EAAE,GAAsB;IACpE,OAAO,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAa,EACb,IAAyC,EACzC,KAAwB;IAExB,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,EAAE,CAAC,GAAG,CACJ,eAAe,KAAK,6CAA6C,GAAG,2BAA2B,EAC/F,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,WAAW,CACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAa,EAAE,OAAe;IAC7D,KAAK,MAAM,IAAI,IAAI,YAAY;QAAE,EAAE,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC1G,EAAE,CAAC,GAAG,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"system-switch-record.js","sourceRoot":"","sources":["../src/system-switch-record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import type { ScopedSql } from './scope-host.js';
2
+ /** The ledger's name — also what an authored migration may never name. */
3
+ export declare const TABLE_OWNERS = "_substrat_table_owners";
4
+ /**
5
+ * The spine table the ownership lives in — a scope table, so it travels with the scope's data.
6
+ * The name is spelled out rather than interpolated: `lint:spine-ddl` reads this text as written.
7
+ */
8
+ export declare const TABLE_OWNERS_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_table_owners (\n table_name TEXT PRIMARY KEY,\n module_id TEXT NOT NULL,\n source TEXT NOT NULL,\n recorded_at TEXT NOT NULL\n );\n";
9
+ /**
10
+ * Refuse an authored migration that names the ownership ledger — in any statement, read or
11
+ * write, quoted or qualified. Each adapter runs it beside `assertNoSpineReference`, before the
12
+ * migration executes, so a refused migration changes nothing and the scope fails closed.
13
+ */
14
+ export declare function assertMigrationLeavesLedgerAlone(sql: string, what: string): void;
15
+ /** The scope's own tables, lowercased: no spine, no SQLite or workerd internals, no views. */
16
+ export declare function moduleTableNames(sql: ScopedSql): Set<string>;
17
+ /** One statement's effect on the table set, as its text states it. */
18
+ export type TableStatement = {
19
+ readonly kind: 'create';
20
+ readonly table: string;
21
+ readonly ifNotExists: boolean;
22
+ } | {
23
+ readonly kind: 'rename';
24
+ readonly from: string;
25
+ readonly to: string;
26
+ } | {
27
+ readonly kind: 'drop';
28
+ readonly table: string;
29
+ };
30
+ /** The table DDL in one migration's text, in statement order. TEMP tables are nobody's and are left out. */
31
+ export declare function tableStatements(sqlText: string): TableStatement[];
32
+ /**
33
+ * Where ownership is kept while a transition is applied: the scope's ledger, or the replay's
34
+ * in-memory model. `null` is a table that exists and whose owner is not known; `undefined`, one
35
+ * that does not exist as far as the store knows.
36
+ */
37
+ export interface OwnerStore {
38
+ get(table: string): string | null | undefined;
39
+ set(table: string, owner: string | null): void;
40
+ delete(table: string): void;
41
+ }
42
+ /** One table change, in the terms both the live diff and the journal replay produce. */
43
+ export type TableChange = {
44
+ readonly kind: 'create';
45
+ readonly table: string;
46
+ readonly owner: string | null;
47
+ } | {
48
+ readonly kind: 'rename';
49
+ readonly from: string;
50
+ readonly to: string;
51
+ } | {
52
+ readonly kind: 'drop';
53
+ readonly table: string;
54
+ };
55
+ /**
56
+ * THE transition, shared by the live record and the journal replay: a create sets its owner (or
57
+ * an unknown one), a rename moves the row to the new name, a drop removes it.
58
+ */
59
+ export declare function applyTableChange(store: OwnerStore, change: TableChange): void;
60
+ /** The table set either side of one statement that changed it. */
61
+ export interface TableStep {
62
+ readonly before: ReadonlySet<string>;
63
+ readonly after: ReadonlySet<string>;
64
+ }
65
+ /**
66
+ * Run an authored migration ONE statement at a time, through the adapter's `exec`, and return
67
+ * the table set either side of every statement that changed it. Both adapters run their
68
+ * authored migrations through this, inside the migration's transaction; recording happens
69
+ * afterwards (`recordOwnershipSteps`), so the journal's `rows_changed` counts the migration's
70
+ * own writes and none of the kernel's bookkeeping.
71
+ */
72
+ export declare function runMigrationStatements(sql: ScopedSql, migrationSql: string, exec: (statement: string) => void): TableStep[];
73
+ /**
74
+ * The changes one statement made, from the table set either side of it. A single SQLite
75
+ * statement changes ONE table — with its shadow tables, for a virtual table — so: tables only
76
+ * appearing are a create by `moduleId`; only disappearing, a drop; one group gone and one
77
+ * appeared, a rename, each shadow moving with its root. Anything else is not a shape a single
78
+ * statement produces, and is refused rather than guessed at.
79
+ */
80
+ export declare function tableChangesOf(moduleId: string, step: TableStep): TableChange[];
81
+ /** Apply each recorded step to the ledger, in statement order, through `applyTableChange`. */
82
+ export declare function recordOwnershipSteps(sql: ScopedSql, moduleId: string, steps: readonly TableStep[], at: string): void;
83
+ /**
84
+ * Attribute the given tables, where they have no row yet, by replaying the migration journal in
85
+ * applied order, statement by statement, through `applyTableChange` — the one-time backfill for a
86
+ * scope migrated before ownership was recorded. Only what the replay can prove is attributed:
87
+ *
88
+ * - a plain `CREATE TABLE` proves its creator — it would have failed had the table existed;
89
+ * - `CREATE TABLE IF NOT EXISTS` proves nothing: an earlier migration, or runtime DDL, may already
90
+ * have made the table, so it leaves the table's owner unknown;
91
+ * - an entry whose migration text is not available — its module no longer registered — could have
92
+ * created, renamed or dropped anything, so every table that exists at that point becomes
93
+ * unknown. A later plain `CREATE` still proves its own creation.
94
+ *
95
+ * An unknown owner is no row, and the erasure refuses that table.
96
+ */
97
+ export declare function backfillOwnershipFromJournal(sql: ScopedSql, tables: Iterable<string>, migrationSqlOf: (moduleId: string, version: string) => string | undefined, at: string): void;
98
+ /**
99
+ * Refuse, before anything is written, an erasure that would touch a table the scope does not
100
+ * record as the erasing module's. Missing rows are backfilled from the journal first.
101
+ */
102
+ export declare function assertTablesOwned(sql: ScopedSql, moduleId: string, tables: Iterable<string>, migrationSqlOf: (moduleId: string, version: string) => string | undefined, at: string): void;
103
+ //# sourceMappingURL=table-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-ownership.d.ts","sourceRoot":"","sources":["../src/table-ownership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Which module owns which table in a scope, as the migrations ACTUALLY made it (#2068).
3
+ *
4
+ * A subject erasure writes to a module's own tables with the kernel's handle, so "own" has to
5
+ * be a fact the kernel recorded, not a claim a manifest makes or a parse of migration text can
6
+ * infer: `CREATE TABLE IF NOT EXISTS other_modules_table` reads as creating a table and creates
7
+ * nothing when it already exists.
8
+ *
9
+ * **Recorded statement by statement.** Both adapters run an authored migration one statement at
10
+ * a time (`splitSqlStatements`) and diff the scope's tables around each one
11
+ * (`runMigrationStatements`, then `recordOwnershipSteps`). One statement changes at most one table
12
+ * (with its shadow tables, for a virtual one), so the diff names
13
+ * it exactly: a table that appeared was created by the migrating module; one table gone and one
14
+ * appeared is a rename, and the row moves with it; a table gone was dropped, and its row goes.
15
+ * A table that existed before the statement is never attributed to it. Diffing a whole migration
16
+ * instead could not tell `RENAME a TO b; CREATE TABLE a` from nothing having happened to `a`.
17
+ *
18
+ * **Guarded.** The ledger is a spine table, so module code cannot write it through `ctx.sql`, and
19
+ * an authored migration that names it is refused before it runs (`assertMigrationLeavesLedgerAlone`).
20
+ *
21
+ * **Backfilled conservatively.** Scopes migrated before the ledger existed have tables with no
22
+ * row. On the first erasure that needs them, the journal is replayed in applied order through the
23
+ * SAME transition function (`applyTableChange`), statement by statement, from each entry's
24
+ * migration text. The replay only ever attributes what it can prove: a plain `CREATE TABLE`
25
+ * (which would have failed had the table existed) proves its creator; `IF NOT EXISTS` proves
26
+ * nothing, since the table may already have been there; and an entry whose text is unavailable
27
+ * (its module no longer registered) makes every table it could have touched unowned. Unowned
28
+ * means the erasure refuses that table — the conservative answer, never a guess.
29
+ */
30
+ import { namesSpineTable, substratError, tokenizeSql } from '@substrat-run/contracts';
31
+ import { executableSqlStatements, splitSqlStatements } from './sql-statements.js';
32
+ /** The ledger's name — also what an authored migration may never name. */
33
+ export const TABLE_OWNERS = '_substrat_table_owners';
34
+ /**
35
+ * The spine table the ownership lives in — a scope table, so it travels with the scope's data.
36
+ * The name is spelled out rather than interpolated: `lint:spine-ddl` reads this text as written.
37
+ */
38
+ export const TABLE_OWNERS_DDL = `
39
+ CREATE TABLE IF NOT EXISTS _substrat_table_owners (
40
+ table_name TEXT PRIMARY KEY,
41
+ module_id TEXT NOT NULL,
42
+ source TEXT NOT NULL,
43
+ recorded_at TEXT NOT NULL
44
+ );
45
+ `;
46
+ /**
47
+ * Refuse an authored migration that names the ownership ledger — in any statement, read or
48
+ * write, quoted or qualified. Each adapter runs it beside `assertNoSpineReference`, before the
49
+ * migration executes, so a refused migration changes nothing and the scope fails closed.
50
+ */
51
+ export function assertMigrationLeavesLedgerAlone(sql, what) {
52
+ for (const token of tokenizeSql(sql)) {
53
+ if (token.text.split('.').some((part) => part.toLowerCase() === TABLE_OWNERS)) {
54
+ throw substratError('forbidden', `${what} names ${TABLE_OWNERS}, the kernel's record of which module created which table — ` +
55
+ 'a migration may not read or write it', { reason: 'spine_write' });
56
+ }
57
+ }
58
+ }
59
+ /** The scope's own tables, lowercased: no spine, no SQLite or workerd internals, no views. */
60
+ export function moduleTableNames(sql) {
61
+ return new Set(sql
62
+ .query("SELECT name FROM sqlite_master WHERE type = 'table'")
63
+ .map((r) => r.name.toLowerCase())
64
+ .filter((n) => !namesSpineTable(n) && !n.startsWith('sqlite_') && !n.startsWith('_cf_')));
65
+ }
66
+ /** A table name a statement names, lowercased; `main.` is the default schema, any other is not ours. */
67
+ function nameOf(token) {
68
+ if (!token)
69
+ return undefined;
70
+ const parts = token.text.toLowerCase().split('.');
71
+ if (parts.length === 1)
72
+ return parts[0];
73
+ return parts.length === 2 && parts[0] === 'main' ? parts[1] : undefined;
74
+ }
75
+ /** The table DDL in one migration's text, in statement order. TEMP tables are nobody's and are left out. */
76
+ export function tableStatements(sqlText) {
77
+ const out = [];
78
+ // The same statement boundaries the adapters execute on, so the replay reads what ran.
79
+ const statements = splitSqlStatements(sqlText).map((text) => tokenizeSql(text).filter((t) => !t.punct));
80
+ for (const st of statements) {
81
+ const w = (i) => (st[i] && !st[i].quoted ? st[i].text.toLowerCase() : '');
82
+ if (w(0) === 'create') {
83
+ let k = 1;
84
+ const temp = w(k) === 'temp' || w(k) === 'temporary';
85
+ if (temp)
86
+ k += 1;
87
+ if (w(k) === 'virtual')
88
+ k += 1;
89
+ if (w(k) !== 'table')
90
+ continue;
91
+ k += 1;
92
+ const ifNotExists = w(k) === 'if' && w(k + 1) === 'not' && w(k + 2) === 'exists';
93
+ if (ifNotExists)
94
+ k += 3;
95
+ const table = nameOf(st[k]);
96
+ if (table && !temp)
97
+ out.push({ kind: 'create', table, ifNotExists });
98
+ }
99
+ else if (w(0) === 'alter' && w(1) === 'table') {
100
+ const from = nameOf(st[2]);
101
+ const at = st.findIndex((t, i) => i > 2 && !t.quoted && t.text.toLowerCase() === 'rename');
102
+ const to = at > 0 && w(at + 1) === 'to' ? nameOf(st[at + 2]) : undefined;
103
+ if (from && to)
104
+ out.push({ kind: 'rename', from, to });
105
+ }
106
+ else if (w(0) === 'drop' && w(1) === 'table') {
107
+ const table = nameOf(st[w(2) === 'if' && w(3) === 'exists' ? 4 : 2]);
108
+ if (table)
109
+ out.push({ kind: 'drop', table });
110
+ }
111
+ }
112
+ return out;
113
+ }
114
+ /**
115
+ * THE transition, shared by the live record and the journal replay: a create sets its owner (or
116
+ * an unknown one), a rename moves the row to the new name, a drop removes it.
117
+ */
118
+ export function applyTableChange(store, change) {
119
+ switch (change.kind) {
120
+ case 'create':
121
+ store.set(change.table, change.owner);
122
+ return;
123
+ case 'rename': {
124
+ const owner = store.get(change.from);
125
+ store.delete(change.from);
126
+ store.set(change.to, owner ?? null);
127
+ return;
128
+ }
129
+ case 'drop':
130
+ store.delete(change.table);
131
+ }
132
+ }
133
+ /** The ledger as an `OwnerStore`: an unknown owner is no row, so an erasure refuses that table. */
134
+ function ledgerStore(sql, source, at) {
135
+ return {
136
+ get: (table) => sql.query(`SELECT module_id FROM ${TABLE_OWNERS} WHERE table_name = ?`, [table])[0]
137
+ ?.module_id ?? null,
138
+ set: (table, owner) => {
139
+ if (owner === null) {
140
+ sql.exec(`DELETE FROM ${TABLE_OWNERS} WHERE table_name = ?`, [table]);
141
+ return;
142
+ }
143
+ sql.exec(`INSERT INTO ${TABLE_OWNERS} (table_name, module_id, source, recorded_at) VALUES (?, ?, ?, ?)
144
+ ON CONFLICT(table_name) DO UPDATE SET module_id = excluded.module_id, source = excluded.source,
145
+ recorded_at = excluded.recorded_at`, [table, owner, source, at]);
146
+ },
147
+ delete: (table) => {
148
+ sql.exec(`DELETE FROM ${TABLE_OWNERS} WHERE table_name = ?`, [table]);
149
+ },
150
+ };
151
+ }
152
+ /**
153
+ * Run an authored migration ONE statement at a time, through the adapter's `exec`, and return
154
+ * the table set either side of every statement that changed it. Both adapters run their
155
+ * authored migrations through this, inside the migration's transaction; recording happens
156
+ * afterwards (`recordOwnershipSteps`), so the journal's `rows_changed` counts the migration's
157
+ * own writes and none of the kernel's bookkeeping.
158
+ */
159
+ export function runMigrationStatements(sql, migrationSql, exec) {
160
+ const steps = [];
161
+ let tables = moduleTableNames(sql);
162
+ // Comment-blanked text, at the same boundaries: what SQLite stores is what a later ALTER rewrites.
163
+ for (const statement of executableSqlStatements(migrationSql)) {
164
+ exec(statement);
165
+ const after = moduleTableNames(sql);
166
+ if (after.size !== tables.size || [...after].some((t) => !tables.has(t)))
167
+ steps.push({ before: tables, after });
168
+ tables = after;
169
+ }
170
+ return steps;
171
+ }
172
+ /**
173
+ * The table a group of names belongs to, when there is one: the shortest name, with every other
174
+ * name its shadow (`root_…`) — what one `CREATE VIRTUAL TABLE … USING fts5` makes (`x`, `x_data`,
175
+ * `x_idx`, …), drops or renames together. Undefined when the names are not one such group.
176
+ */
177
+ function rootOf(names) {
178
+ if (names.length === 0)
179
+ return undefined;
180
+ const root = [...names].sort((a, b) => a.length - b.length)[0];
181
+ return names.every((n) => n === root || n.startsWith(`${root}_`)) ? root : undefined;
182
+ }
183
+ /**
184
+ * The changes one statement made, from the table set either side of it. A single SQLite
185
+ * statement changes ONE table — with its shadow tables, for a virtual table — so: tables only
186
+ * appearing are a create by `moduleId`; only disappearing, a drop; one group gone and one
187
+ * appeared, a rename, each shadow moving with its root. Anything else is not a shape a single
188
+ * statement produces, and is refused rather than guessed at.
189
+ */
190
+ export function tableChangesOf(moduleId, step) {
191
+ const gone = [...step.before].filter((t) => !step.after.has(t));
192
+ const appeared = [...step.after].filter((t) => !step.before.has(t));
193
+ const from = rootOf(gone);
194
+ const to = rootOf(appeared);
195
+ if (gone.length === 0 && to !== undefined) {
196
+ return appeared.map((table) => ({ kind: 'create', table, owner: moduleId }));
197
+ }
198
+ if (appeared.length === 0 && from !== undefined)
199
+ return gone.map((table) => ({ kind: 'drop', table }));
200
+ if (from !== undefined && to !== undefined && gone.length === appeared.length) {
201
+ const renamed = gone.map((g) => ({ from: g, to: `${to}${g.slice(from.length)}` }));
202
+ if (renamed.every((r) => appeared.includes(r.to))) {
203
+ return renamed.map((r) => ({ kind: 'rename', from: r.from, to: r.to }));
204
+ }
205
+ }
206
+ throw substratError('internal', `migration of ${moduleId}: one statement changed unrelated tables (gone: ${gone.join(', ') || '-'}; ` +
207
+ `appeared: ${appeared.join(', ') || '-'}), which the ownership record cannot attribute`);
208
+ }
209
+ /** Apply each recorded step to the ledger, in statement order, through `applyTableChange`. */
210
+ export function recordOwnershipSteps(sql, moduleId, steps, at) {
211
+ const store = ledgerStore(sql, 'migration', at);
212
+ for (const step of steps)
213
+ for (const change of tableChangesOf(moduleId, step))
214
+ applyTableChange(store, change);
215
+ }
216
+ /**
217
+ * Attribute the given tables, where they have no row yet, by replaying the migration journal in
218
+ * applied order, statement by statement, through `applyTableChange` — the one-time backfill for a
219
+ * scope migrated before ownership was recorded. Only what the replay can prove is attributed:
220
+ *
221
+ * - a plain `CREATE TABLE` proves its creator — it would have failed had the table existed;
222
+ * - `CREATE TABLE IF NOT EXISTS` proves nothing: an earlier migration, or runtime DDL, may already
223
+ * have made the table, so it leaves the table's owner unknown;
224
+ * - an entry whose migration text is not available — its module no longer registered — could have
225
+ * created, renamed or dropped anything, so every table that exists at that point becomes
226
+ * unknown. A later plain `CREATE` still proves its own creation.
227
+ *
228
+ * An unknown owner is no row, and the erasure refuses that table.
229
+ */
230
+ export function backfillOwnershipFromJournal(sql, tables, migrationSqlOf, at) {
231
+ const missing = [...tables]
232
+ .map((t) => t.toLowerCase())
233
+ .filter((t) => sql.query(`SELECT 1 FROM ${TABLE_OWNERS} WHERE table_name = ?`, [t]).length === 0);
234
+ if (missing.length === 0)
235
+ return;
236
+ const journal = sql.query('SELECT module_id, version FROM _substrat_migrations ORDER BY applied_at, rowid');
237
+ const model = new Map();
238
+ const store = {
239
+ get: (t) => model.get(t),
240
+ set: (t, o) => void model.set(t, o),
241
+ delete: (t) => void model.delete(t),
242
+ };
243
+ for (const entry of journal) {
244
+ const text = migrationSqlOf(entry.module_id, entry.version);
245
+ if (text === undefined) {
246
+ for (const t of model.keys())
247
+ model.set(t, null);
248
+ continue;
249
+ }
250
+ for (const st of tableStatements(text)) {
251
+ if (st.kind === 'create') {
252
+ if (st.ifNotExists && model.has(st.table))
253
+ continue;
254
+ applyTableChange(store, { kind: 'create', table: st.table, owner: st.ifNotExists ? null : entry.module_id });
255
+ }
256
+ else {
257
+ applyTableChange(store, st);
258
+ }
259
+ }
260
+ }
261
+ const live = moduleTableNames(sql);
262
+ const ledger = ledgerStore(sql, 'journal', at);
263
+ for (const t of missing) {
264
+ const owner = model.get(t);
265
+ if (owner && live.has(t))
266
+ ledger.set(t, owner);
267
+ }
268
+ }
269
+ /**
270
+ * Refuse, before anything is written, an erasure that would touch a table the scope does not
271
+ * record as the erasing module's. Missing rows are backfilled from the journal first.
272
+ */
273
+ export function assertTablesOwned(sql, moduleId, tables, migrationSqlOf, at) {
274
+ const list = [...tables].map((t) => t.toLowerCase());
275
+ if (list.length === 0)
276
+ return;
277
+ backfillOwnershipFromJournal(sql, list, migrationSqlOf, at);
278
+ const refused = list.filter((t) => sql.query(`SELECT module_id FROM ${TABLE_OWNERS} WHERE table_name = ?`, [t])[0]
279
+ ?.module_id !== moduleId);
280
+ if (refused.length > 0) {
281
+ throw substratError('precondition_failed', `erasure: ${moduleId} names ${refused.map((t) => `'${t}'`).join(', ')}, which this scope does not record as ` +
282
+ 'created by its migrations — an erasure touches only the tables a module owns. Nothing was erased.');
283
+ }
284
+ }
285
+ //# sourceMappingURL=table-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-ownership.js","sourceRoot":"","sources":["../src/table-ownership.ts"],"names":[],"mappings":"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"}
@@ -139,10 +139,10 @@ export interface ScopeWalkPage extends ListPage {
139
139
  * A caller who can only justify SOME entities must not use this read and filter
140
140
  * afterwards without saying so: post-filtering with `ctx.check(perm, entry.entity)`
141
141
  * per row is legitimate, but it changes the page size (a page of 20 can come back
142
- * with 3) and the cursor must then advance by the last row EXAMINED, not the last
143
- * row returned — see callout's `portal-orders` for that shape. A walk that only
144
- * visits what the caller may read is a different read with a different cost, and
145
- * is deliberately not this one.
142
+ * with 3), and the cursor of a refused row is that row's position — so walk it
143
+ * with `pageVisible`, which never returns one (#2073), as callout's `portal-orders`
144
+ * does. A walk that only visits what the caller may read is a different read with
145
+ * a different cost, and is deliberately not this one.
146
146
  */
147
147
  export declare function readScopeTimeline(ctx: TimelineReader, page?: ScopeWalkPage): Page<ScopeTimelineEntry>;
148
148
  /**
package/dist/timeline.js CHANGED
@@ -236,10 +236,10 @@ function entityOfRow(d, row) {
236
236
  * A caller who can only justify SOME entities must not use this read and filter
237
237
  * afterwards without saying so: post-filtering with `ctx.check(perm, entry.entity)`
238
238
  * per row is legitimate, but it changes the page size (a page of 20 can come back
239
- * with 3) and the cursor must then advance by the last row EXAMINED, not the last
240
- * row returned — see callout's `portal-orders` for that shape. A walk that only
241
- * visits what the caller may read is a different read with a different cost, and
242
- * is deliberately not this one.
239
+ * with 3), and the cursor of a refused row is that row's position — so walk it
240
+ * with `pageVisible`, which never returns one (#2073), as callout's `portal-orders`
241
+ * does. A walk that only visits what the caller may read is a different read with
242
+ * a different cost, and is deliberately not this one.
243
243
  */
244
244
  export function readScopeTimeline(ctx, page) {
245
245
  const limit = listLimitOf(page?.limit);
@@ -0,0 +1,38 @@
1
+ import { type SealedSecret } from './secret-box.js';
2
+ export declare const CONTINUATION_POSITION_CAP = 256;
3
+ export interface ContinuationKey {
4
+ id: string;
5
+ /** Raw AES-256 key, base64 encoded only inside adapter-private storage. */
6
+ material: string;
7
+ createdAt: number;
8
+ }
9
+ export interface ContinuationKeys {
10
+ active: ContinuationKey;
11
+ previous?: ContinuationKey;
12
+ }
13
+ export interface ContinuationPosition {
14
+ sealed: SealedSecret;
15
+ expiresAt: number;
16
+ }
17
+ /** Neither keys nor positions may be stored in module-readable scope SQL or a dump. */
18
+ export interface ContinuationStore {
19
+ keys(): Promise<ContinuationKeys | null>;
20
+ setKeys(keys: ContinuationKeys): Promise<void>;
21
+ position(id: string, expiresAt: number): Promise<ContinuationPosition | null>;
22
+ setPosition(id: string, position: ContinuationPosition): Promise<void>;
23
+ }
24
+ /** Everything that makes the position mean the same walk, with no raw input kept. */
25
+ export interface ContinuationBinding {
26
+ scopeId: string;
27
+ principal: string;
28
+ operation: string;
29
+ list: string;
30
+ query: unknown;
31
+ }
32
+ /** Full visible pages are stateless; only a hidden budget stop needs a private locator. */
33
+ export declare function visibleContinuation(store: ContinuationStore, binding: ContinuationBinding, now?: () => number, legacyUsed?: () => void, writable?: boolean): {
34
+ writable: boolean;
35
+ seal(position: string, hidden?: boolean): Promise<string | null>;
36
+ open(cursor: string): Promise<string>;
37
+ };
38
+ //# sourceMappingURL=visible-continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visible-continuation.d.ts","sourceRoot":"","sources":["../src/visible-continuation.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAa9F,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAI7C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,IAAI,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC9E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAiDD,2FAA2F;AAC3F,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,GAAE,MAAM,MAAiB,EAC5B,UAAU,CAAC,EAAE,MAAM,IAAI,EACvB,QAAQ,UAAO;;mBAkBQ,MAAM,qBAAkB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAgChD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAqC9C"}