@cotal-ai/core 0.85.0 → 0.86.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 (153) hide show
  1. package/dist/agent-file.d.ts.map +1 -1
  2. package/dist/agent-file.js +10 -3
  3. package/dist/agent-file.js.map +1 -1
  4. package/dist/base64url.d.ts +5 -0
  5. package/dist/base64url.d.ts.map +1 -0
  6. package/dist/base64url.js +14 -0
  7. package/dist/base64url.js.map +1 -0
  8. package/dist/browser-control.d.ts +97 -0
  9. package/dist/browser-control.d.ts.map +1 -0
  10. package/dist/browser-control.js +66 -0
  11. package/dist/browser-control.js.map +1 -0
  12. package/dist/browser-validators-build.d.ts +23 -0
  13. package/dist/browser-validators-build.d.ts.map +1 -0
  14. package/dist/browser-validators-build.js +149 -0
  15. package/dist/browser-validators-build.js.map +1 -0
  16. package/dist/canonical-json.d.ts +14 -0
  17. package/dist/canonical-json.d.ts.map +1 -0
  18. package/dist/canonical-json.js +121 -0
  19. package/dist/canonical-json.js.map +1 -0
  20. package/dist/canonical.d.ts +2 -10
  21. package/dist/canonical.d.ts.map +1 -1
  22. package/dist/canonical.js +2 -108
  23. package/dist/canonical.js.map +1 -1
  24. package/dist/checkpoint-answer.d.ts.map +1 -1
  25. package/dist/checkpoint-answer.js +3 -4
  26. package/dist/checkpoint-answer.js.map +1 -1
  27. package/dist/connector-setup.d.ts +10 -1
  28. package/dist/connector-setup.d.ts.map +1 -1
  29. package/dist/digest-id.d.ts +4 -0
  30. package/dist/digest-id.d.ts.map +1 -0
  31. package/dist/digest-id.js +7 -0
  32. package/dist/digest-id.js.map +1 -0
  33. package/dist/endpoint-action.d.ts.map +1 -1
  34. package/dist/endpoint-action.js +2 -16
  35. package/dist/endpoint-action.js.map +1 -1
  36. package/dist/endpoint-auth-digest.d.ts +7 -0
  37. package/dist/endpoint-auth-digest.d.ts.map +1 -0
  38. package/dist/endpoint-auth-digest.js +13 -0
  39. package/dist/endpoint-auth-digest.js.map +1 -0
  40. package/dist/endpoint-call.d.ts +176 -0
  41. package/dist/endpoint-call.d.ts.map +1 -0
  42. package/dist/endpoint-call.js +490 -0
  43. package/dist/endpoint-call.js.map +1 -0
  44. package/dist/endpoint-caller.d.ts +113 -0
  45. package/dist/endpoint-caller.d.ts.map +1 -0
  46. package/dist/endpoint-caller.js +260 -0
  47. package/dist/endpoint-caller.js.map +1 -0
  48. package/dist/endpoint-checkpoint.d.ts.map +1 -1
  49. package/dist/endpoint-checkpoint.js +5 -14
  50. package/dist/endpoint-checkpoint.js.map +1 -1
  51. package/dist/endpoint-envelope.d.ts +0 -6
  52. package/dist/endpoint-envelope.d.ts.map +1 -1
  53. package/dist/endpoint-envelope.js +17 -18
  54. package/dist/endpoint-envelope.js.map +1 -1
  55. package/dist/endpoint-guard.d.ts.map +1 -1
  56. package/dist/endpoint-guard.js +2 -10
  57. package/dist/endpoint-guard.js.map +1 -1
  58. package/dist/endpoint-invoke.d.ts +36 -119
  59. package/dist/endpoint-invoke.d.ts.map +1 -1
  60. package/dist/endpoint-invoke.js +56 -300
  61. package/dist/endpoint-invoke.js.map +1 -1
  62. package/dist/endpoint-publish-denial.d.ts +1 -1
  63. package/dist/endpoint-publish-denial.d.ts.map +1 -1
  64. package/dist/endpoint-publish-denial.js +1 -1
  65. package/dist/endpoint-publish-denial.js.map +1 -1
  66. package/dist/endpoint-receipt.d.ts.map +1 -1
  67. package/dist/endpoint-receipt.js +2 -16
  68. package/dist/endpoint-receipt.js.map +1 -1
  69. package/dist/endpoint-subjects.d.ts.map +1 -1
  70. package/dist/endpoint-subjects.js.map +1 -1
  71. package/dist/endpoint-traits.d.ts.map +1 -1
  72. package/dist/endpoint-traits.js +3 -20
  73. package/dist/endpoint-traits.js.map +1 -1
  74. package/dist/endpoint-verbs.d.ts +18 -151
  75. package/dist/endpoint-verbs.d.ts.map +1 -1
  76. package/dist/endpoint-verbs.js +4 -500
  77. package/dist/endpoint-verbs.js.map +1 -1
  78. package/dist/endpoint-work.d.ts.map +1 -1
  79. package/dist/endpoint-work.js +2 -17
  80. package/dist/endpoint-work.js.map +1 -1
  81. package/dist/endpoint.d.ts +39 -15
  82. package/dist/endpoint.d.ts.map +1 -1
  83. package/dist/endpoint.js +90 -42
  84. package/dist/endpoint.js.map +1 -1
  85. package/dist/index.d.ts +4 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/issued-accepted.d.ts +27 -0
  90. package/dist/issued-accepted.d.ts.map +1 -0
  91. package/dist/issued-accepted.js +62 -0
  92. package/dist/issued-accepted.js.map +1 -0
  93. package/dist/issued-authority.d.ts +3 -18
  94. package/dist/issued-authority.d.ts.map +1 -1
  95. package/dist/issued-authority.js +4 -55
  96. package/dist/issued-authority.js.map +1 -1
  97. package/dist/lifecycle-state.d.ts +3 -0
  98. package/dist/lifecycle-state.d.ts.map +1 -1
  99. package/dist/lifecycle-state.js +7 -0
  100. package/dist/lifecycle-state.js.map +1 -1
  101. package/dist/manager-caller.d.ts.map +1 -1
  102. package/dist/manager-caller.js +2 -1
  103. package/dist/manager-caller.js.map +1 -1
  104. package/dist/one-line.d.ts +6 -0
  105. package/dist/one-line.d.ts.map +1 -0
  106. package/dist/one-line.js +8 -0
  107. package/dist/one-line.js.map +1 -0
  108. package/dist/peer-label.d.ts +16 -0
  109. package/dist/peer-label.d.ts.map +1 -0
  110. package/dist/peer-label.js +15 -0
  111. package/dist/peer-label.js.map +1 -0
  112. package/dist/permission-denied.d.ts +8 -0
  113. package/dist/permission-denied.d.ts.map +1 -0
  114. package/dist/permission-denied.js +15 -0
  115. package/dist/permission-denied.js.map +1 -0
  116. package/dist/presence-text.d.ts +6 -0
  117. package/dist/presence-text.d.ts.map +1 -0
  118. package/dist/presence-text.js +25 -0
  119. package/dist/presence-text.js.map +1 -0
  120. package/dist/provision.d.ts.map +1 -1
  121. package/dist/provision.js +8 -2
  122. package/dist/provision.js.map +1 -1
  123. package/dist/resolve.d.ts +2 -13
  124. package/dist/resolve.d.ts.map +1 -1
  125. package/dist/resolve.js +2 -12
  126. package/dist/resolve.js.map +1 -1
  127. package/dist/run-driver-grants.d.ts +5 -0
  128. package/dist/run-driver-grants.d.ts.map +1 -1
  129. package/dist/run-driver-grants.js +16 -4
  130. package/dist/run-driver-grants.js.map +1 -1
  131. package/dist/run-migration.d.ts +21 -0
  132. package/dist/run-migration.d.ts.map +1 -1
  133. package/dist/run-migration.js +2 -27
  134. package/dist/run-migration.js.map +1 -1
  135. package/dist/run-notice.d.ts +20 -0
  136. package/dist/run-notice.d.ts.map +1 -1
  137. package/dist/run-notice.js +3 -28
  138. package/dist/run-notice.js.map +1 -1
  139. package/dist/schema-bounds.d.ts +24 -0
  140. package/dist/schema-bounds.d.ts.map +1 -0
  141. package/dist/schema-bounds.js +74 -0
  142. package/dist/schema-bounds.js.map +1 -0
  143. package/dist/schema-profile.d.ts +11 -24
  144. package/dist/schema-profile.d.ts.map +1 -1
  145. package/dist/schema-profile.js +16 -73
  146. package/dist/schema-profile.js.map +1 -1
  147. package/dist/subjects.d.ts.map +1 -1
  148. package/dist/subjects.js +1 -2
  149. package/dist/subjects.js.map +1 -1
  150. package/dist/turn-contract.d.ts.map +1 -1
  151. package/dist/turn-contract.js +14 -4
  152. package/dist/turn-contract.js.map +1 -1
  153. package/package.json +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manager-caller.d.ts","sourceRoot":"","sources":["../src/manager-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD;;;;+BAI+B;AAC/B,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAoB1C"}
1
+ {"version":3,"file":"manager-caller.d.ts","sourceRoot":"","sources":["../src/manager-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;;;+BAI+B;AAC/B,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAoB1C"}
@@ -1,4 +1,5 @@
1
1
  import { assertLifecycleToken } from "./subjects.js";
2
+ import { fromBase64url } from "./base64url.js";
2
3
  /** Refuse a minted `manager-caller` bearer (SPEC §10) that is not bound to the caller's space and
3
4
  * principal or that names another instance than the one the caller selected, and return the caller
4
5
  * triple and the bound instance. Only the routing coordinates are decoded: the broker verifies the
@@ -10,7 +11,7 @@ export function managerCallerBinding(bearer, expected) {
10
11
  const parts = bearer.split(".");
11
12
  if (parts.length !== 3)
12
13
  throw new Error("invalid JWT");
13
- payload = JSON.parse(Buffer.from(parts[1], "base64url").toString("utf8"));
14
+ payload = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(fromBase64url(parts[1])));
14
15
  }
15
16
  catch {
16
17
  throw new Error("manager control exchange returned an invalid bearer");
@@ -1 +1 @@
1
- {"version":3,"file":"manager-caller.js","sourceRoot":"","sources":["../src/manager-caller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD;;;;+BAI+B;AAC/B,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,QAAoG;IAEpG,IAAI,OAAwE,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC;IACzB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK;QACvE,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;QAC1G,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpI,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACjH,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IACpF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU;QACzE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC;AAC9G,CAAC"}
1
+ {"version":3,"file":"manager-caller.js","sourceRoot":"","sources":["../src/manager-caller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;+BAI+B;AAC/B,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,QAAoG;IAEpG,IAAI,OAAwE,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC;IACzB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK;QACvE,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;QAC1G,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpI,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACjH,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IACpF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU;QACzE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC;AAC9G,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** `text` with every control character and Unicode line separator shown as a `\uXXXX` escape. A
2
+ * value interpolated into one line of operator output, such as a path or an error message, can
3
+ * carry a newline; written raw it ends that line early and starts a second one that reads as its
4
+ * own record, or a carriage return overwrites the line on a terminal. */
5
+ export declare function oneLine(text: string): string;
6
+ //# sourceMappingURL=one-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one-line.d.ts","sourceRoot":"","sources":["../src/one-line.ts"],"names":[],"mappings":"AAAA;;;0EAG0E;AAC1E,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C"}
@@ -0,0 +1,8 @@
1
+ /** `text` with every control character and Unicode line separator shown as a `\uXXXX` escape. A
2
+ * value interpolated into one line of operator output, such as a path or an error message, can
3
+ * carry a newline; written raw it ends that line early and starts a second one that reads as its
4
+ * own record, or a carriage return overwrites the line on a terminal. */
5
+ export function oneLine(text) {
6
+ return text.replace(/[\p{Cc}\p{Zl}\p{Zp}]/gu, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
7
+ }
8
+ //# sourceMappingURL=one-line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one-line.js","sourceRoot":"","sources":["../src/one-line.ts"],"names":[],"mappings":"AAAA;;;0EAG0E;AAC1E,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The label every surface prints for a peer: `name/role`, or the bare name when it has no role.
3
+ * A role equal to the name is still printed, because a bare name is how a peer with no role reads
4
+ * and the role is what an anycast addresses.
5
+ *
6
+ * Control characters, Unicode line and paragraph separators, and brackets become a space. A peer
7
+ * writes its own presence record, so its name and role arrive checked only as strings, and every
8
+ * surface prints the label on one line beside bracketed fields of its own (message attribution sits
9
+ * inside brackets): a `]` or a newline would end that syntax early and forge what follows, and an ESC
10
+ * or BEL would reach the operator's terminal as a control sequence.
11
+ */
12
+ export declare function peerLabel(card: {
13
+ name: string;
14
+ role?: string;
15
+ }): string;
16
+ //# sourceMappingURL=peer-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-label.d.ts","sourceRoot":"","sources":["../src/peer-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEvE"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The label every surface prints for a peer: `name/role`, or the bare name when it has no role.
3
+ * A role equal to the name is still printed, because a bare name is how a peer with no role reads
4
+ * and the role is what an anycast addresses.
5
+ *
6
+ * Control characters, Unicode line and paragraph separators, and brackets become a space. A peer
7
+ * writes its own presence record, so its name and role arrive checked only as strings, and every
8
+ * surface prints the label on one line beside bracketed fields of its own (message attribution sits
9
+ * inside brackets): a `]` or a newline would end that syntax early and forge what follows, and an ESC
10
+ * or BEL would reach the operator's terminal as a control sequence.
11
+ */
12
+ export function peerLabel(card) {
13
+ return (card.role ? `${card.name}/${card.role}` : card.name).replace(/[\p{Cc}\p{Zl}\p{Zp}[\]]+/gu, " ");
14
+ }
15
+ //# sourceMappingURL=peer-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-label.js","sourceRoot":"","sources":["../src/peer-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,IAAqC;IAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;AAC1G,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** True when a failure is a NATS *permission denial* — the subject is forbidden to this
2
+ * endpoint's creds — rather than a missing responder or a timeout. The two need opposite
3
+ * fixes (grant the capability vs. start/await the service), so callers (e.g. a control
4
+ * request that can't reach the manager) must tell them apart instead of defaulting to
5
+ * "service down". Unwraps a wrapped `cause` and falls back to the server's error text, since
6
+ * a denied publish can surface either as the typed error or inside a request rejection. */
7
+ export declare function isPermissionDenied(e: unknown): boolean;
8
+ //# sourceMappingURL=permission-denied.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-denied.d.ts","sourceRoot":"","sources":["../src/permission-denied.ts"],"names":[],"mappings":"AAEA;;;;;4FAK4F;AAC5F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAItD"}
@@ -0,0 +1,15 @@
1
+ import { PermissionViolationError } from "@nats-io/nats-core";
2
+ /** True when a failure is a NATS *permission denial* — the subject is forbidden to this
3
+ * endpoint's creds — rather than a missing responder or a timeout. The two need opposite
4
+ * fixes (grant the capability vs. start/await the service), so callers (e.g. a control
5
+ * request that can't reach the manager) must tell them apart instead of defaulting to
6
+ * "service down". Unwraps a wrapped `cause` and falls back to the server's error text, since
7
+ * a denied publish can surface either as the typed error or inside a request rejection. */
8
+ export function isPermissionDenied(e) {
9
+ if (e instanceof PermissionViolationError)
10
+ return true;
11
+ if (e?.cause instanceof PermissionViolationError)
12
+ return true;
13
+ return /permissions?\s+violation/i.test(String(e?.message ?? ""));
14
+ }
15
+ //# sourceMappingURL=permission-denied.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-denied.js","sourceRoot":"","sources":["../src/permission-denied.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;;;;4FAK4F;AAC5F,MAAM,UAAU,kBAAkB,CAAC,CAAU;IAC3C,IAAI,CAAC,YAAY,wBAAwB;QAAE,OAAO,IAAI,CAAC;IACvD,IAAK,CAAgC,EAAE,KAAK,YAAY,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAE,CAAkC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** A condition code or an activity as a presence row shows it: on one line ({@link oneLine}) and at
2
+ * most {@link PRESENCE_TEXT_MAX} characters. The peer a row describes writes both and ingest checks
3
+ * only that they are strings, while readers print one peer per line: a line break would start what
4
+ * reads as a second peer's row, and a 4000-character activity would flood the reader's view. */
5
+ export declare function presenceText(text: string): string;
6
+ //# sourceMappingURL=presence-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence-text.d.ts","sourceRoot":"","sources":["../src/presence-text.ts"],"names":[],"mappings":"AAKA;;;iGAGiG;AACjG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjD"}
@@ -0,0 +1,25 @@
1
+ import { oneLine } from "./one-line.js";
2
+ /** The most characters a presence row shows of one peer-written text. */
3
+ const PRESENCE_TEXT_MAX = 200;
4
+ /** A condition code or an activity as a presence row shows it: on one line ({@link oneLine}) and at
5
+ * most {@link PRESENCE_TEXT_MAX} characters. The peer a row describes writes both and ingest checks
6
+ * only that they are strings, while readers print one peer per line: a line break would start what
7
+ * reads as a second peer's row, and a 4000-character activity would flood the reader's view. */
8
+ export function presenceText(text) {
9
+ // Escaped one character at a time so a cut falls between escapes: a cut inside one would show a
10
+ // bare `\u00` that no longer names the character it replaced.
11
+ const shown = Array.from(text, oneLine);
12
+ const width = (s) => [...s].length;
13
+ if (shown.reduce((n, s) => n + width(s), 0) <= PRESENCE_TEXT_MAX)
14
+ return shown.join("");
15
+ let kept = "";
16
+ let n = 0;
17
+ for (const s of shown) {
18
+ n += width(s);
19
+ if (n > PRESENCE_TEXT_MAX - 1)
20
+ break;
21
+ kept += s;
22
+ }
23
+ return `${kept}…`;
24
+ }
25
+ //# sourceMappingURL=presence-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence-text.js","sourceRoot":"","sources":["../src/presence-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;iGAGiG;AACjG,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,gGAAgG;IAChG,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,iBAAiB,GAAG,CAAC;YAAE,MAAM;QACrC,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAmCL,KAAK,iBAAiB,EAgBvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmD,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGhI,OAAO,EAAqG,KAAK,YAAY,EAA2B,MAAM,uBAAuB,CAAC;AAEtL,OAAO,EAAyD,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAKnJ,OAAO,EAA8D,KAAK,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC9I,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,gGAAgG;AAChG,MAAM,MAAM,OAAO,GACf,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,OAAO,GACP,YAAY,GACZ,aAAa,GACb,eAAe,GACf,sBAAsB,GACtB,oBAAoB,GACpB,yBAAyB,GACzB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,eAAe,GAEf,OAAO,GACP,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GAGV,2BAA2B,GAC3B,sBAAsB,GACtB,UAAU,GAIV,gBAAgB,GAKhB,aAAa,GAGb,gBAAgB,GAKhB,iBAAiB,GAKjB,gBAAgB,GAGhB,YAAY,GACZ,cAAc,GAMd,cAAc,GAQd,kBAAkB,GAIlB,QAAQ,GAIR,cAAc,GAId,iBAAiB,GAGjB,iBAAiB,GAGjB,gBAAgB,GAEhB,uBAAuB,GACvB,gCAAgC,GAChC,8BAA8B,GAC9B,iCAAiC,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GAKpB,kBAAkB,GAClB,UAAU,GACV,yBAAyB,GACzB,OAAO,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;;0EAI0E;AAC1E,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;;;;;mGAMmG;AACnG,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;;;;;oDAOoD;AACpD,eAAO,MAAM,oBAAoB,QAA2D,CAAC;AAE7F;;;qGAGqG;AACrG,eAAO,MAAM,0BAA0B,QAAe,CAAC;AAEvD;;;;;2EAK2E;AAC3E,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D;yFACyF;AACzF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,cAAc,EAAE,wBAAwB,CA4CjF,CAAC;AAWF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,wBAAwB,CAEjF;AAED;;;oGAGoG;AACpG,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AACjG,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAgC,GAAG,UAAU,CAcnG;AAED;;;;;;;;;2EAS2E;AAC3E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD;;;;;2EAKuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;2EAG2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9F;AAED;;;;;;;0EAO0E;AAC1E,MAAM,WAAW,SAAU,SAAQ,UAAU,EAAE,gBAAgB;CAAG;AAElE;;uGAEuG;AACvG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAG9F;AAED;qEACqE;AACrE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAcpG;AAYD;;;;;;;yEAOyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAazD;AAED;;8FAE8F;AAC9F,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAsBrF;AAED;;;kEAGkE;AAClE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAwB7E;AAED;;;;;;;mGAOmG;AACnG,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWzE;AAED;;sEAEsE;AACtE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuBzG;AAED;;8CAE8C;AAC9C,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvE;AAED,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACvB;6GACyG;IACzG,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C;;;;;;;mFAO+E;IAC/E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;sFAEkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;2FAGuF;IACvF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;4DAGwD;IACxD,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC;IACtC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;oDAEgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;oGAUgG;IAChG,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B;;;;;wFAKoF;IACpF,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;0DAEsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;yFAMqF;IACrF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;mGAS+F;IAC/F,mBAAmB,CAAC,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAC1C;4FACoF;QACpF,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KAChE,CAAC;IACF;;;;;;;oEAOgE;IAChE,iBAAiB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F;;;;;;;4EAOwE;IACxE,qBAAqB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE;;kCAE8B;IAC9B,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC;;;8DAG0D;IAC1D,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE;;;8DAG0D;IAC1D,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE;;;4GAGwG;IACxG,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,oFAAoF;IACpF,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;oDAGgD;IAChD,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;2CAGuC;IACvC,aAAa,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;2FACuF;IACvF,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD;;;;+BAI2B;IAC3B,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IACrC;gGAC4F;IAC5F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2GAA2G;IAC3G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;sBAKkB;IAClB,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;;;yEAIqE;IACrE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;sCACkC;IAClC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD;gEAC4D;IAC5D,cAAc,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,iGAAiG;IACjG,cAAc,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC;8FAC0F;IAC1F,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,iGAAiG;IACjG,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAwCD,sFAAsF;AACtF,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C;;2FAEuF;IACvF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;mBAMe;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;0DAG0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC;;;;uFAImF;IACnF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF;;6EAEyE;IACzE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF;;;;;iDAK6C;IAC7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7F,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;;4GAG4G;AAC5G,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;6DAEyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD;;;;;;yDAMyD;AACzD,wBAAsB,cAAc,CAClC,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;;sFAIsF;AACtF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,kBAAkB,EAC/B,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAC1D,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAGD;;;;;;iGAMiG;AACjG,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,MAAM,CAAC,CAqEjB;AA4CD;;;;uDAIuD;AACvD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,CAAA;CAAE,EAC1F,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CvC;AAMD;;;;;;;;;;;;2FAY2F;AAC3F,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,QAAQ,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgdzB;AAmuCD;;;;;0FAK0F;AAC1F,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB3H;AAoBD;;gFAEgF;AAChF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB1H;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;4FACwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,eAAe,CAAC;CAC5B,GAAG,MAAM,CAST;AA2BD;;;;;;;;;;oFAUoF;AACpF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;4FACwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;4FACwF;IACxF,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD;;;;mEAI+D;IAC/D,SAAS,EAAE,eAAe,CAAC;IAC3B;;;;kEAI8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,CAyCR"}
package/dist/provision.js CHANGED
@@ -1371,7 +1371,8 @@ function channelPurgerPermissions(space, pr) {
1371
1371
  /** TEARDOWN — `cotal down -f` space teardown. The SOLE cred that keeps `STREAM.DELETE` (the
1372
1372
  * tamper verb). `down -f` is multi-step: `connectProbe` (presence-watch + channel-registry read)
1373
1373
  * → invoke the manager's `ps` + any-mode `despawn` over the ep rails to politely stop the managed
1374
- * agents → `deleteChannels`
1374
+ * agents → `readMembership` (the membership-feed read that keeps an owned channel another member
1375
+ * still uses) → `deleteChannels`
1375
1376
  * (channel-registry key delete + CHAT purge) → `deleteSpace` (STREAM.DELETE every owned stream/bucket).
1376
1377
  * So it reads state, CALLS admin control, deletes channels, and deletes streams — but NEVER reads a
1377
1378
  * DM/DLV body, posts chat, or forges. Isolated here so no standing operator/provisioner/supervisor cred
@@ -1384,6 +1385,7 @@ function teardownPermissions(space, pr, transferStreams) {
1384
1385
  const ep = instrumentEpRows(space, pr, "admin");
1385
1386
  const CHAT = chatStream(space);
1386
1387
  const PKV = `KV_${presenceBucket(space)}`, CHKV = `KV_${channelBucket(space)}`;
1388
+ const MSHIP = `KV_${membershipBucket(space)}`;
1387
1389
  // deleteSpace() deletes EVERY stream + KV bucket setup creates; each needs INFO (jsm existence)
1388
1390
  // + DELETE. This is the ONLY cred that
1389
1391
  // holds STREAM.DELETE. This list and deleteSpace()'s own array must agree:
@@ -1391,7 +1393,7 @@ function teardownPermissions(space, pr, transferStreams) {
1391
1393
  const del = [
1392
1394
  CHAT, dmStream(space), taskStream(space), inboxStream(space), dlvStream(space),
1393
1395
  PKV, CHKV, `KV_${membersBucket(space)}`, `KV_${aclBucket(space)}`,
1394
- `KV_${membershipBucket(space)}`, `KV_${deliveryBucket(space)}`, `KV_${managerBucket(space)}`,
1396
+ MSHIP, `KV_${deliveryBucket(space)}`, `KV_${managerBucket(space)}`,
1395
1397
  ...endpointPlaneStreamNames(space),
1396
1398
  objectStoreStream(artifactBucket(space)),
1397
1399
  ...transferStreams.map((name) => {
@@ -1414,6 +1416,10 @@ function teardownPermissions(space, pr, transferStreams) {
1414
1416
  `$JS.API.DIRECT.GET.${CHKV}.>`,
1415
1417
  `$JS.API.CONSUMER.CREATE.${CHKV}.>`,
1416
1418
  `$JS.API.CONSUMER.INFO.${CHKV}.>`,
1419
+ // readMembership's one-pass scan of the feed (its STREAM.INFO is in `del`). No `$KV` publish:
1420
+ // only `membership-rw` writes the feed.
1421
+ `$JS.API.CONSUMER.CREATE.${MSHIP}.>`,
1422
+ `$JS.API.CONSUMER.INFO.${MSHIP}.>`,
1417
1423
  "$JS.FC.>", // ordered-consumer flow control
1418
1424
  // Stop the managed agents over the v0.4 ep rails only (ps + any-mode despawn) — the admin
1419
1425
  // instrument set. The manager `ctl` rail is deleted.