@plurnk/plurnk-service 0.3.0 → 0.5.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/README.md +13 -44
- package/SPEC.md +559 -447
- package/bin/plurnk-service.js +2 -1
- package/dist/core/ChannelWrite.d.ts +15 -0
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/Engine.d.ts +15 -4
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +417 -114
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/PluginLoader.js +6 -6
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +4 -0
- package/dist/core/ProviderInstantiate.d.ts.map +1 -0
- package/dist/core/ProviderInstantiate.js +41 -0
- package/dist/core/ProviderInstantiate.js.map +1 -0
- package/dist/core/ProviderRegistry.d.ts.map +1 -1
- package/dist/core/ProviderRegistry.js +1 -1
- package/dist/core/ProviderRegistry.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 +4 -20
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/line-marker.d.ts +23 -0
- package/dist/core/line-marker.d.ts.map +1 -0
- package/dist/core/line-marker.js +321 -0
- package/dist/core/line-marker.js.map +1 -0
- package/dist/core/matcher.d.ts +12 -0
- package/dist/core/matcher.d.ts.map +1 -0
- package/dist/core/matcher.js +72 -0
- package/dist/core/matcher.js.map +1 -0
- package/dist/core/mimetype-binary.d.ts +6 -0
- package/dist/core/mimetype-binary.d.ts.map +1 -0
- package/dist/core/mimetype-binary.js +82 -0
- package/dist/core/mimetype-binary.js.map +1 -0
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +206 -30
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/path-mimetype.d.ts +3 -0
- package/dist/core/path-mimetype.d.ts.map +1 -0
- package/dist/core/path-mimetype.js +47 -0
- package/dist/core/path-mimetype.js.map +1 -0
- package/dist/core/scheme-types.d.ts +8 -26
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js +5 -8
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/schemes/Exec.d.ts +30 -1
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +217 -6
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts +5 -0
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +113 -23
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +3 -0
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +88 -13
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.js +3 -3
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +1 -0
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +64 -15
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +3 -0
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +262 -54
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +14 -7
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/server/ClientConnection.d.ts +3 -2
- package/dist/server/ClientConnection.d.ts.map +1 -1
- package/dist/server/ClientConnection.js +4 -1
- package/dist/server/ClientConnection.js.map +1 -1
- package/dist/server/Daemon.d.ts +51 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +337 -1
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/MethodRegistry.d.ts +31 -2
- package/dist/server/MethodRegistry.d.ts.map +1 -1
- package/dist/server/MethodRegistry.js.map +1 -1
- package/dist/server/dsl.d.ts +2 -2
- package/dist/server/dsl.d.ts.map +1 -1
- package/dist/server/dsl.js +10 -10
- package/dist/server/dsl.js.map +1 -1
- package/dist/server/methods/entry_read.js +5 -5
- package/dist/server/methods/entry_read.js.map +1 -1
- package/dist/server/methods/loop_cancel.d.ts +3 -0
- package/dist/server/methods/loop_cancel.d.ts.map +1 -0
- package/dist/server/methods/loop_cancel.js +27 -0
- package/dist/server/methods/loop_cancel.js.map +1 -0
- package/dist/server/methods/loop_resolve.js +2 -2
- package/dist/server/methods/loop_resolve.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +48 -48
- package/dist/server/methods/loop_run.js.map +1 -1
- package/dist/server/methods/op_edit.js +3 -3
- package/dist/server/methods/op_edit.js.map +1 -1
- package/dist/server/methods/op_hide.js +3 -3
- package/dist/server/methods/op_hide.js.map +1 -1
- package/dist/server/methods/op_read.js +3 -3
- package/dist/server/methods/op_read.js.map +1 -1
- package/dist/server/methods/op_show.js +3 -3
- package/dist/server/methods/op_show.js.map +1 -1
- package/dist/server/methods/providers_list.js +1 -1
- package/dist/server/methods/providers_list.js.map +1 -1
- package/migrations/001_schema.sql +1 -1
- package/package.json +19 -14
package/dist/core/packet-wire.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
// Section headers follow the `# Plurnk System X` convention so the model
|
|
12
12
|
// sees consistent framing across every section it might receive. Sections
|
|
13
13
|
// with no content are omitted entirely (no empty headers in the wire).
|
|
14
|
+
import { isLineNavigableMimetype } from "@plurnk/plurnk-schemes";
|
|
14
15
|
// Render packet.system → system message content (markdown string).
|
|
15
16
|
// {system_definition verbatim}
|
|
16
17
|
// # Plurnk System Instructions (persona)
|
|
@@ -33,10 +34,14 @@ export const renderSystemContent = (system) => {
|
|
|
33
34
|
// # Plurnk System User Prompt
|
|
34
35
|
// # Plurnk System Budget (token budget table — only when present)
|
|
35
36
|
// # Plurnk System Errors (telemetry errors — only when present)
|
|
36
|
-
// # Plurnk System Requirements (per-turn rules
|
|
37
|
+
// # Plurnk System Requirements (static per-turn rules — only when present)
|
|
38
|
+
// Requirements renders LAST so the contract the model has to honor is the
|
|
39
|
+
// most recent thing in the user message — closest to the assistant turn.
|
|
37
40
|
export const renderUserContent = (user) => {
|
|
38
41
|
const parts = [];
|
|
39
|
-
|
|
42
|
+
if (typeof user.prompt === "string" && user.prompt.length > 0) {
|
|
43
|
+
parts.push(`# Plurnk System User Prompt\n\n${user.prompt}`);
|
|
44
|
+
}
|
|
40
45
|
const telemetry = user.telemetry ?? { budget: "", errors: [] };
|
|
41
46
|
if (typeof telemetry.budget === "string" && telemetry.budget.length > 0) {
|
|
42
47
|
parts.push(`# Plurnk System Budget\n\n${telemetry.budget}`);
|
|
@@ -66,6 +71,17 @@ const numberLines = (body, start = 1) => {
|
|
|
66
71
|
const numbered = source.split("\n").map((line, i) => `${start + i}:\t${line}`).join("\n");
|
|
67
72
|
return trailingNewline ? `${numbered}\n` : numbered;
|
|
68
73
|
};
|
|
74
|
+
// Tolerant JSON parser for log entries' rx/tx fields. The engine
|
|
75
|
+
// pre-parses application/json mimetypes, but render may also receive
|
|
76
|
+
// strings (legacy paths, manual tests). Returns null on parse failure.
|
|
77
|
+
const safeParse = (s) => {
|
|
78
|
+
try {
|
|
79
|
+
return JSON.parse(s);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
69
85
|
// Stable JSON: keys sorted alphabetically so the same meta produces the
|
|
70
86
|
// same string across turns — prefix-cache friendly. Mirrors rummy
|
|
71
87
|
// plugins/helpers.js canonicalJson.
|
|
@@ -76,6 +92,18 @@ const canonicalJson = (obj) => {
|
|
|
76
92
|
sorted[k] = obj[k];
|
|
77
93
|
return JSON.stringify(sorted);
|
|
78
94
|
};
|
|
95
|
+
// Wrap a body in heredoc fences. Leading `\n` always (separates the
|
|
96
|
+
// opening fence from the first body character — necessary because
|
|
97
|
+
// numbered bodies start with `1:\t…` which would otherwise collide
|
|
98
|
+
// visually with the fence's closing `:`). Trailing `\n` only when the
|
|
99
|
+
// body doesn't already end with one — otherwise you get a doubled
|
|
100
|
+
// newline that renders as a blank line before the closing fence, which
|
|
101
|
+
// reads as "the content has a trailing blank line" when actually it
|
|
102
|
+
// doesn't. The body's own whitespace decides the shape.
|
|
103
|
+
const wrapHeredocBody = (fence, body) => {
|
|
104
|
+
const sep = body.endsWith("\n") ? "" : "\n";
|
|
105
|
+
return `<<${fence}:\n${body}${sep}:${fence}`;
|
|
106
|
+
};
|
|
79
107
|
// Heredoc block for one channel of one entry. Fence is `URI#channel`
|
|
80
108
|
// (plurnk-grammar-native form) so model emissions and entry projections
|
|
81
109
|
// share one syntax. When `channel` is null/empty the fence is path-only —
|
|
@@ -84,8 +112,67 @@ const canonicalJson = (obj) => {
|
|
|
84
112
|
// Body is line-numbered.
|
|
85
113
|
const renderHeredoc = (uri, channel, body) => {
|
|
86
114
|
const fence = channel ? `${uri}#${channel}` : uri;
|
|
87
|
-
|
|
88
|
-
|
|
115
|
+
return wrapHeredocBody(fence, numberLines(body));
|
|
116
|
+
};
|
|
117
|
+
// Re-render a plurnk statement (from log_entries.tx) as the heredoc form
|
|
118
|
+
// the model would have emitted. Used by the log render so the model sees
|
|
119
|
+
// its own ops in its own native syntax — what it wrote, mirrored back.
|
|
120
|
+
//
|
|
121
|
+
// Faithfulness over cleverness: render the parts as recorded. `target.raw`
|
|
122
|
+
// preserves exactly what the model wrote (URL with fragment, bare path,
|
|
123
|
+
// etc.) instead of round-tripping through scheme/pathname/fragment fields.
|
|
124
|
+
// Returns null when tx isn't a parseable PlurnkStatement (callers fall
|
|
125
|
+
// back to the meta line alone).
|
|
126
|
+
//
|
|
127
|
+
// Signal renders to `[…]`:
|
|
128
|
+
// - array of strings (tags) → `[tag1,tag2]`
|
|
129
|
+
// - number (status code, e.g. SEND[200]) → `[200]`
|
|
130
|
+
// - string (runtime, e.g. EXEC[python]) → `[python]`
|
|
131
|
+
// - null/missing → omitted
|
|
132
|
+
// All plurnk statements share the same syntactic frame; signal type
|
|
133
|
+
// varies by op but renders uniformly.
|
|
134
|
+
const renderStatementHeredoc = (tx) => {
|
|
135
|
+
if (tx === null || typeof tx !== "object" || typeof tx.op !== "string" || tx.op.length === 0)
|
|
136
|
+
return null;
|
|
137
|
+
const op = tx.op;
|
|
138
|
+
const suffix = typeof tx.suffix === "string" ? tx.suffix : "";
|
|
139
|
+
let signalStr = "";
|
|
140
|
+
const signal = tx.signal;
|
|
141
|
+
if (Array.isArray(signal)) {
|
|
142
|
+
const tags = signal.filter((t) => typeof t === "string");
|
|
143
|
+
if (tags.length > 0)
|
|
144
|
+
signalStr = `[${tags.join(",")}]`;
|
|
145
|
+
}
|
|
146
|
+
else if (typeof signal === "number") {
|
|
147
|
+
signalStr = `[${signal}]`;
|
|
148
|
+
}
|
|
149
|
+
else if (typeof signal === "string" && signal.length > 0) {
|
|
150
|
+
signalStr = `[${signal}]`;
|
|
151
|
+
}
|
|
152
|
+
let targetStr = "";
|
|
153
|
+
const target = tx.target;
|
|
154
|
+
if (target !== null && typeof target === "object" && typeof target.raw === "string") {
|
|
155
|
+
targetStr = `(${target.raw})`;
|
|
156
|
+
}
|
|
157
|
+
let markerStr = "";
|
|
158
|
+
const lm = tx.lineMarker;
|
|
159
|
+
if (lm !== null && typeof lm === "object" && typeof lm.first === "number") {
|
|
160
|
+
markerStr = typeof lm.last === "number" ? `<${lm.first},${lm.last}>` : `<${lm.first}>`;
|
|
161
|
+
}
|
|
162
|
+
let body;
|
|
163
|
+
if (typeof tx.body === "string")
|
|
164
|
+
body = tx.body;
|
|
165
|
+
else if (tx.body !== null && typeof tx.body === "object" && typeof tx.body.raw === "string")
|
|
166
|
+
body = tx.body.raw;
|
|
167
|
+
else
|
|
168
|
+
body = "";
|
|
169
|
+
// Character-perfect: no padding around body. The body string IS
|
|
170
|
+
// whatever the model wrote between the colons, including any leading
|
|
171
|
+
// or trailing whitespace it chose. Adding `\n` here would inflate
|
|
172
|
+
// single-line emissions into multi-line and nudge the model toward
|
|
173
|
+
// verbose forms — and it would violate the grammar's "body content
|
|
174
|
+
// is character-perfect" guarantee on the way back.
|
|
175
|
+
return `<<${op}${suffix}${signalStr}${targetStr}${markerStr}:${body}:${op}${suffix}`;
|
|
89
176
|
};
|
|
90
177
|
// Render a (scheme, pathname) tuple as the URI the model should SEE.
|
|
91
178
|
// Null scheme → bare pathname. The `file` scheme never reaches this
|
|
@@ -101,6 +188,11 @@ const renderModelUri = (scheme, pathname) => {
|
|
|
101
188
|
// heredoc blocks. meta describes the entry; nested `channels` carries
|
|
102
189
|
// per-channel mimetype/tokens so the model doesn't have to READ to
|
|
103
190
|
// learn the shape of a channel's content.
|
|
191
|
+
//
|
|
192
|
+
// Empty channels are omitted entirely (no meta entry, no body block) —
|
|
193
|
+
// an empty stderr is an infohazard: the model has to read it and infer
|
|
194
|
+
// "this is intentionally blank." Absence carries the same information
|
|
195
|
+
// with zero tokens spent.
|
|
104
196
|
const renderIndexEntries = (entries) => entries.map((e) => {
|
|
105
197
|
const uri = renderModelUri(e.scheme, e.pathname);
|
|
106
198
|
const defaultChannel = e.defaultChannel ?? "";
|
|
@@ -111,7 +203,7 @@ const renderIndexEntries = (entries) => entries.map((e) => {
|
|
|
111
203
|
const blocks = [];
|
|
112
204
|
for (const [channelName, ch] of Object.entries(e.channels ?? {})) {
|
|
113
205
|
const content = ch?.content;
|
|
114
|
-
if (typeof content !== "string")
|
|
206
|
+
if (typeof content !== "string" || content.length === 0)
|
|
115
207
|
continue;
|
|
116
208
|
const channelInfo = {};
|
|
117
209
|
if (typeof ch.mimetype === "string")
|
|
@@ -128,38 +220,122 @@ const renderIndexEntries = (entries) => entries.map((e) => {
|
|
|
128
220
|
? `* ${canonicalJson(meta)}\n${blocks.join("\n")}`
|
|
129
221
|
: `* ${canonicalJson(meta)}`;
|
|
130
222
|
}).join("\n\n");
|
|
131
|
-
// Render one Log entry →
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
//
|
|
223
|
+
// Render one Log entry → a single bullet line carrying the meta JSON.
|
|
224
|
+
// No body, no fence — every meaningful field is in the JSON. Naming
|
|
225
|
+
// follows the uniform principle: `path` is identity (this log row's
|
|
226
|
+
// own URI), `target` is the URI the action acted on. COPY/MOVE add
|
|
227
|
+
// `source`; currently the engine emits target only (source plumbing
|
|
228
|
+
// pending the COPY/MOVE-specific log shape pass).
|
|
229
|
+
//
|
|
230
|
+
// On error, status >= 400 signals the failure; the message lives in
|
|
231
|
+
// the next packet's user.telemetry.errors[] per SPEC §15.1. (Forward:
|
|
232
|
+
// meta will gain tokensBefore/After + linesBefore/After to convey
|
|
233
|
+
// change scope without carrying the body content.)
|
|
234
|
+
//
|
|
235
|
+
// Per-entry render: one meta JSON line plus a body block that the model
|
|
236
|
+
// can read to know what it did. Two body cases:
|
|
237
|
+
// 1. READ@200 with content → render rx.content under the target fence.
|
|
238
|
+
// The model asked for content; show it the content. (Matcher is in
|
|
239
|
+
// meta.matcher, count is in meta.matches.)
|
|
240
|
+
// 2. Every other op → re-emit tx as a heredoc in the model's native
|
|
241
|
+
// syntax. The model wrote this; mirror it back so the log is a true
|
|
242
|
+
// record of its actions instead of a row of opaque status codes.
|
|
137
243
|
const renderLogEntries = (entries) => entries.map((e) => {
|
|
138
|
-
const coordinate = e.coordinate ?? "?";
|
|
139
|
-
const opSuffix = typeof e.op === "string" && e.op.length > 0 ? `/${e.op}` : "";
|
|
140
|
-
const uri = `log://${coordinate}${opSuffix}`;
|
|
141
244
|
const meta = {};
|
|
245
|
+
const coordinate = typeof e.coordinate === "string" ? e.coordinate : null;
|
|
246
|
+
const op = typeof e.op === "string" && e.op.length > 0 ? e.op : null;
|
|
247
|
+
if (coordinate !== null && op !== null)
|
|
248
|
+
meta.path = `log://${coordinate}/${op}`;
|
|
249
|
+
else if (coordinate !== null)
|
|
250
|
+
meta.path = `log://${coordinate}`;
|
|
142
251
|
if (typeof e.origin === "string")
|
|
143
252
|
meta.origin = e.origin;
|
|
144
|
-
if (
|
|
145
|
-
meta.op =
|
|
253
|
+
if (op !== null)
|
|
254
|
+
meta.op = op;
|
|
146
255
|
if (typeof e.status === "number")
|
|
147
256
|
meta.status = e.status;
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
meta.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
257
|
+
const target = renderActionTarget(e.target);
|
|
258
|
+
if (target !== null)
|
|
259
|
+
meta.target = target;
|
|
260
|
+
// Op-specific meta enrichment for READ: surface the matcher body
|
|
261
|
+
// and match count when a body matcher was used. Without these, the
|
|
262
|
+
// model can't distinguish "0 matches" from "empty content" — both
|
|
263
|
+
// would render as a status-204 line. The matcher comes from the
|
|
264
|
+
// stored statement (tx); the count from the result (rx).
|
|
265
|
+
if (op === "READ") {
|
|
266
|
+
const tx = e.tx;
|
|
267
|
+
if (tx !== null && typeof tx === "object" && tx.body !== null && typeof tx.body === "object") {
|
|
268
|
+
if (typeof tx.body.raw === "string")
|
|
269
|
+
meta.matcher = tx.body.raw;
|
|
270
|
+
}
|
|
271
|
+
const rx = typeof e.rx === "string" ? safeParse(e.rx) : e.rx;
|
|
272
|
+
if (rx !== null && typeof rx === "object" && typeof rx.matches === "number") {
|
|
273
|
+
meta.matches = rx.matches;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const metaLine = `* ${canonicalJson(meta)}`;
|
|
277
|
+
// READ@200: expose the response body. READ@204 (successfully empty —
|
|
278
|
+
// 0 matcher hits, sentinel slice, or empty source) has no body to
|
|
279
|
+
// render; the meta line carries the signal via `matches` / status code.
|
|
280
|
+
if (op === "READ" && e.status === 200) {
|
|
281
|
+
const rx = typeof e.rx === "string" ? safeParse(e.rx) : e.rx;
|
|
282
|
+
if (rx !== null && typeof rx === "object" && typeof rx.content === "string" && rx.content.length > 0) {
|
|
283
|
+
const fence = target ?? `log://${coordinate}`;
|
|
284
|
+
// Line-navigable mimetypes (text/markdown, text/plain,
|
|
285
|
+
// source code, etc.) get N:\t prefix per plurnk.md. Tree-
|
|
286
|
+
// navigable (JSON, XML, HTML) render verbatim — line
|
|
287
|
+
// numbers in the wrapper would collide with structural
|
|
288
|
+
// navigation (jsonpath/xpath) used on these formats.
|
|
289
|
+
// Classifier is consumer-side in this repo (SPEC.md §16.6).
|
|
290
|
+
const mimetype = typeof rx.mimetype === "string" ? rx.mimetype : "text/plain";
|
|
291
|
+
if (isLineNavigableMimetype(mimetype)) {
|
|
292
|
+
const start = typeof rx.startLine === "number" ? rx.startLine : 1;
|
|
293
|
+
return `${metaLine}\n${wrapHeredocBody(fence, numberLines(rx.content, start))}`;
|
|
294
|
+
}
|
|
295
|
+
return `${metaLine}\n${wrapHeredocBody(fence, rx.content)}`;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Every other op: re-emit the model's statement. EDIT, EXEC, SEND,
|
|
299
|
+
// COPY, MOVE, FIND, SHOW, HIDE — each gets its native heredoc form
|
|
300
|
+
// back. Without this the log row is a status code with no record
|
|
301
|
+
// of what the model actually wrote, and the model has to back into
|
|
302
|
+
// its own actions by inference (see reasoning.md trace from the
|
|
303
|
+
// pre-fix count-files run).
|
|
304
|
+
const heredoc = renderStatementHeredoc(e.tx);
|
|
305
|
+
if (heredoc !== null)
|
|
306
|
+
return `${metaLine}\n${heredoc}`;
|
|
307
|
+
return metaLine;
|
|
308
|
+
}).join("\n");
|
|
309
|
+
const renderActionTarget = (target) => {
|
|
155
310
|
if (target === null || target === undefined)
|
|
156
311
|
return null;
|
|
157
|
-
const
|
|
158
|
-
return
|
|
312
|
+
const rendered = renderModelUri(target.scheme, target.pathname);
|
|
313
|
+
return rendered.length > 0 ? rendered : null;
|
|
159
314
|
};
|
|
160
|
-
// Render
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
|
|
315
|
+
// Render TelemetryEvent[] → meta line per event, optionally followed by
|
|
316
|
+
// an N:\t-prefixed snippet block when the event carries `snippet` (the
|
|
317
|
+
// convention plurnk-service uses for content-offset positions — model
|
|
318
|
+
// sees its own offending bytes alongside the error, not an abstract
|
|
319
|
+
// message it can't trace).
|
|
320
|
+
//
|
|
321
|
+
// Snippet renders verbatim — already N:\t-prefixed at production time
|
|
322
|
+
// (Engine.#extractSnippet). The fence is `error://<line>` to give the
|
|
323
|
+
// model a stable URI shape it can ignore or reference; the `error://`
|
|
324
|
+
// scheme isn't writable, it just identifies "this block is locator
|
|
325
|
+
// context, not addressable content."
|
|
326
|
+
//
|
|
327
|
+
// `snippet` is stripped from the meta JSON so the snippet appears once,
|
|
328
|
+
// in the body block, not also as a quoted string in the meta.
|
|
329
|
+
const renderTelemetryErrors = (errors) => errors.map((e) => {
|
|
330
|
+
const snippet = typeof e.snippet === "string" ? e.snippet : null;
|
|
331
|
+
const meta = { ...e };
|
|
332
|
+
if (snippet !== null)
|
|
333
|
+
delete meta.snippet;
|
|
334
|
+
const metaLine = `* ${canonicalJson(meta)}`;
|
|
335
|
+
if (snippet === null || snippet.length === 0)
|
|
336
|
+
return metaLine;
|
|
337
|
+
const line = typeof e.position?.line === "number" ? e.position.line : 0;
|
|
338
|
+
const fence = `error://${line}`;
|
|
339
|
+
return `${metaLine}\n${wrapHeredocBody(fence, snippet)}`;
|
|
340
|
+
}).join("\n");
|
|
165
341
|
//# sourceMappingURL=packet-wire.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-mimetype.d.ts","sourceRoot":"","sources":["../../src/core/path-mimetype.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAmB1D,eAAO,MAAM,oBAAoB,GAC7B,UAAU,MAAM,EAChB,eAAe,MAAM,EACrB,WAAW,SAAS,GAAG,SAAS,KACjC,OAAO,CAAC,MAAM,CAOhB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Path-extension mimetype resolver for entry schemes per plurnk-grammar
|
|
2
|
+
// 0.14.0 §Paths: "Path suffix (`.json`, `.md`, `.txt`, etc.) declares
|
|
3
|
+
// mimetype; absent suffix defers to scheme default."
|
|
4
|
+
//
|
|
5
|
+
// Plurnk-service implements this uniformly across entry schemes: a
|
|
6
|
+
// pathname's extension drives the effective mimetype (via the sibling
|
|
7
|
+
// Mimetypes detect service), and the scheme manifest's channel default
|
|
8
|
+
// is the fallback when no extension is present.
|
|
9
|
+
//
|
|
10
|
+
// This makes structural ops (`<L>` item-index, matcher dialect dispatch)
|
|
11
|
+
// fire correctly without content-sniffing: a model writing JSON to
|
|
12
|
+
// `known://users.json` opts into JSON treatment via the `.json` suffix,
|
|
13
|
+
// while `known://notes` (no suffix) stays at Known's default of
|
|
14
|
+
// `text/markdown`.
|
|
15
|
+
//
|
|
16
|
+
// Consistent across:
|
|
17
|
+
// - known://users.json → application/json
|
|
18
|
+
// - known://notes.md → text/markdown
|
|
19
|
+
// - known://config.yaml → application/yaml
|
|
20
|
+
// - known://users → scheme default (text/markdown for Known)
|
|
21
|
+
import { normalizeAutoTextMimetype } from "./mimetype-binary.js";
|
|
22
|
+
// Extract the suffix (everything after the last dot in the last segment)
|
|
23
|
+
// from a pathname. Empty if no dot in the last segment.
|
|
24
|
+
const extractExtension = (pathname) => {
|
|
25
|
+
const lastSlash = pathname.lastIndexOf("/");
|
|
26
|
+
const lastSegment = lastSlash === -1 ? pathname : pathname.slice(lastSlash + 1);
|
|
27
|
+
const lastDot = lastSegment.lastIndexOf(".");
|
|
28
|
+
if (lastDot <= 0)
|
|
29
|
+
return ""; // leading-dot files (".env") aren't an extension
|
|
30
|
+
return lastSegment.slice(lastDot); // includes the leading "."
|
|
31
|
+
};
|
|
32
|
+
// Resolve a pathname → effective mimetype.
|
|
33
|
+
// 1. If the pathname has an extension, query Mimetypes.detect({ ext })
|
|
34
|
+
// and use what comes back (normalized via the text-primitive rule —
|
|
35
|
+
// text/plain → text/markdown).
|
|
36
|
+
// 2. Otherwise (no extension or no Mimetypes service), fall back to
|
|
37
|
+
// `schemeDefault` (typically the scheme manifest's channel default).
|
|
38
|
+
export const resolveEntryMimetype = async (pathname, schemeDefault, mimetypes) => {
|
|
39
|
+
const ext = extractExtension(pathname);
|
|
40
|
+
if (ext.length > 0 && mimetypes !== undefined) {
|
|
41
|
+
const detected = await mimetypes.detect({ ext });
|
|
42
|
+
if (detected !== null)
|
|
43
|
+
return normalizeAutoTextMimetype(detected);
|
|
44
|
+
}
|
|
45
|
+
return schemeDefault;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=path-mimetype.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-mimetype.js","sourceRoot":"","sources":["../../src/core/path-mimetype.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,sEAAsE;AACtE,qDAAqD;AACrD,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,uEAAuE;AACvE,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,mEAAmE;AACnE,wEAAwE;AACxE,gEAAgE;AAChE,mBAAmB;AACnB,EAAE;AACF,qBAAqB;AACrB,gDAAgD;AAChD,6CAA6C;AAC7C,gDAAgD;AAChD,wEAAwE;AAGxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,yEAAyE;AACzE,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,CAAE,iDAAiD;IAC/E,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,2BAA2B;AACnE,CAAC,CAAC;AAEF,2CAA2C;AAC3C,uEAAuE;AACvE,uEAAuE;AACvE,kCAAkC;AAClC,oEAAoE;AACpE,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACrC,QAAgB,EAChB,aAAqB,EACrB,SAAgC,EACjB,EAAE;IACjB,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { Db } from "./Db.ts";
|
|
2
|
-
|
|
2
|
+
import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
3
|
+
import type { StreamEventNotify, WakeRunNotify } from "./ChannelWrite.ts";
|
|
4
|
+
import type { WriterTier } from "@plurnk/plurnk-schemes";
|
|
5
|
+
export type { LoopFlags, SchemeFlagAffinity, SchemeManifest, WriterTier, } from "@plurnk/plurnk-schemes";
|
|
6
|
+
export { DEFAULT_LOOP_FLAGS } from "@plurnk/plurnk-schemes";
|
|
3
7
|
export interface PlurnkSchemeContext {
|
|
4
8
|
readonly db: Db;
|
|
5
9
|
readonly sessionId: number;
|
|
@@ -8,30 +12,8 @@ export interface PlurnkSchemeContext {
|
|
|
8
12
|
readonly turnId: number;
|
|
9
13
|
readonly writer: WriterTier;
|
|
10
14
|
readonly signal: AbortSignal | undefined;
|
|
15
|
+
readonly streamEventNotify?: StreamEventNotify;
|
|
16
|
+
readonly wakeRunNotify?: WakeRunNotify;
|
|
17
|
+
readonly mimetypes?: Mimetypes;
|
|
11
18
|
}
|
|
12
|
-
export interface SchemeFlagAffinity {
|
|
13
|
-
readonly excludedInAsk?: boolean;
|
|
14
|
-
readonly requiresWeb?: boolean;
|
|
15
|
-
readonly requiresInteraction?: boolean;
|
|
16
|
-
readonly proposes?: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface SchemeManifest {
|
|
19
|
-
readonly name: string;
|
|
20
|
-
readonly channels: Record<string, string>;
|
|
21
|
-
readonly defaultChannel: string;
|
|
22
|
-
readonly category: "data" | "logging";
|
|
23
|
-
readonly scope: "agent" | "session";
|
|
24
|
-
readonly writableBy: ReadonlyArray<WriterTier>;
|
|
25
|
-
readonly volatile: boolean;
|
|
26
|
-
readonly modelVisible: boolean;
|
|
27
|
-
readonly flags?: SchemeFlagAffinity;
|
|
28
|
-
}
|
|
29
|
-
export interface LoopFlags {
|
|
30
|
-
readonly mode: "ask" | "act";
|
|
31
|
-
readonly yolo: boolean;
|
|
32
|
-
readonly noWeb: boolean;
|
|
33
|
-
readonly noInteraction: boolean;
|
|
34
|
-
readonly noProposals: boolean;
|
|
35
|
-
}
|
|
36
|
-
export declare const DEFAULT_LOOP_FLAGS: LoopFlags;
|
|
37
19
|
//# sourceMappingURL=scheme-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheme-types.d.ts","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheme-types.d.ts","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,YAAY,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAClC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
noInteraction: false,
|
|
7
|
-
noProposals: false,
|
|
8
|
-
};
|
|
1
|
+
// Per-call scheme context (DB-coupled). Framework-grade types
|
|
2
|
+
// (SchemeManifest, SchemeFlagAffinity, WriterTier, LoopFlags) re-export
|
|
3
|
+
// from @plurnk/plurnk-schemes so plurnk-service stays the single import
|
|
4
|
+
// point for in-tree schemes.
|
|
5
|
+
export { DEFAULT_LOOP_FLAGS } from "@plurnk/plurnk-schemes";
|
|
9
6
|
//# sourceMappingURL=scheme-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheme-types.js","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"scheme-types.js","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,wEAAwE;AACxE,wEAAwE;AACxE,6BAA6B;AAe7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,12 +11,13 @@ export { default as Log } from "./schemes/Log.ts";
|
|
|
11
11
|
export { default as Plurnk } from "./schemes/Plurnk.ts";
|
|
12
12
|
export { default as Exec } from "./schemes/Exec.ts";
|
|
13
13
|
export { default as File } from "./schemes/File.ts";
|
|
14
|
-
export {
|
|
15
|
-
export type { MockResponse, MockAssistant, ChatMessage } from "
|
|
14
|
+
export { Mock } from "@plurnk/plurnk-providers";
|
|
15
|
+
export type { MockResponse, MockAssistant, ChatMessage } from "@plurnk/plurnk-providers";
|
|
16
16
|
export type { EditResult, ReadResult, ShowHideResult, } from "./schemes/_entry-ops.ts";
|
|
17
17
|
export declare const PATHS: {
|
|
18
18
|
migrations: string;
|
|
19
19
|
instructionsSystem: string;
|
|
20
20
|
defaultPersona: string;
|
|
21
|
+
defaultRequirements: string;
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACR,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,OAAO,GACV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACR,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,OAAO,GACV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEzF,YAAY,EACR,UAAU,EACV,UAAU,EACV,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAoCjC,eAAO,MAAM,KAAK;;;;;CAYjB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export { default as Log } from "./schemes/Log.js";
|
|
|
17
17
|
export { default as Plurnk } from "./schemes/Plurnk.js";
|
|
18
18
|
export { default as Exec } from "./schemes/Exec.js";
|
|
19
19
|
export { default as File } from "./schemes/File.js";
|
|
20
|
-
export {
|
|
20
|
+
export { Mock } from "@plurnk/plurnk-providers";
|
|
21
21
|
import { fileURLToPath } from "node:url";
|
|
22
22
|
import { dirname, resolve } from "node:path";
|
|
23
23
|
// Package-relative paths to non-code artifacts.
|
|
@@ -39,6 +39,15 @@ const resolveDefaultPersona = () => {
|
|
|
39
39
|
}
|
|
40
40
|
return resolve(PACKAGE_ROOT, "persona.md");
|
|
41
41
|
};
|
|
42
|
+
// Same shape as resolveDefaultPersona: `PLURNK_REQUIREMENTS` env (absolute
|
|
43
|
+
// or relative-to-package-root) overrides the in-package `requirements.md`.
|
|
44
|
+
const resolveDefaultRequirements = () => {
|
|
45
|
+
const env = process.env.PLURNK_REQUIREMENTS;
|
|
46
|
+
if (typeof env === "string" && env.length > 0) {
|
|
47
|
+
return resolve(PACKAGE_ROOT, env);
|
|
48
|
+
}
|
|
49
|
+
return resolve(PACKAGE_ROOT, "requirements.md");
|
|
50
|
+
};
|
|
42
51
|
export const PATHS = {
|
|
43
52
|
migrations: resolve(PACKAGE_ROOT, "migrations"),
|
|
44
53
|
instructionsSystem: resolve(GRAMMAR_ROOT, "plurnk.md"),
|
|
@@ -47,5 +56,9 @@ export const PATHS = {
|
|
|
47
56
|
// RPC overrides on loop.run / session.attach / session.create populate
|
|
48
57
|
// the three persistence layers; this file is the final fallback.
|
|
49
58
|
defaultPersona: resolveDefaultPersona(),
|
|
59
|
+
// packet.user.system_requirements DEFAULT. Static contract appended at
|
|
60
|
+
// the end of the user packet — names rules the model has to honor that
|
|
61
|
+
// the grammar block doesn't cover (e.g. "loop concludes with SEND[200]").
|
|
62
|
+
defaultRequirements: resolveDefaultRequirements(),
|
|
50
63
|
};
|
|
51
64
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oCAAoC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oCAAoC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAShD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,gDAAgD;AAChD,EAAE;AACF,gDAAgD;AAChD,+EAA+E;AAC/E,6EAA6E;AAC7E,oCAAoC;AACpC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;AAExG,yEAAyE;AACzE,kEAAkE;AAClE,mEAAmE;AACnE,oDAAoD;AACpD,MAAM,qBAAqB,GAAG,GAAW,EAAE;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAM,0BAA0B,GAAG,GAAW,EAAE;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;IAC/C,kBAAkB,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;IACtD,iEAAiE;IACjE,gEAAgE;IAChE,uEAAuE;IACvE,iEAAiE;IACjE,cAAc,EAAE,qBAAqB,EAAE;IACvC,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,mBAAmB,EAAE,0BAA0B,EAAE;CACpD,CAAC"}
|
package/dist/schemes/Exec.d.ts
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExecStatement, FindStatement, HideStatement, ReadStatement, ShowStatement } from "@plurnk/plurnk-grammar";
|
|
2
|
+
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
3
|
+
import type { ReadResult, ShowHideResult } from "./_entry-ops.ts";
|
|
4
|
+
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
+
import type { FindResult } from "./_entry-find.ts";
|
|
6
|
+
type ExecResult = {
|
|
7
|
+
status: number;
|
|
8
|
+
body?: string;
|
|
9
|
+
attrs?: object;
|
|
10
|
+
error?: string;
|
|
11
|
+
};
|
|
2
12
|
export default class Exec {
|
|
13
|
+
#private;
|
|
3
14
|
static manifest: SchemeManifest;
|
|
15
|
+
idle(): Promise<void>;
|
|
16
|
+
exec(statement: ExecStatement, ctx: PlurnkSchemeContext): Promise<ExecResult>;
|
|
17
|
+
applyResolution(args: {
|
|
18
|
+
attrs: object;
|
|
19
|
+
body?: string;
|
|
20
|
+
}, ctx: PlurnkSchemeContext): Promise<{
|
|
21
|
+
status: number;
|
|
22
|
+
outcome?: string;
|
|
23
|
+
body?: string;
|
|
24
|
+
}>;
|
|
25
|
+
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
26
|
+
show(statement: ShowStatement | HideStatement, ctx: PlurnkSchemeContext): Promise<ShowHideResult>;
|
|
27
|
+
hide(statement: ShowStatement | HideStatement, ctx: PlurnkSchemeContext): Promise<ShowHideResult>;
|
|
28
|
+
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
29
|
+
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
30
|
+
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
31
|
+
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
4
32
|
}
|
|
33
|
+
export {};
|
|
5
34
|
//# sourceMappingURL=Exec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGxH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAyEpF,MAAM,CAAC,OAAO,OAAO,IAAI;;IACrB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAa7B;IAKI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsC7E,eAAe,CACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,GAAG,EAAE,mBAAmB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkGzD,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjG,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG5F"}
|