@veryfront/ext-yaml 0.1.1225 → 0.1.1227
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 +34 -10
- package/esm/deno.d.ts +1 -1
- package/esm/deno.js +2 -2
- package/esm/src/adapter.d.ts +19 -2
- package/esm/src/adapter.d.ts.map +1 -1
- package/esm/src/adapter.js +119 -4
- package/esm/src/index.d.ts +7 -4
- package/esm/src/index.d.ts.map +1 -1
- package/esm/src/index.js +15 -10
- package/package.json +7 -3
- package/esm/_dnt.polyfills.d.ts +0 -12
- package/esm/_dnt.polyfills.d.ts.map +0 -1
- package/esm/_dnt.polyfills.js +0 -15
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.d.ts +0 -33
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.js +0 -48
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.d.ts +0 -64
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.js +0 -1371
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.d.ts +0 -44
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.js +0 -117
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.js +0 -103
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.js +0 -32
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.js +0 -96
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.js +0 -159
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.js +0 -14
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.js +0 -10
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.js +0 -22
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.js +0 -29
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.js +0 -19
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.js +0 -30
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.js +0 -10
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.js +0 -14
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.js +0 -9
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.js +0 -81
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.d.ts +0 -3
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.js +0 -20
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.d.ts +0 -32
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.js +0 -6
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.d.ts +0 -4
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.js +0 -13
- package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.d.ts +0 -76
- package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.js +0 -91
package/README.md
CHANGED
|
@@ -1,23 +1,44 @@
|
|
|
1
1
|
# @veryfront/ext-yaml
|
|
2
2
|
|
|
3
|
-
> **Category:** Parser | **
|
|
3
|
+
> **Category:** Parser | **Contracts:** `SkillDocumentParserProvider`,
|
|
4
|
+
> `YamlParserProvider`
|
|
4
5
|
|
|
5
|
-
Provides synchronous YAML decoding for Veryfront
|
|
6
|
-
|
|
6
|
+
Provides synchronous YAML decoding for Veryfront, backed by the pinned `yaml`
|
|
7
|
+
(eemeli) implementation. It satisfies two contracts: the narrow
|
|
8
|
+
`SkillDocumentParserProvider` used at the Skill document trust boundary, and the
|
|
9
|
+
general `YamlParserProvider` that core's `#std/yaml/parse` compatibility shim
|
|
10
|
+
resolves for front matter and MDX.
|
|
7
11
|
|
|
8
12
|
Veryfront core owns the `SKILL.md` frontmatter envelope, document limits,
|
|
9
13
|
mapping-root validation, immutable snapshots, and Skill metadata policy. This
|
|
10
14
|
extension receives only the YAML source between the delimiters and returns the
|
|
11
15
|
decoded, untrusted value. Keeping that boundary narrow prevents YAML parser
|
|
12
|
-
details and third-party dependencies from entering core
|
|
16
|
+
details and third-party dependencies from entering core — core may depend on
|
|
17
|
+
the Deno standard library and nothing else, so the parser has to live here.
|
|
18
|
+
|
|
19
|
+
## YAML version
|
|
20
|
+
|
|
21
|
+
`yaml` implements YAML 1.2. `jsr:@std/yaml`, which this extension previously
|
|
22
|
+
wrapped, implements YAML 1.1. Three resolution differences are deliberate and
|
|
23
|
+
covered by tests:
|
|
24
|
+
|
|
25
|
+
| Source | YAML 1.1 (`@std/yaml`) | YAML 1.2 (this extension) |
|
|
26
|
+
| --------------------- | ---------------------- | ------------------------- |
|
|
27
|
+
| `a: 1_000` | `1000` | `"1_000"` |
|
|
28
|
+
| `created: 2024-01-02` | `Date` | `"2024-01-02"` |
|
|
29
|
+
| `<<: *anchor` | merged into the map | a literal `"<<"` key |
|
|
30
|
+
|
|
31
|
+
`schema: "json"` additionally rejects every explicit tag outside the JSON core
|
|
32
|
+
set, so `!!binary`, `!!timestamp`, `!!set` and unknown tags raise `SyntaxError`
|
|
33
|
+
rather than decoding into implementation-specific values.
|
|
13
34
|
|
|
14
35
|
## Activation
|
|
15
36
|
|
|
16
37
|
The package declares automatic activation. Once `@veryfront/ext-yaml` is
|
|
17
38
|
installed, the standard Veryfront server bootstrap discovers it and registers
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
both contracts before project capability discovery. Core fails closed when no
|
|
40
|
+
parser extension is installed; it does not reinterpret malformed YAML with a
|
|
41
|
+
partial built-in grammar.
|
|
21
42
|
|
|
22
43
|
Composition roots that do not run standard extension discovery can register the
|
|
23
44
|
factory explicitly:
|
|
@@ -37,10 +58,13 @@ Composition roots that manage contracts directly can create the immutable
|
|
|
37
58
|
provider without running the extension lifecycle:
|
|
38
59
|
|
|
39
60
|
```ts
|
|
40
|
-
import { createStdYamlSkillDocumentParserProvider } from "@veryfront/ext-yaml";
|
|
61
|
+
import { createStdYamlSkillDocumentParserProvider, createYamlParser } from "@veryfront/ext-yaml";
|
|
62
|
+
|
|
63
|
+
const skillParser = createStdYamlSkillDocumentParserProvider();
|
|
64
|
+
const decoded = skillParser.parseFrontmatter("name: example");
|
|
41
65
|
|
|
42
|
-
const
|
|
43
|
-
const
|
|
66
|
+
const yamlParser = createYamlParser();
|
|
67
|
+
const value = yamlParser.parseYaml("name: example", { schema: "json" });
|
|
44
68
|
```
|
|
45
69
|
|
|
46
70
|
The return value remains `unknown`; callers must enforce their own mapping and
|
package/esm/deno.d.ts
CHANGED
package/esm/deno.js
CHANGED
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
"extension": true,
|
|
7
7
|
"activation": "auto",
|
|
8
8
|
"contracts": {
|
|
9
|
-
"provides": ["SkillDocumentParserProvider"]
|
|
9
|
+
"provides": ["SkillDocumentParserProvider", "YamlParserProvider"]
|
|
10
10
|
},
|
|
11
11
|
"capabilities": [],
|
|
12
12
|
"npm": {
|
|
@@ -14,7 +14,7 @@ export default {
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"imports": {
|
|
17
|
-
"
|
|
17
|
+
"yaml": "npm:yaml@2.9.0",
|
|
18
18
|
"@std/assert": "jsr:@std/assert@1.0.19",
|
|
19
19
|
"@std/testing/bdd": "jsr:@std/testing@1.0.17/bdd",
|
|
20
20
|
"veryfront/extensions": "../../src/extensions/types.ts",
|
package/esm/src/adapter.d.ts
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
import { type SkillDocumentParserProvider } from "veryfront/extensions/parser";
|
|
2
|
-
/**
|
|
1
|
+
import { type SkillDocumentParserProvider, type YamlParseOptions, type YamlParserProvider } from "veryfront/extensions/parser";
|
|
2
|
+
/**
|
|
3
|
+
* Decode one YAML document with `@std/yaml`-compatible failure behaviour.
|
|
4
|
+
*
|
|
5
|
+
* `yaml` reports most problems on the returned document instead of throwing,
|
|
6
|
+
* and raises `YAMLParseError` rather than `SyntaxError` when it does throw.
|
|
7
|
+
* Both are normalised here so call sites keep the single `SyntaxError`
|
|
8
|
+
* contract they were written against.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseYamlSource(source: string, options?: YamlParseOptions): unknown;
|
|
11
|
+
/** Create the official `yaml`-backed general YAML parser. */
|
|
12
|
+
export declare function createYamlParser(): Readonly<YamlParserProvider>;
|
|
13
|
+
/**
|
|
14
|
+
* Create the official `yaml`-backed Skill frontmatter parser.
|
|
15
|
+
*
|
|
16
|
+
* The name predates the move off `@std/yaml`; it is the export name
|
|
17
|
+
* `src/extensions/parser/skill-defaults.ts` looks up in the published package,
|
|
18
|
+
* so it stays put.
|
|
19
|
+
*/
|
|
3
20
|
export declare function createStdYamlSkillDocumentParserProvider(): Readonly<SkillDocumentParserProvider>;
|
|
4
21
|
//# sourceMappingURL=adapter.d.ts.map
|
package/esm/src/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAwDrC;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAET;AAiDD,6DAA6D;AAC7D,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,wCAAwC,IAAI,QAAQ,CAClE,2BAA2B,CAC5B,CAOA"}
|
package/esm/src/adapter.js
CHANGED
|
@@ -1,8 +1,123 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createSkillDocumentParserProvider, } from "veryfront/extensions/parser";
|
|
3
|
-
/**
|
|
1
|
+
import { isNode, parseAllDocuments, visit } from "yaml";
|
|
2
|
+
import { createSkillDocumentParserProvider, createYamlParserProvider, } from "veryfront/extensions/parser";
|
|
3
|
+
/**
|
|
4
|
+
* The tags a JSON-representable document may carry explicitly. `yaml`'s
|
|
5
|
+
* `Schema.knownTags` fallback resolves YAML 1.1 tags such as `!!binary`,
|
|
6
|
+
* `!!timestamp`, `!!set` and `!!omap` even under the 1.2 core schema, and does
|
|
7
|
+
* so without raising a warning — so the parser options alone cannot express
|
|
8
|
+
* `@std/yaml`'s JSON schema. Rejecting every other explicit tag does.
|
|
9
|
+
*/
|
|
10
|
+
const JSON_SCHEMA_TAGS = new Set([
|
|
11
|
+
"tag:yaml.org,2002:map",
|
|
12
|
+
"tag:yaml.org,2002:seq",
|
|
13
|
+
"tag:yaml.org,2002:str",
|
|
14
|
+
"tag:yaml.org,2002:null",
|
|
15
|
+
"tag:yaml.org,2002:bool",
|
|
16
|
+
"tag:yaml.org,2002:int",
|
|
17
|
+
"tag:yaml.org,2002:float",
|
|
18
|
+
]);
|
|
19
|
+
function assertJsonRepresentableTags(document) {
|
|
20
|
+
visit(document, (_key, node) => {
|
|
21
|
+
if (!isNode(node))
|
|
22
|
+
return;
|
|
23
|
+
const tag = node.tag;
|
|
24
|
+
if (typeof tag === "string" && !JSON_SCHEMA_TAGS.has(tag)) {
|
|
25
|
+
throw new SyntaxError(`Cannot resolve unknown tag !<${tag}>`);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Run a synchronous parse with any own `value` property lifted off
|
|
31
|
+
* `Object.prototype`.
|
|
32
|
+
*
|
|
33
|
+
* `yaml` builds its AST by assigning `this.value = …` on class instances. A
|
|
34
|
+
* poisoned non-writable `Object.prototype.value` makes strict mode reject
|
|
35
|
+
* every one of those assignments, so no document parses at all. Surviving a
|
|
36
|
+
* poisoned `Object.prototype` is an invariant the framework asserts across its
|
|
37
|
+
* Skill and agent trust boundaries, and `@std/yaml` happened to satisfy it, so
|
|
38
|
+
* the property is lifted for the duration of the parse and restored
|
|
39
|
+
* afterwards.
|
|
40
|
+
*
|
|
41
|
+
* Nothing can observe the gap: the parse is synchronous, never yields, and
|
|
42
|
+
* invokes no caller-supplied code (no custom tags, no reviver).
|
|
43
|
+
*/
|
|
44
|
+
function withoutPollutedValuePrototype(run) {
|
|
45
|
+
const polluted = Object.getOwnPropertyDescriptor(Object.prototype, "value");
|
|
46
|
+
if (polluted === undefined || polluted.configurable !== true)
|
|
47
|
+
return run();
|
|
48
|
+
Reflect.deleteProperty(Object.prototype, "value");
|
|
49
|
+
try {
|
|
50
|
+
return run();
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
Object.defineProperty(Object.prototype, "value", polluted);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Decode one YAML document with `@std/yaml`-compatible failure behaviour.
|
|
58
|
+
*
|
|
59
|
+
* `yaml` reports most problems on the returned document instead of throwing,
|
|
60
|
+
* and raises `YAMLParseError` rather than `SyntaxError` when it does throw.
|
|
61
|
+
* Both are normalised here so call sites keep the single `SyntaxError`
|
|
62
|
+
* contract they were written against.
|
|
63
|
+
*/
|
|
64
|
+
export function parseYamlSource(source, options = {}) {
|
|
65
|
+
return withoutPollutedValuePrototype(() => decodeDocument(source, options));
|
|
66
|
+
}
|
|
67
|
+
function decodeDocument(source, options) {
|
|
68
|
+
const jsonSchema = options.schema === "json";
|
|
69
|
+
let documents;
|
|
70
|
+
try {
|
|
71
|
+
documents = parseAllDocuments(source, {
|
|
72
|
+
uniqueKeys: options.allowDuplicateKeys !== true,
|
|
73
|
+
// Forwarded, not merely recorded: without it the parser runs the core
|
|
74
|
+
// schema and resolves `0o7` to 7, which is exactly the widening
|
|
75
|
+
// `schema: "json"` is asked for at a trust boundary.
|
|
76
|
+
schema: jsonSchema ? "json" : "core",
|
|
77
|
+
// Warnings are inspected below; left to the library they would be
|
|
78
|
+
// written straight to the host process's stderr.
|
|
79
|
+
logLevel: "silent",
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
catch (cause) {
|
|
83
|
+
throw new SyntaxError(cause instanceof Error ? cause.message : String(cause), { cause });
|
|
84
|
+
}
|
|
85
|
+
if (documents.length === 0)
|
|
86
|
+
return null;
|
|
87
|
+
if (documents.length > 1) {
|
|
88
|
+
throw new SyntaxError("Found more than 1 document in the stream: expected a single document");
|
|
89
|
+
}
|
|
90
|
+
const document = documents[0];
|
|
91
|
+
// An unresolved tag is a warning in `yaml` and an error in `@std/yaml`.
|
|
92
|
+
// Treat it as an error: a tag the parser did not understand means the
|
|
93
|
+
// decoded value is not the one the document asked for.
|
|
94
|
+
//
|
|
95
|
+
// `TAG_RESOLVE_FAILED` is the exception, and only under the JSON schema,
|
|
96
|
+
// where it fires for every ordinary unquoted string -- `name: code-review`
|
|
97
|
+
// raises it twice. It is filtered per diagnostic rather than by taking the
|
|
98
|
+
// first: a document that raises it also raises the real ones beside it, so
|
|
99
|
+
// reading `errors[0]` would report the benign one and hide `BAD_INDENT` or
|
|
100
|
+
// `DUPLICATE_KEY` behind it.
|
|
101
|
+
const problem = [...document.errors, ...document.warnings].find((diagnostic) => !(jsonSchema && diagnostic.code === "TAG_RESOLVE_FAILED"));
|
|
102
|
+
if (problem)
|
|
103
|
+
throw new SyntaxError(problem.message, { cause: problem });
|
|
104
|
+
if (jsonSchema)
|
|
105
|
+
assertJsonRepresentableTags(document);
|
|
106
|
+
return document.toJS();
|
|
107
|
+
}
|
|
108
|
+
/** Create the official `yaml`-backed general YAML parser. */
|
|
109
|
+
export function createYamlParser() {
|
|
110
|
+
return createYamlParserProvider(parseYamlSource);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create the official `yaml`-backed Skill frontmatter parser.
|
|
114
|
+
*
|
|
115
|
+
* The name predates the move off `@std/yaml`; it is the export name
|
|
116
|
+
* `src/extensions/parser/skill-defaults.ts` looks up in the published package,
|
|
117
|
+
* so it stays put.
|
|
118
|
+
*/
|
|
4
119
|
export function createStdYamlSkillDocumentParserProvider() {
|
|
5
|
-
return createSkillDocumentParserProvider((source) =>
|
|
120
|
+
return createSkillDocumentParserProvider((source) => parseYamlSource(source, {
|
|
6
121
|
allowDuplicateKeys: false,
|
|
7
122
|
schema: "json",
|
|
8
123
|
}));
|
package/esm/src/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Official
|
|
3
|
-
* extension
|
|
2
|
+
* Official `yaml` (eemeli, YAML 1.2) implementation of the framework's YAML
|
|
3
|
+
* extension contracts.
|
|
4
|
+
*
|
|
5
|
+
* Provides both the narrow `SkillDocumentParserProvider` used at the Skill
|
|
6
|
+
* document trust boundary and the general `YamlParserProvider` the framework's
|
|
7
|
+
* `#std/yaml/parse` compatibility shim resolves.
|
|
4
8
|
*
|
|
5
9
|
* @module extensions/ext-yaml
|
|
6
10
|
*/
|
|
7
|
-
import "../_dnt.polyfills.js";
|
|
8
11
|
import type { ExtensionFactory } from "veryfront/extensions";
|
|
9
12
|
declare const extYaml: ExtensionFactory;
|
|
10
13
|
export default extYaml;
|
|
11
|
-
export { createStdYamlSkillDocumentParserProvider } from "./adapter.js";
|
|
14
|
+
export { createStdYamlSkillDocumentParserProvider, createYamlParser, parseYamlSource, } from "./adapter.js";
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQ7D,QAAA,MAAM,OAAO,EAAE,gBAsBd,CAAC;AAEF,eAAe,OAAO,CAAC;AACvB,OAAO,EACL,wCAAwC,EACxC,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC"}
|
package/esm/src/index.js
CHANGED
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Official
|
|
3
|
-
* extension
|
|
2
|
+
* Official `yaml` (eemeli, YAML 1.2) implementation of the framework's YAML
|
|
3
|
+
* extension contracts.
|
|
4
|
+
*
|
|
5
|
+
* Provides both the narrow `SkillDocumentParserProvider` used at the Skill
|
|
6
|
+
* document trust boundary and the general `YamlParserProvider` the framework's
|
|
7
|
+
* `#std/yaml/parse` compatibility shim resolves.
|
|
4
8
|
*
|
|
5
9
|
* @module extensions/ext-yaml
|
|
6
10
|
*/
|
|
7
|
-
import "
|
|
8
|
-
import { SkillDocumentParserProviderName } from "veryfront/extensions/parser";
|
|
11
|
+
import { SkillDocumentParserProviderName, YamlParserProviderName, } from "veryfront/extensions/parser";
|
|
9
12
|
import extensionPackage from "../deno.js";
|
|
10
|
-
import { createStdYamlSkillDocumentParserProvider } from "./adapter.js";
|
|
13
|
+
import { createStdYamlSkillDocumentParserProvider, createYamlParser } from "./adapter.js";
|
|
11
14
|
const extYaml = () => {
|
|
12
|
-
const
|
|
15
|
+
const skillParser = createStdYamlSkillDocumentParserProvider();
|
|
16
|
+
const yamlParser = createYamlParser();
|
|
13
17
|
return {
|
|
14
18
|
name: "ext-yaml",
|
|
15
19
|
version: extensionPackage.version,
|
|
16
20
|
contracts: {
|
|
17
|
-
provides: [SkillDocumentParserProviderName],
|
|
21
|
+
provides: [SkillDocumentParserProviderName, YamlParserProviderName],
|
|
18
22
|
},
|
|
19
23
|
capabilities: [],
|
|
20
24
|
setup(ctx) {
|
|
21
|
-
ctx.provide(SkillDocumentParserProviderName,
|
|
22
|
-
ctx.
|
|
25
|
+
ctx.provide(SkillDocumentParserProviderName, skillParser);
|
|
26
|
+
ctx.provide(YamlParserProviderName, yamlParser);
|
|
27
|
+
ctx.logger.debug("[ext-yaml] SkillDocumentParserProvider and YamlParserProvider registered");
|
|
23
28
|
},
|
|
24
29
|
teardown() {
|
|
25
30
|
// No resources to release.
|
|
@@ -27,4 +32,4 @@ const extYaml = () => {
|
|
|
27
32
|
};
|
|
28
33
|
};
|
|
29
34
|
export default extYaml;
|
|
30
|
-
export { createStdYamlSkillDocumentParserProvider } from "./adapter.js";
|
|
35
|
+
export { createStdYamlSkillDocumentParserProvider, createYamlParser, parseYamlSource, } from "./adapter.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veryfront/ext-yaml",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1227",
|
|
4
4
|
"description": "Veryfront first-party extension package for ext-yaml",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"veryfront",
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"activation": "auto",
|
|
38
38
|
"contracts": {
|
|
39
39
|
"provides": [
|
|
40
|
-
"SkillDocumentParserProvider"
|
|
40
|
+
"SkillDocumentParserProvider",
|
|
41
|
+
"YamlParserProvider"
|
|
41
42
|
]
|
|
42
43
|
},
|
|
43
44
|
"capabilities": [],
|
|
@@ -45,8 +46,11 @@
|
|
|
45
46
|
"runtimeVersionFromManifest": true
|
|
46
47
|
}
|
|
47
48
|
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"yaml": "2.9.0"
|
|
51
|
+
},
|
|
48
52
|
"peerDependencies": {
|
|
49
|
-
"veryfront": "^0.1.
|
|
53
|
+
"veryfront": "^0.1.1227"
|
|
50
54
|
},
|
|
51
55
|
"type": "module",
|
|
52
56
|
"types": "./esm/src/index.d.ts",
|
package/esm/_dnt.polyfills.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
interface Object {
|
|
3
|
-
/**
|
|
4
|
-
* Determines whether an object has a property with the specified name.
|
|
5
|
-
* @param o An object.
|
|
6
|
-
* @param v A property name.
|
|
7
|
-
*/
|
|
8
|
-
hasOwn(o: object, v: PropertyKey): boolean;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=_dnt.polyfills.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAeA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd;;;;WAIG;QACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC5C;CACF;AAED,OAAO,EAAE,CAAC"}
|
package/esm/_dnt.polyfills.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// https://github.com/tc39/proposal-accessible-object-hasownproperty/blob/main/polyfill.js
|
|
2
|
-
if (!Object.hasOwn) {
|
|
3
|
-
Object.defineProperty(Object, "hasOwn", {
|
|
4
|
-
value: function (object, property) {
|
|
5
|
-
if (object == null) {
|
|
6
|
-
throw new TypeError("Cannot convert undefined or null to object");
|
|
7
|
-
}
|
|
8
|
-
return Object.prototype.hasOwnProperty.call(Object(object), property);
|
|
9
|
-
},
|
|
10
|
-
configurable: true,
|
|
11
|
-
enumerable: false,
|
|
12
|
-
writable: true,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export declare const BOM = 65279;
|
|
2
|
-
export declare const TAB = 9;
|
|
3
|
-
export declare const LINE_FEED = 10;
|
|
4
|
-
export declare const CARRIAGE_RETURN = 13;
|
|
5
|
-
export declare const SPACE = 32;
|
|
6
|
-
export declare const EXCLAMATION = 33;
|
|
7
|
-
export declare const DOUBLE_QUOTE = 34;
|
|
8
|
-
export declare const SHARP = 35;
|
|
9
|
-
export declare const PERCENT = 37;
|
|
10
|
-
export declare const AMPERSAND = 38;
|
|
11
|
-
export declare const SINGLE_QUOTE = 39;
|
|
12
|
-
export declare const ASTERISK = 42;
|
|
13
|
-
export declare const PLUS = 43;
|
|
14
|
-
export declare const COMMA = 44;
|
|
15
|
-
export declare const MINUS = 45;
|
|
16
|
-
export declare const DOT = 46;
|
|
17
|
-
export declare const COLON = 58;
|
|
18
|
-
export declare const SMALLER_THAN = 60;
|
|
19
|
-
export declare const GREATER_THAN = 62;
|
|
20
|
-
export declare const QUESTION = 63;
|
|
21
|
-
export declare const COMMERCIAL_AT = 64;
|
|
22
|
-
export declare const LEFT_SQUARE_BRACKET = 91;
|
|
23
|
-
export declare const BACKSLASH = 92;
|
|
24
|
-
export declare const RIGHT_SQUARE_BRACKET = 93;
|
|
25
|
-
export declare const GRAVE_ACCENT = 96;
|
|
26
|
-
export declare const LEFT_CURLY_BRACKET = 123;
|
|
27
|
-
export declare const VERTICAL_LINE = 124;
|
|
28
|
-
export declare const RIGHT_CURLY_BRACKET = 125;
|
|
29
|
-
export declare function isEOL(c: number): boolean;
|
|
30
|
-
export declare function isWhiteSpace(c: number): boolean;
|
|
31
|
-
export declare function isWhiteSpaceOrEOL(c: number): boolean;
|
|
32
|
-
export declare function isFlowIndicator(c: number): boolean;
|
|
33
|
-
//# sourceMappingURL=_chars.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_chars.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_chars.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG,QAAS,CAAC;AAC1B,eAAO,MAAM,GAAG,IAAO,CAAC;AACxB,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAO,CAAC;AACpC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,KAAO,CAAC;AAChC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,OAAO,KAAO,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,IAAI,KAAO,CAAC;AACzB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,GAAG,KAAO,CAAC;AACxB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,KAAO,CAAC;AACxC,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,oBAAoB,KAAO,CAAC;AACzC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,kBAAkB,MAAO,CAAC;AACvC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// Ported from js-yaml v3.13.1:
|
|
2
|
-
// https://github.com/nodeca/js-yaml/commit/665aadda42349dcae869f12040d9b10ef18d12da
|
|
3
|
-
// Copyright 2011-2015 by Vitaly Puzrin. All rights reserved. MIT license.
|
|
4
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
5
|
-
export const BOM = 0xfeff; /* BOM */
|
|
6
|
-
export const TAB = 0x09; /* Tab */
|
|
7
|
-
export const LINE_FEED = 0x0a; /* LF */
|
|
8
|
-
export const CARRIAGE_RETURN = 0x0d; /* CR */
|
|
9
|
-
export const SPACE = 0x20; /* Space */
|
|
10
|
-
export const EXCLAMATION = 0x21; /* ! */
|
|
11
|
-
export const DOUBLE_QUOTE = 0x22; /* " */
|
|
12
|
-
export const SHARP = 0x23; /* # */
|
|
13
|
-
export const PERCENT = 0x25; /* % */
|
|
14
|
-
export const AMPERSAND = 0x26; /* & */
|
|
15
|
-
export const SINGLE_QUOTE = 0x27; /* ' */
|
|
16
|
-
export const ASTERISK = 0x2a; /* * */
|
|
17
|
-
export const PLUS = 0x2b; /* + */
|
|
18
|
-
export const COMMA = 0x2c; /* , */
|
|
19
|
-
export const MINUS = 0x2d; /* - */
|
|
20
|
-
export const DOT = 0x2e; /* . */
|
|
21
|
-
export const COLON = 0x3a; /* : */
|
|
22
|
-
export const SMALLER_THAN = 0x3c; /* < */
|
|
23
|
-
export const GREATER_THAN = 0x3e; /* > */
|
|
24
|
-
export const QUESTION = 0x3f; /* ? */
|
|
25
|
-
export const COMMERCIAL_AT = 0x40; /* @ */
|
|
26
|
-
export const LEFT_SQUARE_BRACKET = 0x5b; /* [ */
|
|
27
|
-
export const BACKSLASH = 0x5c; /* \ */
|
|
28
|
-
export const RIGHT_SQUARE_BRACKET = 0x5d; /* ] */
|
|
29
|
-
export const GRAVE_ACCENT = 0x60; /* ` */
|
|
30
|
-
export const LEFT_CURLY_BRACKET = 0x7b; /* { */
|
|
31
|
-
export const VERTICAL_LINE = 0x7c; /* | */
|
|
32
|
-
export const RIGHT_CURLY_BRACKET = 0x7d; /* } */
|
|
33
|
-
export function isEOL(c) {
|
|
34
|
-
return c === LINE_FEED || c === CARRIAGE_RETURN;
|
|
35
|
-
}
|
|
36
|
-
export function isWhiteSpace(c) {
|
|
37
|
-
return c === TAB || c === SPACE;
|
|
38
|
-
}
|
|
39
|
-
export function isWhiteSpaceOrEOL(c) {
|
|
40
|
-
return isWhiteSpace(c) || isEOL(c);
|
|
41
|
-
}
|
|
42
|
-
export function isFlowIndicator(c) {
|
|
43
|
-
return (c === COMMA ||
|
|
44
|
-
c === LEFT_SQUARE_BRACKET ||
|
|
45
|
-
c === RIGHT_SQUARE_BRACKET ||
|
|
46
|
-
c === LEFT_CURLY_BRACKET ||
|
|
47
|
-
c === RIGHT_CURLY_BRACKET);
|
|
48
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { type Schema, type TypeMap } from "./_schema.js";
|
|
2
|
-
import type { KindType, Type } from "./_type.js";
|
|
3
|
-
export interface LoaderStateOptions {
|
|
4
|
-
/** specifies a schema to use. */
|
|
5
|
-
schema?: Schema;
|
|
6
|
-
/** compatibility with JSON.parse behaviour. */
|
|
7
|
-
allowDuplicateKeys?: boolean;
|
|
8
|
-
/** function to call on warning messages. */
|
|
9
|
-
onWarning?(error: Error): void;
|
|
10
|
-
}
|
|
11
|
-
interface State {
|
|
12
|
-
tag: string | null;
|
|
13
|
-
anchor: string | null;
|
|
14
|
-
kind: KindType | null;
|
|
15
|
-
result: unknown[] | Record<string, unknown> | string | null;
|
|
16
|
-
}
|
|
17
|
-
export declare class LoaderState {
|
|
18
|
-
#private;
|
|
19
|
-
lineIndent: number;
|
|
20
|
-
lineStart: number;
|
|
21
|
-
line: number;
|
|
22
|
-
onWarning: ((error: Error) => void) | undefined;
|
|
23
|
-
allowDuplicateKeys: boolean;
|
|
24
|
-
implicitTypes: Type<"scalar">[];
|
|
25
|
-
typeMap: TypeMap;
|
|
26
|
-
checkLineBreaks: boolean;
|
|
27
|
-
tagMap: Map<any, any>;
|
|
28
|
-
anchorMap: Map<any, any>;
|
|
29
|
-
constructor(input: string, { schema, onWarning, allowDuplicateKeys, }: LoaderStateOptions);
|
|
30
|
-
skipWhitespaces(): void;
|
|
31
|
-
skipComment(): void;
|
|
32
|
-
readIndent(): void;
|
|
33
|
-
dispatchWarning(message: string): void;
|
|
34
|
-
yamlDirectiveHandler(args: string[]): string | null;
|
|
35
|
-
tagDirectiveHandler(args: string[]): void;
|
|
36
|
-
captureSegment(start: number, end: number, checkJson: boolean): string | undefined;
|
|
37
|
-
readBlockSequence(tag: string | null, anchor: string | null, nodeIndent: number): State | void;
|
|
38
|
-
mergeMappings(destination: Record<string, unknown>, source: Record<string, unknown>, overridableKeys: Set<string>): void;
|
|
39
|
-
storeMappingPair(result: Record<string, unknown>, overridableKeys: Set<string>, keyTag: string | null, keyNode: Record<PropertyKey, unknown> | unknown[] | string | null, valueNode: unknown, startLine?: number, startPos?: number): Record<string, unknown>;
|
|
40
|
-
readLineBreak(): void;
|
|
41
|
-
skipSeparationSpace(allowComments: boolean, checkIndent: number): number;
|
|
42
|
-
testDocumentSeparator(): boolean;
|
|
43
|
-
readPlainScalar(tag: string | null, anchor: string | null, nodeIndent: number, withinFlowCollection: boolean): State | void;
|
|
44
|
-
readSingleQuotedScalar(tag: string | null, anchor: string | null, nodeIndent: number): State | void;
|
|
45
|
-
readDoubleQuotedScalar(tag: string | null, anchor: string | null, nodeIndent: number): State | void;
|
|
46
|
-
readFlowCollection(tag: string | null, anchor: string | null, nodeIndent: number): State | void;
|
|
47
|
-
readBlockScalar(tag: string | null, anchor: string | null, nodeIndent: number): State | void;
|
|
48
|
-
readBlockMapping(tag: string | null, anchor: string | null, nodeIndent: number, flowIndent: number): State | void;
|
|
49
|
-
readTagProperty(tag: string | null): string | void;
|
|
50
|
-
readAnchorProperty(anchor: string | null): string | void;
|
|
51
|
-
readAlias(): string | void;
|
|
52
|
-
resolveTag(state: State): State;
|
|
53
|
-
composeNode({ parentIndent, nodeContext, allowToSeek, allowCompact }: {
|
|
54
|
-
parentIndent: number;
|
|
55
|
-
nodeContext: number;
|
|
56
|
-
allowToSeek: boolean;
|
|
57
|
-
allowCompact: boolean;
|
|
58
|
-
}): State | void;
|
|
59
|
-
readDirectives(): boolean;
|
|
60
|
-
readDocument(): string | unknown[] | Record<string, unknown> | null;
|
|
61
|
-
readDocuments(): Generator<string | unknown[] | Record<string, unknown> | null, void, unknown>;
|
|
62
|
-
}
|
|
63
|
-
export {};
|
|
64
|
-
//# sourceMappingURL=_loader_state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_loader_state.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_loader_state.ts"],"names":[],"mappings":"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"}
|