@principal-ai/principal-view-core 0.10.3 → 0.11.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/PathBasedEventProcessor.d.ts.map +1 -1
- package/dist/PathBasedEventProcessor.js.map +1 -1
- package/dist/cli/codegen.d.ts.map +1 -1
- package/dist/cli/codegen.js +2 -0
- package/dist/cli/codegen.js.map +1 -1
- package/dist/codegen/usage-example.d.ts.map +1 -1
- package/dist/codegen/usage-example.js.map +1 -1
- package/dist/narrative/template-parser.d.ts +1 -0
- package/dist/narrative/template-parser.d.ts.map +1 -1
- package/dist/narrative/template-parser.js +19 -0
- package/dist/narrative/template-parser.js.map +1 -1
- package/dist/narrative/validator.d.ts +67 -1
- package/dist/narrative/validator.d.ts.map +1 -1
- package/dist/narrative/validator.js +215 -4
- package/dist/narrative/validator.js.map +1 -1
- package/dist/utils/CanvasConverter.js +1 -1
- package/dist/utils/CanvasConverter.js.map +1 -1
- package/package.json +1 -2
- package/src/PathBasedEventProcessor.ts +1 -3
- package/src/cli/codegen.ts +2 -0
- package/src/codegen/type-generator.test.ts +1 -6
- package/src/codegen/usage-example.ts +1 -0
- package/src/narrative/template-parser.ts +20 -0
- package/src/narrative/validator.ts +290 -4
- package/src/utils/CanvasConverter.ts +1 -1
- package/src/utils/GraphConverter.test.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathBasedEventProcessor.d.ts","sourceRoot":"","sources":["../src/PathBasedEventProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,2BAA2B,
|
|
1
|
+
{"version":3,"file":"PathBasedEventProcessor.d.ts","sourceRoot":"","sources":["../src/PathBasedEventProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,2BAA2B,EAE3B,cAAc,EAEd,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF;;;;WAIG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;CACpB;AAUD;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,EAAE,2BAA2B;IAK/C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;OAKG;IACI,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,EAAE;IAoClD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE;IAUtD;;OAEG;IACI,QAAQ,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;KAC7B;IAQD;;OAEG;IACI,QAAQ,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA0B/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathBasedEventProcessor.js","sourceRoot":"","sources":["../src/PathBasedEventProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PathBasedEventProcessor.js","sourceRoot":"","sources":["../src/PathBasedEventProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAQH,UAAU,UAAU;IAClB,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAQH,UAAU,UAAU;IAClB,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAuDjF;AAED;;GAEG;AACH,iBAAS,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,UA2DpE;AAkED;;GAEG;AACH,iBAAS,IAAI,SAuDZ;AAOD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/cli/codegen.js
CHANGED
package/dist/cli/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAc7E;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe;QAC1B,QAAQ,EAAE,YAAY;QACtB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,QAAQ,GAAG,EAAE;YACX,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAA2B,CAAC;gBACvD,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,IAAI;gBACP,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,yBAAyB;gBAC5B,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACnC,MAAM;YACR,KAAK,aAAa,CAAC;YACnB,KAAK,IAAI;gBACP,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,SAAS,CAAC;YACf,KAAK,IAAI;gBACP,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-example.d.ts","sourceRoot":"","sources":["../../src/codegen/usage-example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"usage-example.d.ts","sourceRoot":"","sources":["../../src/codegen/usage-example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,kBAAU,cAAc,CAAC;IACvB,UAAiB,iBAAiB;QAChC,IAAI,EAAE,oBAAoB,CAAC;QAC3B,UAAU,EAAE;YACV,kBAAkB,EAAE,MAAM,CAAC;YAC3B,kBAAkB,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH;IAED,UAAiB,kBAAkB;QACjC,IAAI,EAAE,qBAAqB,CAAC;QAC5B,UAAU,EAAE;YACV,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;IAED,UAAiB,eAAe;QAC9B,IAAI,EAAE,kBAAkB,CAAC;QACzB,UAAU,EAAE;YACV,eAAe,EAAE,MAAM,CAAC;YACxB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;IAED,UAAiB,yBAAyB;QACxC,IAAI,EAAE,4BAA4B,CAAC;QACnC,UAAU,EAAE;YACV,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH;IAED,UAAiB,yBAAyB;QACxC,IAAI,EAAE,4BAA4B,CAAC;QACnC,UAAU,EAAE;YACV,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH;IAED,KAAY,KAAK,GACb,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,yBAAyB,GACzB,yBAAyB,CAAC;IAE9B,KAAY,SAAS,GACjB,oBAAoB,GACpB,4BAA4B,GAC5B,4BAA4B,GAC5B,qBAAqB,GACrB,kBAAkB,CAAC;CACxB;AAsBD,KAAK,iBAAiB,CAAC,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,IAAI,CACzF,KAAK,SAAS,MAAM,CAAC,MAAM,CAAC,EAE5B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,KACvD,IAAI,CAAC;AAEV;;GAEG;AACH,iBAAS,uBAAuB,SAiD/B;AAED;;GAEG;AACH,iBAAS,yBAAyB,SAiCjC;AAED;;GAEG;AACH,cAAM,qBAAqB;IACzB,OAAO,CAAC,IAAI,CAA0C;gBAE1C,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC;IAI5D,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;CAuB7D;AAED;;GAEG;AACH,iBAAS,oBAAoB,SAwB5B;AAED;;GAEG;AACH,iBAAS,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,QAsBvD;AAED;;GAEG;AACH,iBAAS,wBAAwB,CAAC,SAAS,EAAE,MAAM,QAMlD;AAaD;;GAEG;AACH,iBAAe,oBAAoB,kBA+BlC;AAED,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-example.js","sourceRoot":"","sources":["../../src/codegen/usage-example.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"usage-example.js","sourceRoot":"","sources":["../../src/codegen/usage-example.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-parser.d.ts","sourceRoot":"","sources":["../../src/narrative/template-parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"template-parser.d.ts","sourceRoot":"","sources":["../../src/narrative/template-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAOxF"}
|
|
@@ -6,8 +6,27 @@
|
|
|
6
6
|
* - Nested properties: {{result.violations.total}}
|
|
7
7
|
* - Conditionals: {{#if condition}}...{{/if}}
|
|
8
8
|
* - Loops: {{#each items}}...{{/each}}
|
|
9
|
+
* - Comparison helpers: {{#if (eq a b)}}...{{/if}}
|
|
9
10
|
*/
|
|
10
11
|
import Handlebars from 'handlebars';
|
|
12
|
+
// Register common comparison helpers
|
|
13
|
+
Handlebars.registerHelper('eq', (a, b) => a === b);
|
|
14
|
+
Handlebars.registerHelper('ne', (a, b) => a !== b);
|
|
15
|
+
Handlebars.registerHelper('lt', (a, b) => a < b);
|
|
16
|
+
Handlebars.registerHelper('gt', (a, b) => a > b);
|
|
17
|
+
Handlebars.registerHelper('lte', (a, b) => a <= b);
|
|
18
|
+
Handlebars.registerHelper('gte', (a, b) => a >= b);
|
|
19
|
+
Handlebars.registerHelper('and', (...args) => {
|
|
20
|
+
// Last argument is Handlebars options object
|
|
21
|
+
const values = args.slice(0, -1);
|
|
22
|
+
return values.every(Boolean);
|
|
23
|
+
});
|
|
24
|
+
Handlebars.registerHelper('or', (...args) => {
|
|
25
|
+
// Last argument is Handlebars options object
|
|
26
|
+
const values = args.slice(0, -1);
|
|
27
|
+
return values.some(Boolean);
|
|
28
|
+
});
|
|
29
|
+
Handlebars.registerHelper('not', (a) => !a);
|
|
11
30
|
/**
|
|
12
31
|
* Parse and evaluate a template string using Handlebars
|
|
13
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-parser.js","sourceRoot":"","sources":["../../src/narrative/template-parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"template-parser.js","sourceRoot":"","sources":["../../src/narrative/template-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,qCAAqC;AACrC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;IAC3C,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;IAC1C,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAgC;IAC9E,IAAI;QACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC;KACnG;AACH,CAAC"}
|
|
@@ -17,6 +17,13 @@ export interface NarrativeValidationContext {
|
|
|
17
17
|
basePath: string;
|
|
18
18
|
/** Raw narrative content for line number lookup */
|
|
19
19
|
rawContent?: string;
|
|
20
|
+
/** Execution data for validating attribute references (optional) */
|
|
21
|
+
executionData?: {
|
|
22
|
+
/** Aggregated attributes available in templates */
|
|
23
|
+
aggregates: Record<string, unknown>;
|
|
24
|
+
/** Attributes grouped by event name */
|
|
25
|
+
eventAttributes: Map<string, Record<string, unknown>>;
|
|
26
|
+
};
|
|
20
27
|
}
|
|
21
28
|
export interface NarrativeViolation {
|
|
22
29
|
/** Rule ID that detected this violation */
|
|
@@ -94,9 +101,36 @@ export declare class NarrativeValidator {
|
|
|
94
101
|
*/
|
|
95
102
|
private validateTemplateString;
|
|
96
103
|
/**
|
|
97
|
-
* Check attribute references
|
|
104
|
+
* Check attribute references against execution data
|
|
105
|
+
*
|
|
106
|
+
* Validates that:
|
|
107
|
+
* - Attributes referenced in templates exist in execution data
|
|
108
|
+
* - Object attributes are accessed via properties (not used directly)
|
|
109
|
+
* - Attribute names are correct (catches typos)
|
|
98
110
|
*/
|
|
99
111
|
private checkAttributeReferences;
|
|
112
|
+
/**
|
|
113
|
+
* Validate a list of attribute references against available data
|
|
114
|
+
*
|
|
115
|
+
* @param attributes - Attribute paths to validate
|
|
116
|
+
* @param aggregates - Global aggregate attributes
|
|
117
|
+
* @param eventAttributes - Event-specific attributes (if validating event template)
|
|
118
|
+
* @param file - File path for violation reporting
|
|
119
|
+
* @param path - JSON path for violation reporting
|
|
120
|
+
* @param eventName - Event name (if validating event template)
|
|
121
|
+
* @returns Array of violations found
|
|
122
|
+
*/
|
|
123
|
+
private validateAttributes;
|
|
124
|
+
/**
|
|
125
|
+
* Find similar attribute names for helpful suggestions
|
|
126
|
+
*
|
|
127
|
+
* Uses simple string similarity (Levenshtein-like) to find typos
|
|
128
|
+
*
|
|
129
|
+
* @param target - The attribute being searched for
|
|
130
|
+
* @param available - Available attribute names
|
|
131
|
+
* @returns Array of similar attribute names (max 3)
|
|
132
|
+
*/
|
|
133
|
+
private findSimilarAttributes;
|
|
100
134
|
/**
|
|
101
135
|
* Check formatting options
|
|
102
136
|
*/
|
|
@@ -131,6 +165,38 @@ export declare class NarrativeValidator {
|
|
|
131
165
|
* - "installation.started" -> ""
|
|
132
166
|
*/
|
|
133
167
|
private extractAttributeValue;
|
|
168
|
+
/**
|
|
169
|
+
* Extract attribute references from Handlebars template
|
|
170
|
+
*
|
|
171
|
+
* Parses template strings like:
|
|
172
|
+
* - "{{source}}" -> ["source"]
|
|
173
|
+
* - "{{source.url}}" -> ["source.url"]
|
|
174
|
+
* - "{{#if options.global}}" -> ["options.global"]
|
|
175
|
+
* - "{{#if (eq install.mode 'symlink')}}" -> ["install.mode"]
|
|
176
|
+
*
|
|
177
|
+
* @param template - Handlebars template string
|
|
178
|
+
* @returns Array of attribute paths referenced in the template
|
|
179
|
+
*/
|
|
180
|
+
private extractAttributeReferences;
|
|
181
|
+
/**
|
|
182
|
+
* Extract attribute references from a single Handlebars expression
|
|
183
|
+
*
|
|
184
|
+
* Handles:
|
|
185
|
+
* - Simple references: source.url
|
|
186
|
+
* - Helper calls: (eq install.mode 'symlink')
|
|
187
|
+
* - Nested expressions
|
|
188
|
+
*
|
|
189
|
+
* @param expression - The expression to parse
|
|
190
|
+
* @param attributes - Set to add found attributes to
|
|
191
|
+
*/
|
|
192
|
+
private extractAttributesFromExpression;
|
|
193
|
+
/**
|
|
194
|
+
* Check if an attribute is an object type
|
|
195
|
+
*
|
|
196
|
+
* @param value - The attribute value to check
|
|
197
|
+
* @returns true if value is a plain object (not array, not null)
|
|
198
|
+
*/
|
|
199
|
+
private isObjectType;
|
|
134
200
|
}
|
|
135
201
|
/**
|
|
136
202
|
* Create a validator instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/narrative/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQtD,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,SAAS,EAAE,iBAAiB,CAAC;IAE7B,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IAEtB,iCAAiC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/narrative/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -691,14 +691,144 @@ export class NarrativeValidator {
|
|
|
691
691
|
return violations;
|
|
692
692
|
}
|
|
693
693
|
/**
|
|
694
|
-
* Check attribute references
|
|
694
|
+
* Check attribute references against execution data
|
|
695
|
+
*
|
|
696
|
+
* Validates that:
|
|
697
|
+
* - Attributes referenced in templates exist in execution data
|
|
698
|
+
* - Object attributes are accessed via properties (not used directly)
|
|
699
|
+
* - Attribute names are correct (catches typos)
|
|
700
|
+
*/
|
|
701
|
+
checkAttributeReferences(context) {
|
|
702
|
+
const violations = [];
|
|
703
|
+
const { narrative, narrativePath, executionData } = context;
|
|
704
|
+
// Skip if no execution data provided
|
|
705
|
+
if (!executionData) {
|
|
706
|
+
return violations;
|
|
707
|
+
}
|
|
708
|
+
const { aggregates, eventAttributes } = executionData;
|
|
709
|
+
// Check each scenario's template
|
|
710
|
+
for (const scenario of narrative.scenarios) {
|
|
711
|
+
const scenarioPath = `scenarios[${scenario.id}]`;
|
|
712
|
+
// Check introduction template
|
|
713
|
+
if (scenario.template.introduction) {
|
|
714
|
+
const attrs = this.extractAttributeReferences(scenario.template.introduction);
|
|
715
|
+
violations.push(...this.validateAttributes(attrs, aggregates, null, // introduction doesn't have specific event context
|
|
716
|
+
narrativePath, `${scenarioPath}.template.introduction`));
|
|
717
|
+
}
|
|
718
|
+
// Check event templates
|
|
719
|
+
if (scenario.template.events) {
|
|
720
|
+
for (const [eventName, eventTemplate] of Object.entries(scenario.template.events)) {
|
|
721
|
+
const attrs = this.extractAttributeReferences(eventTemplate);
|
|
722
|
+
const eventAttrs = eventAttributes.get(eventName);
|
|
723
|
+
violations.push(...this.validateAttributes(attrs, aggregates, eventAttrs || null, narrativePath, `${scenarioPath}.template.events.${eventName}`, eventName));
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
// Check summary template
|
|
727
|
+
if (scenario.template.summary) {
|
|
728
|
+
const attrs = this.extractAttributeReferences(scenario.template.summary);
|
|
729
|
+
violations.push(...this.validateAttributes(attrs, aggregates, null, // summary uses global aggregates
|
|
730
|
+
narrativePath, `${scenarioPath}.template.summary`));
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
return violations;
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* Validate a list of attribute references against available data
|
|
737
|
+
*
|
|
738
|
+
* @param attributes - Attribute paths to validate
|
|
739
|
+
* @param aggregates - Global aggregate attributes
|
|
740
|
+
* @param eventAttributes - Event-specific attributes (if validating event template)
|
|
741
|
+
* @param file - File path for violation reporting
|
|
742
|
+
* @param path - JSON path for violation reporting
|
|
743
|
+
* @param eventName - Event name (if validating event template)
|
|
744
|
+
* @returns Array of violations found
|
|
695
745
|
*/
|
|
696
|
-
|
|
746
|
+
validateAttributes(attributes, aggregates, eventAttributes, file, path, eventName) {
|
|
697
747
|
const violations = [];
|
|
698
|
-
|
|
699
|
-
|
|
748
|
+
for (const attr of attributes) {
|
|
749
|
+
// Check if attribute exists in global aggregates
|
|
750
|
+
const globalValue = aggregates[attr];
|
|
751
|
+
const eventValue = eventAttributes?.[attr];
|
|
752
|
+
// Attribute doesn't exist anywhere
|
|
753
|
+
if (globalValue === undefined && eventValue === undefined) {
|
|
754
|
+
// Try to find similar attributes for helpful suggestions
|
|
755
|
+
const allKeys = [
|
|
756
|
+
...Object.keys(aggregates),
|
|
757
|
+
...(eventAttributes ? Object.keys(eventAttributes) : []),
|
|
758
|
+
];
|
|
759
|
+
const similar = this.findSimilarAttributes(attr, allKeys);
|
|
760
|
+
violations.push({
|
|
761
|
+
ruleId: 'narrative-attribute-undefined',
|
|
762
|
+
severity: 'warn',
|
|
763
|
+
file,
|
|
764
|
+
path,
|
|
765
|
+
message: eventName
|
|
766
|
+
? `Attribute "{{${attr}}}" not found in event "${eventName}" or global aggregates`
|
|
767
|
+
: `Attribute "{{${attr}}}" not found in execution data`,
|
|
768
|
+
impact: 'Template will render as empty or "undefined"',
|
|
769
|
+
suggestion: similar.length > 0 ? `Did you mean: ${similar.join(', ')}?` : undefined,
|
|
770
|
+
fixable: false,
|
|
771
|
+
});
|
|
772
|
+
continue;
|
|
773
|
+
}
|
|
774
|
+
// Check if object is used directly (should use property access)
|
|
775
|
+
const value = eventValue !== undefined ? eventValue : globalValue;
|
|
776
|
+
if (this.isObjectType(value)) {
|
|
777
|
+
const objectKeys = Object.keys(value);
|
|
778
|
+
const suggestions = objectKeys.slice(0, 3).map((k) => `{{${attr}.${k}}}`);
|
|
779
|
+
violations.push({
|
|
780
|
+
ruleId: 'narrative-attribute-object',
|
|
781
|
+
severity: 'warn',
|
|
782
|
+
file,
|
|
783
|
+
path,
|
|
784
|
+
message: `Attribute "{{${attr}}}" is an object and will render as "[object Object]"`,
|
|
785
|
+
impact: 'Template will show "[object Object]" instead of useful data',
|
|
786
|
+
suggestion: `Access a property instead: ${suggestions.join(', ')}`,
|
|
787
|
+
fixable: false,
|
|
788
|
+
});
|
|
789
|
+
}
|
|
790
|
+
}
|
|
700
791
|
return violations;
|
|
701
792
|
}
|
|
793
|
+
/**
|
|
794
|
+
* Find similar attribute names for helpful suggestions
|
|
795
|
+
*
|
|
796
|
+
* Uses simple string similarity (Levenshtein-like) to find typos
|
|
797
|
+
*
|
|
798
|
+
* @param target - The attribute being searched for
|
|
799
|
+
* @param available - Available attribute names
|
|
800
|
+
* @returns Array of similar attribute names (max 3)
|
|
801
|
+
*/
|
|
802
|
+
findSimilarAttributes(target, available) {
|
|
803
|
+
const similar = [];
|
|
804
|
+
for (const attr of available) {
|
|
805
|
+
// Check for prefix match
|
|
806
|
+
if (attr.startsWith(target) || target.startsWith(attr)) {
|
|
807
|
+
similar.push({ attr, score: 10 });
|
|
808
|
+
continue;
|
|
809
|
+
}
|
|
810
|
+
// Check for substring match
|
|
811
|
+
if (attr.includes(target) || target.includes(attr)) {
|
|
812
|
+
similar.push({ attr, score: 5 });
|
|
813
|
+
continue;
|
|
814
|
+
}
|
|
815
|
+
// Check for similar structure (same number of dots)
|
|
816
|
+
const targetParts = target.split('.');
|
|
817
|
+
const attrParts = attr.split('.');
|
|
818
|
+
if (targetParts.length === attrParts.length) {
|
|
819
|
+
// Check if any parts match
|
|
820
|
+
const matchingParts = targetParts.filter((p, i) => p === attrParts[i]).length;
|
|
821
|
+
if (matchingParts > 0) {
|
|
822
|
+
similar.push({ attr, score: matchingParts });
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
// Sort by score and return top 3
|
|
827
|
+
return similar
|
|
828
|
+
.sort((a, b) => b.score - a.score)
|
|
829
|
+
.slice(0, 3)
|
|
830
|
+
.map((s) => s.attr);
|
|
831
|
+
}
|
|
702
832
|
/**
|
|
703
833
|
* Check formatting options
|
|
704
834
|
*/
|
|
@@ -805,6 +935,87 @@ export class NarrativeValidator {
|
|
|
805
935
|
}
|
|
806
936
|
return match[1];
|
|
807
937
|
}
|
|
938
|
+
/**
|
|
939
|
+
* Extract attribute references from Handlebars template
|
|
940
|
+
*
|
|
941
|
+
* Parses template strings like:
|
|
942
|
+
* - "{{source}}" -> ["source"]
|
|
943
|
+
* - "{{source.url}}" -> ["source.url"]
|
|
944
|
+
* - "{{#if options.global}}" -> ["options.global"]
|
|
945
|
+
* - "{{#if (eq install.mode 'symlink')}}" -> ["install.mode"]
|
|
946
|
+
*
|
|
947
|
+
* @param template - Handlebars template string
|
|
948
|
+
* @returns Array of attribute paths referenced in the template
|
|
949
|
+
*/
|
|
950
|
+
extractAttributeReferences(template) {
|
|
951
|
+
const attributes = new Set();
|
|
952
|
+
// Match all Handlebars expressions: {{...}}
|
|
953
|
+
const expressionPattern = /\{\{([^}]+)\}\}/g;
|
|
954
|
+
let match;
|
|
955
|
+
while ((match = expressionPattern.exec(template)) !== null) {
|
|
956
|
+
const expression = match[1].trim();
|
|
957
|
+
// Skip block helpers closing tags
|
|
958
|
+
if (expression.startsWith('/')) {
|
|
959
|
+
continue;
|
|
960
|
+
}
|
|
961
|
+
// Handle block helpers: #if, #each, #unless, etc.
|
|
962
|
+
if (expression.startsWith('#')) {
|
|
963
|
+
// Extract the condition/expression after the helper
|
|
964
|
+
const helperMatch = expression.match(/^#\w+\s+(.+)$/);
|
|
965
|
+
if (helperMatch) {
|
|
966
|
+
this.extractAttributesFromExpression(helperMatch[1], attributes);
|
|
967
|
+
}
|
|
968
|
+
continue;
|
|
969
|
+
}
|
|
970
|
+
// Handle regular expressions
|
|
971
|
+
this.extractAttributesFromExpression(expression, attributes);
|
|
972
|
+
}
|
|
973
|
+
return Array.from(attributes);
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Extract attribute references from a single Handlebars expression
|
|
977
|
+
*
|
|
978
|
+
* Handles:
|
|
979
|
+
* - Simple references: source.url
|
|
980
|
+
* - Helper calls: (eq install.mode 'symlink')
|
|
981
|
+
* - Nested expressions
|
|
982
|
+
*
|
|
983
|
+
* @param expression - The expression to parse
|
|
984
|
+
* @param attributes - Set to add found attributes to
|
|
985
|
+
*/
|
|
986
|
+
extractAttributesFromExpression(expression, attributes) {
|
|
987
|
+
// Remove helper parentheses: (eq install.mode 'symlink') -> eq install.mode 'symlink'
|
|
988
|
+
const cleaned = expression.replace(/^\(|\)$/g, '').trim();
|
|
989
|
+
// Split on spaces to handle helper arguments
|
|
990
|
+
const parts = cleaned.split(/\s+/);
|
|
991
|
+
for (const part of parts) {
|
|
992
|
+
// Skip helper names, string literals, numbers, and boolean literals
|
|
993
|
+
if (part.match(/^(if|unless|each|with|eq|ne|lt|gt|lte|gte|and|or|not)$/) ||
|
|
994
|
+
part.match(/^['"].*['"]$/) ||
|
|
995
|
+
part.match(/^\d+$/) ||
|
|
996
|
+
part.match(/^(true|false|null|undefined)$/)) {
|
|
997
|
+
continue;
|
|
998
|
+
}
|
|
999
|
+
// Remove any remaining quotes or parentheses
|
|
1000
|
+
const cleanPart = part.replace(/['"()]/g, '');
|
|
1001
|
+
// If it looks like an attribute path (contains letters/dots/underscores)
|
|
1002
|
+
if (cleanPart && cleanPart.match(/^[a-zA-Z_][a-zA-Z0-9_.]*$/)) {
|
|
1003
|
+
attributes.add(cleanPart);
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
/**
|
|
1008
|
+
* Check if an attribute is an object type
|
|
1009
|
+
*
|
|
1010
|
+
* @param value - The attribute value to check
|
|
1011
|
+
* @returns true if value is a plain object (not array, not null)
|
|
1012
|
+
*/
|
|
1013
|
+
isObjectType(value) {
|
|
1014
|
+
return (typeof value === 'object' &&
|
|
1015
|
+
value !== null &&
|
|
1016
|
+
!Array.isArray(value) &&
|
|
1017
|
+
!(value instanceof Date));
|
|
1018
|
+
}
|
|
808
1019
|
}
|
|
809
1020
|
/**
|
|
810
1021
|
* Create a validator instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/narrative/validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/narrative/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export class CanvasConverter {
|
|
|
53
53
|
/**
|
|
54
54
|
* Convert a single canvas node to React Flow node
|
|
55
55
|
*/
|
|
56
|
-
static convertNode(node,
|
|
56
|
+
static convertNode(node, _canvas) {
|
|
57
57
|
const pv = node.pv;
|
|
58
58
|
const color = resolveCanvasColor(node.color);
|
|
59
59
|
// Get name based on node type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasConverter.js","sourceRoot":"","sources":["../../src/utils/CanvasConverter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasConverter.js","sourceRoot":"","sources":["../../src/utils/CanvasConverter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@principal-ai/principal-view-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Core logic and types for graph-based principal view framework",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
"@opentelemetry/sdk-trace-base": "2.2.0",
|
|
41
41
|
"@opentelemetry/semantic-conventions": "1.38.0",
|
|
42
42
|
"@principal-ai/codebase-composition": "^0.2.41",
|
|
43
|
-
"@principal-ai/principal-view-core": "^0.9.3",
|
|
44
43
|
"@principal-ai/repository-abstraction": "0.2.6",
|
|
45
44
|
"date-fns": "3.0.0",
|
|
46
45
|
"handlebars": "^4.7.8",
|
|
@@ -12,13 +12,11 @@ import { PathMatcher } from './utils/PathMatcher';
|
|
|
12
12
|
import type {
|
|
13
13
|
PathBasedGraphConfiguration,
|
|
14
14
|
ComponentActivityEvent,
|
|
15
|
-
ComponentActionEvent,
|
|
16
|
-
EdgeAnimationEvent,
|
|
17
15
|
PathBasedEvent,
|
|
18
16
|
// ActionPattern removed - see docs/LEGACY_PATH_BASED_PATTERNS.md
|
|
19
17
|
LogLevel,
|
|
20
18
|
} from './types/path-based-config';
|
|
21
|
-
import type { JsonValue
|
|
19
|
+
import type { JsonValue } from './types';
|
|
22
20
|
|
|
23
21
|
/**
|
|
24
22
|
* Log entry from logger (simplified interface to avoid circular dependency)
|
package/src/cli/codegen.ts
CHANGED
|
@@ -75,9 +75,11 @@ function parseArgs(args: string[]): { options: CliOptions; canvasFiles: string[]
|
|
|
75
75
|
case '-h':
|
|
76
76
|
printHelp();
|
|
77
77
|
process.exit(0);
|
|
78
|
+
break;
|
|
78
79
|
case '--list-generators':
|
|
79
80
|
listGenerators();
|
|
80
81
|
process.exit(0);
|
|
82
|
+
break;
|
|
81
83
|
default:
|
|
82
84
|
if (!arg.startsWith('--')) {
|
|
83
85
|
canvasFiles.push(arg);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { describe, test, expect } from 'bun:test';
|
|
6
6
|
import fs from 'fs';
|
|
7
7
|
import path from 'path';
|
|
8
|
-
import { generateTypes } from './type-generator';
|
|
8
|
+
import { generateTypes, generatorRegistry } from './type-generator';
|
|
9
9
|
import type { ExtendedCanvas } from '../types/canvas';
|
|
10
10
|
|
|
11
11
|
// Load the example canvas
|
|
@@ -192,22 +192,17 @@ describe('TypeScript Type Generator', () => {
|
|
|
192
192
|
|
|
193
193
|
describe('Code Generator Registry', () => {
|
|
194
194
|
test('should list available generators', () => {
|
|
195
|
-
const { generatorRegistry } = require('./type-generator');
|
|
196
|
-
|
|
197
195
|
const languages = generatorRegistry.list();
|
|
198
196
|
expect(languages).toContain('typescript');
|
|
199
197
|
});
|
|
200
198
|
|
|
201
199
|
test('should get TypeScript generator', () => {
|
|
202
|
-
const { generatorRegistry } = require('./type-generator');
|
|
203
|
-
|
|
204
200
|
const generator = generatorRegistry.get('typescript');
|
|
205
201
|
expect(generator).toBeDefined();
|
|
206
202
|
expect(generator?.language).toBe('typescript');
|
|
207
203
|
});
|
|
208
204
|
|
|
209
205
|
test('should allow registering custom generators', () => {
|
|
210
|
-
const { generatorRegistry } = require('./type-generator');
|
|
211
206
|
|
|
212
207
|
const customGenerator = {
|
|
213
208
|
language: 'custom',
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* For this example file, we define the types inline to avoid import errors.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
+
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-explicit-any */
|
|
24
25
|
// Types that would be imported from generated file
|
|
25
26
|
namespace GraphConverter {
|
|
26
27
|
export interface ConversionStarted {
|
|
@@ -6,10 +6,30 @@
|
|
|
6
6
|
* - Nested properties: {{result.violations.total}}
|
|
7
7
|
* - Conditionals: {{#if condition}}...{{/if}}
|
|
8
8
|
* - Loops: {{#each items}}...{{/each}}
|
|
9
|
+
* - Comparison helpers: {{#if (eq a b)}}...{{/if}}
|
|
9
10
|
*/
|
|
10
11
|
|
|
11
12
|
import Handlebars from 'handlebars';
|
|
12
13
|
|
|
14
|
+
// Register common comparison helpers
|
|
15
|
+
Handlebars.registerHelper('eq', (a, b) => a === b);
|
|
16
|
+
Handlebars.registerHelper('ne', (a, b) => a !== b);
|
|
17
|
+
Handlebars.registerHelper('lt', (a, b) => a < b);
|
|
18
|
+
Handlebars.registerHelper('gt', (a, b) => a > b);
|
|
19
|
+
Handlebars.registerHelper('lte', (a, b) => a <= b);
|
|
20
|
+
Handlebars.registerHelper('gte', (a, b) => a >= b);
|
|
21
|
+
Handlebars.registerHelper('and', (...args) => {
|
|
22
|
+
// Last argument is Handlebars options object
|
|
23
|
+
const values = args.slice(0, -1);
|
|
24
|
+
return values.every(Boolean);
|
|
25
|
+
});
|
|
26
|
+
Handlebars.registerHelper('or', (...args) => {
|
|
27
|
+
// Last argument is Handlebars options object
|
|
28
|
+
const values = args.slice(0, -1);
|
|
29
|
+
return values.some(Boolean);
|
|
30
|
+
});
|
|
31
|
+
Handlebars.registerHelper('not', (a) => !a);
|
|
32
|
+
|
|
13
33
|
/**
|
|
14
34
|
* Parse and evaluate a template string using Handlebars
|
|
15
35
|
*
|
|
@@ -30,6 +30,14 @@ export interface NarrativeValidationContext {
|
|
|
30
30
|
|
|
31
31
|
/** Raw narrative content for line number lookup */
|
|
32
32
|
rawContent?: string;
|
|
33
|
+
|
|
34
|
+
/** Execution data for validating attribute references (optional) */
|
|
35
|
+
executionData?: {
|
|
36
|
+
/** Aggregated attributes available in templates */
|
|
37
|
+
aggregates: Record<string, unknown>;
|
|
38
|
+
/** Attributes grouped by event name */
|
|
39
|
+
eventAttributes: Map<string, Record<string, unknown>>;
|
|
40
|
+
};
|
|
33
41
|
}
|
|
34
42
|
|
|
35
43
|
export interface NarrativeViolation {
|
|
@@ -855,15 +863,195 @@ export class NarrativeValidator {
|
|
|
855
863
|
}
|
|
856
864
|
|
|
857
865
|
/**
|
|
858
|
-
* Check attribute references
|
|
866
|
+
* Check attribute references against execution data
|
|
867
|
+
*
|
|
868
|
+
* Validates that:
|
|
869
|
+
* - Attributes referenced in templates exist in execution data
|
|
870
|
+
* - Object attributes are accessed via properties (not used directly)
|
|
871
|
+
* - Attribute names are correct (catches typos)
|
|
872
|
+
*/
|
|
873
|
+
private checkAttributeReferences(context: NarrativeValidationContext): NarrativeViolation[] {
|
|
874
|
+
const violations: NarrativeViolation[] = [];
|
|
875
|
+
const { narrative, narrativePath, executionData } = context;
|
|
876
|
+
|
|
877
|
+
// Skip if no execution data provided
|
|
878
|
+
if (!executionData) {
|
|
879
|
+
return violations;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
const { aggregates, eventAttributes } = executionData;
|
|
883
|
+
|
|
884
|
+
// Check each scenario's template
|
|
885
|
+
for (const scenario of narrative.scenarios) {
|
|
886
|
+
const scenarioPath = `scenarios[${scenario.id}]`;
|
|
887
|
+
|
|
888
|
+
// Check introduction template
|
|
889
|
+
if (scenario.template.introduction) {
|
|
890
|
+
const attrs = this.extractAttributeReferences(scenario.template.introduction);
|
|
891
|
+
violations.push(
|
|
892
|
+
...this.validateAttributes(
|
|
893
|
+
attrs,
|
|
894
|
+
aggregates,
|
|
895
|
+
null, // introduction doesn't have specific event context
|
|
896
|
+
narrativePath,
|
|
897
|
+
`${scenarioPath}.template.introduction`
|
|
898
|
+
)
|
|
899
|
+
);
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
// Check event templates
|
|
903
|
+
if (scenario.template.events) {
|
|
904
|
+
for (const [eventName, eventTemplate] of Object.entries(scenario.template.events)) {
|
|
905
|
+
const attrs = this.extractAttributeReferences(eventTemplate);
|
|
906
|
+
const eventAttrs = eventAttributes.get(eventName);
|
|
907
|
+
|
|
908
|
+
violations.push(
|
|
909
|
+
...this.validateAttributes(
|
|
910
|
+
attrs,
|
|
911
|
+
aggregates,
|
|
912
|
+
eventAttrs || null,
|
|
913
|
+
narrativePath,
|
|
914
|
+
`${scenarioPath}.template.events.${eventName}`,
|
|
915
|
+
eventName
|
|
916
|
+
)
|
|
917
|
+
);
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
// Check summary template
|
|
922
|
+
if (scenario.template.summary) {
|
|
923
|
+
const attrs = this.extractAttributeReferences(scenario.template.summary);
|
|
924
|
+
violations.push(
|
|
925
|
+
...this.validateAttributes(
|
|
926
|
+
attrs,
|
|
927
|
+
aggregates,
|
|
928
|
+
null, // summary uses global aggregates
|
|
929
|
+
narrativePath,
|
|
930
|
+
`${scenarioPath}.template.summary`
|
|
931
|
+
)
|
|
932
|
+
);
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
return violations;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
/**
|
|
940
|
+
* Validate a list of attribute references against available data
|
|
941
|
+
*
|
|
942
|
+
* @param attributes - Attribute paths to validate
|
|
943
|
+
* @param aggregates - Global aggregate attributes
|
|
944
|
+
* @param eventAttributes - Event-specific attributes (if validating event template)
|
|
945
|
+
* @param file - File path for violation reporting
|
|
946
|
+
* @param path - JSON path for violation reporting
|
|
947
|
+
* @param eventName - Event name (if validating event template)
|
|
948
|
+
* @returns Array of violations found
|
|
859
949
|
*/
|
|
860
|
-
private
|
|
950
|
+
private validateAttributes(
|
|
951
|
+
attributes: string[],
|
|
952
|
+
aggregates: Record<string, unknown>,
|
|
953
|
+
eventAttributes: Record<string, unknown> | null,
|
|
954
|
+
file: string,
|
|
955
|
+
path: string,
|
|
956
|
+
eventName?: string
|
|
957
|
+
): NarrativeViolation[] {
|
|
861
958
|
const violations: NarrativeViolation[] = [];
|
|
862
|
-
|
|
863
|
-
|
|
959
|
+
|
|
960
|
+
for (const attr of attributes) {
|
|
961
|
+
// Check if attribute exists in global aggregates
|
|
962
|
+
const globalValue = aggregates[attr];
|
|
963
|
+
const eventValue = eventAttributes?.[attr];
|
|
964
|
+
|
|
965
|
+
// Attribute doesn't exist anywhere
|
|
966
|
+
if (globalValue === undefined && eventValue === undefined) {
|
|
967
|
+
// Try to find similar attributes for helpful suggestions
|
|
968
|
+
const allKeys = [
|
|
969
|
+
...Object.keys(aggregates),
|
|
970
|
+
...(eventAttributes ? Object.keys(eventAttributes) : []),
|
|
971
|
+
];
|
|
972
|
+
const similar = this.findSimilarAttributes(attr, allKeys);
|
|
973
|
+
|
|
974
|
+
violations.push({
|
|
975
|
+
ruleId: 'narrative-attribute-undefined',
|
|
976
|
+
severity: 'warn',
|
|
977
|
+
file,
|
|
978
|
+
path,
|
|
979
|
+
message: eventName
|
|
980
|
+
? `Attribute "{{${attr}}}" not found in event "${eventName}" or global aggregates`
|
|
981
|
+
: `Attribute "{{${attr}}}" not found in execution data`,
|
|
982
|
+
impact: 'Template will render as empty or "undefined"',
|
|
983
|
+
suggestion: similar.length > 0 ? `Did you mean: ${similar.join(', ')}?` : undefined,
|
|
984
|
+
fixable: false,
|
|
985
|
+
});
|
|
986
|
+
continue;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
// Check if object is used directly (should use property access)
|
|
990
|
+
const value = eventValue !== undefined ? eventValue : globalValue;
|
|
991
|
+
if (this.isObjectType(value)) {
|
|
992
|
+
const objectKeys = Object.keys(value as Record<string, unknown>);
|
|
993
|
+
const suggestions = objectKeys.slice(0, 3).map((k) => `{{${attr}.${k}}}`);
|
|
994
|
+
|
|
995
|
+
violations.push({
|
|
996
|
+
ruleId: 'narrative-attribute-object',
|
|
997
|
+
severity: 'warn',
|
|
998
|
+
file,
|
|
999
|
+
path,
|
|
1000
|
+
message: `Attribute "{{${attr}}}" is an object and will render as "[object Object]"`,
|
|
1001
|
+
impact: 'Template will show "[object Object]" instead of useful data',
|
|
1002
|
+
suggestion: `Access a property instead: ${suggestions.join(', ')}`,
|
|
1003
|
+
fixable: false,
|
|
1004
|
+
});
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
|
|
864
1008
|
return violations;
|
|
865
1009
|
}
|
|
866
1010
|
|
|
1011
|
+
/**
|
|
1012
|
+
* Find similar attribute names for helpful suggestions
|
|
1013
|
+
*
|
|
1014
|
+
* Uses simple string similarity (Levenshtein-like) to find typos
|
|
1015
|
+
*
|
|
1016
|
+
* @param target - The attribute being searched for
|
|
1017
|
+
* @param available - Available attribute names
|
|
1018
|
+
* @returns Array of similar attribute names (max 3)
|
|
1019
|
+
*/
|
|
1020
|
+
private findSimilarAttributes(target: string, available: string[]): string[] {
|
|
1021
|
+
const similar: Array<{ attr: string; score: number }> = [];
|
|
1022
|
+
|
|
1023
|
+
for (const attr of available) {
|
|
1024
|
+
// Check for prefix match
|
|
1025
|
+
if (attr.startsWith(target) || target.startsWith(attr)) {
|
|
1026
|
+
similar.push({ attr, score: 10 });
|
|
1027
|
+
continue;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
// Check for substring match
|
|
1031
|
+
if (attr.includes(target) || target.includes(attr)) {
|
|
1032
|
+
similar.push({ attr, score: 5 });
|
|
1033
|
+
continue;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
// Check for similar structure (same number of dots)
|
|
1037
|
+
const targetParts = target.split('.');
|
|
1038
|
+
const attrParts = attr.split('.');
|
|
1039
|
+
if (targetParts.length === attrParts.length) {
|
|
1040
|
+
// Check if any parts match
|
|
1041
|
+
const matchingParts = targetParts.filter((p, i) => p === attrParts[i]).length;
|
|
1042
|
+
if (matchingParts > 0) {
|
|
1043
|
+
similar.push({ attr, score: matchingParts });
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
// Sort by score and return top 3
|
|
1049
|
+
return similar
|
|
1050
|
+
.sort((a, b) => b.score - a.score)
|
|
1051
|
+
.slice(0, 3)
|
|
1052
|
+
.map((s) => s.attr);
|
|
1053
|
+
}
|
|
1054
|
+
|
|
867
1055
|
/**
|
|
868
1056
|
* Check formatting options
|
|
869
1057
|
*/
|
|
@@ -982,6 +1170,104 @@ export class NarrativeValidator {
|
|
|
982
1170
|
}
|
|
983
1171
|
return match[1];
|
|
984
1172
|
}
|
|
1173
|
+
|
|
1174
|
+
/**
|
|
1175
|
+
* Extract attribute references from Handlebars template
|
|
1176
|
+
*
|
|
1177
|
+
* Parses template strings like:
|
|
1178
|
+
* - "{{source}}" -> ["source"]
|
|
1179
|
+
* - "{{source.url}}" -> ["source.url"]
|
|
1180
|
+
* - "{{#if options.global}}" -> ["options.global"]
|
|
1181
|
+
* - "{{#if (eq install.mode 'symlink')}}" -> ["install.mode"]
|
|
1182
|
+
*
|
|
1183
|
+
* @param template - Handlebars template string
|
|
1184
|
+
* @returns Array of attribute paths referenced in the template
|
|
1185
|
+
*/
|
|
1186
|
+
private extractAttributeReferences(template: string): string[] {
|
|
1187
|
+
const attributes = new Set<string>();
|
|
1188
|
+
|
|
1189
|
+
// Match all Handlebars expressions: {{...}}
|
|
1190
|
+
const expressionPattern = /\{\{([^}]+)\}\}/g;
|
|
1191
|
+
let match;
|
|
1192
|
+
|
|
1193
|
+
while ((match = expressionPattern.exec(template)) !== null) {
|
|
1194
|
+
const expression = match[1].trim();
|
|
1195
|
+
|
|
1196
|
+
// Skip block helpers closing tags
|
|
1197
|
+
if (expression.startsWith('/')) {
|
|
1198
|
+
continue;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
// Handle block helpers: #if, #each, #unless, etc.
|
|
1202
|
+
if (expression.startsWith('#')) {
|
|
1203
|
+
// Extract the condition/expression after the helper
|
|
1204
|
+
const helperMatch = expression.match(/^#\w+\s+(.+)$/);
|
|
1205
|
+
if (helperMatch) {
|
|
1206
|
+
this.extractAttributesFromExpression(helperMatch[1], attributes);
|
|
1207
|
+
}
|
|
1208
|
+
continue;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
// Handle regular expressions
|
|
1212
|
+
this.extractAttributesFromExpression(expression, attributes);
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
return Array.from(attributes);
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Extract attribute references from a single Handlebars expression
|
|
1220
|
+
*
|
|
1221
|
+
* Handles:
|
|
1222
|
+
* - Simple references: source.url
|
|
1223
|
+
* - Helper calls: (eq install.mode 'symlink')
|
|
1224
|
+
* - Nested expressions
|
|
1225
|
+
*
|
|
1226
|
+
* @param expression - The expression to parse
|
|
1227
|
+
* @param attributes - Set to add found attributes to
|
|
1228
|
+
*/
|
|
1229
|
+
private extractAttributesFromExpression(expression: string, attributes: Set<string>): void {
|
|
1230
|
+
// Remove helper parentheses: (eq install.mode 'symlink') -> eq install.mode 'symlink'
|
|
1231
|
+
const cleaned = expression.replace(/^\(|\)$/g, '').trim();
|
|
1232
|
+
|
|
1233
|
+
// Split on spaces to handle helper arguments
|
|
1234
|
+
const parts = cleaned.split(/\s+/);
|
|
1235
|
+
|
|
1236
|
+
for (const part of parts) {
|
|
1237
|
+
// Skip helper names, string literals, numbers, and boolean literals
|
|
1238
|
+
if (
|
|
1239
|
+
part.match(/^(if|unless|each|with|eq|ne|lt|gt|lte|gte|and|or|not)$/) ||
|
|
1240
|
+
part.match(/^['"].*['"]$/) ||
|
|
1241
|
+
part.match(/^\d+$/) ||
|
|
1242
|
+
part.match(/^(true|false|null|undefined)$/)
|
|
1243
|
+
) {
|
|
1244
|
+
continue;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
// Remove any remaining quotes or parentheses
|
|
1248
|
+
const cleanPart = part.replace(/['"()]/g, '');
|
|
1249
|
+
|
|
1250
|
+
// If it looks like an attribute path (contains letters/dots/underscores)
|
|
1251
|
+
if (cleanPart && cleanPart.match(/^[a-zA-Z_][a-zA-Z0-9_.]*$/)) {
|
|
1252
|
+
attributes.add(cleanPart);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
/**
|
|
1258
|
+
* Check if an attribute is an object type
|
|
1259
|
+
*
|
|
1260
|
+
* @param value - The attribute value to check
|
|
1261
|
+
* @returns true if value is a plain object (not array, not null)
|
|
1262
|
+
*/
|
|
1263
|
+
private isObjectType(value: unknown): boolean {
|
|
1264
|
+
return (
|
|
1265
|
+
typeof value === 'object' &&
|
|
1266
|
+
value !== null &&
|
|
1267
|
+
!Array.isArray(value) &&
|
|
1268
|
+
!(value instanceof Date)
|
|
1269
|
+
);
|
|
1270
|
+
}
|
|
985
1271
|
}
|
|
986
1272
|
|
|
987
1273
|
/**
|
|
@@ -153,7 +153,7 @@ export class CanvasConverter {
|
|
|
153
153
|
/**
|
|
154
154
|
* Convert a single canvas node to React Flow node
|
|
155
155
|
*/
|
|
156
|
-
private static convertNode(node: ExtendedCanvasNode,
|
|
156
|
+
private static convertNode(node: ExtendedCanvasNode, _canvas: ExtendedCanvas): ReactFlowNode {
|
|
157
157
|
const pv = node.pv;
|
|
158
158
|
const color = resolveCanvasColor(node.color);
|
|
159
159
|
|