@agentxm/extension-content 0.49.2 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/content/frontmatter.d.ts +16 -0
- package/dist/src/content/frontmatter.js +6 -4
- package/dist/src/content/skill-content.d.ts +13 -14
- package/dist/src/content/skill-content.js +8 -46
- package/dist/src/content/subagent-content.js +14 -10
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +3 -3
- package/dist/src/knowledge/index.d.ts +1 -1
- package/dist/src/knowledge/index.js +2 -2
- package/dist/src/knowledge/okf.d.ts +52 -1
- package/dist/src/knowledge/okf.js +86 -59
- package/dist/src/knowledge/package-inspection.d.ts +4 -7
- package/dist/src/knowledge/package-inspection.js +7 -19
- package/dist/src/lint/accessor/platform.d.ts +54 -0
- package/dist/src/lint/accessor/platform.js +89 -0
- package/dist/src/lint/{catalog/pack-accessor → accessor}/vft.d.ts +12 -14
- package/dist/src/lint/accessor/vft.js +83 -0
- package/dist/src/lint/catalog/hook/entrypoint-exists.d.ts +2 -2
- package/dist/src/lint/catalog/hook/entrypoint-exists.js +4 -3
- package/dist/src/lint/catalog/hook/envelope.d.ts +6 -6
- package/dist/src/lint/catalog/hook/envelope.js +5 -4
- package/dist/src/lint/catalog/hook/native-bindings-supported.d.ts +2 -2
- package/dist/src/lint/catalog/hook/native-bindings-supported.js +4 -3
- package/dist/src/lint/catalog/hook.d.ts +2 -2
- package/dist/src/lint/catalog/hook.js +1 -1
- package/dist/src/lint/catalog/knowledge/diagnostics.js +4 -3
- package/dist/src/lint/catalog/knowledge/envelope.d.ts +1 -1
- package/dist/src/lint/catalog/knowledge/envelope.js +4 -3
- package/dist/src/lint/catalog/mcp-server/envelope.d.ts +2 -2
- package/dist/src/lint/catalog/mcp-server/envelope.js +4 -3
- package/dist/src/lint/catalog/mcp-server.d.ts +2 -2
- package/dist/src/lint/catalog/{pack-accessor → pack}/contexts.d.ts +6 -6
- package/dist/src/lint/catalog/{pack-accessor → pack}/contexts.js +4 -4
- package/dist/src/lint/catalog/pack/envelope.d.ts +10 -0
- package/dist/src/lint/catalog/pack/envelope.js +20 -0
- package/dist/src/lint/catalog/pack.d.ts +9 -10
- package/dist/src/lint/catalog/pack.js +12 -15
- package/dist/src/lint/catalog/rule/envelope.d.ts +2 -2
- package/dist/src/lint/catalog/rule/envelope.js +4 -3
- package/dist/src/lint/catalog/rule.d.ts +2 -2
- package/dist/src/lint/catalog/shared/envelope-rules.d.ts +23 -12
- package/dist/src/lint/catalog/shared/envelope-rules.js +22 -13
- package/dist/src/lint/catalog/shared/manifest-present.d.ts +3 -4
- package/dist/src/lint/catalog/shared/recommended-packs-rules.js +5 -3
- package/dist/src/lint/catalog/shared/schema-rule.js +3 -3
- package/dist/src/lint/catalog/{skill-accessor → skill}/contexts.d.ts +5 -5
- package/dist/src/lint/catalog/{skill-accessor → skill}/contexts.js +3 -3
- package/dist/src/lint/catalog/skill/envelope.d.ts +11 -0
- package/dist/src/lint/catalog/skill/envelope.js +23 -0
- package/dist/src/lint/catalog/skill/frontmatter-parseable.d.ts +6 -4
- package/dist/src/lint/catalog/skill/frontmatter-parseable.js +17 -21
- package/dist/src/lint/catalog/skill/frontmatter-standard-valid.js +7 -12
- package/dist/src/lint/catalog/skill.d.ts +4 -5
- package/dist/src/lint/catalog/skill.js +11 -16
- package/dist/src/lint/catalog/subagent/envelope.d.ts +2 -2
- package/dist/src/lint/catalog/subagent/envelope.js +4 -3
- package/dist/src/lint/catalog/subagent.d.ts +2 -2
- package/dist/src/lint/catalog-metadata.js +13 -1
- package/dist/src/lint/context.d.ts +39 -115
- package/dist/src/lint/describe-document.d.ts +1 -1
- package/dist/src/lint/describe-document.js +4 -5
- package/dist/src/lint/index.d.ts +5 -7
- package/dist/src/lint/index.js +5 -7
- package/dist/src/packaging/archive-guardrails.d.ts +11 -0
- package/dist/src/packaging/archive-guardrails.js +111 -74
- package/dist/src/packaging/filtered-package-validation.js +3 -4
- package/dist/src/packaging/manifest-file.d.ts +7 -3
- package/dist/src/packaging/manifest-file.js +10 -11
- package/dist/src/packaging/manifest-policy.d.ts +0 -12
- package/dist/src/packaging/manifest-policy.js +12 -26
- package/dist/src/packaging/test-zip-helpers.js +4 -3
- package/package.json +8 -4
- package/dist/src/lint/catalog/pack/manifest-keys-recognized.d.ts +0 -28
- package/dist/src/lint/catalog/pack/manifest-keys-recognized.js +0 -38
- package/dist/src/lint/catalog/pack/manifest-present.d.ts +0 -17
- package/dist/src/lint/catalog/pack/manifest-present.js +0 -24
- package/dist/src/lint/catalog/pack/manifest-schema-valid.d.ts +0 -25
- package/dist/src/lint/catalog/pack/manifest-schema-valid.js +0 -33
- package/dist/src/lint/catalog/pack-accessor/platform.d.ts +0 -56
- package/dist/src/lint/catalog/pack-accessor/platform.js +0 -93
- package/dist/src/lint/catalog/pack-accessor/vft.js +0 -85
- package/dist/src/lint/catalog/skill/manifest-keys-recognized.d.ts +0 -26
- package/dist/src/lint/catalog/skill/manifest-keys-recognized.js +0 -41
- package/dist/src/lint/catalog/skill/manifest-present.d.ts +0 -23
- package/dist/src/lint/catalog/skill/manifest-present.js +0 -32
- package/dist/src/lint/catalog/skill/manifest-schema-valid.d.ts +0 -21
- package/dist/src/lint/catalog/skill/manifest-schema-valid.js +0 -36
- package/dist/src/lint/catalog/skill/recommended-packs-valid.d.ts +0 -8
- package/dist/src/lint/catalog/skill/recommended-packs-valid.js +0 -12
- package/dist/src/lint/catalog/skill/standalone-declaration-valid.d.ts +0 -8
- package/dist/src/lint/catalog/skill/standalone-declaration-valid.js +0 -12
- package/dist/src/lint/catalog/skill-accessor/platform.d.ts +0 -53
- package/dist/src/lint/catalog/skill-accessor/platform.js +0 -90
- package/dist/src/lint/catalog/skill-accessor/vft.d.ts +0 -77
- package/dist/src/lint/catalog/skill-accessor/vft.js +0 -135
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* Cascade (reports the first failure in the order below; later arms
|
|
6
6
|
* short-circuit):
|
|
7
7
|
*
|
|
8
|
-
* 1. SKILL.md begins with `---` at byte 0 (no BOM, no leading
|
|
9
|
-
* leading HTML comment). This is the arm that caught the
|
|
8
|
+
* 1. SKILL.md begins with a `---` line at byte 0 (no BOM, no leading
|
|
9
|
+
* whitespace, no leading HTML comment). This is the arm that caught the
|
|
10
10
|
* `@agentxm/skills/axm` regression — an HTML comment preceded the
|
|
11
11
|
* frontmatter delimiter, so YAML parsers silently treated the content as
|
|
12
12
|
* body.
|
|
13
|
-
* 2.
|
|
14
|
-
*
|
|
13
|
+
* 2. A closing `---` line ends the block. Delimiters are located by
|
|
14
|
+
* `findFrontmatterBoundaries`, the same grammar `parseSkillMd` uses.
|
|
15
|
+
* 3. Frontmatter YAML parses without error.
|
|
16
|
+
* 4. Parsed frontmatter is a mapping (not a list, not a scalar).
|
|
15
17
|
*
|
|
16
18
|
* Presence is handled by `skill/skill-md-present`; this rule early-returns
|
|
17
19
|
* `[]` when `SKILL.md` is absent.
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* Cascade (reports the first failure in the order below; later arms
|
|
6
6
|
* short-circuit):
|
|
7
7
|
*
|
|
8
|
-
* 1. SKILL.md begins with `---` at byte 0 (no BOM, no leading
|
|
9
|
-
* leading HTML comment). This is the arm that caught the
|
|
8
|
+
* 1. SKILL.md begins with a `---` line at byte 0 (no BOM, no leading
|
|
9
|
+
* whitespace, no leading HTML comment). This is the arm that caught the
|
|
10
10
|
* `@agentxm/skills/axm` regression — an HTML comment preceded the
|
|
11
11
|
* frontmatter delimiter, so YAML parsers silently treated the content as
|
|
12
12
|
* body.
|
|
13
|
-
* 2.
|
|
14
|
-
*
|
|
13
|
+
* 2. A closing `---` line ends the block. Delimiters are located by
|
|
14
|
+
* `findFrontmatterBoundaries`, the same grammar `parseSkillMd` uses.
|
|
15
|
+
* 3. Frontmatter YAML parses without error.
|
|
16
|
+
* 4. Parsed frontmatter is a mapping (not a list, not a scalar).
|
|
15
17
|
*
|
|
16
18
|
* Presence is handled by `skill/skill-md-present`; this rule early-returns
|
|
17
19
|
* `[]` when `SKILL.md` is absent.
|
|
@@ -26,7 +28,9 @@
|
|
|
26
28
|
* @packageDocumentation
|
|
27
29
|
*/
|
|
28
30
|
import * as Effect from "effect/Effect";
|
|
31
|
+
import * as Predicate from "effect/Predicate";
|
|
29
32
|
import YAML from "yaml";
|
|
33
|
+
import { findFrontmatterBoundaries } from "../../../content/frontmatter.js";
|
|
30
34
|
const RULE_ID = "skill/frontmatter-parseable";
|
|
31
35
|
const SKILL_MD = "SKILL.md";
|
|
32
36
|
const DELIMITER = "---";
|
|
@@ -70,9 +74,7 @@ const evaluateCascade = (content) => {
|
|
|
70
74
|
}
|
|
71
75
|
const parsed = parseFrontmatterYaml(content);
|
|
72
76
|
if (parsed === undefined) {
|
|
73
|
-
//
|
|
74
|
-
// already handled the "literally no ---" case; reaching here means the
|
|
75
|
-
// delimiter was found but the closing delimiter is missing).
|
|
77
|
+
// Arm 1 guaranteed the opening `---` line, so the closing one is missing.
|
|
76
78
|
return [
|
|
77
79
|
finding("SKILL.md frontmatter is malformed because the closing `---` delimiter is missing. Add a closing `---` after the frontmatter block."),
|
|
78
80
|
];
|
|
@@ -82,7 +84,7 @@ const evaluateCascade = (content) => {
|
|
|
82
84
|
finding(`SKILL.md frontmatter YAML is invalid. Detail: ${parsed.message}. Fix the YAML syntax in the frontmatter block.`),
|
|
83
85
|
];
|
|
84
86
|
}
|
|
85
|
-
if (!
|
|
87
|
+
if (!Predicate.isReadonlyObject(parsed.value)) {
|
|
86
88
|
return [
|
|
87
89
|
finding("SKILL.md frontmatter must be a YAML mapping, not a list or scalar. Rewrite the frontmatter block in `SKILL.md` as `key: value` pairs."),
|
|
88
90
|
];
|
|
@@ -97,7 +99,9 @@ const detectLeadingBytes = (content) => {
|
|
|
97
99
|
return finding("SKILL.md starts with a UTF-8 BOM before the frontmatter delimiter. Remove the BOM so the file starts with `---`.", { line: 1 });
|
|
98
100
|
}
|
|
99
101
|
if (content.startsWith(DELIMITER)) {
|
|
100
|
-
return
|
|
102
|
+
return content.split(/\r?\n/u, 1)[0] === DELIMITER
|
|
103
|
+
? undefined
|
|
104
|
+
: finding("SKILL.md frontmatter must open with a line containing only `---`. Move any text after the opening delimiter onto the next line.", { line: 1 });
|
|
101
105
|
}
|
|
102
106
|
// Any non-`---` leading content is a cascade-arm-1 violation. Detect the
|
|
103
107
|
// common HTML-comment case explicitly so the finding message is clear.
|
|
@@ -107,21 +111,14 @@ const detectLeadingBytes = (content) => {
|
|
|
107
111
|
return finding("SKILL.md must start with the frontmatter delimiter `---`. Remove any leading content so the file starts with `---`.", { line: 1 });
|
|
108
112
|
};
|
|
109
113
|
const parseFrontmatterYaml = (content) => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const afterOpening = content.indexOf("\n");
|
|
113
|
-
if (afterOpening === -1) {
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
const closingIndex = content.indexOf(`\n${DELIMITER}`, afterOpening);
|
|
117
|
-
if (closingIndex === -1) {
|
|
114
|
+
const boundaries = findFrontmatterBoundaries(content);
|
|
115
|
+
if (boundaries === undefined) {
|
|
118
116
|
return undefined;
|
|
119
117
|
}
|
|
120
|
-
const yamlContent = content.slice(afterOpening + 1, closingIndex);
|
|
121
118
|
try {
|
|
122
119
|
// YAML.parse returns `null | undefined` for empty input; we care about
|
|
123
120
|
// shape, not emptiness at this arm.
|
|
124
|
-
const value = YAML.parse(
|
|
121
|
+
const value = YAML.parse(content.slice(boundaries.yamlStart, boundaries.yamlEnd));
|
|
125
122
|
return { kind: "parsed", value };
|
|
126
123
|
}
|
|
127
124
|
catch (error) {
|
|
@@ -131,7 +128,6 @@ const parseFrontmatterYaml = (content) => {
|
|
|
131
128
|
};
|
|
132
129
|
}
|
|
133
130
|
};
|
|
134
|
-
const isMapping = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
135
131
|
// -----------------------------------------------------------------------------
|
|
136
132
|
// Finding helpers
|
|
137
133
|
// -----------------------------------------------------------------------------
|
|
@@ -146,4 +142,4 @@ const finding = (message, position) => ({
|
|
|
146
142
|
...(position?.column !== undefined ? { column: position.column } : {}),
|
|
147
143
|
},
|
|
148
144
|
});
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXItcGFyc2VhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnQvY2F0YWxvZy9za2lsbC9mcm9udG1hdHRlci1wYXJzZWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFFSCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUk1RSxNQUFNLE9BQU8sR0FBRyw2QkFBNkIsQ0FBQztBQUM5QyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDNUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBQ3hCLHlFQUF5RTtBQUN6RSw4Q0FBOEM7QUFDOUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBRTFCLDRFQUE0RTtBQUM1RSwrREFBK0Q7QUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUM7SUFDdEUsRUFBRSxFQUFFLE9BQU87SUFDWCxnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFdBQVcsRUFBRSwrQ0FBK0M7SUFDNUQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsUUFBUSxFQUFFLE9BQU87SUFDakIsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxN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
|
|
@@ -8,25 +8,20 @@
|
|
|
8
8
|
* @experimental This API is unstable and may change without notice.
|
|
9
9
|
*/
|
|
10
10
|
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as Predicate from "effect/Predicate";
|
|
11
12
|
import YAML from "yaml";
|
|
13
|
+
import { findFrontmatterBoundaries } from "../../../content/frontmatter.js";
|
|
12
14
|
import { validateSkillFrontmatter } from "../../../content/skill-content.js";
|
|
13
15
|
const RULE_ID = "skill/frontmatter-standard-valid";
|
|
14
16
|
const SKILL_MD = "SKILL.md";
|
|
15
17
|
const decoder = new TextDecoder("utf-8", { fatal: false, ignoreBOM: true });
|
|
16
18
|
const parseFrontmatterMapping = (content) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const openingEnd = content.indexOf("\n");
|
|
20
|
-
if (openingEnd === -1)
|
|
21
|
-
return undefined;
|
|
22
|
-
const closingStart = content.indexOf("\n---", openingEnd);
|
|
23
|
-
if (closingStart === -1)
|
|
19
|
+
const boundaries = findFrontmatterBoundaries(content);
|
|
20
|
+
if (boundaries === undefined)
|
|
24
21
|
return undefined;
|
|
25
22
|
try {
|
|
26
|
-
const parsed = YAML.parse(content.slice(
|
|
27
|
-
return parsed
|
|
28
|
-
? parsed
|
|
29
|
-
: undefined;
|
|
23
|
+
const parsed = YAML.parse(content.slice(boundaries.yamlStart, boundaries.yamlEnd));
|
|
24
|
+
return Predicate.isObject(parsed) ? parsed : undefined;
|
|
30
25
|
}
|
|
31
26
|
catch {
|
|
32
27
|
return undefined;
|
|
@@ -59,4 +54,4 @@ export const frontmatterStandardValidRule = {
|
|
|
59
54
|
return validation.valid ? [] : validation.errors.map(finding);
|
|
60
55
|
}),
|
|
61
56
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXItc3RhbmRhcmQtdmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGludC9jYXRhbG9nL3NraWxsL2Zyb250bWF0dGVyLXN0YW5kYXJkLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJN0UsTUFBTSxPQUFPLEdBQUcsa0NBQWtDLENBQUM7QUFDbkQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFNUUsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE9BQWUsRUFBdUIsRUFBRTtJQUN2RSxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxJQUFJLFVBQVUsS0FBSyxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDL0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUYsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBZSxFQUFtQixFQUFFLENBQUMsQ0FBQztJQUNyRCxJQUFJLEVBQUUsVUFBVTtJQUNoQixNQUFNLEVBQUUsT0FBTztJQUNmLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE9BQU87SUFDUCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7Q0FDdEMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQW1DO0lBQzFFLEVBQUUsRUFBRSxPQUFPO0lBQ1gsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixXQUFXLEVBQUUsaUVBQWlFO0lBQzlFLElBQUksRUFBRSxVQUFVO0lBQ2hCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMzRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxPQUFPLEtBQUssU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0NBQ0wsQ0FBQyJ9
|
|
@@ -15,12 +15,11 @@
|
|
|
15
15
|
* | `skill/standalone-declaration-valid` | warning | — |
|
|
16
16
|
* | `skill/recommended-packs-valid` | warning | — |
|
|
17
17
|
*
|
|
18
|
-
* The
|
|
19
|
-
*
|
|
18
|
+
* The `skill.json` rules are the shared manifest envelope (`./skill/envelope.ts`),
|
|
19
|
+
* interleaved with the skill content rules. They apply to native skills only;
|
|
20
|
+
* a non-native skill carries no manifest, so they produce no findings for it.
|
|
20
21
|
*
|
|
21
|
-
* All ship `kind: "advisory"`.
|
|
22
|
-
* expressed via `check` early-return (no separate `applies` predicate); see
|
|
23
|
-
* each rule's module for the guard.
|
|
22
|
+
* All ship `kind: "advisory"`.
|
|
24
23
|
*
|
|
25
24
|
* @experimental This API is unstable and may change without notice.
|
|
26
25
|
* @packageDocumentation
|
|
@@ -15,24 +15,19 @@
|
|
|
15
15
|
* | `skill/standalone-declaration-valid` | warning | — |
|
|
16
16
|
* | `skill/recommended-packs-valid` | warning | — |
|
|
17
17
|
*
|
|
18
|
-
* The
|
|
19
|
-
*
|
|
18
|
+
* The `skill.json` rules are the shared manifest envelope (`./skill/envelope.ts`),
|
|
19
|
+
* interleaved with the skill content rules. They apply to native skills only;
|
|
20
|
+
* a non-native skill carries no manifest, so they produce no findings for it.
|
|
20
21
|
*
|
|
21
|
-
* All ship `kind: "advisory"`.
|
|
22
|
-
* expressed via `check` early-return (no separate `applies` predicate); see
|
|
23
|
-
* each rule's module for the guard.
|
|
22
|
+
* All ship `kind: "advisory"`.
|
|
24
23
|
*
|
|
25
24
|
* @experimental This API is unstable and may change without notice.
|
|
26
25
|
* @packageDocumentation
|
|
27
26
|
*/
|
|
28
27
|
import { skillMdPresentRule } from "./skill/skill-md-present.js";
|
|
29
|
-
import {
|
|
28
|
+
import { skillEnvelopeRules } from "./skill/envelope.js";
|
|
30
29
|
import { frontmatterParseableRule } from "./skill/frontmatter-parseable.js";
|
|
31
30
|
import { frontmatterStandardValidRule } from "./skill/frontmatter-standard-valid.js";
|
|
32
|
-
import { manifestSchemaValidRule } from "./skill/manifest-schema-valid.js";
|
|
33
|
-
import { manifestKeysRecognizedRule } from "./skill/manifest-keys-recognized.js";
|
|
34
|
-
import { recommendedPacksValidRule } from "./skill/recommended-packs-valid.js";
|
|
35
|
-
import { standaloneDeclarationValidRule } from "./skill/standalone-declaration-valid.js";
|
|
36
31
|
/**
|
|
37
32
|
* Ordered `skill/*` rule catalog. Declaration order is the evaluation
|
|
38
33
|
* order within a single `evaluateContexts` call (deterministic ordering is
|
|
@@ -42,12 +37,12 @@ import { standaloneDeclarationValidRule } from "./skill/standalone-declaration-v
|
|
|
42
37
|
*/
|
|
43
38
|
export const skillRules = [
|
|
44
39
|
skillMdPresentRule,
|
|
45
|
-
|
|
40
|
+
skillEnvelopeRules.manifestPresent,
|
|
46
41
|
frontmatterParseableRule,
|
|
47
42
|
frontmatterStandardValidRule,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
skillEnvelopeRules.manifestSchemaValid,
|
|
44
|
+
skillEnvelopeRules.manifestKeysRecognized,
|
|
45
|
+
skillEnvelopeRules.standaloneDeclarationValid,
|
|
46
|
+
skillEnvelopeRules.recommendedPacksValid,
|
|
52
47
|
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGludC9jYXRhbG9nL3NraWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBSUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFckY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUE4QztJQUNuRSxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsZUFBZTtJQUNsQyx3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLGtCQUFrQixDQUFDLG1CQUFtQjtJQUN0QyxrQkFBa0IsQ0FBQyxzQkFBc0I7SUFDekMsa0JBQWtCLENBQUMsMEJBQTBCO0lBQzdDLGtCQUFrQixDQUFDLHFCQUFxQjtDQUN6QyxDQUFDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `subagent/*` manifest envelope — see `../shared/envelope-rules.ts`.
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
5
|
-
export declare const subagentEnvelopeRules: import("../shared/envelope-rules.js").ManifestEnvelopeRules<
|
|
4
|
+
import type { ManifestRuleContext, SubagentContent } from "../../context.js";
|
|
5
|
+
export declare const subagentEnvelopeRules: import("../shared/envelope-rules.js").ManifestEnvelopeRules<ManifestRuleContext<SubagentContent>>;
|
|
6
6
|
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `subagent/*` manifest envelope — see `../shared/envelope-rules.ts`.
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { SubagentManifestSchema } from "@agentxm/extension-model/unstable/subagents/manifest-schema";
|
|
5
5
|
import { makeManifestEnvelopeRules } from "../shared/envelope-rules.js";
|
|
6
|
+
import { manifestFilenameForType } from "@agentxm/extension-model/unstable/extensions/common";
|
|
6
7
|
export const subagentEnvelopeRules = makeManifestEnvelopeRules({
|
|
7
8
|
namespace: "subagent",
|
|
8
|
-
manifestFile:
|
|
9
|
+
manifestFile: manifestFilenameForType("subagent"),
|
|
9
10
|
schema: SubagentManifestSchema,
|
|
10
11
|
manifestJson: (context) => context.subject.subagentJson,
|
|
11
12
|
presentDescription: "Subagents include a root subagent.json manifest.",
|
|
12
13
|
presentMissingMessage: "subagent.json is missing. Create the identity fields and either a described portable core or explicit native implementations.",
|
|
13
14
|
schemaDescription: "subagent.json defines a valid subagent manifest.",
|
|
14
15
|
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52ZWxvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGludC9jYXRhbG9nL3N1YmFnZW50L2VudmVsb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFckcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcseUJBQXlCLENBQUM7SUFDN0QsU0FBUyxFQUFFLFVBQVU7SUFDckIsWUFBWSxFQUFFLHVCQUF1QixDQUFDLFVBQVUsQ0FBQztJQUNqRCxNQUFNLEVBQUUsc0JBQXNCO0lBQzlCLFlBQVksRUFBRSxDQUFDLE9BQTZDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWTtJQUM3RixrQkFBa0IsRUFBRSxrREFBa0Q7SUFDdEUscUJBQXFCLEVBQ25CLCtIQUErSDtJQUNqSSxpQkFBaUIsRUFBRSxrREFBa0Q7Q0FDdEUsQ0FBQyxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ManifestRuleContext, SubagentContent } from "../context.js";
|
|
2
2
|
import type { LintRule } from "../rule.js";
|
|
3
|
-
export declare const subagentRules: ReadonlyArray<LintRule<
|
|
3
|
+
export declare const subagentRules: ReadonlyArray<LintRule<ManifestRuleContext<SubagentContent>>>;
|
|
4
4
|
//# sourceMappingURL=subagent.d.ts.map
|
|
@@ -601,6 +601,18 @@ export const lintCatalogRuleMetadata = defineLintCatalog([
|
|
|
601
601
|
group: "workspace",
|
|
602
602
|
views: filesystemView,
|
|
603
603
|
},
|
|
604
|
+
{
|
|
605
|
+
id: "workspace/native-output-links-resolve",
|
|
606
|
+
defaultSeverity: "warning",
|
|
607
|
+
group: "workspace",
|
|
608
|
+
views: filesystemView,
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
id: "workspace/native-outputs-readable",
|
|
612
|
+
defaultSeverity: "warning",
|
|
613
|
+
group: "workspace",
|
|
614
|
+
views: filesystemView,
|
|
615
|
+
},
|
|
604
616
|
{
|
|
605
617
|
id: "workspace/user-outputs-have-settings",
|
|
606
618
|
defaultSeverity: "warning",
|
|
@@ -688,4 +700,4 @@ export const lintCatalogRuleMetadata = defineLintCatalog([
|
|
|
688
700
|
]);
|
|
689
701
|
/** Every accepted lint-rule identity, in catalog/reporting order. */
|
|
690
702
|
export const allLintCatalogRuleIds = Object.freeze(lintCatalogRuleMetadata.map((entry) => entry.id));
|
|
691
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saW50L2NhdGFsb2ctbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQW9CSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBVSxDQUFDLENBQUM7QUFDdEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBVSxDQUFDLENBQUM7QUFFOUQsTUFBTSxpQkFBaUIsR0FBRyxDQUN4QixPQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUM5QixLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLCtCQUErQixLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pGLE1BQU0sSUFBSSxLQUFLLENBQUMs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RUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsOEJBQThCO1FBQ2xDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xC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QUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsMENBQTBDO1FBQzlDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNENBQTRDO1FBQ2hELGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsMkNBQTJDO1FBQy9DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsb0NBQW9DO1FBQ3hDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsOENBQThDO1FBQ2xELGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsaUNBQWlDO1FBQ3JDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsa0NBQWtDO1FBQ3RDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNEJBQTRCO1FBQ2hDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsbUNBQW1DO1FBQ3ZDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsa0NBQWtDO1FBQ3RDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsb0NBQW9DO1FBQ3hDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0NBQytDLENBQUMsQ0FBQztBQUVwRCxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDaEQsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQ2pELENBQUMifQ==
|
|
703
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saW50L2NhdGFsb2ctbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQW9CSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBVSxDQUFDLENBQUM7QUFDdEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBVSxDQUFDLENBQUM7QUFFOUQsTUFBTSxpQkFBaUIsR0FBRyxDQUN4QixPQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUM5QixLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLCtCQUErQixLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pGLE1BQU0sSUFBSSxLQUFLLENBQUMs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RUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsOEJBQThCO1FBQ2xDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUseUJBQXlCO1FBQzdCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xC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QUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsMENBQTBDO1FBQzlDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNENBQTRDO1FBQ2hELGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsK0JBQStCO1FBQ25DLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNkJBQTZCO1FBQ2pDLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsMkNBQTJDO1FBQy9DLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsbUNBQW1DO1FBQ3ZDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUscUNBQXFDO1FBQ3pDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsb0NBQW9DO1FBQ3hDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsOENBQThDO1FBQ2xELGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0NBQXdDO1FBQzVDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsaUNBQWlDO1FBQ3JDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsc0NBQXNDO1FBQzFDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsa0NBQWtDO1FBQ3RDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsNEJBQTRCO1FBQ2hDLGVBQWUsRUFBRSxTQUFTO1FBQzFCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsbUNBQW1DO1FBQ3ZDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsa0NBQWtDO1FBQ3RDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsb0NBQW9DO1FBQ3hDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUNBQXVDO1FBQzNDLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxTQUFTO0tBQ2pCO0NBQytDLENBQUMsQ0FBQztBQUVwRCxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDaEQsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQ2pELENBQUMifQ==
|