@a16njs/plugin-a16n 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/discover.d.ts +3 -3
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +9 -11
- package/dist/discover.js.map +1 -1
- package/dist/emit.d.ts +3 -3
- package/dist/emit.d.ts.map +1 -1
- package/dist/emit.js +16 -7
- package/dist/emit.js.map +1 -1
- package/dist/format.d.ts +2 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +4 -2
- package/dist/format.js.map +1 -1
- package/dist/parse.d.ts +6 -5
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +15 -9
- package/dist/parse.js.map +1 -1
- package/package.json +2 -2
package/dist/discover.d.ts
CHANGED
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
* - AgentSkillIO uses subdirectory-per-skill with verbatim AgentSkills.io format
|
|
17
17
|
* - Other types use YAML frontmatter parsed by parseIRFile()
|
|
18
18
|
*/
|
|
19
|
-
import { type DiscoveryResult } from '@a16njs/models';
|
|
19
|
+
import { type DiscoveryResult, type Workspace } from '@a16njs/models';
|
|
20
20
|
/**
|
|
21
21
|
* Discover IR items from .a16n/ directory structure.
|
|
22
22
|
*
|
|
23
23
|
* Scans the .a16n/ directory in the given root, parsing each type subdirectory
|
|
24
24
|
* and returning all discovered IR items with any warnings.
|
|
25
25
|
*
|
|
26
|
-
* @param
|
|
26
|
+
* @param rootOrWorkspace - Project root directory or Workspace containing .a16n/
|
|
27
27
|
* @returns DiscoveryResult with parsed IR items and warnings
|
|
28
28
|
*
|
|
29
29
|
* @example
|
|
@@ -31,5 +31,5 @@ import { type DiscoveryResult } from '@a16njs/models';
|
|
|
31
31
|
* // result.items: AgentCustomization[]
|
|
32
32
|
* // result.warnings: Warning[]
|
|
33
33
|
*/
|
|
34
|
-
export declare function discover(
|
|
34
|
+
export declare function discover(rootOrWorkspace: string | Workspace): Promise<DiscoveryResult>;
|
|
35
35
|
//# sourceMappingURL=discover.d.ts.map
|
package/dist/discover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAGL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAGL,KAAK,eAAe,EAEpB,KAAK,SAAS,EAQf,MAAM,gBAAgB,CAAC;AAOxB;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAmE5F"}
|
package/dist/discover.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import * as fs from 'fs/promises';
|
|
20
20
|
import * as path from 'path';
|
|
21
|
-
import { CustomizationType, WarningCode, CURRENT_IR_VERSION, areVersionsCompatible, readAgentSkillIO, createId, } from '@a16njs/models';
|
|
21
|
+
import { CustomizationType, WarningCode, CURRENT_IR_VERSION, areVersionsCompatible, readAgentSkillIO, createId, resolveRoot, } from '@a16njs/models';
|
|
22
22
|
import { parseIRFile } from './parse.js';
|
|
23
23
|
/** Set of valid CustomizationType enum values for directory name validation */
|
|
24
24
|
const VALID_TYPE_DIRS = new Set(Object.values(CustomizationType));
|
|
@@ -28,7 +28,7 @@ const VALID_TYPE_DIRS = new Set(Object.values(CustomizationType));
|
|
|
28
28
|
* Scans the .a16n/ directory in the given root, parsing each type subdirectory
|
|
29
29
|
* and returning all discovered IR items with any warnings.
|
|
30
30
|
*
|
|
31
|
-
* @param
|
|
31
|
+
* @param rootOrWorkspace - Project root directory or Workspace containing .a16n/
|
|
32
32
|
* @returns DiscoveryResult with parsed IR items and warnings
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
@@ -36,7 +36,8 @@ const VALID_TYPE_DIRS = new Set(Object.values(CustomizationType));
|
|
|
36
36
|
* // result.items: AgentCustomization[]
|
|
37
37
|
* // result.warnings: Warning[]
|
|
38
38
|
*/
|
|
39
|
-
export async function discover(
|
|
39
|
+
export async function discover(rootOrWorkspace) {
|
|
40
|
+
const root = resolveRoot(rootOrWorkspace);
|
|
40
41
|
const items = [];
|
|
41
42
|
const warnings = [];
|
|
42
43
|
const a16nDir = path.join(root, '.a16n');
|
|
@@ -115,14 +116,11 @@ async function discoverStandardType(typeDir, type) {
|
|
|
115
116
|
for (const relativeMdPath of mdFiles) {
|
|
116
117
|
const filepath = path.join(typeDir, relativeMdPath);
|
|
117
118
|
const filename = path.basename(relativeMdPath);
|
|
118
|
-
// Compute the
|
|
119
|
-
// e.g., ".a16n/global-prompt" or ".a16n/global-prompt/shared/company"
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
const
|
|
123
|
-
const relativePath = `.a16n/${relativeToA16n}`;
|
|
124
|
-
// Parse the IR file
|
|
125
|
-
const result = await parseIRFile(filepath, filename, relativePath);
|
|
119
|
+
// Compute the sourcePath for parseIRFile (file path relative to project root)
|
|
120
|
+
// e.g., ".a16n/global-prompt/blogging.md" or ".a16n/global-prompt/shared/company/standards.md"
|
|
121
|
+
const sourcePath = `.a16n/${type}/${relativeMdPath}`;
|
|
122
|
+
// Parse the IR file (pass typeDir as workspace root, relativeMdPath as file path within it)
|
|
123
|
+
const result = await parseIRFile(typeDir, relativeMdPath, filename, sourcePath);
|
|
126
124
|
if (result.error) {
|
|
127
125
|
warnings.push({
|
|
128
126
|
code: WarningCode.Skipped,
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/emit.d.ts
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
* - AgentSkillIO uses verbatim AgentSkills.io format (NO IR frontmatter)
|
|
11
11
|
* - relativeDir field creates subdirectories to preserve structure
|
|
12
12
|
*/
|
|
13
|
-
import { type AgentCustomization, type EmitResult, type EmitOptions } from '@a16njs/models';
|
|
13
|
+
import { type AgentCustomization, type EmitResult, type EmitOptions, type Workspace } from '@a16njs/models';
|
|
14
14
|
/**
|
|
15
15
|
* Emit IR items to .a16n/ directory structure.
|
|
16
16
|
*
|
|
17
17
|
* @param models - IR items to emit
|
|
18
|
-
* @param
|
|
18
|
+
* @param rootOrWorkspace - Project root directory path or Workspace instance
|
|
19
19
|
* @param options - Emission options (dryRun, etc.)
|
|
20
20
|
* @returns EmitResult with written files and warnings
|
|
21
21
|
*/
|
|
22
|
-
export declare function emit(models: AgentCustomization[],
|
|
22
|
+
export declare function emit(models: AgentCustomization[], rootOrWorkspace: string | Workspace, options?: EmitOptions): Promise<EmitResult>;
|
|
23
23
|
//# sourceMappingURL=emit.d.ts.map
|
package/dist/emit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,WAAW,EAGhB,KAAK,SAAS,EAQf,MAAM,gBAAgB,CAAC;AAgBxB;;;;;;;GAOG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CA4CrB"}
|
package/dist/emit.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import * as fs from 'fs/promises';
|
|
14
14
|
import * as path from 'path';
|
|
15
|
-
import { WarningCode, isAgentSkillIO, isManualPrompt, writeAgentSkillIO, } from '@a16njs/models';
|
|
15
|
+
import { WarningCode, isAgentSkillIO, isManualPrompt, isSimpleAgentSkill, writeAgentSkillIO, resolveRoot, } from '@a16njs/models';
|
|
16
16
|
import { formatIRFile } from './format.js';
|
|
17
17
|
import { slugify } from './utils.js';
|
|
18
18
|
/**
|
|
@@ -31,11 +31,12 @@ async function pathExists(p) {
|
|
|
31
31
|
* Emit IR items to .a16n/ directory structure.
|
|
32
32
|
*
|
|
33
33
|
* @param models - IR items to emit
|
|
34
|
-
* @param
|
|
34
|
+
* @param rootOrWorkspace - Project root directory path or Workspace instance
|
|
35
35
|
* @param options - Emission options (dryRun, etc.)
|
|
36
36
|
* @returns EmitResult with written files and warnings
|
|
37
37
|
*/
|
|
38
|
-
export async function emit(models,
|
|
38
|
+
export async function emit(models, rootOrWorkspace, options) {
|
|
39
|
+
const root = resolveRoot(rootOrWorkspace);
|
|
39
40
|
const written = [];
|
|
40
41
|
const warnings = [];
|
|
41
42
|
const unsupported = [];
|
|
@@ -92,10 +93,18 @@ async function emitStandardIR(item, baseDir, written, dryRun) {
|
|
|
92
93
|
if (rel.startsWith('..') || path.isAbsolute(rel)) {
|
|
93
94
|
throw new Error(`Invalid relativeDir "${item.relativeDir}" (escapes ${baseDir})`);
|
|
94
95
|
}
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
// Determine filename: prefer explicit name for types that have it,
|
|
97
|
+
// then extract from ID with type-specific handling
|
|
98
|
+
let name;
|
|
99
|
+
if (isSimpleAgentSkill(item)) {
|
|
100
|
+
name = item.name;
|
|
101
|
+
}
|
|
102
|
+
else if (isManualPrompt(item)) {
|
|
103
|
+
name = path.basename(extractNameFromId(item.id));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
name = extractNameFromId(item.id);
|
|
107
|
+
}
|
|
99
108
|
const filename = `${slugify(name)}.md`;
|
|
100
109
|
const filePath = path.join(targetDir, filename);
|
|
101
110
|
// Format content with IR frontmatter
|
package/dist/emit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"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"}
|
package/dist/format.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import { type AgentCustomization } from '@a16njs/models';
|
|
|
5
5
|
* Format: ---\n{yaml}---\n\n{content}\n
|
|
6
6
|
*
|
|
7
7
|
* Includes: version, type, relativeDir (if present), type-specific fields
|
|
8
|
-
* Excludes: sourcePath (omitted from IR format), metadata (not serialized)
|
|
8
|
+
* Excludes: sourcePath (omitted from IR format), metadata (not serialized)
|
|
9
|
+
* Note: name is included for SimpleAgentSkill (required in v1beta2); for other types it remains filename-only.
|
|
9
10
|
*
|
|
10
11
|
* @param item - The IR item to format
|
|
11
12
|
* @returns Formatted markdown string with YAML frontmatter
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAYxB,MAAM,gBAAgB,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAYxB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAiC7D"}
|
package/dist/format.js
CHANGED
|
@@ -6,7 +6,8 @@ import { isFileRule, isSimpleAgentSkill, isAgentIgnore, } from '@a16njs/models';
|
|
|
6
6
|
* Format: ---\n{yaml}---\n\n{content}\n
|
|
7
7
|
*
|
|
8
8
|
* Includes: version, type, relativeDir (if present), type-specific fields
|
|
9
|
-
* Excludes: sourcePath (omitted from IR format), metadata (not serialized)
|
|
9
|
+
* Excludes: sourcePath (omitted from IR format), metadata (not serialized)
|
|
10
|
+
* Note: name is included for SimpleAgentSkill (required in v1beta2); for other types it remains filename-only.
|
|
10
11
|
*
|
|
11
12
|
* @param item - The IR item to format
|
|
12
13
|
* @returns Formatted markdown string with YAML frontmatter
|
|
@@ -21,11 +22,12 @@ export function formatIRFile(item) {
|
|
|
21
22
|
if (item.relativeDir !== undefined) {
|
|
22
23
|
frontmatter.relativeDir = item.relativeDir;
|
|
23
24
|
}
|
|
24
|
-
// Add type-specific fields (DO NOT include
|
|
25
|
+
// Add type-specific fields (DO NOT include sourcePath or metadata)
|
|
25
26
|
if (isFileRule(item)) {
|
|
26
27
|
frontmatter.globs = item.globs;
|
|
27
28
|
}
|
|
28
29
|
else if (isSimpleAgentSkill(item)) {
|
|
30
|
+
frontmatter.name = item.name;
|
|
29
31
|
frontmatter.description = item.description;
|
|
30
32
|
}
|
|
31
33
|
else if (isAgentIgnore(item)) {
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EASL,UAAU,EACV,kBAAkB,EAElB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EASL,UAAU,EACV,kBAAkB,EAElB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwB;IACnD,yCAAyC;IACzC,MAAM,WAAW,GAA4B;QAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IAEF,sFAAsF;IACtF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;SAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7C,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IACD,gFAAgF;IAChF,gCAAgC;IAEhC,wDAAwD;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;QAC1C,SAAS,EAAE,CAAC,EAAE,wBAAwB;QACtC,iBAAiB,EAAE,OAAO,EAAE,kCAAkC;QAC9D,cAAc,EAAE,OAAO,EAAE,6BAA6B;KACvD,CAAC,CAAC,IAAI,EAAE,CAAC;IAEV,2CAA2C;IAC3C,OAAO,QAAQ,OAAO,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC;AACrD,CAAC"}
|
package/dist/parse.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AgentCustomization } from '@a16njs/models';
|
|
1
|
+
import { type AgentCustomization, type Workspace } from '@a16njs/models';
|
|
2
2
|
/**
|
|
3
3
|
* Result of parsing an IR file.
|
|
4
4
|
* Either returns a parsed item or an error message.
|
|
@@ -8,12 +8,13 @@ export interface ParseIRFileResult {
|
|
|
8
8
|
error?: string;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Parse an IR file from
|
|
11
|
+
* Parse an IR file from a workspace.
|
|
12
12
|
*
|
|
13
|
-
* @param
|
|
13
|
+
* @param rootOrWorkspace - Workspace or root path string
|
|
14
|
+
* @param filePath - Path to the file relative to workspace root
|
|
14
15
|
* @param filename - Filename (used to derive name)
|
|
15
|
-
* @param
|
|
16
|
+
* @param sourcePath - Path relative to .a16n/ directory (e.g., ".a16n/global-prompt/coding-standards.md")
|
|
16
17
|
* @returns ParseIRFileResult with either item or error
|
|
17
18
|
*/
|
|
18
|
-
export declare function parseIRFile(
|
|
19
|
+
export declare function parseIRFile(rootOrWorkspace: string | Workspace, filePath: string, filename: string, sourcePath: string): Promise<ParseIRFileResult>;
|
|
19
20
|
//# sourceMappingURL=parse.d.ts.map
|
package/dist/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAOvB,KAAK,SAAS,EAKf,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAkI5B"}
|
package/dist/parse.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import * as fs from 'fs/promises';
|
|
2
1
|
import matter from 'gray-matter';
|
|
3
|
-
import { CustomizationType, createId, parseIRVersion, } from '@a16njs/models';
|
|
2
|
+
import { CustomizationType, createId, parseIRVersion, toWorkspace, } from '@a16njs/models';
|
|
4
3
|
/**
|
|
5
|
-
* Parse an IR file from
|
|
4
|
+
* Parse an IR file from a workspace.
|
|
6
5
|
*
|
|
7
|
-
* @param
|
|
6
|
+
* @param rootOrWorkspace - Workspace or root path string
|
|
7
|
+
* @param filePath - Path to the file relative to workspace root
|
|
8
8
|
* @param filename - Filename (used to derive name)
|
|
9
|
-
* @param
|
|
9
|
+
* @param sourcePath - Path relative to .a16n/ directory (e.g., ".a16n/global-prompt/coding-standards.md")
|
|
10
10
|
* @returns ParseIRFileResult with either item or error
|
|
11
11
|
*/
|
|
12
|
-
export async function parseIRFile(
|
|
12
|
+
export async function parseIRFile(rootOrWorkspace, filePath, filename, sourcePath) {
|
|
13
13
|
try {
|
|
14
|
+
const ws = toWorkspace(rootOrWorkspace);
|
|
14
15
|
// Read file content
|
|
15
|
-
const content = await
|
|
16
|
+
const content = await ws.read(filePath);
|
|
16
17
|
// Parse YAML frontmatter
|
|
17
18
|
let parsed;
|
|
18
19
|
try {
|
|
@@ -45,10 +46,10 @@ export async function parseIRFile(filepath, filename, relativePath) {
|
|
|
45
46
|
// Build base IR item
|
|
46
47
|
// metadata is NOT serialized to IR files (transient only), so initialize as empty
|
|
47
48
|
const baseItem = {
|
|
48
|
-
id: createId(type,
|
|
49
|
+
id: createId(type, sourcePath),
|
|
49
50
|
type,
|
|
50
51
|
version: frontmatter.version,
|
|
51
|
-
sourcePath
|
|
52
|
+
sourcePath,
|
|
52
53
|
content: body,
|
|
53
54
|
relativeDir: frontmatter.relativeDir,
|
|
54
55
|
metadata: {},
|
|
@@ -77,9 +78,14 @@ export async function parseIRFile(filepath, filename, relativePath) {
|
|
|
77
78
|
if (!frontmatter.description || typeof frontmatter.description !== 'string') {
|
|
78
79
|
return { error: 'SimpleAgentSkill requires description string in frontmatter' };
|
|
79
80
|
}
|
|
81
|
+
// v1beta2 requires name in frontmatter; v1beta1 files may omit it — derive from filename
|
|
82
|
+
const name = typeof frontmatter.name === 'string' && frontmatter.name.trim().length > 0
|
|
83
|
+
? frontmatter.name.trim()
|
|
84
|
+
: nameWithoutExt;
|
|
80
85
|
const item = {
|
|
81
86
|
...baseItem,
|
|
82
87
|
type: CustomizationType.SimpleAgentSkill,
|
|
88
|
+
name,
|
|
83
89
|
description: frontmatter.description,
|
|
84
90
|
};
|
|
85
91
|
return { item };
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EASL,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,WAAW,GACZ,MAAM,gBAAgB,CAAC;AA2BxB;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,eAAmC,EACnC,QAAgB,EAChB,QAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;QACxC,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,yBAAyB;QACzB,IAAI,MAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,qCAAsC,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAqB,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;QAE5B,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACnD,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,2BAA2B,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QACrE,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAyB,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,KAAK,EAAE,iBAAiB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAExD,qBAAqB;QACrB,kFAAkF;QAClF,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;YAC9B,IAAI;YACJ,OAAO,EAAE,WAAW,CAAC,OAAoB;YACzC,UAAU;YACV,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,8BAA8B;QAC9B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAiB;oBACzB,GAAG,QAAQ;oBACX,IAAI,EAAE,iBAAiB,CAAC,YAAY;iBACrC,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5D,OAAO,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;gBACnE,CAAC;gBACD,MAAM,IAAI,GAAa;oBACrB,GAAG,QAAQ;oBACX,IAAI,EAAE,iBAAiB,CAAC,QAAQ;oBAChC,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC5E,OAAO,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;gBAClF,CAAC;gBACD,yFAAyF;gBACzF,MAAM,IAAI,GACR,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBACxE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;oBACzB,CAAC,CAAC,cAAc,CAAC;gBACrB,MAAM,IAAI,GAAqB;oBAC7B,GAAG,QAAQ;oBACX,IAAI,EAAE,iBAAiB,CAAC,gBAAgB;oBACxC,IAAI;oBACJ,WAAW,EAAE,WAAW,CAAC,WAAW;iBACrC,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,gDAAgD;gBAChD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW;oBACxC,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,IAAI,cAAc,EAAE;oBAChD,CAAC,CAAC,cAAc,CAAC;gBAEnB,MAAM,IAAI,GAAiB;oBACzB,GAAG,QAAQ;oBACX,IAAI,EAAE,iBAAiB,CAAC,YAAY;oBACpC,UAAU;iBACX,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClE,OAAO,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC;gBACzE,CAAC;gBACD,MAAM,IAAI,GAAgB;oBACxB,GAAG,QAAQ;oBACX,IAAI,EAAE,iBAAiB,CAAC,WAAW;oBACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ;iBAC/B,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,KAAK,iBAAiB,CAAC,YAAY;gBACjC,uEAAuE;gBACvE,iEAAiE;gBACjE,OAAO,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC;YAE7E;gBACE,OAAO,EAAE,KAAK,EAAE,qBAAqB,IAAI,EAAE,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,wBAAyB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IACrE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a16njs/plugin-a16n",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "a16n Intermediate Representation (IR) plugin for a16n",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"author": "Texarkanine",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"gray-matter": "^4.0.3",
|
|
36
36
|
"yaml": "^2.8.2",
|
|
37
|
-
"@a16njs/models": "0.
|
|
37
|
+
"@a16njs/models": "0.10.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^20.0.0",
|