@plurnk/plurnk-service 1.2.0 → 1.3.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/.env.defaults +7 -5
- package/README.md +16 -13
- package/SPEC.md +72 -130
- package/dist/build-info.d.ts +11 -0
- package/dist/build-info.d.ts.map +1 -0
- package/dist/build-info.js +45 -0
- package/dist/build-info.js.map +1 -0
- package/dist/build-info.json +1 -0
- package/dist/content/index.js +1 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/line-marker.js +1 -1
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.js +4 -4
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/mimetype-binary.js +1 -1
- package/dist/content/mimetype-binary.js.map +1 -1
- package/dist/content/path-mimetype.js +1 -1
- package/dist/content/path-mimetype.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +2 -1
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +6 -19
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +2 -7
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +92 -23
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +9 -0
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +126 -30
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +8 -6
- package/dist/core/PacketBuilder.js +1 -1
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PluginLoader.d.ts +1 -0
- package/dist/core/PluginLoader.d.ts.map +1 -1
- package/dist/core/PluginLoader.js +22 -11
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +11 -6
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +1 -0
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +8 -0
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +3 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +18 -11
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +6 -5
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +36 -14
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.d.ts +11 -0
- package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -0
- package/dist/core/caps/DbProjectionCaps.js +19 -0
- package/dist/core/caps/DbProjectionCaps.js.map +1 -0
- package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +12 -3
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +18 -4
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +26 -12
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/fork.sql +4 -4
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +23 -0
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +3 -2
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/path-decode.d.ts +1 -0
- package/dist/core/path-decode.d.ts.map +1 -1
- package/dist/core/path-decode.js +1 -0
- package/dist/core/path-decode.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +5 -3
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/resolveForLoop.js +1 -1
- package/dist/core/resolveForLoop.js.map +1 -1
- package/dist/core/results.js +2 -2
- package/dist/core/results.js.map +1 -1
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/search-gate.js +2 -2
- package/dist/core/search-gate.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +79 -8
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +1 -1
- package/dist/schemes/Exec.d.ts +2 -4
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +41 -11
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +1 -0
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +20 -0
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Prompt.d.ts +6 -7
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +4 -5
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +7 -9
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +5 -7
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +1 -0
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-chunk.d.ts +4 -1
- package/dist/schemes/_entry-chunk.d.ts.map +1 -1
- package/dist/schemes/_entry-chunk.js +76 -22
- package/dist/schemes/_entry-chunk.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +0 -10
- 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 +9 -8
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +1 -1
- package/dist/schemes/_entry-graph.d.ts +1 -1
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +13 -12
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +49 -13
- package/dist/schemes/_entry-manifest.d.ts +5 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +135 -123
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +0 -4
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-semantic.d.ts +12 -5
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +57 -70
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +22 -53
- package/dist/server/Daemon.d.ts +4 -3
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +109 -44
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/auto.d.ts +6 -0
- package/dist/server/auto.d.ts.map +1 -0
- package/dist/server/{yolo.js → auto.js} +15 -16
- package/dist/server/auto.js.map +1 -0
- package/dist/server/client-input.d.ts +1 -1
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +11 -4
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/drain.sql +6 -3
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +2 -2
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/noProposals.js +5 -5
- package/dist/server/noProposals.js.map +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +18 -5
- package/dist/service.js.map +1 -1
- package/migrations/0000-00-00.01_schema.sql +55 -48
- package/migrations/0004_loop-provider.sql +3 -0
- package/migrations/0005_subscription-published-channel.sql +3 -0
- package/package.json +27 -22
- package/dist/server/yolo.d.ts +0 -6
- package/dist/server/yolo.d.ts.map +0 -1
- package/dist/server/yolo.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { schemeNameOf } from "./plurnk-uri.js";
|
|
2
|
+
import SchemeCtxImpl from "./caps/SchemeCtxImpl.js";
|
|
2
3
|
// Resolution timeout — OFF by default (owner ruling, the AG-UI migration's first surfaced
|
|
3
4
|
// decision): a stopped world awaiting a human WAITS — the human's absence is not an answer,
|
|
4
5
|
// and a silent five-minute cancel is the machine deciding it was. The [102]<-1> doctrine's
|
|
@@ -15,7 +16,7 @@ const readProposalTimeoutMs = () => {
|
|
|
15
16
|
};
|
|
16
17
|
// The proposal lifecycle (SPEC.md §engine-rails + §methods loop.resolve): a
|
|
17
18
|
// side-effecting op that returns 202 pauses in dispatch until a resolution
|
|
18
|
-
// arrives — from the loop/resolve RPC, the in-tree
|
|
19
|
+
// arrives — from the loop/resolve RPC, the in-tree auto listener, or the
|
|
19
20
|
// timeout — then the scheme's applyResolution hook applies the accept.
|
|
20
21
|
export default class ProposalLifecycle {
|
|
21
22
|
#db;
|
|
@@ -36,7 +37,7 @@ export default class ProposalLifecycle {
|
|
|
36
37
|
#pending = new Map();
|
|
37
38
|
// External observers of proposal lifecycle events. Daemon subscribes
|
|
38
39
|
// here to push `loop/proposal` notifications when an entry enters
|
|
39
|
-
// pending state.
|
|
40
|
+
// pending state. auto listener (Phase E.3) subscribes here too. Lean
|
|
40
41
|
// event emitter — no priority, no veto chain at this layer; filter
|
|
41
42
|
// chains come later if a real consumer needs them.
|
|
42
43
|
#listeners = [];
|
|
@@ -52,7 +53,7 @@ export default class ProposalLifecycle {
|
|
|
52
53
|
this.#loopSignal = loopSignal;
|
|
53
54
|
}
|
|
54
55
|
// External API to feed a resolution into a pending proposal. Called by
|
|
55
|
-
// the loop/resolve RPC handler (Phase E.2), the in-tree
|
|
56
|
+
// the loop/resolve RPC handler (Phase E.2), the in-tree auto listener
|
|
56
57
|
// (Phase E.3), or the timeout watcher. Throws when the logEntryId has no
|
|
57
58
|
// pending waiter — duplicate resolutions, IDs for non-proposed entries,
|
|
58
59
|
// or entries already-resolved are caller errors.
|
|
@@ -85,7 +86,7 @@ export default class ProposalLifecycle {
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
// Subscribe to proposal-pending events. Daemon registers a listener
|
|
88
|
-
// that broadcasts the loop/proposal WS notification;
|
|
89
|
+
// that broadcasts the loop/proposal WS notification; auto listener
|
|
89
90
|
// (Phase E.3) registers one that auto-resolves. Listeners fire BEFORE
|
|
90
91
|
// dispatch awaits resolution, so synchronous (or fast-async) handlers
|
|
91
92
|
// can resolve inline.
|
|
@@ -147,10 +148,14 @@ export default class ProposalLifecycle {
|
|
|
147
148
|
pushTelemetry: (event) => this.#telemetry.push(workspaceId, loopId, event),
|
|
148
149
|
executors: this.#executors(),
|
|
149
150
|
};
|
|
150
|
-
const
|
|
151
|
+
const request = {
|
|
151
152
|
attrs: (originalResult.attrs ?? {}),
|
|
152
153
|
body: resolution.body,
|
|
153
|
-
}
|
|
154
|
+
};
|
|
155
|
+
const manifest = this.#schemes.manifestFor(schemeName);
|
|
156
|
+
if (manifest === undefined)
|
|
157
|
+
throw new Error(`scheme '${schemeName}' has no manifest`);
|
|
158
|
+
const applyResult = await handler.applyResolution(request, new SchemeCtxImpl(applyCtx, schemeName, manifest));
|
|
154
159
|
if (applyResult.status >= 400) {
|
|
155
160
|
return {
|
|
156
161
|
decision: "reject",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposalLifecycle.js","sourceRoot":"","sources":["../../src/core/ProposalLifecycle.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProposalLifecycle.js","sourceRoot":"","sources":["../../src/core/ProposalLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export default class ProviderInstantiate {
|
|
|
3
3
|
#private;
|
|
4
4
|
static aliasOf(provider: Provider): string | undefined;
|
|
5
5
|
static registerAlias(provider: Provider, alias: string): void;
|
|
6
|
+
static registerInstance(provider: Provider, spec: ProviderAlias): void;
|
|
6
7
|
static instantiateProvider(alias: ProviderAlias, env?: NodeJS.ProcessEnv): Promise<Provider>;
|
|
7
8
|
static loadActiveProvider(env?: NodeJS.ProcessEnv): Promise<Provider | null>;
|
|
8
9
|
static verifyGrammarEnforcement(provider: Provider, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderInstantiate.d.ts","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAcpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAErD;IAKD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;IAED,OAAa,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY9G;IA+DD,OAAa,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM9F;IAWD,OAAa,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7G;CACJ"}
|
|
1
|
+
{"version":3,"file":"ProviderInstantiate.d.ts","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAcpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAErD;IAKD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;IAMD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAMrE;IAED,OAAa,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY9G;IA+DD,OAAa,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM9F;IAWD,OAAa,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7G;CACJ"}
|
|
@@ -36,6 +36,14 @@ export default class ProviderInstantiate {
|
|
|
36
36
|
static registerAlias(provider, alias) {
|
|
37
37
|
ProviderInstantiate.#aliasByProvider.set(provider, alias);
|
|
38
38
|
}
|
|
39
|
+
// Register a preconstructed handle under its full durable identity. Production
|
|
40
|
+
// providers arrive through instantiateProvider and are already cached; this seam
|
|
41
|
+
// gives injected providers (notably deterministic test providers) the identical
|
|
42
|
+
// lookup behavior when a persisted loop resumes.
|
|
43
|
+
static registerInstance(provider, spec) {
|
|
44
|
+
ProviderInstantiate.#aliasByProvider.set(provider, spec.alias);
|
|
45
|
+
ProviderInstantiate.#instances.set(`${spec.provider}|${spec.model}|${spec.baseUrl ?? ""}`, Promise.resolve(provider));
|
|
46
|
+
}
|
|
39
47
|
static async instantiateProvider(alias, env = process.env) {
|
|
40
48
|
if (env === process.env) {
|
|
41
49
|
const key = `${alias.provider}|${alias.model}|${alias.baseUrl ?? ""}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderInstantiate.js","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProviderInstantiate.js","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type WebFetch } from "../schemes/Exec.ts";
|
|
2
2
|
import type { LoopFlags } from "./types.ts";
|
|
3
3
|
import type { PacketSection } from "./packet-wire.ts";
|
|
4
|
+
import type { SchemeManifest } from "./scheme-types.ts";
|
|
4
5
|
import type ExecutorRegistry from "./ExecutorRegistry.ts";
|
|
5
6
|
import type { Executor } from "./ExecutorRegistry.ts";
|
|
6
7
|
export default class SchemeRegistry {
|
|
@@ -13,8 +14,9 @@ export default class SchemeRegistry {
|
|
|
13
14
|
registerRuntimeScheme(tag: string, executor: Executor): void;
|
|
14
15
|
get(name: string): object | undefined;
|
|
15
16
|
has(name: string): boolean;
|
|
16
|
-
|
|
17
|
+
manifestFor(name: string): SchemeManifest | undefined;
|
|
17
18
|
list(): string[];
|
|
19
|
+
close(): Promise<void>;
|
|
18
20
|
defaultChannelFor(scheme: string | null): string;
|
|
19
21
|
teach(): string;
|
|
20
22
|
docs(): Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeRegistry.d.ts","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"AACA,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemeRegistry.d.ts","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"AACA,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAA4B,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBtD,MAAM,CAAC,OAAO,OAAO,cAAc;;IAc/B,YAAY,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,EAezC;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAG5C;IAOD,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAMxD;IAOD,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAQ3D;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAqC;IAE1E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAqC;IAE/D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGpD;IAED,IAAI,IAAI,MAAM,EAAE,CAAkD;IAI5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;IAID,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI/C;IAWD,KAAK,IAAI,MAAM,CAad;IAID,IAAI,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAW/C;IAOK,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAO3E;IASK,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjE;IAID,YAAY,IAAI,MAAM,EAAE,CAAoC;IAI5D,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAE5C;CACJ"}
|
|
@@ -23,7 +23,7 @@ import { docsExcludeSet } from "./teaching.js";
|
|
|
23
23
|
// The in-tree CORE-scheme depth (run/known/unknown/log) lives in the docs corpus (docs/)
|
|
24
24
|
// (Paths.schemeDocs), NOT inline — the docs agent owns the prose; loaded once at module eval.
|
|
25
25
|
// teach()/docs() prefer this over a manifest's inline `documentation` (the path that stays for
|
|
26
|
-
// stubs +
|
|
26
|
+
// stubs + plugin schemes). Absent dir → empty map.
|
|
27
27
|
const SCHEME_DOCS = await (async () => {
|
|
28
28
|
try {
|
|
29
29
|
const files = (await readdir(Paths.schemeDocs)).filter((f) => f.endsWith(".md"));
|
|
@@ -35,11 +35,9 @@ const SCHEME_DOCS = await (async () => {
|
|
|
35
35
|
}
|
|
36
36
|
})();
|
|
37
37
|
export default class SchemeRegistry {
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
// is `object`. Dispatch (Dispatcher.#run) borrows SchemeHandler's op-key set, not its ctx.
|
|
38
|
+
// Handler store. Dispatcher supplies one context implementation to bundled
|
|
39
|
+
// and discovered schemes alike.
|
|
41
40
|
#handlers = new Map();
|
|
42
|
-
#external = new Set();
|
|
43
41
|
#attributions = []; // #249 — declared attribution tags of discovered external schemes
|
|
44
42
|
// §exec — runtime-tag schemes (sh/node/…) that ALIAS the exec handler for output-entry
|
|
45
43
|
// addressing (sh:///l/t/s). Routable via get(), but NOT separately taught or doc-materialized
|
|
@@ -103,10 +101,21 @@ export default class SchemeRegistry {
|
|
|
103
101
|
}
|
|
104
102
|
get(name) { return this.#handlers.get(name); }
|
|
105
103
|
has(name) { return this.#handlers.has(name); }
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
104
|
+
manifestFor(name) {
|
|
105
|
+
const handler = this.#handlers.get(name);
|
|
106
|
+
return handler?.manifest ?? handler?.constructor?.manifest;
|
|
107
|
+
}
|
|
109
108
|
list() { return [...this.#handlers.keys()].toSorted(); }
|
|
109
|
+
// Process-lifecycle boundary for plugin-owned pools/sockets/connections. Runtime
|
|
110
|
+
// aliases may share a handler, so close each object identity exactly once.
|
|
111
|
+
async close() {
|
|
112
|
+
const handlers = new Set(this.#handlers.values());
|
|
113
|
+
await Promise.all([...handlers].map(async (handler) => {
|
|
114
|
+
const close = handler.close;
|
|
115
|
+
if (close !== undefined)
|
|
116
|
+
await close.call(handler);
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
110
119
|
// A scheme's default channel (manifest.defaultChannel) — the channel a fragment-less
|
|
111
120
|
// address targets. Drives the manifest's address-keyed channels (note 4); null → file (body).
|
|
112
121
|
defaultChannelFor(scheme) {
|
|
@@ -178,8 +187,7 @@ export default class SchemeRegistry {
|
|
|
178
187
|
// never crashed) both live there now, single-sourced across the plugin families
|
|
179
188
|
// (the "delegate upstream" rule — execs/mimetypes/providers already ship discover()).
|
|
180
189
|
// The service keeps only consumer policy: in-tree precedence (a name a built-in owns
|
|
181
|
-
// is left as-is) and importing + registering the trusted descriptors.
|
|
182
|
-
// the substrate only through the DB-free SchemeCtx the engine wraps for isExternal() schemes.
|
|
190
|
+
// is left as-is) and importing + registering the trusted descriptors.
|
|
183
191
|
async discoverExternal(cwd = process.cwd()) {
|
|
184
192
|
const { schemes, skipped } = await SchemeDiscovery.discover({ cwd });
|
|
185
193
|
for (const name of skipped) {
|
|
@@ -198,7 +206,6 @@ export default class SchemeRegistry {
|
|
|
198
206
|
if (typeof Handler !== "function")
|
|
199
207
|
throw new Error(`external scheme '${name}' (${packageName}): export '${exportName ?? "default"}' is not a constructor — boot fail-hard (#473)`);
|
|
200
208
|
this.register(name, new Handler());
|
|
201
|
-
this.#external.add(name);
|
|
202
209
|
this.#attributions.push(...PluginAttribution.read(packageName)); // #249 — fail-hard if it claims @plurnk/
|
|
203
210
|
}
|
|
204
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAuB,MAAM,oBAAoB,CAAC;AACzD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAG7E,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,yFAAyF;AACzF,8FAA8F;AAC9F,+FAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import type { EntryCaps, EntryData } from "@plurnk/plurnk-schemes";
|
|
1
|
+
import type { EntryCaps, EntryData, EntryOperationCaps, EntryOwner, SchemeManifest } from "@plurnk/plurnk-schemes";
|
|
2
2
|
import type { PlurnkSchemeContext } from "../scheme-types.ts";
|
|
3
3
|
export default class DbEntryCaps implements EntryCaps {
|
|
4
4
|
#private;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
readonly operations: EntryOperationCaps;
|
|
6
|
+
constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest);
|
|
7
|
+
read(pathname: string, owner?: EntryOwner): Promise<{
|
|
7
8
|
status: number;
|
|
8
9
|
entry: EntryData | null;
|
|
9
10
|
}>;
|
|
10
|
-
write(pathname: string, entry: EntryData): Promise<{
|
|
11
|
+
write(pathname: string, entry: EntryData, owner?: EntryOwner): Promise<{
|
|
11
12
|
status: number;
|
|
12
13
|
created: boolean;
|
|
13
14
|
entryId: number | null;
|
|
14
15
|
}>;
|
|
15
|
-
delete(pathname: string): Promise<{
|
|
16
|
+
delete(pathname: string, owner?: EntryOwner): Promise<{
|
|
16
17
|
status: number;
|
|
17
18
|
}>;
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbEntryCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DbEntryCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAER,SAAS,EACT,SAAS,EAGT,kBAAkB,EAClB,UAAU,EAIV,cAAc,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,SAAS;;IAIjD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAExC,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAU7E;IAsBK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC,CAErG;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAIzI;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAE9E;CACJ"}
|
|
@@ -1,28 +1,50 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
// db-backed impl so a third-party `@plurnk/plurnk-schemes-*` sibling reaches
|
|
4
|
-
// entries through intent (read/write/delete) instead of the forbidden raw
|
|
5
|
-
// `ctx.db` (schemes SPEC §channels). Binds a PlurnkSchemeContext + the scheme name and
|
|
6
|
-
// delegates 1:1 to EntryCrud — the same path the in-tree schemes use during
|
|
7
|
-
// transition, so the adapter is zero-behavior-change over a proven primitive.
|
|
1
|
+
// Consumer implementation of the stable entry domain. Direct storage and
|
|
2
|
+
// standard PLURNK entry operations share the same proven core primitives.
|
|
8
3
|
import EntryCrud from "../../schemes/_entry-crud.js";
|
|
4
|
+
import EntryFind from "../../schemes/_entry-find.js";
|
|
5
|
+
import EntryOps from "../../schemes/_entry-ops.js";
|
|
6
|
+
import EntrySend from "../../schemes/_entry-send.js";
|
|
9
7
|
export default class DbEntryCaps {
|
|
10
8
|
#ctx;
|
|
11
9
|
#scheme;
|
|
12
|
-
|
|
10
|
+
#manifest;
|
|
11
|
+
operations;
|
|
12
|
+
constructor(ctx, scheme, manifest) {
|
|
13
13
|
this.#ctx = ctx;
|
|
14
14
|
this.#scheme = scheme;
|
|
15
|
+
this.#manifest = manifest;
|
|
16
|
+
this.operations = {
|
|
17
|
+
edit: (statement, owner) => this.#edit(statement, owner),
|
|
18
|
+
read: (statement, owner) => this.#read(statement, owner),
|
|
19
|
+
find: (statement, owner) => this.#find(statement, owner),
|
|
20
|
+
send: (statement, owner) => this.#send(statement, owner),
|
|
21
|
+
};
|
|
15
22
|
}
|
|
16
|
-
|
|
17
|
-
return
|
|
23
|
+
#ownerId(owner) {
|
|
24
|
+
return owner === "worker" ? this.#ctx.workerId : undefined;
|
|
18
25
|
}
|
|
19
|
-
async
|
|
26
|
+
async #edit(statement, owner) {
|
|
27
|
+
return { ...await EntryOps.editWorkspaceEntry(statement, this.#ctx, this.#manifest, this.#ownerId(owner)) };
|
|
28
|
+
}
|
|
29
|
+
async #read(statement, owner) {
|
|
30
|
+
return { ...await EntryOps.readWorkspaceEntry(statement, this.#ctx, this.#manifest, this.#ownerId(owner)) };
|
|
31
|
+
}
|
|
32
|
+
async #find(statement, owner) {
|
|
33
|
+
return { ...await EntryFind.findWorkspaceEntries(statement, this.#ctx, this.#manifest, this.#ownerId(owner)) };
|
|
34
|
+
}
|
|
35
|
+
async #send(statement, owner) {
|
|
36
|
+
return EntrySend.sendToWorkspaceEntry(statement, this.#ctx, this.#scheme, this.#ownerId(owner));
|
|
37
|
+
}
|
|
38
|
+
async read(pathname, owner) {
|
|
39
|
+
return EntryCrud.readEntry(pathname, this.#ctx, this.#scheme, this.#ownerId(owner));
|
|
40
|
+
}
|
|
41
|
+
async write(pathname, entry, owner) {
|
|
20
42
|
// schemes' EntryData carries `tags` as ReadonlyArray; EntryCrud writes a
|
|
21
43
|
// mutable array — copy at the boundary.
|
|
22
|
-
return EntryCrud.writeEntry(pathname, { channels: entry.channels, tags: [...entry.tags] }, this.#ctx, this.#scheme);
|
|
44
|
+
return EntryCrud.writeEntry(pathname, { channels: entry.channels, tags: [...entry.tags] }, this.#ctx, this.#scheme, this.#ownerId(owner));
|
|
23
45
|
}
|
|
24
|
-
async delete(pathname) {
|
|
25
|
-
return EntryCrud.deleteEntry(pathname, this.#ctx, this.#scheme);
|
|
46
|
+
async delete(pathname, owner) {
|
|
47
|
+
return EntryCrud.deleteEntry(pathname, this.#ctx, this.#scheme, this.#ownerId(owner));
|
|
26
48
|
}
|
|
27
49
|
}
|
|
28
50
|
//# sourceMappingURL=DbEntryCaps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbEntryCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DbEntryCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ProjectionCaps } from "@plurnk/plurnk-schemes";
|
|
2
|
+
import type { PlurnkSchemeContext } from "../scheme-types.ts";
|
|
3
|
+
export default class DbProjectionCaps implements ProjectionCaps {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(ctx: PlurnkSchemeContext);
|
|
6
|
+
readable(content: string, mimetype: string): Promise<{
|
|
7
|
+
content: string;
|
|
8
|
+
mimetype: string;
|
|
9
|
+
} | null>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=DbProjectionCaps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DbProjectionCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbProjectionCaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,cAAc;;IAG3D,YAAY,GAAG,EAAE,mBAAmB,EAEnC;IAEK,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAOvG;CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Consumer-owned MIME projection for DB-free sibling schemes. The scheme owns
|
|
2
|
+
// acquisition; core owns the configured reader family and therefore the exact
|
|
3
|
+
// text the model, FIND, embeddings, and weights consume.
|
|
4
|
+
export default class DbProjectionCaps {
|
|
5
|
+
#ctx;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
this.#ctx = ctx;
|
|
8
|
+
}
|
|
9
|
+
async readable(content, mimetype) {
|
|
10
|
+
const mimetypes = this.#ctx.mimetypes;
|
|
11
|
+
if (mimetypes === undefined)
|
|
12
|
+
throw new Error("projection.readable: mimetype registry is required");
|
|
13
|
+
const projected = (await mimetypes.process({ content, hint: mimetype }, { channels: ["content"] })).content;
|
|
14
|
+
return typeof projected === "string" && projected.length > 0
|
|
15
|
+
? { content: projected, mimetype: "text/markdown" }
|
|
16
|
+
: null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=DbProjectionCaps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DbProjectionCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbProjectionCaps.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,8EAA8E;AAC9E,yDAAyD;AACzD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACxB,IAAI,CAAsB;IAEnC,YAAY,GAAwB;QAChC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,QAAgB;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACnG,MAAM,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5G,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;CACJ"}
|
|
@@ -3,7 +3,9 @@ import type { PlurnkSchemeContext } from "../scheme-types.ts";
|
|
|
3
3
|
export default class DbSubscriptionCaps implements SubscriptionCaps {
|
|
4
4
|
#private;
|
|
5
5
|
constructor(ctx: PlurnkSchemeContext, scheme: string | null);
|
|
6
|
-
open(pathname: string, handle: SubscriptionHandle
|
|
6
|
+
open(pathname: string, handle: SubscriptionHandle, options?: {
|
|
7
|
+
publishedChannel?: string;
|
|
8
|
+
}): Promise<AbortSignal>;
|
|
7
9
|
notifyChunk(channel: string, chunk: string, mimetype?: string): Promise<void>;
|
|
8
10
|
close(reason: "done" | "error", outcome?: string): Promise<void>;
|
|
9
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSubscriptionCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAgB,MAAM,wBAAwB,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"DbSubscriptionCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAgB,MAAM,wBAAwB,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB;;IAS/D,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAG1D;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBtH;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlF;IAEK,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrE;CACJ"}
|
|
@@ -17,17 +17,19 @@ export default class DbSubscriptionCaps {
|
|
|
17
17
|
#pathname = null;
|
|
18
18
|
#entryId = null;
|
|
19
19
|
#subscriptionId = null;
|
|
20
|
+
#publishedChannel = null;
|
|
20
21
|
#unlink = () => { };
|
|
21
22
|
constructor(ctx, scheme) {
|
|
22
23
|
this.#ctx = ctx;
|
|
23
24
|
this.#scheme = scheme;
|
|
24
25
|
}
|
|
25
|
-
async open(pathname, handle) {
|
|
26
|
+
async open(pathname, handle, options) {
|
|
26
27
|
const entryId = await CapsResolve.entryId(this.#ctx, this.#scheme, pathname);
|
|
27
28
|
if (entryId === null)
|
|
28
29
|
throw new Error(`subscriptions.open: no entry at ${pathname}`);
|
|
29
30
|
const subscriptionId = await ChannelWrite.openSubscription(this.#ctx.db, {
|
|
30
31
|
workerId: this.#ctx.workerId, entryId, scheme: this.#scheme ?? "file", handle: pathname,
|
|
32
|
+
publishedChannel: options?.publishedChannel ?? null,
|
|
31
33
|
});
|
|
32
34
|
// Compose the worker signal with a fresh controller; a worker abort also
|
|
33
35
|
// force-cancels the sibling's handle.
|
|
@@ -47,13 +49,16 @@ export default class DbSubscriptionCaps {
|
|
|
47
49
|
this.#pathname = pathname;
|
|
48
50
|
this.#entryId = entryId;
|
|
49
51
|
this.#subscriptionId = subscriptionId;
|
|
52
|
+
this.#publishedChannel = options?.publishedChannel ?? null;
|
|
50
53
|
return controller.signal;
|
|
51
54
|
}
|
|
52
55
|
async notifyChunk(channel, chunk, mimetype) {
|
|
53
56
|
if (this.#entryId === null)
|
|
54
57
|
throw new Error("subscriptions.notifyChunk: no open subscription");
|
|
55
58
|
await ChannelWrite.appendToChannel(this.#ctx.db, {
|
|
56
|
-
entryId: this.#entryId, channel, chunk,
|
|
59
|
+
entryId: this.#entryId, channel, chunk,
|
|
60
|
+
...(this.#publishedChannel === null || this.#publishedChannel === channel ? { notify: this.#ctx.streamEventNotify } : {}),
|
|
61
|
+
mimetype,
|
|
57
62
|
});
|
|
58
63
|
}
|
|
59
64
|
async close(reason, outcome) {
|
|
@@ -67,7 +72,10 @@ export default class DbSubscriptionCaps {
|
|
|
67
72
|
// closes, then the worker wakes with the scheme's summary.
|
|
68
73
|
const channels = await this.#ctx.db.crud_read_channels.all({ entry_id: entryId });
|
|
69
74
|
for (const { name } of channels) {
|
|
70
|
-
await ChannelWrite.setChannelState(this.#ctx.db, {
|
|
75
|
+
await ChannelWrite.setChannelState(this.#ctx.db, {
|
|
76
|
+
entryId, channel: name, state,
|
|
77
|
+
...(this.#publishedChannel === null || this.#publishedChannel === name ? { notify: this.#ctx.streamEventNotify } : {}),
|
|
78
|
+
});
|
|
71
79
|
}
|
|
72
80
|
await ChannelWrite.closeSubscription(this.#ctx.db, { subscriptionId, status: closeStatus });
|
|
73
81
|
this.#unlink();
|
|
@@ -80,6 +88,7 @@ export default class DbSubscriptionCaps {
|
|
|
80
88
|
this.#pathname = null;
|
|
81
89
|
this.#entryId = null;
|
|
82
90
|
this.#subscriptionId = null;
|
|
91
|
+
this.#publishedChannel = null;
|
|
83
92
|
this.#unlink = () => { };
|
|
84
93
|
}
|
|
85
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSubscriptionCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4CAA4C;AAC5C,yEAAyE;AACzE,+EAA+E;AAC/E,kEAAkE;AAClE,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,6EAA6E;AAC7E,gFAAgF;AAKhF,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC1B,IAAI,CAAsB;IAC1B,OAAO,CAAgB;IAChC,SAAS,GAAkB,IAAI,CAAC;IAChC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,eAAe,GAAkB,IAAI,CAAC;IACtC,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAE/B,YAAY,GAAwB,EAAE,MAAqB;QACvD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,MAA0B;
|
|
1
|
+
{"version":3,"file":"DbSubscriptionCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4CAA4C;AAC5C,yEAAyE;AACzE,+EAA+E;AAC/E,kEAAkE;AAClE,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,6EAA6E;AAC7E,gFAAgF;AAKhF,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC1B,IAAI,CAAsB;IAC1B,OAAO,CAAgB;IAChC,SAAS,GAAkB,IAAI,CAAC;IAChC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,eAAe,GAAkB,IAAI,CAAC;IACtC,iBAAiB,GAAkB,IAAI,CAAC;IACxC,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAE/B,YAAY,GAAwB,EAAE,MAAqB;QACvD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,MAA0B,EAAE,OAAuC;QAC5F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACrE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ;YACvF,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,IAAI;SACtD,CAAC,CAAC;QACH,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;iBACzE,CAAC;gBACF,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;QAC3D,OAAO,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,QAAiB;QAC/D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC/F,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC7C,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK;YACtC,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzH,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAwB,EAAE,OAAgB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,OAAO,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAiB,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,MAAM,WAAW,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnD,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,MAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAiC,CAAC,GAAG,CAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpH,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;gBAC7B,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzH,CAAC,CAAC;QACP,CAAC;QACD,MAAM,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1G,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW;YAC5C,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;SACzD,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IAClC,CAAC;CACJ"}
|
|
@@ -1,18 +1,32 @@
|
|
|
1
|
-
import type { SchemeCtx, EntryCaps, ChannelCaps, TagCaps, NotifyCaps, SubscriptionCaps,
|
|
1
|
+
import type { SchemeCtx, EntryCaps, ChannelCaps, TagCaps, NotifyCaps, ProjectionCaps, SubscriptionCaps, SchemeManifest, WriterTier } from "@plurnk/plurnk-schemes";
|
|
2
2
|
import type { PlurnkSchemeContext } from "../scheme-types.ts";
|
|
3
|
-
|
|
3
|
+
import type { Db } from "../Db.ts";
|
|
4
|
+
import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
5
|
+
import type ExecutorRegistry from "../ExecutorRegistry.ts";
|
|
6
|
+
import type { InjectWorkerNotify, StreamEventNotify, WakeWorkerNotify } from "../ChannelWrite.ts";
|
|
7
|
+
import type { TelemetryEvent } from "../results.ts";
|
|
8
|
+
export default class SchemeCtxImpl implements SchemeCtx, PlurnkSchemeContext {
|
|
9
|
+
readonly db: Db;
|
|
4
10
|
readonly workspaceId: number;
|
|
5
11
|
readonly workerId: number;
|
|
6
12
|
readonly loopId: number;
|
|
7
13
|
readonly turnId: number;
|
|
8
14
|
readonly writer: WriterTier;
|
|
9
15
|
readonly signal: AbortSignal | undefined;
|
|
16
|
+
readonly streamEventNotify: StreamEventNotify | undefined;
|
|
17
|
+
readonly wakeWorkerNotify: WakeWorkerNotify | undefined;
|
|
18
|
+
readonly injectWorker: InjectWorkerNotify | undefined;
|
|
19
|
+
readonly mimetypes: Mimetypes | undefined;
|
|
20
|
+
readonly executors: ExecutorRegistry | undefined;
|
|
21
|
+
readonly tokenize: ((text: string) => number) | undefined;
|
|
22
|
+
readonly defaultChannelFor: ((scheme: string | null) => string) | undefined;
|
|
23
|
+
readonly pushTelemetry: ((event: TelemetryEvent) => void) | undefined;
|
|
10
24
|
readonly entries: EntryCaps;
|
|
11
25
|
readonly channels: ChannelCaps;
|
|
12
26
|
readonly tags: TagCaps;
|
|
13
27
|
readonly notify: NotifyCaps;
|
|
28
|
+
readonly projection: ProjectionCaps;
|
|
14
29
|
readonly subscriptions: SubscriptionCaps;
|
|
15
|
-
|
|
16
|
-
constructor(ctx: PlurnkSchemeContext, scheme: string);
|
|
30
|
+
constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest);
|
|
17
31
|
}
|
|
18
32
|
//# sourceMappingURL=SchemeCtxImpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeCtxImpl.d.ts","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemeCtxImpl.d.ts","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EACvH,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQpD,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,SAAS,EAAE,mBAAmB;IACxE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,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,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAsB7E;CACJ"}
|