@principal-ai/principal-view-core 0.24.83 → 0.24.84

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.
@@ -6,5 +6,5 @@
6
6
  * - Validation for .scopes.canvas files that document scope boundaries
7
7
  */
8
8
  export { ScopesCanvasValidator, type ScopesCanvasValidationContext, type ScopesCanvasValidationResult, type ScopesCanvasViolation, } from './ScopesCanvasValidator';
9
- export { DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, buildScopeColorMap, getAllScopeNames, type NormalizedScope, } from './utils';
9
+ export { DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, getScopeIcon, normalizeScopes, buildScopeColorMap, getAllScopeNames, type NormalizedScope, } from './utils';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * - Validation for .scopes.canvas files that document scope boundaries
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = void 0;
10
+ exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeIcon = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = void 0;
11
11
  var ScopesCanvasValidator_1 = require("./ScopesCanvasValidator");
12
12
  Object.defineProperty(exports, "ScopesCanvasValidator", { enumerable: true, get: function () { return ScopesCanvasValidator_1.ScopesCanvasValidator; } });
13
13
  var utils_1 = require("./utils");
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "DRAFT_NODE_COLOR", { enumerable: true, get: func
16
16
  Object.defineProperty(exports, "getScopeNames", { enumerable: true, get: function () { return utils_1.getScopeNames; } });
17
17
  Object.defineProperty(exports, "getScopeDefinition", { enumerable: true, get: function () { return utils_1.getScopeDefinition; } });
18
18
  Object.defineProperty(exports, "getScopeColor", { enumerable: true, get: function () { return utils_1.getScopeColor; } });
19
+ Object.defineProperty(exports, "getScopeIcon", { enumerable: true, get: function () { return utils_1.getScopeIcon; } });
19
20
  Object.defineProperty(exports, "normalizeScopes", { enumerable: true, get: function () { return utils_1.normalizeScopes; } });
20
21
  Object.defineProperty(exports, "buildScopeColorMap", { enumerable: true, get: function () { return utils_1.buildScopeColorMap; } });
21
22
  Object.defineProperty(exports, "getAllScopeNames", { enumerable: true, get: function () { return utils_1.getAllScopeNames; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAKiC;AAJ/B,8HAAA,qBAAqB,OAAA;AAMvB,iCAUiB;AATf,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAKiC;AAJ/B,8HAAA,qBAAqB,OAAA;AAMvB,iCAWiB;AAVf,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA"}
@@ -15,6 +15,8 @@ export declare const DRAFT_NODE_COLOR = "#9CA3AF";
15
15
  export interface NormalizedScope {
16
16
  name: string;
17
17
  color: string;
18
+ /** Icon identifier (Lucide icons) */
19
+ icon?: string;
18
20
  description?: string;
19
21
  /** Whether this scope is defined externally (in another library) */
20
22
  external?: boolean;
@@ -36,6 +38,11 @@ export declare function getScopeColor(libraryScopes: Record<string, ScopeDefinit
36
38
  * Normalize scope names to NormalizedScope array using library scope definitions
37
39
  */
38
40
  export declare function normalizeScopes(scopeNames: OwnedScopes | undefined, libraryScopes: Record<string, ScopeDefinition> | undefined): NormalizedScope[];
41
+ /**
42
+ * Get scope icon by name from library scopes
43
+ * Returns the defined icon, or undefined if not found
44
+ */
45
+ export declare function getScopeIcon(libraryScopes: Record<string, ScopeDefinition> | undefined, scopeName: string): string | undefined;
39
46
  /**
40
47
  * Build a scope color map from library scopes
41
48
  * Returns a simple name -> color mapping for fast lookups
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/scopes/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,GACzD,eAAe,EAAE,CAYnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAAG,SAAS,GAChE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAAG,SAAS,GAChE,MAAM,EAAE,CAGV"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/scopes/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,GACzD,eAAe,EAAE,CAanB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAAG,SAAS,GAChE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAAG,SAAS,GAChE,MAAM,EAAE,CAGV"}
@@ -6,7 +6,7 @@
6
6
  * and referenced by resources via `owned-scopes`.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = void 0;
9
+ exports.getAllScopeNames = exports.buildScopeColorMap = exports.getScopeIcon = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = void 0;
10
10
  /** Default color for scopes without a defined color */
11
11
  exports.DEFAULT_SCOPE_COLOR = '#6B7280'; // gray-500
12
12
  /** Default color for draft nodes (no scope) */
@@ -44,12 +44,21 @@ function normalizeScopes(scopeNames, libraryScopes) {
44
44
  return {
45
45
  name,
46
46
  color: definition?.color ?? exports.DEFAULT_SCOPE_COLOR,
47
+ icon: definition?.icon,
47
48
  description: definition?.description,
48
49
  external: definition?.external,
49
50
  };
50
51
  });
51
52
  }
52
53
  exports.normalizeScopes = normalizeScopes;
54
+ /**
55
+ * Get scope icon by name from library scopes
56
+ * Returns the defined icon, or undefined if not found
57
+ */
58
+ function getScopeIcon(libraryScopes, scopeName) {
59
+ return libraryScopes?.[scopeName]?.icon;
60
+ }
61
+ exports.getScopeIcon = getScopeIcon;
53
62
  /**
54
63
  * Build a scope color map from library scopes
55
64
  * Returns a simple name -> color mapping for fast lookups
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/scopes/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,SAAS,CAAC,CAAC,WAAW;AAEzD,+CAA+C;AAClC,QAAA,gBAAgB,GAAG,SAAS,CAAC,CAAC,WAAW;AAatD;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA+B;IAC3D,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,aAA0D,EAC1D,SAAiB;IAEjB,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AALD,gDAKC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,aAA0D,EAC1D,SAAiB;IAEjB,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,2BAAmB,CAAC;AAClE,CAAC;AALD,sCAKC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,UAAmC,EACnC,aAA0D;IAE1D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,2BAAmB;YAC/C,WAAW,EAAE,UAAU,EAAE,WAAW;YACpC,QAAQ,EAAE,UAAU,EAAE,QAAQ;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,0CAeC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,OAAiE;IAEjE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,IAAI,OAAO,EAAE,MAAM,EAAE;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,2BAAmB,CAAC;SACnD;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAZD,gDAYC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,OAAiE;IAEjE,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AALD,4CAKC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/scopes/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,SAAS,CAAC,CAAC,WAAW;AAEzD,+CAA+C;AAClC,QAAA,gBAAgB,GAAG,SAAS,CAAC,CAAC,WAAW;AAetD;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA+B;IAC3D,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,aAA0D,EAC1D,SAAiB;IAEjB,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AALD,gDAKC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,aAA0D,EAC1D,SAAiB;IAEjB,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,2BAAmB,CAAC;AAClE,CAAC;AALD,sCAKC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,UAAmC,EACnC,aAA0D;IAE1D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,2BAAmB;YAC/C,IAAI,EAAE,UAAU,EAAE,IAAI;YACtB,WAAW,EAAE,UAAU,EAAE,WAAW;YACpC,QAAQ,EAAE,UAAU,EAAE,QAAQ;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,0CAgBC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAC1B,aAA0D,EAC1D,SAAiB;IAEjB,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;AAC1C,CAAC;AALD,oCAKC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,OAAiE;IAEjE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,IAAI,OAAO,EAAE,MAAM,EAAE;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,2BAAmB,CAAC;SACnD;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAZD,gDAYC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,OAAiE;IAEjE,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AALD,4CAKC"}
@@ -8,5 +8,5 @@
8
8
  * - Scope color → Border (from library.yaml owned-scopes)
9
9
  * - Span color → Fill (from .spans.canvas)
10
10
  */
11
- export { DEFAULT_SPAN_COLOR, extractSpanConvention, extractSpanConventions, buildSpanColorMap, buildSpanColorMapFromCanvases, matchSpanPattern, getSpanColor, resolveEventSpanColor, type NormalizedSpanConvention, } from './utils';
11
+ export { DEFAULT_SPAN_COLOR, extractSpanConvention, extractSpanConventions, buildSpanColorMap, buildSpanColorMapFromCanvases, buildSpanIconMap, matchSpanPattern, getSpanColor, getSpanIcon, resolveEventSpanColor, type NormalizedSpanConvention, } from './utils';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B,EAC7B,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,SAAS,CAAC"}
@@ -10,14 +10,16 @@
10
10
  * - Span color → Fill (from .spans.canvas)
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
13
+ exports.resolveEventSpanColor = exports.getSpanIcon = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanIconMap = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
14
14
  var utils_1 = require("./utils");
15
15
  Object.defineProperty(exports, "DEFAULT_SPAN_COLOR", { enumerable: true, get: function () { return utils_1.DEFAULT_SPAN_COLOR; } });
16
16
  Object.defineProperty(exports, "extractSpanConvention", { enumerable: true, get: function () { return utils_1.extractSpanConvention; } });
17
17
  Object.defineProperty(exports, "extractSpanConventions", { enumerable: true, get: function () { return utils_1.extractSpanConventions; } });
18
18
  Object.defineProperty(exports, "buildSpanColorMap", { enumerable: true, get: function () { return utils_1.buildSpanColorMap; } });
19
19
  Object.defineProperty(exports, "buildSpanColorMapFromCanvases", { enumerable: true, get: function () { return utils_1.buildSpanColorMapFromCanvases; } });
20
+ Object.defineProperty(exports, "buildSpanIconMap", { enumerable: true, get: function () { return utils_1.buildSpanIconMap; } });
20
21
  Object.defineProperty(exports, "matchSpanPattern", { enumerable: true, get: function () { return utils_1.matchSpanPattern; } });
21
22
  Object.defineProperty(exports, "getSpanColor", { enumerable: true, get: function () { return utils_1.getSpanColor; } });
23
+ Object.defineProperty(exports, "getSpanIcon", { enumerable: true, get: function () { return utils_1.getSpanIcon; } });
22
24
  Object.defineProperty(exports, "resolveEventSpanColor", { enumerable: true, get: function () { return utils_1.resolveEventSpanColor; } });
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,iCAUiB;AATf,2GAAA,kBAAkB,OAAA;AAClB,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,0GAAA,iBAAiB,OAAA;AACjB,sHAAA,6BAA6B,OAAA;AAC7B,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,8GAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,iCAYiB;AAXf,2GAAA,kBAAkB,OAAA;AAClB,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,0GAAA,iBAAiB,OAAA;AACjB,sHAAA,6BAA6B,OAAA;AAC7B,yGAAA,gBAAgB,OAAA;AAChB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,8GAAA,qBAAqB,OAAA"}
@@ -17,6 +17,8 @@ export interface NormalizedSpanConvention {
17
17
  spanPattern: string;
18
18
  /** Color for this span (used as fill for events) */
19
19
  color: string;
20
+ /** Icon identifier (Lucide icons) */
21
+ icon?: string;
20
22
  /** Human-readable description */
21
23
  description?: string;
22
24
  /** Status of the span convention */
@@ -55,4 +57,14 @@ export declare function getSpanColor(spanName: string, spanColorMap: Record<stri
55
57
  * This is the primary method for determining event fill color
56
58
  */
57
59
  export declare function resolveEventSpanColor(workflowSpanPattern: string | undefined, spanColorMap: Record<string, string>): string;
60
+ /**
61
+ * Build a span icon map from a spans.canvas
62
+ * Returns a map of spanPattern -> icon for fast lookups
63
+ */
64
+ export declare function buildSpanIconMap(canvas: ExtendedCanvas | null | undefined): Record<string, string>;
65
+ /**
66
+ * Find the icon for a span name by matching against span patterns
67
+ * Returns the first matching pattern's icon, or undefined if none match
68
+ */
69
+ export declare function getSpanIcon(spanName: string, spanIconMap: Record<string, string>): string | undefined;
58
70
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,IAAI,CAkC/F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,wBAAwB,EAAE,CAazF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWnG;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAW3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CASR"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,IAAI,CAsC/F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,wBAAwB,EAAE,CAazF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWnG;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAW3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAalG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,GAAG,SAAS,CAcpB"}
@@ -6,7 +6,7 @@
6
6
  * Span colors are used as fill colors for events emitted within that span.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
9
+ exports.getSpanIcon = exports.buildSpanIconMap = exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
10
10
  /** Default color for spans without a defined color */
11
11
  exports.DEFAULT_SPAN_COLOR = '#9CA3AF'; // gray-400
12
12
  /**
@@ -38,10 +38,13 @@ function extractSpanConvention(node) {
38
38
  description = descLines.join(' ').trim();
39
39
  }
40
40
  }
41
+ // Get icon from pv.icon (Lucide icon identifier)
42
+ const icon = pv.icon;
41
43
  return {
42
44
  id: node.id,
43
45
  spanPattern,
44
46
  color,
47
+ icon,
45
48
  description,
46
49
  status: pv.status,
47
50
  };
@@ -143,4 +146,39 @@ function resolveEventSpanColor(workflowSpanPattern, spanColorMap) {
143
146
  return exports.DEFAULT_SPAN_COLOR;
144
147
  }
145
148
  exports.resolveEventSpanColor = resolveEventSpanColor;
149
+ /**
150
+ * Build a span icon map from a spans.canvas
151
+ * Returns a map of spanPattern -> icon for fast lookups
152
+ */
153
+ function buildSpanIconMap(canvas) {
154
+ const iconMap = {};
155
+ if (!canvas)
156
+ return iconMap;
157
+ const conventions = extractSpanConventions(canvas);
158
+ for (const convention of conventions) {
159
+ if (convention.icon) {
160
+ iconMap[convention.spanPattern] = convention.icon;
161
+ }
162
+ }
163
+ return iconMap;
164
+ }
165
+ exports.buildSpanIconMap = buildSpanIconMap;
166
+ /**
167
+ * Find the icon for a span name by matching against span patterns
168
+ * Returns the first matching pattern's icon, or undefined if none match
169
+ */
170
+ function getSpanIcon(spanName, spanIconMap) {
171
+ // First try exact match
172
+ if (spanIconMap[spanName]) {
173
+ return spanIconMap[spanName];
174
+ }
175
+ // Then try pattern matching
176
+ for (const [pattern, icon] of Object.entries(spanIconMap)) {
177
+ if (matchSpanPattern(spanName, pattern)) {
178
+ return icon;
179
+ }
180
+ }
181
+ return undefined;
182
+ }
183
+ exports.getSpanIcon = getSpanIcon;
146
184
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ import type { PVNodeShape, PVEdgeStyle, PVAnimationType, PVNodeState, PVEventSch
21
21
  export interface ScopeDefinition {
22
22
  /** Color for nodes belonging to this scope (hex format). Required unless external. */
23
23
  color?: string;
24
+ /** Icon identifier (Lucide icons) */
25
+ icon?: string;
24
26
  /** Human-readable description of what this scope covers */
25
27
  description?: string;
26
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/types/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/types/library.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.24.83",
3
+ "version": "0.24.84",
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",
@@ -19,6 +19,7 @@ export {
19
19
  getScopeNames,
20
20
  getScopeDefinition,
21
21
  getScopeColor,
22
+ getScopeIcon,
22
23
  normalizeScopes,
23
24
  buildScopeColorMap,
24
25
  getAllScopeNames,
@@ -19,6 +19,8 @@ export const DRAFT_NODE_COLOR = '#9CA3AF'; // gray-400
19
19
  export interface NormalizedScope {
20
20
  name: string;
21
21
  color: string;
22
+ /** Icon identifier (Lucide icons) */
23
+ icon?: string;
22
24
  description?: string;
23
25
  /** Whether this scope is defined externally (in another library) */
24
26
  external?: boolean;
@@ -66,12 +68,24 @@ export function normalizeScopes(
66
68
  return {
67
69
  name,
68
70
  color: definition?.color ?? DEFAULT_SCOPE_COLOR,
71
+ icon: definition?.icon,
69
72
  description: definition?.description,
70
73
  external: definition?.external,
71
74
  };
72
75
  });
73
76
  }
74
77
 
78
+ /**
79
+ * Get scope icon by name from library scopes
80
+ * Returns the defined icon, or undefined if not found
81
+ */
82
+ export function getScopeIcon(
83
+ libraryScopes: Record<string, ScopeDefinition> | undefined,
84
+ scopeName: string
85
+ ): string | undefined {
86
+ return libraryScopes?.[scopeName]?.icon;
87
+ }
88
+
75
89
  /**
76
90
  * Build a scope color map from library scopes
77
91
  * Returns a simple name -> color mapping for fast lookups
@@ -15,8 +15,10 @@ export {
15
15
  extractSpanConventions,
16
16
  buildSpanColorMap,
17
17
  buildSpanColorMapFromCanvases,
18
+ buildSpanIconMap,
18
19
  matchSpanPattern,
19
20
  getSpanColor,
21
+ getSpanIcon,
20
22
  resolveEventSpanColor,
21
23
  type NormalizedSpanConvention,
22
24
  } from './utils';
@@ -20,6 +20,8 @@ export interface NormalizedSpanConvention {
20
20
  spanPattern: string;
21
21
  /** Color for this span (used as fill for events) */
22
22
  color: string;
23
+ /** Icon identifier (Lucide icons) */
24
+ icon?: string;
23
25
  /** Human-readable description */
24
26
  description?: string;
25
27
  /** Status of the span convention */
@@ -56,10 +58,14 @@ export function extractSpanConvention(node: ExtendedCanvasNode): NormalizedSpanC
56
58
  }
57
59
  }
58
60
 
61
+ // Get icon from pv.icon (Lucide icon identifier)
62
+ const icon = pv.icon as string | undefined;
63
+
59
64
  return {
60
65
  id: node.id,
61
66
  spanPattern,
62
67
  color,
68
+ icon,
63
69
  description,
64
70
  status: pv.status as 'draft' | 'approved' | 'implemented' | undefined,
65
71
  };
@@ -177,3 +183,45 @@ export function resolveEventSpanColor(
177
183
 
178
184
  return DEFAULT_SPAN_COLOR;
179
185
  }
186
+
187
+ /**
188
+ * Build a span icon map from a spans.canvas
189
+ * Returns a map of spanPattern -> icon for fast lookups
190
+ */
191
+ export function buildSpanIconMap(canvas: ExtendedCanvas | null | undefined): Record<string, string> {
192
+ const iconMap: Record<string, string> = {};
193
+
194
+ if (!canvas) return iconMap;
195
+
196
+ const conventions = extractSpanConventions(canvas);
197
+ for (const convention of conventions) {
198
+ if (convention.icon) {
199
+ iconMap[convention.spanPattern] = convention.icon;
200
+ }
201
+ }
202
+
203
+ return iconMap;
204
+ }
205
+
206
+ /**
207
+ * Find the icon for a span name by matching against span patterns
208
+ * Returns the first matching pattern's icon, or undefined if none match
209
+ */
210
+ export function getSpanIcon(
211
+ spanName: string,
212
+ spanIconMap: Record<string, string>
213
+ ): string | undefined {
214
+ // First try exact match
215
+ if (spanIconMap[spanName]) {
216
+ return spanIconMap[spanName];
217
+ }
218
+
219
+ // Then try pattern matching
220
+ for (const [pattern, icon] of Object.entries(spanIconMap)) {
221
+ if (matchSpanPattern(spanName, pattern)) {
222
+ return icon;
223
+ }
224
+ }
225
+
226
+ return undefined;
227
+ }
@@ -35,6 +35,9 @@ export interface ScopeDefinition {
35
35
  /** Color for nodes belonging to this scope (hex format). Required unless external. */
36
36
  color?: string;
37
37
 
38
+ /** Icon identifier (Lucide icons) */
39
+ icon?: string;
40
+
38
41
  /** Human-readable description of what this scope covers */
39
42
  description?: string;
40
43