@plurnk/plurnk-service 1.5.0 → 1.6.1

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 (248) hide show
  1. package/.env.defaults +22 -27
  2. package/INSTALL.md +22 -17
  3. package/README.md +1 -1
  4. package/SPEC.md +505 -362
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/edit-collision.d.ts +5 -0
  7. package/dist/content/edit-collision.d.ts.map +1 -0
  8. package/dist/content/edit-collision.js +14 -0
  9. package/dist/content/edit-collision.js.map +1 -0
  10. package/dist/content/edit-receipt.d.ts +3 -2
  11. package/dist/content/edit-receipt.d.ts.map +1 -1
  12. package/dist/content/edit-receipt.js +58 -13
  13. package/dist/content/edit-receipt.js.map +1 -1
  14. package/dist/content/index.d.ts +4 -1
  15. package/dist/content/index.d.ts.map +1 -1
  16. package/dist/content/index.js +3 -1
  17. package/dist/content/index.js.map +1 -1
  18. package/dist/content/line-anchors.d.ts +41 -0
  19. package/dist/content/line-anchors.d.ts.map +1 -0
  20. package/dist/content/line-anchors.js +191 -0
  21. package/dist/content/line-anchors.js.map +1 -0
  22. package/dist/content/read-projector.d.ts +7 -1
  23. package/dist/content/read-projector.d.ts.map +1 -1
  24. package/dist/content/read-projector.js +46 -10
  25. package/dist/content/read-projector.js.map +1 -1
  26. package/dist/content/read-resolve.js +3 -3
  27. package/dist/content/read-resolve.js.map +1 -1
  28. package/dist/core/BudgetReadout.d.ts.map +1 -1
  29. package/dist/core/BudgetReadout.js +9 -2
  30. package/dist/core/BudgetReadout.js.map +1 -1
  31. package/dist/core/ChannelWrite.js +1 -1
  32. package/dist/core/ChannelWrite.js.map +1 -1
  33. package/dist/core/ChannelWrite.sql +3 -3
  34. package/dist/core/CoreSchemeServices.d.ts +1 -1
  35. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  36. package/dist/core/CoreSchemeServices.js +1 -1
  37. package/dist/core/CoreSchemeServices.js.map +1 -1
  38. package/dist/core/Dispatcher.d.ts +15 -5
  39. package/dist/core/Dispatcher.d.ts.map +1 -1
  40. package/dist/core/Dispatcher.js +220 -978
  41. package/dist/core/Dispatcher.js.map +1 -1
  42. package/dist/core/DurableStatement.d.ts.map +1 -1
  43. package/dist/core/DurableStatement.js +2 -0
  44. package/dist/core/DurableStatement.js.map +1 -1
  45. package/dist/core/Engine.d.ts +18 -43
  46. package/dist/core/Engine.d.ts.map +1 -1
  47. package/dist/core/Engine.js +90 -1554
  48. package/dist/core/Engine.js.map +1 -1
  49. package/dist/core/Engine.sql +192 -112
  50. package/dist/core/ExecutableTools.d.ts +10 -0
  51. package/dist/core/ExecutableTools.d.ts.map +1 -0
  52. package/dist/core/ExecutableTools.js +41 -0
  53. package/dist/core/ExecutableTools.js.map +1 -0
  54. package/dist/core/ExecutorRegistry.d.ts +3 -3
  55. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  56. package/dist/core/ExecutorRegistry.js +2 -2
  57. package/dist/core/ExecutorRegistry.js.map +1 -1
  58. package/dist/core/LogBody.d.ts +3 -0
  59. package/dist/core/LogBody.d.ts.map +1 -1
  60. package/dist/core/LogBody.js +21 -5
  61. package/dist/core/LogBody.js.map +1 -1
  62. package/dist/core/LogEntryProjection.d.ts +14 -0
  63. package/dist/core/LogEntryProjection.d.ts.map +1 -0
  64. package/dist/core/LogEntryProjection.js +38 -0
  65. package/dist/core/LogEntryProjection.js.map +1 -0
  66. package/dist/core/ModelCall.d.ts +27 -0
  67. package/dist/core/ModelCall.d.ts.map +1 -0
  68. package/dist/core/ModelCall.js +127 -0
  69. package/dist/core/ModelCall.js.map +1 -0
  70. package/dist/core/PacketBuilder.d.ts +14 -25
  71. package/dist/core/PacketBuilder.d.ts.map +1 -1
  72. package/dist/core/PacketBuilder.js +170 -244
  73. package/dist/core/PacketBuilder.js.map +1 -1
  74. package/dist/core/ProblemLog.d.ts +1 -1
  75. package/dist/core/ProblemLog.d.ts.map +1 -1
  76. package/dist/core/ProblemLog.js +15 -3
  77. package/dist/core/ProblemLog.js.map +1 -1
  78. package/dist/core/ProposalLifecycle.d.ts +2 -2
  79. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  80. package/dist/core/ProposalLifecycle.js +17 -9
  81. package/dist/core/ProposalLifecycle.js.map +1 -1
  82. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  83. package/dist/core/ProviderInstantiate.js +25 -8
  84. package/dist/core/ProviderInstantiate.js.map +1 -1
  85. package/dist/core/ResourceMutations.d.ts +73 -0
  86. package/dist/core/ResourceMutations.d.ts.map +1 -0
  87. package/dist/core/ResourceMutations.js +1142 -0
  88. package/dist/core/ResourceMutations.js.map +1 -0
  89. package/dist/core/SchemeRegistry.js +10 -10
  90. package/dist/core/SchemeRegistry.js.map +1 -1
  91. package/dist/core/StoredPacket.d.ts +2 -2
  92. package/dist/core/StoredPacket.js +7 -7
  93. package/dist/core/StrikeRail.d.ts +0 -1
  94. package/dist/core/StrikeRail.d.ts.map +1 -1
  95. package/dist/core/StrikeRail.js +6 -4
  96. package/dist/core/StrikeRail.js.map +1 -1
  97. package/dist/core/TurnRunner.d.ts +72 -0
  98. package/dist/core/TurnRunner.d.ts.map +1 -0
  99. package/dist/core/TurnRunner.js +1730 -0
  100. package/dist/core/TurnRunner.js.map +1 -0
  101. package/dist/core/caps/CapsResolve.js +1 -1
  102. package/dist/core/caps/CapsResolve.js.map +1 -1
  103. package/dist/core/caps/DbChannelCaps.js +4 -4
  104. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  105. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  106. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  107. package/dist/core/caps/DbEntryCaps.js +8 -5
  108. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  109. package/dist/core/caps/DbProjectionCaps.d.ts +1 -0
  110. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
  111. package/dist/core/caps/DbProjectionCaps.js +29 -0
  112. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  113. package/dist/core/caps/SchemeCtxImpl.d.ts +5 -2
  114. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  115. package/dist/core/caps/SchemeCtxImpl.js +6 -4
  116. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  117. package/dist/core/content-hash.js +2 -2
  118. package/dist/core/content-hash.js.map +1 -1
  119. package/dist/core/content-weight.d.ts +2 -0
  120. package/dist/core/content-weight.d.ts.map +1 -0
  121. package/dist/core/content-weight.js +4 -0
  122. package/dist/core/content-weight.js.map +1 -0
  123. package/dist/core/content_weight.d.ts +4 -0
  124. package/dist/core/content_weight.d.ts.map +1 -0
  125. package/dist/core/content_weight.js +6 -0
  126. package/dist/core/content_weight.js.map +1 -0
  127. package/dist/core/fork.d.ts.map +1 -1
  128. package/dist/core/fork.js +23 -7
  129. package/dist/core/fork.js.map +1 -1
  130. package/dist/core/fork.sql +38 -17
  131. package/dist/core/git-membership.d.ts.map +1 -1
  132. package/dist/core/git-membership.js +1 -2
  133. package/dist/core/git-membership.js.map +1 -1
  134. package/dist/core/git-state.js +1 -1
  135. package/dist/core/git-state.js.map +1 -1
  136. package/dist/core/packet-wire.d.ts +6 -3
  137. package/dist/core/packet-wire.d.ts.map +1 -1
  138. package/dist/core/packet-wire.js +257 -99
  139. package/dist/core/packet-wire.js.map +1 -1
  140. package/dist/core/provider-accounting.d.ts +24 -0
  141. package/dist/core/provider-accounting.d.ts.map +1 -0
  142. package/dist/core/provider-accounting.js +76 -0
  143. package/dist/core/provider-accounting.js.map +1 -0
  144. package/dist/core/scheme-types.d.ts +1 -1
  145. package/dist/core/scheme-types.d.ts.map +1 -1
  146. package/dist/core/search-gate.d.ts +2 -2
  147. package/dist/core/search-gate.d.ts.map +1 -1
  148. package/dist/core/search-gate.js +8 -8
  149. package/dist/core/search-gate.js.map +1 -1
  150. package/dist/core/turn-scheduler.js +1 -1
  151. package/dist/core/turn-scheduler.js.map +1 -1
  152. package/dist/digest/Digest.d.ts.map +1 -1
  153. package/dist/digest/Digest.js +221 -110
  154. package/dist/digest/Digest.js.map +1 -1
  155. package/dist/digest/digest.sql +40 -18
  156. package/dist/schemes/Exec.d.ts.map +1 -1
  157. package/dist/schemes/Exec.js +136 -110
  158. package/dist/schemes/Exec.js.map +1 -1
  159. package/dist/schemes/ExecOutputScheme.js +1 -1
  160. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  161. package/dist/schemes/File.d.ts +5 -4
  162. package/dist/schemes/File.d.ts.map +1 -1
  163. package/dist/schemes/File.js +25 -23
  164. package/dist/schemes/File.js.map +1 -1
  165. package/dist/schemes/Log.d.ts +11 -0
  166. package/dist/schemes/Log.d.ts.map +1 -1
  167. package/dist/schemes/Log.js +172 -107
  168. package/dist/schemes/Log.js.map +1 -1
  169. package/dist/schemes/Log.sql +48 -32
  170. package/dist/schemes/Prompt.d.ts +3 -3
  171. package/dist/schemes/Prompt.d.ts.map +1 -1
  172. package/dist/schemes/Prompt.js +4 -1
  173. package/dist/schemes/Prompt.js.map +1 -1
  174. package/dist/schemes/Skill.d.ts +4 -4
  175. package/dist/schemes/Skill.d.ts.map +1 -1
  176. package/dist/schemes/Skill.js +3 -0
  177. package/dist/schemes/Skill.js.map +1 -1
  178. package/dist/schemes/Worker.d.ts +4 -4
  179. package/dist/schemes/Worker.d.ts.map +1 -1
  180. package/dist/schemes/Worker.js +11 -7
  181. package/dist/schemes/Worker.js.map +1 -1
  182. package/dist/schemes/_entry-crud.d.ts +0 -1
  183. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  184. package/dist/schemes/_entry-crud.js +19 -13
  185. package/dist/schemes/_entry-crud.js.map +1 -1
  186. package/dist/schemes/_entry-crud.sql +4 -16
  187. package/dist/schemes/_entry-find.d.ts +17 -16
  188. package/dist/schemes/_entry-find.d.ts.map +1 -1
  189. package/dist/schemes/_entry-find.js +58 -52
  190. package/dist/schemes/_entry-find.js.map +1 -1
  191. package/dist/schemes/_entry-find.sql +2 -21
  192. package/dist/schemes/_entry-graph.sql +1 -1
  193. package/dist/schemes/_entry-manifest.d.ts +5 -17
  194. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  195. package/dist/schemes/_entry-manifest.js +32 -28
  196. package/dist/schemes/_entry-manifest.js.map +1 -1
  197. package/dist/schemes/_entry-ops.d.ts +5 -4
  198. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  199. package/dist/schemes/_entry-ops.js +89 -49
  200. package/dist/schemes/_entry-ops.js.map +1 -1
  201. package/dist/schemes/_entry-ops.sql +30 -4
  202. package/dist/schemes/_entry-send.js +4 -4
  203. package/dist/schemes/_entry-send.js.map +1 -1
  204. package/dist/schemes/_search-index.d.ts.map +1 -1
  205. package/dist/schemes/_search-index.js +10 -2
  206. package/dist/schemes/_search-index.js.map +1 -1
  207. package/dist/schemes/exec-abort.js +2 -2
  208. package/dist/schemes/exec-abort.js.map +1 -1
  209. package/dist/server/Daemon.d.ts +7 -42
  210. package/dist/server/Daemon.d.ts.map +1 -1
  211. package/dist/server/Daemon.js +139 -900
  212. package/dist/server/Daemon.js.map +1 -1
  213. package/dist/server/DrainSupervisor.d.ts +117 -0
  214. package/dist/server/DrainSupervisor.d.ts.map +1 -0
  215. package/dist/server/DrainSupervisor.js +802 -0
  216. package/dist/server/DrainSupervisor.js.map +1 -0
  217. package/dist/server/drain.sql +2 -2
  218. package/dist/server/envelope.d.ts +0 -2
  219. package/dist/server/envelope.d.ts.map +1 -1
  220. package/dist/server/envelope.js.map +1 -1
  221. package/dist/server/envelope.sql +2 -2
  222. package/dist/server/lifecycle-recovery.sql +28 -15
  223. package/dist/server/logEntry.d.ts +2 -1
  224. package/dist/server/logEntry.d.ts.map +1 -1
  225. package/dist/server/logEntry.js +14 -2
  226. package/dist/server/logEntry.js.map +1 -1
  227. package/dist/server/logEntry.sql +5 -1
  228. package/dist/server/seam-entry-read.sql +2 -2
  229. package/dist/service.js +1 -1
  230. package/dist/service.js.map +1 -1
  231. package/migrations/001_schema.sql +622 -216
  232. package/package.json +39 -34
  233. package/dist/core/BudgetOverflow.d.ts +0 -20
  234. package/dist/core/BudgetOverflow.d.ts.map +0 -1
  235. package/dist/core/BudgetOverflow.js +0 -49
  236. package/dist/core/BudgetOverflow.js.map +0 -1
  237. package/dist/core/caps/DbTagCaps.d.ts +0 -10
  238. package/dist/core/caps/DbTagCaps.d.ts.map +0 -1
  239. package/dist/core/caps/DbTagCaps.js +0 -46
  240. package/dist/core/caps/DbTagCaps.js.map +0 -1
  241. package/dist/core/ruler_count.d.ts +0 -4
  242. package/dist/core/ruler_count.d.ts.map +0 -1
  243. package/dist/core/ruler_count.js +0 -7
  244. package/dist/core/ruler_count.js.map +0 -1
  245. package/dist/core/token-ruler.d.ts +0 -2
  246. package/dist/core/token-ruler.d.ts.map +0 -1
  247. package/dist/core/token-ruler.js +0 -5
  248. package/dist/core/token-ruler.js.map +0 -1
@@ -11,8 +11,11 @@ export interface ResolvedLogBody {
11
11
  readonly mimetype: string;
12
12
  readonly startLine: number | null;
13
13
  }
14
+ export type ActionlessLogKind = "initialization" | "model_emission";
14
15
  export default class LogBody {
15
16
  #private;
17
+ static weight(row: LogBodyRow, weighContent: (text: string) => number): number;
18
+ static actionlessKind(row: Pick<LogBodyRow, "op" | "attrs">): ActionlessLogKind | null;
16
19
  static resolve(row: LogBodyRow): ResolvedLogBody;
17
20
  }
18
21
  //# sourceMappingURL=LogBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogBody.d.ts","sourceRoot":"","sources":["../../src/core/LogBody.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAYD,MAAM,CAAC,OAAO,OAAO,OAAO;;IAqCxB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAyI/C;CACJ"}
1
+ {"version":3,"file":"LogBody.d.ts","sourceRoot":"","sources":["../../src/core/LogBody.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAYpE,MAAM,CAAC,OAAO,OAAO,OAAO;;IACxB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAG7E;IAsCD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAYrF;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAuI/C;CACJ"}
@@ -6,10 +6,14 @@ const EMPTY_BODY = Object.freeze({
6
6
  startLine: 1,
7
7
  });
8
8
  // The durable log row has one canonical body regardless of how it is consumed.
9
- // Packet rendering projects this body, while READ(log://), FIND(log://), and
9
+ // Packet rendering projects this body, while log READ, log FIND, and
10
10
  // search derivation consume it complete. Storage envelopes and tx/rx placement
11
11
  // are persistence details and must not change what the row means.
12
12
  export default class LogBody {
13
+ static weight(row, weighContent) {
14
+ const { content } = LogBody.resolve(row);
15
+ return content.length === 0 ? 0 : weighContent(content);
16
+ }
13
17
  static #decode(value, mimetype) {
14
18
  if (typeof value !== "string" || mimetype !== "application/json")
15
19
  return value;
@@ -48,6 +52,20 @@ export default class LogBody {
48
52
  startLine: null,
49
53
  };
50
54
  }
55
+ static actionlessKind(row) {
56
+ if (row.op !== null)
57
+ return null;
58
+ const attrs = typeof row.attrs === "string"
59
+ ? LogBody.#decode(row.attrs, "application/json")
60
+ : row.attrs;
61
+ const kind = attrs !== null && typeof attrs === "object"
62
+ ? attrs.kind
63
+ : undefined;
64
+ if (kind !== "initialization" && kind !== "model_emission") {
65
+ throw new TypeError("An actionless log body must carry attrs.kind=initialization or attrs.kind=model_emission.");
66
+ }
67
+ return kind;
68
+ }
51
69
  static resolve(row) {
52
70
  const attrs = typeof row.attrs === "string"
53
71
  ? LogBody.#decode(row.attrs, "application/json")
@@ -56,12 +74,10 @@ export default class LogBody {
56
74
  const rx = LogBody.#decode(row.rx, row.mimetypeRx);
57
75
  const contentBody = LogBody.#contentBody(rx, row.mimetypeRx);
58
76
  if (row.op === null) {
59
- if (attrs === null || typeof attrs !== "object" || attrs.kind !== "model_emission") {
60
- throw new TypeError("An actionless log body must carry attrs.kind=model_emission.");
61
- }
77
+ LogBody.actionlessKind({ op: row.op, attrs });
62
78
  return contentBody ?? EMPTY_BODY;
63
79
  }
64
- if (row.op === "READ" || row.op === "FIND" || row.op === "prompt") {
80
+ if (row.op === "READ" || row.op === "FIND" || row.op === "BARE" || row.op === "prompt") {
65
81
  return contentBody ?? EMPTY_BODY;
66
82
  }
67
83
  if (row.op === "EDIT") {
@@ -1 +1 @@
1
- {"version":3,"file":"LogBody.js","sourceRoot":"","sources":["../../src/core/LogBody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogBody.js","sourceRoot":"","sources":["../../src/core/LogBody.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ interface LogEntryProjectionRow {
2
+ readonly origin?: unknown;
3
+ readonly op?: unknown;
4
+ readonly attrs?: unknown;
5
+ }
6
+ export default class LogEntryProjection {
7
+ #private;
8
+ static op(row: LogEntryProjectionRow): string | null;
9
+ static base(coordinate: string): string;
10
+ static coordinate(coordinate: string, row: LogEntryProjectionRow): string;
11
+ static accepts(suffix: string | null, row: LogEntryProjectionRow): boolean;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=LogEntryProjection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogEntryProjection.d.ts","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC5B;AAKD,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAUnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAOnD;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAIxE;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIzE;CACJ"}
@@ -0,0 +1,38 @@
1
+ // One owner for the model-facing identity of a durable log row. Storage keeps
2
+ // the event that happened; this projection names the operation the model can
3
+ // perform against the resulting row.
4
+ export default class LogEntryProjection {
5
+ static #attrs(value) {
6
+ if (typeof value !== "string")
7
+ return value;
8
+ try {
9
+ return JSON.parse(value);
10
+ }
11
+ catch (cause) {
12
+ throw new TypeError("A durable log row carries malformed attrs JSON.", { cause });
13
+ }
14
+ }
15
+ static op(row) {
16
+ const op = typeof row.op === "string" && row.op.length > 0 ? row.op : null;
17
+ const attrs = LogEntryProjection.#attrs(row.attrs);
18
+ const materializedEntry = row.origin === "plurnk" && op === "EDIT"
19
+ && attrs !== null && typeof attrs === "object"
20
+ && attrs.kind === "entry_materialized";
21
+ return materializedEntry ? "READ" : op;
22
+ }
23
+ static base(coordinate) {
24
+ return coordinate.replace(/\/[A-Za-z]*$/, "");
25
+ }
26
+ static coordinate(coordinate, row) {
27
+ const base = LogEntryProjection.base(coordinate);
28
+ const op = LogEntryProjection.op(row);
29
+ return op === null ? base : `${base}/${op}`;
30
+ }
31
+ static accepts(suffix, row) {
32
+ if (suffix === null)
33
+ return true;
34
+ const op = LogEntryProjection.op(row);
35
+ return op !== null && suffix.toLocaleLowerCase("en-US") === op.toLocaleLowerCase("en-US");
36
+ }
37
+ }
38
+ //# sourceMappingURL=LogEntryProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogEntryProjection.js","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAMA,8EAA8E;AAC9E,6EAA6E;AAC7E,qCAAqC;AACrC,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,MAAM,CAAC,KAAc;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,GAA0B;QAChC,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;eAC3D,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;eAC1C,KAA4B,CAAC,IAAI,KAAK,oBAAoB,CAAC;QACnE,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,UAAkB;QAC1B,OAAO,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAAkB,EAAE,GAA0B;QAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAqB,EAAE,GAA0B;QAC5D,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC;CACJ"}
@@ -0,0 +1,27 @@
1
+ import type { ProviderAttempt, ProviderRequestAccounting, ProviderRequestCapacity, ProviderRequestObserver } from "@plurnk/plurnk-providers";
2
+ import type { Db } from "./Db.ts";
3
+ import type { SchemeResult } from "./results.ts";
4
+ export type ModelCallKind = "emission" | "bare";
5
+ export declare class ModelCallPersistenceError extends Error {
6
+ constructor(message: string, cause: unknown);
7
+ }
8
+ export declare class ProviderAccountingIntegrityError extends Error {
9
+ constructor(message: string);
10
+ }
11
+ export default class ModelCall {
12
+ #private;
13
+ readonly id: number;
14
+ private constructor();
15
+ static open(db: Db, input: {
16
+ turnId: number;
17
+ sequence: number;
18
+ kind: ModelCallKind;
19
+ attributions: readonly string[];
20
+ model: string;
21
+ }): Promise<ModelCall>;
22
+ readonly observeRequest: ProviderRequestObserver;
23
+ assertAccounting(accounting: readonly ProviderRequestAccounting[]): void;
24
+ observeResponse(response: ProviderAttempt, failure?: SchemeResult | null): Promise<void>;
25
+ fail(failure: SchemeResult, capacity?: ProviderRequestCapacity | null): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=ModelCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelCall.d.ts","sourceRoot":"","sources":["../../src/core/ModelCall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAG1C;CACJ;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACvD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACJ;AAKD,MAAM,CAAC,OAAO,OAAO,SAAS;;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAKpB,OAAO,eAGN;IAED,OAAa,IAAI,CACb,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACjB,GACF,OAAO,CAAC,SAAS,CAAC,CAuBpB;IAED,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAkD9C;IAEF,gBAAgB,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,GAAG,IAAI,CAOvE;IAEK,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,GAAE,YAAY,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnG;IAEK,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,GAAE,uBAAuB,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAchG;CACJ"}
@@ -0,0 +1,127 @@
1
+ import { isDeepStrictEqual } from "node:util";
2
+ import { validateProviderRequestAccounting } from "@plurnk/plurnk-providers";
3
+ import { providerRequestSettlementParams, } from "./provider-accounting.js";
4
+ export class ModelCallPersistenceError extends Error {
5
+ constructor(message, cause) {
6
+ super(message, { cause });
7
+ this.name = "ModelCallPersistenceError";
8
+ }
9
+ }
10
+ export class ProviderAccountingIntegrityError extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = "ProviderAccountingIntegrityError";
14
+ }
15
+ }
16
+ // One concurrency-safe logical model-call ledger. A provider may open several
17
+ // ordered physical requests beneath it; no mutable observer state is shared
18
+ // across sibling BARE calls. {§provider-request-accounting} {§bare-inference}
19
+ export default class ModelCall {
20
+ id;
21
+ #db;
22
+ #requestSequence = 0;
23
+ #observedRequests = [];
24
+ constructor(db, id) {
25
+ this.#db = db;
26
+ this.id = id;
27
+ }
28
+ static async open(db, input) {
29
+ let row;
30
+ try {
31
+ row = await db.engine_open_model_call.get({
32
+ turn_id: input.turnId,
33
+ sequence: input.sequence,
34
+ kind: input.kind,
35
+ attributions: JSON.stringify(input.attributions),
36
+ model: input.model,
37
+ });
38
+ }
39
+ catch (cause) {
40
+ throw new ModelCallPersistenceError(`could not open ${input.kind} model call ${input.sequence} for turn ${input.turnId}`, cause);
41
+ }
42
+ if (row === undefined) {
43
+ throw new ModelCallPersistenceError(`could not open ${input.kind} model call ${input.sequence} for turn ${input.turnId}`, new Error("INSERT RETURNING produced no row"));
44
+ }
45
+ return new ModelCall(db, row.id);
46
+ }
47
+ observeRequest = async (identity) => {
48
+ if (identity.provider.length === 0 || identity.model.length === 0) {
49
+ throw new TypeError("provider request identity requires non-empty provider and model names");
50
+ }
51
+ const sequence = ++this.#requestSequence;
52
+ let row;
53
+ try {
54
+ row = await this.#db.engine_open_provider_request.get({
55
+ model_call_id: this.id,
56
+ sequence,
57
+ provider: identity.provider,
58
+ model: identity.model,
59
+ });
60
+ }
61
+ catch (cause) {
62
+ throw new ModelCallPersistenceError(`could not open provider request ${sequence} for model call ${this.id}`, cause);
63
+ }
64
+ if (row === undefined) {
65
+ throw new ModelCallPersistenceError(`provider request ${sequence} for model call ${this.id} did not open`, new Error("INSERT RETURNING produced no row"));
66
+ }
67
+ let settled = false;
68
+ return async (value) => {
69
+ if (settled)
70
+ throw new ProviderAccountingIntegrityError(`provider request ${row.id} was settled more than once`);
71
+ const accounting = validateProviderRequestAccounting(value);
72
+ if (accounting.provider !== identity.provider || accounting.model !== identity.model) {
73
+ throw new ProviderAccountingIntegrityError(`provider request ${row.id} settlement changed its durable identity`);
74
+ }
75
+ try {
76
+ const result = await this.#db.engine_settle_provider_request.run(providerRequestSettlementParams(row.id, accounting));
77
+ if (result.changes !== 1) {
78
+ throw new Error(`provider request ${row.id} was not pending at settlement`);
79
+ }
80
+ }
81
+ catch (cause) {
82
+ throw new ModelCallPersistenceError(`could not settle provider request ${row.id}`, cause);
83
+ }
84
+ settled = true;
85
+ this.#observedRequests.push(accounting);
86
+ };
87
+ };
88
+ assertAccounting(accounting) {
89
+ const returned = accounting.map(validateProviderRequestAccounting);
90
+ if (!isDeepStrictEqual(returned, this.#observedRequests)) {
91
+ throw new ProviderAccountingIntegrityError(`provider accounting for model call ${this.id} does not match the cardinal requests observed by Core`);
92
+ }
93
+ }
94
+ async observeResponse(response, failure = null) {
95
+ const { accounting: _accounting, capacity, ...evidence } = response;
96
+ try {
97
+ const result = await this.#db.engine_observe_model_call_response.run({
98
+ id: this.id,
99
+ response: JSON.stringify(evidence),
100
+ failure: failure === null ? null : JSON.stringify(failure),
101
+ capacity: JSON.stringify(capacity),
102
+ finish_reason: response.assistant.finishReason,
103
+ model: response.assistant.model,
104
+ });
105
+ if (result.changes !== 1)
106
+ throw new Error(`model call ${this.id} was not pending`);
107
+ }
108
+ catch (cause) {
109
+ throw new ModelCallPersistenceError(`could not preserve response for model call ${this.id}`, cause);
110
+ }
111
+ }
112
+ async fail(failure, capacity = null) {
113
+ try {
114
+ const result = await this.#db.engine_fail_model_call.run({
115
+ id: this.id,
116
+ failure: JSON.stringify(failure),
117
+ capacity: capacity === null ? null : JSON.stringify(capacity),
118
+ });
119
+ if (result.changes !== 1)
120
+ throw new Error(`model call ${this.id} was not pending`);
121
+ }
122
+ catch (cause) {
123
+ throw new ModelCallPersistenceError(`could not preserve failure for model call ${this.id}`, cause);
124
+ }
125
+ }
126
+ }
127
+ //# sourceMappingURL=ModelCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelCall.js","sourceRoot":"","sources":["../../src/core/ModelCall.ts"],"names":[],"mappings":"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"}
@@ -2,34 +2,24 @@ import type { Notice } from "@plurnk/plurnk-contracts";
2
2
  import type { Db } from "./Db.ts";
3
3
  import type SchemeRegistry from "./SchemeRegistry.ts";
4
4
  import type ExecutorRegistry from "./ExecutorRegistry.ts";
5
- import type ProblemLog from "./ProblemLog.ts";
6
5
  import type { GitStatus } from "./git-state.ts";
7
6
  import type { RequestPacket } from "./StoredPacket.ts";
8
- import type { ChatMessage, PromptTokenMeasurement, Provider } from "@plurnk/plurnk-providers";
7
+ import type { ChatMessage, Provider } from "@plurnk/plurnk-providers";
9
8
  export type { ChatMessage } from "@plurnk/plurnk-providers";
10
- export type PhysicalPromptAdmission = {
11
- readonly admitted: true;
12
- readonly capacity: number;
13
- readonly measurement: PromptTokenMeasurement;
14
- } | {
15
- readonly admitted: false;
16
- readonly reason: "unknown_context_window" | "unknown_output_envelope" | "estimate" | "over_capacity";
17
- readonly detail: string;
18
- readonly capacity: number | null;
19
- readonly measurement?: PromptTokenMeasurement;
20
- };
9
+ export interface CurationOverflow {
10
+ readonly weight: number;
11
+ readonly budget: number;
12
+ readonly excess: number;
13
+ }
21
14
  export default class PacketBuilder {
22
15
  #private;
23
- constructor({ db, schemes, problems, executors }: {
16
+ constructor({ db, schemes, executors }: {
24
17
  db: Db;
25
18
  schemes: SchemeRegistry;
26
- problems: ProblemLog;
27
19
  executors: () => ExecutorRegistry | undefined;
28
20
  });
29
- maxTokensFor(provider: Provider): number | null;
30
- promptBudgetFor(provider: Provider): number | null;
31
- ceilingFor(provider: Provider): number | null;
32
- buildRequestPacket({ initialMessages, requirements, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, }: {
21
+ curationBudgetFor(provider: Provider): number | null;
22
+ buildRequestPacket({ initialMessages, requirements, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, promptProjection, }: {
33
23
  initialMessages: ChatMessage[];
34
24
  requirements?: string;
35
25
  gitStatus: GitStatus | null;
@@ -40,26 +30,25 @@ export default class PacketBuilder {
40
30
  provider: Provider;
41
31
  notices?: readonly Notice[];
42
32
  transientOpenLogEntryId?: number | null;
33
+ promptProjection?: "automatic" | "withheld";
43
34
  }): Promise<RequestPacket>;
44
35
  docEntries(workspaceId: number): Promise<Array<{
45
36
  name: string;
46
37
  content: string;
47
38
  }>>;
48
- enforceBudget({ packet, provider, workerId, loopId, turnId, mintSequence, rebuild }: {
39
+ enforceBudget({ packet, provider, loopId, turnId, recordOverflow, rebuild }: {
49
40
  packet: RequestPacket;
50
41
  provider: Provider;
51
- workerId: number;
52
42
  loopId: number;
53
43
  turnId: number;
54
- mintSequence: number;
44
+ recordOverflow: (overflow: CurationOverflow) => Promise<void>;
55
45
  rebuild: () => Promise<RequestPacket>;
56
46
  }): Promise<{
57
47
  packet: RequestPacket;
58
48
  fit: boolean;
59
- struck: boolean;
60
- recorded: boolean;
49
+ boundaryRolledBack: boolean;
61
50
  }>;
62
- physicalAdmission(packet: RequestPacket, provider: Provider, signal?: AbortSignal): Promise<PhysicalPromptAdmission>;
51
+ rollbackNewestBoundary(loopId: number, turnId: number): Promise<void>;
63
52
  buildFailurePointers(loopId: number, currentTurnSeq: number): Promise<Array<{
64
53
  status: number;
65
54
  coordinate: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}