@plurnk/plurnk-schemes 3.2.2 → 3.3.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/README.md +5 -5
- package/SPEC.md +118 -681
- package/dist/ByteSource.d.ts +13 -0
- package/dist/ByteSource.d.ts.map +1 -1
- package/dist/ByteSource.js +62 -1
- package/dist/ByteSource.js.map +1 -1
- package/dist/Manifest.d.ts.map +1 -1
- package/dist/Manifest.js +12 -6
- package/dist/Manifest.js.map +1 -1
- package/dist/Matcher.d.ts.map +1 -1
- package/dist/Matcher.js +2 -3
- package/dist/Matcher.js.map +1 -1
- package/dist/MessageScheme.d.ts +6 -8
- package/dist/MessageScheme.d.ts.map +1 -1
- package/dist/MessageScheme.js +2 -2
- package/dist/MessageScheme.js.map +1 -1
- package/dist/MetadataOptions.d.ts +1 -2
- package/dist/MetadataOptions.d.ts.map +1 -1
- package/dist/MetadataOptions.js +5 -6
- package/dist/MetadataOptions.js.map +1 -1
- package/dist/MimetypeClassifier.d.ts +5 -0
- package/dist/MimetypeClassifier.d.ts.map +1 -1
- package/dist/MimetypeClassifier.js +33 -5
- package/dist/MimetypeClassifier.js.map +1 -1
- package/dist/OutputScheme.js +2 -2
- package/dist/OutputScheme.js.map +1 -1
- package/dist/PacketSections.d.ts +10 -1
- package/dist/PacketSections.d.ts.map +1 -1
- package/dist/PacketSections.js +12 -3
- package/dist/PacketSections.js.map +1 -1
- package/dist/ResourceNames.js +1 -1
- package/dist/ResourceNames.js.map +1 -1
- package/dist/Results.d.ts +3 -3
- package/dist/Results.d.ts.map +1 -1
- package/dist/Results.js +4 -8
- package/dist/Results.js.map +1 -1
- package/dist/SchemeDiscovery.d.ts.map +1 -1
- package/dist/SchemeDiscovery.js +11 -49
- package/dist/SchemeDiscovery.js.map +1 -1
- package/dist/Slicer.d.ts.map +1 -1
- package/dist/Slicer.js +22 -16
- package/dist/Slicer.js.map +1 -1
- package/dist/Summarize.js +2 -2
- package/dist/Summarize.js.map +1 -1
- package/dist/ctx.d.ts +3 -5
- package/dist/ctx.d.ts.map +1 -1
- package/dist/edit-receipt.d.ts +4 -0
- package/dist/edit-receipt.d.ts.map +1 -1
- package/dist/handler.d.ts +27 -4
- package/dist/handler.d.ts.map +1 -1
- package/dist/index.d.ts +7 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -11
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/FileByteSource.d.ts +0 -9
- package/dist/FileByteSource.d.ts.map +0 -1
- package/dist/FileByteSource.js +0 -42
- package/dist/FileByteSource.js.map +0 -1
- package/dist/GeneratedByteSource.d.ts +0 -8
- package/dist/GeneratedByteSource.d.ts.map +0 -1
- package/dist/GeneratedByteSource.js +0 -21
- package/dist/GeneratedByteSource.js.map +0 -1
- package/dist/PathMimetype.d.ts +0 -6
- package/dist/PathMimetype.d.ts.map +0 -1
- package/dist/PathMimetype.js +0 -30
- package/dist/PathMimetype.js.map +0 -1
- package/dist/edit-statement.d.ts +0 -5
- package/dist/edit-statement.d.ts.map +0 -1
- package/dist/edit-statement.js +0 -2
- package/dist/edit-statement.js.map +0 -1
- package/dist/module-slice.d.ts +0 -22
- package/dist/module-slice.d.ts.map +0 -1
- package/dist/module-slice.js +0 -2
- package/dist/module-slice.js.map +0 -1
- package/dist/packet.d.ts +0 -10
- package/dist/packet.d.ts.map +0 -1
- package/dist/packet.js +0 -4
- package/dist/packet.js.map +0 -1
- package/dist/resource-tree.d.ts +0 -15
- package/dist/resource-tree.d.ts.map +0 -1
- package/dist/resource-tree.js +0 -2
- package/dist/resource-tree.js.map +0 -1
package/dist/Results.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../src/Results.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../src/Results.ts"],"names":[],"mappings":"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"}
|
package/dist/Results.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InvalidOperationResultError, Problems, Validator
|
|
1
|
+
import { isRecord, InvalidOperationResultError, Problems, Validator } from "@plurnk/plurnk-contracts";
|
|
2
2
|
export { InvalidOperationResultError };
|
|
3
3
|
export default class Results {
|
|
4
4
|
static isEntry(result) {
|
|
@@ -27,11 +27,8 @@ export default class Results {
|
|
|
27
27
|
Validator.assertProblemDetails(problem);
|
|
28
28
|
}
|
|
29
29
|
static assertMatchEvidence(evidence) {
|
|
30
|
-
if (evidence
|
|
31
|
-
|| typeof evidence !== "object"
|
|
32
|
-
|| Array.isArray(evidence)) {
|
|
30
|
+
if (!isRecord(evidence))
|
|
33
31
|
throw new TypeError("invalid match evidence: expected an object");
|
|
34
|
-
}
|
|
35
32
|
const record = evidence;
|
|
36
33
|
const extras = Object.keys(record).filter((key) => key !== "locator" && key !== "region" && key !== "enclosingRegion" && key !== "matched");
|
|
37
34
|
if (extras.length > 0) {
|
|
@@ -109,9 +106,8 @@ export default class Results {
|
|
|
109
106
|
throw new TypeError("invalid scope normalizations: expected a non-empty array");
|
|
110
107
|
}
|
|
111
108
|
for (const item of value) {
|
|
112
|
-
if (
|
|
109
|
+
if (!isRecord(item))
|
|
113
110
|
throw new TypeError("invalid scope normalization: expected an object");
|
|
114
|
-
}
|
|
115
111
|
const record = item;
|
|
116
112
|
const extras = Object.keys(record).filter((key) => key !== "requested" && key !== "canonical");
|
|
117
113
|
if (extras.length > 0) {
|
|
@@ -151,7 +147,7 @@ export default class Results {
|
|
|
151
147
|
if (exact.scopeNormalizations !== undefined) {
|
|
152
148
|
Results.assertScopeNormalizations(exact.scopeNormalizations);
|
|
153
149
|
}
|
|
154
|
-
return
|
|
150
|
+
return result;
|
|
155
151
|
}
|
|
156
152
|
static attachInstance(result, instance) {
|
|
157
153
|
if (result.problem === undefined)
|
package/dist/Results.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Results.js","sourceRoot":"","sources":["../src/Results.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,2BAA2B,EAC3B,QAAQ,EACR,SAAS,
|
|
1
|
+
{"version":3,"file":"Results.js","sourceRoot":"","sources":["../src/Results.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,2BAA2B,EAC3B,QAAQ,EACR,SAAS,EAEZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAsFvC,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,OAAO,CAAC,MAAoB;QAC/B,OAAO,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QAClC,OAAO,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAoB;QACrC,OAAO,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CACV,KAAa,EACb,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAU,GAAsC,EAAE;QAElD,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAYD,MAAM,CAAC,OAAO,CACV,KAAa,EACb,IAAY,EACZ,MAAc,EACd,MAAc,EACd,MAAM,GAAsC,EAAE,EAC9C,UAAU,GAAsC,EAAE;QAElD,OAAO,OAAO,CAAC,MAAM,CAAC;YAClB,GAAG,MAAM;YACT,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;SACpE,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAgB;QACjC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAiB;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;QAC5I,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,SAAS;YAAE,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,kBAAkB;YAAE,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,QAAiB;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ;YAAE,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,QAAwC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAyB,MAAS;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,+BAA+B,CAA4C,MAAS;QACvF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,2BAA2B,CACjC,uDAAuD,CAC1D,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACpE,MAAM,IAAI,2BAA2B,CACjC,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,2BAA2B,CACjC,oEAAoE,CACvE,CAAC;QACN,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3K,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,CACjC,uEAAuE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACjG,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAkC,MAAS;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,2BAA2B,CACjC,yDAAyD,KAAK,CAAC,MAAM,EAAE,CAC1E,CAAC;QACN,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3K,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,CACjC,oEAAoE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,KAAc;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,WAAW,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,SAAS,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,SAAS,CAAC,+EAA+E,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;uBACtD,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;uBACzC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;uBACnD,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,SAAS,CAAC,+FAA+F,CAAC,CAAC;gBACzH,CAAC;gBACD,SAAS;YACb,CAAC;YACD,IACI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;mBACtB,SAAS,CAAC,MAAM,KAAK,CAAC;mBACtB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3C,CAAC;gBACC,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;YACnG,CAAC;YACD,IACI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;mBACtB,SAAS,CAAC,MAAM,KAAK,CAAC;mBACtB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3C,CAAC;gBACC,MAAM,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,SAAS,CAAC,uFAAuF,CAAC,CAAC;YACjH,CAAC;QACL,CAAC;QACD,OAAO,KAA0C,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CAAyB,MAAS;QAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,cAAc,CAAyB,MAAS,EAAE,QAAgB;QACrE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeDiscovery.d.ts","sourceRoot":"","sources":["../src/SchemeDiscovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC;AAyBrF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAM7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC;AAOD,MAAM,CAAC,OAAO,OAAO,eAAe;;IAChC,OAAa,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"SchemeDiscovery.d.ts","sourceRoot":"","sources":["../src/SchemeDiscovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC;AAyBrF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAM7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC;AAOD,MAAM,CAAC,OAAO,OAAO,eAAe;;IAChC,OAAa,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BnF;CA0BJ"}
|
package/dist/SchemeDiscovery.js
CHANGED
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import Meta from "@plurnk/plurnk-meta";
|
|
3
3
|
export default class SchemeDiscovery {
|
|
4
4
|
static async discover(options = {}) {
|
|
5
|
-
const {
|
|
6
|
-
const dirs = options.packageDirs ?? await SchemeDiscovery.#defaultPackageDirs(options.cwd ?? process.cwd(), signal);
|
|
5
|
+
const { admitted, skipped } = await Meta.scanKind("scheme", options);
|
|
7
6
|
const byName = new Map();
|
|
8
7
|
const packageAttributions = new Map();
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const manifest = await SchemeDiscovery.#readSchemeManifest(dir, signal);
|
|
13
|
-
if (manifest === null)
|
|
14
|
-
continue;
|
|
15
|
-
// Host extension-trust gate: an untrusted third-party package is
|
|
16
|
-
// discovered but not surfaced for registration — recorded, never
|
|
17
|
-
// crashed on. Validation of declaration fields and attribution follows
|
|
18
|
-
// this package-level gate ({§extension-trust-boundary}).
|
|
19
|
-
if (!Meta.isTrusted(manifest.packageName)) {
|
|
20
|
-
skipped.add(manifest.packageName);
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
const tags = Meta.normalizeAttribution(manifest.plurnk.attribution, manifest.packageName);
|
|
24
|
-
const infos = SchemeDiscovery.#readSchemeInfos(manifest);
|
|
25
|
-
let admitted = false;
|
|
8
|
+
for (const pkg of admitted) {
|
|
9
|
+
const infos = SchemeDiscovery.#readSchemeInfos(pkg);
|
|
10
|
+
let pkgAdmitted = false;
|
|
26
11
|
for (const info of infos) {
|
|
27
12
|
const existing = byName.get(info.name);
|
|
28
13
|
// Two packages (or two entries) claiming one scheme prefix is an
|
|
@@ -34,36 +19,13 @@ export default class SchemeDiscovery {
|
|
|
34
19
|
+ `${existing.packageName} and ${info.packageName}`);
|
|
35
20
|
}
|
|
36
21
|
byName.set(info.name, info);
|
|
37
|
-
|
|
22
|
+
pkgAdmitted = true;
|
|
23
|
+
}
|
|
24
|
+
if (pkgAdmitted && pkg.attribution.length > 0) {
|
|
25
|
+
packageAttributions.set(pkg.packageName, pkg.attribution);
|
|
38
26
|
}
|
|
39
|
-
if (admitted && tags.length > 0)
|
|
40
|
-
packageAttributions.set(manifest.packageName, tags);
|
|
41
27
|
}
|
|
42
|
-
return { schemes: [...byName.values()], packageAttributions, skipped
|
|
43
|
-
}
|
|
44
|
-
// Host extension-trust gate, read from PLURNK_EXTENSIONS_TRUSTED_ONLY — the SAME
|
|
45
|
-
// env var the host decides once and every scope-agnostic discovery
|
|
46
|
-
// surface enforces through the shared Meta contract ({§extension-trust-boundary}):
|
|
47
|
-
// unset / "" / "0" → OFF: every installed package trusted (no regression).
|
|
48
|
-
// any value → ON: `@plurnk/*` always trusted, plus a comma-separated
|
|
49
|
-
// allowlist of additionally-trusted package names.
|
|
50
|
-
// Enumerate every installed package directory — scoped (`@scope/name`) and
|
|
51
|
-
// unscoped (`name`) — under `<cwd>/node_modules`. Unreadable dirs are the
|
|
52
|
-
// legitimate scan boundary (not-a-package, missing manifest), skipped — not
|
|
53
|
-
// a masked contract violation (cf. the matcher's sanctioned node_modules tolerance).
|
|
54
|
-
static async #defaultPackageDirs(cwd, signal) {
|
|
55
|
-
signal?.throwIfAborted();
|
|
56
|
-
const nm = Meta.nearestNodeModules(cwd) ?? path.join(path.resolve(cwd), "node_modules");
|
|
57
|
-
return (await Meta.packageDirs(nm)).map((c) => c.dir).toSorted();
|
|
58
|
-
}
|
|
59
|
-
// The inert manifest for a package declaring plurnk.kind:"scheme" ({§extension-manifest-read});
|
|
60
|
-
// null for anything else, including an unnamed package. Declaration field validation happens
|
|
61
|
-
// only after the package trust gate. An abort surfaces (locality of error).
|
|
62
|
-
static async #readSchemeManifest(dir, signal) {
|
|
63
|
-
const manifest = await Meta.readManifest(dir, "scheme", { signal });
|
|
64
|
-
if (manifest === null || manifest.packageName === null)
|
|
65
|
-
return null;
|
|
66
|
-
return { packageName: manifest.packageName, plurnk: manifest.plurnk };
|
|
28
|
+
return { schemes: [...byName.values()], packageAttributions, skipped };
|
|
67
29
|
}
|
|
68
30
|
// The SchemeInfo(s) for an admitted package. A package
|
|
69
31
|
// declares EITHER `plurnk.schemes: [{ name, export }, …]` (canonical, one
|
|
@@ -77,7 +39,7 @@ export default class SchemeDiscovery {
|
|
|
77
39
|
throw new Error(`${packageName}: plurnk.schemes must be a non-empty array of { name, export }`);
|
|
78
40
|
}
|
|
79
41
|
return declared.map((entry) => {
|
|
80
|
-
if (
|
|
42
|
+
if (!isRecord(entry))
|
|
81
43
|
throw new Error(`${packageName}: each plurnk.schemes entry must be an object`);
|
|
82
44
|
const e = entry;
|
|
83
45
|
if (typeof e.name !== "string" || e.name === "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeDiscovery.js","sourceRoot":"","sources":["../src/SchemeDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SchemeDiscovery.js","sourceRoot":"","sources":["../src/SchemeDiscovery.ts"],"names":[],"mappings":"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"}
|
package/dist/Slicer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slicer.d.ts","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAOD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;CAC/C;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5C,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AACD,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,YAAY;IAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE;AAGxF,KAAK,SAAS,GACR;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,GAC9G;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjN;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACnL;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACrG,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAG9B,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAClC;AACD,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;;IAEvB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAKnE;IA4ED,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAGlD;IAID,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAc9E;
|
|
1
|
+
{"version":3,"file":"Slicer.d.ts","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"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"}
|
package/dist/Slicer.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
20
20
|
import Results, {} from "./Results.js";
|
|
21
21
|
export default class Slicer {
|
|
22
|
-
// {§
|
|
22
|
+
// {§slicer-text-algebra} Projection tolerance is separate from the strict mutation algebra.
|
|
23
23
|
static readScope(marker) {
|
|
24
24
|
const [first, last] = marker.marks;
|
|
25
25
|
return marker.marks.length === 2 && first === 0 && Number.isSafeInteger(last) && (last === -1 || last > 0)
|
|
@@ -68,7 +68,7 @@ export default class Slicer {
|
|
|
68
68
|
return range.total === 0
|
|
69
69
|
|| (range.returned?.[0] === 1 && range.returned[1] === range.total);
|
|
70
70
|
}
|
|
71
|
-
// {§slicer-
|
|
71
|
+
// {§slicer-text-algebra} — the positional contract of `lines()` over any 1-based unit whose content
|
|
72
72
|
// is not text in memory (a resource's bytes): the same normalization, extents, sentinels, and
|
|
73
73
|
// 416s, resolved against a total alone. A null start is a sentinel selection of nothing.
|
|
74
74
|
static window(marker, total, unit) {
|
|
@@ -89,7 +89,7 @@ export default class Slicer {
|
|
|
89
89
|
return { error: "An exact text region requires four integer coordinates." };
|
|
90
90
|
}
|
|
91
91
|
const resolved = Slicer.#exactRegion(content, marker, body);
|
|
92
|
-
// {§
|
|
92
|
+
// {§op-shapes} — lines and columns count from 1; a refused region holding a zero
|
|
93
93
|
// says so as read and is never rebuilt into another region ({§diagnostic-observation}).
|
|
94
94
|
if (!("error" in resolved) || !marker.marks.includes(0))
|
|
95
95
|
return resolved;
|
|
@@ -97,9 +97,11 @@ export default class Slicer {
|
|
|
97
97
|
}
|
|
98
98
|
static #exactRegion(content, marker, body) {
|
|
99
99
|
const lines = TextCoordinates.lines(content);
|
|
100
|
-
// {§
|
|
100
|
+
// {§op-shapes} — `-1` is the final addressable endpoint in every form: as a region line it
|
|
101
101
|
// is the end of the content, so `<1,1,-1,1>` is the whole text and `<-1,1,-1,1>` appends; as a column
|
|
102
102
|
// it is the end of its line, so `<3,1,3,-1>` is line 3 to its end and `<3,-1,3,-1>` appends to it.
|
|
103
|
+
if (!Slicer.#fourMarks(marker.marks))
|
|
104
|
+
return { error: "A region names four marks: start line, start column, end line, end column." };
|
|
103
105
|
const [startLine, startColumn, endLine, rawEndColumn] = Slicer.#finalEndpoint(content, lines, marker.marks);
|
|
104
106
|
if (startLine < 1 || startLine > lines.length) {
|
|
105
107
|
return { error: `Start line ${startLine} is outside the available line range 1..${lines.length}.` };
|
|
@@ -113,7 +115,7 @@ export default class Slicer {
|
|
|
113
115
|
const pastEof = endLine > lines.length;
|
|
114
116
|
const resolvedEndLine = pastEof ? lines.length : endLine;
|
|
115
117
|
const endLineData = lines[resolvedEndLine - 1];
|
|
116
|
-
const maxEndColumn =
|
|
118
|
+
const maxEndColumn = Array.from(content.slice(endLineData.start, endLineData.contentEnd)).length + 1;
|
|
117
119
|
const endColumn = pastEof ? maxEndColumn : Math.min(rawEndColumn, maxEndColumn);
|
|
118
120
|
let start;
|
|
119
121
|
let end;
|
|
@@ -132,11 +134,15 @@ export default class Slicer {
|
|
|
132
134
|
}
|
|
133
135
|
return { start, end, body, startLine, endLine: resolvedEndLine };
|
|
134
136
|
}
|
|
137
|
+
// The four marks a region names, as the marker's tuple type cannot say.
|
|
138
|
+
static #fourMarks(marks) {
|
|
139
|
+
return marks.length === 4;
|
|
140
|
+
}
|
|
135
141
|
static #finalEndpoint(content, lines, marks) {
|
|
136
142
|
const [startLine, startColumn, endLine, endColumn] = marks;
|
|
137
143
|
const endOf = (line) => {
|
|
138
144
|
const data = lines[Math.min(Math.max(line, 1), lines.length) - 1];
|
|
139
|
-
return
|
|
145
|
+
return Array.from(content.slice(data.start, data.contentEnd)).length + 1;
|
|
140
146
|
};
|
|
141
147
|
const resolvedStart = startLine === -1 ? lines.length : startLine;
|
|
142
148
|
const resolvedEnd = endLine === -1 ? lines.length : endLine;
|
|
@@ -162,7 +168,7 @@ export default class Slicer {
|
|
|
162
168
|
}
|
|
163
169
|
static #lineTextReplacement(content, marker, body) {
|
|
164
170
|
const lines = TextCoordinates.logicalLines(content);
|
|
165
|
-
// {§
|
|
171
|
+
// {§op-shapes}: position 1 is writable without inventing a readable line.
|
|
166
172
|
if (lines.length === 0 && marker.marks.length === 1 && marker.marks[0] === 1) {
|
|
167
173
|
return { start: 0, end: 0, body, startLine: 1, endLine: 1 };
|
|
168
174
|
}
|
|
@@ -245,7 +251,7 @@ export default class Slicer {
|
|
|
245
251
|
if (last === undefined) {
|
|
246
252
|
return { error: `End line ${endLine} cannot select from empty content.` };
|
|
247
253
|
}
|
|
248
|
-
const endColumn =
|
|
254
|
+
const endColumn = Array.from(content.slice(last.start, last.contentEnd)).length + 1;
|
|
249
255
|
const requested = [startLine, startColumn, requestedEndLine];
|
|
250
256
|
const canonical = [startLine, startColumn, resolvedEndLine, endColumn];
|
|
251
257
|
return {
|
|
@@ -253,7 +259,7 @@ export default class Slicer {
|
|
|
253
259
|
normalization: { requested, canonical },
|
|
254
260
|
};
|
|
255
261
|
}
|
|
256
|
-
// {§
|
|
262
|
+
// {§slicer-text-algebra} A two-coordinate range never starts at 0. The refusal says so in the
|
|
257
263
|
// range's unit; a line range's recovery shows the working line forms, never a range rebuilt
|
|
258
264
|
// from the refused one ({§diagnostic-observation}).
|
|
259
265
|
static #zeroStart(last, unit) {
|
|
@@ -296,7 +302,7 @@ export default class Slicer {
|
|
|
296
302
|
if (first === 0)
|
|
297
303
|
return Slicer.#zeroStart(last, unit);
|
|
298
304
|
// Whole-content `<1,-1>` is valid even on empty content — it selects the entire,
|
|
299
|
-
// possibly-empty range ({§
|
|
305
|
+
// possibly-empty range ({§op-shapes}). start>end here yields an empty
|
|
300
306
|
// slice for READ and a full replacement for EDIT.
|
|
301
307
|
if (totalLines === 0) {
|
|
302
308
|
if (first === 1 && (last === -1 || last > 0)) {
|
|
@@ -308,7 +314,7 @@ export default class Slicer {
|
|
|
308
314
|
let m = last;
|
|
309
315
|
if (m === -1 || m > totalLines)
|
|
310
316
|
m = totalLines;
|
|
311
|
-
// {§
|
|
317
|
+
// {§op-shapes} — -1 is the only position counted from the end; a `<-N,-1>` start is
|
|
312
318
|
// refused with the line extent, never rebuilt into a tail ({§diagnostic-observation}).
|
|
313
319
|
if (n < -1 && last === -1) {
|
|
314
320
|
return {
|
|
@@ -408,16 +414,16 @@ export default class Slicer {
|
|
|
408
414
|
// in RFC 9457 Problem Details instead of emitting a bare 416.
|
|
409
415
|
static page(items, marker, options = {}) {
|
|
410
416
|
const total = items.length;
|
|
411
|
-
|
|
417
|
+
// {§text-region} An extent holds one or two positions; a request of any other arity is named as written.
|
|
412
418
|
if (marker.marks.length !== 1 && marker.marks.length !== 2) {
|
|
413
|
-
return Slicer.#failure("range-not-satisfiable", 416, `Result pagination requires one position or an inclusive two-position range; received ${marker.marks.length} positions.`, {
|
|
414
|
-
range: extent,
|
|
419
|
+
return Slicer.#failure("range-not-satisfiable", 416, `Result pagination requires one position or an inclusive two-position range; received ${marker.marks.length} positions.`, {}, {
|
|
415
420
|
requestedPositions: marker.marks,
|
|
416
421
|
stage: "projection",
|
|
417
422
|
recovery: "Use <N> or <N,M> to select results.",
|
|
418
423
|
retryable: false,
|
|
419
424
|
});
|
|
420
425
|
}
|
|
426
|
+
const extent = Slicer.#extent(marker, total, options.unit ?? "result");
|
|
421
427
|
const [first, last] = extent.requested;
|
|
422
428
|
if (!Number.isInteger(first) || !Number.isInteger(last)) {
|
|
423
429
|
return Slicer.#rangeFailure(`Result ranges require integer positions; the result set contains ${total} item(s).`, extent);
|
|
@@ -518,7 +524,7 @@ export default class Slicer {
|
|
|
518
524
|
retryable: false,
|
|
519
525
|
});
|
|
520
526
|
}
|
|
521
|
-
// {§
|
|
527
|
+
// {§op-methods-op-dispatch} — evidence-gated resolutions before the conflict check, each
|
|
522
528
|
// reported on its row: an identical twin is applied once; two insertions at one point
|
|
523
529
|
// land in authored order; a one-line shared endpoint goes to the body that reproduces
|
|
524
530
|
// that line (the other region shrinks by one). Everything else stays a refusal.
|
|
@@ -607,7 +613,7 @@ export default class Slicer {
|
|
|
607
613
|
}
|
|
608
614
|
}
|
|
609
615
|
const live = indexed.filter(({ index }) => !dropped.has(index));
|
|
610
|
-
// {§
|
|
616
|
+
// {§op-methods-op-dispatch} — the whole conflict graph in one receipt: every conflicting
|
|
611
617
|
// pair with its relation, and the regions that were clean, so the model knows exactly
|
|
612
618
|
// what to change and that nothing was applied (#428).
|
|
613
619
|
const conflicts = [];
|
package/dist/Slicer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slicer.js","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slicer.js","sourceRoot":"","sources":["../src/Slicer.ts"],"names":[],"mappings":"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"}
|
package/dist/Summarize.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// {§
|
|
1
|
+
// {§network-address} The execution-receipt orient-index is purely STRUCTURAL —
|
|
2
2
|
// counts / shape / keys / headings, never any
|
|
3
3
|
// content. It carries just enough for the model to slice deliberately
|
|
4
4
|
// (`READ <tag>://x<L>`) without a READ-to-orient; the body itself stays behind
|
|
@@ -52,7 +52,7 @@ export default class Summarize {
|
|
|
52
52
|
return typeof item;
|
|
53
53
|
}
|
|
54
54
|
static #textIndex(content) {
|
|
55
|
-
const lines = TextCoordinates.lineCount(content); // {§
|
|
55
|
+
const lines = TextCoordinates.lineCount(content); // {§mimetype-error-policy}
|
|
56
56
|
// Markdown-style headings (`#`..`######`) — the structural anchors the
|
|
57
57
|
// model slices toward in prose output.
|
|
58
58
|
const headings = [];
|
package/dist/Summarize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Summarize.js","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Summarize.js","sourceRoot":"","sources":["../src/Summarize.ts"],"names":[],"mappings":"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"}
|
package/dist/ctx.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { WriterTier } from "./types.ts";
|
|
2
|
-
import type { ClientInteractionRequest, ClientInteractionResolution, FindStatement, RangeExtent, SendStatement, MessageResource, MessageResourceReceipt } from "@plurnk/plurnk-contracts";
|
|
3
|
-
import type { TextRegion } from "@plurnk/plurnk-contracts";
|
|
4
|
-
import type { ResolvedEditStatement } from "./edit-statement.ts";
|
|
2
|
+
import type { ClientInteractionRequest, ClientInteractionResolution, FindStatement, RangeExtent, SendStatement, MessageResource, MessageResourceReceipt, TextRegion } from "@plurnk/plurnk-contracts";
|
|
5
3
|
import type { ChannelProducerResult, MatchEvidence, SchemeResult } from "./Results.ts";
|
|
6
|
-
import type { EditBatchReceipt, EditBatchResult } from "./edit-receipt.ts";
|
|
4
|
+
import type { EditBatchReceipt, EditBatchResult, ResolvedEditStatement } from "./edit-receipt.ts";
|
|
7
5
|
export type TerminalChannelState = "closed" | "errored";
|
|
8
6
|
export type ChannelState = "static" | "active" | TerminalChannelState;
|
|
9
7
|
export interface EntryData {
|
|
@@ -141,7 +139,7 @@ export interface SubscriptionHandle {
|
|
|
141
139
|
}
|
|
142
140
|
export interface SchemeAddressCtx {
|
|
143
141
|
readonly workspaceId: number;
|
|
144
|
-
readonly
|
|
142
|
+
readonly sessionId: number;
|
|
145
143
|
readonly loopId: number;
|
|
146
144
|
readonly turnId: number;
|
|
147
145
|
readonly writer: WriterTier;
|