@plurnk/plurnk-service 1.5.0 → 1.6.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 (201) hide show
  1. package/.env.defaults +21 -12
  2. package/INSTALL.md +11 -7
  3. package/SPEC.md +437 -304
  4. package/dist/build-info.json +1 -1
  5. package/dist/content/edit-collision.d.ts +5 -0
  6. package/dist/content/edit-collision.d.ts.map +1 -0
  7. package/dist/content/edit-collision.js +14 -0
  8. package/dist/content/edit-collision.js.map +1 -0
  9. package/dist/content/edit-receipt.d.ts +3 -2
  10. package/dist/content/edit-receipt.d.ts.map +1 -1
  11. package/dist/content/edit-receipt.js +58 -13
  12. package/dist/content/edit-receipt.js.map +1 -1
  13. package/dist/content/index.d.ts +4 -1
  14. package/dist/content/index.d.ts.map +1 -1
  15. package/dist/content/index.js +3 -1
  16. package/dist/content/index.js.map +1 -1
  17. package/dist/content/line-anchors.d.ts +41 -0
  18. package/dist/content/line-anchors.d.ts.map +1 -0
  19. package/dist/content/line-anchors.js +191 -0
  20. package/dist/content/line-anchors.js.map +1 -0
  21. package/dist/content/read-projector.d.ts +7 -1
  22. package/dist/content/read-projector.d.ts.map +1 -1
  23. package/dist/content/read-projector.js +46 -10
  24. package/dist/content/read-projector.js.map +1 -1
  25. package/dist/content/read-resolve.js +3 -3
  26. package/dist/content/read-resolve.js.map +1 -1
  27. package/dist/core/BudgetReadout.d.ts.map +1 -1
  28. package/dist/core/BudgetReadout.js +9 -2
  29. package/dist/core/BudgetReadout.js.map +1 -1
  30. package/dist/core/ChannelWrite.js +1 -1
  31. package/dist/core/ChannelWrite.js.map +1 -1
  32. package/dist/core/Dispatcher.d.ts +13 -3
  33. package/dist/core/Dispatcher.d.ts.map +1 -1
  34. package/dist/core/Dispatcher.js +391 -113
  35. package/dist/core/Dispatcher.js.map +1 -1
  36. package/dist/core/DurableStatement.d.ts.map +1 -1
  37. package/dist/core/DurableStatement.js +2 -0
  38. package/dist/core/DurableStatement.js.map +1 -1
  39. package/dist/core/Engine.d.ts +13 -14
  40. package/dist/core/Engine.d.ts.map +1 -1
  41. package/dist/core/Engine.js +434 -300
  42. package/dist/core/Engine.js.map +1 -1
  43. package/dist/core/Engine.sql +156 -90
  44. package/dist/core/ExecutableTools.d.ts +10 -0
  45. package/dist/core/ExecutableTools.d.ts.map +1 -0
  46. package/dist/core/ExecutableTools.js +41 -0
  47. package/dist/core/ExecutableTools.js.map +1 -0
  48. package/dist/core/ExecutorRegistry.d.ts +3 -3
  49. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  50. package/dist/core/ExecutorRegistry.js +2 -2
  51. package/dist/core/ExecutorRegistry.js.map +1 -1
  52. package/dist/core/LogBody.d.ts +2 -0
  53. package/dist/core/LogBody.d.ts.map +1 -1
  54. package/dist/core/LogBody.js +17 -5
  55. package/dist/core/LogBody.js.map +1 -1
  56. package/dist/core/LogEntryProjection.d.ts +14 -0
  57. package/dist/core/LogEntryProjection.d.ts.map +1 -0
  58. package/dist/core/LogEntryProjection.js +38 -0
  59. package/dist/core/LogEntryProjection.js.map +1 -0
  60. package/dist/core/ModelCall.d.ts +27 -0
  61. package/dist/core/ModelCall.d.ts.map +1 -0
  62. package/dist/core/ModelCall.js +125 -0
  63. package/dist/core/ModelCall.js.map +1 -0
  64. package/dist/core/PacketBuilder.d.ts +10 -10
  65. package/dist/core/PacketBuilder.d.ts.map +1 -1
  66. package/dist/core/PacketBuilder.js +131 -103
  67. package/dist/core/PacketBuilder.js.map +1 -1
  68. package/dist/core/ProblemLog.d.ts.map +1 -1
  69. package/dist/core/ProblemLog.js +1 -0
  70. package/dist/core/ProblemLog.js.map +1 -1
  71. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  72. package/dist/core/ProposalLifecycle.js +3 -4
  73. package/dist/core/ProposalLifecycle.js.map +1 -1
  74. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  75. package/dist/core/ProviderInstantiate.js +23 -6
  76. package/dist/core/ProviderInstantiate.js.map +1 -1
  77. package/dist/core/SchemeRegistry.js +7 -7
  78. package/dist/core/SchemeRegistry.js.map +1 -1
  79. package/dist/core/StrikeRail.d.ts +0 -1
  80. package/dist/core/StrikeRail.d.ts.map +1 -1
  81. package/dist/core/StrikeRail.js +6 -4
  82. package/dist/core/StrikeRail.js.map +1 -1
  83. package/dist/core/caps/CapsResolve.js +1 -1
  84. package/dist/core/caps/CapsResolve.js.map +1 -1
  85. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  86. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  87. package/dist/core/caps/DbEntryCaps.js +8 -5
  88. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  89. package/dist/core/caps/DbProjectionCaps.d.ts +1 -0
  90. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
  91. package/dist/core/caps/DbProjectionCaps.js +29 -0
  92. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  93. package/dist/core/caps/SchemeCtxImpl.d.ts +5 -2
  94. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  95. package/dist/core/caps/SchemeCtxImpl.js +6 -4
  96. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  97. package/dist/core/fork.d.ts.map +1 -1
  98. package/dist/core/fork.js +23 -7
  99. package/dist/core/fork.js.map +1 -1
  100. package/dist/core/fork.sql +33 -12
  101. package/dist/core/git-membership.d.ts.map +1 -1
  102. package/dist/core/git-membership.js +1 -2
  103. package/dist/core/git-membership.js.map +1 -1
  104. package/dist/core/git-state.js +1 -1
  105. package/dist/core/git-state.js.map +1 -1
  106. package/dist/core/packet-wire.d.ts +4 -1
  107. package/dist/core/packet-wire.d.ts.map +1 -1
  108. package/dist/core/packet-wire.js +248 -90
  109. package/dist/core/packet-wire.js.map +1 -1
  110. package/dist/core/provider-accounting.d.ts +24 -0
  111. package/dist/core/provider-accounting.d.ts.map +1 -0
  112. package/dist/core/provider-accounting.js +76 -0
  113. package/dist/core/provider-accounting.js.map +1 -0
  114. package/dist/core/search-gate.d.ts +2 -2
  115. package/dist/core/search-gate.d.ts.map +1 -1
  116. package/dist/core/search-gate.js +8 -8
  117. package/dist/core/search-gate.js.map +1 -1
  118. package/dist/core/token-ruler.js +1 -1
  119. package/dist/core/token-ruler.js.map +1 -1
  120. package/dist/core/turn-scheduler.js +1 -1
  121. package/dist/core/turn-scheduler.js.map +1 -1
  122. package/dist/digest/Digest.d.ts.map +1 -1
  123. package/dist/digest/Digest.js +220 -109
  124. package/dist/digest/Digest.js.map +1 -1
  125. package/dist/digest/digest.sql +40 -18
  126. package/dist/schemes/Exec.d.ts.map +1 -1
  127. package/dist/schemes/Exec.js +111 -101
  128. package/dist/schemes/Exec.js.map +1 -1
  129. package/dist/schemes/File.d.ts +5 -4
  130. package/dist/schemes/File.d.ts.map +1 -1
  131. package/dist/schemes/File.js +24 -22
  132. package/dist/schemes/File.js.map +1 -1
  133. package/dist/schemes/Log.d.ts +11 -0
  134. package/dist/schemes/Log.d.ts.map +1 -1
  135. package/dist/schemes/Log.js +171 -106
  136. package/dist/schemes/Log.js.map +1 -1
  137. package/dist/schemes/Log.sql +48 -32
  138. package/dist/schemes/Prompt.d.ts +3 -3
  139. package/dist/schemes/Prompt.d.ts.map +1 -1
  140. package/dist/schemes/Prompt.js +4 -1
  141. package/dist/schemes/Prompt.js.map +1 -1
  142. package/dist/schemes/Skill.d.ts +4 -4
  143. package/dist/schemes/Skill.d.ts.map +1 -1
  144. package/dist/schemes/Skill.js +3 -0
  145. package/dist/schemes/Skill.js.map +1 -1
  146. package/dist/schemes/Worker.d.ts +4 -4
  147. package/dist/schemes/Worker.d.ts.map +1 -1
  148. package/dist/schemes/Worker.js +9 -5
  149. package/dist/schemes/Worker.js.map +1 -1
  150. package/dist/schemes/_entry-crud.d.ts +0 -1
  151. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  152. package/dist/schemes/_entry-crud.js +15 -9
  153. package/dist/schemes/_entry-crud.js.map +1 -1
  154. package/dist/schemes/_entry-crud.sql +2 -14
  155. package/dist/schemes/_entry-find.d.ts +13 -12
  156. package/dist/schemes/_entry-find.d.ts.map +1 -1
  157. package/dist/schemes/_entry-find.js +33 -28
  158. package/dist/schemes/_entry-find.js.map +1 -1
  159. package/dist/schemes/_entry-find.sql +2 -21
  160. package/dist/schemes/_entry-graph.sql +1 -1
  161. package/dist/schemes/_entry-manifest.d.ts +5 -17
  162. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  163. package/dist/schemes/_entry-manifest.js +28 -24
  164. package/dist/schemes/_entry-manifest.js.map +1 -1
  165. package/dist/schemes/_entry-ops.d.ts +5 -4
  166. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  167. package/dist/schemes/_entry-ops.js +87 -47
  168. package/dist/schemes/_entry-ops.js.map +1 -1
  169. package/dist/schemes/_entry-ops.sql +30 -4
  170. package/dist/schemes/_entry-send.js +4 -4
  171. package/dist/schemes/_entry-send.js.map +1 -1
  172. package/dist/schemes/_search-index.d.ts.map +1 -1
  173. package/dist/schemes/_search-index.js +10 -2
  174. package/dist/schemes/_search-index.js.map +1 -1
  175. package/dist/schemes/exec-abort.js +2 -2
  176. package/dist/schemes/exec-abort.js.map +1 -1
  177. package/dist/server/Daemon.d.ts +1 -1
  178. package/dist/server/Daemon.d.ts.map +1 -1
  179. package/dist/server/Daemon.js +25 -23
  180. package/dist/server/Daemon.js.map +1 -1
  181. package/dist/server/drain.sql +2 -2
  182. package/dist/server/envelope.d.ts +0 -2
  183. package/dist/server/envelope.d.ts.map +1 -1
  184. package/dist/server/envelope.js.map +1 -1
  185. package/dist/server/envelope.sql +2 -2
  186. package/dist/server/lifecycle-recovery.sql +25 -15
  187. package/dist/server/logEntry.d.ts +1 -0
  188. package/dist/server/logEntry.d.ts.map +1 -1
  189. package/dist/server/logEntry.js +13 -1
  190. package/dist/server/logEntry.js.map +1 -1
  191. package/dist/server/logEntry.sql +5 -1
  192. package/migrations/001_schema.sql +603 -207
  193. package/package.json +39 -34
  194. package/dist/core/BudgetOverflow.d.ts +0 -20
  195. package/dist/core/BudgetOverflow.d.ts.map +0 -1
  196. package/dist/core/BudgetOverflow.js +0 -49
  197. package/dist/core/BudgetOverflow.js.map +0 -1
  198. package/dist/core/caps/DbTagCaps.d.ts +0 -10
  199. package/dist/core/caps/DbTagCaps.d.ts.map +0 -1
  200. package/dist/core/caps/DbTagCaps.js +0 -46
  201. package/dist/core/caps/DbTagCaps.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-service",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -43,10 +43,15 @@
43
43
  "test:lint": "npm run types:sqlrite:check && tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
44
44
  "test:unit": "node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-timeout=30000 scripts/*.test.mjs src/**/*.test.ts",
45
45
  "test:intg": "PLURNK_SERVICE_FILES_ITEMS=0 node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-concurrency=8 --test-timeout=30000 test/intg/*.test.ts",
46
+ "build:rail": "npm run build:gbnf -w @plurnk/plurnk-contracts",
47
+ "pretest:live": "npm run build:rail",
46
48
  "test:live": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/live.mjs",
49
+ "pretest:live:specimen": "npm run build:rail",
47
50
  "test:live:specimen": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/live.mjs --specimen",
48
51
  "test:live:zeropin": "PLURNK_ZERO_PIN=1 npm run test:live",
52
+ "pretest:demo": "npm run build:rail",
49
53
  "test:demo": "bash ../scripts/operator-environment.sh env PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=$HOME/.plurnk/.env --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
54
+ "pretest:demo:zeropin": "npm run build:rail",
50
55
  "test:demo:zeropin": "bash ../scripts/operator-environment.sh env PLURNK_ZERO_PIN=1 PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=$HOME/.plurnk/.env --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
51
56
  "test:benchlet": "node scripts/benchlet.mjs",
52
57
  "fixture:demo": "node --conditions=plurnk-dev test/demo/_fixture.ts",
@@ -77,42 +82,42 @@
77
82
  "@opentelemetry/resources": "^2.10.0",
78
83
  "@opentelemetry/sdk-metrics": "^2.10.0",
79
84
  "@opentelemetry/sdk-trace-base": "^2.10.0",
80
- "@plurnk/gbnf": "1.5.0",
81
- "@plurnk/plurnk-agui": "1.5.0",
82
- "@plurnk/plurnk-contracts": "1.5.0",
83
- "@plurnk/plurnk-execs": "1.5.0",
84
- "@plurnk/plurnk-execs-common": "1.5.0",
85
- "@plurnk/plurnk-execs-git": "1.5.0",
86
- "@plurnk/plurnk-execs-jq": "1.5.0",
87
- "@plurnk/plurnk-execs-search": "1.5.0",
88
- "@plurnk/plurnk-execs-sqlite": "1.5.0",
89
- "@plurnk/plurnk-execs-wasm": "1.5.0",
90
- "@plurnk/plurnk-hooks": "1.5.0",
91
- "@plurnk/plurnk-mcp": "1.5.0",
92
- "@plurnk/plurnk-meta": "1.5.0",
93
- "@plurnk/plurnk-mimetypes": "1.5.0",
94
- "@plurnk/plurnk-mimetypes-application-ipynb": "1.5.0",
95
- "@plurnk/plurnk-mimetypes-application-json": "1.5.0",
96
- "@plurnk/plurnk-mimetypes-application-jsonl": "1.5.0",
97
- "@plurnk/plurnk-mimetypes-application-pdf": "1.5.0",
98
- "@plurnk/plurnk-mimetypes-application-xml": "1.5.0",
99
- "@plurnk/plurnk-mimetypes-embeddings": "1.5.0",
100
- "@plurnk/plurnk-mimetypes-text-csv": "1.5.0",
101
- "@plurnk/plurnk-mimetypes-text-diff": "1.5.0",
102
- "@plurnk/plurnk-mimetypes-text-dotenv": "1.5.0",
103
- "@plurnk/plurnk-mimetypes-text-html": "1.5.0",
104
- "@plurnk/plurnk-mimetypes-text-ini": "1.5.0",
105
- "@plurnk/plurnk-mimetypes-text-markdown": "1.5.0",
106
- "@plurnk/plurnk-mimetypes-text-plain": "1.5.0",
107
- "@plurnk/plurnk-mimetypes-tokenizers": "1.5.0",
108
- "@plurnk/plurnk-models": "1.5.0",
109
- "@plurnk/plurnk-providers": "1.5.0",
110
- "@plurnk/plurnk-schemes": "1.5.0",
111
- "@plurnk/plurnk-schemes-http": "1.5.0",
85
+ "@plurnk/gbnf": "1.6.0",
86
+ "@plurnk/plurnk-agui": "1.6.0",
87
+ "@plurnk/plurnk-contracts": "1.6.0",
88
+ "@plurnk/plurnk-execs": "1.6.0",
89
+ "@plurnk/plurnk-execs-common": "1.6.0",
90
+ "@plurnk/plurnk-execs-git": "1.6.0",
91
+ "@plurnk/plurnk-execs-jq": "1.6.0",
92
+ "@plurnk/plurnk-execs-search": "1.6.0",
93
+ "@plurnk/plurnk-execs-sqlite": "1.6.0",
94
+ "@plurnk/plurnk-execs-wasm": "1.6.0",
95
+ "@plurnk/plurnk-hooks": "1.6.0",
96
+ "@plurnk/plurnk-mcp": "1.6.0",
97
+ "@plurnk/plurnk-meta": "1.6.0",
98
+ "@plurnk/plurnk-mimetypes": "1.6.0",
99
+ "@plurnk/plurnk-mimetypes-application-ipynb": "1.6.0",
100
+ "@plurnk/plurnk-mimetypes-application-json": "1.6.0",
101
+ "@plurnk/plurnk-mimetypes-application-jsonl": "1.6.0",
102
+ "@plurnk/plurnk-mimetypes-application-pdf": "1.6.0",
103
+ "@plurnk/plurnk-mimetypes-application-xml": "1.6.0",
104
+ "@plurnk/plurnk-mimetypes-embeddings": "1.6.0",
105
+ "@plurnk/plurnk-mimetypes-text-csv": "1.6.0",
106
+ "@plurnk/plurnk-mimetypes-text-diff": "1.6.0",
107
+ "@plurnk/plurnk-mimetypes-text-dotenv": "1.6.0",
108
+ "@plurnk/plurnk-mimetypes-text-html": "1.6.0",
109
+ "@plurnk/plurnk-mimetypes-text-ini": "1.6.0",
110
+ "@plurnk/plurnk-mimetypes-text-markdown": "1.6.0",
111
+ "@plurnk/plurnk-mimetypes-text-plain": "1.6.0",
112
+ "@plurnk/plurnk-mimetypes-tokenizers": "1.6.0",
113
+ "@plurnk/plurnk-models": "1.6.0",
114
+ "@plurnk/plurnk-providers": "1.6.0",
115
+ "@plurnk/plurnk-schemes": "1.6.0",
116
+ "@plurnk/plurnk-schemes-http": "1.6.0",
112
117
  "@possumtech/sqlrite": "^6.5.2",
113
118
  "diff": "^9.0.0",
114
119
  "ignore": "7.0.6",
115
- "isomorphic-git": "1.41.3"
120
+ "isomorphic-git": "1.41.4"
116
121
  },
117
122
  "devDependencies": {
118
123
  "@opentelemetry/core": "^2.10.0",
@@ -1,20 +0,0 @@
1
- import { type OperationResult } from "@plurnk/plurnk-contracts";
2
- export interface BudgetOverflowMeasurement {
3
- readonly usage: number;
4
- readonly ceiling: number;
5
- readonly deficit: number;
6
- }
7
- export interface BudgetOverflowPhysicalFailure {
8
- readonly reason: string;
9
- readonly detail: string;
10
- readonly capacity: number | null;
11
- readonly tokens?: number;
12
- readonly tokenKind?: string;
13
- readonly tokenSource?: string;
14
- }
15
- export default class BudgetOverflow {
16
- static measure(usage: number, ceiling: number): BudgetOverflowMeasurement;
17
- static result(usage: number, ceiling: number, recovery: boolean, physical?: BudgetOverflowPhysicalFailure): OperationResult;
18
- static foldedResult(usage: number, ceiling: number): OperationResult;
19
- }
20
- //# sourceMappingURL=BudgetOverflow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BudgetOverflow.d.ts","sourceRoot":"","sources":["../../src/core/BudgetOverflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAMxE;IAED,MAAM,CAAC,MAAM,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,6BAA6B,GACzC,eAAe,CA8BjB;IAED,MAAM,CAAC,YAAY,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,eAAe,CAmBjB;CACJ"}
@@ -1,49 +0,0 @@
1
- import { Problems, Validator, } from "@plurnk/plurnk-contracts";
2
- const formatTokens = (tokens) => tokens.toLocaleString("en-US");
3
- export default class BudgetOverflow {
4
- static measure(usage, ceiling) {
5
- return {
6
- usage,
7
- ceiling,
8
- deficit: Math.max(0, usage - ceiling),
9
- };
10
- }
11
- static result(usage, ceiling, recovery, physical) {
12
- const measurement = BudgetOverflow.measure(usage, ceiling);
13
- const physicalDetail = physical === undefined
14
- ? ""
15
- : ` Physical recovery was not admitted: ${physical.detail}.`;
16
- return Validator.assertOperationResult({
17
- status: 413,
18
- problem: Problems.create("engine:grinder", "budget-overflow", 413, `At overflow detection, Token Usage ${formatTokens(measurement.usage)} exceeds Token Ceiling ${formatTokens(measurement.ceiling)} by ${formatTokens(measurement.deficit)}. No working room remains.${physicalDetail}`, {
19
- ...measurement,
20
- stage: "overflow-detection",
21
- retryable: false,
22
- ...(physical === undefined ? {} : {
23
- physicalAdmission: physical.reason,
24
- physicalCapacity: physical.capacity,
25
- ...(physical.tokens === undefined ? {} : { physicalTokens: physical.tokens }),
26
- ...(physical.tokenKind === undefined ? {} : { physicalTokenKind: physical.tokenKind }),
27
- ...(physical.tokenSource === undefined ? {} : { physicalTokenSource: physical.tokenSource }),
28
- }),
29
- ...(recovery ? {
30
- recovery: "Restore working room before the next turn: FOLD or KILL irrelevant log items, or use smaller retrieval ranges.",
31
- } : {}),
32
- }, { title: "Prompt budget exceeded" }),
33
- });
34
- }
35
- static foldedResult(usage, ceiling) {
36
- const measurement = BudgetOverflow.measure(usage, ceiling);
37
- return Validator.assertOperationResult({
38
- status: 413,
39
- problem: Problems.create("engine:grinder", "budget-overflow", 413, `At overflow detection, Token Usage ${formatTokens(measurement.usage)} exceeded Token Ceiling ${formatTokens(measurement.ceiling)} by ${formatTokens(measurement.deficit)}. The newest open log items were FOLDed, and the rebuilt packet now fits.`, {
40
- ...measurement,
41
- stage: "overflow-detection",
42
- resolution: "newest-log-items-folded",
43
- recovery: "Keep irrelevant log items FOLDed or KILL them, and use smaller retrieval ranges.",
44
- retryable: false,
45
- }, { title: "Prompt budget exceeded" }),
46
- });
47
- }
48
- }
49
- //# sourceMappingURL=BudgetOverflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BudgetOverflow.js","sourceRoot":"","sources":["../../src/core/BudgetOverflow.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { type SchemeResult, type TagCaps, type TagListResult } from "@plurnk/plurnk-schemes";
2
- import type { PlurnkSchemeContext } from "../scheme-types.ts";
3
- export default class DbTagCaps implements TagCaps {
4
- #private;
5
- constructor(ctx: PlurnkSchemeContext, scheme: string, ownerId?: number);
6
- add(pathname: string, tags: ReadonlyArray<string>): Promise<SchemeResult>;
7
- remove(pathname: string, tags: ReadonlyArray<string>): Promise<SchemeResult>;
8
- list(pathname: string): Promise<TagListResult>;
9
- }
10
- //# sourceMappingURL=DbTagCaps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DbTagCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbTagCaps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAW,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,OAAO;;IAK7C,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAIrE;IAcK,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAK9E;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAKjF;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKnD;CACJ"}
@@ -1,46 +0,0 @@
1
- // Db-backed implementation of the tag namespace in plurnk-schemes
2
- // {§capability-ctx}.
3
- // add/remove/list folksonomic tags on an entry, addressed by pathname. add is
4
- // INSERT OR IGNORE (idempotent — re-adding a tag is a no-op); list returns them
5
- // tag-sorted; remove drops the named tags. Absent entry → 404.
6
- import { Results } from "@plurnk/plurnk-schemes";
7
- import CapsResolve from "./CapsResolve.js";
8
- import { renderAddress } from "../plurnk-uri.js";
9
- export default class DbTagCaps {
10
- #ctx;
11
- #scheme;
12
- #ownerId;
13
- constructor(ctx, scheme, ownerId) {
14
- this.#ctx = ctx;
15
- this.#scheme = scheme;
16
- this.#ownerId = ownerId;
17
- }
18
- #missing(pathname, fields = {}) {
19
- const target = renderAddress(this.#scheme, pathname);
20
- return Results.failure(`scheme:${this.#scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, fields, { target });
21
- }
22
- async add(pathname, tags) {
23
- const entryId = await CapsResolve.entryId(this.#ctx, this.#scheme, pathname, this.#ownerId);
24
- if (entryId === null)
25
- return this.#missing(pathname);
26
- for (const tag of tags)
27
- await this.#ctx.db.crud_write_tag.run({ entry_id: entryId, tag });
28
- return Results.assert({ status: 200 });
29
- }
30
- async remove(pathname, tags) {
31
- const entryId = await CapsResolve.entryId(this.#ctx, this.#scheme, pathname, this.#ownerId);
32
- if (entryId === null)
33
- return this.#missing(pathname);
34
- for (const tag of tags)
35
- await this.#ctx.db.crud_delete_tag.run({ entry_id: entryId, tag });
36
- return Results.assert({ status: 200 });
37
- }
38
- async list(pathname) {
39
- const entryId = await CapsResolve.entryId(this.#ctx, this.#scheme, pathname, this.#ownerId);
40
- if (entryId === null)
41
- return this.#missing(pathname, { tags: [] });
42
- const rows = await this.#ctx.db.crud_read_tags.all({ entry_id: entryId });
43
- return Results.assert({ status: 200, tags: rows.map((r) => r.tag) });
44
- }
45
- }
46
- //# sourceMappingURL=DbTagCaps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DbTagCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbTagCaps.ts"],"names":[],"mappings":"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"}