@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
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
// FIND helper for entry-bearing schemes (SPEC {§find}; plurnk.md FIND row).
|
|
2
|
-
// FIND resolves
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// optional `matches` metadata records every addressable source/readable range.
|
|
6
|
-
// The content itself remains a READ.
|
|
2
|
+
// FIND resolves one of two questions from the target shape. A broad target
|
|
3
|
+
// returns catalog resources; an exact matcher target returns flat addressable
|
|
4
|
+
// match locations. The content itself remains a READ.
|
|
7
5
|
//
|
|
8
6
|
// FIND slot semantics (contracts SPEC §4/§7):
|
|
9
7
|
// target — required scope (path or glob); selects which entries are candidates
|
|
10
8
|
// body — matcher (glob/regex/jsonpath/xpath/~semantic/@graph). A content matcher
|
|
11
9
|
// runs against the entry's default-channel CONTENT (Matcher.matchAgainstContent
|
|
12
10
|
// → the mimetypes plugin) and INCLUDES/EXCLUDES the entry — e.g.
|
|
13
|
-
// `
|
|
14
|
-
// signal —
|
|
15
|
-
// <L> —
|
|
11
|
+
// log FIND over `log:///**/error` with `/timeout/i` keeps matching rows.
|
|
12
|
+
// signal — classifies the durable FIND log item; never filters resources
|
|
13
|
+
// <L> — result pagination: resource or match-location positions N..M
|
|
14
|
+
import { DEFAULT_RETRIEVAL_LIMIT, renderJsonResult } from "@plurnk/plurnk-contracts";
|
|
16
15
|
import { LineMarkerOps } from "../content/index.js";
|
|
17
16
|
import Matcher from "../content/matcher.js";
|
|
18
17
|
import { entryPathnameOf } from "../core/plurnk-uri.js";
|
|
@@ -24,10 +23,111 @@ import EntrySemantic from "./_entry-semantic.js";
|
|
|
24
23
|
import Results from "../core/results.js";
|
|
25
24
|
import { resolveSearchCandidates } from "./_search-candidate.js";
|
|
26
25
|
import { pathFolderSummaries, pathScope, pathScopeMatches } from "./_path-scope.js";
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export const
|
|
26
|
+
export const findItemTokens = (item) => "items" in item[0]
|
|
27
|
+
? item[0].tokens
|
|
28
|
+
: item.reduce((sum, channel) => sum + channel.tokens, 0);
|
|
29
|
+
export const emptyFindFields = () => ({
|
|
30
|
+
content: null,
|
|
31
|
+
mimetype: null,
|
|
32
|
+
results: [],
|
|
33
|
+
itemsTokenTotal: 0,
|
|
34
|
+
returnedItemsTokenTotal: 0,
|
|
35
|
+
matchingPathCount: 0,
|
|
36
|
+
matchLocationCount: 0,
|
|
37
|
+
});
|
|
38
|
+
const uniqueMatchLocations = (locations) => {
|
|
39
|
+
const seen = new Set();
|
|
40
|
+
const unique = [];
|
|
41
|
+
for (const location of locations) {
|
|
42
|
+
const key = JSON.stringify(location);
|
|
43
|
+
if (seen.has(key))
|
|
44
|
+
continue;
|
|
45
|
+
seen.add(key);
|
|
46
|
+
unique.push(location);
|
|
47
|
+
}
|
|
48
|
+
return unique;
|
|
49
|
+
};
|
|
50
|
+
// {§find-result-projection} — selection remains grouped internally because
|
|
51
|
+
// schemes and curation operate on resources. This one public projection owns
|
|
52
|
+
// target-shape mode, pagination, counts, and rendering for every FIND source.
|
|
53
|
+
export const projectFindResult = (statement, scope, resources, scopes = []) => {
|
|
54
|
+
const resourcePaths = new Set();
|
|
55
|
+
for (const { item } of resources) {
|
|
56
|
+
const path = item[0].path;
|
|
57
|
+
if (resourcePaths.has(path)) {
|
|
58
|
+
throw new Error(`FIND selection contains duplicate resource ${JSON.stringify(path)}`);
|
|
59
|
+
}
|
|
60
|
+
resourcePaths.add(path);
|
|
61
|
+
}
|
|
62
|
+
const matchingPathCount = resources.length;
|
|
63
|
+
const matchLocationCount = resources.reduce((sum, { match }) => sum + uniqueMatchLocations(match.matches).length, 0);
|
|
64
|
+
const itemsTokenTotal = resources.reduce((sum, { item }) => sum + findItemTokens(item), 0)
|
|
65
|
+
+ scopes.reduce((sum, item) => sum + item.tokens, 0);
|
|
66
|
+
const fields = {
|
|
67
|
+
content: null,
|
|
68
|
+
mimetype: null,
|
|
69
|
+
results: [],
|
|
70
|
+
itemsTokenTotal,
|
|
71
|
+
returnedItemsTokenTotal: 0,
|
|
72
|
+
matchingPathCount,
|
|
73
|
+
matchLocationCount,
|
|
74
|
+
};
|
|
75
|
+
const locationMode = statement.body !== null && scope.kind === "exact";
|
|
76
|
+
let completeItems;
|
|
77
|
+
if (locationMode) {
|
|
78
|
+
completeItems = uniqueMatchLocations(resources.flatMap(({ match }) => match.matches));
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const resourceItems = [
|
|
82
|
+
...resources.map(({ item, match }) => statement.body === null
|
|
83
|
+
? item
|
|
84
|
+
: [
|
|
85
|
+
{ ...item[0], matchLocationCount: uniqueMatchLocations(match.matches).length },
|
|
86
|
+
...item.slice(1),
|
|
87
|
+
]),
|
|
88
|
+
...scopes.map((item) => [item]),
|
|
89
|
+
];
|
|
90
|
+
if (scopes.length > 0) {
|
|
91
|
+
resourceItems.sort((a, b) => a[0].path.localeCompare(b[0].path));
|
|
92
|
+
}
|
|
93
|
+
completeItems = resourceItems;
|
|
94
|
+
}
|
|
95
|
+
const marker = statement.body?.dialect === "semantic"
|
|
96
|
+
? EntrySemantic.resultSelection(statement.lineMarker).page
|
|
97
|
+
: statement.lineMarker ?? { marks: [1, DEFAULT_RETRIEVAL_LIMIT] };
|
|
98
|
+
const unit = locationMode ? "matchLocation" : "resource";
|
|
99
|
+
const page = LineMarkerOps.page(completeItems, marker, {
|
|
100
|
+
unit,
|
|
101
|
+
allowEmpty: statement.body !== null || statement.lineMarker === null,
|
|
102
|
+
});
|
|
103
|
+
if (page.status !== 200) {
|
|
104
|
+
if (page.problem === undefined)
|
|
105
|
+
throw new Error("FIND pagination failed without Problem Details");
|
|
106
|
+
return Results.assert({ status: page.status, problem: page.problem, ...fields, range: page.range });
|
|
107
|
+
}
|
|
108
|
+
if (statement.body !== null && matchingPathCount === 0) {
|
|
109
|
+
return {
|
|
110
|
+
status: 204,
|
|
111
|
+
...fields,
|
|
112
|
+
...(page.range === undefined ? {} : { range: page.range }),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
const results = page.items ?? [];
|
|
116
|
+
const returnedItemsTokenTotal = locationMode
|
|
117
|
+
? itemsTokenTotal
|
|
118
|
+
: results.reduce((sum, item) => sum + findItemTokens(item), 0);
|
|
119
|
+
return {
|
|
120
|
+
status: 200,
|
|
121
|
+
content: renderJsonResult(results), // {§find-result-projection} {§json-result-rendering}
|
|
122
|
+
mimetype: "application/json",
|
|
123
|
+
results,
|
|
124
|
+
itemsTokenTotal,
|
|
125
|
+
returnedItemsTokenTotal,
|
|
126
|
+
matchingPathCount,
|
|
127
|
+
matchLocationCount,
|
|
128
|
+
...(page.range === undefined ? {} : { range: page.range }),
|
|
129
|
+
};
|
|
130
|
+
};
|
|
31
131
|
export default class EntryFind {
|
|
32
132
|
static #scopePathnameOf(statement) {
|
|
33
133
|
const path = statement.target;
|
|
@@ -48,14 +148,14 @@ export default class EntryFind {
|
|
|
48
148
|
}
|
|
49
149
|
return out;
|
|
50
150
|
}
|
|
51
|
-
// Resolve a FIND to its matched workspace
|
|
151
|
+
// Resolve a FIND to its matched workspace resources — entry-level, unique, in result
|
|
52
152
|
// order (rank for ~semantic, candidate order otherwise). Candidate selection (scope +
|
|
53
|
-
//
|
|
153
|
+
// scope) runs in SQL (find_workspace_entry_candidates); a content matcher then runs against
|
|
54
154
|
// each candidate's default-channel CONTENT (Matcher.matchAgainstContent → the mimetypes
|
|
55
155
|
// plugin) and INCLUDES/EXCLUDES the entry - 200 keeps it, 204/203 drop it, and a
|
|
56
|
-
// 4xx matcher failure ends the whole operation. Path-scoping stays in the (target).
|
|
57
|
-
//
|
|
58
|
-
static async #matchPathnames(statement, ctx, manifest,
|
|
156
|
+
// 4xx matcher failure ends the whole operation. Path-scoping stays in the (target). Match
|
|
157
|
+
// locations remain grouped by resource internally until the target-shaped public projection.
|
|
158
|
+
static async #matchPathnames(statement, ctx, manifest, address) {
|
|
59
159
|
if (statement.target === null) {
|
|
60
160
|
return {
|
|
61
161
|
status: 400,
|
|
@@ -70,7 +170,7 @@ export default class EntryFind {
|
|
|
70
170
|
// Scope by the manifest's persisted entries.scheme (storedScheme; absent →
|
|
71
171
|
// name). File persists under the reserved 'file' scheme ({§entry-identity-no-null}).
|
|
72
172
|
const scheme = EntryCrud.identityScheme(manifest);
|
|
73
|
-
const scopePathname = EntryFind.#scopePathnameOf(statement);
|
|
173
|
+
const scopePathname = address.pathname ?? EntryFind.#scopePathnameOf(statement);
|
|
74
174
|
const scope = scopePathname === null
|
|
75
175
|
? null
|
|
76
176
|
: pathScope(scopePathname, manifest.folderScopes === true);
|
|
@@ -79,7 +179,7 @@ export default class EntryFind {
|
|
|
79
179
|
if (scope?.kind === "exact" && scope.pathname.length > 0) {
|
|
80
180
|
const exact = await ctx.db.crud_find_workspace_entry.get({
|
|
81
181
|
workspace_id: ctx.workspaceId,
|
|
82
|
-
owner_id:
|
|
182
|
+
owner_id: address.ownerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId),
|
|
83
183
|
scheme, pathname: scope.pathname,
|
|
84
184
|
});
|
|
85
185
|
if (exact === undefined) {
|
|
@@ -95,17 +195,14 @@ export default class EntryFind {
|
|
|
95
195
|
// path matcher owns the shell-glob truth below: unlike SQLite GLOB, `*`
|
|
96
196
|
// cannot cross `/`, while `**` can. A declared folder scope remains a
|
|
97
197
|
// recursive prefix independent of glob syntax. {§find-scope-prefix-filter}
|
|
98
|
-
const tags = Array.isArray(statement.signal) ? statement.signal : []; // tag filter, AND semantics — {§find-tag-filter-and-semantics}
|
|
99
|
-
const tagsParam = tags.length > 0 ? JSON.stringify(tags) : "[]";
|
|
100
198
|
const { db, workspaceId } = ctx;
|
|
101
199
|
const semantic = statement.body?.dialect === "semantic";
|
|
102
200
|
let candidates = await db[semantic ? "find_workspace_entry_candidate_ids" : "find_workspace_entry_candidates"].all({
|
|
103
201
|
workspace_id: workspaceId,
|
|
104
|
-
owner_id:
|
|
202
|
+
owner_id: address.ownerId ?? await Owner.commonsId(db, workspaceId),
|
|
105
203
|
scheme,
|
|
106
204
|
...(semantic ? {} : { channel: manifest.defaultChannel }),
|
|
107
205
|
scope_prefix: scope?.candidatePrefix ?? null,
|
|
108
|
-
tags: tagsParam,
|
|
109
206
|
});
|
|
110
207
|
const candidatePathnames = statement.body === null && scope?.kind === "glob" && scope.shallowPrefix !== null
|
|
111
208
|
? candidates.map((candidate) => candidate.pathname)
|
|
@@ -179,23 +276,10 @@ export default class EntryFind {
|
|
|
179
276
|
},
|
|
180
277
|
};
|
|
181
278
|
}
|
|
182
|
-
|
|
183
|
-
if (selection.page !== null) {
|
|
184
|
-
const page = LineMarkerOps.page(selected, selection.page);
|
|
185
|
-
if (page.status !== 200) {
|
|
186
|
-
return {
|
|
187
|
-
status: page.status,
|
|
188
|
-
matches: [],
|
|
189
|
-
problem: page.problem,
|
|
190
|
-
range: page.range,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
selected = page.items ?? [];
|
|
194
|
-
}
|
|
195
|
-
matches = await EntryFind.#addTextRegions(selected.map((x) => ({
|
|
279
|
+
matches = await EntryFind.#addTextRegions(ranked.results.map((x) => ({
|
|
196
280
|
key: x.key,
|
|
197
281
|
span: { lineStart: x.lineStart, lineEnd: x.lineEnd },
|
|
198
|
-
})), ctx, manifest,
|
|
282
|
+
})), ctx, manifest, address.ownerId);
|
|
199
283
|
}
|
|
200
284
|
else if (statement.body === null) {
|
|
201
285
|
matches = candidates.map((c) => ({ pathname: c.pathname, matches: [] }));
|
|
@@ -203,7 +287,7 @@ export default class EntryFind {
|
|
|
203
287
|
else if (statement.body.dialect === "graph") {
|
|
204
288
|
// {§relation-indexed-dialects} Body is `@<sym` / `@>sym` / `@sym`. EntryGraph resolves
|
|
205
289
|
// the relation across (workspace, scheme), each as a (file, span); intersect with the
|
|
206
|
-
// in-scope candidates
|
|
290
|
+
// in-scope candidates from the target glob for the final set.
|
|
207
291
|
const scopedCandidates = resolveSearchCandidates(candidates.map(({ pathname, deep_hash }) => ({ key: pathname, deepHash: deep_hash })));
|
|
208
292
|
if (scopedCandidates.state === "incomplete")
|
|
209
293
|
return {
|
|
@@ -250,7 +334,7 @@ export default class EntryFind {
|
|
|
250
334
|
matches = await EntryFind.#addTextRegions(graph.matches.map((m) => ({
|
|
251
335
|
key: m.key,
|
|
252
336
|
span: { lineStart: m.lineStart, lineEnd: m.lineEnd },
|
|
253
|
-
})), ctx, manifest,
|
|
337
|
+
})), ctx, manifest, address.ownerId);
|
|
254
338
|
}
|
|
255
339
|
else {
|
|
256
340
|
const { mimetypes } = ctx;
|
|
@@ -271,40 +355,6 @@ export default class EntryFind {
|
|
|
271
355
|
};
|
|
272
356
|
matches = r.matches.map((match) => ({ pathname: match.key, matches: match.matches }));
|
|
273
357
|
}
|
|
274
|
-
if (statement.lineMarker !== null && statement.body?.dialect !== "semantic" && candidatePathnames === undefined) {
|
|
275
|
-
const page = LineMarkerOps.page(matches, statement.lineMarker);
|
|
276
|
-
if (page.status !== 200) {
|
|
277
|
-
if (statement.body !== null && matches.length === 0) {
|
|
278
|
-
const failure = Results.failure(`scheme:${manifest.name}`, "selection-range-unavailable", 416, `The ${statement.body.dialect} matcher selected 0 resources; <${statement.lineMarker.marks.join(",")}> cannot select from an empty result set.`, {
|
|
279
|
-
matches: [],
|
|
280
|
-
range: page.range,
|
|
281
|
-
}, {
|
|
282
|
-
stage: "selection",
|
|
283
|
-
dialect: statement.body.dialect,
|
|
284
|
-
matchedResources: 0,
|
|
285
|
-
range: page.range,
|
|
286
|
-
recovery: "Correct or remove the matcher before choosing a range.",
|
|
287
|
-
retryable: false,
|
|
288
|
-
});
|
|
289
|
-
if (failure.problem === undefined) {
|
|
290
|
-
throw new Error("FIND selection range failure has no Problem Details");
|
|
291
|
-
}
|
|
292
|
-
return {
|
|
293
|
-
status: failure.status,
|
|
294
|
-
matches: [],
|
|
295
|
-
problem: failure.problem,
|
|
296
|
-
range: page.range,
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
return {
|
|
300
|
-
status: page.status,
|
|
301
|
-
matches: [],
|
|
302
|
-
problem: page.problem,
|
|
303
|
-
range: page.range,
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
matches = page.items ?? [];
|
|
307
|
-
}
|
|
308
358
|
return { status: 200, matches, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
|
|
309
359
|
}
|
|
310
360
|
static async #addTextRegions(matches, ctx, manifest, explicitOwnerId) {
|
|
@@ -329,13 +379,12 @@ export default class EntryFind {
|
|
|
329
379
|
const resolved = Matcher.addTextRegions(matches, candidates);
|
|
330
380
|
return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges }));
|
|
331
381
|
}
|
|
332
|
-
// FIND result = the scheme's
|
|
333
|
-
// match order.
|
|
334
|
-
//
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const
|
|
338
|
-
const empty = { content: null, mimetype: null, results: [], itemsTokenTotal: 0, pathnames: [], matches: [] };
|
|
382
|
+
// FIND result = the scheme's default-first channel groups, filtered to the matched
|
|
383
|
+
// entries and kept in match order. FIND is the filtered, navigable slice of that
|
|
384
|
+
// catalog, rendered as a JSON array (application/json). {§find-result-projection}
|
|
385
|
+
static async findWorkspaceEntries(statement, ctx, manifest, address = {}) {
|
|
386
|
+
const match = await EntryFind.#matchPathnames(statement, ctx, manifest, address);
|
|
387
|
+
const empty = emptyFindFields();
|
|
339
388
|
if (match.status !== 200) {
|
|
340
389
|
if (match.problem !== undefined) {
|
|
341
390
|
return Results.assert({
|
|
@@ -347,39 +396,27 @@ export default class EntryFind {
|
|
|
347
396
|
if (match.error === undefined) {
|
|
348
397
|
throw new Error(`EntryFind selection failed with status ${match.status} without Problem Details or a diagnostic.`);
|
|
349
398
|
}
|
|
350
|
-
return Results.failure(`scheme:${manifest.name}`, match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed", match.status, match.error, empty,
|
|
351
|
-
...(match.range === undefined ? {} : { range: match.range }),
|
|
352
|
-
...match.extensions,
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
// Internal matchers successfully return an empty candidate set. Public
|
|
356
|
-
// FIND owns its operation status: a matcher miss is 204, while a
|
|
357
|
-
// body-less empty catalog remains a successful survey. {§matcher-result-resource-selection}
|
|
358
|
-
if (statement.body !== null && match.matches.length === 0) {
|
|
359
|
-
return { status: 204, ...empty };
|
|
399
|
+
return Results.failure(`scheme:${manifest.name}`, match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed", match.status, match.error, empty, match.extensions);
|
|
360
400
|
}
|
|
361
401
|
const scheme = EntryCrud.identityScheme(manifest);
|
|
362
|
-
// The catalog
|
|
363
|
-
//
|
|
402
|
+
// The catalog group's default channel carries its bare addressable path;
|
|
403
|
+
// align each selected resource through the same EntryManifest.toPath the catalog
|
|
364
404
|
// uses. Resource order is preserved (rank for ~semantic).
|
|
365
405
|
// {§entry-owner} — the alignment draws from the SAME owner the candidates matched, so a
|
|
366
406
|
// match never pairs with a coordinate-twin sibling's catalog metadata.
|
|
367
|
-
const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme,
|
|
368
|
-
|
|
369
|
-
const matches = [];
|
|
370
|
-
let itemsTokenTotal = 0;
|
|
407
|
+
const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId))).map((r) => [r[0].path, r]));
|
|
408
|
+
const resources = [];
|
|
371
409
|
for (const m of match.matches) {
|
|
372
410
|
const row = byPath.get(EntryManifest.toPath(scheme, m.pathname));
|
|
373
411
|
if (row === undefined)
|
|
374
412
|
continue;
|
|
375
|
-
|
|
376
|
-
matches.push(m);
|
|
377
|
-
itemsTokenTotal += Object.values(row.channels).reduce((sum, channel) => sum + channel.tokens, 0);
|
|
413
|
+
resources.push({ item: row, match: m });
|
|
378
414
|
}
|
|
379
415
|
// A terminal single-star catalog is a one-level map. Keep real entries
|
|
380
416
|
// at that level and collapse deeper descendants into exact, actionable
|
|
381
417
|
// `dir/**` scopes. The summaries are navigation metadata, not hidden
|
|
382
|
-
// matches
|
|
418
|
+
// resource matches.
|
|
419
|
+
const scopes = [];
|
|
383
420
|
if (statement.body === null && match.scope !== undefined && match.candidatePathnames !== undefined) {
|
|
384
421
|
for (const folder of pathFolderSummaries(match.scope, match.candidatePathnames)) {
|
|
385
422
|
let tokens = 0;
|
|
@@ -389,77 +426,33 @@ export default class EntryFind {
|
|
|
389
426
|
if (row === undefined)
|
|
390
427
|
continue;
|
|
391
428
|
items++;
|
|
392
|
-
tokens +=
|
|
429
|
+
tokens += row.reduce((sum, channel) => sum + channel.tokens, 0);
|
|
393
430
|
}
|
|
394
431
|
if (items > 0) {
|
|
395
|
-
|
|
396
|
-
itemsTokenTotal += tokens;
|
|
432
|
+
scopes.push({ path: EntryManifest.toPath(scheme, folder.selector), items, tokens });
|
|
397
433
|
}
|
|
398
434
|
}
|
|
399
|
-
results.sort((a, b) => a.path.localeCompare(b.path));
|
|
400
|
-
// `<L>` pages the catalog the model actually sees, folder summaries
|
|
401
|
-
// included. Only retained real-entry rows remain fan-out matches.
|
|
402
|
-
if (statement.lineMarker !== null) {
|
|
403
|
-
const page = LineMarkerOps.page(results, statement.lineMarker);
|
|
404
|
-
if (page.status !== 200) {
|
|
405
|
-
if (page.problem === undefined) {
|
|
406
|
-
throw new Error("FIND pagination failed without Problem Details");
|
|
407
|
-
}
|
|
408
|
-
return Results.assert({
|
|
409
|
-
status: page.status,
|
|
410
|
-
problem: page.problem,
|
|
411
|
-
content: null,
|
|
412
|
-
mimetype: null,
|
|
413
|
-
results: [],
|
|
414
|
-
itemsTokenTotal: 0,
|
|
415
|
-
pathnames: [],
|
|
416
|
-
matches: [],
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
results = page.items ?? [];
|
|
420
|
-
const retained = new Set(results.filter((item) => item.items === undefined).map((item) => item.path));
|
|
421
|
-
for (let i = matches.length - 1; i >= 0; i--) {
|
|
422
|
-
if (!retained.has(EntryManifest.toPath(scheme, matches[i].pathname)))
|
|
423
|
-
matches.splice(i, 1);
|
|
424
|
-
}
|
|
425
|
-
itemsTokenTotal = results.reduce((sum, item) => sum + (item.items === undefined
|
|
426
|
-
? Object.values(item.channels).reduce((channelSum, channel) => channelSum + channel.tokens, 0)
|
|
427
|
-
: item.tokens ?? 0), 0);
|
|
428
|
-
}
|
|
429
435
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
const
|
|
433
|
-
if (
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
status: 200,
|
|
442
|
-
content: steer,
|
|
443
|
-
mimetype: "text/markdown",
|
|
444
|
-
results: [],
|
|
445
|
-
itemsTokenTotal,
|
|
446
|
-
pathnames: [],
|
|
447
|
-
matches: [],
|
|
448
|
-
omittedItems: results.length,
|
|
449
|
-
maximumItems: budget,
|
|
450
|
-
};
|
|
436
|
+
if (match.scope === undefined)
|
|
437
|
+
throw new Error("FIND selection succeeded without a path scope");
|
|
438
|
+
const projected = projectFindResult(statement, match.scope, resources, scopes);
|
|
439
|
+
if (address.pathname === undefined)
|
|
440
|
+
return projected;
|
|
441
|
+
// Exact FIND consumes the same selected canonical producer as exact
|
|
442
|
+
// READ. Query projection remains core-owned, while the durable default-
|
|
443
|
+
// channel outcome survives cold and warm acquisition identically.
|
|
444
|
+
const stored = await EntryCrud.readEntry(address.pathname, ctx, scheme, address.ownerId);
|
|
445
|
+
if (stored.status !== 200 || stored.entry === null) {
|
|
446
|
+
throw new Error(`EntryFind projected exact entry ${address.pathname} but could not read its canonical representation.`);
|
|
451
447
|
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
pathnames: matches.map(({ pathname }) => pathname),
|
|
461
|
-
matches,
|
|
462
|
-
};
|
|
448
|
+
const producerResult = stored.entry.channels[manifest.defaultChannel]?.producerResult;
|
|
449
|
+
return producerResult === undefined
|
|
450
|
+
? projected
|
|
451
|
+
: Results.assert({
|
|
452
|
+
...producerResult,
|
|
453
|
+
...projected,
|
|
454
|
+
status: producerResult.status,
|
|
455
|
+
});
|
|
463
456
|
}
|
|
464
457
|
}
|
|
465
458
|
//# sourceMappingURL=_entry-find.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
-- FIND / multi-entry OPEN / FOLD candidate selection for entry-bearing
|
|
2
2
|
-- schemes (SPEC {§find}; plurnk.md FIND row).
|
|
3
3
|
--
|
|
4
|
-
-- Scope (target)
|
|
4
|
+
-- Scope (target) only. The body matcher does NOT belong here:
|
|
5
5
|
-- per plurnk.md "Pattern Filtering" it runs against entry CONTENT, which
|
|
6
6
|
-- needs the mimetypes plugin (xpath/jsonpath/regex/glob over structured
|
|
7
7
|
-- content) — so the body match runs in JS (Matcher.matchAgainstContent) over
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
-- $scope_prefix: the literal pathname prefix before any glob syntax, or NULL
|
|
14
14
|
-- for no prefix. TypeScript applies the authoritative shell-glob match; this
|
|
15
15
|
-- query supplies only a safe candidate superset.
|
|
16
|
-
-- $tags: JSON string of tag list (e.g., '["a","b"]'); '[]' or NULL for no tag filter
|
|
17
16
|
SELECT e.id AS entry_id, e.pathname, e.deep_hash, ec.content, ec.mimetype
|
|
18
17
|
FROM entries e
|
|
19
18
|
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = $channel
|
|
@@ -21,19 +20,10 @@ WHERE e.workspace_id = $workspace_id
|
|
|
21
20
|
AND e.owner_id = $owner_id
|
|
22
21
|
AND e.scheme = $scheme
|
|
23
22
|
AND ($scope_prefix IS NULL OR substr(e.pathname, 1, length($scope_prefix)) = $scope_prefix)
|
|
24
|
-
AND (
|
|
25
|
-
json_array_length(COALESCE($tags, '[]')) = 0
|
|
26
|
-
OR e.id IN (
|
|
27
|
-
SELECT entry_id FROM entry_tags
|
|
28
|
-
WHERE tag IN (SELECT value FROM json_each(COALESCE($tags, '[]')))
|
|
29
|
-
GROUP BY entry_id
|
|
30
|
-
HAVING COUNT(DISTINCT tag) = json_array_length(COALESCE($tags, '[]'))
|
|
31
|
-
)
|
|
32
|
-
)
|
|
33
23
|
ORDER BY e.pathname;
|
|
34
24
|
|
|
35
25
|
-- PREP: find_workspace_entry_candidate_ids
|
|
36
|
-
-- Relation matchers need the same target
|
|
26
|
+
-- Relation matchers need the same target candidate set without loading every
|
|
37
27
|
-- candidate body across the SQL boundary. The ranker joins these identities to
|
|
38
28
|
-- derivations and performs exhaustive ranking within the selected set.
|
|
39
29
|
SELECT e.id AS entry_id, e.pathname, e.deep_hash
|
|
@@ -42,15 +32,6 @@ WHERE e.workspace_id = $workspace_id
|
|
|
42
32
|
AND e.owner_id = $owner_id
|
|
43
33
|
AND e.scheme = $scheme
|
|
44
34
|
AND ($scope_prefix IS NULL OR substr(e.pathname, 1, length($scope_prefix)) = $scope_prefix)
|
|
45
|
-
AND (
|
|
46
|
-
json_array_length(COALESCE($tags, '[]')) = 0
|
|
47
|
-
OR e.id IN (
|
|
48
|
-
SELECT entry_id FROM entry_tags
|
|
49
|
-
WHERE tag IN (SELECT value FROM json_each(COALESCE($tags, '[]')))
|
|
50
|
-
GROUP BY entry_id
|
|
51
|
-
HAVING COUNT(DISTINCT tag) = json_array_length(COALESCE($tags, '[]'))
|
|
52
|
-
)
|
|
53
|
-
)
|
|
54
35
|
ORDER BY e.pathname;
|
|
55
36
|
|
|
56
37
|
-- PREP: find_workspace_derivation_candidates
|
|
@@ -44,7 +44,7 @@ RETURNING id, state;
|
|
|
44
44
|
|
|
45
45
|
-- PREP: derivation_complete
|
|
46
46
|
UPDATE derivations
|
|
47
|
-
SET state = 'complete', disposition = $disposition, reason = $reason
|
|
47
|
+
SET state = 'complete', disposition = $disposition, reason = $reason, parse_issues = $parse_issues
|
|
48
48
|
WHERE id = $derivation_id;
|
|
49
49
|
|
|
50
50
|
-- PREP: graph_referrers_candidates
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
import type { PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
status: number;
|
|
8
|
-
};
|
|
9
|
-
export type CatalogEntry = {
|
|
10
|
-
path: string;
|
|
11
|
-
stream?: StreamLifecycle;
|
|
12
|
-
tags?: string[];
|
|
13
|
-
channels: Record<string, {
|
|
14
|
-
mimetype: string;
|
|
15
|
-
tokens: number;
|
|
16
|
-
lines: number;
|
|
17
|
-
}>;
|
|
18
|
-
};
|
|
2
|
+
import type { EntryCatalogChannel, EntryCatalogDefaultChannel, EntryStreamLifecycle } from "@plurnk/plurnk-schemes";
|
|
3
|
+
export type StreamLifecycle = EntryStreamLifecycle;
|
|
4
|
+
export type CatalogChannel = EntryCatalogChannel;
|
|
5
|
+
export type CatalogDefaultChannel = EntryCatalogDefaultChannel;
|
|
6
|
+
export type CatalogEntry = [CatalogDefaultChannel, ...CatalogChannel[]];
|
|
19
7
|
export default class EntryManifest {
|
|
20
8
|
static toPath(scheme: string, pathname: string): string;
|
|
21
9
|
static catalogRowsFor(ctx: PlurnkSchemeContext, schemeFilter?: string, ownerId?: number): Promise<CatalogEntry[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACvB,MAAM,wBAAwB,CAAC;AAmBhC,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AACjD,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;AASxE,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;IAED,OAAa,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmEtH;CACJ"}
|