@plurnk/plurnk-service 1.4.0 → 1.6.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 +37 -31
- package/INSTALL.md +16 -11
- package/README.md +1 -0
- package/SPEC.md +631 -397
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +2 -3
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/edit-collision.d.ts +5 -0
- package/dist/content/edit-collision.d.ts.map +1 -0
- package/dist/content/edit-collision.js +14 -0
- package/dist/content/edit-collision.js.map +1 -0
- package/dist/content/edit-receipt.d.ts +3 -2
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +58 -13
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/index.d.ts +5 -1
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +4 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/line-anchors.d.ts +41 -0
- package/dist/content/line-anchors.d.ts.map +1 -0
- package/dist/content/line-anchors.js +191 -0
- package/dist/content/line-anchors.js.map +1 -0
- package/dist/content/line-marker.d.ts +7 -3
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +2 -1
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.d.ts +1 -1
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +2 -2
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/read-projector.d.ts +20 -0
- package/dist/content/read-projector.d.ts.map +1 -0
- package/dist/content/read-projector.js +122 -0
- package/dist/content/read-projector.js.map +1 -0
- package/dist/content/read-resolve.d.ts +2 -7
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +32 -107
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/BranchReceipt.d.ts +0 -1
- package/dist/core/BranchReceipt.d.ts.map +1 -1
- package/dist/core/BranchReceipt.js +0 -3
- package/dist/core/BranchReceipt.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +9 -2
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +3 -0
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +3 -3
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +4 -3
- package/dist/core/CoreSchemeServices.d.ts +10 -2
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +14 -8
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +656 -312
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/DurableStatement.d.ts.map +1 -1
- package/dist/core/DurableStatement.js +2 -0
- package/dist/core/DurableStatement.js.map +1 -1
- package/dist/core/Engine.d.ts +24 -18
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +620 -392
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +188 -119
- package/dist/core/ExecutableTools.d.ts +10 -0
- package/dist/core/ExecutableTools.d.ts.map +1 -0
- package/dist/core/ExecutableTools.js +41 -0
- package/dist/core/ExecutableTools.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +3 -3
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +2 -2
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/LogBody.d.ts +4 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +46 -2
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +14 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -0
- package/dist/core/LogEntryProjection.js +38 -0
- package/dist/core/LogEntryProjection.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +1 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +1 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +1 -4
- package/dist/core/ModelCall.d.ts +27 -0
- package/dist/core/ModelCall.d.ts.map +1 -0
- package/dist/core/ModelCall.js +125 -0
- package/dist/core/ModelCall.js.map +1 -0
- package/dist/core/PacketBuilder.d.ts +13 -12
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +146 -118
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +1 -0
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +3 -4
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +23 -6
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.js +7 -7
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +5 -2
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +10 -7
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TerminalResult.d.ts +16 -0
- package/dist/core/TerminalResult.d.ts.map +1 -0
- package/dist/core/TerminalResult.js +49 -0
- package/dist/core/TerminalResult.js.map +1 -0
- package/dist/core/caps/CapsResolve.d.ts +5 -1
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +9 -5
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +6 -4
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +2 -1
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +21 -8
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +6 -4
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.d.ts +1 -0
- package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +29 -0
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +4 -6
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +27 -13
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +11 -3
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +10 -8
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +23 -7
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +35 -14
- package/dist/core/git-iso.d.ts +3 -2
- package/dist/core/git-iso.d.ts.map +1 -1
- package/dist/core/git-iso.js +27 -12
- package/dist/core/git-iso.js.map +1 -1
- package/dist/core/git-membership.d.ts +1 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +87 -26
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts +8 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +36 -17
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/namespace.d.ts +1 -0
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +20 -0
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/optimistic-settlement.d.ts +2 -0
- package/dist/core/optimistic-settlement.d.ts.map +1 -0
- package/dist/core/optimistic-settlement.js +14 -0
- package/dist/core/optimistic-settlement.js.map +1 -0
- package/dist/core/packet-wire.d.ts +5 -2
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +318 -114
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/provider-accounting.d.ts +24 -0
- package/dist/core/provider-accounting.d.ts.map +1 -0
- package/dist/core/provider-accounting.js +76 -0
- package/dist/core/provider-accounting.js.map +1 -0
- package/dist/core/results.d.ts +4 -2
- package/dist/core/results.d.ts.map +1 -1
- package/dist/core/results.js +6 -0
- package/dist/core/results.js.map +1 -1
- package/dist/core/scheme-types.d.ts +0 -12
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/search-gate.d.ts +2 -2
- package/dist/core/search-gate.d.ts.map +1 -1
- package/dist/core/search-gate.js +8 -8
- package/dist/core/search-gate.js.map +1 -1
- package/dist/core/token-ruler.js +1 -1
- package/dist/core/token-ruler.js.map +1 -1
- package/dist/core/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/worker-ops.sql +4 -4
- package/dist/core/workspace-settings.js +1 -1
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +349 -76
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +42 -16
- package/dist/schemes/Exec.d.ts +4 -4
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +167 -134
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +4 -5
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +12 -20
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +5 -6
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +35 -41
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +16 -5
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +229 -262
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +50 -27
- package/dist/schemes/Prompt.d.ts +3 -4
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +5 -5
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +4 -5
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +3 -3
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts +7 -7
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +99 -84
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -2
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +29 -10
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +11 -17
- package/dist/schemes/_entry-find.d.ts +41 -14
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +159 -166
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +2 -21
- package/dist/schemes/_entry-graph.sql +1 -1
- package/dist/schemes/_entry-manifest.d.ts +5 -17
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +28 -24
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +13 -8
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +98 -119
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +31 -6
- package/dist/schemes/_entry-semantic.d.ts +5 -7
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +10 -31
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +2 -2
- package/dist/schemes/_entry-send.js +4 -4
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +16 -6
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-abort.js +2 -2
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/server/BranchBatches.d.ts +1 -0
- package/dist/server/BranchBatches.d.ts.map +1 -1
- package/dist/server/BranchBatches.js +1 -0
- package/dist/server/BranchBatches.js.map +1 -1
- package/dist/server/Daemon.d.ts +6 -8
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +238 -68
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +3 -3
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/branch-batch.sql +3 -1
- package/dist/server/client-input.d.ts +2 -1
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +7 -1
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/drain.sql +8 -7
- package/dist/server/envelope.d.ts +0 -2
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +0 -1
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +3 -4
- package/dist/server/lifecycle-recovery.sql +44 -1
- package/dist/server/logEntry.d.ts +2 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +15 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +5 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +13 -1
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +730 -221
- package/package.json +53 -46
- package/dist/core/BudgetOverflow.d.ts +0 -23
- package/dist/core/BudgetOverflow.d.ts.map +0 -1
- package/dist/core/BudgetOverflow.js +0 -61
- package/dist/core/BudgetOverflow.js.map +0 -1
- package/dist/core/caps/DbTagCaps.d.ts +0 -10
- package/dist/core/caps/DbTagCaps.d.ts.map +0 -1
- package/dist/core/caps/DbTagCaps.js +0 -44
- package/dist/core/caps/DbTagCaps.js.map +0 -1
- package/dist/matrix/live-specimen.d.ts +0 -9
- package/dist/matrix/live-specimen.d.ts.map +0 -1
- package/dist/matrix/live-specimen.js +0 -37
- package/dist/matrix/live-specimen.js.map +0 -1
package/dist/schemes/Worker.js
CHANGED
|
@@ -7,14 +7,9 @@ import Owner from "../core/Owner.js";
|
|
|
7
7
|
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.js";
|
|
8
8
|
import Results from "../core/results.js";
|
|
9
9
|
import BranchReceipt from "../core/BranchReceipt.js";
|
|
10
|
+
import TerminalResult from "../core/TerminalResult.js";
|
|
10
11
|
import WorkerControlAddress from "../core/WorkerControlAddress.js";
|
|
11
|
-
|
|
12
|
-
// model terminals and engine verdicts already carry their own exact result.
|
|
13
|
-
export const markTerminal = (terminatedBy, message) => {
|
|
14
|
-
if (terminatedBy === "cancel")
|
|
15
|
-
return `[ cancelled from outside the worker ]${message === null ? "" : ` ${message}`}`;
|
|
16
|
-
return message;
|
|
17
|
-
};
|
|
12
|
+
import SchemeCtxImpl from "../core/caps/SchemeCtxImpl.js";
|
|
18
13
|
// {§worker-scheme} — worker:// is the knowledgebase plus inter-worker control (irc=SEND; WORK/FORK are
|
|
19
14
|
// Dispatcher.#handleWorkerControl). The authority names the OWNER ({§worker-authority-carving}):
|
|
20
15
|
// worker:///notes.md — the COMMONS, a shared blackboard
|
|
@@ -36,7 +31,8 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
36
31
|
volatile: false,
|
|
37
32
|
modelVisible: true,
|
|
38
33
|
folderScopes: true,
|
|
39
|
-
|
|
34
|
+
textEditScopes: true,
|
|
35
|
+
example: "## EDIT0 (worker:///notes.md)\nInvestigation notes.",
|
|
40
36
|
};
|
|
41
37
|
// The authority from a worker:// target — "" for the empty (commons) form; null when the
|
|
42
38
|
// target isn't a worker:// url at all.
|
|
@@ -84,13 +80,93 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
84
80
|
}
|
|
85
81
|
async resolveEntryAddress(target, ctx) {
|
|
86
82
|
const authority = Worker.#authority(target);
|
|
87
|
-
|
|
88
|
-
if (authority === null || pathname === "")
|
|
83
|
+
if (authority === null)
|
|
89
84
|
return null;
|
|
85
|
+
if (target.kind === "url" && target.pathname === "") {
|
|
86
|
+
if (authority === "" || authority === "~") {
|
|
87
|
+
return Results.failure("scheme:worker", "named-worker-required", 400, "A worker deliverable READ requires a named worker.", {}, {
|
|
88
|
+
recovery: "Address the worker by name.",
|
|
89
|
+
retryable: false,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (target.username !== null
|
|
93
|
+
|| target.password !== null
|
|
94
|
+
|| target.port !== null
|
|
95
|
+
|| target.query !== null
|
|
96
|
+
|| target.headers !== undefined) {
|
|
97
|
+
return Results.failure("scheme:worker", "control-address-invalid", 400, "READ requires an authority-only worker:// control address.", {}, {
|
|
98
|
+
operation: "READ",
|
|
99
|
+
recovery: "Provide one worker authority and remove every other URI component.",
|
|
100
|
+
retryable: false,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const named = await this.coreContext(ctx).db.worker_resolve_by_name.get({
|
|
104
|
+
workspace_id: ctx.workspaceId,
|
|
105
|
+
name: authority,
|
|
106
|
+
});
|
|
107
|
+
return named === undefined
|
|
108
|
+
? Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false })
|
|
109
|
+
: { pathname: "", ownerId: named.id };
|
|
110
|
+
}
|
|
111
|
+
const pathname = Worker.#entryPath(target);
|
|
90
112
|
const resolved = await Worker.#resolveAuthority(authority, this.coreContext(ctx));
|
|
91
|
-
return resolved === null
|
|
113
|
+
return resolved === null
|
|
114
|
+
? Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false })
|
|
115
|
+
: { pathname, ownerId: resolved.ownerId };
|
|
116
|
+
}
|
|
117
|
+
async prepareRepresentation(request, ctx) {
|
|
118
|
+
if (request.target.kind !== "url" || request.target.pathname !== "") {
|
|
119
|
+
return { status: 200 };
|
|
120
|
+
}
|
|
121
|
+
const authority = Worker.#authority(request.target);
|
|
122
|
+
if (authority === null || authority === "" || authority === "~") {
|
|
123
|
+
throw new Error("Worker deliverable preparation received an unresolved address.");
|
|
124
|
+
}
|
|
125
|
+
const core = this.coreContext(ctx);
|
|
126
|
+
const row = await core.db.worker_deliverable_by_name.get({ workspace_id: core.workspaceId, name: authority });
|
|
127
|
+
if (row === undefined) {
|
|
128
|
+
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false });
|
|
129
|
+
}
|
|
130
|
+
if (!Worker.#TERMINAL_LOOP.has(row.status)) {
|
|
131
|
+
const detail = `Worker '${authority}' is still running and has no deliverable yet.`;
|
|
132
|
+
return Results.failure("scheme:worker", "worker-still-running", 425, detail, { awaitWorker: authority }, {
|
|
133
|
+
worker: authority,
|
|
134
|
+
recovery: "Continue once; the engine will wait for the worker's deliverable.",
|
|
135
|
+
retryable: false,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (row.terminal_result === null) {
|
|
139
|
+
throw new Error(`terminal worker '${authority}' has no terminal result`);
|
|
140
|
+
}
|
|
141
|
+
const exact = TerminalResult.parse(row.terminal_result, `terminal worker '${authority}'`);
|
|
142
|
+
const presentation = TerminalResult.present(exact, {
|
|
143
|
+
terminatedBy: row.terminated_by,
|
|
144
|
+
receipt: await BranchReceipt.render(core.db, row.worker_id),
|
|
145
|
+
fallback: `[ worker '${authority}' concluded with no deliverable (status ${exact.status}) ]`,
|
|
146
|
+
});
|
|
147
|
+
const projectionFields = new Set([
|
|
148
|
+
"content",
|
|
149
|
+
"mimetype",
|
|
150
|
+
"channel",
|
|
151
|
+
"startLine",
|
|
152
|
+
"region",
|
|
153
|
+
"matches",
|
|
154
|
+
"range",
|
|
155
|
+
]);
|
|
156
|
+
const producerResult = Results.assertChannelProducerResult(Object.fromEntries(Object.entries(exact).filter(([field]) => !projectionFields.has(field))));
|
|
157
|
+
const written = await ctx.entries.write(request.pathname, {
|
|
158
|
+
channels: {
|
|
159
|
+
body: {
|
|
160
|
+
content: presentation?.content ?? "",
|
|
161
|
+
mimetype: presentation?.mimetype ?? "text/markdown",
|
|
162
|
+
producerResult,
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
return Results.isErrorStatus(written.status) ? written : { status: 200 };
|
|
92
167
|
}
|
|
93
168
|
async editBatch(statements, ctx) {
|
|
169
|
+
const precondition = SchemeCtxImpl.editPreconditionOf(ctx);
|
|
94
170
|
const failure = (code, status, detail, extensions = {}) => Results.failure("scheme:worker", code, status, detail, { entryId: null, channel: null }, extensions);
|
|
95
171
|
const statement = statements[0];
|
|
96
172
|
if (statement === undefined) {
|
|
@@ -109,7 +185,7 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
109
185
|
}
|
|
110
186
|
const entryPath = Worker.#entryPath(statement.target);
|
|
111
187
|
// The worker ENTITY (path-absent worker://<name>) is not EDITable — EDIT is entry only
|
|
112
|
-
//
|
|
188
|
+
// WORK on worker://<name> spawns a worker; FORK on that address forks a branch.
|
|
113
189
|
if (entryPath === "") {
|
|
114
190
|
return failure("worker-entity-not-editable", 400, "A worker entity is not an editable entry.", {
|
|
115
191
|
recovery: "Use WORK or FORK to create a worker.",
|
|
@@ -136,7 +212,7 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
136
212
|
retryable: false,
|
|
137
213
|
});
|
|
138
214
|
}
|
|
139
|
-
return EntryOps.editWorkspaceEntryBatch(statements.map((candidate) => Worker.#stripAuthority(candidate)), core, Worker.manifest, resolved.ownerId);
|
|
215
|
+
return EntryOps.editWorkspaceEntryBatch(statements.map((candidate) => Worker.#stripAuthority(candidate)), core, Worker.manifest, resolved.ownerId, precondition);
|
|
140
216
|
}
|
|
141
217
|
async edit(statement, ctx) {
|
|
142
218
|
return this.editBatch([statement], ctx);
|
|
@@ -168,73 +244,6 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
168
244
|
}
|
|
169
245
|
return EntryOps.deleteWorkspaceEntry(Worker.#stripAuthority(statement), core, Worker.manifest, resolved.ownerId);
|
|
170
246
|
}
|
|
171
|
-
async read(statement, ctx) {
|
|
172
|
-
const failure = (code, status, detail, fields = {}, extensions = {}) => Results.failure("scheme:worker", code, status, detail, { content: null, mimetype: null, channel: null, ...fields }, extensions);
|
|
173
|
-
const core = this.coreContext(ctx);
|
|
174
|
-
const authority = Worker.#authority(statement.target);
|
|
175
|
-
if (authority === null) {
|
|
176
|
-
return failure("worker-target-required", 400, "READ requires a worker target.", {}, {
|
|
177
|
-
recovery: "Provide the worker target.",
|
|
178
|
-
retryable: false,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
const entryPath = Worker.#entryPath(statement.target);
|
|
182
|
-
// Path-absent READ(worker://<name>) COLLECTS the worker's deliverable ({§worker-scheme-collect}, pull side):
|
|
183
|
-
// its latest loop's terminal message — the SEND[200] result, or an abandonment reason. A worker
|
|
184
|
-
// still running hasn't delivered yet → 425 steers the model to park until it does (the
|
|
185
|
-
// same deliverable the wake/collect-delta will push). The pull complements the push; neither is lost.
|
|
186
|
-
if (entryPath === "") {
|
|
187
|
-
const address = WorkerControlAddress.resolve(statement.target, "READ");
|
|
188
|
-
if (!address.ok) {
|
|
189
|
-
return { ...address.result, content: null, mimetype: null, channel: null };
|
|
190
|
-
}
|
|
191
|
-
const controlAuthority = address.authority;
|
|
192
|
-
if (controlAuthority === "~") {
|
|
193
|
-
return failure("named-worker-required", 400, "A worker deliverable READ requires a named worker.", {}, {
|
|
194
|
-
recovery: "Address the worker by name.",
|
|
195
|
-
retryable: false,
|
|
196
|
-
});
|
|
197
|
-
} // collect names a WORKER
|
|
198
|
-
const row = await core.db.worker_deliverable_by_name.get({ workspace_id: core.workspaceId, name: controlAuthority });
|
|
199
|
-
if (row === undefined) {
|
|
200
|
-
return failure("worker-not-found", 404, `Worker '${controlAuthority}' does not exist in this workspace.`, {}, {
|
|
201
|
-
worker: controlAuthority,
|
|
202
|
-
retryable: false,
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
// Let dispatch arm the blocking collect for this turn.
|
|
206
|
-
// {§join-blocking-collect}
|
|
207
|
-
if (!Worker.#TERMINAL_LOOP.has(row.status)) {
|
|
208
|
-
const detail = `Worker '${controlAuthority}' is still running and has no deliverable yet.`;
|
|
209
|
-
return failure("worker-still-running", 425, detail, {
|
|
210
|
-
content: `[ ${detail} ]`,
|
|
211
|
-
mimetype: "text/markdown",
|
|
212
|
-
awaitWorker: controlAuthority,
|
|
213
|
-
}, {
|
|
214
|
-
worker: controlAuthority,
|
|
215
|
-
recovery: "Continue once; the engine will wait for the worker's deliverable.",
|
|
216
|
-
retryable: false,
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
const deliverable = markTerminal(row.terminated_by, row.terminal_message)
|
|
220
|
-
?? `[ worker '${controlAuthority}' concluded with no deliverable (status ${row.status}) ]`;
|
|
221
|
-
return {
|
|
222
|
-
status: 200,
|
|
223
|
-
content: BranchReceipt.append(deliverable, await BranchReceipt.render(core.db, row.worker_id)),
|
|
224
|
-
mimetype: "text/markdown",
|
|
225
|
-
channel: null,
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
// Path-present: an entry read — commons / own / ancestry-gated named space.
|
|
229
|
-
const resolved = await Worker.#resolveAuthority(authority, core);
|
|
230
|
-
if (resolved === null) {
|
|
231
|
-
return failure("worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, {
|
|
232
|
-
worker: authority,
|
|
233
|
-
retryable: false,
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
return EntryOps.readWorkspaceEntry(Worker.#stripAuthority(statement), core, Worker.manifest, resolved.ownerId);
|
|
237
|
-
}
|
|
238
247
|
// Terminal loop statuses ({§lifecycle-terms}) — a loop here has DELIVERED; anything else is still running.
|
|
239
248
|
static #TERMINAL_LOOP = new Set([200, 413, 429, 499, 500, 504, 508]);
|
|
240
249
|
// FIND draws from the resolved principal's space alone: worker:///** the commons,
|
|
@@ -244,7 +253,8 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
244
253
|
const authority = Worker.#authority(statement.target);
|
|
245
254
|
if (authority === null) {
|
|
246
255
|
return Results.failure("scheme:worker", "worker-target-required", 400, "FIND requires a worker:// target.", {
|
|
247
|
-
content: null, mimetype: null, results: [], itemsTokenTotal: 0,
|
|
256
|
+
content: null, mimetype: null, results: [], itemsTokenTotal: 0, returnedItemsTokenTotal: 0,
|
|
257
|
+
matchingPathCount: 0, matchLocationCount: 0,
|
|
248
258
|
}, {
|
|
249
259
|
recovery: "Provide the worker target.",
|
|
250
260
|
retryable: false,
|
|
@@ -253,20 +263,25 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
253
263
|
const resolved = await Worker.#resolveAuthority(authority, core);
|
|
254
264
|
if (resolved === null) {
|
|
255
265
|
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {
|
|
256
|
-
content: null, mimetype: null, results: [], itemsTokenTotal: 0,
|
|
266
|
+
content: null, mimetype: null, results: [], itemsTokenTotal: 0, returnedItemsTokenTotal: 0,
|
|
267
|
+
matchingPathCount: 0, matchLocationCount: 0,
|
|
257
268
|
}, {
|
|
258
269
|
worker: authority,
|
|
259
270
|
retryable: false,
|
|
260
271
|
});
|
|
261
272
|
}
|
|
262
|
-
const found = await EntryFind.findWorkspaceEntries(Worker.#stripAuthority(statement), core, Worker.manifest,
|
|
273
|
+
const found = await EntryFind.findWorkspaceEntries(Worker.#stripAuthority(statement), core, Worker.manifest, {
|
|
274
|
+
ownerId: resolved.ownerId,
|
|
275
|
+
});
|
|
263
276
|
// The catalog renders the empty-authority form; a non-empty queried authority re-applies —
|
|
264
277
|
// in results AND the serialized content the packet renders — so every path the model sees
|
|
265
278
|
// is the address it typed (worker://~/x, worker://beta/x).
|
|
266
279
|
if (authority === "")
|
|
267
280
|
return found;
|
|
268
281
|
const reface = (p) => p.replace(/^worker:\/\/\//, `worker://${authority}/`);
|
|
269
|
-
const results = found.results.map((
|
|
282
|
+
const results = found.results.map((result) => Array.isArray(result)
|
|
283
|
+
? result.map((item) => ({ ...item, path: reface(item.path) }))
|
|
284
|
+
: result);
|
|
270
285
|
const content = found.content === null ? null : found.content.replaceAll("worker:///", `worker://${authority}/`);
|
|
271
286
|
return { ...found, results, content };
|
|
272
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
-
import type { ChannelState, StoredEntryData } from "@plurnk/plurnk-schemes";
|
|
2
|
+
import type { ChannelProducerResult, ChannelState, StoredEntryData } from "@plurnk/plurnk-schemes";
|
|
3
3
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
4
4
|
export type { ChannelState, StoredEntryData } from "@plurnk/plurnk-schemes";
|
|
5
5
|
export interface EntryData {
|
|
@@ -7,8 +7,8 @@ export interface EntryData {
|
|
|
7
7
|
content: string;
|
|
8
8
|
mimetype: string;
|
|
9
9
|
state?: ChannelState;
|
|
10
|
+
producerResult?: ChannelProducerResult;
|
|
10
11
|
}>;
|
|
11
|
-
tags: string[];
|
|
12
12
|
attributes?: Readonly<Record<string, unknown>>;
|
|
13
13
|
}
|
|
14
14
|
export interface ReadEntryResult extends SchemeResultBase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-crud.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-crud.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGnG,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG5E,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,cAAc,CAAC,EAAE,qBAAqB,CAAC;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAIvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAGvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAE1B,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAE/E;IAED,OAAa,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAoD7H;IAED,OAAa,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkDjJ;IAED,OAAa,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkBjI;IAED,OAAa,aAAa,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Shared CRUD primitives for entry-bearing schemes.
|
|
2
2
|
// Per SPEC {§crud} — uniform read/write/delete that the engine drives for
|
|
3
|
-
// cross-scheme orchestration of COPY/MOVE/SEND
|
|
3
|
+
// cross-scheme orchestration of COPY/MOVE/SEND signal 410.
|
|
4
4
|
import { contentHash } from "../core/content-hash.js";
|
|
5
5
|
import Owner from "../core/Owner.js";
|
|
6
6
|
import { renderAddress } from "../core/plurnk-uri.js";
|
|
@@ -21,11 +21,30 @@ export default class EntryCrud {
|
|
|
21
21
|
const channelRows = await db.crud_read_channels.all({ entry_id: entry.id });
|
|
22
22
|
const channels = {};
|
|
23
23
|
for (const row of channelRows) {
|
|
24
|
-
channels[row.name] = {
|
|
24
|
+
channels[row.name] = {
|
|
25
|
+
content: row.content,
|
|
26
|
+
mimetype: row.mimetype,
|
|
27
|
+
state: row.state,
|
|
28
|
+
...(row.producer_result === null
|
|
29
|
+
? {}
|
|
30
|
+
: {
|
|
31
|
+
producerResult: Results.assertChannelProducerResult(JSON.parse(row.producer_result)),
|
|
32
|
+
}),
|
|
33
|
+
};
|
|
25
34
|
}
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
const attributes = JSON.parse(entry.attributes);
|
|
36
|
+
if (typeof attributes !== "object" || attributes === null || Array.isArray(attributes)) {
|
|
37
|
+
throw new TypeError(`Entry ${entry.id} contains invalid attributes.`);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
status: 200,
|
|
41
|
+
entry: {
|
|
42
|
+
channels,
|
|
43
|
+
...(Object.keys(attributes).length === 0
|
|
44
|
+
? {}
|
|
45
|
+
: { attributes: attributes }),
|
|
46
|
+
},
|
|
47
|
+
};
|
|
29
48
|
}
|
|
30
49
|
static async writeEntry(pathname, entry, ctx, scheme, ownerId) {
|
|
31
50
|
const { db, workspaceId, tokenize } = ctx;
|
|
@@ -60,23 +79,23 @@ export default class EntryCrud {
|
|
|
60
79
|
});
|
|
61
80
|
}
|
|
62
81
|
await db.crud_delete_channels.run({ entry_id: entryId });
|
|
63
|
-
await db.crud_delete_tags.run({ entry_id: entryId });
|
|
64
82
|
}
|
|
65
83
|
// Writes are VERBATIM — the scheme never transforms what it's handed. Web-page projection
|
|
66
84
|
// (raw html → decisive markdown body + raw `html` archive) lives at the web-fetch entry point
|
|
67
85
|
// (the exec sink), NOT here: an authored/workspace html file is DATA whose attributes are the
|
|
68
86
|
// payload (a `<user email=…>` roster), and a reader-view projection would strip it.
|
|
69
87
|
for (const [channelName, channelData] of Object.entries(entry.channels)) {
|
|
88
|
+
const producerResult = channelData.producerResult === undefined
|
|
89
|
+
? null
|
|
90
|
+
: JSON.stringify(Results.assertChannelProducerResult(channelData.producerResult));
|
|
70
91
|
await db.crud_write_channel.run({
|
|
71
92
|
entry_id: entryId, name: channelName, content: channelData.content, mimetype: channelData.mimetype,
|
|
72
93
|
tokens: tokenize(channelData.content), // the model-agnostic ruler stamp ({§tokenomics-agnostic-ruler}, {§tokenomics-tokens-stored-at-write})
|
|
73
94
|
content_hash: contentHash(channelData.content),
|
|
74
95
|
state: channelData.state ?? "static",
|
|
96
|
+
producer_result: producerResult,
|
|
75
97
|
});
|
|
76
98
|
}
|
|
77
|
-
for (const tag of entry.tags) {
|
|
78
|
-
await db.crud_write_tag.run({ entry_id: entryId, tag });
|
|
79
|
-
}
|
|
80
99
|
return { status: created ? 201 : 200, created, entryId };
|
|
81
100
|
}
|
|
82
101
|
static async deleteEntry(pathname, ctx, scheme, ownerId) {
|
|
@@ -88,7 +107,7 @@ export default class EntryCrud {
|
|
|
88
107
|
return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, {}, { target });
|
|
89
108
|
}
|
|
90
109
|
await db.crud_delete_entry.run({ entry_id: existing.id });
|
|
91
|
-
// CASCADE on entry_channels
|
|
110
|
+
// CASCADE on entry_channels per FK constraints.
|
|
92
111
|
return { status: 200 };
|
|
93
112
|
}
|
|
94
113
|
static async deleteChannel(pathname, channel, ctx, scheme, ownerId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
-- Entry CRUD primitives (SPEC {§crud}). Used by entry-bearing schemes and
|
|
2
|
-
-- the engine for cross-scheme COPY/MOVE/SEND
|
|
2
|
+
-- the engine for cross-scheme COPY/MOVE/SEND signal 410.
|
|
3
3
|
|
|
4
4
|
-- PREP: crud_find_workspace_entry
|
|
5
5
|
-- {§entry-identity-no-null} — every identity component is NOT NULL (bare/absolute paths
|
|
6
6
|
-- persist under the reserved 'file' scheme), so plain `=` is the honest comparison.
|
|
7
|
-
SELECT id FROM entries
|
|
7
|
+
SELECT id, attributes FROM entries
|
|
8
8
|
WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme AND pathname = $pathname;
|
|
9
9
|
|
|
10
10
|
-- PREP: crud_read_channels
|
|
11
|
-
SELECT name, content, mimetype, state FROM entry_channels WHERE entry_id = $entry_id;
|
|
12
|
-
|
|
13
|
-
-- PREP: crud_read_tags
|
|
14
|
-
SELECT tag FROM entry_tags WHERE entry_id = $entry_id ORDER BY tag;
|
|
11
|
+
SELECT name, content, mimetype, state, producer_result FROM entry_channels WHERE entry_id = $entry_id;
|
|
15
12
|
|
|
16
13
|
-- PREP: crud_insert_workspace_entry
|
|
17
14
|
INSERT INTO entries (workspace_id, owner_id, scheme, pathname)
|
|
@@ -54,6 +51,12 @@ WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme
|
|
|
54
51
|
-- pass compares against it to skip an unchanged member.
|
|
55
52
|
UPDATE entries SET synced_sig = $synced_sig WHERE id = $entry_id;
|
|
56
53
|
|
|
54
|
+
-- PREP: crud_mark_member_absent
|
|
55
|
+
-- An observed deletion keeps the Git membership marker but removes its stale
|
|
56
|
+
-- readable/derived representation. `absent` distinguishes that observed state
|
|
57
|
+
-- from a member that has never been synchronized.
|
|
58
|
+
UPDATE entries SET synced_sig = 'absent', deep_hash = NULL WHERE id = $entry_id;
|
|
59
|
+
|
|
57
60
|
-- PREP: crud_delete_channels
|
|
58
61
|
DELETE FROM entry_channels WHERE entry_id = $entry_id;
|
|
59
62
|
|
|
@@ -61,19 +64,10 @@ DELETE FROM entry_channels WHERE entry_id = $entry_id;
|
|
|
61
64
|
DELETE FROM entry_channels WHERE entry_id = $entry_id AND name = $name
|
|
62
65
|
RETURNING name;
|
|
63
66
|
|
|
64
|
-
-- PREP: crud_delete_tags
|
|
65
|
-
DELETE FROM entry_tags WHERE entry_id = $entry_id;
|
|
66
|
-
|
|
67
67
|
-- PREP: crud_write_channel
|
|
68
68
|
-- {§tokenomics-content-hash-identity}: every static write stamps stable content identity.
|
|
69
|
-
INSERT INTO entry_channels (entry_id, name, content, mimetype, tokens, content_hash, state)
|
|
70
|
-
VALUES ($entry_id, $name, $content, $mimetype, $tokens, $content_hash, $state);
|
|
71
|
-
|
|
72
|
-
-- PREP: crud_write_tag
|
|
73
|
-
INSERT OR IGNORE INTO entry_tags (entry_id, tag) VALUES ($entry_id, $tag);
|
|
74
|
-
|
|
75
|
-
-- PREP: crud_delete_tag
|
|
76
|
-
DELETE FROM entry_tags WHERE entry_id = $entry_id AND tag = $tag;
|
|
69
|
+
INSERT INTO entry_channels (entry_id, name, content, mimetype, tokens, content_hash, state, producer_result)
|
|
70
|
+
VALUES ($entry_id, $name, $content, $mimetype, $tokens, $content_hash, $state, $producer_result);
|
|
77
71
|
|
|
78
72
|
-- PREP: crud_delete_entry
|
|
79
73
|
DELETE FROM entries WHERE id = $entry_id;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type FindStatement, type RangeExtent } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
|
|
3
|
-
import { type
|
|
3
|
+
import { type CatalogChannel, type CatalogDefaultChannel } from "./_entry-manifest.ts";
|
|
4
4
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
5
5
|
import type { MatchEvidence } from "@plurnk/plurnk-schemes";
|
|
6
|
+
import { type PathScope } from "./_path-scope.ts";
|
|
6
7
|
export interface Match {
|
|
7
8
|
pathname: string;
|
|
8
9
|
matches: MatchEvidence[];
|
|
@@ -11,28 +12,54 @@ export type CatalogScope = {
|
|
|
11
12
|
path: string;
|
|
12
13
|
items: number;
|
|
13
14
|
tokens: number;
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
matchLocationCount?: never;
|
|
16
|
+
locator?: never;
|
|
17
|
+
region?: never;
|
|
16
18
|
};
|
|
17
|
-
export type CatalogMatch =
|
|
18
|
-
|
|
19
|
+
export type CatalogMatch = [
|
|
20
|
+
CatalogDefaultChannel & {
|
|
21
|
+
items?: never;
|
|
22
|
+
locator?: never;
|
|
23
|
+
region?: never;
|
|
24
|
+
},
|
|
25
|
+
...CatalogChannel[]
|
|
26
|
+
];
|
|
27
|
+
export type CatalogScopeGroup = [CatalogScope];
|
|
28
|
+
export type CatalogResource = CatalogMatch | CatalogScopeGroup;
|
|
29
|
+
export type MatchLocation = MatchEvidence & {
|
|
30
|
+
path?: never;
|
|
19
31
|
items?: never;
|
|
20
32
|
tokens?: never;
|
|
33
|
+
matchLocationCount?: never;
|
|
21
34
|
};
|
|
22
|
-
export type MatchItem =
|
|
23
|
-
export declare const
|
|
24
|
-
export interface
|
|
35
|
+
export type MatchItem = CatalogResource | MatchLocation;
|
|
36
|
+
export declare const findItemTokens: (item: CatalogResource) => number;
|
|
37
|
+
export interface FindFields {
|
|
38
|
+
readonly [field: string]: unknown;
|
|
25
39
|
content: string | null;
|
|
26
40
|
mimetype: string | null;
|
|
27
41
|
results: MatchItem[];
|
|
28
42
|
itemsTokenTotal: number;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
returnedItemsTokenTotal: number;
|
|
44
|
+
matchingPathCount: number;
|
|
45
|
+
matchLocationCount: number;
|
|
46
|
+
range?: RangeExtent;
|
|
33
47
|
}
|
|
48
|
+
export interface FindResult extends SchemeResultBase, FindFields {
|
|
49
|
+
}
|
|
50
|
+
export interface FindProjectionResource {
|
|
51
|
+
readonly item: CatalogMatch;
|
|
52
|
+
readonly match: Match;
|
|
53
|
+
}
|
|
54
|
+
interface FindAddress {
|
|
55
|
+
readonly ownerId?: number;
|
|
56
|
+
readonly pathname?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare const emptyFindFields: () => FindFields;
|
|
59
|
+
export declare const projectFindResult: (statement: FindStatement, scope: PathScope, resources: readonly FindProjectionResource[], scopes?: readonly CatalogScope[]) => FindResult;
|
|
34
60
|
export default class EntryFind {
|
|
35
61
|
#private;
|
|
36
|
-
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest,
|
|
62
|
+
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address?: FindAddress): Promise<FindResult>;
|
|
37
63
|
}
|
|
64
|
+
export {};
|
|
38
65
|
//# sourceMappingURL=_entry-find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|