@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.
- package/SPEC.md +104 -74
- package/bin/plurnk-service.ts +132 -0
- package/dist/Paths.d.ts +8 -0
- package/dist/Paths.d.ts.map +1 -0
- package/dist/Paths.js +47 -0
- package/dist/Paths.js.map +1 -0
- package/dist/content/index.d.ts +9 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +10 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/line-marker.d.ts +26 -0
- package/dist/content/line-marker.d.ts.map +1 -0
- package/dist/content/line-marker.js +323 -0
- package/dist/content/line-marker.js.map +1 -0
- package/dist/content/matcher.d.ts +15 -0
- package/dist/content/matcher.d.ts.map +1 -0
- package/dist/content/matcher.js +112 -0
- package/dist/content/matcher.js.map +1 -0
- package/dist/content/mimetype-binary.d.ts +9 -0
- package/dist/content/mimetype-binary.d.ts.map +1 -0
- package/dist/content/mimetype-binary.js +86 -0
- package/dist/content/mimetype-binary.js.map +1 -0
- package/dist/content/path-mimetype.d.ts +6 -0
- package/dist/content/path-mimetype.d.ts.map +1 -0
- package/dist/content/path-mimetype.js +49 -0
- package/dist/content/path-mimetype.js.map +1 -0
- package/dist/content/read-resolve.d.ts +20 -0
- package/dist/content/read-resolve.d.ts.map +1 -0
- package/dist/content/read-resolve.js +60 -0
- package/dist/content/read-resolve.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +33 -30
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +43 -41
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/Engine.d.ts +14 -10
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +269 -94
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.d.ts +6 -3
- package/dist/core/EnvFlags.d.ts.map +1 -1
- package/dist/core/EnvFlags.js +62 -60
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/PluginLoader.d.ts +6 -3
- package/dist/core/PluginLoader.d.ts.map +1 -1
- package/dist/core/PluginLoader.js +77 -73
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +4 -2
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +23 -22
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +1 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +3 -3
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/git-membership.d.ts +8 -0
- package/dist/core/git-membership.d.ts.map +1 -0
- package/dist/core/git-membership.js +125 -0
- package/dist/core/git-membership.js.map +1 -0
- package/dist/core/packet-wire.d.ts +47 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +376 -312
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/resolveForLoop.d.ts +14 -0
- package/dist/core/resolveForLoop.d.ts.map +1 -0
- package/dist/core/resolveForLoop.js +34 -0
- package/dist/core/resolveForLoop.js.map +1 -0
- package/dist/core/results.d.ts +40 -0
- package/dist/core/results.d.ts.map +1 -0
- package/dist/core/results.js +52 -0
- package/dist/core/results.js.map +1 -0
- package/dist/core/scheme-types.d.ts +5 -4
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js +4 -4
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/types.d.ts +27 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +17 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -43
- package/dist/index.js.map +1 -1
- package/dist/schemes/Exec.d.ts +1 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +37 -21
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts +0 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +32 -66
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Known.d.ts.map +1 -1
- package/dist/schemes/Known.js +13 -13
- package/dist/schemes/Known.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +8 -52
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.d.ts.map +1 -1
- package/dist/schemes/Plurnk.js +13 -13
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +13 -13
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Unknown.d.ts.map +1 -1
- package/dist/schemes/Unknown.js +13 -13
- package/dist/schemes/Unknown.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +5 -3
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +55 -50
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts +10 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +99 -77
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +6 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -0
- package/dist/schemes/_entry-manifest.js +45 -0
- package/dist/schemes/_entry-manifest.js.map +1 -0
- package/dist/schemes/_entry-ops.d.ts +7 -4
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +198 -316
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-send.d.ts +4 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +57 -55
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/server/ClientConnection.js +3 -3
- package/dist/server/ClientConnection.js.map +1 -1
- package/dist/server/Daemon.d.ts +5 -5
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +221 -176
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/clientTurn.d.ts +4 -1
- package/dist/server/clientTurn.d.ts.map +1 -1
- package/dist/server/clientTurn.js +19 -17
- package/dist/server/clientTurn.js.map +1 -1
- package/dist/server/dsl.d.ts +19 -16
- package/dist/server/dsl.d.ts.map +1 -1
- package/dist/server/dsl.js +127 -105
- package/dist/server/dsl.js.map +1 -1
- package/dist/server/envelope.d.ts +22 -19
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +116 -102
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/logEntry.d.ts +4 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +41 -39
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/methods/_dispatchAsClient.d.ts +3 -1
- package/dist/server/methods/_dispatchAsClient.d.ts.map +1 -1
- package/dist/server/methods/_dispatchAsClient.js +31 -29
- package/dist/server/methods/_dispatchAsClient.js.map +1 -1
- package/dist/server/methods/discover.d.ts +3 -1
- package/dist/server/methods/discover.d.ts.map +1 -1
- package/dist/server/methods/discover.js +8 -6
- package/dist/server/methods/discover.js.map +1 -1
- package/dist/server/methods/entry_read.d.ts +4 -1
- package/dist/server/methods/entry_read.d.ts.map +1 -1
- package/dist/server/methods/entry_read.js +54 -52
- package/dist/server/methods/entry_read.js.map +1 -1
- package/dist/server/methods/log_read.d.ts +4 -1
- package/dist/server/methods/log_read.d.ts.map +1 -1
- package/dist/server/methods/log_read.js +38 -36
- package/dist/server/methods/log_read.js.map +1 -1
- package/dist/server/methods/loop_cancel.d.ts +3 -1
- package/dist/server/methods/loop_cancel.d.ts.map +1 -1
- package/dist/server/methods/loop_cancel.js +19 -17
- package/dist/server/methods/loop_cancel.js.map +1 -1
- package/dist/server/methods/loop_resolve.d.ts +3 -1
- package/dist/server/methods/loop_resolve.d.ts.map +1 -1
- package/dist/server/methods/loop_resolve.js +42 -40
- package/dist/server/methods/loop_resolve.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts +3 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +104 -102
- package/dist/server/methods/loop_run.js.map +1 -1
- package/dist/server/methods/op_copy.d.ts +3 -1
- package/dist/server/methods/op_copy.d.ts.map +1 -1
- package/dist/server/methods/op_copy.js +25 -23
- package/dist/server/methods/op_copy.js.map +1 -1
- package/dist/server/methods/op_dispatch.d.ts +3 -1
- package/dist/server/methods/op_dispatch.d.ts.map +1 -1
- package/dist/server/methods/op_dispatch.js +18 -16
- package/dist/server/methods/op_dispatch.js.map +1 -1
- package/dist/server/methods/op_edit.d.ts +3 -1
- package/dist/server/methods/op_edit.d.ts.map +1 -1
- package/dist/server/methods/op_edit.js +23 -21
- package/dist/server/methods/op_edit.js.map +1 -1
- package/dist/server/methods/op_exec.d.ts +3 -1
- package/dist/server/methods/op_exec.d.ts.map +1 -1
- package/dist/server/methods/op_exec.js +20 -18
- package/dist/server/methods/op_exec.js.map +1 -1
- package/dist/server/methods/op_find.d.ts +3 -1
- package/dist/server/methods/op_find.d.ts.map +1 -1
- package/dist/server/methods/op_find.js +23 -21
- package/dist/server/methods/op_find.js.map +1 -1
- package/dist/server/methods/op_hide.d.ts +3 -1
- package/dist/server/methods/op_hide.d.ts.map +1 -1
- package/dist/server/methods/op_hide.js +23 -21
- package/dist/server/methods/op_hide.js.map +1 -1
- package/dist/server/methods/op_move.d.ts +3 -1
- package/dist/server/methods/op_move.d.ts.map +1 -1
- package/dist/server/methods/op_move.js +23 -21
- package/dist/server/methods/op_move.js.map +1 -1
- package/dist/server/methods/op_parse.d.ts +3 -1
- package/dist/server/methods/op_parse.d.ts.map +1 -1
- package/dist/server/methods/op_parse.js +24 -22
- package/dist/server/methods/op_parse.js.map +1 -1
- package/dist/server/methods/op_read.d.ts +3 -1
- package/dist/server/methods/op_read.d.ts.map +1 -1
- package/dist/server/methods/op_read.js +23 -21
- package/dist/server/methods/op_read.js.map +1 -1
- package/dist/server/methods/op_send.d.ts +3 -1
- package/dist/server/methods/op_send.d.ts.map +1 -1
- package/dist/server/methods/op_send.js +22 -20
- package/dist/server/methods/op_send.js.map +1 -1
- package/dist/server/methods/op_show.d.ts +3 -1
- package/dist/server/methods/op_show.d.ts.map +1 -1
- package/dist/server/methods/op_show.js +23 -21
- package/dist/server/methods/op_show.js.map +1 -1
- package/dist/server/methods/ping.d.ts +3 -1
- package/dist/server/methods/ping.d.ts.map +1 -1
- package/dist/server/methods/ping.js +8 -6
- package/dist/server/methods/ping.js.map +1 -1
- package/dist/server/methods/providers_list.d.ts +3 -1
- package/dist/server/methods/providers_list.d.ts.map +1 -1
- package/dist/server/methods/providers_list.js +19 -17
- package/dist/server/methods/providers_list.js.map +1 -1
- package/dist/server/methods/session_attach.d.ts +3 -1
- package/dist/server/methods/session_attach.d.ts.map +1 -1
- package/dist/server/methods/session_attach.js +43 -41
- package/dist/server/methods/session_attach.js.map +1 -1
- package/dist/server/methods/session_create.d.ts +3 -1
- package/dist/server/methods/session_create.d.ts.map +1 -1
- package/dist/server/methods/session_create.js +51 -49
- package/dist/server/methods/session_create.js.map +1 -1
- package/dist/server/methods/session_list.d.ts +3 -1
- package/dist/server/methods/session_list.d.ts.map +1 -1
- package/dist/server/methods/session_list.js +9 -7
- package/dist/server/methods/session_list.js.map +1 -1
- package/dist/server/methods/session_runs.d.ts +3 -1
- package/dist/server/methods/session_runs.d.ts.map +1 -1
- package/dist/server/methods/session_runs.js +19 -17
- package/dist/server/methods/session_runs.js.map +1 -1
- package/dist/server/methods/session_set_persona.d.ts +3 -1
- package/dist/server/methods/session_set_persona.d.ts.map +1 -1
- package/dist/server/methods/session_set_persona.js +28 -26
- package/dist/server/methods/session_set_persona.js.map +1 -1
- package/dist/server/methods/session_set_root.d.ts +3 -1
- package/dist/server/methods/session_set_root.d.ts.map +1 -1
- package/dist/server/methods/session_set_root.js +31 -29
- package/dist/server/methods/session_set_root.js.map +1 -1
- package/dist/server/yolo.d.ts +3 -1
- package/dist/server/yolo.d.ts.map +1 -1
- package/dist/server/yolo.js +15 -13
- package/dist/server/yolo.js.map +1 -1
- package/package.json +74 -30
- package/bin/plurnk-service.js +0 -112
- /package/migrations/{001_schema.sql → 0000-00-00.01_schema.sql} +0 -0
|
@@ -2,116 +2,118 @@
|
|
|
2
2
|
// delegates to daemon.inject. inject decides: active drain → write prompt
|
|
3
3
|
// entry for next turn; idle → enqueue + start drain.
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
|
-
import {
|
|
5
|
+
import { Paths } from "../../index.js";
|
|
6
6
|
import { parseAliasesFromEnv } from "@plurnk/plurnk-providers";
|
|
7
|
-
import
|
|
8
|
-
export
|
|
9
|
-
registry
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// Validate flags early — fail-fast on bad input regardless of
|
|
18
|
-
// provider config. Actual persistence happens after loop insert.
|
|
19
|
-
if (p.flags !== undefined) {
|
|
20
|
-
if (typeof p.flags !== "object" || p.flags === null || Array.isArray(p.flags)) {
|
|
21
|
-
throw new Error("loop.run: flags must be an object");
|
|
7
|
+
import ProviderInstantiate from "../../core/ProviderInstantiate.js";
|
|
8
|
+
export default class LoopRunMethod {
|
|
9
|
+
static register(registry) {
|
|
10
|
+
registry.registerMethod("loop.run", {
|
|
11
|
+
handler: async (params, ctx) => {
|
|
12
|
+
if (ctx.session === null)
|
|
13
|
+
throw new Error("loop.run requires an attached session");
|
|
14
|
+
const p = params;
|
|
15
|
+
if (typeof p.prompt !== "string" || p.prompt.length === 0) {
|
|
16
|
+
throw new Error("loop.run requires non-empty params.prompt");
|
|
22
17
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
// Validate flags early — fail-fast on bad input regardless of
|
|
19
|
+
// provider config. Actual persistence happens after loop insert.
|
|
20
|
+
if (p.flags !== undefined) {
|
|
21
|
+
if (typeof p.flags !== "object" || p.flags === null || Array.isArray(p.flags)) {
|
|
22
|
+
throw new Error("loop.run: flags must be an object");
|
|
26
23
|
}
|
|
24
|
+
for (const bool of ["yolo", "noProposals", "noWeb", "noInteraction"]) {
|
|
25
|
+
if (p.flags[bool] !== undefined && typeof p.flags[bool] !== "boolean") {
|
|
26
|
+
throw new Error(`loop.run: flags.${bool} must be a boolean`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (p.flags.mode !== undefined && p.flags.mode !== "ask" && p.flags.mode !== "act") {
|
|
30
|
+
throw new Error("loop.run: flags.mode must be 'ask' or 'act'");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const loopPersona = p.persona ?? null;
|
|
34
|
+
if (loopPersona !== null && typeof loopPersona !== "string") {
|
|
35
|
+
throw new Error("loop.run: persona must be a string or null");
|
|
36
|
+
}
|
|
37
|
+
const maxTurns = p.maxTurns ?? Number(process.env.PLURNK_MAX_TURNS ?? "50");
|
|
38
|
+
// Resolve provider for this call. Per-call alias override (issue
|
|
39
|
+
// #128) takes precedence over ctx.provider; absence falls back to
|
|
40
|
+
// the daemon's boot-time provider.
|
|
41
|
+
let provider = ctx.provider;
|
|
42
|
+
if (p.alias !== undefined) {
|
|
43
|
+
if (typeof p.alias !== "string" || p.alias.length === 0) {
|
|
44
|
+
throw new Error("loop.run: alias must be a non-empty string");
|
|
45
|
+
}
|
|
46
|
+
const aliases = parseAliasesFromEnv();
|
|
47
|
+
const target = aliases.find((a) => a.alias === p.alias.toLowerCase());
|
|
48
|
+
if (target === undefined) {
|
|
49
|
+
throw new Error(`loop.run: unknown alias '${p.alias}'; configure PLURNK_MODEL_${p.alias.toUpperCase()}=<provider>/<model>`);
|
|
50
|
+
}
|
|
51
|
+
provider = await ProviderInstantiate.instantiateProvider(target);
|
|
27
52
|
}
|
|
28
|
-
if (
|
|
29
|
-
|
|
53
|
+
if (provider === null) {
|
|
54
|
+
return { status: 501, error: "no provider configured at the daemon and no alias override supplied" };
|
|
30
55
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
|
|
56
|
+
const { sessionId, runId } = ctx.session;
|
|
57
|
+
const systemPrompt = await readFile(Paths.instructionsSystem, "utf8");
|
|
58
|
+
const persona = await readFile(Paths.defaultPersona, "utf8");
|
|
59
|
+
// Delegate to the daemon's unified inject surface. Active-drain
|
|
60
|
+
// → write prompt entry for next turn (returns immediately).
|
|
61
|
+
// Idle run → enqueue + start drain (await drain to completion).
|
|
62
|
+
const injected = await ctx.daemon.inject({
|
|
63
|
+
sessionId, runId, prompt: p.prompt,
|
|
64
|
+
provider, persona, systemPrompt,
|
|
65
|
+
maxTurns, flags: p.flags, personaOverride: loopPersona,
|
|
66
|
+
});
|
|
67
|
+
if (injected.action === "injected_next_turn") {
|
|
68
|
+
// Active drain — prompt landed in the current loop's
|
|
69
|
+
// next-turn slot. Return immediately; the existing
|
|
70
|
+
// drain's notifications surface progress.
|
|
71
|
+
return {
|
|
72
|
+
loopId: injected.loopId,
|
|
73
|
+
turnSeq: injected.turnSeq,
|
|
74
|
+
action: "injected_next_turn",
|
|
75
|
+
finalStatus: 100,
|
|
76
|
+
hitMaxTurns: false,
|
|
77
|
+
turnIds: [],
|
|
78
|
+
};
|
|
44
79
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
80
|
+
// enqueued_new_loop:
|
|
81
|
+
// - Drain started by THIS call: firstLoopPromise is the
|
|
82
|
+
// promise for the loop just enqueued; await it.
|
|
83
|
+
// - Drain was already active (concurrent loop.run race
|
|
84
|
+
// where engine.inject returned null): the loop is in
|
|
85
|
+
// the queue, the existing drain will claim it. No
|
|
86
|
+
// firstLoopPromise — return immediately with status=100
|
|
87
|
+
// and let the client subscribe to loop/terminated.
|
|
88
|
+
if (injected.firstLoopPromise === undefined) {
|
|
89
|
+
return {
|
|
90
|
+
loopId: injected.loopId,
|
|
91
|
+
action: "enqueued_new_loop",
|
|
92
|
+
finalStatus: 100,
|
|
93
|
+
hitMaxTurns: false,
|
|
94
|
+
turnIds: [],
|
|
95
|
+
};
|
|
49
96
|
}
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
if (provider === null) {
|
|
53
|
-
return { status: 501, error: "no provider configured at the daemon and no alias override supplied" };
|
|
54
|
-
}
|
|
55
|
-
const { sessionId, runId } = ctx.session;
|
|
56
|
-
const systemPrompt = await readFile(PATHS.instructionsSystem, "utf8");
|
|
57
|
-
const persona = await readFile(PATHS.defaultPersona, "utf8");
|
|
58
|
-
// Delegate to the daemon's unified inject surface. Active-drain
|
|
59
|
-
// → write prompt entry for next turn (returns immediately).
|
|
60
|
-
// Idle run → enqueue + start drain (await drain to completion).
|
|
61
|
-
const injected = await ctx.daemon.inject({
|
|
62
|
-
sessionId, runId, prompt: p.prompt,
|
|
63
|
-
provider, persona, systemPrompt,
|
|
64
|
-
maxTurns, flags: p.flags, personaOverride: loopPersona,
|
|
65
|
-
});
|
|
66
|
-
if (injected.action === "injected_next_turn") {
|
|
67
|
-
// Active drain — prompt landed in the current loop's
|
|
68
|
-
// next-turn slot. Return immediately; the existing
|
|
69
|
-
// drain's notifications surface progress.
|
|
70
|
-
return {
|
|
71
|
-
loopId: injected.loopId,
|
|
72
|
-
turnSeq: injected.turnSeq,
|
|
73
|
-
action: "injected_next_turn",
|
|
74
|
-
finalStatus: 100,
|
|
75
|
-
hitMaxTurns: false,
|
|
76
|
-
turnIds: [],
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
// enqueued_new_loop:
|
|
80
|
-
// - Drain started by THIS call: firstLoopPromise is the
|
|
81
|
-
// promise for the loop just enqueued; await it.
|
|
82
|
-
// - Drain was already active (concurrent loop.run race
|
|
83
|
-
// where engine.inject returned null): the loop is in
|
|
84
|
-
// the queue, the existing drain will claim it. No
|
|
85
|
-
// firstLoopPromise — return immediately with status=100
|
|
86
|
-
// and let the client subscribe to loop/terminated.
|
|
87
|
-
if (injected.firstLoopPromise === undefined) {
|
|
97
|
+
const first = await injected.firstLoopPromise;
|
|
88
98
|
return {
|
|
89
|
-
loopId:
|
|
99
|
+
loopId: first.loopId,
|
|
100
|
+
turnIds: first.turnIds,
|
|
101
|
+
finalStatus: first.finalStatus,
|
|
102
|
+
hitMaxTurns: first.hitMaxTurns,
|
|
90
103
|
action: "enqueued_new_loop",
|
|
91
|
-
finalStatus: 100,
|
|
92
|
-
hitMaxTurns: false,
|
|
93
|
-
turnIds: [],
|
|
94
104
|
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
alias: "string? — model alias to use for this loop (overrides the daemon's PLURNK_MODEL)",
|
|
110
|
-
flags: "object? — per-loop flags. Currently accepts { yolo?: boolean }. Server YOLO; not for routine client use.",
|
|
111
|
-
persona: "string? — loop-level persona (text/markdown); takes precedence over session and run personas",
|
|
112
|
-
},
|
|
113
|
-
requiresInit: true,
|
|
114
|
-
longRunning: true,
|
|
115
|
-
});
|
|
116
|
-
};
|
|
105
|
+
},
|
|
106
|
+
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.",
|
|
107
|
+
params: {
|
|
108
|
+
prompt: "string — user prompt for the loop",
|
|
109
|
+
maxTurns: "number? — safety cap on turns (default PLURNK_MAX_TURNS or 50)",
|
|
110
|
+
alias: "string? — model alias to use for this loop (overrides the daemon's PLURNK_MODEL)",
|
|
111
|
+
flags: "object? — per-loop flags. Currently accepts { yolo?: boolean }. Server YOLO; not for routine client use.",
|
|
112
|
+
persona: "string? — loop-level persona (text/markdown); takes precedence over session and run personas",
|
|
113
|
+
},
|
|
114
|
+
requiresInit: true,
|
|
115
|
+
longRunning: true,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
117
119
|
//# sourceMappingURL=loop_run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,0EAA0E;AAC1E,qDAAqD;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_copy.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,
|
|
1
|
+
{"version":3,"file":"op_copy.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAmBlD"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
1
|
+
import Dsl from "../dsl.js";
|
|
2
|
+
import DispatchAsClient from "./_dispatchAsClient.js";
|
|
3
|
+
export default class OpCopyMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("op.copy", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
const p = params;
|
|
8
|
+
if (typeof p.source !== "string" || p.source.length === 0)
|
|
9
|
+
throw new Error("op.copy requires params.source: string");
|
|
10
|
+
if (typeof p.destination !== "string" || p.destination.length === 0)
|
|
11
|
+
throw new Error("op.copy requires params.destination: string");
|
|
12
|
+
const statement = Dsl.buildCopy(p);
|
|
13
|
+
return DispatchAsClient.dispatch(ctx, statement);
|
|
14
|
+
},
|
|
15
|
+
description: "COPY — clone an entry to a new path.",
|
|
16
|
+
params: {
|
|
17
|
+
source: "string — source entry path",
|
|
18
|
+
destination: "string — destination entry path",
|
|
19
|
+
tags: "string[]? — tag set on the destination (replaces source tags if provided)",
|
|
20
|
+
lineRange: "LineMarker? — line range to copy",
|
|
21
|
+
},
|
|
22
|
+
requiresInit: true,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
24
26
|
//# sourceMappingURL=op_copy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_copy.js","sourceRoot":"","sources":["../../../src/server/methods/op_copy.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"op_copy.js","sourceRoot":"","sources":["../../../src/server/methods/op_copy.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACrH,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACpI,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE;gBACJ,MAAM,EAAE,4BAA4B;gBACpC,WAAW,EAAE,iCAAiC;gBAC9C,IAAI,EAAE,2EAA2E;gBACjF,SAAS,EAAE,kCAAkC;aAChD;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_dispatch.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAQvD,
|
|
1
|
+
{"version":3,"file":"op_dispatch.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAQvD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAclD"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
registry
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
1
|
+
import DispatchAsClient from "./_dispatchAsClient.js";
|
|
2
|
+
export default class OpDispatchMethod {
|
|
3
|
+
static register(registry) {
|
|
4
|
+
registry.registerMethod("op.dispatch", {
|
|
5
|
+
handler: async (params, ctx) => {
|
|
6
|
+
const p = params;
|
|
7
|
+
if (p.statement === undefined || p.statement === null)
|
|
8
|
+
throw new Error("op.dispatch requires params.statement: PlurnkStatement");
|
|
9
|
+
return DispatchAsClient.dispatch(ctx, p.statement);
|
|
10
|
+
},
|
|
11
|
+
description: "Low-level: dispatch a parsed PlurnkStatement AST directly. Use the op.* methods for clean-shape ergonomics.",
|
|
12
|
+
params: {
|
|
13
|
+
statement: "PlurnkStatement — parsed AST per grammar schema",
|
|
14
|
+
},
|
|
15
|
+
requiresInit: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
17
19
|
//# sourceMappingURL=op_dispatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_dispatch.js","sourceRoot":"","sources":["../../../src/server/methods/op_dispatch.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"op_dispatch.js","sourceRoot":"","sources":["../../../src/server/methods/op_dispatch.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAMtD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE;YACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBACjI,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACvD,CAAC;YACD,WAAW,EAAE,6GAA6G;YAC1H,MAAM,EAAE;gBACJ,SAAS,EAAE,iDAAiD;aAC/D;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_edit.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,
|
|
1
|
+
{"version":3,"file":"op_edit.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAkBlD"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
1
|
+
import Dsl from "../dsl.js";
|
|
2
|
+
import DispatchAsClient from "./_dispatchAsClient.js";
|
|
3
|
+
export default class OpEditMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("op.edit", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
const p = params;
|
|
8
|
+
if (typeof p.target !== "string" || p.target.length === 0)
|
|
9
|
+
throw new Error("op.edit requires params.target: string");
|
|
10
|
+
const statement = Dsl.buildEdit(p);
|
|
11
|
+
return DispatchAsClient.dispatch(ctx, statement);
|
|
12
|
+
},
|
|
13
|
+
description: "EDIT — write or update an entry's body.",
|
|
14
|
+
params: {
|
|
15
|
+
target: "string — entry path (e.g. known://france/capital)",
|
|
16
|
+
content: "string? — entry body (empty/omitted clears)",
|
|
17
|
+
tags: "string[]? — tag set",
|
|
18
|
+
lineRange: "LineMarker? — insertion point or replace range",
|
|
19
|
+
},
|
|
20
|
+
requiresInit: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
22
24
|
//# sourceMappingURL=op_edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACrH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE;gBACJ,MAAM,EAAE,mDAAmD;gBAC3D,OAAO,EAAE,6CAA6C;gBACtD,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,gDAAgD;aAC9D;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_exec.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAUvD,
|
|
1
|
+
{"version":3,"file":"op_exec.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAUvD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAgBlD"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
1
|
+
import Dsl from "../dsl.js";
|
|
2
|
+
import DispatchAsClient from "./_dispatchAsClient.js";
|
|
3
|
+
export default class OpExecMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("op.exec", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
const p = params;
|
|
8
|
+
const statement = Dsl.buildExec(p);
|
|
9
|
+
return DispatchAsClient.dispatch(ctx, statement);
|
|
10
|
+
},
|
|
11
|
+
description: "EXEC — invoke a subprocess.",
|
|
12
|
+
params: {
|
|
13
|
+
cwd: "string? — working directory",
|
|
14
|
+
runtime: "string? — runtime tag (sh, node, python, etc.)",
|
|
15
|
+
command: "string? — command or code",
|
|
16
|
+
},
|
|
17
|
+
requiresInit: true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
19
21
|
//# sourceMappingURL=op_exec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_exec.js","sourceRoot":"","sources":["../../../src/server/methods/op_exec.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"op_exec.js","sourceRoot":"","sources":["../../../src/server/methods/op_exec.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAQtD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,6BAA6B;YAC1C,MAAM,EAAE;gBACJ,GAAG,EAAE,6BAA6B;gBAClC,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE,2BAA2B;aACvC;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_find.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,
|
|
1
|
+
{"version":3,"file":"op_find.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAkBlD"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
1
|
+
import Dsl from "../dsl.js";
|
|
2
|
+
import DispatchAsClient from "./_dispatchAsClient.js";
|
|
3
|
+
export default class OpFindMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("op.find", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
const p = params;
|
|
8
|
+
if (typeof p.scope !== "string" || p.scope.length === 0)
|
|
9
|
+
throw new Error("op.find requires params.scope: string");
|
|
10
|
+
const statement = Dsl.buildFind(p);
|
|
11
|
+
return DispatchAsClient.dispatch(ctx, statement);
|
|
12
|
+
},
|
|
13
|
+
description: "FIND — search within a scope by tags and/or matcher.",
|
|
14
|
+
params: {
|
|
15
|
+
scope: "string — path-scope (e.g. known://)",
|
|
16
|
+
matcher: "string? — body matcher (glob/regex/xpath/jsonpath; dialect determined by leading chars)",
|
|
17
|
+
tags: "string[]? — tag filter",
|
|
18
|
+
lineRange: "LineMarker? — result range",
|
|
19
|
+
},
|
|
20
|
+
requiresInit: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
22
24
|
//# sourceMappingURL=op_find.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_find.js","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"op_find.js","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAClH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,sDAAsD;YACnE,MAAM,EAAE;gBACJ,KAAK,EAAE,qCAAqC;gBAC5C,OAAO,EAAE,yFAAyF;gBAClG,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,4BAA4B;aAC1C;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op_hide.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_hide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,
|
|
1
|
+
{"version":3,"file":"op_hide.d.ts","sourceRoot":"","sources":["../../../src/server/methods/op_hide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAYvD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAkBlD"}
|