@plurnk/plurnk-service 1.28.0 → 2.0.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 (253) hide show
  1. package/.env.defaults +7 -18
  2. package/INSTALL.md +65 -15
  3. package/README.md +8 -5
  4. package/SPEC.md +217 -449
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/body-preview.d.ts +5 -0
  7. package/dist/content/body-preview.d.ts.map +1 -1
  8. package/dist/content/body-preview.js +25 -0
  9. package/dist/content/body-preview.js.map +1 -1
  10. package/dist/content/line-marker.js +1 -1
  11. package/dist/content/line-marker.js.map +1 -1
  12. package/dist/content/path-mimetype.js +1 -1
  13. package/dist/content/path-mimetype.js.map +1 -1
  14. package/dist/core/AdmittedTurnExecutor.d.ts +4 -3
  15. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  16. package/dist/core/AdmittedTurnExecutor.js +19 -17
  17. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  18. package/dist/core/BareBatchRunner.d.ts +2 -2
  19. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  20. package/dist/core/BareBatchRunner.js.map +1 -1
  21. package/dist/core/ChannelWrite.d.ts +5 -0
  22. package/dist/core/ChannelWrite.d.ts.map +1 -1
  23. package/dist/core/ChannelWrite.js +5 -0
  24. package/dist/core/ChannelWrite.js.map +1 -1
  25. package/dist/core/ChannelWrite.sql +10 -0
  26. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  27. package/dist/core/DataStatementRunner.js +8 -3
  28. package/dist/core/DataStatementRunner.js.map +1 -1
  29. package/dist/core/Dispatcher.d.ts +2 -2
  30. package/dist/core/Dispatcher.d.ts.map +1 -1
  31. package/dist/core/Dispatcher.js +21 -15
  32. package/dist/core/Dispatcher.js.map +1 -1
  33. package/dist/core/Engine.d.ts +1 -1
  34. package/dist/core/Engine.d.ts.map +1 -1
  35. package/dist/core/Engine.js +1 -1
  36. package/dist/core/Engine.js.map +1 -1
  37. package/dist/core/ExecutorRegistry.d.ts +3 -17
  38. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  39. package/dist/core/ExecutorRegistry.js +6 -6
  40. package/dist/core/ExecutorRegistry.js.map +1 -1
  41. package/dist/core/HostPaths.d.ts +2 -0
  42. package/dist/core/HostPaths.d.ts.map +1 -1
  43. package/dist/core/HostPaths.js +14 -0
  44. package/dist/core/HostPaths.js.map +1 -1
  45. package/dist/core/KillHandler.d.ts.map +1 -1
  46. package/dist/core/KillHandler.js +9 -3
  47. package/dist/core/KillHandler.js.map +1 -1
  48. package/dist/core/PacketBuilder.d.ts.map +1 -1
  49. package/dist/core/PacketBuilder.js +8 -2
  50. package/dist/core/PacketBuilder.js.map +1 -1
  51. package/dist/core/ResourceSelector.d.ts.map +1 -1
  52. package/dist/core/ResourceSelector.js +4 -2
  53. package/dist/core/ResourceSelector.js.map +1 -1
  54. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  55. package/dist/core/ResourceTransfers.js +2 -2
  56. package/dist/core/ResourceTransfers.js.map +1 -1
  57. package/dist/core/SchemeRegistry.d.ts +5 -4
  58. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  59. package/dist/core/SchemeRegistry.js +9 -9
  60. package/dist/core/SchemeRegistry.js.map +1 -1
  61. package/dist/core/ToolResources.js +5 -5
  62. package/dist/core/ToolResources.js.map +1 -1
  63. package/dist/core/Turn.js +1 -1
  64. package/dist/core/Turn.js.map +1 -1
  65. package/dist/core/TurnOps.d.ts +1 -1
  66. package/dist/core/TurnOps.d.ts.map +1 -1
  67. package/dist/core/TurnOps.js +4 -12
  68. package/dist/core/TurnOps.js.map +1 -1
  69. package/dist/core/TurnRunner.d.ts +1 -2
  70. package/dist/core/TurnRunner.d.ts.map +1 -1
  71. package/dist/core/TurnRunner.js +11 -24
  72. package/dist/core/TurnRunner.js.map +1 -1
  73. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  74. package/dist/core/WorkerControlHandler.js +5 -1
  75. package/dist/core/WorkerControlHandler.js.map +1 -1
  76. package/dist/core/caps/DbNotifyCaps.js +2 -2
  77. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  78. package/dist/core/caps/DbProjectionCaps.js +1 -1
  79. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  80. package/dist/core/env-defaults.d.ts +2 -1
  81. package/dist/core/env-defaults.d.ts.map +1 -1
  82. package/dist/core/env-defaults.js +17 -9
  83. package/dist/core/env-defaults.js.map +1 -1
  84. package/dist/core/packet-wire.d.ts +1 -2
  85. package/dist/core/packet-wire.d.ts.map +1 -1
  86. package/dist/core/packet-wire.js +9 -6
  87. package/dist/core/packet-wire.js.map +1 -1
  88. package/dist/core/plurnk-uri.d.ts +7 -0
  89. package/dist/core/plurnk-uri.d.ts.map +1 -1
  90. package/dist/core/plurnk-uri.js +21 -0
  91. package/dist/core/plurnk-uri.js.map +1 -1
  92. package/dist/core/unregistered-scheme.d.ts +4 -0
  93. package/dist/core/unregistered-scheme.d.ts.map +1 -0
  94. package/dist/core/unregistered-scheme.js +14 -0
  95. package/dist/core/unregistered-scheme.js.map +1 -0
  96. package/dist/evidence/EvidenceReader.d.ts +14 -0
  97. package/dist/evidence/EvidenceReader.d.ts.map +1 -0
  98. package/dist/evidence/EvidenceReader.js +134 -0
  99. package/dist/evidence/EvidenceReader.js.map +1 -0
  100. package/dist/index.d.ts +0 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +2 -4
  103. package/dist/index.js.map +1 -1
  104. package/dist/schemes/Exec.d.ts.map +1 -1
  105. package/dist/schemes/Exec.js +17 -6
  106. package/dist/schemes/Exec.js.map +1 -1
  107. package/dist/schemes/ExecOutputScheme.d.ts +1 -1
  108. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  109. package/dist/schemes/File.d.ts.map +1 -1
  110. package/dist/schemes/File.js +11 -6
  111. package/dist/schemes/File.js.map +1 -1
  112. package/dist/schemes/Log.d.ts.map +1 -1
  113. package/dist/schemes/Log.js +49 -5
  114. package/dist/schemes/Log.js.map +1 -1
  115. package/dist/schemes/{Skill.d.ts → ResourceTreeScheme.d.ts} +5 -6
  116. package/dist/schemes/ResourceTreeScheme.d.ts.map +1 -0
  117. package/dist/schemes/{Skill.js → ResourceTreeScheme.js} +63 -43
  118. package/dist/schemes/ResourceTreeScheme.js.map +1 -0
  119. package/dist/schemes/Worker.js +1 -1
  120. package/dist/schemes/Worker.js.map +1 -1
  121. package/dist/schemes/_entry-crud.js +9 -9
  122. package/dist/schemes/_entry-crud.js.map +1 -1
  123. package/dist/schemes/_entry-crud.sql +1 -1
  124. package/dist/schemes/_entry-find.js +5 -5
  125. package/dist/schemes/_entry-find.js.map +1 -1
  126. package/dist/schemes/_entry-find.sql +1 -1
  127. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  128. package/dist/schemes/_entry-fts.js +7 -3
  129. package/dist/schemes/_entry-fts.js.map +1 -1
  130. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  131. package/dist/schemes/_entry-manifest.js +3 -5
  132. package/dist/schemes/_entry-manifest.js.map +1 -1
  133. package/dist/schemes/_entry-ops.js +4 -4
  134. package/dist/schemes/_entry-ops.js.map +1 -1
  135. package/dist/server/AgentRoots.d.ts +2 -1
  136. package/dist/server/AgentRoots.d.ts.map +1 -1
  137. package/dist/server/AgentRoots.js +13 -10
  138. package/dist/server/AgentRoots.js.map +1 -1
  139. package/dist/server/ConfigurationDiagnostics.d.ts +4 -3
  140. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  141. package/dist/server/ConfigurationDiagnostics.js +15 -8
  142. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  143. package/dist/server/Daemon.d.ts +13 -8
  144. package/dist/server/Daemon.d.ts.map +1 -1
  145. package/dist/server/Daemon.js +91 -49
  146. package/dist/server/Daemon.js.map +1 -1
  147. package/dist/server/EnvFunctionality.d.ts +2 -2
  148. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  149. package/dist/server/EnvFunctionality.js +2 -2
  150. package/dist/server/EnvFunctionality.js.map +1 -1
  151. package/dist/server/Functionality.d.ts +3 -2
  152. package/dist/server/Functionality.d.ts.map +1 -1
  153. package/dist/server/Functionality.js +1 -1
  154. package/dist/server/Functionality.js.map +1 -1
  155. package/dist/server/HttpListener.d.ts +2 -0
  156. package/dist/server/HttpListener.d.ts.map +1 -1
  157. package/dist/server/HttpListener.js +17 -9
  158. package/dist/server/HttpListener.js.map +1 -1
  159. package/dist/server/MembersFunctionality.d.ts +1 -1
  160. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  161. package/dist/server/MembersFunctionality.js.map +1 -1
  162. package/dist/server/ModuleHost.d.ts +33 -0
  163. package/dist/server/ModuleHost.d.ts.map +1 -0
  164. package/dist/server/ModuleHost.js +2 -0
  165. package/dist/server/ModuleHost.js.map +1 -0
  166. package/dist/server/PlurnkSkill.d.ts.map +1 -1
  167. package/dist/server/PlurnkSkill.js +54 -6
  168. package/dist/server/PlurnkSkill.js.map +1 -1
  169. package/dist/server/ServiceModules.d.ts +0 -2
  170. package/dist/server/ServiceModules.d.ts.map +1 -1
  171. package/dist/server/ServiceModules.js +5 -9
  172. package/dist/server/ServiceModules.js.map +1 -1
  173. package/dist/server/WorkspacePlugins.d.ts +2 -11
  174. package/dist/server/WorkspacePlugins.d.ts.map +1 -1
  175. package/dist/server/WorkspacePlugins.js.map +1 -1
  176. package/dist/server/WorkspaceResidency.d.ts +2 -1
  177. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  178. package/dist/server/WorkspaceStorage.d.ts +1 -0
  179. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  180. package/dist/server/WorkspaceStorage.js +31 -5
  181. package/dist/server/WorkspaceStorage.js.map +1 -1
  182. package/dist/server/module-discovery.d.ts +11 -3
  183. package/dist/server/module-discovery.d.ts.map +1 -1
  184. package/dist/server/module-discovery.js +32 -18
  185. package/dist/server/module-discovery.js.map +1 -1
  186. package/dist/server/workspace-storage.sql +5 -0
  187. package/dist/service.d.ts.map +1 -1
  188. package/dist/service.js +37 -34
  189. package/dist/service.js.map +1 -1
  190. package/migrations/016_selection_statements.sql +43 -0
  191. package/migrations/017_skills_module.sql +5 -0
  192. package/package.json +71 -72
  193. package/dist/core/EmissionHead.d.ts +0 -8
  194. package/dist/core/EmissionHead.d.ts.map +0 -1
  195. package/dist/core/EmissionHead.js +0 -29
  196. package/dist/core/EmissionHead.js.map +0 -1
  197. package/dist/core/operation-target-groups.d.ts +0 -3
  198. package/dist/core/operation-target-groups.d.ts.map +0 -1
  199. package/dist/core/operation-target-groups.js +0 -77
  200. package/dist/core/operation-target-groups.js.map +0 -1
  201. package/dist/digest/Digest.d.ts +0 -10
  202. package/dist/digest/Digest.d.ts.map +0 -1
  203. package/dist/digest/Digest.js +0 -252
  204. package/dist/digest/Digest.js.map +0 -1
  205. package/dist/digest/DigestEvidence.d.ts +0 -11
  206. package/dist/digest/DigestEvidence.d.ts.map +0 -1
  207. package/dist/digest/DigestEvidence.js +0 -66
  208. package/dist/digest/DigestEvidence.js.map +0 -1
  209. package/dist/digest/DigestRender.d.ts +0 -18
  210. package/dist/digest/DigestRender.d.ts.map +0 -1
  211. package/dist/digest/DigestRender.js +0 -1035
  212. package/dist/digest/DigestRender.js.map +0 -1
  213. package/dist/digest/DigestRequiem.d.ts +0 -13
  214. package/dist/digest/DigestRequiem.d.ts.map +0 -1
  215. package/dist/digest/DigestRequiem.js +0 -337
  216. package/dist/digest/DigestRequiem.js.map +0 -1
  217. package/dist/digest/digest-db.d.ts +0 -3
  218. package/dist/digest/digest-db.d.ts.map +0 -1
  219. package/dist/digest/digest-db.js +0 -68
  220. package/dist/digest/digest-db.js.map +0 -1
  221. package/dist/digest/digest-paths.d.ts +0 -6
  222. package/dist/digest/digest-paths.d.ts.map +0 -1
  223. package/dist/digest/digest-paths.js +0 -14
  224. package/dist/digest/digest-paths.js.map +0 -1
  225. package/dist/digest/digest-rows.d.ts +0 -346
  226. package/dist/digest/digest-rows.d.ts.map +0 -1
  227. package/dist/digest/digest-rows.js +0 -2
  228. package/dist/digest/digest-rows.js.map +0 -1
  229. package/dist/schemes/Skill.d.ts.map +0 -1
  230. package/dist/schemes/Skill.js.map +0 -1
  231. package/dist/server/DaemonModule.d.ts +0 -101
  232. package/dist/server/DaemonModule.d.ts.map +0 -1
  233. package/dist/server/DaemonModule.js +0 -2
  234. package/dist/server/DaemonModule.js.map +0 -1
  235. package/dist/server/SkillSource.d.ts +0 -37
  236. package/dist/server/SkillSource.d.ts.map +0 -1
  237. package/dist/server/SkillSource.js +0 -267
  238. package/dist/server/SkillSource.js.map +0 -1
  239. package/dist/server/SkillsFunctionality.d.ts +0 -45
  240. package/dist/server/SkillsFunctionality.d.ts.map +0 -1
  241. package/dist/server/SkillsFunctionality.js +0 -405
  242. package/dist/server/SkillsFunctionality.js.map +0 -1
  243. package/dist/server/skills-problems.d.ts +0 -8
  244. package/dist/server/skills-problems.d.ts.map +0 -1
  245. package/dist/server/skills-problems.js +0 -18
  246. package/dist/server/skills-problems.js.map +0 -1
  247. package/dist/share/Share.d.ts +0 -15
  248. package/dist/share/Share.d.ts.map +0 -1
  249. package/dist/share/Share.js +0 -106
  250. package/dist/share/Share.js.map +0 -1
  251. package/dist/share/share.sql +0 -6
  252. package/docs/skills.md +0 -73
  253. /package/dist/{digest → evidence}/digest.sql +0 -0
@@ -0,0 +1,43 @@
1
+ -- MIGRATE: 16 selection_statements
2
+ -- {§target-group} {§db-migrations}: normalize derived ASTs, never original emissions or reasoning.
3
+ -- Historical group members determined dispatch; duplicated top-level fields did not override them.
4
+ UPDATE turns
5
+ SET packet = json_set(packet, '$.assistant.ops', json((
6
+ WITH operations AS (
7
+ SELECT item.key AS ordinal,
8
+ turns.packet -> ('$.assistant.ops[' || item.key || ']') AS statement
9
+ FROM json_each(turns.packet, '$.assistant.ops') AS item
10
+ ), normalized AS (
11
+ SELECT ordinal, member.key AS member_ordinal,
12
+ CASE WHEN json_extract(statement, '$.op') IN ('READ', 'KILL')
13
+ AND json_type(statement, '$.group') = 'array'
14
+ THEN json_set(json_remove(statement, '$.group'),
15
+ '$.target', json(member.value -> '$.target'),
16
+ '$.lineMarker', json(member.value -> '$.lineMarker'),
17
+ '$.metadata', json(member.value -> '$.metadata'),
18
+ '$.matcher', json(CASE
19
+ WHEN json_type(member.value, '$.matcher') = 'null'
20
+ AND json_type(statement, '$.group[0].matcher') = 'null'
21
+ THEN statement -> '$.matcher'
22
+ ELSE member.value -> '$.matcher'
23
+ END),
24
+ '$.body', json(CASE
25
+ WHEN json_extract(statement, '$.op') = 'KILL' AND member.key > 0 THEN 'null'
26
+ ELSE statement -> '$.body'
27
+ END))
28
+ ELSE statement
29
+ END AS statement
30
+ FROM operations
31
+ LEFT JOIN json_each(CASE
32
+ WHEN json_extract(statement, '$.op') IN ('READ', 'KILL')
33
+ AND json_type(statement, '$.group') = 'array' THEN statement -> '$.group'
34
+ ELSE '[]'
35
+ END) AS member ON 1
36
+ )
37
+ SELECT json_group_array(json(statement) ORDER BY ordinal, member_ordinal) FROM normalized
38
+ )))
39
+ WHERE EXISTS (
40
+ SELECT 1 FROM json_each(turns.packet, '$.assistant.ops') AS item
41
+ WHERE json_extract(turns.packet, '$.assistant.ops[' || item.key || '].op') IN ('READ', 'KILL')
42
+ AND json_type(turns.packet, '$.assistant.ops[' || item.key || '].group') = 'array'
43
+ );
@@ -0,0 +1,5 @@
1
+ -- MIGRATE: 17 skills module
2
+ -- {§skills-module} — rename ownership; definitions and enabledness remain exact.
3
+ UPDATE workspace_module_state
4
+ SET namespace_owner = '@plurnk/plurnk-skills'
5
+ WHERE namespace_owner = '@plurnk/plurnk-core/skills';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-service",
3
- "version": "1.28.0",
3
+ "version": "2.0.0",
4
4
  "description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -21,19 +21,15 @@
21
21
  "types": "./dist/index.d.ts",
22
22
  "default": "./dist/index.js"
23
23
  },
24
- "./digest": {
25
- "types": "./dist/digest/Digest.d.ts",
26
- "default": "./dist/digest/Digest.js"
27
- },
28
- "./share": {
29
- "types": "./dist/share/Share.d.ts",
30
- "default": "./dist/share/Share.js"
31
- },
32
24
  "./launch": {
33
25
  "types": "./dist/launch/Launch.d.ts",
34
26
  "default": "./dist/launch/Launch.js"
35
27
  },
36
- "./package.json": "./package.json"
28
+ "./package.json": "./package.json",
29
+ "./evidence": {
30
+ "types": "./dist/evidence/EvidenceReader.d.ts",
31
+ "default": "./dist/evidence/EvidenceReader.js"
32
+ }
37
33
  },
38
34
  "bin": {
39
35
  "plurnk-service": "dist/service.js"
@@ -95,68 +91,70 @@
95
91
  "@opentelemetry/resources": "^2.11.0",
96
92
  "@opentelemetry/sdk-metrics": "^2.11.0",
97
93
  "@opentelemetry/sdk-trace-base": "^2.11.0",
98
- "@plurnk/plurnk-a2a": "1.28.0",
99
- "@plurnk/plurnk-agui": "1.28.0",
100
- "@plurnk/plurnk-contracts": "1.28.0",
101
- "@plurnk/plurnk-parser": "1.28.0",
102
- "@plurnk/plurnk-schedule": "1.28.0",
103
- "@plurnk/plurnk-execs": "1.28.0",
104
- "@plurnk/plurnk-execs-common": "1.28.0",
105
- "@plurnk/plurnk-execs-jq": "1.28.0",
106
- "@plurnk/plurnk-execs-sqlite": "1.28.0",
107
- "@plurnk/plurnk-hooks": "1.28.0",
108
- "@plurnk/plurnk-mcp": "1.28.0",
109
- "@plurnk/plurnk-meta": "1.28.0",
110
- "@plurnk/plurnk-agent-plugins": "1.28.0",
111
- "@plurnk/plurnk-agent-skills": "1.28.0",
112
- "@plurnk/plurnk-mimetypes": "1.28.0",
113
- "@plurnk/plurnk-mimetypes-application-ipynb": "1.28.0",
114
- "@plurnk/plurnk-mimetypes-application-json": "1.28.0",
115
- "@plurnk/plurnk-mimetypes-application-jsonl": "1.28.0",
116
- "@plurnk/plurnk-mimetypes-application-xml": "1.28.0",
117
- "@plurnk/plurnk-mimetypes-grammar-bash": "1.16.2",
118
- "@plurnk/plurnk-mimetypes-grammar-c": "1.16.2",
119
- "@plurnk/plurnk-mimetypes-grammar-cpp": "1.16.2",
120
- "@plurnk/plurnk-mimetypes-grammar-css": "1.16.2",
121
- "@plurnk/plurnk-mimetypes-grammar-dart": "1.16.2",
122
- "@plurnk/plurnk-mimetypes-grammar-elixir": "1.16.2",
123
- "@plurnk/plurnk-mimetypes-grammar-go": "1.16.2",
124
- "@plurnk/plurnk-mimetypes-grammar-haskell": "1.16.2",
125
- "@plurnk/plurnk-mimetypes-grammar-java": "1.16.2",
126
- "@plurnk/plurnk-mimetypes-grammar-javascript": "1.16.2",
127
- "@plurnk/plurnk-mimetypes-grammar-julia": "1.16.2",
128
- "@plurnk/plurnk-mimetypes-grammar-kotlin": "1.16.2",
129
- "@plurnk/plurnk-mimetypes-grammar-lua": "1.16.2",
130
- "@plurnk/plurnk-mimetypes-grammar-make": "1.16.2",
131
- "@plurnk/plurnk-mimetypes-grammar-ocaml": "1.16.2",
132
- "@plurnk/plurnk-mimetypes-grammar-odin": "1.16.2",
133
- "@plurnk/plurnk-mimetypes-grammar-php": "1.16.2",
134
- "@plurnk/plurnk-mimetypes-grammar-python": "1.16.2",
135
- "@plurnk/plurnk-mimetypes-grammar-ruby": "1.16.2",
136
- "@plurnk/plurnk-mimetypes-grammar-rust": "1.16.2",
137
- "@plurnk/plurnk-mimetypes-grammar-scala": "1.16.2",
138
- "@plurnk/plurnk-mimetypes-grammar-toml": "1.16.2",
139
- "@plurnk/plurnk-mimetypes-grammar-tsx": "1.16.2",
140
- "@plurnk/plurnk-mimetypes-grammar-typescript": "1.16.2",
141
- "@plurnk/plurnk-mimetypes-grammar-yaml": "1.16.2",
142
- "@plurnk/plurnk-mimetypes-grammar-zig": "1.16.2",
143
- "@plurnk/plurnk-mimetypes-application-pdf": "1.28.0",
144
- "@plurnk/plurnk-mimetypes-image": "1.28.0",
145
- "@plurnk/plurnk-mimetypes-audio": "1.28.0",
146
- "@plurnk/plurnk-mimetypes-text-csv": "1.28.0",
147
- "@plurnk/plurnk-mimetypes-text-diff": "1.28.0",
148
- "@plurnk/plurnk-mimetypes-text-dotenv": "1.28.0",
149
- "@plurnk/plurnk-mimetypes-text-html": "1.28.0",
150
- "@plurnk/plurnk-mimetypes-text-ini": "1.28.0",
151
- "@plurnk/plurnk-mimetypes-text-markdown": "1.28.0",
152
- "@plurnk/plurnk-mimetypes-text-plain": "1.28.0",
153
- "@plurnk/plurnk-models": "1.28.0",
154
- "@plurnk/plurnk-providers": "1.28.0",
155
- "@plurnk/plurnk-schemes": "1.28.0",
156
- "@plurnk/plurnk-schemes-http": "1.28.0",
157
- "@plurnk/plurnk-tavily-plugin": "^1.25.0",
94
+ "@plurnk/plurnk-a2a": "2.0.0",
95
+ "@plurnk/plurnk-agui": "2.0.0",
96
+ "@plurnk/plurnk-contracts": "2.0.0",
97
+ "@plurnk/plurnk-parser": "2.0.0",
98
+ "@plurnk/plurnk-schedule": "2.0.0",
99
+ "@plurnk/plurnk-skills": "2.0.0",
100
+ "@plurnk/plurnk-execs": "2.0.0",
101
+ "@plurnk/plurnk-execs-common": "2.0.0",
102
+ "@plurnk/plurnk-execs-jq": "2.0.0",
103
+ "@plurnk/plurnk-execs-sqlite": "2.0.0",
104
+ "@plurnk/plurnk-hooks": "2.0.0",
105
+ "@plurnk/plurnk-mcp": "2.0.0",
106
+ "@plurnk/plurnk-meta": "2.0.0",
107
+ "@plurnk/plurnk-agent-plugins": "2.0.0",
108
+ "@plurnk/plurnk-agent-skills": "2.0.0",
109
+ "@plurnk/plurnk-mimetypes": "2.0.0",
110
+ "@plurnk/plurnk-mimetypes-application-ipynb": "2.0.0",
111
+ "@plurnk/plurnk-mimetypes-application-json": "2.0.0",
112
+ "@plurnk/plurnk-mimetypes-application-jsonl": "2.0.0",
113
+ "@plurnk/plurnk-mimetypes-application-xml": "2.0.0",
114
+ "@plurnk/plurnk-mimetypes-grammar-bash": "2.0.0",
115
+ "@plurnk/plurnk-mimetypes-grammar-c": "2.0.0",
116
+ "@plurnk/plurnk-mimetypes-grammar-cpp": "2.0.0",
117
+ "@plurnk/plurnk-mimetypes-grammar-css": "2.0.0",
118
+ "@plurnk/plurnk-mimetypes-grammar-dart": "2.0.0",
119
+ "@plurnk/plurnk-mimetypes-grammar-elixir": "2.0.0",
120
+ "@plurnk/plurnk-mimetypes-grammar-go": "2.0.0",
121
+ "@plurnk/plurnk-mimetypes-grammar-haskell": "2.0.0",
122
+ "@plurnk/plurnk-mimetypes-grammar-java": "2.0.0",
123
+ "@plurnk/plurnk-mimetypes-grammar-javascript": "2.0.0",
124
+ "@plurnk/plurnk-mimetypes-grammar-julia": "2.0.0",
125
+ "@plurnk/plurnk-mimetypes-grammar-kotlin": "2.0.0",
126
+ "@plurnk/plurnk-mimetypes-grammar-lua": "2.0.0",
127
+ "@plurnk/plurnk-mimetypes-grammar-make": "2.0.0",
128
+ "@plurnk/plurnk-mimetypes-grammar-ocaml": "2.0.0",
129
+ "@plurnk/plurnk-mimetypes-grammar-odin": "2.0.0",
130
+ "@plurnk/plurnk-mimetypes-grammar-php": "2.0.0",
131
+ "@plurnk/plurnk-mimetypes-grammar-python": "2.0.0",
132
+ "@plurnk/plurnk-mimetypes-grammar-ruby": "2.0.0",
133
+ "@plurnk/plurnk-mimetypes-grammar-rust": "2.0.0",
134
+ "@plurnk/plurnk-mimetypes-grammar-scala": "2.0.0",
135
+ "@plurnk/plurnk-mimetypes-grammar-toml": "2.0.0",
136
+ "@plurnk/plurnk-mimetypes-grammar-tsx": "2.0.0",
137
+ "@plurnk/plurnk-mimetypes-grammar-typescript": "2.0.0",
138
+ "@plurnk/plurnk-mimetypes-grammar-yaml": "2.0.0",
139
+ "@plurnk/plurnk-mimetypes-grammar-zig": "2.0.0",
140
+ "@plurnk/plurnk-mimetypes-application-pdf": "2.0.0",
141
+ "@plurnk/plurnk-mimetypes-image": "2.0.0",
142
+ "@plurnk/plurnk-mimetypes-audio": "2.0.0",
143
+ "@plurnk/plurnk-mimetypes-text-csv": "2.0.0",
144
+ "@plurnk/plurnk-mimetypes-text-diff": "2.0.0",
145
+ "@plurnk/plurnk-mimetypes-text-dotenv": "2.0.0",
146
+ "@plurnk/plurnk-mimetypes-text-html": "2.0.0",
147
+ "@plurnk/plurnk-mimetypes-text-ini": "2.0.0",
148
+ "@plurnk/plurnk-mimetypes-text-markdown": "2.0.0",
149
+ "@plurnk/plurnk-mimetypes-text-plain": "2.0.0",
150
+ "@plurnk/plurnk-models": "2.0.0",
151
+ "@plurnk/plurnk-modules": "2.0.0",
152
+ "@plurnk/plurnk-providers": "2.0.0",
153
+ "@plurnk/plurnk-schemes": "2.0.0",
154
+ "@plurnk/plurnk-schemes-http": "2.0.0",
158
155
  "@possumtech/sqlrite": "^6.5.3",
159
- "diff": "^9.0.0"
156
+ "diff": "^9.0.0",
157
+ "@plurnk/plurnk-digest": "2.0.0"
160
158
  },
161
159
  "devDependencies": {
162
160
  "@a2a-js/sdk": "1.3.0",
@@ -173,5 +171,6 @@
173
171
  "type": "git",
174
172
  "url": "git+https://github.com/plurnk/plurnk-service.git",
175
173
  "directory": "plurnk-core"
176
- }
174
+ },
175
+ "gitHead": "3b2cae63115333d1b2e820abcf44b0fe4959d9ea"
177
176
  }
@@ -1,8 +0,0 @@
1
- export declare const EMISSION_HEAD_WEIGHT = 100;
2
- export default class EmissionHead {
3
- static cut(body: string): {
4
- head: string;
5
- cut: boolean;
6
- };
7
- }
8
- //# sourceMappingURL=EmissionHead.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmissionHead.d.ts","sourceRoot":"","sources":["../../src/core/EmissionHead.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,YAAY;IAE7B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAevD;CACJ"}
@@ -1,29 +0,0 @@
1
- import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
2
- import { contentWeight } from "./content-weight.js";
3
- // {§emission-row} — the one automatic cut left under {§context-fit}: an emission row shows its head,
4
- // about a hundred tokens of curation weight — enough to recognise the turn, never enough to matter to
5
- // the budget. A format rule, not a lever anyone would turn, so it lives here and not on the panel.
6
- export const EMISSION_HEAD_WEIGHT = 100;
7
- export default class EmissionHead {
8
- // Whole lines while they fit the head; a first line longer than the head is cut inside itself.
9
- static cut(body) {
10
- if (contentWeight(body) <= EMISSION_HEAD_WEIGHT)
11
- return { head: body, cut: false };
12
- let end = 0;
13
- for (const line of TextCoordinates.logicalLines(body)) {
14
- if (contentWeight(body.slice(0, line.end)) > EMISSION_HEAD_WEIGHT)
15
- break;
16
- end = line.end;
17
- }
18
- if (end === 0) {
19
- for (const codePoint of body) {
20
- const next = end + codePoint.length;
21
- if (contentWeight(body.slice(0, next)) > EMISSION_HEAD_WEIGHT)
22
- break;
23
- end = next;
24
- }
25
- }
26
- return { head: body.slice(0, end), cut: true };
27
- }
28
- }
29
- //# sourceMappingURL=EmissionHead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmissionHead.js","sourceRoot":"","sources":["../../src/core/EmissionHead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qGAAqG;AACrG,sGAAsG;AACtG,mGAAmG;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,+FAA+F;IAC/F,MAAM,CAAC,GAAG,CAAC,IAAY;QACnB,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,oBAAoB;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACnF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB;gBAAE,MAAM;YACzE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACZ,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;gBACpC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,oBAAoB;oBAAE,MAAM;gBACrE,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;CACJ"}
@@ -1,3 +0,0 @@
1
- import { type PlurnkStatement } from "@plurnk/plurnk-contracts";
2
- export declare const expandTargetGroup: (statement: PlurnkStatement) => PlurnkStatement[];
3
- //# sourceMappingURL=operation-target-groups.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operation-target-groups.d.ts","sourceRoot":"","sources":["../../src/core/operation-target-groups.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,eAAe,EAAsB,MAAM,0BAA0B,CAAC;AAqE1H,eAAO,MAAM,iBAAiB,cAAe,eAAe,KAAG,eAAe,EAG7E,CAAC"}
@@ -1,77 +0,0 @@
1
- import { parsePath } from "@plurnk/plurnk-parser";
2
- import { PlurnkParseError } from "@plurnk/plurnk-contracts";
3
- const EXPLICIT_URI = /^[a-z][a-z0-9+.-]*:\/\//i;
4
- const splitTopLevel = (raw) => {
5
- const members = [];
6
- let memberStart = 0;
7
- let braceDepth = 0;
8
- for (let index = 0; index < raw.length; index++) {
9
- const char = raw[index];
10
- if (char === "{") {
11
- braceDepth++;
12
- continue;
13
- }
14
- if (char === "}" && braceDepth > 0) {
15
- braceDepth--;
16
- continue;
17
- }
18
- if (braceDepth > 0 || (char !== "," && !/\s/u.test(char)))
19
- continue;
20
- const member = raw.slice(memberStart, index).trim();
21
- if (member.length > 0)
22
- members.push(member);
23
- while (index + 1 < raw.length && (raw[index + 1] === "," || /\s/u.test(raw[index + 1])))
24
- index++;
25
- memberStart = index + 1;
26
- }
27
- const finalMember = raw.slice(memberStart).trim();
28
- if (finalMember.length > 0)
29
- members.push(finalMember);
30
- return members;
31
- };
32
- // {§safe-uri-target-groups} — the heading's slot group ({§target-group}): one member per slot, any
33
- // target kind, each with the scope, metadata and matcher its own slot carried; the heading's naked
34
- // pattern is every member's; a distilling body lands once, with the first member.
35
- const expandSlotGroup = (statement) => {
36
- const { group, ...single } = statement;
37
- if (group === undefined)
38
- return [statement];
39
- const shared = group[0].matcher === null ? statement.matcher : null;
40
- return group.map((member, index) => ({
41
- ...single,
42
- target: member.target,
43
- lineMarker: member.lineMarker,
44
- metadata: member.metadata,
45
- matcher: member.matcher ?? shared,
46
- ...(index === 0 || statement.op !== "KILL" ? {} : { body: null }),
47
- }));
48
- };
49
- // {§safe-uri-target-groups} — one slot whose text is several explicit URIs: an admission tolerance,
50
- // not a second path grammar. The authored statement remains in the forensic turnOps source; only
51
- // ordinary dispatch receives one clone per independently valid URI, the selection shared.
52
- const expandSafeUriGroup = (statement) => {
53
- if (statement.target === null)
54
- return [statement];
55
- const members = splitTopLevel(statement.target.raw);
56
- if (members.length < 2 || members.some((member) => !EXPLICIT_URI.test(member)))
57
- return [statement];
58
- try {
59
- const targets = members.map((member) => parsePath(member));
60
- if (targets.some((target) => target?.kind !== "url"))
61
- return [statement];
62
- return targets.map((target) => ({ ...statement, target: target }));
63
- }
64
- catch (error) {
65
- if (error instanceof PlurnkParseError)
66
- return [statement];
67
- throw error;
68
- }
69
- };
70
- // {§safe-uri-target-groups} — a READ or KILL target group becomes one ordinary statement per member,
71
- // in authored order; every other statement passes through whole.
72
- export const expandTargetGroup = (statement) => {
73
- if (statement.op !== "READ" && statement.op !== "KILL")
74
- return [statement];
75
- return statement.group === undefined ? expandSafeUriGroup(statement) : expandSlotGroup(statement);
76
- };
77
- //# sourceMappingURL=operation-target-groups.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operation-target-groups.js","sourceRoot":"","sources":["../../src/core/operation-target-groups.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- import DigestRequiem from "./DigestRequiem.ts";
3
- import type { DigestOptions } from "./digest-rows.ts";
4
- export default class Digest {
5
- #private;
6
- static defaultDbPath(): string;
7
- static requiem(opts: Parameters<typeof DigestRequiem.interview>[0]): ReturnType<typeof DigestRequiem.interview>;
8
- static run(opts: DigestOptions): void;
9
- }
10
- //# sourceMappingURL=Digest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Digest.d.ts","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":";AA0CA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,OAAO,KAAK,EAqBR,aAAa,EAGhB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,MAAM;;IAEvB,MAAM,CAAC,aAAa,IAAI,MAAM,CAM7B;IAGD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAE9G;IAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAIpC;CAsKJ"}