@plurnk/plurnk-service 0.7.0 → 0.8.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 (258) hide show
  1. package/SPEC.md +104 -74
  2. package/bin/plurnk-service.ts +132 -0
  3. package/dist/Paths.d.ts +8 -0
  4. package/dist/Paths.d.ts.map +1 -0
  5. package/dist/Paths.js +47 -0
  6. package/dist/Paths.js.map +1 -0
  7. package/dist/content/index.d.ts +9 -0
  8. package/dist/content/index.d.ts.map +1 -0
  9. package/dist/content/index.js +10 -0
  10. package/dist/content/index.js.map +1 -0
  11. package/dist/content/line-marker.d.ts +26 -0
  12. package/dist/content/line-marker.d.ts.map +1 -0
  13. package/dist/content/line-marker.js +323 -0
  14. package/dist/content/line-marker.js.map +1 -0
  15. package/dist/content/matcher.d.ts +15 -0
  16. package/dist/content/matcher.d.ts.map +1 -0
  17. package/dist/content/matcher.js +112 -0
  18. package/dist/content/matcher.js.map +1 -0
  19. package/dist/content/mimetype-binary.d.ts +9 -0
  20. package/dist/content/mimetype-binary.d.ts.map +1 -0
  21. package/dist/content/mimetype-binary.js +86 -0
  22. package/dist/content/mimetype-binary.js.map +1 -0
  23. package/dist/content/path-mimetype.d.ts +6 -0
  24. package/dist/content/path-mimetype.d.ts.map +1 -0
  25. package/dist/content/path-mimetype.js +49 -0
  26. package/dist/content/path-mimetype.js.map +1 -0
  27. package/dist/content/read-resolve.d.ts +20 -0
  28. package/dist/content/read-resolve.d.ts.map +1 -0
  29. package/dist/content/read-resolve.js +60 -0
  30. package/dist/content/read-resolve.js.map +1 -0
  31. package/dist/core/ChannelWrite.d.ts +33 -30
  32. package/dist/core/ChannelWrite.d.ts.map +1 -1
  33. package/dist/core/ChannelWrite.js +43 -41
  34. package/dist/core/ChannelWrite.js.map +1 -1
  35. package/dist/core/Engine.d.ts +14 -10
  36. package/dist/core/Engine.d.ts.map +1 -1
  37. package/dist/core/Engine.js +269 -94
  38. package/dist/core/Engine.js.map +1 -1
  39. package/dist/core/EnvFlags.d.ts +6 -3
  40. package/dist/core/EnvFlags.d.ts.map +1 -1
  41. package/dist/core/EnvFlags.js +62 -60
  42. package/dist/core/EnvFlags.js.map +1 -1
  43. package/dist/core/PluginLoader.d.ts +6 -3
  44. package/dist/core/PluginLoader.d.ts.map +1 -1
  45. package/dist/core/PluginLoader.js +77 -73
  46. package/dist/core/PluginLoader.js.map +1 -1
  47. package/dist/core/ProviderInstantiate.d.ts +4 -2
  48. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  49. package/dist/core/ProviderInstantiate.js +23 -22
  50. package/dist/core/ProviderInstantiate.js.map +1 -1
  51. package/dist/core/SchemeRegistry.d.ts +1 -1
  52. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  53. package/dist/core/SchemeRegistry.js +3 -3
  54. package/dist/core/SchemeRegistry.js.map +1 -1
  55. package/dist/core/git-membership.d.ts +8 -0
  56. package/dist/core/git-membership.d.ts.map +1 -0
  57. package/dist/core/git-membership.js +125 -0
  58. package/dist/core/git-membership.js.map +1 -0
  59. package/dist/core/packet-wire.d.ts +47 -6
  60. package/dist/core/packet-wire.d.ts.map +1 -1
  61. package/dist/core/packet-wire.js +376 -312
  62. package/dist/core/packet-wire.js.map +1 -1
  63. package/dist/core/resolveForLoop.d.ts +14 -0
  64. package/dist/core/resolveForLoop.d.ts.map +1 -0
  65. package/dist/core/resolveForLoop.js +34 -0
  66. package/dist/core/resolveForLoop.js.map +1 -0
  67. package/dist/core/results.d.ts +40 -0
  68. package/dist/core/results.d.ts.map +1 -0
  69. package/dist/core/results.js +52 -0
  70. package/dist/core/results.js.map +1 -0
  71. package/dist/core/scheme-types.d.ts +5 -4
  72. package/dist/core/scheme-types.d.ts.map +1 -1
  73. package/dist/core/scheme-types.js +4 -4
  74. package/dist/core/scheme-types.js.map +1 -1
  75. package/dist/core/types.d.ts +27 -0
  76. package/dist/core/types.d.ts.map +1 -0
  77. package/dist/core/types.js +17 -0
  78. package/dist/core/types.js.map +1 -0
  79. package/dist/index.d.ts +1 -6
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +4 -43
  82. package/dist/index.js.map +1 -1
  83. package/dist/schemes/Exec.d.ts +1 -0
  84. package/dist/schemes/Exec.d.ts.map +1 -1
  85. package/dist/schemes/Exec.js +37 -21
  86. package/dist/schemes/Exec.js.map +1 -1
  87. package/dist/schemes/File.d.ts +0 -1
  88. package/dist/schemes/File.d.ts.map +1 -1
  89. package/dist/schemes/File.js +32 -66
  90. package/dist/schemes/File.js.map +1 -1
  91. package/dist/schemes/Known.d.ts.map +1 -1
  92. package/dist/schemes/Known.js +13 -13
  93. package/dist/schemes/Known.js.map +1 -1
  94. package/dist/schemes/Log.d.ts.map +1 -1
  95. package/dist/schemes/Log.js +8 -52
  96. package/dist/schemes/Log.js.map +1 -1
  97. package/dist/schemes/Plurnk.d.ts.map +1 -1
  98. package/dist/schemes/Plurnk.js +13 -13
  99. package/dist/schemes/Plurnk.js.map +1 -1
  100. package/dist/schemes/Skill.d.ts.map +1 -1
  101. package/dist/schemes/Skill.js +13 -13
  102. package/dist/schemes/Skill.js.map +1 -1
  103. package/dist/schemes/Unknown.d.ts.map +1 -1
  104. package/dist/schemes/Unknown.js +13 -13
  105. package/dist/schemes/Unknown.js.map +1 -1
  106. package/dist/schemes/_entry-crud.d.ts +5 -3
  107. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  108. package/dist/schemes/_entry-crud.js +55 -50
  109. package/dist/schemes/_entry-crud.js.map +1 -1
  110. package/dist/schemes/_entry-find.d.ts +10 -3
  111. package/dist/schemes/_entry-find.d.ts.map +1 -1
  112. package/dist/schemes/_entry-find.js +99 -77
  113. package/dist/schemes/_entry-find.js.map +1 -1
  114. package/dist/schemes/_entry-manifest.d.ts +6 -0
  115. package/dist/schemes/_entry-manifest.d.ts.map +1 -0
  116. package/dist/schemes/_entry-manifest.js +45 -0
  117. package/dist/schemes/_entry-manifest.js.map +1 -0
  118. package/dist/schemes/_entry-ops.d.ts +7 -4
  119. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  120. package/dist/schemes/_entry-ops.js +198 -316
  121. package/dist/schemes/_entry-ops.js.map +1 -1
  122. package/dist/schemes/_entry-send.d.ts +4 -1
  123. package/dist/schemes/_entry-send.d.ts.map +1 -1
  124. package/dist/schemes/_entry-send.js +57 -55
  125. package/dist/schemes/_entry-send.js.map +1 -1
  126. package/dist/server/ClientConnection.js +3 -3
  127. package/dist/server/ClientConnection.js.map +1 -1
  128. package/dist/server/Daemon.d.ts +5 -5
  129. package/dist/server/Daemon.d.ts.map +1 -1
  130. package/dist/server/Daemon.js +221 -176
  131. package/dist/server/Daemon.js.map +1 -1
  132. package/dist/server/clientTurn.d.ts +4 -1
  133. package/dist/server/clientTurn.d.ts.map +1 -1
  134. package/dist/server/clientTurn.js +19 -17
  135. package/dist/server/clientTurn.js.map +1 -1
  136. package/dist/server/dsl.d.ts +19 -16
  137. package/dist/server/dsl.d.ts.map +1 -1
  138. package/dist/server/dsl.js +127 -105
  139. package/dist/server/dsl.js.map +1 -1
  140. package/dist/server/envelope.d.ts +22 -19
  141. package/dist/server/envelope.d.ts.map +1 -1
  142. package/dist/server/envelope.js +116 -102
  143. package/dist/server/envelope.js.map +1 -1
  144. package/dist/server/logEntry.d.ts +4 -1
  145. package/dist/server/logEntry.d.ts.map +1 -1
  146. package/dist/server/logEntry.js +41 -39
  147. package/dist/server/logEntry.js.map +1 -1
  148. package/dist/server/methods/_dispatchAsClient.d.ts +3 -1
  149. package/dist/server/methods/_dispatchAsClient.d.ts.map +1 -1
  150. package/dist/server/methods/_dispatchAsClient.js +31 -29
  151. package/dist/server/methods/_dispatchAsClient.js.map +1 -1
  152. package/dist/server/methods/discover.d.ts +3 -1
  153. package/dist/server/methods/discover.d.ts.map +1 -1
  154. package/dist/server/methods/discover.js +8 -6
  155. package/dist/server/methods/discover.js.map +1 -1
  156. package/dist/server/methods/entry_read.d.ts +4 -1
  157. package/dist/server/methods/entry_read.d.ts.map +1 -1
  158. package/dist/server/methods/entry_read.js +54 -52
  159. package/dist/server/methods/entry_read.js.map +1 -1
  160. package/dist/server/methods/log_read.d.ts +4 -1
  161. package/dist/server/methods/log_read.d.ts.map +1 -1
  162. package/dist/server/methods/log_read.js +38 -36
  163. package/dist/server/methods/log_read.js.map +1 -1
  164. package/dist/server/methods/loop_cancel.d.ts +3 -1
  165. package/dist/server/methods/loop_cancel.d.ts.map +1 -1
  166. package/dist/server/methods/loop_cancel.js +19 -17
  167. package/dist/server/methods/loop_cancel.js.map +1 -1
  168. package/dist/server/methods/loop_resolve.d.ts +3 -1
  169. package/dist/server/methods/loop_resolve.d.ts.map +1 -1
  170. package/dist/server/methods/loop_resolve.js +42 -40
  171. package/dist/server/methods/loop_resolve.js.map +1 -1
  172. package/dist/server/methods/loop_run.d.ts +3 -1
  173. package/dist/server/methods/loop_run.d.ts.map +1 -1
  174. package/dist/server/methods/loop_run.js +104 -102
  175. package/dist/server/methods/loop_run.js.map +1 -1
  176. package/dist/server/methods/op_copy.d.ts +3 -1
  177. package/dist/server/methods/op_copy.d.ts.map +1 -1
  178. package/dist/server/methods/op_copy.js +25 -23
  179. package/dist/server/methods/op_copy.js.map +1 -1
  180. package/dist/server/methods/op_dispatch.d.ts +3 -1
  181. package/dist/server/methods/op_dispatch.d.ts.map +1 -1
  182. package/dist/server/methods/op_dispatch.js +18 -16
  183. package/dist/server/methods/op_dispatch.js.map +1 -1
  184. package/dist/server/methods/op_edit.d.ts +3 -1
  185. package/dist/server/methods/op_edit.d.ts.map +1 -1
  186. package/dist/server/methods/op_edit.js +23 -21
  187. package/dist/server/methods/op_edit.js.map +1 -1
  188. package/dist/server/methods/op_exec.d.ts +3 -1
  189. package/dist/server/methods/op_exec.d.ts.map +1 -1
  190. package/dist/server/methods/op_exec.js +20 -18
  191. package/dist/server/methods/op_exec.js.map +1 -1
  192. package/dist/server/methods/op_find.d.ts +3 -1
  193. package/dist/server/methods/op_find.d.ts.map +1 -1
  194. package/dist/server/methods/op_find.js +23 -21
  195. package/dist/server/methods/op_find.js.map +1 -1
  196. package/dist/server/methods/op_hide.d.ts +3 -1
  197. package/dist/server/methods/op_hide.d.ts.map +1 -1
  198. package/dist/server/methods/op_hide.js +23 -21
  199. package/dist/server/methods/op_hide.js.map +1 -1
  200. package/dist/server/methods/op_move.d.ts +3 -1
  201. package/dist/server/methods/op_move.d.ts.map +1 -1
  202. package/dist/server/methods/op_move.js +23 -21
  203. package/dist/server/methods/op_move.js.map +1 -1
  204. package/dist/server/methods/op_parse.d.ts +3 -1
  205. package/dist/server/methods/op_parse.d.ts.map +1 -1
  206. package/dist/server/methods/op_parse.js +24 -22
  207. package/dist/server/methods/op_parse.js.map +1 -1
  208. package/dist/server/methods/op_read.d.ts +3 -1
  209. package/dist/server/methods/op_read.d.ts.map +1 -1
  210. package/dist/server/methods/op_read.js +23 -21
  211. package/dist/server/methods/op_read.js.map +1 -1
  212. package/dist/server/methods/op_send.d.ts +3 -1
  213. package/dist/server/methods/op_send.d.ts.map +1 -1
  214. package/dist/server/methods/op_send.js +22 -20
  215. package/dist/server/methods/op_send.js.map +1 -1
  216. package/dist/server/methods/op_show.d.ts +3 -1
  217. package/dist/server/methods/op_show.d.ts.map +1 -1
  218. package/dist/server/methods/op_show.js +23 -21
  219. package/dist/server/methods/op_show.js.map +1 -1
  220. package/dist/server/methods/ping.d.ts +3 -1
  221. package/dist/server/methods/ping.d.ts.map +1 -1
  222. package/dist/server/methods/ping.js +8 -6
  223. package/dist/server/methods/ping.js.map +1 -1
  224. package/dist/server/methods/providers_list.d.ts +3 -1
  225. package/dist/server/methods/providers_list.d.ts.map +1 -1
  226. package/dist/server/methods/providers_list.js +19 -17
  227. package/dist/server/methods/providers_list.js.map +1 -1
  228. package/dist/server/methods/session_attach.d.ts +3 -1
  229. package/dist/server/methods/session_attach.d.ts.map +1 -1
  230. package/dist/server/methods/session_attach.js +43 -41
  231. package/dist/server/methods/session_attach.js.map +1 -1
  232. package/dist/server/methods/session_create.d.ts +3 -1
  233. package/dist/server/methods/session_create.d.ts.map +1 -1
  234. package/dist/server/methods/session_create.js +51 -49
  235. package/dist/server/methods/session_create.js.map +1 -1
  236. package/dist/server/methods/session_list.d.ts +3 -1
  237. package/dist/server/methods/session_list.d.ts.map +1 -1
  238. package/dist/server/methods/session_list.js +9 -7
  239. package/dist/server/methods/session_list.js.map +1 -1
  240. package/dist/server/methods/session_runs.d.ts +3 -1
  241. package/dist/server/methods/session_runs.d.ts.map +1 -1
  242. package/dist/server/methods/session_runs.js +19 -17
  243. package/dist/server/methods/session_runs.js.map +1 -1
  244. package/dist/server/methods/session_set_persona.d.ts +3 -1
  245. package/dist/server/methods/session_set_persona.d.ts.map +1 -1
  246. package/dist/server/methods/session_set_persona.js +28 -26
  247. package/dist/server/methods/session_set_persona.js.map +1 -1
  248. package/dist/server/methods/session_set_root.d.ts +3 -1
  249. package/dist/server/methods/session_set_root.d.ts.map +1 -1
  250. package/dist/server/methods/session_set_root.js +31 -29
  251. package/dist/server/methods/session_set_root.js.map +1 -1
  252. package/dist/server/yolo.d.ts +3 -1
  253. package/dist/server/yolo.d.ts.map +1 -1
  254. package/dist/server/yolo.js +15 -13
  255. package/dist/server/yolo.js.map +1 -1
  256. package/package.json +74 -30
  257. package/bin/plurnk-service.js +0 -112
  258. /package/migrations/{001_schema.sql → 0000-00-00.01_schema.sql} +0 -0
@@ -1,338 +1,220 @@
1
- import { isBinaryMimetype, isJsonMimetype, TEXT_PRIMITIVE_MIMETYPE } from "@plurnk/plurnk-schemes";
2
- import { sliceLines, sliceJsonItems, applyLineMarkerEdit, applyJsonItemEdit } from "@plurnk/plurnk-schemes";
3
- import { matchAgainstContent } from "@plurnk/plurnk-schemes";
4
- import { resolveEntryMimetype } from "@plurnk/plurnk-schemes";
5
- const pathnameOf = (statement) => {
6
- const t = statement.target;
7
- if (t === null)
8
- throw new Error("unreachable");
9
- if (t.kind === "url")
10
- return t.pathname;
11
- return t.raw;
12
- };
13
- const fragmentOf = (statement) => {
14
- const t = statement.target;
15
- if (t === null || t.kind !== "url")
16
- return null;
17
- return t.fragment;
18
- };
19
- const resolveChannel = (fragment, channels, defaultChannel) => {
20
- const target = fragment ?? defaultChannel;
21
- if (!(target in channels))
22
- return null;
23
- return target;
24
- };
25
- export const editSessionEntry = async (statement, ctx, manifest) => {
26
- if (statement.target === null)
27
- return { status: 400, entryId: null, channel: null };
28
- const { db, sessionId, runId } = ctx;
29
- const { name: scheme, channels, defaultChannel } = manifest;
30
- const fragment = fragmentOf(statement);
31
- const targetChannel = resolveChannel(fragment, channels, defaultChannel);
32
- if (targetChannel === null)
33
- return { status: 400, entryId: null, channel: null };
34
- const pathname = pathnameOf(statement);
35
- const existing = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
36
- // Non-default channel write requires entry to exist.
37
- if (existing === undefined && fragment !== null) {
38
- return { status: 404, entryId: null, channel: targetChannel };
39
- }
40
- // Effective mimetype for this entry. Per plurnk-grammar 0.14.0:
41
- // "Path suffix declares mimetype; absent suffix defers to scheme default."
42
- // `known://users.json` → application/json (extension wins).
43
- // `known://users` → text/markdown (scheme manifest default).
44
- const channelManifestDefault = channels[targetChannel];
45
- const effectiveMimetype = await resolveEntryMimetype(pathname, channelManifestDefault, ctx.mimetypes);
46
- // 415 on binary entries (SPEC.md §16.9).
47
- if (existing !== undefined) {
48
- const channel = await db.ops_read_channel.get({
49
- session_id: sessionId, scheme, pathname, channel: targetChannel,
50
- });
51
- if (channel !== undefined && isBinaryMimetype(channel.mimetype)) {
52
- return { status: 415, entryId: existing.id, channel: targetChannel };
1
+ import { LineMarkerOps, MimetypeBinary, PathMimetype, ReadResolve } from "../content/index.js";
2
+ import EntryFind from "./_entry-find.js";
3
+ export default class EntryOps {
4
+ static #pathnameOf(statement) {
5
+ const t = statement.target;
6
+ if (t === null)
7
+ throw new Error("unreachable");
8
+ if (t.kind === "url")
9
+ return t.pathname;
10
+ return t.raw;
11
+ }
12
+ static #fragmentOf(statement) {
13
+ const t = statement.target;
14
+ if (t === null || t.kind !== "url")
15
+ return null;
16
+ return t.fragment;
17
+ }
18
+ static #resolveChannel(fragment, channels, defaultChannel) {
19
+ const target = fragment ?? defaultChannel;
20
+ if (!(target in channels))
21
+ return null;
22
+ return target;
23
+ }
24
+ static async editSessionEntry(statement, ctx, manifest) {
25
+ if (statement.target === null)
26
+ return { status: 400, entryId: null, channel: null };
27
+ const { db, sessionId, runId } = ctx;
28
+ const { name: scheme, channels, defaultChannel } = manifest;
29
+ const fragment = EntryOps.#fragmentOf(statement);
30
+ const targetChannel = EntryOps.#resolveChannel(fragment, channels, defaultChannel);
31
+ if (targetChannel === null)
32
+ return { status: 400, entryId: null, channel: null };
33
+ const pathname = EntryOps.#pathnameOf(statement);
34
+ const existing = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
35
+ // Non-default channel write requires entry to exist.
36
+ if (existing === undefined && fragment !== null) {
37
+ return { status: 404, entryId: null, channel: targetChannel };
53
38
  }
54
- }
55
- if (isBinaryMimetype(effectiveMimetype)) {
56
- return { status: 415, entryId: existing?.id ?? null, channel: targetChannel };
57
- }
58
- const body = statement.body ?? "";
59
- // Read current content unconditionally for diff generation (M.12 —
60
- // surface diff in EDIT response so wrong-marker mistakes are visible).
61
- let originalContent = "";
62
- if (existing !== undefined) {
63
- const channel = await db.ops_read_channel.get({
64
- session_id: sessionId, scheme, pathname, channel: targetChannel,
65
- });
66
- originalContent = channel?.content ?? "";
67
- }
68
- // `<L>` line marker EDIT semantics. Dispatch on effective mimetype:
69
- // JSON → applyJsonItemEdit (structural item edit, plurnk-grammar 0.13.0);
70
- // otherwise → applyLineMarkerEdit (line edit, original semantics).
71
- // On a non-existent entry, body becomes the content regardless of marker
72
- // (per "Resolved ambiguities" §3 — sentinels/positions only apply to
73
- // existing content).
74
- let newContent;
75
- if (statement.lineMarker !== null && existing !== undefined) {
76
- const result = isJsonMimetype(effectiveMimetype)
77
- ? applyJsonItemEdit(originalContent, statement.lineMarker, body)
78
- : applyLineMarkerEdit(originalContent, statement.lineMarker, body);
79
- if (result.status !== 200)
80
- return { status: result.status, entryId: existing.id, channel: targetChannel };
81
- newContent = result.result ?? "";
82
- }
83
- else {
84
- newContent = body;
85
- }
86
- let entryId;
87
- let createdNow;
88
- if (existing === undefined) {
89
- const row = await db.crud_insert_session_entry.get({ session_id: sessionId, scheme, pathname });
90
- if (row === undefined)
91
- throw new Error("editSessionEntry: insert returned no row");
92
- entryId = row.id;
93
- createdNow = true;
94
- }
95
- else {
96
- entryId = existing.id;
97
- createdNow = false;
98
- }
99
- await db.ops_upsert_channel.run({ entry_id: entryId, name: targetChannel, content: newContent, mimetype: effectiveMimetype });
100
- await db.crud_write_visibility.run({ run_id: runId, entry_id: entryId, channel: targetChannel });
101
- if (Array.isArray(statement.signal)) {
102
- for (const tag of statement.signal) {
103
- await db.crud_write_tag.run({ entry_id: entryId, tag });
39
+ // Effective mimetype for this entry. Per plurnk-grammar 0.14.0:
40
+ // "Path suffix declares mimetype; absent suffix defers to scheme default."
41
+ // `known://users.json` application/json (extension wins).
42
+ // `known://users` → text/markdown (scheme manifest default).
43
+ const channelManifestDefault = channels[targetChannel];
44
+ const effectiveMimetype = await PathMimetype.resolveEntryMimetype(pathname, channelManifestDefault, ctx.mimetypes);
45
+ // 415 on binary entries (SPEC.md §16.9).
46
+ if (existing !== undefined) {
47
+ const channel = await db.ops_read_channel.get({
48
+ session_id: sessionId, scheme, pathname, channel: targetChannel,
49
+ });
50
+ if (channel !== undefined && MimetypeBinary.isBinaryMimetype(channel.mimetype)) {
51
+ return { status: 415, entryId: existing.id, channel: targetChannel };
52
+ }
104
53
  }
105
- }
106
- return { status: createdNow ? 201 : 200, entryId, channel: targetChannel };
107
- };
108
- export const readSessionEntry = async (statement, ctx, manifest) => {
109
- if (statement.target === null)
110
- return { status: 400, content: null, mimetype: null, channel: null };
111
- const { db, sessionId } = ctx;
112
- const { name: scheme, channels, defaultChannel } = manifest;
113
- const fragment = fragmentOf(statement);
114
- const targetChannel = resolveChannel(fragment, channels, defaultChannel);
115
- if (targetChannel === null)
116
- return { status: 400, content: null, mimetype: null, channel: null };
117
- const pathname = pathnameOf(statement);
118
- const row = await db.ops_read_channel.get({
119
- session_id: sessionId, scheme, pathname, channel: targetChannel,
120
- });
121
- if (row === undefined)
122
- return { status: 404, content: null, mimetype: null, channel: targetChannel };
123
- if (isBinaryMimetype(row.mimetype)) {
124
- return { status: 415, content: null, mimetype: row.mimetype, channel: targetChannel };
125
- }
126
- // `[tag]` filter: entry must have ALL requested tags. Mismatch = 404
127
- // (entry doesn't match the tag-scoped READ).
128
- if (Array.isArray(statement.signal) && statement.signal.length > 0) {
129
- const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
130
- if (entry === undefined)
131
- return { status: 404, content: null, mimetype: null, channel: targetChannel };
132
- const tagRows = await db.crud_read_tags.all({ entry_id: entry.id });
133
- const have = new Set(tagRows.map((r) => r.tag));
134
- for (const want of statement.signal) {
135
- if (!have.has(want))
136
- return { status: 404, content: null, mimetype: null, channel: targetChannel };
54
+ if (MimetypeBinary.isBinaryMimetype(effectiveMimetype)) {
55
+ return { status: 415, entryId: existing?.id ?? null, channel: targetChannel };
137
56
  }
138
- }
139
- // `<L>` scopes; body matches within the scope. Slot order in plurnk.md
140
- // is `<L>?:body?`, so the natural composition is slice-then-match.
141
- // `<L>` dispatches on source mimetype (plurnk-grammar 0.13.0):
142
- // line-navigable (text/markdown, source) → sliceLines (line index)
143
- // JSON → sliceJsonItems (item index)
144
- // XML/HTML → sliceLines (defer XML structural)
145
- let workingContent = row.content;
146
- let workingStart = 1;
147
- let workingMimetypeForSlice = TEXT_PRIMITIVE_MIMETYPE;
148
- if (statement.lineMarker !== null) {
149
- if (isJsonMimetype(row.mimetype)) {
150
- const sliced = sliceJsonItems(row.content, statement.lineMarker);
151
- if (sliced.status !== 200)
152
- return { status: sliced.status, content: null, mimetype: row.mimetype, channel: targetChannel };
153
- workingContent = sliced.body ?? "[]";
154
- workingStart = null;
155
- workingMimetypeForSlice = "application/json";
57
+ const body = statement.body ?? "";
58
+ // Read current content unconditionally for diff generation (M.12
59
+ // surface diff in EDIT response so wrong-marker mistakes are visible).
60
+ let originalContent = "";
61
+ if (existing !== undefined) {
62
+ const channel = await db.ops_read_channel.get({
63
+ session_id: sessionId, scheme, pathname, channel: targetChannel,
64
+ });
65
+ originalContent = channel?.content ?? "";
156
66
  }
157
- else {
158
- const sliced = sliceLines(row.content, statement.lineMarker);
159
- if (sliced.status !== 200)
160
- return { status: sliced.status, content: null, mimetype: row.mimetype, channel: targetChannel };
161
- workingContent = sliced.text ?? "";
162
- workingStart = sliced.startLine ?? null;
67
+ // `<L>` line marker EDIT semantics. Dispatch on effective mimetype:
68
+ // JSON LineMarkerOps.applyJsonItemEdit (structural item edit, plurnk-grammar 0.13.0);
69
+ // otherwise → LineMarkerOps.applyLineMarkerEdit (line edit, original semantics).
70
+ // On a non-existent entry, body becomes the content regardless of marker
71
+ // (per "Resolved ambiguities" §3 — sentinels/positions only apply to
72
+ // existing content).
73
+ let newContent;
74
+ if (statement.lineMarker !== null && existing !== undefined) {
75
+ const result = MimetypeBinary.isJsonMimetype(effectiveMimetype)
76
+ ? LineMarkerOps.applyJsonItemEdit(originalContent, statement.lineMarker, body)
77
+ : LineMarkerOps.applyLineMarkerEdit(originalContent, statement.lineMarker, body);
78
+ if (result.status !== 200)
79
+ return { status: result.status, entryId: existing.id, channel: targetChannel };
80
+ newContent = result.result ?? "";
163
81
  }
164
- }
165
- if (statement.body !== null) {
166
- if (ctx.mimetypes === undefined) {
167
- return { status: 500, content: null, mimetype: row.mimetype, channel: targetChannel };
82
+ else {
83
+ newContent = body;
168
84
  }
169
- const matched = await matchAgainstContent(statement.body, workingContent, row.mimetype, ctx.mimetypes, workingStart ?? 1);
170
- if (matched.status === 204) {
171
- return { status: 204, content: "", mimetype: "application/json", channel: targetChannel, startLine: null, matches: 0 };
85
+ // 304 no-op (SPEC §6.1): an existing entry whose write would change nothing —
86
+ // identical content and no new tag. Mirrors SHOW/HIDE's 304 on no-op; hands the
87
+ // model a "you already did this" signal instead of a phantom 200 it can't
88
+ // distinguish from a real update.
89
+ if (existing !== undefined && newContent === originalContent) {
90
+ const signalTags = Array.isArray(statement.signal) ? statement.signal : [];
91
+ let addsTag = false;
92
+ if (signalTags.length > 0) {
93
+ const have = new Set((await db.crud_read_tags.all({ entry_id: existing.id })).map((r) => r.tag));
94
+ addsTag = signalTags.some((t) => !have.has(t));
95
+ }
96
+ if (!addsTag)
97
+ return { status: 304, entryId: existing.id, channel: targetChannel };
172
98
  }
173
- if (matched.status === 203) {
174
- // Dialect-parse-failure fallback: raw source as text/markdown,
175
- // reason field surfaces why the structured parse failed.
176
- return { status: 203, content: matched.body ?? "", mimetype: matched.mimetype ?? "text/markdown", channel: targetChannel, startLine: 1, reason: matched.reason };
99
+ let entryId;
100
+ let createdNow;
101
+ if (existing === undefined) {
102
+ const row = await db.crud_insert_session_entry.get({ session_id: sessionId, scheme, pathname });
103
+ if (row === undefined)
104
+ throw new Error("editSessionEntry: insert returned no row");
105
+ entryId = row.id;
106
+ createdNow = true;
177
107
  }
178
- if (matched.status !== 200)
179
- return { status: matched.status, content: null, mimetype: row.mimetype, channel: targetChannel };
180
- return { status: 200, content: matched.body ?? "[]", mimetype: "application/json", channel: targetChannel, startLine: null, matches: matched.matches };
181
- }
182
- if (statement.lineMarker !== null) {
183
- // `<L>` slice mimetype follows the source family:
184
- // line-navigable source → text/markdown (text primitive)
185
- // JSON source → application/json (preserve structure for compose)
186
- // Workspace `<L>` empty case (sentinel <0>/<-1>) is 204.
187
- // For JSON sources sliceJsonItems returns body="[]" on sentinels;
188
- // we treat empty array as 204 here for shape consistency.
189
- const isEmptyJsonArray = workingMimetypeForSlice === "application/json" && workingContent === "[]";
190
- if (workingContent === "" || isEmptyJsonArray) {
191
- return { status: 204, content: "", mimetype: workingMimetypeForSlice, channel: targetChannel, startLine: null };
108
+ else {
109
+ entryId = existing.id;
110
+ createdNow = false;
192
111
  }
193
- return { status: 200, content: workingContent, mimetype: workingMimetypeForSlice, channel: targetChannel, startLine: workingStart };
194
- }
195
- if (row.content === "") {
196
- return { status: 204, content: "", mimetype: row.mimetype, channel: targetChannel, startLine: null };
197
- }
198
- return { status: 200, content: row.content, mimetype: row.mimetype, channel: targetChannel, startLine: 1 };
199
- };
200
- // Paginate a list of items per a `<L>` results marker. Sentinels <0> and
201
- // <-1> select empty (insertion points have no result content).
202
- const paginateResults = (items, marker) => {
203
- const total = items.length;
204
- const { first, last } = marker;
205
- if (last === null) {
206
- if (first === 0 || first === -1)
207
- return { status: 200, items: [] };
208
- if (first > 0 && first <= total)
209
- return { status: 200, items: [items[first - 1]] };
210
- return { status: 416 };
211
- }
212
- let n = first;
213
- let m = last;
214
- if (n === 0)
215
- n = 1;
216
- if (m === -1)
217
- m = total;
218
- if (n < 1 || n > total)
219
- return { status: 416 };
220
- if (m < 1 || m > total)
221
- return { status: 416 };
222
- if (n > m)
223
- return { status: 416 };
224
- return { status: 200, items: items.slice(n - 1, m) };
225
- };
226
- const setSessionEntryVisibility = async (statement, ctx, manifest, target) => {
227
- if (statement.target === null)
228
- return { status: 400 };
229
- const { db, sessionId, runId } = ctx;
230
- const { name: scheme, channels, defaultChannel } = manifest;
231
- const fragment = fragmentOf(statement);
232
- const isMultiEntry = statement.body !== null
233
- || (Array.isArray(statement.signal) && statement.signal.length > 0)
234
- || statement.lineMarker !== null;
235
- if (!isMultiEntry) {
236
- // Single-entry path: exact pathname lookup.
237
- const pathname = pathnameOf(statement);
238
- const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
239
- if (entry === undefined)
240
- return { status: 404 };
241
- const upsertVis = db.ops_upsert_visibility;
242
- if (fragment === null) {
243
- const existing = await db.ops_list_visibility_for_entry.all({
244
- run_id: runId, entry_id: entry.id,
245
- });
246
- const existingByName = new Map(existing.map((r) => [r.channel, r.indexed]));
247
- let changed = 0;
248
- for (const channelName of Object.keys(channels)) {
249
- if (existingByName.get(channelName) === target)
250
- continue;
251
- await upsertVis.run({ run_id: runId, entry_id: entry.id, channel: channelName, indexed: target });
252
- changed += 1;
112
+ if (ctx.tokenize === undefined)
113
+ throw new Error("editSessionEntry: ctx.tokenize is required for token accounting");
114
+ await db.ops_upsert_channel.run({ entry_id: entryId, name: targetChannel, content: newContent, mimetype: effectiveMimetype, tokens: ctx.tokenize(newContent) });
115
+ await db.crud_write_visibility.run({ run_id: runId, entry_id: entryId, channel: targetChannel });
116
+ if (Array.isArray(statement.signal)) {
117
+ for (const tag of statement.signal) {
118
+ await db.crud_write_tag.run({ entry_id: entryId, tag });
253
119
  }
254
- return { status: changed === 0 ? 304 : 200 };
255
120
  }
256
- const targetChannel = resolveChannel(fragment, channels, defaultChannel);
121
+ return { status: createdNow ? 201 : 200, entryId, channel: targetChannel };
122
+ }
123
+ static async readSessionEntry(statement, ctx, manifest) {
124
+ if (statement.target === null)
125
+ return { status: 400, content: null, mimetype: null, channel: null };
126
+ const { db, sessionId } = ctx;
127
+ const { name: scheme, channels, defaultChannel } = manifest;
128
+ const fragment = EntryOps.#fragmentOf(statement);
129
+ const targetChannel = EntryOps.#resolveChannel(fragment, channels, defaultChannel);
257
130
  if (targetChannel === null)
258
- return { status: 400 };
259
- const current = await db.ops_get_visibility_for_channel.get({
260
- run_id: runId, entry_id: entry.id, channel: targetChannel,
131
+ return { status: 400, content: null, mimetype: null, channel: null };
132
+ const pathname = EntryOps.#pathnameOf(statement);
133
+ const row = await db.ops_read_channel.get({
134
+ session_id: sessionId, scheme, pathname, channel: targetChannel,
261
135
  });
262
- if (current?.indexed === target)
263
- return { status: 304 };
264
- await upsertVis.run({ run_id: runId, entry_id: entry.id, channel: targetChannel, indexed: target });
265
- return { status: 200 };
266
- }
267
- // Multi-entry path: target is treated as a pathname GLOB scope. Body
268
- // matcher (glob/regex) further filters by pathname; xpath/jsonpath
269
- // would filter by content (501 pending plurnk-mimetypes#3). Tag
270
- // signal filters by tag. <L> paginates the matched results.
271
- let regexFilter = null;
272
- let pathnameGlob = null;
273
- if (statement.body !== null) {
274
- if (statement.body.dialect === "glob") {
275
- pathnameGlob = statement.body.raw;
136
+ if (row === undefined)
137
+ return { status: 404, content: null, mimetype: null, channel: targetChannel };
138
+ if (MimetypeBinary.isBinaryMimetype(row.mimetype)) {
139
+ return { status: 415, content: null, mimetype: row.mimetype, channel: targetChannel };
276
140
  }
277
- else if (statement.body.dialect === "regex") {
278
- try {
279
- regexFilter = new RegExp(statement.body.pattern, statement.body.flags);
280
- }
281
- catch {
282
- return { status: 400 };
141
+ // `[tag]` filter: entry must have ALL requested tags. Mismatch = 404
142
+ // (entry doesn't match the tag-scoped READ).
143
+ if (Array.isArray(statement.signal) && statement.signal.length > 0) {
144
+ const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
145
+ if (entry === undefined)
146
+ return { status: 404, content: null, mimetype: null, channel: targetChannel };
147
+ const tagRows = await db.crud_read_tags.all({ entry_id: entry.id });
148
+ const have = new Set(tagRows.map((r) => r.tag));
149
+ for (const want of statement.signal) {
150
+ if (!have.has(want))
151
+ return { status: 404, content: null, mimetype: null, channel: targetChannel };
283
152
  }
284
153
  }
154
+ const r = await ReadResolve.resolve({
155
+ content: row.content,
156
+ mimetype: row.mimetype,
157
+ lineMarker: statement.lineMarker,
158
+ body: statement.body,
159
+ mimetypes: ctx.mimetypes,
160
+ });
161
+ return { ...r, channel: targetChannel };
162
+ }
163
+ static async #setSessionEntryVisibility(statement, ctx, manifest, target) {
164
+ if (statement.target === null)
165
+ return { status: 400 };
166
+ const { db, sessionId, runId } = ctx;
167
+ const { name: scheme, channels, defaultChannel } = manifest;
168
+ const bulkVis = db.bulk_upsert_visibility;
169
+ const fragment = EntryOps.#fragmentOf(statement);
170
+ const isMultiEntry = statement.body !== null
171
+ || (Array.isArray(statement.signal) && statement.signal.length > 0)
172
+ || statement.lineMarker !== null;
173
+ let pathnames;
174
+ if (!isMultiEntry) {
175
+ // Single-entry path: exact pathname lookup gates the 404 (the bulk flip
176
+ // can't distinguish "no entry" from "no change").
177
+ const pathname = EntryOps.#pathnameOf(statement);
178
+ const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
179
+ if (entry === undefined)
180
+ return { status: 404 };
181
+ pathnames = [pathname];
182
+ }
285
183
  else {
286
- return { status: 501 };
184
+ // Multi-entry path: scope + tags select candidates in SQL; the body
185
+ // matcher runs against each candidate's content, shared with FIND via
186
+ // matchPathnames.
187
+ const match = await EntryFind.matchPathnames(statement, ctx, manifest);
188
+ if (match.status !== 200)
189
+ return { status: match.status };
190
+ if (match.pathnames.length === 0)
191
+ return { status: 304 };
192
+ pathnames = match.pathnames;
287
193
  }
194
+ // Channels to flip: the fragment's channel, or every channel of the scheme.
195
+ let channelNames;
196
+ if (fragment === null) {
197
+ channelNames = Object.keys(channels);
198
+ }
199
+ else {
200
+ const targetChannel = EntryOps.#resolveChannel(fragment, channels, defaultChannel);
201
+ if (targetChannel === null)
202
+ return { status: 400 };
203
+ channelNames = [targetChannel];
204
+ }
205
+ // One bulk set-op flips (matched entries x channels), skipping rows already
206
+ // at the target; changes() is the real changed-count -> 304 when nothing moved.
207
+ const { changes } = await bulkVis.run({
208
+ run_id: runId, session_id: sessionId, scheme,
209
+ pathnames: JSON.stringify(pathnames), channels: JSON.stringify(channelNames), indexed: target,
210
+ });
211
+ return { status: changes === 0 ? 304 : 200 };
288
212
  }
289
- const scopePathname = pathnameOf(statement);
290
- const scopeGlob = scopePathname.length > 0 ? `${scopePathname}*` : null;
291
- const tags = Array.isArray(statement.signal) ? statement.signal : [];
292
- const tagsParam = tags.length > 0 ? JSON.stringify(tags) : "[]";
293
- const rows = await db.find_session_entries.all({
294
- session_id: sessionId, scheme,
295
- scope_pathname: scopeGlob,
296
- pathname_pattern: pathnameGlob,
297
- tags: tagsParam,
298
- });
299
- let pathnames = rows.map((r) => r.pathname);
300
- if (regexFilter !== null)
301
- pathnames = pathnames.filter((p) => regexFilter.test(p));
302
- if (statement.lineMarker !== null) {
303
- const page = paginateResults(pathnames, statement.lineMarker);
304
- if (page.status !== 200)
305
- return { status: page.status };
306
- pathnames = page.items ?? [];
307
- }
308
- if (pathnames.length === 0)
309
- return { status: 304 };
310
- // Resolve fragment to a target channel (applies uniformly across matches).
311
- let scopeChannel = null;
312
- if (fragment !== null) {
313
- scopeChannel = resolveChannel(fragment, channels, defaultChannel);
314
- if (scopeChannel === null)
315
- return { status: 400 };
213
+ static async showSessionEntry(statement, ctx, manifest) {
214
+ return EntryOps.#setSessionEntryVisibility(statement, ctx, manifest, 1);
316
215
  }
317
- const upsertVis = db.ops_upsert_visibility;
318
- let changed = 0;
319
- for (const p of pathnames) {
320
- const e = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname: p });
321
- if (e === undefined)
322
- continue;
323
- const channelsToFlip = scopeChannel !== null ? [scopeChannel] : Object.keys(channels);
324
- for (const channelName of channelsToFlip) {
325
- const current = await db.ops_get_visibility_for_channel.get({
326
- run_id: runId, entry_id: e.id, channel: channelName,
327
- });
328
- if (current?.indexed === target)
329
- continue;
330
- await upsertVis.run({ run_id: runId, entry_id: e.id, channel: channelName, indexed: target });
331
- changed += 1;
332
- }
216
+ static async hideSessionEntry(statement, ctx, manifest) {
217
+ return EntryOps.#setSessionEntryVisibility(statement, ctx, manifest, 0);
333
218
  }
334
- return { status: changed === 0 ? 304 : 200 };
335
- };
336
- export const showSessionEntry = async (statement, ctx, manifest) => setSessionEntryVisibility(statement, ctx, manifest, 1);
337
- export const hideSessionEntry = async (statement, ctx, manifest) => setSessionEntryVisibility(statement, ctx, manifest, 0);
219
+ }
338
220
  //# sourceMappingURL=_entry-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-ops.js","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-ops.js","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,8 @@ export interface SendResult {
4
4
  status: number;
5
5
  [key: string]: unknown;
6
6
  }
7
- export declare const sendToSessionEntry: (statement: SendStatement, ctx: PlurnkSchemeContext, scheme: string) => Promise<SendResult>;
7
+ export default class EntrySend {
8
+ #private;
9
+ static sendToSessionEntry(statement: SendStatement, ctx: PlurnkSchemeContext, scheme: string): Promise<SendResult>;
10
+ }
8
11
  //# sourceMappingURL=_entry-send.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-send.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-send.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAeD,eAAO,MAAM,kBAAkB,GAAU,WAAW,aAAa,EAAE,KAAK,mBAAmB,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,UAAU,CAuC/H,CAAC"}
1
+ {"version":3,"file":"_entry-send.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-send.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;;WAcb,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAwC3H"}