@agentxm/extension-content 0.49.3 → 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.
Files changed (94) hide show
  1. package/dist/src/content/frontmatter.d.ts +16 -0
  2. package/dist/src/content/frontmatter.js +6 -4
  3. package/dist/src/content/skill-content.d.ts +13 -14
  4. package/dist/src/content/skill-content.js +8 -46
  5. package/dist/src/content/subagent-content.js +14 -10
  6. package/dist/src/index.d.ts +2 -2
  7. package/dist/src/index.js +3 -3
  8. package/dist/src/knowledge/index.d.ts +1 -1
  9. package/dist/src/knowledge/index.js +2 -2
  10. package/dist/src/knowledge/okf.d.ts +52 -1
  11. package/dist/src/knowledge/okf.js +86 -59
  12. package/dist/src/knowledge/package-inspection.d.ts +4 -7
  13. package/dist/src/knowledge/package-inspection.js +7 -19
  14. package/dist/src/lint/accessor/platform.d.ts +54 -0
  15. package/dist/src/lint/accessor/platform.js +89 -0
  16. package/dist/src/lint/{catalog/pack-accessor → accessor}/vft.d.ts +12 -14
  17. package/dist/src/lint/accessor/vft.js +83 -0
  18. package/dist/src/lint/catalog/hook/entrypoint-exists.d.ts +2 -2
  19. package/dist/src/lint/catalog/hook/entrypoint-exists.js +4 -3
  20. package/dist/src/lint/catalog/hook/envelope.d.ts +6 -6
  21. package/dist/src/lint/catalog/hook/envelope.js +5 -4
  22. package/dist/src/lint/catalog/hook/native-bindings-supported.d.ts +2 -2
  23. package/dist/src/lint/catalog/hook/native-bindings-supported.js +4 -3
  24. package/dist/src/lint/catalog/hook.d.ts +2 -2
  25. package/dist/src/lint/catalog/hook.js +1 -1
  26. package/dist/src/lint/catalog/knowledge/diagnostics.js +4 -3
  27. package/dist/src/lint/catalog/knowledge/envelope.d.ts +1 -1
  28. package/dist/src/lint/catalog/knowledge/envelope.js +4 -3
  29. package/dist/src/lint/catalog/mcp-server/envelope.d.ts +2 -2
  30. package/dist/src/lint/catalog/mcp-server/envelope.js +4 -3
  31. package/dist/src/lint/catalog/mcp-server.d.ts +2 -2
  32. package/dist/src/lint/catalog/{pack-accessor → pack}/contexts.d.ts +6 -6
  33. package/dist/src/lint/catalog/{pack-accessor → pack}/contexts.js +4 -4
  34. package/dist/src/lint/catalog/pack/envelope.d.ts +10 -0
  35. package/dist/src/lint/catalog/pack/envelope.js +20 -0
  36. package/dist/src/lint/catalog/pack.d.ts +9 -10
  37. package/dist/src/lint/catalog/pack.js +12 -15
  38. package/dist/src/lint/catalog/rule/envelope.d.ts +2 -2
  39. package/dist/src/lint/catalog/rule/envelope.js +4 -3
  40. package/dist/src/lint/catalog/rule.d.ts +2 -2
  41. package/dist/src/lint/catalog/shared/envelope-rules.d.ts +23 -12
  42. package/dist/src/lint/catalog/shared/envelope-rules.js +22 -13
  43. package/dist/src/lint/catalog/shared/manifest-present.d.ts +3 -4
  44. package/dist/src/lint/catalog/shared/recommended-packs-rules.js +5 -3
  45. package/dist/src/lint/catalog/shared/schema-rule.js +3 -3
  46. package/dist/src/lint/catalog/{skill-accessor → skill}/contexts.d.ts +5 -5
  47. package/dist/src/lint/catalog/{skill-accessor → skill}/contexts.js +3 -3
  48. package/dist/src/lint/catalog/skill/envelope.d.ts +11 -0
  49. package/dist/src/lint/catalog/skill/envelope.js +23 -0
  50. package/dist/src/lint/catalog/skill/frontmatter-parseable.d.ts +6 -4
  51. package/dist/src/lint/catalog/skill/frontmatter-parseable.js +17 -21
  52. package/dist/src/lint/catalog/skill/frontmatter-standard-valid.js +7 -12
  53. package/dist/src/lint/catalog/skill.d.ts +4 -5
  54. package/dist/src/lint/catalog/skill.js +11 -16
  55. package/dist/src/lint/catalog/subagent/envelope.d.ts +2 -2
  56. package/dist/src/lint/catalog/subagent/envelope.js +4 -3
  57. package/dist/src/lint/catalog/subagent.d.ts +2 -2
  58. package/dist/src/lint/context.d.ts +39 -115
  59. package/dist/src/lint/describe-document.d.ts +1 -1
  60. package/dist/src/lint/describe-document.js +4 -5
  61. package/dist/src/lint/index.d.ts +5 -7
  62. package/dist/src/lint/index.js +5 -7
  63. package/dist/src/packaging/archive-guardrails.d.ts +11 -0
  64. package/dist/src/packaging/archive-guardrails.js +111 -74
  65. package/dist/src/packaging/filtered-package-validation.js +3 -4
  66. package/dist/src/packaging/manifest-file.d.ts +7 -3
  67. package/dist/src/packaging/manifest-file.js +10 -11
  68. package/dist/src/packaging/manifest-policy.d.ts +0 -12
  69. package/dist/src/packaging/manifest-policy.js +12 -26
  70. package/dist/src/packaging/test-zip-helpers.js +4 -3
  71. package/package.json +8 -4
  72. package/dist/src/lint/catalog/pack/manifest-keys-recognized.d.ts +0 -28
  73. package/dist/src/lint/catalog/pack/manifest-keys-recognized.js +0 -38
  74. package/dist/src/lint/catalog/pack/manifest-present.d.ts +0 -17
  75. package/dist/src/lint/catalog/pack/manifest-present.js +0 -24
  76. package/dist/src/lint/catalog/pack/manifest-schema-valid.d.ts +0 -25
  77. package/dist/src/lint/catalog/pack/manifest-schema-valid.js +0 -33
  78. package/dist/src/lint/catalog/pack-accessor/platform.d.ts +0 -56
  79. package/dist/src/lint/catalog/pack-accessor/platform.js +0 -93
  80. package/dist/src/lint/catalog/pack-accessor/vft.js +0 -85
  81. package/dist/src/lint/catalog/skill/manifest-keys-recognized.d.ts +0 -26
  82. package/dist/src/lint/catalog/skill/manifest-keys-recognized.js +0 -41
  83. package/dist/src/lint/catalog/skill/manifest-present.d.ts +0 -23
  84. package/dist/src/lint/catalog/skill/manifest-present.js +0 -32
  85. package/dist/src/lint/catalog/skill/manifest-schema-valid.d.ts +0 -21
  86. package/dist/src/lint/catalog/skill/manifest-schema-valid.js +0 -36
  87. package/dist/src/lint/catalog/skill/recommended-packs-valid.d.ts +0 -8
  88. package/dist/src/lint/catalog/skill/recommended-packs-valid.js +0 -12
  89. package/dist/src/lint/catalog/skill/standalone-declaration-valid.d.ts +0 -8
  90. package/dist/src/lint/catalog/skill/standalone-declaration-valid.js +0 -12
  91. package/dist/src/lint/catalog/skill-accessor/platform.d.ts +0 -53
  92. package/dist/src/lint/catalog/skill-accessor/platform.js +0 -90
  93. package/dist/src/lint/catalog/skill-accessor/vft.d.ts +0 -77
  94. 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
- * Find the frontmatter boundaries in content.
51
- * Returns [endOfOpening, startOfClosing] indices, or undefined if no frontmatter.
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGVudC9mcm9udG1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBYzVDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FJckY7Q0FBRztBQUVMLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHNDQUFzQyxDQUFDO0FBQ3hGLE1BQU0sd0NBQXdDLEdBQUcsR0FBRyxDQUFDO0FBRXJELE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7SUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksd0NBQXdDO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDakYsT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBQzFGLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBVSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkUsTUFBTSxlQUFlLEdBQUcsU0FBUztTQUM5QixPQUFPLENBQUMsK0JBQStC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
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGVudC9mcm9udG1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBYzVDLGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FJckY7Q0FBRztBQUVMLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHNDQUFzQyxDQUFDO0FBQ3hGLE1BQU0sd0NBQXdDLEdBQUcsR0FBRyxDQUFDO0FBRXJELE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7SUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksd0NBQXdDO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDakYsT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBQzFGLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBVSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkUsTUFBTSxlQUFlLEdBQUcsU0FBUztTQUM5QixPQUFPLENBQUMsK0JBQStC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
@@ -1,28 +1,27 @@
1
1
  /**
2
- * Skill content file module for SKILL.md parsing and frontmatter schemas.
2
+ * SKILL.md frontmatter validation and parsing.
3
3
  *
4
- * Defines the frontmatter schema for SKILL.md files and a parser that
5
- * combines the shared frontmatter utility with skill-specific validation.
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
- * Schema for SKILL.md frontmatter fields.
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 declare const SkillFrontmatterSchema: Schema.Struct<{
18
- readonly name: Schema.String;
19
- readonly description: Schema.String;
20
- readonly license: Schema.optionalKey<Schema.String>;
21
- readonly compatibility: Schema.optionalKey<Schema.String>;
22
- readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
23
- readonly "allowed-tools": Schema.optionalKey<Schema.String>;
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
- * Skill content file module for SKILL.md parsing and frontmatter schemas.
2
+ * SKILL.md frontmatter validation and parsing.
3
3
  *
4
- * Defines the frontmatter schema for SKILL.md files and a parser that
5
- * combines the shared frontmatter utility with skill-specific validation.
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";
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 (!isRecord(frontmatter))
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 (!isRecord(input)) {
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 (!isRecord(metadataValue)) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbGwtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZW50L3NraWxsLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsK0JBQStCLEVBQy9CLDRCQUE0QixHQUM3QixNQUFNLDRCQUE0QixDQUFDO0FBcUJwQyxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxDQUFTLCtCQUErQixDQUFDLENBQUM7QUFVbEY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQWUsRUFBMEIsRUFBRTtJQUM5RSxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLEdBQUcsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxHQUFHLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDNUYsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkYsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsWUFBZ0MsRUFBRSxRQUFnQixFQUFVLEVBQUU7SUFDL0YsTUFBTSxRQUFRLEdBQUcsa0RBQWtELENBQUM7SUFDcEUsSUFDRSxZQUFZLEtBQUssU0FBUztRQUMxQixZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDekIsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLFlBQVk7UUFDcEMsWUFBWSxLQUFLLEdBQUc7UUFDcEIsWUFBWSxLQUFLLElBQUk7UUFDckIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDMUIsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDcEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUMvRTtRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNCLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHO1FBRW5ELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2xFLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxLQUFjLEVBQ2QscUJBQThCLEVBQ0YsRUFBRTtJQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsNkNBQTZDLENBQUMsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ2xDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkQsSUFBSSxFQUFFLENBQUM7SUFDVixJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxJQUFJLGNBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDekQsQ0FBQztTQUFNLENBQUM7UUFDTixjQUFjLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxNQUFNLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztZQUM5RCxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQiw0QkFBNEIsa0JBQWtCLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxjQUFjLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoRixNQUFNLENBQUMsSUFBSSxDQUFDLG1FQUFtRSxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELElBQ0UscUJBQXFCLEtBQUssU0FBUztZQUNuQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssY0FBYyxFQUMxRCxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FDVCxtQkFBbUIscUJBQXFCLDRCQUE0QixjQUFjLEdBQUcsQ0FDdEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakYsTUFBTSxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7U0FBTSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQ0FBbUMsRUFBRSxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLG1DQUFtQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25FLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEQsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyRixNQUFNLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsTUFBTSxHQUFHLHFDQUFxQyxFQUFFLENBQUM7WUFDbEYsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIscUNBQXFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztJQUM1QyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO1FBQzVFLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELElBQUksaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDcEMsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDeEYsTUFBTSxDQUFDLElBQUksQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxjQUFjLEtBQUssU0FBUyxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUYsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRTtZQUNYLElBQUksRUFBRSxjQUFjO1lBQ3BCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsR0FBRyxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUTtnQkFDaEUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtnQkFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLElBQUksT0FBTyxrQkFBa0IsS0FBSyxRQUFRO2dCQUM1RSxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQ3ZDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BELEdBQUcsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLElBQUksT0FBTyxpQkFBaUIsS0FBSyxRQUFRO2dCQUMxRSxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQ3hDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsT0FBZSxFQUNmLHFCQUE4QixFQUNSLEVBQUU7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0MsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUUzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDakIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVztZQUNwQyxRQUFRLEVBQ04sV0FBVyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1NBQ3pGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCx1REFBdUQ7UUFDdkQsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
@@ -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 { MANIFEST_FILENAME, SubagentManifestSchema, SubagentNativeNameSchema, } from "@agentxm/extension-model/unstable/subagents/manifest-schema";
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 (!isRecord(parsed.frontmatter)) {
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 (!isRecord(parsed))
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(MANIFEST_FILENAME);
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: MANIFEST_FILENAME,
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 { ...implementation, sourceDependencies: [MANIFEST_FILENAME, implementation.source] };
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: [MANIFEST_FILENAME],
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
- MANIFEST_FILENAME,
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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
@@ -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, SkillFrontmatterSchema, type SkillFrontmatterValidation, parseSkillMd, extractSkillMetadata, skillDirectoryName, validateSkillFrontmatter, } from "./content/skill-content.js";
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, MANIFEST_FILENAME_BY_TYPE, MANIFEST_FILENAMES, MANIFEST_SCHEMA_BY_TYPE, ManifestError, type ManifestIdentity, ManifestIdentitySchema, type ManifestResolutionInput, type ResolvedManifest, manifestFilenameForType, extensionTypeForManifestFilename, manifestSchemaForType, resolveManifest, validateDeclaredManifestAlignment, validateManifestHasNoAgentsField, } from "./packaging/manifest-policy.js";
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 { SkillFrontmatterSchema, parseSkillMd, extractSkillMetadata, skillDirectoryName, validateSkillFrontmatter, } from "./content/skill-content.js";
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 { MANIFEST_FILENAME_BY_TYPE, MANIFEST_FILENAMES, MANIFEST_SCHEMA_BY_TYPE, ManifestError, ManifestIdentitySchema, manifestFilenameForType, extensionTypeForManifestFilename, manifestSchemaForType, resolveManifest, validateDeclaredManifestAlignment, validateManifestHasNoAgentsField, } from "./packaging/manifest-policy.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLG1DQUFtQyxFQUNuQywrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFFdkIsc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNyQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFHTCxzQkFBc0IsRUFFdEIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQ3pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUtMLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsNEJBQTRCLEdBQzdCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHFCQUFxQixFQUVyQixtQkFBbUIsRUFFbkIsMkJBQTJCLEVBQzNCLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsZUFBZSxHQUNoQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsdUJBQXVCLEdBQ3hCLE1BQU0sNENBQTRDLENBQUM7QUFDcEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFJTCxxQkFBcUIsR0FDdEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsYUFBYSxFQUViLHNCQUFzQixFQUd0Qix1QkFBdUIsRUFDdkIsZ0NBQWdDLEVBQ2hDLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsaUNBQWlDLEVBQ2pDLGdDQUFnQyxHQUNqQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDIn0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMva25vd2xlZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQ0wsa0NBQWtDLEVBSWxDLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIsMkJBQTJCLEdBQzVCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLDBCQUEwQixFQVcxQiw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDIn0=
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
- export type OkfVersion = "0.2";
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