@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
|
@@ -32,6 +32,22 @@ export declare class FrontmatterParseFailure extends FrontmatterParseFailure_bas
|
|
|
32
32
|
export declare const FRONTMATTER_PARSE_FALLBACK_REASON = "YAML frontmatter could not be parsed";
|
|
33
33
|
/** Normalize a foreign YAML failure without retaining its raw cause or parser code. */
|
|
34
34
|
export declare const normalizeFrontmatterParseFailure: (error: unknown, documentLineOffset: number) => FrontmatterParseFailure;
|
|
35
|
+
/** Offsets of a frontmatter block inside its document. */
|
|
36
|
+
export interface FrontmatterBoundaries {
|
|
37
|
+
/** Offset of the first YAML character, just after the opening `---` line. */
|
|
38
|
+
readonly yamlStart: number;
|
|
39
|
+
/** Offset of the closing `---` line; the YAML is `[yamlStart, yamlEnd)`. */
|
|
40
|
+
readonly yamlEnd: number;
|
|
41
|
+
/** Offset of the first body character after the closing `---` line. */
|
|
42
|
+
readonly bodyStart: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Locate the frontmatter block: an opening line that is exactly `---` at the
|
|
46
|
+
* start of the document and the next line that is exactly `---`. CRLF line
|
|
47
|
+
* endings are accepted; a line such as `----` or `---x` is not a delimiter.
|
|
48
|
+
* Returns `undefined` when either delimiter is missing.
|
|
49
|
+
*/
|
|
50
|
+
export declare const findFrontmatterBoundaries: (content: string) => FrontmatterBoundaries | undefined;
|
|
35
51
|
/**
|
|
36
52
|
* Parse frontmatter from content synchronously.
|
|
37
53
|
*
|
|
@@ -47,10 +47,12 @@ export const normalizeFrontmatterParseFailure = (error, documentLineOffset) => {
|
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
50
|
+
* Locate the frontmatter block: an opening line that is exactly `---` at the
|
|
51
|
+
* start of the document and the next line that is exactly `---`. CRLF line
|
|
52
|
+
* endings are accepted; a line such as `----` or `---x` is not a delimiter.
|
|
53
|
+
* Returns `undefined` when either delimiter is missing.
|
|
52
54
|
*/
|
|
53
|
-
const findFrontmatterBoundaries = (content) => {
|
|
55
|
+
export const findFrontmatterBoundaries = (content) => {
|
|
54
56
|
const opening = /^---\r?\n/u.exec(content);
|
|
55
57
|
if (opening === null)
|
|
56
58
|
return undefined;
|
|
@@ -99,4 +101,4 @@ export const parseFrontmatterEffect = (content) => Effect.try({
|
|
|
99
101
|
? error
|
|
100
102
|
: new FrontmatterParseFailure({ reason: FRONTMATTER_PARSE_FALLBACK_REASON }),
|
|
101
103
|
});
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGVudC9mcm9udG1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBYzVDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FJckY7Q0FBRztBQUVMLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHNDQUFzQyxDQUFDO0FBQ3hGLE1BQU0sd0NBQXdDLEdBQUcsR0FBRyxDQUFDO0FBRXJELE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7SUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksd0NBQXdDO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDakYsT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBQzFGLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBVSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkUsTUFBTSxlQUFlLEdBQUcsU0FBUztTQUM5QixPQUFPLENBQUMsK0JBQStC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
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* SKILL.md frontmatter validation and parsing.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* combines the shared frontmatter utility with
|
|
4
|
+
* Validates SKILL.md frontmatter against the pinned Agent Skills standard and
|
|
5
|
+
* combines the shared frontmatter utility with that validation in a parser.
|
|
6
6
|
*
|
|
7
7
|
* @experimental This API is unstable and may change without notice.
|
|
8
8
|
*/
|
|
9
9
|
import * as Option from "effect/Option";
|
|
10
|
-
import * as Schema from "effect/Schema";
|
|
11
10
|
import type { Skill } from "./skill-types.js";
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
12
|
+
* Agent Skills standard metadata at the top of a SKILL.md file, as accepted
|
|
13
|
+
* by {@link validateSkillFrontmatter} (the single authority for its rules).
|
|
14
14
|
*
|
|
15
15
|
* @experimental This API is unstable and may change without notice.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
18
|
-
readonly name:
|
|
19
|
-
readonly description:
|
|
20
|
-
readonly license
|
|
21
|
-
readonly compatibility
|
|
22
|
-
readonly metadata
|
|
23
|
-
readonly "allowed-tools"
|
|
24
|
-
}
|
|
25
|
-
export type SkillFrontmatter = Schema.Schema.Type<typeof SkillFrontmatterSchema>;
|
|
17
|
+
export interface SkillFrontmatter {
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly description: string;
|
|
20
|
+
readonly license?: string;
|
|
21
|
+
readonly compatibility?: string;
|
|
22
|
+
readonly metadata?: Readonly<Record<string, string>>;
|
|
23
|
+
readonly "allowed-tools"?: string;
|
|
24
|
+
}
|
|
26
25
|
export type SkillFrontmatterValidation = {
|
|
27
26
|
readonly valid: true;
|
|
28
27
|
readonly frontmatter: SkillFrontmatter;
|
|
@@ -1,53 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* SKILL.md frontmatter validation and parsing.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* combines the shared frontmatter utility with
|
|
4
|
+
* Validates SKILL.md frontmatter against the pinned Agent Skills standard and
|
|
5
|
+
* combines the shared frontmatter utility with that validation in a parser.
|
|
6
6
|
*
|
|
7
7
|
* @experimental This API is unstable and may change without notice.
|
|
8
8
|
*/
|
|
9
9
|
import * as Option from "effect/Option";
|
|
10
|
-
import * as
|
|
10
|
+
import * as Predicate from "effect/Predicate";
|
|
11
11
|
import { parseFrontmatterSync } from "./frontmatter.js";
|
|
12
12
|
import { AGENT_SKILLS_COMPATIBILITY_MAX_LENGTH, AGENT_SKILLS_DESCRIPTION_MAX_LENGTH, AGENT_SKILLS_FRONTMATTER_FIELDS, AGENT_SKILLS_NAME_MAX_LENGTH, } from "./agent-skills-standard.js";
|
|
13
|
-
const NonEmptyTrimmedStringSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((input) => input.trim().length > 0 ? undefined : "Expected a non-empty string")));
|
|
14
|
-
const BoundedNonEmptyStringSchema = (maximumLength) => NonEmptyTrimmedStringSchema.pipe(Schema.check(Schema.makeFilter((input) => [...input].length <= maximumLength
|
|
15
|
-
? undefined
|
|
16
|
-
: `Expected at most ${maximumLength} characters`)));
|
|
17
|
-
const SkillNameSchema = BoundedNonEmptyStringSchema(AGENT_SKILLS_NAME_MAX_LENGTH).pipe(Schema.check(Schema.makeFilter((input) => {
|
|
18
|
-
const normalized = input.trim().normalize("NFKC");
|
|
19
|
-
if (normalized !== normalized.toLowerCase())
|
|
20
|
-
return "Skill name must be lowercase";
|
|
21
|
-
if (normalized.startsWith("-") || normalized.endsWith("-")) {
|
|
22
|
-
return "Skill name cannot start or end with a hyphen";
|
|
23
|
-
}
|
|
24
|
-
if (normalized.includes("--"))
|
|
25
|
-
return "Skill name cannot contain consecutive hyphens";
|
|
26
|
-
return [...normalized].every((character) => /[\p{L}\p{N}-]/u.test(character))
|
|
27
|
-
? undefined
|
|
28
|
-
: "Skill name may contain only Unicode letters, numbers, and hyphens";
|
|
29
|
-
})));
|
|
30
|
-
const AllowedToolsSchema = NonEmptyTrimmedStringSchema.pipe(Schema.check(Schema.makeFilter((input) => /^\S+(?: \S+)*$/u.test(input) ? undefined : "Allowed tools must be a space-delimited string")));
|
|
31
|
-
/**
|
|
32
|
-
* Schema for SKILL.md frontmatter fields.
|
|
33
|
-
*
|
|
34
|
-
* @experimental This API is unstable and may change without notice.
|
|
35
|
-
*/
|
|
36
|
-
export const SkillFrontmatterSchema = Schema.Struct({
|
|
37
|
-
name: SkillNameSchema.pipe(Schema.annotateKey({ messageMissingKey: "skill name is required in SKILL.md frontmatter" })),
|
|
38
|
-
description: BoundedNonEmptyStringSchema(AGENT_SKILLS_DESCRIPTION_MAX_LENGTH).pipe(Schema.annotateKey({
|
|
39
|
-
messageMissingKey: "skill description is required in SKILL.md frontmatter",
|
|
40
|
-
})),
|
|
41
|
-
license: Schema.optionalKey(Schema.String),
|
|
42
|
-
compatibility: Schema.optionalKey(BoundedNonEmptyStringSchema(AGENT_SKILLS_COMPATIBILITY_MAX_LENGTH)),
|
|
43
|
-
metadata: Schema.optionalKey(Schema.Record(Schema.String, Schema.String)),
|
|
44
|
-
"allowed-tools": Schema.optionalKey(AllowedToolsSchema),
|
|
45
|
-
}).annotate({
|
|
46
|
-
identifier: "SkillFrontmatter",
|
|
47
|
-
title: "Skill Frontmatter",
|
|
48
|
-
description: "Agent Skills standard metadata at the top of a SKILL.md file.",
|
|
49
|
-
});
|
|
50
|
-
const isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
51
13
|
const allowedFrontmatterFields = new Set(AGENT_SKILLS_FRONTMATTER_FIELDS);
|
|
52
14
|
/**
|
|
53
15
|
* Read descriptive metadata without imposing a conformance gate. The source
|
|
@@ -58,7 +20,7 @@ const allowedFrontmatterFields = new Set(AGENT_SKILLS_FRONTMATTER_FIELDS);
|
|
|
58
20
|
export const extractSkillMetadata = (content) => {
|
|
59
21
|
try {
|
|
60
22
|
const { frontmatter } = parseFrontmatterSync(content.replace(/^\uFEFF/, ""));
|
|
61
|
-
if (!
|
|
23
|
+
if (!Predicate.isReadonlyObject(frontmatter))
|
|
62
24
|
return {};
|
|
63
25
|
const name = frontmatter["name"];
|
|
64
26
|
const description = frontmatter["description"];
|
|
@@ -95,7 +57,7 @@ export const skillDirectoryName = (declaredName, fallback) => {
|
|
|
95
57
|
};
|
|
96
58
|
/** Validate parsed YAML against the pinned Agent Skills metadata contract. */
|
|
97
59
|
export const validateSkillFrontmatter = (input, expectedDirectoryName) => {
|
|
98
|
-
if (!
|
|
60
|
+
if (!Predicate.isReadonlyObject(input)) {
|
|
99
61
|
return { valid: false, errors: ["SKILL.md frontmatter must be a YAML mapping"] };
|
|
100
62
|
}
|
|
101
63
|
const errors = [];
|
|
@@ -155,7 +117,7 @@ export const validateSkillFrontmatter = (input, expectedDirectoryName) => {
|
|
|
155
117
|
const metadataValue = input["metadata"];
|
|
156
118
|
const metadata = {};
|
|
157
119
|
if (metadataValue !== undefined) {
|
|
158
|
-
if (!
|
|
120
|
+
if (!Predicate.isReadonlyObject(metadataValue)) {
|
|
159
121
|
errors.push("Field 'metadata' must be a mapping from strings to strings");
|
|
160
122
|
}
|
|
161
123
|
else {
|
|
@@ -225,4 +187,4 @@ export const parseSkillMd = (content, expectedDirectoryName) => {
|
|
|
225
187
|
return Option.none();
|
|
226
188
|
}
|
|
227
189
|
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGwtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZW50L3NraWxsLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE9BQU8sRUFDTCxxQ0FBcUMsRUFDckMsbUNBQW1DLEVBQ25DLCtCQUErQixFQUMvQiw0QkFBNEIsR0FDN0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNwRCxNQUFNLENBQUMsS0FBSyxDQUNWLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMxQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FDcEUsQ0FDRixDQUNGLENBQUM7QUFFRixNQUFNLDJCQUEyQixHQUFHLENBQUMsYUFBcUIsRUFBRSxFQUFFLENBQzVELDJCQUEyQixDQUFDLElBQUksQ0FDOUIsTUFBTSxDQUFDLEtBQUssQ0FDVixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDMUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxhQUFhO0lBQ2hDLENBQUMsQ0FBQyxTQUFTO0lBQ1gsQ0FBQyxDQUFDLG9CQUFvQixhQUFhLGFBQWEsQ0FDbkQsQ0FDRixDQUNGLENBQUM7QUFFSixNQUFNLGVBQWUsR0FBRywyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLElBQUksQ0FDcEYsTUFBTSxDQUFDLEtBQUssQ0FD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
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGwtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZW50L3NraWxsLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsK0JBQStCLEVBQy9CLDRCQUE0QixHQUM3QixNQUFNLDRCQUE0QixDQUFDO0FBcUJwQyxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxDQUFTLCtCQUErQixDQUFDLENBQUM7QUFVbEY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQWUsRUFBMEIsRUFBRTtJQUM5RSxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLEdBQUcsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxHQUFHLENB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
|
|
@@ -5,9 +5,11 @@ import * as Effect from "effect/Effect";
|
|
|
5
5
|
import * as FileSystem from "effect/FileSystem";
|
|
6
6
|
import * as Path from "effect/Path";
|
|
7
7
|
import * as Schema from "effect/Schema";
|
|
8
|
+
import * as Predicate from "effect/Predicate";
|
|
8
9
|
import { parse as parseToml } from "smol-toml";
|
|
9
|
-
import {
|
|
10
|
+
import { SubagentManifestSchema, SubagentNativeNameSchema, } from "@agentxm/extension-model/unstable/subagents/manifest-schema";
|
|
10
11
|
import { parseFrontmatterEffect } from "./frontmatter.js";
|
|
12
|
+
import { manifestFilenameForType } from "@agentxm/extension-model/unstable/extensions/common";
|
|
11
13
|
export class SubagentContentError extends Data.TaggedError("SubagentContentError") {
|
|
12
14
|
}
|
|
13
15
|
const nativeFormats = {
|
|
@@ -42,7 +44,6 @@ const nativeFormats = {
|
|
|
42
44
|
};
|
|
43
45
|
/** Known native syntax, independent of AXM's scope, ownership, or writer support. */
|
|
44
46
|
export const nativeSubagentFormat = (agentId) => nativeFormats[agentId];
|
|
45
|
-
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
46
47
|
/** Reject dangerous object keys, including nested keys, before downstream merging. */
|
|
47
48
|
const hasUnsafeKeys = (value, seen = new Set()) => {
|
|
48
49
|
if (typeof value !== "object" || value === null)
|
|
@@ -81,7 +82,7 @@ export const parseNativeSubagent = (args) => Effect.gen(function* () {
|
|
|
81
82
|
let instructions;
|
|
82
83
|
if (format === "markdown") {
|
|
83
84
|
const parsed = yield* parseFrontmatterEffect(args.content).pipe(Effect.mapError(() => invalid(`Native source "${args.source}" has invalid YAML frontmatter.`)));
|
|
84
|
-
if (!
|
|
85
|
+
if (!Predicate.isReadonlyObject(parsed.frontmatter)) {
|
|
85
86
|
return yield* invalid(`Native source "${args.source}" requires an object frontmatter block.`);
|
|
86
87
|
}
|
|
87
88
|
configuration = parsed.frontmatter;
|
|
@@ -92,7 +93,7 @@ export const parseNativeSubagent = (args) => Effect.gen(function* () {
|
|
|
92
93
|
try: () => format === "toml" ? parseToml(args.content) : JSON.parse(args.content),
|
|
93
94
|
catch: () => invalid(`Native source "${args.source}" is not valid ${format.toUpperCase()}.`),
|
|
94
95
|
});
|
|
95
|
-
if (!
|
|
96
|
+
if (!Predicate.isReadonlyObject(parsed))
|
|
96
97
|
return yield* invalid(`Native source "${args.source}" must be an object.`);
|
|
97
98
|
configuration = parsed;
|
|
98
99
|
const instructionKey = format === "toml"
|
|
@@ -239,12 +240,12 @@ export const loadSubagentPackage = (packageRoot) => Effect.gen(function* () {
|
|
|
239
240
|
detail: `Source "${source}" could not be read.`,
|
|
240
241
|
cause,
|
|
241
242
|
})));
|
|
242
|
-
const manifestSource = yield* readFile(
|
|
243
|
+
const manifestSource = yield* readFile(manifestFilenameForType("subagent"));
|
|
243
244
|
const manifest = yield* Effect.try({
|
|
244
245
|
try: () => JSON.parse(manifestSource),
|
|
245
246
|
catch: () => new SubagentContentError({
|
|
246
247
|
reason: "manifest-invalid",
|
|
247
|
-
source:
|
|
248
|
+
source: manifestFilenameForType("subagent"),
|
|
248
249
|
detail: "Subagent manifest must contain valid JSON.",
|
|
249
250
|
}),
|
|
250
251
|
});
|
|
@@ -254,14 +255,17 @@ export const loadSubagentPackage = (packageRoot) => Effect.gen(function* () {
|
|
|
254
255
|
export const selectSubagentImplementation = (pkg, agentId) => {
|
|
255
256
|
const implementation = pkg.implementations[agentId];
|
|
256
257
|
if (implementation?.kind === "native") {
|
|
257
|
-
return {
|
|
258
|
+
return {
|
|
259
|
+
...implementation,
|
|
260
|
+
sourceDependencies: [manifestFilenameForType("subagent"), implementation.source],
|
|
261
|
+
};
|
|
258
262
|
}
|
|
259
263
|
const core = pkg.core;
|
|
260
264
|
if (core === undefined) {
|
|
261
265
|
return {
|
|
262
266
|
kind: "unsupported",
|
|
263
267
|
reason: `This package has no implementation for ${agentId}.`,
|
|
264
|
-
sourceDependencies: [
|
|
268
|
+
sourceDependencies: [manifestFilenameForType("subagent")],
|
|
265
269
|
};
|
|
266
270
|
}
|
|
267
271
|
const customization = implementation?.kind === "customized" ? implementation : undefined;
|
|
@@ -279,11 +283,11 @@ export const selectSubagentImplementation = (pkg, agentId) => {
|
|
|
279
283
|
configuration: customization?.configuration ?? {},
|
|
280
284
|
sourceDependencies: [
|
|
281
285
|
...new Set([
|
|
282
|
-
|
|
286
|
+
manifestFilenameForType("subagent"),
|
|
283
287
|
...(replacement?.mode === "replace" ? [] : [core.source]),
|
|
284
288
|
...(replacement === undefined ? [] : [replacement.source]),
|
|
285
289
|
]),
|
|
286
290
|
],
|
|
287
291
|
};
|
|
288
292
|
};
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYWdlbnQtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZW50L3N1YmFnZW50LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUZBQXlGO0FBQ3pGLHVHQUF1RztBQUN2RyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUV6QixNQUFNLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUsvRTtDQUFHO0FBWUwsTUFBTSxhQUFhLEdBQThEO0lBQy9FLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLGlCQUFpQixFQUFFLFVBQVU7SUFDN0IsYUFBYSxFQUFFLFVBQVU7SUFDekIsb0JBQW9CLEVBQUUsVUFBVTtJQUNoQyxNQUFNLEVBQUUsVUFBVTtJQUNsQixZQUFZLEVBQUUsVUFBVTtJQUN4QixRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsVUFBVTtJQUNuQixLQUFLLEVBQUUsVUFBVTtJQUNqQixJQUFJLEVBQUUsVUFBVTtJQUNoQixVQUFVLEVBQUUsVUFBVTtJQUN0QixTQUFTLEVBQUUsVUFBVTtJQUNyQixXQUFXLEVBQUUsVUFBVTtJQUN2QixJQUFJLEVBQUUsVUFBVTtJQUNo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
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYWdlbnQtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZW50L3N1YmFnZW50LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUZBQXlGO0FBQ3pGLHVHQUF1RztBQUN2RyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsR0FFekIsTUFBTSw2REFBNkQsQ0FBQztBQUNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FLL0U7Q0FBRztBQVlMLE1BQU0sYUFBYSxHQUE4RDtJQUMvRSxXQUFXLEVBQUUsVUFBVTtJQUN2QixpQkFBaUIsRUFBRSxVQUFVO0lBQzdCLGFBQWEsRUFBRSxVQUFVO0lBQ3pCLG9CQUFvQixFQUFFLFVBQVU7SUFDaEMsTUFBTSxFQUFFLFVBQVU7SUFDbEIsWUFBWSxFQUFFLFVBQVU7SUFDeEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsS0FBSyxFQUFFLFVBQVU7SUFDakIsSUFBSSxFQUFFLFVBQVU7SUFDaEIsVUFBVSxFQUFFLFVB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
|
package/dist/src/index.d.ts
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { AGENT_SKILLS_COMPATIBILITY_MAX_LENGTH, AGENT_SKILLS_DESCRIPTION_MAX_LENGTH, AGENT_SKILLS_FRONTMATTER_FIELDS, AGENT_SKILLS_NAME_MAX_LENGTH, AGENT_SKILLS_REFERENCE_VALIDATOR_URL, AGENT_SKILLS_SPECIFICATION_URL, AGENT_SKILLS_STANDARD_REVISION, } from "./content/agent-skills-standard.js";
|
|
14
14
|
export { FRONTMATTER_PARSE_FALLBACK_REASON, FrontmatterParseFailure, type FrontmatterResult, parseFrontmatterEffect, parseFrontmatterSync, } from "./content/frontmatter.js";
|
|
15
|
-
export { type ExtractedSkillMetadata, type SkillFrontmatter,
|
|
15
|
+
export { type ExtractedSkillMetadata, type SkillFrontmatter, type SkillFrontmatterValidation, parseSkillMd, extractSkillMetadata, skillDirectoryName, validateSkillFrontmatter, } from "./content/skill-content.js";
|
|
16
16
|
export { type Skill } from "./content/skill-types.js";
|
|
17
17
|
export { type DecodedSubagentPackage, type NativeSubagentContent, type ResolvedSubagentImplementation, type SelectedSubagentImplementation, SubagentContentError, loadSubagentPackage, nativeSubagentFormat, parseNativeSubagent, readSubagentPackage, selectSubagentImplementation, } from "./content/subagent-content.js";
|
|
18
18
|
export { ArchiveGuardrailError, type ArchiveGuardrailLimits, ZIP_LOCAL_SIGNATURE, type ZipEntry, checkForbiddenSourceEntries, defaultReadEntry, parseZipCentralDirectory, validateArchive, } from "./packaging/archive-guardrails.js";
|
|
19
19
|
export { FilteredPackageError, type ValidateFilteredPackageArgs, validateFilteredPackage, } from "./packaging/filtered-package-validation.js";
|
|
20
20
|
export { IngestLimitError, IngestUnsupportedContentTypeError, REGISTRY_PUBLISH_MAX_ARCHIVE_BYTES, REGISTRY_PUBLISH_MAX_REQUEST_BYTES, enforceArchiveContentType, enforceArchiveSizeLimit, enforceRequestSizeLimit, } from "./packaging/ingest-limits.js";
|
|
21
21
|
export { type NormalizePublishInputArgs, type PublishArchiveInput, type PublishInput, normalizePublishInput, } from "./packaging/input-normalization.js";
|
|
22
|
-
export { type DeclaredPublishIdentity, type ExtensionManifest,
|
|
22
|
+
export { type DeclaredPublishIdentity, type ExtensionManifest, MANIFEST_SCHEMA_BY_TYPE, ManifestError, type ManifestIdentity, ManifestIdentitySchema, type ManifestResolutionInput, type ResolvedManifest, manifestSchemaForType, resolveManifest, validateDeclaredManifestAlignment, validateManifestHasNoAgentsField, } from "./packaging/manifest-policy.js";
|
|
23
23
|
export { readExtensionManifest } from "./packaging/manifest-file.js";
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.js
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { AGENT_SKILLS_COMPATIBILITY_MAX_LENGTH, AGENT_SKILLS_DESCRIPTION_MAX_LENGTH, AGENT_SKILLS_FRONTMATTER_FIELDS, AGENT_SKILLS_NAME_MAX_LENGTH, AGENT_SKILLS_REFERENCE_VALIDATOR_URL, AGENT_SKILLS_SPECIFICATION_URL, AGENT_SKILLS_STANDARD_REVISION, } from "./content/agent-skills-standard.js";
|
|
14
14
|
export { FRONTMATTER_PARSE_FALLBACK_REASON, FrontmatterParseFailure, parseFrontmatterEffect, parseFrontmatterSync, } from "./content/frontmatter.js";
|
|
15
|
-
export {
|
|
15
|
+
export { parseSkillMd, extractSkillMetadata, skillDirectoryName, validateSkillFrontmatter, } from "./content/skill-content.js";
|
|
16
16
|
export {} from "./content/skill-types.js";
|
|
17
17
|
export { SubagentContentError, loadSubagentPackage, nativeSubagentFormat, parseNativeSubagent, readSubagentPackage, selectSubagentImplementation, } from "./content/subagent-content.js";
|
|
18
18
|
export { ArchiveGuardrailError, ZIP_LOCAL_SIGNATURE, checkForbiddenSourceEntries, defaultReadEntry, parseZipCentralDirectory, validateArchive, } from "./packaging/archive-guardrails.js";
|
|
19
19
|
export { FilteredPackageError, validateFilteredPackage, } from "./packaging/filtered-package-validation.js";
|
|
20
20
|
export { IngestLimitError, IngestUnsupportedContentTypeError, REGISTRY_PUBLISH_MAX_ARCHIVE_BYTES, REGISTRY_PUBLISH_MAX_REQUEST_BYTES, enforceArchiveContentType, enforceArchiveSizeLimit, enforceRequestSizeLimit, } from "./packaging/ingest-limits.js";
|
|
21
21
|
export { normalizePublishInput, } from "./packaging/input-normalization.js";
|
|
22
|
-
export {
|
|
22
|
+
export { MANIFEST_SCHEMA_BY_TYPE, ManifestError, ManifestIdentitySchema, manifestSchemaForType, resolveManifest, validateDeclaredManifestAlignment, validateManifestHasNoAgentsField, } from "./packaging/manifest-policy.js";
|
|
23
23
|
export { readExtensionManifest } from "./packaging/manifest-file.js";
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLG1DQUFtQyxFQUNuQywrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFFdkIsc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNyQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFJTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix3QkFBd0IsR0FDekIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBS0wsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQiw0QkFBNEIsR0FDN0IsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0wscUJBQXFCLEVBRXJCLG1CQUFtQixFQUVuQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixlQUFlLEdBQ2hCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLG9CQUFvQixFQUVwQix1QkFBdUIsR0FDeEIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUlMLHFCQUFxQixHQUN0QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsYUFBYSxFQUViLHNCQUFzQixFQUd0QixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsR0FDakMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyJ9
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* @experimental This API is unstable and may change without notice.
|
|
5
5
|
*/
|
|
6
6
|
export { KNOWLEDGE_SEARCH_TOKENIZER_PROFILE, type KnowledgeSearchClause, type KnowledgeSearchQuery, type KnowledgeSearchQueryParseResult, matchesKnowledgeSearchQuery, parseKnowledgeSearchQuery, tokenizeKnowledgeSearchText, } from "./knowledge-search.js";
|
|
7
|
-
export { KNOWLEDGE_DIAGNOSTIC_CODES, type KnowledgeActorRecord, type KnowledgeAuthoredLink, type KnowledgeBundleEntry, type KnowledgeConcept, type KnowledgeDiagnostic, type KnowledgeDiagnosticCode, type KnowledgeDocumentKind, type KnowledgeFrontmatterParseDetails, type KnowledgeInspection, type KnowledgeTrustTier, collectKnowledgeBundleEntries, inspectKnowledgeBundle, inspectKnowledgeEntries, openKnowledgeConcept, searchKnowledgeConcepts, } from "./okf.js";
|
|
7
|
+
export { KNOWLEDGE_DIAGNOSTIC_CODES, type KnowledgeActorRecord, type KnowledgeAuthoredLink, type KnowledgeBundleEntry, type KnowledgeConcept, type KnowledgeDiagnostic, type KnowledgeDiagnosticCode, type KnowledgeDocumentKind, type KnowledgeFrontmatterParseDetails, type KnowledgeInspection, type KnowledgeLinkResolution, type KnowledgeLinkSuffix, type KnowledgeTrustTier, collectKnowledgeBundleEntries, inspectKnowledgeBundle, inspectKnowledgeEntries, openKnowledgeConcept, resolveKnowledgeLink, searchKnowledgeConcepts, } from "./okf.js";
|
|
8
8
|
export { inspectKnowledgePackage, readKnowledgePackageManifest } from "./package-inspection.js";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* @experimental This API is unstable and may change without notice.
|
|
5
5
|
*/
|
|
6
6
|
export { KNOWLEDGE_SEARCH_TOKENIZER_PROFILE, matchesKnowledgeSearchQuery, parseKnowledgeSearchQuery, tokenizeKnowledgeSearchText, } from "./knowledge-search.js";
|
|
7
|
-
export { KNOWLEDGE_DIAGNOSTIC_CODES, collectKnowledgeBundleEntries, inspectKnowledgeBundle, inspectKnowledgeEntries, openKnowledgeConcept, searchKnowledgeConcepts, } from "./okf.js";
|
|
7
|
+
export { KNOWLEDGE_DIAGNOSTIC_CODES, collectKnowledgeBundleEntries, inspectKnowledgeBundle, inspectKnowledgeEntries, openKnowledgeConcept, resolveKnowledgeLink, searchKnowledgeConcepts, } from "./okf.js";
|
|
8
8
|
export { inspectKnowledgePackage, readKnowledgePackageManifest } from "./package-inspection.js";
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMva25vd2xlZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQ0wsa0NBQWtDLEVBSWxDLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIsMkJBQTJCLEdBQzVCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLDBCQUEwQixFQWExQiw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHVCQUF1QixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyJ9
|
|
@@ -5,7 +5,7 @@ import * as Path from "effect/Path";
|
|
|
5
5
|
import { FrontmatterParseFailure } from "../content/frontmatter.js";
|
|
6
6
|
import { type KnowledgeSearchQuery } from "./knowledge-search.js";
|
|
7
7
|
/** OKF dialect versions this inspector understands. */
|
|
8
|
-
|
|
8
|
+
type OkfVersion = "0.2";
|
|
9
9
|
/** Actor that produced or confirmed a concept, per the OKF actor convention. */
|
|
10
10
|
export interface KnowledgeActorRecord {
|
|
11
11
|
readonly by: string;
|
|
@@ -75,6 +75,56 @@ export interface KnowledgeBundleEntry {
|
|
|
75
75
|
}
|
|
76
76
|
/** Collect a bundle's normalized entry inventory without following symbolic links. */
|
|
77
77
|
export declare const collectKnowledgeBundleEntries: (sourceRoot: string) => Effect.Effect<ReadonlyArray<KnowledgeBundleEntry>, unknown, FileSystem.FileSystem | Path.Path>;
|
|
78
|
+
/**
|
|
79
|
+
* Where an authored Knowledge link points. `external` is a URL with a scheme or
|
|
80
|
+
* a protocol-relative URL, `same-document` has only a query or fragment,
|
|
81
|
+
* `escaped` leaves the bundle, `missing` names a bundle path that holds no file,
|
|
82
|
+
* and `resolved` names a bundle file. `query` and `fragment` carry the raw text
|
|
83
|
+
* after `?` and `#` when the target has them.
|
|
84
|
+
*
|
|
85
|
+
* @experimental This API is unstable and may change without notice.
|
|
86
|
+
*/
|
|
87
|
+
export type KnowledgeLinkResolution = {
|
|
88
|
+
readonly _tag: "external";
|
|
89
|
+
} | {
|
|
90
|
+
readonly _tag: "escaped";
|
|
91
|
+
} | ({
|
|
92
|
+
readonly _tag: "same-document";
|
|
93
|
+
} & KnowledgeLinkSuffix) | ({
|
|
94
|
+
readonly _tag: "missing";
|
|
95
|
+
readonly path: string;
|
|
96
|
+
} & KnowledgeLinkSuffix) | ({
|
|
97
|
+
readonly _tag: "resolved";
|
|
98
|
+
readonly path: string;
|
|
99
|
+
readonly kind: "markdown";
|
|
100
|
+
readonly conceptId: string;
|
|
101
|
+
} & KnowledgeLinkSuffix) | ({
|
|
102
|
+
readonly _tag: "resolved";
|
|
103
|
+
readonly path: string;
|
|
104
|
+
readonly kind: "asset";
|
|
105
|
+
} & KnowledgeLinkSuffix);
|
|
106
|
+
/**
|
|
107
|
+
* The query and fragment of a link target, without their `?` and `#` delimiters.
|
|
108
|
+
*
|
|
109
|
+
* @experimental This API is unstable and may change without notice.
|
|
110
|
+
*/
|
|
111
|
+
export interface KnowledgeLinkSuffix {
|
|
112
|
+
readonly query?: string;
|
|
113
|
+
readonly fragment?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Resolve a link authored in `sourcePath` against the bundle's file paths, with
|
|
117
|
+
* the rule Knowledge inspection uses for `authoredLinks[].resolvedConceptId`. A
|
|
118
|
+
* relative target resolves from the source document's directory and a target
|
|
119
|
+
* starting with `/` from the bundle root, after percent-decoding. A target
|
|
120
|
+
* without a `.md` extension names `path.md` when the bundle has it, else
|
|
121
|
+
* `path/index.md` when the bundle has it, else `path` itself, which may be an
|
|
122
|
+
* asset; so `guides` and `guides/` both name `guides/index.md` when the bundle
|
|
123
|
+
* has no `guides.md`.
|
|
124
|
+
*
|
|
125
|
+
* @experimental This API is unstable and may change without notice.
|
|
126
|
+
*/
|
|
127
|
+
export declare const resolveKnowledgeLink: (sourcePath: string, target: string, bundleFilePaths: ReadonlySet<string>) => KnowledgeLinkResolution;
|
|
78
128
|
/**
|
|
79
129
|
* Inspect a canonical OKF 0.2 bundle. The root index requirement is an explicit
|
|
80
130
|
* AgentXM profile constraint; upstream OKF permits a root without it.
|
|
@@ -83,4 +133,5 @@ export declare const inspectKnowledgeEntries: <E>(entries: ReadonlyArray<Knowled
|
|
|
83
133
|
export declare const inspectKnowledgeBundle: (sourceRoot: string) => Effect.Effect<KnowledgeInspection, unknown, FileSystem.FileSystem | Path.Path>;
|
|
84
134
|
export declare const searchKnowledgeConcepts: (concepts: ReadonlyArray<KnowledgeConcept>, query: KnowledgeSearchQuery) => ReadonlyArray<KnowledgeConcept>;
|
|
85
135
|
export declare const openKnowledgeConcept: (concepts: ReadonlyArray<KnowledgeConcept>, id: string) => KnowledgeConcept | undefined;
|
|
136
|
+
export {};
|
|
86
137
|
//# sourceMappingURL=okf.d.ts.map
|