@ai-dossier/core 1.15.0-next.628.1 → 1.15.1-next.630.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/parser.d.ts.map +1 -1
- package/dist/parser.js +30 -10
- package/dist/parser.js.map +1 -1
- package/package.json +1 -1
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIjE,uDAAuD;AACvD,eAAO,MAAM,eAAe,yDAA0D,CAAC;AAEvF,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,gDAAiD,CAAC;AAEjF,8FAA8F;AAC9F,eAAO,MAAM,cAAc,4DAA6D,CAAC;AAEzF,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,gDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIjE,uDAAuD;AACvD,eAAO,MAAM,eAAe,yDAA0D,CAAC;AAEvF,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,gDAAiD,CAAC;AAEjF,8FAA8F;AAC9F,eAAO,MAAM,cAAc,4DAA6D,CAAC;AAEzF,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,gDAAiD,CAAC;AAiBhF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAkDlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAgC7E"}
|
package/dist/parser.js
CHANGED
|
@@ -25,6 +25,19 @@ exports.RECOMMENDED_FIELDS = ['objective', 'risk_level', 'status'];
|
|
|
25
25
|
exports.VALID_STATUSES = ['Draft', 'Stable', 'Deprecated', 'Experimental'];
|
|
26
26
|
/** Valid values for the risk_level field. */
|
|
27
27
|
exports.VALID_RISK_LEVELS = ['low', 'medium', 'high', 'critical'];
|
|
28
|
+
function refuseEngine() {
|
|
29
|
+
throw new Error('Only YAML/JSON front matter is supported');
|
|
30
|
+
}
|
|
31
|
+
/** YAML only; gray-matter's code-evaluating engines are replaced with a refusal. */
|
|
32
|
+
const MATTER_OPTIONS = {
|
|
33
|
+
language: 'yaml',
|
|
34
|
+
engines: {
|
|
35
|
+
js: refuseEngine,
|
|
36
|
+
javascript: refuseEngine,
|
|
37
|
+
coffee: refuseEngine,
|
|
38
|
+
coffeescript: refuseEngine,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
28
41
|
/**
|
|
29
42
|
* Parse dossier content into frontmatter and body.
|
|
30
43
|
*
|
|
@@ -34,23 +47,30 @@ function parseDossierContent(content) {
|
|
|
34
47
|
if (!content || typeof content !== 'string') {
|
|
35
48
|
throw new Error('Invalid dossier format. Content must be a non-empty string.');
|
|
36
49
|
}
|
|
37
|
-
// Normalize dossier-specific delimiters to standard --- for gray-matter
|
|
50
|
+
// Normalize dossier-specific delimiters to standard --- for gray-matter.
|
|
51
|
+
// Only YAML (and JSON, which is YAML) is accepted: gray-matter reads a
|
|
52
|
+
// language name off the opening fence and has engines that evaluate code, so
|
|
53
|
+
// any other opening line is refused rather than handed to it.
|
|
54
|
+
const firstNewline = content.indexOf('\n');
|
|
55
|
+
const openingLine = (firstNewline >= 0 ? content.slice(0, firstNewline) : content).trimEnd();
|
|
38
56
|
let normalized = content;
|
|
39
|
-
if (content.startsWith('---dossier')) {
|
|
40
|
-
// Strip
|
|
41
|
-
const firstNewline = content.indexOf('\n');
|
|
57
|
+
if (content.startsWith('---dossier') || content.startsWith('---json')) {
|
|
58
|
+
// Strip the opening line and any trailing text on it, keep the newline
|
|
42
59
|
normalized = `---\n${firstNewline >= 0 ? content.slice(firstNewline + 1) : ''}`;
|
|
43
60
|
}
|
|
44
|
-
else if (
|
|
45
|
-
|
|
46
|
-
|
|
61
|
+
else if (openingLine !== '---' && openingLine !== '---yaml') {
|
|
62
|
+
throw new Error(content.startsWith('---')
|
|
63
|
+
? `Unsupported front-matter opening "${openingLine.slice(0, 40)}". Only YAML (---) or JSON (---dossier / ---json) front matter is accepted.`
|
|
64
|
+
: 'Invalid dossier format. Expected:\n---dossier\n{...}\n---\n[body]\nor standard YAML frontmatter (---)');
|
|
47
65
|
}
|
|
48
|
-
else if (
|
|
49
|
-
|
|
66
|
+
else if (openingLine === '---yaml') {
|
|
67
|
+
normalized = `---\n${firstNewline >= 0 ? content.slice(firstNewline + 1) : ''}`;
|
|
50
68
|
}
|
|
51
69
|
let parsed;
|
|
52
70
|
try {
|
|
53
|
-
|
|
71
|
+
// Passing options also bypasses gray-matter's content-keyed cache, which
|
|
72
|
+
// would otherwise hand every caller the same mutable data object.
|
|
73
|
+
parsed = (0, gray_matter_1.default)(normalized, MATTER_OPTIONS);
|
|
54
74
|
}
|
|
55
75
|
catch (err) {
|
|
56
76
|
throw new Error(`Failed to parse frontmatter: ${(0, errors_1.getErrorMessage)(err)}`);
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-dossier/core",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.1-next.630.1",
|
|
4
4
|
"description": "TypeScript library for parsing, signing, and verifying signed, versioned agent skills used in model-driven orchestration.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|