@plurnk/plurnk-service 1.5.0 → 1.6.1
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 +22 -27
- package/INSTALL.md +22 -17
- package/README.md +1 -1
- package/SPEC.md +505 -362
- 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 +4 -1
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +3 -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/read-projector.d.ts +7 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +46 -10
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.js +3 -3
- package/dist/content/read-resolve.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.js +1 -1
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +3 -3
- package/dist/core/CoreSchemeServices.d.ts +1 -1
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +1 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +15 -5
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +220 -978
- 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 +18 -43
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +90 -1554
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +192 -112
- 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 +3 -0
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +21 -5
- 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/ModelCall.d.ts +27 -0
- package/dist/core/ModelCall.d.ts.map +1 -0
- package/dist/core/ModelCall.js +127 -0
- package/dist/core/ModelCall.js.map +1 -0
- package/dist/core/PacketBuilder.d.ts +14 -25
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +170 -244
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts +1 -1
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +15 -3
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +2 -2
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +17 -9
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +25 -8
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +73 -0
- package/dist/core/ResourceMutations.d.ts.map +1 -0
- package/dist/core/ResourceMutations.js +1142 -0
- package/dist/core/ResourceMutations.js.map +1 -0
- package/dist/core/SchemeRegistry.js +10 -10
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +2 -2
- package/dist/core/StoredPacket.js +7 -7
- package/dist/core/StrikeRail.d.ts +0 -1
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +6 -4
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +72 -0
- package/dist/core/TurnRunner.d.ts.map +1 -0
- package/dist/core/TurnRunner.js +1730 -0
- package/dist/core/TurnRunner.js.map +1 -0
- package/dist/core/caps/CapsResolve.js +1 -1
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +4 -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 +8 -5
- package/dist/core/caps/DbEntryCaps.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/SchemeCtxImpl.d.ts +5 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +6 -4
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/content-hash.js +2 -2
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/content-weight.d.ts +2 -0
- package/dist/core/content-weight.d.ts.map +1 -0
- package/dist/core/content-weight.js +4 -0
- package/dist/core/content-weight.js.map +1 -0
- package/dist/core/content_weight.d.ts +4 -0
- package/dist/core/content_weight.d.ts.map +1 -0
- package/dist/core/content_weight.js +6 -0
- package/dist/core/content_weight.js.map +1 -0
- 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 +38 -17
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +1 -2
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.js +1 -1
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/packet-wire.d.ts +6 -3
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +257 -99
- 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/scheme-types.d.ts +1 -1
- package/dist/core/scheme-types.d.ts.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/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +221 -110
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +40 -18
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +136 -110
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +1 -1
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +5 -4
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +25 -23
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +11 -0
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +172 -107
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +48 -32
- package/dist/schemes/Prompt.d.ts +3 -3
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +4 -1
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +4 -4
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +3 -0
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts +4 -4
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +11 -7
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +0 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +19 -13
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +4 -16
- package/dist/schemes/_entry-find.d.ts +17 -16
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +58 -52
- 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 +32 -28
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +5 -4
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +89 -49
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +30 -4
- 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 +10 -2
- 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/Daemon.d.ts +7 -42
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +139 -900
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +117 -0
- package/dist/server/DrainSupervisor.d.ts.map +1 -0
- package/dist/server/DrainSupervisor.js +802 -0
- package/dist/server/DrainSupervisor.js.map +1 -0
- package/dist/server/drain.sql +2 -2
- package/dist/server/envelope.d.ts +0 -2
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +2 -2
- package/dist/server/lifecycle-recovery.sql +28 -15
- package/dist/server/logEntry.d.ts +2 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +14 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +5 -1
- package/dist/server/seam-entry-read.sql +2 -2
- package/dist/service.js +1 -1
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +622 -216
- package/package.json +39 -34
- package/dist/core/BudgetOverflow.d.ts +0 -20
- package/dist/core/BudgetOverflow.d.ts.map +0 -1
- package/dist/core/BudgetOverflow.js +0 -49
- 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 -46
- package/dist/core/caps/DbTagCaps.js.map +0 -1
- package/dist/core/ruler_count.d.ts +0 -4
- package/dist/core/ruler_count.d.ts.map +0 -1
- package/dist/core/ruler_count.js +0 -7
- package/dist/core/ruler_count.js.map +0 -1
- package/dist/core/token-ruler.d.ts +0 -2
- package/dist/core/token-ruler.d.ts.map +0 -1
- package/dist/core/token-ruler.js +0 -5
- package/dist/core/token-ruler.js.map +0 -1
package/dist/schemes/Log.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { PathSyntax, } from "@plurnk/plurnk-contracts";
|
|
1
|
+
import { InvalidTagSignalError, PathSyntax, TagSignal, } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import Matcher from "../content/matcher.js";
|
|
3
3
|
import { emptyFindFields, projectFindResult } from "./_entry-find.js";
|
|
4
4
|
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.js";
|
|
5
5
|
import Results from "../core/results.js";
|
|
6
6
|
import LogBody from "../core/LogBody.js";
|
|
7
|
+
import LogEntryProjection from "../core/LogEntryProjection.js";
|
|
7
8
|
import EntrySemantic from "./_entry-semantic.js";
|
|
8
9
|
import EntryGraph from "./_entry-graph.js";
|
|
9
10
|
import { resolveSearchCandidates } from "./_search-candidate.js";
|
|
10
11
|
import { pathFolderSummaries, pathScope, pathScopeMatches } from "./_path-scope.js";
|
|
11
12
|
// log:///<loop_seq>/<turn_seq>/<sequence>[/<op>] — the trailing /op segment
|
|
12
|
-
// is
|
|
13
|
-
// parsing accepts it (or omits it)
|
|
13
|
+
// is canonical model-facing identity derived from the row's projected `op`;
|
|
14
|
+
// parsing accepts it (or omits it), but a supplied suffix must agree. The op
|
|
14
15
|
// suffix is case-INSENSITIVE: model ops render UPPERCASE (READ/EDIT/FIND) while
|
|
15
16
|
// engine-minted selectors such as `error` are lowercase. An actionless model
|
|
16
17
|
// emission has no suffix at all.
|
|
@@ -41,14 +42,21 @@ const parseCoordinate = (pathname) => {
|
|
|
41
42
|
loopSeq: Number(match[1]),
|
|
42
43
|
turnSeq: Number(match[2]),
|
|
43
44
|
sequence: Number(match[3]),
|
|
45
|
+
op: match[4] ?? null,
|
|
44
46
|
};
|
|
45
47
|
};
|
|
46
|
-
const canonicalCoordinate = (coordinate) => coordinate.replace(/\/[A-Za-z]+$/, "");
|
|
47
48
|
// A rendered log path appends `/OP` to the canonical loop/turn/item coordinate
|
|
48
|
-
// as
|
|
49
|
+
// as identity. Selection honors both views: ordinary path globs map
|
|
49
50
|
// the three-level resource tree, while an explicit OP segment can still filter
|
|
50
51
|
// rows (`log:///**/READ`).
|
|
51
|
-
const coordinateScopeMatches = (scope, coordinate) => pathScopeMatches(scope, coordinate) || pathScopeMatches(scope,
|
|
52
|
+
const coordinateScopeMatches = (scope, coordinate) => pathScopeMatches(scope, coordinate) || pathScopeMatches(scope, LogEntryProjection.base(coordinate));
|
|
53
|
+
const projectedCoordinateRows = (rows) => rows.map((row) => ({
|
|
54
|
+
...row,
|
|
55
|
+
coordinate: LogEntryProjection.coordinate(row.coordinate, row),
|
|
56
|
+
}));
|
|
57
|
+
const coordinateCandidatePrefix = (prefix) => prefix === null
|
|
58
|
+
? null
|
|
59
|
+
: LogEntryProjection.base(prefix);
|
|
52
60
|
export default class Log extends CoreSchemeAdapterBase {
|
|
53
61
|
static manifest = {
|
|
54
62
|
name: "log",
|
|
@@ -61,7 +69,7 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
61
69
|
volatile: false,
|
|
62
70
|
modelVisible: true,
|
|
63
71
|
folderScopes: true,
|
|
64
|
-
example: "
|
|
72
|
+
example: "## READ0 (log:///1/2/3)",
|
|
65
73
|
};
|
|
66
74
|
async resolveCoreRepresentation(target, ctx) {
|
|
67
75
|
const core = this.coreContext(ctx);
|
|
@@ -87,6 +95,9 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
87
95
|
const row = await db.log_read_by_coordinate.get({ worker_id: workerId, loop_seq: coord.loopSeq, turn_seq: coord.turnSeq, sequence: coord.sequence });
|
|
88
96
|
if (row === undefined)
|
|
89
97
|
return failure("entry-not-found", 404, `No log entry exists at log:///${pathname}.`);
|
|
98
|
+
if (!LogEntryProjection.accepts(coord.op, row)) {
|
|
99
|
+
return failure("entry-not-found", 404, `No log entry exists at log:///${pathname}.`);
|
|
100
|
+
}
|
|
90
101
|
const { content: underlyingContent, mimetype: underlyingMimetype } = LogBody.resolve({
|
|
91
102
|
op: row.op,
|
|
92
103
|
attrs: row.attrs,
|
|
@@ -95,10 +106,6 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
95
106
|
mimetypeTx: row.mimetype_tx,
|
|
96
107
|
mimetypeRx: row.mimetype_rx,
|
|
97
108
|
});
|
|
98
|
-
const tags = JSON.parse(row.tags);
|
|
99
|
-
if (!Array.isArray(tags) || !tags.every((tag) => typeof tag === "string")) {
|
|
100
|
-
throw new TypeError(`Log row ${pathname} contains invalid tag storage.`);
|
|
101
|
-
}
|
|
102
109
|
return {
|
|
103
110
|
representation: {
|
|
104
111
|
channels: {
|
|
@@ -108,18 +115,17 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
108
115
|
state: "static",
|
|
109
116
|
},
|
|
110
117
|
},
|
|
111
|
-
tags,
|
|
112
118
|
},
|
|
113
119
|
};
|
|
114
120
|
}
|
|
115
121
|
// {§log-uniform-query} — FIND over the worker's log rows, on the SAME source-agnostic primitive
|
|
116
122
|
// every entry scheme runs (Matcher.matchCandidates, {§find-source-agnostic}): candidates are the
|
|
117
123
|
// coordinate-scoped rows resolved by LogBody exactly as READ shows them, so every content
|
|
118
|
-
// dialect works on log BY CONSTRUCTION and FIND
|
|
124
|
+
// dialect works on log BY CONSTRUCTION and log FIND -> coordinate READ composes like any scheme.
|
|
119
125
|
async find(statement, ctx) {
|
|
120
126
|
return this.#find(statement, this.coreContext(ctx));
|
|
121
127
|
}
|
|
122
|
-
async #find(statement, core, allowTargetless = false) {
|
|
128
|
+
async #find(statement, core, allowTargetless = false, filterTags = []) {
|
|
123
129
|
const { db, workerId, mimetypes } = core;
|
|
124
130
|
const empty = (status, detail, extensions = {}) => {
|
|
125
131
|
const fields = emptyFindFields();
|
|
@@ -152,22 +158,14 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
152
158
|
const coordinate = parseCoordinate(scope.pathname);
|
|
153
159
|
if (coordinate === null)
|
|
154
160
|
throw new Error(`Exact log scope has a malformed coordinate ${JSON.stringify(scope.pathname)}`);
|
|
155
|
-
|
|
156
|
-
worker_id: workerId,
|
|
157
|
-
loop_seq: coordinate.loopSeq,
|
|
158
|
-
turn_seq: coordinate.turnSeq,
|
|
159
|
-
sequence: coordinate.sequence,
|
|
160
|
-
});
|
|
161
|
-
if (exact === undefined) {
|
|
161
|
+
if (await this.#resolveExactId(coordinate, core) === null) {
|
|
162
162
|
return empty(404, `No log entry exists at ${statement.target?.raw ?? `log:///${scope.pathname}`}.`, { target: statement.target?.raw ?? `log:///${scope.pathname}` });
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const candidateRows =
|
|
169
|
-
? await db.log_find_candidates_tagged.all({ worker_id: workerId, scope_prefix: scope.candidatePrefix, tags: JSON.stringify(tags) })
|
|
170
|
-
: await db.log_find_candidates.all({ worker_id: workerId, scope_prefix: scope.candidatePrefix });
|
|
165
|
+
const storedCandidateRows = filterTags.length > 0
|
|
166
|
+
? await db.log_curation_find_candidates_tagged.all({ worker_id: workerId, scope_prefix: coordinateCandidatePrefix(scope.candidatePrefix), tags: JSON.stringify(filterTags) })
|
|
167
|
+
: await db.log_find_candidates.all({ worker_id: workerId, scope_prefix: coordinateCandidatePrefix(scope.candidatePrefix) });
|
|
168
|
+
const candidateRows = projectedCoordinateRows(storedCandidateRows);
|
|
171
169
|
let rows;
|
|
172
170
|
try {
|
|
173
171
|
rows = candidateRows.filter((row) => coordinateScopeMatches(scope, row.coordinate));
|
|
@@ -179,7 +177,7 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
179
177
|
retryable: false,
|
|
180
178
|
});
|
|
181
179
|
}
|
|
182
|
-
const candidateByCanonicalCoord = new Map(candidateRows.map((row) => [
|
|
180
|
+
const candidateByCanonicalCoord = new Map(candidateRows.map((row) => [LogEntryProjection.base(row.coordinate), row]));
|
|
183
181
|
const byCoord = new Map(rows.map((r) => [r.coordinate, r]));
|
|
184
182
|
const projected = rows.map((r) => ({
|
|
185
183
|
key: r.coordinate,
|
|
@@ -238,7 +236,7 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
238
236
|
recovery: "Wait for search indexing to complete before repeating the search.",
|
|
239
237
|
retryable: false,
|
|
240
238
|
});
|
|
241
|
-
const universeRows = await db.log_find_candidates.all({ worker_id: workerId, scope_prefix: null });
|
|
239
|
+
const universeRows = projectedCoordinateRows(await db.log_find_candidates.all({ worker_id: workerId, scope_prefix: null }));
|
|
242
240
|
const universe = resolveSearchCandidates(universeRows.map(({ coordinate, deep_hash }) => ({ key: coordinate, deepHash: deep_hash })));
|
|
243
241
|
if (universe.state === "incomplete")
|
|
244
242
|
return empty(503, `The persistent search index covers ${universe.indexed} of ${universe.total} log results in the relationship universe.`, {
|
|
@@ -288,7 +286,7 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
288
286
|
matches = r.matches.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges }));
|
|
289
287
|
}
|
|
290
288
|
const folderSummaries = statement.body === null
|
|
291
|
-
? pathFolderSummaries(scope, candidateRows.map((row) =>
|
|
289
|
+
? pathFolderSummaries(scope, candidateRows.map((row) => LogEntryProjection.base(row.coordinate)))
|
|
292
290
|
: [];
|
|
293
291
|
const resources = [];
|
|
294
292
|
for (const m of matches) {
|
|
@@ -304,10 +302,19 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
304
302
|
mimetypeTx: row.mimetype_tx,
|
|
305
303
|
mimetypeRx: row.mimetype_rx,
|
|
306
304
|
});
|
|
307
|
-
const
|
|
305
|
+
const channel = {
|
|
308
306
|
path,
|
|
309
|
-
|
|
307
|
+
mimetype: proj.mimetype,
|
|
308
|
+
weight: row.weight,
|
|
309
|
+
lines: proj.content.length === 0 ? 0 : proj.content.split("\n").length,
|
|
310
310
|
};
|
|
311
|
+
const storedTags = JSON.parse(row.tags);
|
|
312
|
+
if (!Array.isArray(storedTags) || !storedTags.every((tag) => typeof tag === "string" && tag.length > 0)) {
|
|
313
|
+
throw new TypeError(`Log row ${m.pathname} contains invalid tag storage.`);
|
|
314
|
+
}
|
|
315
|
+
if (storedTags.length > 0)
|
|
316
|
+
channel.tags = storedTags;
|
|
317
|
+
const item = [channel];
|
|
311
318
|
resources.push({ item, match: m });
|
|
312
319
|
}
|
|
313
320
|
const scopes = [];
|
|
@@ -316,34 +323,58 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
316
323
|
const item = {
|
|
317
324
|
path: `log:///${folder.selector}`,
|
|
318
325
|
items: members.length,
|
|
319
|
-
|
|
326
|
+
weight: members.reduce((sum, row) => sum + row.weight, 0),
|
|
320
327
|
};
|
|
321
328
|
scopes.push(item);
|
|
322
329
|
}
|
|
323
330
|
return projectFindResult(statement, scope, resources, scopes);
|
|
324
331
|
}
|
|
325
332
|
async open(statement, ctx) {
|
|
326
|
-
|
|
333
|
+
const core = this.coreContext(ctx);
|
|
334
|
+
const outcome = await this.#planCuration(statement, core, 1);
|
|
335
|
+
if (outcome.plan !== null)
|
|
336
|
+
await this.#applyDirect(outcome.plan, core);
|
|
337
|
+
return outcome.result;
|
|
327
338
|
}
|
|
328
339
|
// FOLD toggles the expanded bit only — an active subscription stays alive. {§subscriptions-fold-keeps-subscription}
|
|
329
340
|
async fold(statement, ctx) {
|
|
330
|
-
|
|
341
|
+
const core = this.coreContext(ctx);
|
|
342
|
+
const outcome = await this.#planCuration(statement, core, 0);
|
|
343
|
+
if (outcome.plan !== null)
|
|
344
|
+
await this.#applyDirect(outcome.plan, core);
|
|
345
|
+
return outcome.result;
|
|
346
|
+
}
|
|
347
|
+
// Core dispatch retains the exact landed effect beside the suppressed
|
|
348
|
+
// OPEN/FOLD event. Direct scheme callers receive the ordinary result above.
|
|
349
|
+
async curate(statement, ctx) {
|
|
350
|
+
return this.#planCuration(statement, this.coreContext(ctx), statement.op === "OPEN" ? 1 : 0);
|
|
331
351
|
}
|
|
332
352
|
// Resolve a log:/// target — a concrete coordinate or path-glob — to the matched row ids.
|
|
333
353
|
// OPEN/FOLD/KILL share this one path selection; log curation has no positional pagination.
|
|
354
|
+
async #resolveExactId(coordinate, ctx) {
|
|
355
|
+
const row = await ctx.db.log_id_by_coordinate.get({
|
|
356
|
+
worker_id: ctx.workerId,
|
|
357
|
+
loop_seq: coordinate.loopSeq,
|
|
358
|
+
turn_seq: coordinate.turnSeq,
|
|
359
|
+
sequence: coordinate.sequence,
|
|
360
|
+
});
|
|
361
|
+
return row !== undefined && LogEntryProjection.accepts(coordinate.op, row) ? row.id : null;
|
|
362
|
+
}
|
|
334
363
|
async #resolveIds(pathname, ctx) {
|
|
335
364
|
const { db, workerId } = ctx;
|
|
336
365
|
const coord = parseCoordinate(pathname);
|
|
337
366
|
if (coord !== null) {
|
|
338
|
-
const
|
|
339
|
-
return
|
|
367
|
+
const id = await this.#resolveExactId(coord, ctx);
|
|
368
|
+
return id === null
|
|
369
|
+
? { status: 404, ids: [] }
|
|
370
|
+
: { status: 200, ids: [id] };
|
|
340
371
|
}
|
|
341
372
|
// {§log-coordinate-hierarchy} — one resolution for every consumer (curation here, find below).
|
|
342
373
|
const glob = coordinateGlob(pathname);
|
|
343
374
|
if (glob === null)
|
|
344
375
|
return { status: 400, ids: [], error: `The log target '${pathname}' is malformed.` };
|
|
345
376
|
const scope = pathScope(glob, false);
|
|
346
|
-
const candidates = await db.log_match_coordinates.all({ worker_id: workerId, scope_prefix: scope.candidatePrefix });
|
|
377
|
+
const candidates = projectedCoordinateRows(await db.log_match_coordinates.all({ worker_id: workerId, scope_prefix: coordinateCandidatePrefix(scope.candidatePrefix) }));
|
|
347
378
|
let matched;
|
|
348
379
|
try {
|
|
349
380
|
matched = candidates.filter((row) => coordinateScopeMatches(scope, row.coordinate));
|
|
@@ -357,8 +388,8 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
357
388
|
return { status: 204, ids: [] };
|
|
358
389
|
return { status: 200, ids: matched.map((row) => row.id) };
|
|
359
390
|
}
|
|
360
|
-
// {§log-
|
|
361
|
-
// whole worker log when targetless
|
|
391
|
+
// {§log-item-tags} — resolve tagged OPEN/FOLD to ids: candidates are the target's glob scope (the
|
|
392
|
+
// whole worker log when targetless),
|
|
362
393
|
// AND-filtered to rows carrying EVERY listed tag. Zero matches is a no-op success (204), mirroring
|
|
363
394
|
// #resolveIds — recalling a name that tags nothing steers nothing.
|
|
364
395
|
async #resolveByTags(statement, tags, ctx) {
|
|
@@ -367,12 +398,16 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
367
398
|
const glob = coordinateGlob(pathname);
|
|
368
399
|
if (glob === null)
|
|
369
400
|
return { status: 400, ids: [], error: `The log target '${pathname}' is malformed.` };
|
|
401
|
+
const coordinate = parseCoordinate(pathname);
|
|
402
|
+
if (coordinate !== null && await this.#resolveExactId(coordinate, ctx) === null) {
|
|
403
|
+
return { status: 404, ids: [] };
|
|
404
|
+
}
|
|
370
405
|
const scope = pathScope(glob, false);
|
|
371
|
-
const candidates = await db.log_match_coordinates_tagged.all({
|
|
406
|
+
const candidates = projectedCoordinateRows(await db.log_match_coordinates_tagged.all({
|
|
372
407
|
worker_id: workerId,
|
|
373
|
-
scope_prefix: scope.candidatePrefix,
|
|
408
|
+
scope_prefix: coordinateCandidatePrefix(scope.candidatePrefix),
|
|
374
409
|
tags: JSON.stringify(tags),
|
|
375
|
-
});
|
|
410
|
+
}));
|
|
376
411
|
let matched;
|
|
377
412
|
try {
|
|
378
413
|
matched = candidates.filter((row) => coordinateScopeMatches(scope, row.coordinate));
|
|
@@ -385,18 +420,20 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
385
420
|
return { status: 200, ids: matched.map((row) => row.id) };
|
|
386
421
|
}
|
|
387
422
|
// A matcher-bearing curation op reuses FIND's complete source-agnostic selector with
|
|
388
|
-
// explicit all-results pagination.
|
|
389
|
-
//
|
|
423
|
+
// explicit all-results pagination. Curation tags are an independent selector;
|
|
424
|
+
// an authored FIND signal classifies its result row and never enters candidate selection.
|
|
390
425
|
async #resolveByMatcher(statement, filterTags, ctx) {
|
|
391
426
|
const selected = await this.#find({
|
|
392
427
|
...statement,
|
|
393
428
|
op: "FIND",
|
|
394
|
-
signal:
|
|
429
|
+
signal: null,
|
|
395
430
|
lineMarker: { marks: [1, -1] },
|
|
396
|
-
}, ctx, filterTags
|
|
431
|
+
}, ctx, true, filterTags);
|
|
397
432
|
if (selected.status !== 200)
|
|
398
433
|
return { status: selected.status, ids: [], problem: selected.problem };
|
|
399
|
-
let selectedPaths = selected.results.flatMap((item) => typeof item
|
|
434
|
+
let selectedPaths = selected.results.flatMap((item) => Array.isArray(item) && typeof item[0]?.path === "string"
|
|
435
|
+
? [item[0].path]
|
|
436
|
+
: []);
|
|
400
437
|
if (selectedPaths.length === 0) {
|
|
401
438
|
if (statement.target === null) {
|
|
402
439
|
throw new Error("A successful broad log matcher selection returned no resource paths");
|
|
@@ -416,84 +453,112 @@ export default class Log extends CoreSchemeAdapterBase {
|
|
|
416
453
|
const coordinate = parseCoordinate(pathname.replace(/^log:\/\/\//, "").replace(/^\//, ""));
|
|
417
454
|
if (coordinate === null)
|
|
418
455
|
throw new Error(`Log matcher selected malformed coordinate '${pathname}'`);
|
|
419
|
-
const
|
|
420
|
-
|
|
421
|
-
loop_seq: coordinate.loopSeq,
|
|
422
|
-
turn_seq: coordinate.turnSeq,
|
|
423
|
-
sequence: coordinate.sequence,
|
|
424
|
-
});
|
|
425
|
-
if (row === undefined)
|
|
456
|
+
const id = await this.#resolveExactId(coordinate, ctx);
|
|
457
|
+
if (id === null)
|
|
426
458
|
return { status: 404, ids: [] };
|
|
427
|
-
ids.push(
|
|
459
|
+
ids.push(id);
|
|
428
460
|
}
|
|
429
461
|
return ids.length === 0 ? { status: 204, ids: [] } : { status: 200, ids };
|
|
430
462
|
}
|
|
431
|
-
async #
|
|
432
|
-
for (const id of
|
|
433
|
-
await ctx.db.log_set_expanded_by_id.run({ id, expanded });
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
463
|
+
async #applyDirect(plan, ctx) {
|
|
464
|
+
for (const id of plan.targetLogEntryIds) {
|
|
465
|
+
await ctx.db.log_set_expanded_by_id.run({ id, expanded: plan.expanded });
|
|
466
|
+
for (const tag of plan.remove)
|
|
467
|
+
await ctx.db.log_remove_tag.run({ log_entry_id: id, tag });
|
|
468
|
+
for (const tag of plan.add)
|
|
469
|
+
await ctx.db.log_write_tag.run({ log_entry_id: id, tag });
|
|
438
470
|
}
|
|
439
|
-
return { status: 200, matched: ids.length };
|
|
440
471
|
}
|
|
441
|
-
async #
|
|
442
|
-
|
|
472
|
+
async #planCuration(statement, ctx, expanded) {
|
|
473
|
+
let tags;
|
|
474
|
+
try {
|
|
475
|
+
tags = TagSignal.curation(statement.signal);
|
|
476
|
+
}
|
|
477
|
+
catch (cause) {
|
|
478
|
+
if (!(cause instanceof InvalidTagSignalError))
|
|
479
|
+
throw cause;
|
|
480
|
+
return {
|
|
481
|
+
result: Results.failure("scheme:log", "tag-signal-invalid", 400, cause.message, {}, { retryable: false }),
|
|
482
|
+
plan: null,
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
const planned = (ids) => ({
|
|
486
|
+
result: { status: 200, matched: ids.length },
|
|
487
|
+
plan: {
|
|
488
|
+
targetLogEntryIds: ids,
|
|
489
|
+
expanded,
|
|
490
|
+
add: tags.add,
|
|
491
|
+
remove: tags.remove,
|
|
492
|
+
},
|
|
493
|
+
});
|
|
443
494
|
if (statement.body !== null) {
|
|
444
|
-
const matched = await this.#resolveByMatcher(statement,
|
|
495
|
+
const matched = await this.#resolveByMatcher(statement, tags.filter, ctx);
|
|
445
496
|
if (matched.status === 204)
|
|
446
|
-
return { status: 204, matched: 0 };
|
|
497
|
+
return { result: { status: 204, matched: 0 }, plan: null };
|
|
447
498
|
if (matched.status !== 200) {
|
|
448
499
|
if (matched.problem !== undefined) {
|
|
449
|
-
return
|
|
500
|
+
return {
|
|
501
|
+
result: Results.assert({ status: matched.status, problem: matched.problem }),
|
|
502
|
+
plan: null,
|
|
503
|
+
};
|
|
450
504
|
}
|
|
451
|
-
return
|
|
505
|
+
return {
|
|
506
|
+
result: Results.failure("scheme:log", matched.status === 404 ? "entry-not-found" : "curation-failed", matched.status, "No log entry matches the requested selection."),
|
|
507
|
+
plan: null,
|
|
508
|
+
};
|
|
452
509
|
}
|
|
453
|
-
return
|
|
510
|
+
return planned(matched.ids);
|
|
454
511
|
}
|
|
455
|
-
// {§log-
|
|
456
|
-
//
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
512
|
+
// {§log-item-tags} — unsigned terms are the symmetric ALL-tags selector;
|
|
513
|
+
// signed terms are changes applied only after the exact set is resolved.
|
|
514
|
+
if (tags.filter.length > 0) {
|
|
515
|
+
const selected = await this.#resolveByTags(statement, [...tags.filter], ctx);
|
|
516
|
+
if (selected.status === 204)
|
|
517
|
+
return { result: { status: 204, matched: 0 }, plan: null };
|
|
518
|
+
if (selected.status !== 200) {
|
|
519
|
+
return {
|
|
520
|
+
result: Results.failure("scheme:log", "curation-failed", selected.status, selected.error ?? "No log entry matches the requested selection.", {}, {
|
|
521
|
+
target: statement.target?.raw ?? null,
|
|
522
|
+
...(selected.status === 400
|
|
523
|
+
? {
|
|
524
|
+
recovery: "Use a log coordinate, prefix, or glob.",
|
|
525
|
+
retryable: false,
|
|
526
|
+
}
|
|
527
|
+
: {}),
|
|
528
|
+
}),
|
|
529
|
+
plan: null,
|
|
530
|
+
};
|
|
472
531
|
}
|
|
473
|
-
return
|
|
532
|
+
return planned(selected.ids);
|
|
474
533
|
}
|
|
475
534
|
if (statement.target === null) {
|
|
476
|
-
return
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
535
|
+
return {
|
|
536
|
+
result: Results.failure("scheme:log", "target-required", 400, `${expanded === 1 ? "OPEN" : "FOLD"} requires a path, body pattern, or unsigned tag; signed tags do not select log items.`, {}, {
|
|
537
|
+
recovery: "Provide a log coordinate, prefix, glob, body pattern, or unsigned tag.",
|
|
538
|
+
retryable: false,
|
|
539
|
+
}),
|
|
540
|
+
plan: null,
|
|
541
|
+
};
|
|
480
542
|
}
|
|
481
543
|
const pathname = (statement.target.kind === "url" ? statement.target.pathname : statement.target.raw).replace(/^\//, "");
|
|
482
|
-
const
|
|
483
|
-
if (
|
|
484
|
-
return { status: 204, matched: 0 };
|
|
485
|
-
if (
|
|
486
|
-
return
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
544
|
+
const selected = await this.#resolveIds(pathname, ctx);
|
|
545
|
+
if (selected.status === 204)
|
|
546
|
+
return { result: { status: 204, matched: 0 }, plan: null };
|
|
547
|
+
if (selected.status !== 200) {
|
|
548
|
+
return {
|
|
549
|
+
result: Results.failure("scheme:log", selected.status === 404 ? "entry-not-found" : "curation-failed", selected.status, selected.error ?? `No log entry matches '${pathname}'.`, {}, {
|
|
550
|
+
target: pathname,
|
|
551
|
+
...(selected.status === 400
|
|
552
|
+
? {
|
|
553
|
+
recovery: "Use a log coordinate, prefix, or glob.",
|
|
554
|
+
retryable: false,
|
|
555
|
+
}
|
|
556
|
+
: {}),
|
|
557
|
+
}),
|
|
558
|
+
plan: null,
|
|
559
|
+
};
|
|
495
560
|
}
|
|
496
|
-
return
|
|
561
|
+
return planned(selected.ids);
|
|
497
562
|
}
|
|
498
563
|
// KILL shares OPEN/FOLD's address resolution, deletes instead of flipping visibility,
|
|
499
564
|
// and carries no positional scope. {§model-entry-log-curation} {§log-curation-set-selection}
|
package/dist/schemes/Log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../src/schemes/Log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../src/schemes/Log.ts"],"names":[],"mappings":"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"}
|