@principal-ai/principal-view-core 0.24.25 → 0.24.27
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/discovery/LibraryDiscovery.d.ts.map +1 -1
- package/dist/discovery/LibraryDiscovery.js +9 -2
- package/dist/discovery/LibraryDiscovery.js.map +1 -1
- package/dist/registry/LocalRegistry.d.ts +1 -1
- package/dist/registry/LocalRegistry.d.ts.map +1 -1
- package/dist/registry/LocalRegistry.js +7 -2
- package/dist/registry/LocalRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/discovery/LibraryDiscovery.ts +11 -2
- package/src/registry/LocalRegistry.ts +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryDiscovery.d.ts","sourceRoot":"","sources":["../../src/discovery/LibraryDiscovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAE1B,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uCAAuC;IACvC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAE/B,6CAA6C;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;OAKG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAOf,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAExD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,MAAM,CAAgB;gBAEV,SAAS,EAAE,iBAAiB;IAKhD;;;;;;;OAOG;IACG,QAAQ,CACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAChD,GACA,OAAO,CAAC,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"LibraryDiscovery.d.ts","sourceRoot":"","sources":["../../src/discovery/LibraryDiscovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAE1B,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uCAAuC;IACvC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAE/B,6CAA6C;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;OAKG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAOf,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAExD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,MAAM,CAAgB;gBAEV,SAAS,EAAE,iBAAiB;IAKhD;;;;;;;OAOG;IACG,QAAQ,CACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAChD,GACA,OAAO,CAAC,sBAAsB,CAAC;IAyHlC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;YACW,yBAAyB;CAexC"}
|
|
@@ -43,16 +43,23 @@ class LibraryDiscovery {
|
|
|
43
43
|
// 1. Discover packages (with caching by fileTree.sha)
|
|
44
44
|
const packages = await this.discoverPackagesWithCache(fileTree, fileReader);
|
|
45
45
|
// 2. For each package, try to load its library.yaml
|
|
46
|
+
// Note: pkg.packageData.path is relative (e.g., '' for root or 'packages/foo' for nested)
|
|
47
|
+
// We must resolve against fileTree.root.path to get absolute paths for fsAdapter calls
|
|
48
|
+
const rootPath = fileTree.root.path;
|
|
46
49
|
for (const pkg of packages) {
|
|
47
50
|
try {
|
|
51
|
+
// Resolve package path to absolute
|
|
52
|
+
const absolutePackagePath = pkg.packageData.path
|
|
53
|
+
? this.fsAdapter.join(rootPath, pkg.packageData.path)
|
|
54
|
+
: rootPath;
|
|
48
55
|
// Check if this package has a .principal-views directory
|
|
49
|
-
const pvDir = this.fsAdapter.join(
|
|
56
|
+
const pvDir = this.fsAdapter.join(absolutePackagePath, LibraryDiscovery.CANVAS_DIR);
|
|
50
57
|
const pvDirExists = await this.fsAdapter.exists(pvDir);
|
|
51
58
|
if (!pvDirExists) {
|
|
52
59
|
continue; // No .principal-views directory, skip
|
|
53
60
|
}
|
|
54
61
|
// Try to load library from this package
|
|
55
|
-
const loadResult = await this.loader.load(
|
|
62
|
+
const loadResult = await this.loader.load(absolutePackagePath);
|
|
56
63
|
if (loadResult.success && loadResult.library) {
|
|
57
64
|
// Extract service names and owned scopes from resources
|
|
58
65
|
const { serviceNames, servicesWithScopes } = this.extractServicesInfo(loadResult.library);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibraryDiscovery.js","sourceRoot":"","sources":["../../src/discovery/LibraryDiscovery.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAA2F;AAC3F,oDAAiD;AA2DjD;;;;;;;;;;;GAWG;AACH,MAAa,gBAAgB;IAO3B,YAAoB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;QAHxC,iBAAY,GAAgC,IAAI,GAAG,EAAE,CAAC;QAI5D,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAa,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAkB,EAClB,OAEC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5E,oDAAoD;QACpD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI;gBACF,
|
|
1
|
+
{"version":3,"file":"LibraryDiscovery.js","sourceRoot":"","sources":["../../src/discovery/LibraryDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export declare class LocalRegistry implements StoryboardRegistryInterface {
|
|
|
45
45
|
registerWorkspace(fileTree: FileTree): Promise<string[]>;
|
|
46
46
|
/**
|
|
47
47
|
* Unregister a workspace (cleanup)
|
|
48
|
-
* @param workspaceId - Workspace ID (
|
|
48
|
+
* @param workspaceId - Workspace ID (rootPath, sha, or metadata.id)
|
|
49
49
|
*/
|
|
50
50
|
unregisterWorkspace(workspaceId: string): void;
|
|
51
51
|
lookupByScope(scope: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/LocalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAY3D;;GAEG;AACH,qBAAa,aAAc,YAAW,2BAA2B;IAQ7D,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,gBAAgB,CAAiC;gBAG/C,UAAU,EAAE,UAAU,EAC9B,SAAS,CAAC,EAAE,iBAAiB;IAQ/B;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/LocalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAY3D;;GAEG;AACH,qBAAa,aAAc,YAAW,2BAA2B;IAQ7D,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,gBAAgB,CAAiC;gBAG/C,UAAU,EAAE,UAAU,EAC9B,SAAS,CAAC,EAAE,iBAAiB;IAQ/B;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+C9D;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAuBxC,aAAa,CACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACxC,SAAS,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAClD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAkClC;;;;;;;;OAQG;YACW,kBAAkB;IA4ChC;;OAEG;YACW,iBAAiB;IAuD/B;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKlC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAiBxE,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,uBAAuB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB5E;;;;;;OAMG;IACH,eAAe,IAAI,eAAe,EAAE;IAIpC;;;;;;OAMG;IACG,kCAAkC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAyBtE;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -45,11 +45,16 @@ class LocalRegistry {
|
|
|
45
45
|
* @returns Array of all registered scope names (services + owned scopes)
|
|
46
46
|
*/
|
|
47
47
|
async registerWorkspace(fileTree) {
|
|
48
|
-
|
|
48
|
+
// Use stable identifier: rootPath (repository path) or sha (content hash)
|
|
49
|
+
// Note: metadata.id includes a timestamp suffix making it unique per build,
|
|
50
|
+
// which would cause duplicate registrations on every file tree update
|
|
51
|
+
const workspaceId = fileTree.metadata.sourceInfo?.rootPath || fileTree.sha || fileTree.metadata.id;
|
|
49
52
|
// Check if already registered
|
|
50
53
|
if (this.workspaces.has(workspaceId)) {
|
|
51
54
|
console.log('[LocalRegistry] Workspace already registered:', workspaceId);
|
|
52
55
|
const existing = this.workspaces.get(workspaceId);
|
|
56
|
+
// Update the fileTree reference to the latest version
|
|
57
|
+
existing.fileTree = fileTree;
|
|
53
58
|
return [...existing.serviceNames, ...existing.ownedScopes];
|
|
54
59
|
}
|
|
55
60
|
// Auto-discover service names and owned scopes from library.yaml
|
|
@@ -79,7 +84,7 @@ class LocalRegistry {
|
|
|
79
84
|
}
|
|
80
85
|
/**
|
|
81
86
|
* Unregister a workspace (cleanup)
|
|
82
|
-
* @param workspaceId - Workspace ID (
|
|
87
|
+
* @param workspaceId - Workspace ID (rootPath, sha, or metadata.id)
|
|
83
88
|
*/
|
|
84
89
|
unregisterWorkspace(workspaceId) {
|
|
85
90
|
const workspace = this.workspaces.get(workspaceId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalRegistry.js","sourceRoot":"","sources":["../../src/registry/LocalRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAKH,kEAA+D;AAC/D,oEAAiE;AAiBjE;;GAEG;AACH,MAAa,aAAa;IAOxB,YACU,UAAsB,EAC9B,SAA6B;QADrB,eAAU,GAAV,UAAU,CAAY;QAPxB,UAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC3C,eAAU,GAAG,IAAI,GAAG,EAAiC,CAAC,CAAC,6BAA6B;QACpF,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0BAA0B;QAE1E,qBAAgB,GAA4B,IAAI,CAAC;QAMvD,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAe,EAAE,CAAC;QACvC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,SAAS,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAkB;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalRegistry.js","sourceRoot":"","sources":["../../src/registry/LocalRegistry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -112,10 +112,19 @@ export class LibraryDiscovery {
|
|
|
112
112
|
const packages = await this.discoverPackagesWithCache(fileTree, fileReader);
|
|
113
113
|
|
|
114
114
|
// 2. For each package, try to load its library.yaml
|
|
115
|
+
// Note: pkg.packageData.path is relative (e.g., '' for root or 'packages/foo' for nested)
|
|
116
|
+
// We must resolve against fileTree.root.path to get absolute paths for fsAdapter calls
|
|
117
|
+
const rootPath = fileTree.root.path;
|
|
118
|
+
|
|
115
119
|
for (const pkg of packages) {
|
|
116
120
|
try {
|
|
121
|
+
// Resolve package path to absolute
|
|
122
|
+
const absolutePackagePath = pkg.packageData.path
|
|
123
|
+
? this.fsAdapter.join(rootPath, pkg.packageData.path)
|
|
124
|
+
: rootPath;
|
|
125
|
+
|
|
117
126
|
// Check if this package has a .principal-views directory
|
|
118
|
-
const pvDir = this.fsAdapter.join(
|
|
127
|
+
const pvDir = this.fsAdapter.join(absolutePackagePath, LibraryDiscovery.CANVAS_DIR);
|
|
119
128
|
const pvDirExists = await this.fsAdapter.exists(pvDir);
|
|
120
129
|
|
|
121
130
|
if (!pvDirExists) {
|
|
@@ -123,7 +132,7 @@ export class LibraryDiscovery {
|
|
|
123
132
|
}
|
|
124
133
|
|
|
125
134
|
// Try to load library from this package
|
|
126
|
-
const loadResult = await this.loader.load(
|
|
135
|
+
const loadResult = await this.loader.load(absolutePackagePath);
|
|
127
136
|
|
|
128
137
|
if (loadResult.success && loadResult.library) {
|
|
129
138
|
// Extract service names and owned scopes from resources
|
|
@@ -67,12 +67,18 @@ export class LocalRegistry implements StoryboardRegistryInterface {
|
|
|
67
67
|
* @returns Array of all registered scope names (services + owned scopes)
|
|
68
68
|
*/
|
|
69
69
|
async registerWorkspace(fileTree: FileTree): Promise<string[]> {
|
|
70
|
-
|
|
70
|
+
// Use stable identifier: rootPath (repository path) or sha (content hash)
|
|
71
|
+
// Note: metadata.id includes a timestamp suffix making it unique per build,
|
|
72
|
+
// which would cause duplicate registrations on every file tree update
|
|
73
|
+
const workspaceId =
|
|
74
|
+
(fileTree.metadata.sourceInfo?.rootPath as string) || fileTree.sha || fileTree.metadata.id;
|
|
71
75
|
|
|
72
76
|
// Check if already registered
|
|
73
77
|
if (this.workspaces.has(workspaceId)) {
|
|
74
78
|
console.log('[LocalRegistry] Workspace already registered:', workspaceId);
|
|
75
79
|
const existing = this.workspaces.get(workspaceId)!;
|
|
80
|
+
// Update the fileTree reference to the latest version
|
|
81
|
+
existing.fileTree = fileTree;
|
|
76
82
|
return [...existing.serviceNames, ...existing.ownedScopes];
|
|
77
83
|
}
|
|
78
84
|
|
|
@@ -109,7 +115,7 @@ export class LocalRegistry implements StoryboardRegistryInterface {
|
|
|
109
115
|
|
|
110
116
|
/**
|
|
111
117
|
* Unregister a workspace (cleanup)
|
|
112
|
-
* @param workspaceId - Workspace ID (
|
|
118
|
+
* @param workspaceId - Workspace ID (rootPath, sha, or metadata.id)
|
|
113
119
|
*/
|
|
114
120
|
unregisterWorkspace(workspaceId: string): void {
|
|
115
121
|
const workspace = this.workspaces.get(workspaceId);
|