@plurnk/plurnk-service 0.3.0 → 0.4.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 (92) hide show
  1. package/SPEC.md +35 -26
  2. package/dist/core/ChannelWrite.d.ts +10 -0
  3. package/dist/core/ChannelWrite.d.ts.map +1 -1
  4. package/dist/core/ChannelWrite.js.map +1 -1
  5. package/dist/core/Engine.d.ts +9 -1
  6. package/dist/core/Engine.d.ts.map +1 -1
  7. package/dist/core/Engine.js +260 -53
  8. package/dist/core/Engine.js.map +1 -1
  9. package/dist/core/line-marker.d.ts +23 -0
  10. package/dist/core/line-marker.d.ts.map +1 -0
  11. package/dist/core/line-marker.js +321 -0
  12. package/dist/core/line-marker.js.map +1 -0
  13. package/dist/core/matcher.d.ts +14 -0
  14. package/dist/core/matcher.d.ts.map +1 -0
  15. package/dist/core/matcher.js +195 -0
  16. package/dist/core/matcher.js.map +1 -0
  17. package/dist/core/mimetype-binary.d.ts +6 -0
  18. package/dist/core/mimetype-binary.d.ts.map +1 -0
  19. package/dist/core/mimetype-binary.js +82 -0
  20. package/dist/core/mimetype-binary.js.map +1 -0
  21. package/dist/core/packet-wire.d.ts.map +1 -1
  22. package/dist/core/packet-wire.js +97 -21
  23. package/dist/core/packet-wire.js.map +1 -1
  24. package/dist/core/path-mimetype.d.ts +3 -0
  25. package/dist/core/path-mimetype.d.ts.map +1 -0
  26. package/dist/core/path-mimetype.js +47 -0
  27. package/dist/core/path-mimetype.js.map +1 -0
  28. package/dist/core/scheme-types.d.ts +5 -0
  29. package/dist/core/scheme-types.d.ts.map +1 -1
  30. package/dist/core/scheme-types.js.map +1 -1
  31. package/dist/schemes/Exec.d.ts +30 -1
  32. package/dist/schemes/Exec.d.ts.map +1 -1
  33. package/dist/schemes/Exec.js +229 -6
  34. package/dist/schemes/Exec.js.map +1 -1
  35. package/dist/schemes/File.d.ts +4 -0
  36. package/dist/schemes/File.d.ts.map +1 -1
  37. package/dist/schemes/File.js +107 -23
  38. package/dist/schemes/File.js.map +1 -1
  39. package/dist/schemes/Log.d.ts +2 -0
  40. package/dist/schemes/Log.d.ts.map +1 -1
  41. package/dist/schemes/Log.js +82 -13
  42. package/dist/schemes/Log.js.map +1 -1
  43. package/dist/schemes/Plurnk.js +3 -3
  44. package/dist/schemes/Plurnk.js.map +1 -1
  45. package/dist/schemes/_entry-crud.d.ts +2 -0
  46. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  47. package/dist/schemes/_entry-crud.js +1 -0
  48. package/dist/schemes/_entry-crud.js.map +1 -1
  49. package/dist/schemes/_entry-find.d.ts.map +1 -1
  50. package/dist/schemes/_entry-find.js +64 -15
  51. package/dist/schemes/_entry-find.js.map +1 -1
  52. package/dist/schemes/_entry-ops.d.ts +3 -0
  53. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  54. package/dist/schemes/_entry-ops.js +268 -55
  55. package/dist/schemes/_entry-ops.js.map +1 -1
  56. package/dist/schemes/_entry-send.d.ts.map +1 -1
  57. package/dist/schemes/_entry-send.js +14 -7
  58. package/dist/schemes/_entry-send.js.map +1 -1
  59. package/dist/server/ClientConnection.d.ts +3 -2
  60. package/dist/server/ClientConnection.d.ts.map +1 -1
  61. package/dist/server/ClientConnection.js +4 -1
  62. package/dist/server/ClientConnection.js.map +1 -1
  63. package/dist/server/Daemon.d.ts +40 -1
  64. package/dist/server/Daemon.d.ts.map +1 -1
  65. package/dist/server/Daemon.js +319 -1
  66. package/dist/server/Daemon.js.map +1 -1
  67. package/dist/server/MethodRegistry.d.ts +29 -0
  68. package/dist/server/MethodRegistry.d.ts.map +1 -1
  69. package/dist/server/MethodRegistry.js.map +1 -1
  70. package/dist/server/dsl.d.ts +2 -2
  71. package/dist/server/dsl.d.ts.map +1 -1
  72. package/dist/server/dsl.js +10 -10
  73. package/dist/server/dsl.js.map +1 -1
  74. package/dist/server/methods/entry_read.js +5 -5
  75. package/dist/server/methods/entry_read.js.map +1 -1
  76. package/dist/server/methods/loop_cancel.d.ts +3 -0
  77. package/dist/server/methods/loop_cancel.d.ts.map +1 -0
  78. package/dist/server/methods/loop_cancel.js +27 -0
  79. package/dist/server/methods/loop_cancel.js.map +1 -0
  80. package/dist/server/methods/loop_run.d.ts.map +1 -1
  81. package/dist/server/methods/loop_run.js +46 -47
  82. package/dist/server/methods/loop_run.js.map +1 -1
  83. package/dist/server/methods/op_edit.js +3 -3
  84. package/dist/server/methods/op_edit.js.map +1 -1
  85. package/dist/server/methods/op_hide.js +3 -3
  86. package/dist/server/methods/op_hide.js.map +1 -1
  87. package/dist/server/methods/op_read.js +3 -3
  88. package/dist/server/methods/op_read.js.map +1 -1
  89. package/dist/server/methods/op_show.js +3 -3
  90. package/dist/server/methods/op_show.js.map +1 -1
  91. package/migrations/001_schema.sql +1 -1
  92. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../src/server/dsl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../src/server/dsl.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,11 @@ export const register = (registry) => {
32
32
  registry.registerMethod("entry.read", {
33
33
  handler: async (params, ctx) => {
34
34
  const p = (params ?? {});
35
- if (typeof p.path !== "string" || p.path.length === 0)
36
- throw new Error("entry.read requires params.path: string");
37
- const parsed = parsePath(p.path);
35
+ if (typeof p.target !== "string" || p.target.length === 0)
36
+ throw new Error("entry.read requires params.target: string");
37
+ const parsed = parsePath(p.target);
38
38
  if (parsed === null)
39
- throw new Error(`entry.read: path must be URL-shaped (scheme://pathname); got: ${p.path}`);
39
+ throw new Error(`entry.read: path must be URL-shaped (scheme://pathname); got: ${p.target}`);
40
40
  const sessionId = p.sessionId ?? ctx.session?.sessionId;
41
41
  if (sessionId === undefined)
42
42
  throw new Error("entry.read requires a sessionId (either via params or session attach)");
@@ -47,7 +47,7 @@ export const register = (registry) => {
47
47
  },
48
48
  description: "Read the full entry shape (channels + tags + metadata) at the given path.",
49
49
  params: {
50
- path: "string — entry path (URL-shaped: scheme://pathname)",
50
+ target: "string — entry path (URL-shaped: scheme://pathname)",
51
51
  sessionId: "number? — defaults to the connection's attached session",
52
52
  },
53
53
  requiresInit: true,
@@ -1 +1 @@
1
- {"version":3,"file":"entry_read.js","sourceRoot":"","sources":["../../../src/server/methods/entry_read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry_read.js","sourceRoot":"","sources":["../../../src/server/methods/entry_read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type MethodRegistry from "../MethodRegistry.ts";
2
+ export declare const register: (registry: MethodRegistry) => void;
3
+ //# sourceMappingURL=loop_cancel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop_cancel.d.ts","sourceRoot":"","sources":["../../../src/server/methods/loop_cancel.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAMvD,eAAO,MAAM,QAAQ,GAAI,UAAU,cAAc,KAAG,IAenD,CAAC"}
@@ -0,0 +1,27 @@
1
+ // loop.cancel — abort the run's active drain. Fires the drain's
2
+ // AbortController, which cascades to engine.runLoop's loop signal, which
3
+ // in turn aborts in-flight scheme operations (exec spawns, future
4
+ // SSE/WS). Queued loops in the run remain enqueued for a subsequent
5
+ // loop.run to pick up.
6
+ //
7
+ // Pairs with loop.run for "redirect" UX: cancel the runaway loop, then
8
+ // send a fresh prompt. Without this, the user would have to wait for
9
+ // the loop to hit max_turns / strike out.
10
+ export const register = (registry) => {
11
+ registry.registerMethod("loop.cancel", {
12
+ handler: async (params, ctx) => {
13
+ if (ctx.session === null)
14
+ throw new Error("loop.cancel requires an attached session");
15
+ const p = (params ?? {});
16
+ const reason = (typeof p.reason === "string" && p.reason.length > 0) ? p.reason : "user_cancelled";
17
+ const cancelled = ctx.daemon.cancelDrain(ctx.session.runId, reason);
18
+ return { cancelled, runId: ctx.session.runId, reason };
19
+ },
20
+ description: "Abort the run's active drain. Returns {cancelled: true} if a drain was running; {cancelled: false} if the run was already idle. Cancelled loops close at status 499. Queued (but not yet claimed) loops remain enqueued; subsequent loop.run resumes the queue.",
21
+ params: {
22
+ reason: "string? — optional human-readable cancellation reason; defaults to 'user_cancelled'",
23
+ },
24
+ requiresInit: true,
25
+ });
26
+ };
27
+ //# sourceMappingURL=loop_cancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop_cancel.js","sourceRoot":"","sources":["../../../src/server/methods/loop_cancel.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,yEAAyE;AACzE,kEAAkE;AAClE,oEAAoE;AACpE,uBAAuB;AACvB,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,0CAA0C;AAQ1C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE;QACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACtF,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACnG,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3D,CAAC;QACD,WAAW,EAAE,iQAAiQ;QAC9Q,MAAM,EAAE;YACJ,MAAM,EAAE,qFAAqF;SAChG;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop_run.d.ts","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AA+BvD,eAAO,MAAM,QAAQ,GAAI,UAAU,cAAc,KAAG,IAgHnD,CAAC"}
1
+ {"version":3,"file":"loop_run.d.ts","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AA4BvD,eAAO,MAAM,QAAQ,GAAI,UAAU,cAAc,KAAG,IAgHnD,CAAC"}
@@ -1,11 +1,9 @@
1
- // loop.run — model-driven loop. Reads sysprompt, creates a new model loop
2
- // in the connection's run, calls Engine.runLoop with onDispatch firing
3
- // log/entry notifications, fires loop/terminated on completion.
1
+ // loop.run — model-driven loop. Validates params, resolves provider,
2
+ // delegates to daemon.inject. inject decides: active drain write prompt
3
+ // entry for next turn; idle → enqueue + start drain.
4
4
  import { readFile } from "node:fs/promises";
5
- import { fetchLogEntry } from "../logEntry.js";
6
5
  import { PATHS } from "../../index.js";
7
6
  import { parseAliasesFromEnv, instantiateProvider } from "../../core/ProviderRegistry.js";
8
- import { DEFAULT_LOOP_FLAGS } from "../../core/scheme-types.js";
9
7
  export const register = (registry) => {
10
8
  registry.registerMethod("loop.run", {
11
9
  handler: async (params, ctx) => {
@@ -55,52 +53,53 @@ export const register = (registry) => {
55
53
  }
56
54
  const { sessionId, runId } = ctx.session;
57
55
  const systemPrompt = await readFile(PATHS.instructionsSystem, "utf8");
58
- // packet.system.persona — default from persona.md. issue #150 will
59
- // add loop.run({persona}) and session.attach({persona}) overrides;
60
- // until then every loop carries the default.
61
56
  const persona = await readFile(PATHS.defaultPersona, "utf8");
62
- const seqRow = await ctx.db.loop_run_next_sequence.get({ run_id: runId });
63
- if (seqRow === undefined)
64
- throw new Error("loop.run: next-sequence query returned no row");
65
- const loop = await ctx.db.loop_run_insert_loop.get({
66
- run_id: runId, sequence: seqRow.next, prompt: p.prompt, persona: loopPersona,
57
+ // Delegate to the daemon's unified inject surface. Active-drain
58
+ // → write prompt entry for next turn (returns immediately).
59
+ // Idle run enqueue + start drain (await drain to completion).
60
+ const injected = await ctx.daemon.inject({
61
+ sessionId, runId, prompt: p.prompt,
62
+ provider, persona, systemPrompt,
63
+ maxTurns, flags: p.flags, personaOverride: loopPersona,
67
64
  });
68
- if (loop === undefined)
69
- throw new Error("loop.run: loop insert returned no row");
70
- const loopId = loop.id;
71
- // Persist per-loop flags if supplied. Merge over DEFAULT_LOOP_FLAGS
72
- // so the JSON column always has a complete shape — yolo listener
73
- // and scheme dispatch read with the same merge convention.
74
- // (Param validation happened up-front; this branch only persists.)
75
- if (p.flags !== undefined) {
76
- const merged = { ...DEFAULT_LOOP_FLAGS, ...p.flags };
77
- await ctx.db.engine_set_loop_flags.run({
78
- loop_id: loopId, flags: JSON.stringify(merged),
79
- });
65
+ if (injected.action === "injected_next_turn") {
66
+ // Active drain prompt landed in the current loop's
67
+ // next-turn slot. Return immediately; the existing
68
+ // drain's notifications surface progress.
69
+ return {
70
+ loopId: injected.loopId,
71
+ turnSeq: injected.turnSeq,
72
+ action: "injected_next_turn",
73
+ finalStatus: 100,
74
+ hitMaxTurns: false,
75
+ turnIds: [],
76
+ };
77
+ }
78
+ // enqueued_new_loop:
79
+ // - Drain started by THIS call: firstLoopPromise is the
80
+ // promise for the loop just enqueued; await it.
81
+ // - Drain was already active (concurrent loop.run race
82
+ // where engine.inject returned null): the loop is in
83
+ // the queue, the existing drain will claim it. No
84
+ // firstLoopPromise — return immediately with status=100
85
+ // and let the client subscribe to loop/terminated.
86
+ if (injected.firstLoopPromise === undefined) {
87
+ return {
88
+ loopId: injected.loopId,
89
+ action: "enqueued_new_loop",
90
+ finalStatus: 100,
91
+ hitMaxTurns: false,
92
+ turnIds: [],
93
+ };
80
94
  }
81
- const onDispatch = (logEntryId) => {
82
- void (async () => {
83
- const entry = await fetchLogEntry(ctx.db, logEntryId);
84
- ctx.notify({ sessionId }, "log/entry", { entry });
85
- })();
95
+ const first = await injected.firstLoopPromise;
96
+ return {
97
+ loopId: first.loopId,
98
+ turnIds: first.turnIds,
99
+ finalStatus: first.finalStatus,
100
+ hitMaxTurns: first.hitMaxTurns,
101
+ action: "enqueued_new_loop",
86
102
  };
87
- const result = await ctx.engine.runLoop({
88
- provider,
89
- messages: [
90
- { role: "system", content: systemPrompt },
91
- { role: "user", content: p.prompt },
92
- ],
93
- persona,
94
- sessionId, runId, loopId, maxTurns,
95
- origin: "model",
96
- onDispatch,
97
- });
98
- ctx.notify({ sessionId }, "loop/terminated", {
99
- loopId,
100
- finalStatus: result.finalStatus,
101
- hitMaxTurns: result.hitMaxTurns,
102
- });
103
- return { loopId, ...result };
104
103
  },
105
104
  description: "Run a model-driven loop with a prompt. Optional per-call `alias` resolves a PLURNK_MODEL_<alias> override. Optional `flags.yolo:true` enables server-side YOLO (daemon auto-accepts proposals in-process; intended for benchmarks and automation, NOT standard client UX — see client SPEC §6.3 for client-side YOLO). Optional `persona` sets the loop-level persona override (highest precedence in the cascade loops > runs > sessions > PLURNK_PERSONA file). Streams log/entry notifications; fires loop/terminated on completion.",
106
105
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,14 @@ export const register = (registry) => {
4
4
  registry.registerMethod("op.edit", {
5
5
  handler: async (params, ctx) => {
6
6
  const p = (params ?? {});
7
- if (typeof p.path !== "string" || p.path.length === 0)
8
- throw new Error("op.edit requires params.path: string");
7
+ if (typeof p.target !== "string" || p.target.length === 0)
8
+ throw new Error("op.edit requires params.target: string");
9
9
  const statement = buildEdit(p);
10
10
  return dispatchAsClient(ctx, statement);
11
11
  },
12
12
  description: "EDIT — write or update an entry's body.",
13
13
  params: {
14
- path: "string — entry path (e.g. known://france/capital)",
14
+ target: "string — entry path (e.g. known://france/capital)",
15
15
  content: "string? — entry body (empty/omitted clears)",
16
16
  tags: "string[]? — tag set",
17
17
  lineRange: "LineMarker? — insertion point or replace range",
@@ -1 +1 @@
1
- {"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,yCAAyC;QACtD,MAAM,EAAE;YACJ,IAAI,EAAE,mDAAmD;YACzD,OAAO,EAAE,6CAA6C;YACtD,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,gDAAgD;SAC9D;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACrH,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,yCAAyC;QACtD,MAAM,EAAE;YACJ,MAAM,EAAE,mDAAmD;YAC3D,OAAO,EAAE,6CAA6C;YACtD,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,gDAAgD;SAC9D;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -4,14 +4,14 @@ export const register = (registry) => {
4
4
  registry.registerMethod("op.hide", {
5
5
  handler: async (params, ctx) => {
6
6
  const p = (params ?? {});
7
- if (typeof p.path !== "string" || p.path.length === 0)
8
- throw new Error("op.hide requires params.path: string");
7
+ if (typeof p.target !== "string" || p.target.length === 0)
8
+ throw new Error("op.hide requires params.target: string");
9
9
  const statement = buildHide(p);
10
10
  return dispatchAsClient(ctx, statement);
11
11
  },
12
12
  description: "HIDE — demote an entry from the active index to the archive.",
13
13
  params: {
14
- path: "string — entry path",
14
+ target: "string — entry path",
15
15
  matcher: "string? — body matcher (glob/regex/xpath/jsonpath)",
16
16
  tags: "string[]? — tag filter",
17
17
  lineRange: "LineMarker? — result range",
@@ -1 +1 @@
1
- {"version":3,"file":"op_hide.js","sourceRoot":"","sources":["../../../src/server/methods/op_hide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,8DAA8D;QAC3E,MAAM,EAAE;YACJ,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,4BAA4B;SAC1C;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"op_hide.js","sourceRoot":"","sources":["../../../src/server/methods/op_hide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACrH,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,8DAA8D;QAC3E,MAAM,EAAE;YACJ,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,4BAA4B;SAC1C;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -4,14 +4,14 @@ export const register = (registry) => {
4
4
  registry.registerMethod("op.read", {
5
5
  handler: async (params, ctx) => {
6
6
  const p = (params ?? {});
7
- if (typeof p.path !== "string" || p.path.length === 0)
8
- throw new Error("op.read requires params.path: string");
7
+ if (typeof p.target !== "string" || p.target.length === 0)
8
+ throw new Error("op.read requires params.target: string");
9
9
  const statement = buildRead(p);
10
10
  return dispatchAsClient(ctx, statement);
11
11
  },
12
12
  description: "READ — fetch an entry's body or a slice of it.",
13
13
  params: {
14
- path: "string — entry path",
14
+ target: "string — entry path",
15
15
  matcher: "string? — body matcher (glob/regex/xpath/jsonpath; dialect determined by leading chars)",
16
16
  lineRange: "LineMarker? — line range slice",
17
17
  tags: "string[]? — tag filter",
@@ -1 +1 @@
1
- {"version":3,"file":"op_read.js","sourceRoot":"","sources":["../../../src/server/methods/op_read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,gDAAgD;QAC7D,MAAM,EAAE;YACJ,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,yFAAyF;YAClG,SAAS,EAAE,gCAAgC;YAC3C,IAAI,EAAE,wBAAwB;SACjC;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"op_read.js","sourceRoot":"","sources":["../../../src/server/methods/op_read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACrH,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,gDAAgD;QAC7D,MAAM,EAAE;YACJ,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,yFAAyF;YAClG,SAAS,EAAE,gCAAgC;YAC3C,IAAI,EAAE,wBAAwB;SACjC;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -4,14 +4,14 @@ export const register = (registry) => {
4
4
  registry.registerMethod("op.show", {
5
5
  handler: async (params, ctx) => {
6
6
  const p = (params ?? {});
7
- if (typeof p.path !== "string" || p.path.length === 0)
8
- throw new Error("op.show requires params.path: string");
7
+ if (typeof p.target !== "string" || p.target.length === 0)
8
+ throw new Error("op.show requires params.target: string");
9
9
  const statement = buildShow(p);
10
10
  return dispatchAsClient(ctx, statement);
11
11
  },
12
12
  description: "SHOW — promote an entry to the active index.",
13
13
  params: {
14
- path: "string — entry path",
14
+ target: "string — entry path",
15
15
  matcher: "string? — body matcher (glob/regex/xpath/jsonpath)",
16
16
  tags: "string[]? — tag filter",
17
17
  lineRange: "LineMarker? — result range",
@@ -1 +1 @@
1
- {"version":3,"file":"op_show.js","sourceRoot":"","sources":["../../../src/server/methods/op_show.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,8CAA8C;QAC3D,MAAM,EAAE;YACJ,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,4BAA4B;SAC1C;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"op_show.js","sourceRoot":"","sources":["../../../src/server/methods/op_show.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAQ,EAAE;IACvD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;YACnC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACrH,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,EAAE,8CAA8C;QAC3D,MAAM,EAAE;YACJ,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,4BAA4B;SAC1C;QACD,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -48,7 +48,7 @@ CREATE TABLE IF NOT EXISTS loops (
48
48
  version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
49
49
  run_id INTEGER NOT NULL,
50
50
  sequence INTEGER NOT NULL CHECK (sequence >= 1),
51
- status INTEGER NOT NULL DEFAULT 102 CHECK (status IN (102, 200, 499)),
51
+ status INTEGER NOT NULL DEFAULT 102 CHECK (status IN (100, 102, 200, 499)),
52
52
  prompt TEXT NOT NULL,
53
53
  flags TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(flags)),
54
54
  persona TEXT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-service",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -32,17 +32,18 @@
32
32
  "test:lint": "tsc --noEmit",
33
33
  "test:unit": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test src/**/*.test.ts",
34
34
  "test:intg": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test test/intg/*.test.ts",
35
- "test:live": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test test/live/*.test.ts",
36
- "test:demo": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test test/demo/*.test.ts",
35
+ "test:live": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
36
+ "test:demo": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
37
37
  "test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
38
38
  "test:digest": "node bin/digest.js",
39
+ "test:clean-tmp": "rm -rf test/intg/.tmp",
39
40
  "dev:digest": "node bin/digest.js",
40
41
  "build:dist": "tsc -p tsconfig.build.json",
41
42
  "build": "npm run build:dist",
42
43
  "prepare": "npm run build"
43
44
  },
44
45
  "dependencies": {
45
- "@plurnk/plurnk-grammar": "^0.9.0",
46
+ "@plurnk/plurnk-grammar": "^0.14.0",
46
47
  "@plurnk/plurnk-mimetypes": "^0.3.1",
47
48
  "@plurnk/plurnk-mimetypes-application-json": "^0.2.0",
48
49
  "@plurnk/plurnk-mimetypes-application-pdf": "^0.3.0",