@plurnk/plurnk-service 1.0.7 → 1.0.9
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/.env.defaults +6 -0
- package/SPEC.md +36 -19
- package/dist/core/ChannelWrite.d.ts +2 -1
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +2 -2
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +2 -1
- package/dist/core/Dispatcher.d.ts +8 -4
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +19 -7
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -0
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +111 -42
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +23 -12
- package/dist/core/Owner.d.ts +9 -0
- package/dist/core/Owner.d.ts.map +1 -0
- package/dist/core/Owner.js +49 -0
- package/dist/core/Owner.js.map +1 -0
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +51 -32
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PluginLoader.d.ts +2 -0
- package/dist/core/PluginLoader.d.ts.map +1 -1
- package/dist/core/PluginLoader.js +27 -1
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +21 -2
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +7 -7
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +2 -1
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +5 -7
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +3 -3
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +6 -4
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/owner.sql +14 -0
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +7 -8
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +2 -2
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +12 -13
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/zero-pin.d.ts +3 -0
- package/dist/core/zero-pin.d.ts.map +1 -0
- package/dist/core/zero-pin.js +16 -0
- package/dist/core/zero-pin.js.map +1 -0
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +6 -1
- package/dist/digest/Digest.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/schemes/Exec.d.ts +6 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +33 -9
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +15 -4
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +4 -3
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.js +1 -1
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Prompt.d.ts +13 -0
- package/dist/schemes/Prompt.d.ts.map +1 -0
- package/dist/schemes/Prompt.js +40 -0
- package/dist/schemes/Prompt.js.map +1 -0
- package/dist/schemes/Worker.d.ts +6 -4
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +116 -72
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +3 -3
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +11 -7
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +8 -20
- package/dist/schemes/_entry-find.d.ts +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +12 -20
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +2 -24
- package/dist/schemes/_entry-manifest.d.ts +1 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +11 -16
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +3 -3
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +24 -26
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +3 -14
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +5 -4
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +52 -10
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/drain.sql +35 -5
- package/dist/server/envelope.d.ts +1 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +15 -7
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +6 -0
- package/dist/server/exec-poll-backoff.d.ts +2 -0
- package/dist/server/exec-poll-backoff.d.ts.map +1 -0
- package/dist/server/exec-poll-backoff.js +6 -0
- package/dist/server/exec-poll-backoff.js.map +1 -0
- package/dist/server/loopDocs.js +2 -2
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/seam-entry-read.sql +3 -2
- package/migrations/0000-00-00.01_schema.sql +19 -6
- package/package.json +19 -16
- package/dist/schemes/Known.d.ts +0 -17
- package/dist/schemes/Known.d.ts.map +0 -1
- package/dist/schemes/Known.js +0 -40
- package/dist/schemes/Known.js.map +0 -1
- package/dist/schemes/Plurnk.d.ts +0 -17
- package/dist/schemes/Plurnk.d.ts.map +0 -1
- package/dist/schemes/Plurnk.js +0 -46
- package/dist/schemes/Plurnk.js.map +0 -1
- package/dist/schemes/Unknown.d.ts +0 -17
- package/dist/schemes/Unknown.d.ts.map +0 -1
- package/dist/schemes/Unknown.js +0 -39
- package/dist/schemes/Unknown.js.map +0 -1
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
-- INIT: schema_version
|
|
2
|
+
-- {§db-schema-version-stamp} (#536) — the cross-repo drift gate: external consumers (bench's
|
|
3
|
+
-- digest) fail-hard on mismatch instead of rotting silently against a moved schema. ANY change
|
|
4
|
+
-- to the schema's SHAPE (tables, columns, identity keys) bumps this integer in the same commit.
|
|
5
|
+
PRAGMA user_version = 1;
|
|
6
|
+
|
|
1
7
|
-- INIT: workspaces
|
|
2
8
|
-- project_root: workspace pointer. NULL = headless (no disk side-effects);
|
|
3
9
|
-- non-null = absolute path to the client's source tree, supplied at
|
|
@@ -113,7 +119,8 @@ CREATE TABLE IF NOT EXISTS turns (
|
|
|
113
119
|
model TEXT NOT NULL DEFAULT 'unknown' CHECK (length(model) >= 1),
|
|
114
120
|
-- #252 — opaque provider→client metadata passthrough (e.g. balancePico). Stored
|
|
115
121
|
-- UNENFORCED (json_valid only, no schema): the canonical-field contract lives between
|
|
116
|
-
-- the provider framework (normalizes) and the client (renders)
|
|
122
|
+
-- the provider framework (normalizes) and the client (renders) — the service authors
|
|
123
|
+
-- only the engine-stamped rail keys ({§rail-truth-engine-verdict}, #534).
|
|
117
124
|
meta TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(meta)),
|
|
118
125
|
FOREIGN KEY (loop_id) REFERENCES loops(id) ON DELETE CASCADE
|
|
119
126
|
) STRICT;
|
|
@@ -128,7 +135,6 @@ CREATE INDEX IF NOT EXISTS turns_timestamp ON turns (timestamp);
|
|
|
128
135
|
CREATE TABLE IF NOT EXISTS entries (
|
|
129
136
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
130
137
|
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
131
|
-
scope TEXT NOT NULL CHECK (scope IN ('workspace', 'worker')),
|
|
132
138
|
workspace_id INTEGER,
|
|
133
139
|
scheme TEXT CHECK (scheme IS NULL OR length(scheme) > 0),
|
|
134
140
|
username TEXT,
|
|
@@ -136,6 +142,11 @@ CREATE TABLE IF NOT EXISTS entries (
|
|
|
136
142
|
hostname TEXT,
|
|
137
143
|
port INTEGER CHECK (port IS NULL OR (port BETWEEN 0 AND 65535)),
|
|
138
144
|
pathname TEXT NOT NULL,
|
|
145
|
+
-- #527 {§entry-owner} — every entry is owned by a worker: the spawning worker for capability
|
|
146
|
+
-- streams, the workspace's reserved 'commons' worker for shared content. A real row, never
|
|
147
|
+
-- NULL (NULLs are distinct under UNIQUE — a nullable owner would let the commons fragment).
|
|
148
|
+
-- The id never renders into a URI or packet; the model addresses owners by NAME (authority).
|
|
149
|
+
owner_id INTEGER NOT NULL,
|
|
139
150
|
params TEXT CHECK (params IS NULL OR json_valid(params)),
|
|
140
151
|
attributes TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(attributes)),
|
|
141
152
|
-- SPEC §membership — how a file member entered the curated surface. 'git' rows are
|
|
@@ -159,12 +170,14 @@ CREATE TABLE IF NOT EXISTS entries (
|
|
|
159
170
|
-- the catalog by it ASC so dormant entries hold the stable prompt-cache prefix.
|
|
160
171
|
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
161
172
|
CHECK (workspace_id IS NOT NULL),
|
|
162
|
-
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE
|
|
173
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
174
|
+
FOREIGN KEY (owner_id) REFERENCES workers(id) ON DELETE CASCADE
|
|
163
175
|
) STRICT;
|
|
164
176
|
|
|
165
|
-
|
|
166
|
-
--
|
|
167
|
-
|
|
177
|
+
-- {§entry-owner} / {§stream-owner-scoped} — ONE identity: the owner is the axis (scope is dead).
|
|
178
|
+
-- Concurrent workers' capability streams share the loop-relative coordinate (every worker's first
|
|
179
|
+
-- loop is seq 1), so identity keys on the owner and identical coordinates are DISTINCT rows (#526).
|
|
180
|
+
CREATE UNIQUE INDEX IF NOT EXISTS entries_identity ON entries (workspace_id, owner_id, scheme, pathname);
|
|
168
181
|
|
|
169
182
|
-- The ONE engine-imposed constraint (SPEC §stream-constraints, §stream-constraints-engine-one-cap): 100 MiB char-length cap
|
|
170
183
|
-- per channel content body. All other limits are extrinsic.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,7 +40,9 @@
|
|
|
40
40
|
"test:unit": "node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-timeout=30000 src/**/*.test.ts",
|
|
41
41
|
"test:intg": "PLURNK_SERVICE_FILES_ITEMS=0 node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-concurrency=8 --test-timeout=30000 test/intg/*.test.ts",
|
|
42
42
|
"test:live": "PLURNK_SERVICE_EMBED_DISABLE=0 PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
|
|
43
|
+
"test:live:zeropin": "PLURNK_ZERO_PIN=1 PLURNK_SERVICE_EMBED_DISABLE=0 PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
|
|
43
44
|
"test:demo": "PLURNK_SERVICE_EMBED_DISABLE=0 PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
|
|
45
|
+
"test:demo:zeropin": "PLURNK_ZERO_PIN=1 PLURNK_SERVICE_EMBED_DISABLE=0 PLURNK_SERVICE_POLICY=../plurnk-meta/PLURNK_PERSONALITY.md node --conditions=plurnk-dev --import=./test/floor.ts --env-file-if-exists=.env.defaults --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
|
|
44
46
|
"test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
|
|
45
47
|
"test:digest": "node --conditions=plurnk-dev bin/digest.ts",
|
|
46
48
|
"test:digest-failures": "node --conditions=plurnk-dev bin/digest-failures.ts",
|
|
@@ -60,23 +62,24 @@
|
|
|
60
62
|
"prepack": "npm run build"
|
|
61
63
|
},
|
|
62
64
|
"dependencies": {
|
|
63
|
-
"@plurnk/plurnk-agui": "1.0.
|
|
64
|
-
"@plurnk/plurnk-execs": "1.0.
|
|
65
|
-
"@plurnk/plurnk-execs-common": "1.0.
|
|
66
|
-
"@plurnk/plurnk-execs-mcp": "1.0.
|
|
67
|
-
"@plurnk/plurnk-execs-search": "1.0.
|
|
68
|
-
"@plurnk/
|
|
69
|
-
"@plurnk/plurnk-
|
|
70
|
-
"@plurnk/plurnk-mimetypes
|
|
71
|
-
"@plurnk/plurnk-
|
|
72
|
-
"@plurnk/plurnk-
|
|
73
|
-
"@plurnk/plurnk-schemes
|
|
74
|
-
"@
|
|
65
|
+
"@plurnk/plurnk-agui": "1.0.9",
|
|
66
|
+
"@plurnk/plurnk-execs": "1.0.9",
|
|
67
|
+
"@plurnk/plurnk-execs-common": "1.0.9",
|
|
68
|
+
"@plurnk/plurnk-execs-mcp": "1.0.9",
|
|
69
|
+
"@plurnk/plurnk-execs-search": "1.0.9",
|
|
70
|
+
"@plurnk/gbnf": "1.0.9",
|
|
71
|
+
"@plurnk/plurnk-grammar": "1.0.9",
|
|
72
|
+
"@plurnk/plurnk-mimetypes": "1.0.9",
|
|
73
|
+
"@plurnk/plurnk-mimetypes-text-html": "1.0.9",
|
|
74
|
+
"@plurnk/plurnk-providers": "1.0.9",
|
|
75
|
+
"@plurnk/plurnk-schemes": "1.0.9",
|
|
76
|
+
"@plurnk/plurnk-schemes-http": "1.0.9",
|
|
77
|
+
"@possumtech/sqlrite": "6.3.0",
|
|
75
78
|
"diff": "^9.0.0",
|
|
76
79
|
"ignore": "7.0.6",
|
|
77
|
-
"isomorphic-git": "1.38.
|
|
78
|
-
"@plurnk/plurnk-mimetypes-embeddings": "1.0.
|
|
79
|
-
"@plurnk/plurnk-meta": "1.0.
|
|
80
|
+
"isomorphic-git": "1.38.9",
|
|
81
|
+
"@plurnk/plurnk-mimetypes-embeddings": "1.0.9",
|
|
82
|
+
"@plurnk/plurnk-meta": "1.0.9"
|
|
80
83
|
},
|
|
81
84
|
"devDependencies": {
|
|
82
85
|
"@types/diff": "^7.0.2"
|
package/dist/schemes/Known.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
-
import type { EditStatement, FindStatement, ReadStatement, SendStatement } from "@plurnk/plurnk-grammar";
|
|
3
|
-
import type { EditResult, ReadResult } from "./_entry-ops.ts";
|
|
4
|
-
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
-
import type { SendResult } from "./_entry-send.ts";
|
|
6
|
-
import type { FindResult } from "./_entry-find.ts";
|
|
7
|
-
export default class Known {
|
|
8
|
-
static manifest: SchemeManifest;
|
|
9
|
-
edit(statement: EditStatement, ctx: PlurnkSchemeContext): Promise<EditResult>;
|
|
10
|
-
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
11
|
-
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
12
|
-
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
13
|
-
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
14
|
-
send(statement: SendStatement, ctx: PlurnkSchemeContext): Promise<SendResult>;
|
|
15
|
-
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Known.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Known.d.ts","sourceRoot":"","sources":["../../src/schemes/Known.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzG,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,KAAK;IAEtB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAU7B;IAEI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;CACJ"}
|
package/dist/schemes/Known.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import EntryOps from "./_entry-ops.js";
|
|
2
|
-
import EntryCrud from "./_entry-crud.js";
|
|
3
|
-
import EntrySend from "./_entry-send.js";
|
|
4
|
-
import EntryFind from "./_entry-find.js";
|
|
5
|
-
export default class Known {
|
|
6
|
-
// A scheme declares its manifest — channels, default channel, scope, writableBy. §scheme-manifest-manifest
|
|
7
|
-
static manifest = {
|
|
8
|
-
name: "known",
|
|
9
|
-
channels: { body: "text/markdown" },
|
|
10
|
-
defaultChannel: "body",
|
|
11
|
-
category: "data",
|
|
12
|
-
scope: "workspace",
|
|
13
|
-
writableBy: ["model", "client"],
|
|
14
|
-
volatile: false,
|
|
15
|
-
modelVisible: true,
|
|
16
|
-
example: "<<EDIT(known:///plan.md):- [ ] step:EDIT",
|
|
17
|
-
};
|
|
18
|
-
async edit(statement, ctx) {
|
|
19
|
-
return EntryOps.editWorkspaceEntry(statement, ctx, Known.manifest);
|
|
20
|
-
}
|
|
21
|
-
async read(statement, ctx) {
|
|
22
|
-
return EntryOps.readWorkspaceEntry(statement, ctx, Known.manifest);
|
|
23
|
-
}
|
|
24
|
-
async readEntry(pathname, ctx) {
|
|
25
|
-
return EntryCrud.readEntry(pathname, ctx, Known.manifest.name);
|
|
26
|
-
}
|
|
27
|
-
async writeEntry(pathname, entry, ctx) {
|
|
28
|
-
return EntryCrud.writeEntry(pathname, entry, ctx, Known.manifest.name);
|
|
29
|
-
}
|
|
30
|
-
async deleteEntry(pathname, ctx) {
|
|
31
|
-
return EntryCrud.deleteEntry(pathname, ctx, Known.manifest.name);
|
|
32
|
-
}
|
|
33
|
-
async send(statement, ctx) {
|
|
34
|
-
return EntrySend.sendToWorkspaceEntry(statement, ctx, Known.manifest.name);
|
|
35
|
-
}
|
|
36
|
-
async find(statement, ctx) {
|
|
37
|
-
return EntryFind.findWorkspaceEntries(statement, ctx, Known.manifest);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=Known.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Known.js","sourceRoot":"","sources":["../../src/schemes/Known.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,2GAA2G;IAC3G,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,0CAA0C;KACtD,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAwB;QACtD,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAgB,EAAE,GAAwB;QACzE,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAwB;QACxD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;CACJ"}
|
package/dist/schemes/Plurnk.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
-
import type { EditStatement, FindStatement, ReadStatement, SendStatement } from "@plurnk/plurnk-grammar";
|
|
3
|
-
import type { EditResult, ReadResult } from "./_entry-ops.ts";
|
|
4
|
-
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
-
import type { SendResult } from "./_entry-send.ts";
|
|
6
|
-
import type { FindResult } from "./_entry-find.ts";
|
|
7
|
-
export default class Plurnk {
|
|
8
|
-
static manifest: SchemeManifest;
|
|
9
|
-
edit(statement: EditStatement, ctx: PlurnkSchemeContext): Promise<EditResult>;
|
|
10
|
-
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
11
|
-
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
12
|
-
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
13
|
-
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
14
|
-
send(statement: SendStatement, ctx: PlurnkSchemeContext): Promise<SendResult>;
|
|
15
|
-
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Plurnk.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plurnk.d.ts","sourceRoot":"","sources":["../../src/schemes/Plurnk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzG,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAW7B;IAEI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;CACJ"}
|
package/dist/schemes/Plurnk.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import EntryOps from "./_entry-ops.js";
|
|
2
|
-
import EntryCrud from "./_entry-crud.js";
|
|
3
|
-
import EntrySend from "./_entry-send.js";
|
|
4
|
-
import EntryFind from "./_entry-find.js";
|
|
5
|
-
// Engine-authored reference scheme — the prompt (`plurnk://prompt/<run>/<loop>/<N>`), the scheme
|
|
6
|
-
// docs (`plurnk:///docs/*`), the catalog. All of it the engine writes FOR the model to READ;
|
|
7
|
-
// none of it is the model's to write. writableBy excludes "model", so the manifest gate
|
|
8
|
-
// (§scheme-surface-writableby-403) rejects every model-origin write uniformly — no path special-
|
|
9
|
-
// case. The model's scratch surface is `known://`; editing plurnk:// reference used to "succeed"
|
|
10
|
-
// and became a scratch-behavior sink for weak models (#310).
|
|
11
|
-
export default class Plurnk {
|
|
12
|
-
static manifest = {
|
|
13
|
-
name: "plurnk",
|
|
14
|
-
channels: { body: "text/markdown" },
|
|
15
|
-
defaultChannel: "body",
|
|
16
|
-
category: "data",
|
|
17
|
-
scope: "workspace",
|
|
18
|
-
writableBy: ["client", "plurnk"],
|
|
19
|
-
volatile: false,
|
|
20
|
-
modelVisible: true,
|
|
21
|
-
example: "<<FIND(plurnk:///**)::FIND",
|
|
22
|
-
documentation: "Engine-authored reference surfaced to you — your active prompt at `plurnk://prompt/<run>/<loop>/<N>` (READ the address the User Prompts section lists), the scheme docs at `plurnk://docs/*`. READ-ONLY: READ these, never EDIT them (use `known://` for your own scratch).",
|
|
23
|
-
};
|
|
24
|
-
async edit(statement, ctx) {
|
|
25
|
-
return EntryOps.editWorkspaceEntry(statement, ctx, Plurnk.manifest);
|
|
26
|
-
}
|
|
27
|
-
async read(statement, ctx) {
|
|
28
|
-
return EntryOps.readWorkspaceEntry(statement, ctx, Plurnk.manifest);
|
|
29
|
-
}
|
|
30
|
-
async readEntry(pathname, ctx) {
|
|
31
|
-
return EntryCrud.readEntry(pathname, ctx, Plurnk.manifest.name);
|
|
32
|
-
}
|
|
33
|
-
async writeEntry(pathname, entry, ctx) {
|
|
34
|
-
return EntryCrud.writeEntry(pathname, entry, ctx, Plurnk.manifest.name);
|
|
35
|
-
}
|
|
36
|
-
async deleteEntry(pathname, ctx) {
|
|
37
|
-
return EntryCrud.deleteEntry(pathname, ctx, Plurnk.manifest.name);
|
|
38
|
-
}
|
|
39
|
-
async send(statement, ctx) {
|
|
40
|
-
return EntrySend.sendToWorkspaceEntry(statement, ctx, Plurnk.manifest.name);
|
|
41
|
-
}
|
|
42
|
-
async find(statement, ctx) {
|
|
43
|
-
return EntryFind.findWorkspaceEntries(statement, ctx, Plurnk.manifest);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=Plurnk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plurnk.js","sourceRoot":"","sources":["../../src/schemes/Plurnk.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,iGAAiG;AACjG,6FAA6F;AAC7F,wFAAwF;AACxF,iGAAiG;AACjG,iGAAiG;AACjG,6DAA6D;AAC7D,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,4BAA4B;QACrC,aAAa,EAAE,6QAA6Q;KAC/R,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAwB;QACtD,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAgB,EAAE,GAAwB;QACzE,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAwB;QACxD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;CACJ"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
-
import type { EditStatement, FindStatement, ReadStatement, SendStatement } from "@plurnk/plurnk-grammar";
|
|
3
|
-
import type { EditResult, ReadResult } from "./_entry-ops.ts";
|
|
4
|
-
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
-
import type { SendResult } from "./_entry-send.ts";
|
|
6
|
-
import type { FindResult } from "./_entry-find.ts";
|
|
7
|
-
export default class Unknown {
|
|
8
|
-
static manifest: SchemeManifest;
|
|
9
|
-
edit(statement: EditStatement, ctx: PlurnkSchemeContext): Promise<EditResult>;
|
|
10
|
-
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
11
|
-
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
12
|
-
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
13
|
-
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
14
|
-
send(statement: SendStatement, ctx: PlurnkSchemeContext): Promise<SendResult>;
|
|
15
|
-
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Unknown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../src/schemes/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzG,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAU7B;IAEI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;CACJ"}
|
package/dist/schemes/Unknown.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import EntryOps from "./_entry-ops.js";
|
|
2
|
-
import EntryCrud from "./_entry-crud.js";
|
|
3
|
-
import EntrySend from "./_entry-send.js";
|
|
4
|
-
import EntryFind from "./_entry-find.js";
|
|
5
|
-
export default class Unknown {
|
|
6
|
-
static manifest = {
|
|
7
|
-
name: "unknown",
|
|
8
|
-
channels: { body: "text/markdown" },
|
|
9
|
-
defaultChannel: "body",
|
|
10
|
-
category: "data",
|
|
11
|
-
scope: "workspace",
|
|
12
|
-
writableBy: ["model", "client"],
|
|
13
|
-
volatile: false,
|
|
14
|
-
modelVisible: true,
|
|
15
|
-
example: "<<READ(unknown:///entry.md)::READ",
|
|
16
|
-
};
|
|
17
|
-
async edit(statement, ctx) {
|
|
18
|
-
return EntryOps.editWorkspaceEntry(statement, ctx, Unknown.manifest);
|
|
19
|
-
}
|
|
20
|
-
async read(statement, ctx) {
|
|
21
|
-
return EntryOps.readWorkspaceEntry(statement, ctx, Unknown.manifest);
|
|
22
|
-
}
|
|
23
|
-
async readEntry(pathname, ctx) {
|
|
24
|
-
return EntryCrud.readEntry(pathname, ctx, Unknown.manifest.name);
|
|
25
|
-
}
|
|
26
|
-
async writeEntry(pathname, entry, ctx) {
|
|
27
|
-
return EntryCrud.writeEntry(pathname, entry, ctx, Unknown.manifest.name);
|
|
28
|
-
}
|
|
29
|
-
async deleteEntry(pathname, ctx) {
|
|
30
|
-
return EntryCrud.deleteEntry(pathname, ctx, Unknown.manifest.name);
|
|
31
|
-
}
|
|
32
|
-
async send(statement, ctx) {
|
|
33
|
-
return EntrySend.sendToWorkspaceEntry(statement, ctx, Unknown.manifest.name);
|
|
34
|
-
}
|
|
35
|
-
async find(statement, ctx) {
|
|
36
|
-
return EntryFind.findWorkspaceEntries(statement, ctx, Unknown.manifest);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=Unknown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Unknown.js","sourceRoot":"","sources":["../../src/schemes/Unknown.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,mCAAmC;KAC/C,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAwB;QACtD,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAgB,EAAE,GAAwB;QACzE,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAwB;QACxD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;CACJ"}
|