@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/ByteSource.d.ts
CHANGED
|
@@ -3,4 +3,17 @@ export interface ByteSource {
|
|
|
3
3
|
read(start: number, end: number): Promise<Uint8Array>;
|
|
4
4
|
nativePath?(): Promise<string | null>;
|
|
5
5
|
}
|
|
6
|
+
export declare class FileByteSource implements ByteSource {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(locate: () => Promise<string | null>);
|
|
9
|
+
nativePath(): Promise<string | null>;
|
|
10
|
+
size(): Promise<number | null>;
|
|
11
|
+
read(start: number, end: number): Promise<Uint8Array>;
|
|
12
|
+
}
|
|
13
|
+
export declare class GeneratedByteSource implements ByteSource {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(generate: () => Promise<Uint8Array | null>);
|
|
16
|
+
size(): Promise<number | null>;
|
|
17
|
+
read(start: number, end: number): Promise<Uint8Array>;
|
|
18
|
+
}
|
|
6
19
|
//# sourceMappingURL=ByteSource.d.ts.map
|
package/dist/ByteSource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByteSource.d.ts","sourceRoot":"","sources":["../src/ByteSource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ByteSource.d.ts","sourceRoot":"","sources":["../src/ByteSource.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzC;AAGD,qBAAa,cAAe,YAAW,UAAU;;IAG7C,YAAY,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAE/C;IAEK,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUzC;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGnC;IAEK,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAW1D;CACJ;AAGD,qBAAa,mBAAoB,YAAW,UAAU;;IAIlD,YAAY,QAAQ,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAErD;IAMK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEnC;IAEK,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAI1D;CACJ"}
|
package/dist/ByteSource.js
CHANGED
|
@@ -1,2 +1,63 @@
|
|
|
1
|
-
|
|
1
|
+
import { errnoCode } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import { open, stat } from "node:fs/promises";
|
|
3
|
+
// {§scheme-operation-dispatch} Location and original bytes share their resource owner.
|
|
4
|
+
export class FileByteSource {
|
|
5
|
+
#locate;
|
|
6
|
+
constructor(locate) {
|
|
7
|
+
this.#locate = locate;
|
|
8
|
+
}
|
|
9
|
+
async nativePath() {
|
|
10
|
+
try {
|
|
11
|
+
const file = await this.#locate();
|
|
12
|
+
if (file === null)
|
|
13
|
+
return null;
|
|
14
|
+
if (!(await stat(file)).isFile())
|
|
15
|
+
throw new TypeError("The byte source is not a regular file.");
|
|
16
|
+
return file;
|
|
17
|
+
}
|
|
18
|
+
catch (cause) {
|
|
19
|
+
if (errnoCode(cause) === "ENOENT")
|
|
20
|
+
return null;
|
|
21
|
+
throw cause;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async size() {
|
|
25
|
+
const file = await this.nativePath();
|
|
26
|
+
return file === null ? null : (await stat(file)).size;
|
|
27
|
+
}
|
|
28
|
+
async read(start, end) {
|
|
29
|
+
const file = await this.nativePath();
|
|
30
|
+
if (file === null)
|
|
31
|
+
throw new Error("The byte source no longer exists.");
|
|
32
|
+
const handle = await open(file, "r");
|
|
33
|
+
try {
|
|
34
|
+
const buffer = Buffer.alloc(end - start + 1);
|
|
35
|
+
const { bytesRead } = await handle.read(buffer, 0, buffer.length, start - 1);
|
|
36
|
+
return buffer.subarray(0, bytesRead);
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
await handle.close();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// {§scheme-operation-dispatch} One demand-loaded snapshot, with no native file identity.
|
|
44
|
+
export class GeneratedByteSource {
|
|
45
|
+
#generate;
|
|
46
|
+
#bytes;
|
|
47
|
+
constructor(generate) {
|
|
48
|
+
this.#generate = generate;
|
|
49
|
+
}
|
|
50
|
+
#load() {
|
|
51
|
+
return this.#bytes ??= this.#generate();
|
|
52
|
+
}
|
|
53
|
+
async size() {
|
|
54
|
+
return (await this.#load())?.length ?? null;
|
|
55
|
+
}
|
|
56
|
+
async read(start, end) {
|
|
57
|
+
const bytes = await this.#load();
|
|
58
|
+
if (bytes === null)
|
|
59
|
+
throw new Error("The byte source no longer exists.");
|
|
60
|
+
return bytes.slice(start - 1, end);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
2
63
|
//# sourceMappingURL=ByteSource.js.map
|
package/dist/ByteSource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByteSource.js","sourceRoot":"","sources":["../src/ByteSource.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ByteSource.js","sourceRoot":"","sources":["../src/ByteSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAU9C,uFAAuF;AACvF,MAAM,OAAO,cAAc;IACd,OAAO,CAA+B;IAE/C,YAAY,MAAoC;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;YAChG,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC/C,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,GAAW;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACP,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;CACJ;AAED,yFAAyF;AACzF,MAAM,OAAO,mBAAmB;IACnB,SAAS,CAAmC;IACrD,MAAM,CAAyC;IAE/C,YAAY,QAA0C;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI;QACN,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,GAAW;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;CACJ"}
|
package/dist/Manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Manifest.d.ts","sourceRoot":"","sources":["../src/Manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Manifest.d.ts","sourceRoot":"","sources":["../src/Manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,cAAc,EAAc,MAAM,YAAY,CAAC;AAyB9E,MAAM,CAAC,OAAO,OAAO,QAAQ;;IACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,CASjE;CAsFJ"}
|
package/dist/Manifest.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
1
2
|
const WRITERS = new Set(["model", "client", "_plurnk"]);
|
|
2
3
|
const CATEGORIES = new Set(["data", "logging", "control"]);
|
|
3
4
|
const AUTHORITIES = new Set(["namespace", "resource"]);
|
|
@@ -25,9 +26,15 @@ export default class Manifest {
|
|
|
25
26
|
if (typeof handler !== "object" || handler === null) {
|
|
26
27
|
throw new Error("scheme handler must be an object");
|
|
27
28
|
}
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
29
|
+
const own = "manifest" in handler ? handler.manifest : undefined;
|
|
30
|
+
const ctor = handler.constructor;
|
|
31
|
+
const value = own ?? (typeof ctor === "function" && "manifest" in ctor ? ctor.manifest : undefined);
|
|
32
|
+
Manifest.#check(value, expectedName);
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
// Every field the contract names is checked here; the manifest is the value that passed.
|
|
36
|
+
static #check(value, expectedName) {
|
|
37
|
+
if (!isRecord(value)) {
|
|
31
38
|
throw new Error(`scheme '${expectedName ?? "unknown"}' must declare a static or instance manifest`);
|
|
32
39
|
}
|
|
33
40
|
const manifest = value;
|
|
@@ -39,7 +46,7 @@ export default class Manifest {
|
|
|
39
46
|
if (expectedName !== undefined && name !== expectedName) {
|
|
40
47
|
throw new Error(`scheme identity mismatch: registered '${expectedName}', manifest declares '${name}'`);
|
|
41
48
|
}
|
|
42
|
-
if (manifest.authority !== undefined && !AUTHORITIES.has(manifest.authority)) {
|
|
49
|
+
if (manifest.authority !== undefined && (typeof manifest.authority !== "string" || !AUTHORITIES.has(manifest.authority))) {
|
|
43
50
|
throw new Error(`scheme '${name}' manifest.authority must be namespace or resource`);
|
|
44
51
|
}
|
|
45
52
|
const channels = manifest.channels;
|
|
@@ -54,7 +61,7 @@ export default class Manifest {
|
|
|
54
61
|
if (defaultChannel !== defaultChannel.toLowerCase()) {
|
|
55
62
|
throw new Error(`scheme '${name}' manifest.defaultChannel must be lowercase`);
|
|
56
63
|
}
|
|
57
|
-
if (!CATEGORIES.has(manifest.category)) {
|
|
64
|
+
if (typeof manifest.category !== "string" || !CATEGORIES.has(manifest.category)) {
|
|
58
65
|
throw new Error(`scheme '${name}' manifest.category must be data, logging, or control`);
|
|
59
66
|
}
|
|
60
67
|
const writableBy = manifest.writableBy;
|
|
@@ -71,7 +78,6 @@ export default class Manifest {
|
|
|
71
78
|
Manifest.#optionalString(manifest, field);
|
|
72
79
|
Manifest.#optionalNonemptyString(manifest, "glyph");
|
|
73
80
|
Manifest.#traits(manifest.traits, name);
|
|
74
|
-
return value;
|
|
75
81
|
}
|
|
76
82
|
static #string(record, field, emptyAllowed = false) {
|
|
77
83
|
const value = record[field];
|
package/dist/Manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../src/Manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../src/Manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/Matcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAqB,MAAM,0BAA0B,CAAC;AAOzF,OAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;;IAqDxB,OAAa,mBAAmB,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACxC,OAAO,CAAC,WAAW,CAAC,CAItB;IAGD,OAAa,SAAS,CAClB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,EACjD,OAAO,SAAK,EACZ,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACxC,OAAO,CAAC,WAAW,CAAC,CAsDtB;IAED,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAMnE;CACJ"}
|
package/dist/Matcher.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
//
|
|
7
7
|
// Status 203 preserves readable content when its requested structural
|
|
8
8
|
// projection cannot be parsed; the owning mapping lives in {§matcher-dispatch}.
|
|
9
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
9
10
|
import { UnsupportedDialectError, InvalidExpressionError, QueryParseFailureError, } from "@plurnk/plurnk-mimetypes";
|
|
10
11
|
import { TEXT_PRIMITIVE_MIMETYPE } from "./MimetypeClassifier.js";
|
|
11
12
|
import Results, {} from "./Results.js";
|
|
@@ -86,9 +87,7 @@ export default class Matcher {
|
|
|
86
87
|
// sets each error subclass's `.name` to its class name.
|
|
87
88
|
const name = err instanceof Error ? err.name : "";
|
|
88
89
|
if (name === "UnsupportedDialectError" || err instanceof UnsupportedDialectError) {
|
|
89
|
-
const unsupportedMimetype = typeof err.mimetype === "string"
|
|
90
|
-
? err.mimetype
|
|
91
|
-
: mimetype;
|
|
90
|
+
const unsupportedMimetype = isRecord(err) && typeof err.mimetype === "string" ? err.mimetype : mimetype;
|
|
92
91
|
return Matcher.unsupported(body, unsupportedMimetype);
|
|
93
92
|
}
|
|
94
93
|
if (name === "InvalidExpressionError" || err instanceof InvalidExpressionError) {
|
package/dist/Matcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,kBAAkB;AAClB,EAAE;AACF,sEAAsE;AACtE,gFAAgF;
|
|
1
|
+
{"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"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"}
|
package/dist/MessageScheme.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { type ParsedPath, type SendStatement, type FindStatement } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { SchemeHandler, RepresentationPreparationRequest } from "./handler.ts";
|
|
3
|
-
import type { SchemeAddressCtx, SchemeCtx } from "./ctx.ts";
|
|
3
|
+
import type { EntryAddress, SchemeAddressCtx, SchemeCtx } from "./ctx.ts";
|
|
4
4
|
import type { SchemeManifest } from "./types.ts";
|
|
5
|
+
import { type SchemeResult } from "./Results.ts";
|
|
5
6
|
/** {§message-source-scheme}: protocol modules name resources; Core retains and accounts for messages. */
|
|
6
7
|
export default class MessageScheme implements SchemeHandler {
|
|
7
8
|
readonly manifest: SchemeManifest;
|
|
8
9
|
constructor(name: string);
|
|
9
|
-
resolveEntryAddress(target: ParsedPath, _ctx: SchemeAddressCtx, access?: "read" | "write"): Promise<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<import("./Results.ts").SchemeResult>;
|
|
14
|
-
prepareFind(_statement: FindStatement, ctx: SchemeCtx): Promise<import("./Results.ts").SchemeResult>;
|
|
15
|
-
send(statement: SendStatement, ctx: SchemeCtx): Promise<import("./Results.ts").SchemeResult>;
|
|
10
|
+
resolveEntryAddress(target: ParsedPath, _ctx: SchemeAddressCtx, access?: "read" | "write"): Promise<EntryAddress | SchemeResult | null>;
|
|
11
|
+
prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<SchemeResult>;
|
|
12
|
+
prepareFind(_statement: FindStatement, ctx: SchemeCtx): Promise<SchemeResult>;
|
|
13
|
+
send(statement: SendStatement, ctx: SchemeCtx): Promise<SchemeResult>;
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=MessageScheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageScheme.d.ts","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageScheme.d.ts","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,aAAa;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,YAAY,IAAI,EAAE,MAAM,EAMvB;IAEK,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAE,MAAM,GAAG,OAAgB,GAAG,OAAO,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,CAapJ;IAEK,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAE5G;IAEK,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAE1E;CACJ"}
|
package/dist/MessageScheme.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PathSyntax } from "@plurnk/plurnk-contracts";
|
|
2
|
-
import Results from "./Results.js";
|
|
2
|
+
import Results, {} from "./Results.js";
|
|
3
3
|
/** {§message-source-scheme}: protocol modules name resources; Core retains and accounts for messages. */
|
|
4
4
|
export default class MessageScheme {
|
|
5
5
|
manifest;
|
|
@@ -11,7 +11,7 @@ export default class MessageScheme {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
async resolveEntryAddress(target, _ctx, access = "read") {
|
|
14
|
-
// {§message-
|
|
14
|
+
// {§message-source-scheme} — immutable evidence is neither a reply nor a lifecycle control.
|
|
15
15
|
if (access === "write")
|
|
16
16
|
return Results.failure(`scheme:${this.manifest.name}`, "message-immutable", 405, `\`${target.raw}\` is a received message; it cannot be edited, moved or killed.`, {}, { retryable: false });
|
|
17
17
|
if (target.kind !== "url")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageScheme.js","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2D,MAAM,0BAA0B,CAAC;AAI/G,OAAO,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageScheme.js","sourceRoot":"","sources":["../src/MessageScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2D,MAAM,0BAA0B,CAAC;AAI/G,OAAO,OAAO,EAAE,EAAqB,MAAM,cAAc,CAAC;AAE1D,yGAAyG;AACzG,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,QAAQ,CAAiB;IAElC,YAAY,IAAY;QACpB,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YAClF,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;YAClE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;SACjF,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAkB,EAAE,IAAsB,EAAE,MAAM,GAAqB,MAAM;QACnG,4FAA4F;QAC5F,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAC1C,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,GAAG,EACxD,KAAK,MAAM,CAAC,GAAG,iEAAiE,EAChF,EAAE,EACF,EAAE,SAAS,EAAE,KAAK,EAAE,CACvB,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO;YACH,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAChC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;SACzG,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAyC,EAAE,GAAc;QACjF,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAyB,EAAE,GAAc;QACvD,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAc;QAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { type SchemeResult } from "./Results.ts";
|
|
2
2
|
export type MetadataOptionsParsed = {
|
|
3
3
|
readonly options: Readonly<Record<string, unknown>>;
|
|
4
|
-
readonly env?: unknown;
|
|
5
4
|
readonly lifetime?: unknown;
|
|
6
5
|
} | {
|
|
7
6
|
readonly failure: SchemeResult;
|
|
8
7
|
};
|
|
9
8
|
export default class MetadataOptions {
|
|
10
|
-
static readonly SERVICE_KEYS: readonly ["
|
|
9
|
+
static readonly SERVICE_KEYS: readonly ["lifetime"];
|
|
11
10
|
static read(blocks: readonly string[] | null | undefined, source: string, extra?: Record<string, unknown>): {
|
|
12
11
|
elements: unknown[];
|
|
13
12
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataOptions.d.ts","sourceRoot":"","sources":["../src/MetadataOptions.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAG3B;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"MetadataOptions.d.ts","sourceRoot":"","sources":["../src/MetadataOptions.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAG3B;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,eAAe;IAEhC,MAAM,CAAC,QAAQ,CAAC,YAAY,wBAAwC;IAGpE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,CAiBlK;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,qBAAqB,CAkBrI;CACJ"}
|
package/dist/MetadataOptions.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
// {§
|
|
1
|
+
// {§slot-order} The heading's `[metadata]` block, read with its
|
|
2
2
|
// brackets, is one JSON array. Object options merge left to right with later
|
|
3
3
|
// keys winning. The language keeps the inner text opaque; this is the one
|
|
4
4
|
// reader every owner uses before interpreting its elements,
|
|
5
5
|
// so malformed content fails the same way everywhere: the owner's 400.
|
|
6
6
|
import Results, {} from "./Results.js";
|
|
7
7
|
export default class MetadataOptions {
|
|
8
|
-
// {§
|
|
9
|
-
static SERVICE_KEYS = Object.freeze(["
|
|
8
|
+
// {§manifest} — the keys every owner's `options` is stripped of.
|
|
9
|
+
static SERVICE_KEYS = Object.freeze(["lifetime"]);
|
|
10
10
|
// `source` names the owner in the Problem (`executor:metadata`, `http`, …).
|
|
11
11
|
static read(blocks, source, extra = {}) {
|
|
12
12
|
const fail = (code, detail) => ({
|
|
@@ -27,6 +27,8 @@ export default class MetadataOptions {
|
|
|
27
27
|
// Never echo the parser message: V8 quotes the input, and metadata may hold credentials.
|
|
28
28
|
return fail("metadata-invalid", "[metadata] must be a JSON array.");
|
|
29
29
|
}
|
|
30
|
+
if (!Array.isArray(parsed))
|
|
31
|
+
return fail("metadata-invalid", "[metadata] must be a JSON array.");
|
|
30
32
|
return { elements: parsed };
|
|
31
33
|
}
|
|
32
34
|
static parse(blocks, source, extra = {}) {
|
|
@@ -40,9 +42,6 @@ export default class MetadataOptions {
|
|
|
40
42
|
}
|
|
41
43
|
Object.assign(options, element);
|
|
42
44
|
}
|
|
43
|
-
// {§matcher-option} — `pattern` is the language's key: the parser lifts it into the
|
|
44
|
-
// statement's matcher and leaves the block for its owner, who never interprets it.
|
|
45
|
-
delete options.pattern;
|
|
46
45
|
const reserved = {};
|
|
47
46
|
for (const key of MetadataOptions.SERVICE_KEYS) {
|
|
48
47
|
if (!(key in options))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataOptions.js","sourceRoot":"","sources":["../src/MetadataOptions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"MetadataOptions.js","sourceRoot":"","sources":["../src/MetadataOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
1
2
|
export declare const TEXT_PRIMITIVE_MIMETYPE = "text/markdown";
|
|
2
3
|
export default class MimetypeClassifier {
|
|
3
4
|
static isBinary(mimetype: string): boolean;
|
|
@@ -8,4 +9,8 @@ export default class MimetypeClassifier {
|
|
|
8
9
|
}): boolean;
|
|
9
10
|
static normalizeAutoText(mimetype: string | null | undefined): string;
|
|
10
11
|
}
|
|
12
|
+
export declare class PathMimetype {
|
|
13
|
+
static extractExtension(pathname: string): string;
|
|
14
|
+
static resolve(pathname: string, schemeDefault: string, mimetypes: Mimetypes | undefined): Promise<string>;
|
|
15
|
+
}
|
|
11
16
|
//# sourceMappingURL=MimetypeClassifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MimetypeClassifier.d.ts","sourceRoot":"","sources":["../src/MimetypeClassifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MimetypeClassifier.d.ts","sourceRoot":"","sources":["../src/MimetypeClassifier.ts"],"names":[],"mappings":"AAUA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAU5E,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAEnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzC;IAKD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvC;IAGD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvC;IAGD,MAAM,CAAC,oBAAoB,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,oBAAoB,GAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAA6B,GAC9E,OAAO,CAIT;IAMD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAKpE;CACJ;AAGD,qBAAa,YAAY;IAGrB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhD;IAQD,OAAa,OAAO,CAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,GAAG,SAAS,GACjC,OAAO,CAAC,MAAM,CAAC,CAOjB;CACJ"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// the registry-free surface; a consumer with a configured Mimetypes service
|
|
5
5
|
// uses Mimetypes.classify() so installed handler declarations remain authoritative.
|
|
6
6
|
//
|
|
7
|
-
// {§
|
|
7
|
+
// {§network-address} What stays local is scheme semantics, not filetype fact:
|
|
8
8
|
// isJson - JSON receipt summarization (RFC 6839).
|
|
9
9
|
// normalizeAutoText — the text-primitive policy (auto-derived text is markdown).
|
|
10
10
|
import { classifyMimetype } from "@plurnk/plurnk-mimetypes";
|
|
@@ -18,21 +18,21 @@ import { classifyMimetype } from "@plurnk/plurnk-mimetypes";
|
|
|
18
18
|
// markdown?"
|
|
19
19
|
export const TEXT_PRIMITIVE_MIMETYPE = "text/markdown";
|
|
20
20
|
export default class MimetypeClassifier {
|
|
21
|
-
// Pure taxonomy for registry-free boundaries (SPEC {§
|
|
21
|
+
// Pure taxonomy for registry-free boundaries (SPEC {§network-address}).
|
|
22
22
|
static isBinary(mimetype) {
|
|
23
23
|
return classifyMimetype(mimetype).binary;
|
|
24
24
|
}
|
|
25
25
|
// JSON-family check used by receipt summarization.
|
|
26
26
|
// Matches application/json plus +json suffix variants per RFC 6839.
|
|
27
|
-
// {§
|
|
27
|
+
// {§network-address} Scheme semantics, deliberately NOT delegated.
|
|
28
28
|
static isJson(mimetype) {
|
|
29
29
|
return mimetype === "application/json" || mimetype.endsWith("+json");
|
|
30
30
|
}
|
|
31
|
-
// Exact normalized HTML family used by web acquisition {§
|
|
31
|
+
// Exact normalized HTML family used by web acquisition {§http-lifecycle}.
|
|
32
32
|
static isHtml(mimetype) {
|
|
33
33
|
return mimetype === "text/html" || mimetype === "application/xhtml+xml";
|
|
34
34
|
}
|
|
35
|
-
// {§
|
|
35
|
+
// {§network-address}
|
|
36
36
|
static isTransferCompatible(source, destination, sourceClassification = classifyMimetype(source)) {
|
|
37
37
|
return source === destination
|
|
38
38
|
|| (!sourceClassification.binary
|
|
@@ -49,4 +49,32 @@ export default class MimetypeClassifier {
|
|
|
49
49
|
return mimetype;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
// {§network-address}: recognized suffixes precede the caller's supplied type.
|
|
53
|
+
export class PathMimetype {
|
|
54
|
+
// Extract the suffix (everything after the last dot in the last segment)
|
|
55
|
+
// from a pathname. Empty if no dot in the last segment.
|
|
56
|
+
static extractExtension(pathname) {
|
|
57
|
+
const lastSlash = pathname.lastIndexOf("/");
|
|
58
|
+
const lastSegment = lastSlash === -1 ? pathname : pathname.slice(lastSlash + 1);
|
|
59
|
+
const lastDot = lastSegment.lastIndexOf(".");
|
|
60
|
+
if (lastDot <= 0)
|
|
61
|
+
return ""; // leading-dot files (".env") aren't an extension
|
|
62
|
+
return lastSegment.slice(lastDot); // includes the leading "."
|
|
63
|
+
}
|
|
64
|
+
// Resolve a pathname → effective mimetype.
|
|
65
|
+
// 1. If the pathname has an extension, query Mimetypes.detect({ ext })
|
|
66
|
+
// and use what comes back (normalized via the text-primitive rule —
|
|
67
|
+
// text/plain → text/markdown).
|
|
68
|
+
// 2. Otherwise (no extension or no Mimetypes service), fall back to
|
|
69
|
+
// `schemeDefault` (typically the scheme manifest's channel default).
|
|
70
|
+
static async resolve(pathname, schemeDefault, mimetypes) {
|
|
71
|
+
const ext = PathMimetype.extractExtension(pathname);
|
|
72
|
+
if (ext.length > 0 && mimetypes !== undefined) {
|
|
73
|
+
const detected = await mimetypes.detect({ ext });
|
|
74
|
+
if (detected !== null)
|
|
75
|
+
return MimetypeClassifier.normalizeAutoText(detected);
|
|
76
|
+
}
|
|
77
|
+
return schemeDefault;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
52
80
|
//# sourceMappingURL=MimetypeClassifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MimetypeClassifier.js","sourceRoot":"","sources":["../src/MimetypeClassifier.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"MimetypeClassifier.js","sourceRoot":"","sources":["../src/MimetypeClassifier.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,8EAA8E;AAC9E,8DAA8D;AAC9D,mFAAmF;AAEnF,OAAO,EAAE,gBAAgB,EAAkB,MAAM,0BAA0B,CAAC;AAE5E,sEAAsE;AACtE,oEAAoE;AACpE,mEAAmE;AACnE,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,gEAAgE;AAChE,aAAa;AACb,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,wEAAwE;IACxE,MAAM,CAAC,QAAQ,CAAC,QAAgB;QAC5B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED,mDAAmD;IACnD,oEAAoE;IACpE,mEAAmE;IACnE,MAAM,CAAC,MAAM,CAAC,QAAgB;QAC1B,OAAO,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,0EAA0E;IAC1E,MAAM,CAAC,MAAM,CAAC,QAAgB;QAC1B,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,uBAAuB,CAAC;IAC5E,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,oBAAoB,CACvB,MAAc,EACd,WAAmB,EACnB,oBAAoB,GAAiC,gBAAgB,CAAC,MAAM,CAAC;QAE7E,OAAO,MAAM,KAAK,WAAW;eACtB,CAAC,CAAC,oBAAoB,CAAC,MAAM;mBACzB,CAAC,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,uBAAuB,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAC9D,wEAAwE;IACxE,2BAA2B;IAC3B,MAAM,CAAC,iBAAiB,CAAC,QAAmC;QACxD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9F,OAAO,uBAAuB,CAAC;QACnC,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAED,8EAA8E;AAC9E,MAAM,OAAO,YAAY;IACrB,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,CAAC,gBAAgB,CAAC,QAAgB;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC,CAAE,iDAAiD;QAC/E,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,2BAA2B;IACnE,CAAC;IAED,2CAA2C;IAC3C,uEAAuE;IACvE,uEAAuE;IACvE,kCAAkC;IAClC,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,CAAC,KAAK,CAAC,OAAO,CAChB,QAAgB,EAChB,aAAqB,EACrB,SAAgC;QAEhC,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ"}
|
package/dist/OutputScheme.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
// {§
|
|
1
|
+
// {§network-address} Derive an output-scheme manifest from an executor's
|
|
2
2
|
// per-tag runtime declaration. An
|
|
3
3
|
// executor authors NO SchemeManifest: its `plurnk.runtimes[]` entry already
|
|
4
4
|
// carries name / glyph / output-channels, and everything else is the shared
|
|
5
5
|
// read-only-output default. So the `sh` runtime gets `sh://` for free, and a multi-tag
|
|
6
6
|
// executor derives a distinct manifest per tag.
|
|
7
7
|
export default class OutputScheme {
|
|
8
|
-
// {§
|
|
8
|
+
// {§network-address}: read-only model access to extension-produced data.
|
|
9
9
|
// Per-call output mimetypes override the declared channel seeds at stream time.
|
|
10
10
|
static manifestFromRuntime(decl) {
|
|
11
11
|
return {
|
package/dist/OutputScheme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputScheme.js","sourceRoot":"","sources":["../src/OutputScheme.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"OutputScheme.js","sourceRoot":"","sources":["../src/OutputScheme.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,kCAAkC;AAClC,4EAA4E;AAC5E,4EAA4E;AAC5E,uFAAuF;AACvF,gDAAgD;AAchD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,yEAAyE;IACzE,gFAAgF;IAChF,MAAM,CAAC,mBAAmB,CAAC,IAAiB;QACxC,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC;IACN,CAAC;CACJ"}
|
package/dist/PacketSections.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
export interface PacketSectionDraft {
|
|
2
|
+
readonly name: string;
|
|
3
|
+
readonly slot: "system" | "user" | "assistant";
|
|
4
|
+
readonly header: string | null;
|
|
5
|
+
readonly content: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PacketSectionTransformer {
|
|
8
|
+
transformSections(sections: PacketSectionDraft[]): PacketSectionDraft[] | Promise<PacketSectionDraft[]>;
|
|
9
|
+
}
|
|
2
10
|
export default class PacketSections {
|
|
11
|
+
#private;
|
|
3
12
|
static assertDrafts(value: unknown, subject?: string): PacketSectionDraft[];
|
|
4
13
|
static assertDraft(value: unknown, subject: string): PacketSectionDraft;
|
|
5
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketSections.d.ts","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PacketSections.d.ts","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACrC,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAC3G;AAKD,MAAM,CAAC,OAAO,OAAO,cAAc;;IAE/B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAA0B,GAAG,kBAAkB,EAAE,CAG3F;IAeD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAGtE;CAuBJ"}
|
package/dist/PacketSections.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
import { isRecord } from "@plurnk/plurnk-contracts";
|
|
1
2
|
const FIELDS = ["name", "slot", "header", "content"];
|
|
2
3
|
const FIELD_NAMES = new Set(FIELDS);
|
|
3
4
|
export default class PacketSections {
|
|
5
|
+
// {§network-address} Exact valid drafts preserve their list: the check narrows the value it was given.
|
|
4
6
|
static assertDrafts(value, subject = "packet section drafts") {
|
|
7
|
+
PacketSections.#checkDrafts(value, subject);
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
static #checkDrafts(value, subject) {
|
|
5
11
|
if (!Array.isArray(value))
|
|
6
12
|
throw new TypeError(`${subject} must be an array`);
|
|
7
13
|
const names = new Set();
|
|
@@ -12,10 +18,14 @@ export default class PacketSections {
|
|
|
12
18
|
}
|
|
13
19
|
names.add(section.name);
|
|
14
20
|
}
|
|
15
|
-
return value;
|
|
16
21
|
}
|
|
17
22
|
static assertDraft(value, subject) {
|
|
18
|
-
|
|
23
|
+
PacketSections.#checkDraft(value, subject);
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
// Every field a draft names is checked here; the draft is the value that passed.
|
|
27
|
+
static #checkDraft(value, subject) {
|
|
28
|
+
if (!isRecord(value)) {
|
|
19
29
|
throw new TypeError(`${subject} must be an object`);
|
|
20
30
|
}
|
|
21
31
|
const section = value;
|
|
@@ -36,7 +46,6 @@ export default class PacketSections {
|
|
|
36
46
|
}
|
|
37
47
|
if (typeof section.content !== "string")
|
|
38
48
|
throw new TypeError(`${subject}.content must be a string`);
|
|
39
|
-
return value;
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
//# sourceMappingURL=PacketSections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketSections.js","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PacketSections.js","sourceRoot":"","sources":["../src/PacketSections.ts"],"names":[],"mappings":"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"}
|
package/dist/ResourceNames.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
-
// {§
|
|
2
|
+
// {§scheme-operation-dispatch} One allocator per resource collection. A stable
|
|
3
3
|
// identity lets a live collection reconstruct its paths on subsequent READs.
|
|
4
4
|
export default class ResourceNames {
|
|
5
5
|
#used = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceNames.js","sourceRoot":"","sources":["../src/ResourceNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"ResourceNames.js","sourceRoot":"","sources":["../src/ResourceNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,QAAQ,CAAC,IAAa,EAAE,QAAQ,GAAW,UAAU,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClG,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,IAAI,SAAS,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC;QACpG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;CACJ"}
|
package/dist/Results.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { InvalidOperationResultError, type ProblemDetails } from "@plurnk/plurnk-contracts";
|
|
2
|
-
import type { TextRegion } from "@plurnk/plurnk-contracts";
|
|
1
|
+
import { InvalidOperationResultError, type ProblemDetails, type TextRegion } from "@plurnk/plurnk-contracts";
|
|
3
2
|
export type { ProblemDetails };
|
|
4
3
|
export { InvalidOperationResultError };
|
|
5
4
|
export type ScopeNormalization = {
|
|
@@ -71,7 +70,8 @@ export default class Results {
|
|
|
71
70
|
static isPassthrough(result: SchemeResult): result is PassthroughResult;
|
|
72
71
|
static isErrorStatus(status: number): boolean;
|
|
73
72
|
static problem(owner: string, code: string, status: number, detail: string, extensions?: Readonly<Record<string, unknown>>): ProblemDetails;
|
|
74
|
-
static failure(owner: string, code: string, status: number, detail: string
|
|
73
|
+
static failure(owner: string, code: string, status: number, detail: string): SchemeResult;
|
|
74
|
+
static failure<F extends Readonly<Record<string, unknown>>>(owner: string, code: string, status: number, detail: string, fields: F, extensions?: Readonly<Record<string, unknown>>): SchemeResult & F;
|
|
75
75
|
static assertProblem(problem: unknown): asserts problem is ProblemDetails;
|
|
76
76
|
static assertMatchEvidence(evidence: unknown): MatchEvidence;
|
|
77
77
|
static assertMatchEvidenceList(evidence: unknown): ReadonlyArray<MatchEvidence>;
|