@powerhousedao/vetra 6.0.0-dev.162 → 6.0.0-dev.164
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/processors/index.js
CHANGED
|
@@ -20,7 +20,7 @@ function isDriveVetra(driveHeader, driveIdFromConfig) {
|
|
|
20
20
|
const codegenProcessorFactory = (module) => (driveHeader) => {
|
|
21
21
|
const vetraConfig = (module.config ?? /* @__PURE__ */ new Map()).get(VETRA_PROCESSOR_CONFIG_KEY);
|
|
22
22
|
if (!isDriveVetra(driveHeader, vetraConfig?.driveId)) {
|
|
23
|
-
logger.
|
|
23
|
+
logger.debug(`Drive ${driveHeader.slug} is not a Vetra drive, skipping codegen processor`);
|
|
24
24
|
return [];
|
|
25
25
|
}
|
|
26
26
|
logger.info(`Drive ${driveHeader.slug} is a Vetra drive, using codegen processor`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../processors/codegen/factory.ts","../../processors/vetra-read-model/migrations.ts","../../processors/vetra-read-model/factory.ts","../../processors/factory.ts"],"sourcesContent":["import type { VetraProcessorConfigType } from \"@powerhousedao/config\";\nimport { VETRA_PROCESSOR_CONFIG_KEY } from \"@powerhousedao/config\";\nimport type {\n IProcessorHostModule,\n ProcessorRecord,\n} from \"@powerhousedao/reactor-browser\";\nimport type { PHDocumentHeader } from \"@powerhousedao/shared/document-model\";\nimport { CodegenProcessor } from \"./index.js\";\nimport { logger } from \"./logger.js\";\n\n/**\n * Determines if a drive header matches the Vetra drive criteria.\n * @param driveHeader - The drive header to check\n * @param explicitDriveId - Optional explicit drive ID from config (if set, uses exact match)\n * @returns true if the drive is a Vetra drive, false otherwise\n */\nfunction isDriveVetra(\n driveHeader: PHDocumentHeader,\n driveIdFromConfig?: string,\n): boolean {\n // If explicit drive ID is configured, use exact match\n if (driveIdFromConfig) {\n return (\n driveHeader.slug === driveIdFromConfig ||\n driveHeader.id === driveIdFromConfig\n );\n }\n\n // Otherwise, check if slug/id matches Vetra pattern\n // Matches \"vetra\" exactly or IDs starting with \"vetra-\" (case-insensitive)\n const matchesPattern = (identifier: string): boolean => {\n const lower = identifier.toLowerCase();\n return lower === \"vetra\" || lower.startsWith(\"vetra-\");\n };\n\n return matchesPattern(driveHeader.slug) || matchesPattern(driveHeader.id);\n}\n\nexport const codegenProcessorFactory =\n (module: IProcessorHostModule) =>\n (driveHeader: PHDocumentHeader): ProcessorRecord[] => {\n // Create the processor\n const processorsConfig = module.config ?? new Map<string, unknown>();\n const vetraConfig = processorsConfig.get(VETRA_PROCESSOR_CONFIG_KEY) as\n | VetraProcessorConfigType\n | undefined;\n\n // Check if this drive should use the Vetra processor\n if (!isDriveVetra(driveHeader, vetraConfig?.driveId)) {\n logger.
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../processors/codegen/factory.ts","../../processors/vetra-read-model/migrations.ts","../../processors/vetra-read-model/factory.ts","../../processors/factory.ts"],"sourcesContent":["import type { VetraProcessorConfigType } from \"@powerhousedao/config\";\nimport { VETRA_PROCESSOR_CONFIG_KEY } from \"@powerhousedao/config\";\nimport type {\n IProcessorHostModule,\n ProcessorRecord,\n} from \"@powerhousedao/reactor-browser\";\nimport type { PHDocumentHeader } from \"@powerhousedao/shared/document-model\";\nimport { CodegenProcessor } from \"./index.js\";\nimport { logger } from \"./logger.js\";\n\n/**\n * Determines if a drive header matches the Vetra drive criteria.\n * @param driveHeader - The drive header to check\n * @param explicitDriveId - Optional explicit drive ID from config (if set, uses exact match)\n * @returns true if the drive is a Vetra drive, false otherwise\n */\nfunction isDriveVetra(\n driveHeader: PHDocumentHeader,\n driveIdFromConfig?: string,\n): boolean {\n // If explicit drive ID is configured, use exact match\n if (driveIdFromConfig) {\n return (\n driveHeader.slug === driveIdFromConfig ||\n driveHeader.id === driveIdFromConfig\n );\n }\n\n // Otherwise, check if slug/id matches Vetra pattern\n // Matches \"vetra\" exactly or IDs starting with \"vetra-\" (case-insensitive)\n const matchesPattern = (identifier: string): boolean => {\n const lower = identifier.toLowerCase();\n return lower === \"vetra\" || lower.startsWith(\"vetra-\");\n };\n\n return matchesPattern(driveHeader.slug) || matchesPattern(driveHeader.id);\n}\n\nexport const codegenProcessorFactory =\n (module: IProcessorHostModule) =>\n (driveHeader: PHDocumentHeader): ProcessorRecord[] => {\n // Create the processor\n const processorsConfig = module.config ?? new Map<string, unknown>();\n const vetraConfig = processorsConfig.get(VETRA_PROCESSOR_CONFIG_KEY) as\n | VetraProcessorConfigType\n | undefined;\n\n // Check if this drive should use the Vetra processor\n if (!isDriveVetra(driveHeader, vetraConfig?.driveId)) {\n logger.debug(\n `Drive ${driveHeader.slug} is not a Vetra drive, skipping codegen processor`,\n );\n return [];\n }\n\n logger.info(\n `Drive ${driveHeader.slug} is a Vetra drive, using codegen processor`,\n );\n\n const processor = new CodegenProcessor(vetraConfig?.interactive);\n return [\n {\n processor,\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n documentType: [\n \"powerhouse/document-model\",\n \"powerhouse/package\",\n \"powerhouse/document-editor\",\n \"powerhouse/subgraph\",\n \"powerhouse/processor\",\n \"powerhouse/app\",\n ],\n scope: [\"global\"],\n },\n },\n ];\n };\n","import type { IRelationalDb } from \"@powerhousedao/shared/processors\";\n\nexport async function up(db: IRelationalDb<any>): Promise<void> {\n // Create vetra_package table to store VetraPackage document state\n await db.schema\n .createTable(\"vetra_package\")\n .addColumn(\"document_id\", \"varchar(255)\", (col) => col.primaryKey()) // VetraPackage state fields\n .addColumn(\"name\", \"varchar(255)\")\n .addColumn(\"description\", \"text\")\n .addColumn(\"category\", \"varchar(255)\")\n .addColumn(\"author_name\", \"varchar(255)\")\n .addColumn(\"author_website\", \"varchar(512)\")\n .addColumn(\"keywords\", \"text\") // JSON array of {id, label}\n .addColumn(\"github_url\", \"varchar(512)\")\n .addColumn(\"npm_url\", \"varchar(512)\")\n .addColumn(\"drive_id\", \"varchar(255)\")\n // Document metadata\n .addColumn(\"last_operation_index\", \"integer\", (col) => col.notNull())\n .addColumn(\"last_operation_hash\", \"varchar(255)\", (col) => col.notNull())\n .addColumn(\"last_operation_timestamp\", \"timestamptz\", (col) =>\n col.notNull(),\n )\n .addColumn(\"created_at\", \"timestamptz\", (col) =>\n col.notNull().defaultTo(\"now()\"),\n )\n .addColumn(\"updated_at\", \"timestamptz\", (col) =>\n col.notNull().defaultTo(\"now()\"),\n )\n .ifNotExists()\n .execute();\n\n // Create indexes for common queries\n await db.schema\n .createIndex(\"idx_vetra_package_document_id\")\n .on(\"vetra_package\")\n .column(\"document_id\")\n .ifNotExists()\n .execute();\n\n await db.schema\n .createIndex(\"idx_vetra_package_name\")\n .on(\"vetra_package\")\n .column(\"name\")\n .ifNotExists()\n .execute();\n\n await db.schema\n .createIndex(\"idx_vetra_package_category\")\n .on(\"vetra_package\")\n .column(\"category\")\n .ifNotExists()\n .execute();\n}\n\nexport async function down(db: IRelationalDb<any>): Promise<void> {\n // Drop indexes first\n await db.schema.dropIndex(\"idx_vetra_package_category\").ifExists().execute();\n await db.schema.dropIndex(\"idx_vetra_package_name\").ifExists().execute();\n await db.schema\n .dropIndex(\"idx_vetra_package_document_id\")\n .ifExists()\n .execute();\n\n // Drop table\n await db.schema.dropTable(\"vetra_package\").ifExists().execute();\n}\n","import type {\n IProcessorHostModule,\n ProcessorRecord,\n} from \"@powerhousedao/reactor-browser\";\nimport type { PHDocumentHeader } from \"@powerhousedao/shared/document-model\";\nimport { VetraReadModelProcessor } from \"./index.js\";\nimport { up } from \"./migrations.js\";\nimport type { DB } from \"./schema.js\";\n\nexport const vetraReadModelProcessorFactory =\n (module: IProcessorHostModule) =>\n async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {\n // Create namespace (same as legacy - all vetra packages share one namespace)\n const db = await module.relationalDb.createNamespace<DB>(\"vetra-packages\");\n\n // Run migrations (idempotent - uses ifNotExists)\n await up(db);\n\n // Create the processor with the relational database\n const processor = new VetraReadModelProcessor(db);\n return [\n {\n processor,\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n documentType: [\"powerhouse/package\"],\n scope: [\"global\"],\n },\n },\n ];\n };\n","import type {\n IProcessorHostModule,\n ProcessorFactory,\n ProcessorRecord,\n} from \"@powerhousedao/reactor-browser\";\nimport type { PHDocumentHeader } from \"@powerhousedao/shared/document-model\";\nimport { codegenProcessorFactory } from \"./codegen/factory.js\";\nimport { vetraReadModelProcessorFactory } from \"./vetra-read-model/factory.js\";\n\n/**\n * This file aggregates all processor factories for the new reactor\n */\n\nexport const processorFactory = (module: IProcessorHostModule) => {\n // Initialize all processor factories once with the module\n const factories: Array<ProcessorFactory> = [];\n\n // Add all processor factories\n factories.push(vetraReadModelProcessorFactory(module));\n factories.push(codegenProcessorFactory(module));\n\n // Return the inner function that will be called for each drive\n return async (driveHeader: PHDocumentHeader) => {\n const processors: ProcessorRecord[] = [];\n\n // Call each cached factory with the driveHeader\n for (const factory of factories) {\n processors.push(...(await factory(driveHeader, module.processorApp)));\n }\n\n return processors;\n };\n};\n"],"mappings":";;;;;;;;;;;AAgBA,SAAS,aACP,aACA,mBACS;AAET,KAAI,kBACF,QACE,YAAY,SAAS,qBACrB,YAAY,OAAO;CAMvB,MAAM,kBAAkB,eAAgC;EACtD,MAAM,QAAQ,WAAW,aAAa;AACtC,SAAO,UAAU,WAAW,MAAM,WAAW,SAAS;;AAGxD,QAAO,eAAe,YAAY,KAAK,IAAI,eAAe,YAAY,GAAG;;AAG3E,MAAa,2BACV,YACA,gBAAqD;CAGpD,MAAM,eADmB,OAAO,0BAAU,IAAI,KAAsB,EAC/B,IAAI,2BAA2B;AAKpE,KAAI,CAAC,aAAa,aAAa,aAAa,QAAQ,EAAE;AACpD,SAAO,MACL,SAAS,YAAY,KAAK,mDAC3B;AACD,SAAO,EAAE;;AAGX,QAAO,KACL,SAAS,YAAY,KAAK,4CAC3B;AAGD,QAAO,CACL;EACE,WAHc,IAAI,iBAAiB,aAAa,YAAY;EAI5D,QAAQ;GACN,QAAQ,CAAC,OAAO;GAChB,YAAY,CAAC,IAAI;GACjB,cAAc;IACZ;IACA;IACA;IACA;IACA;IACA;IACD;GACD,OAAO,CAAC,SAAS;GAClB;EACF,CACF;;;;AC3EL,eAAsB,GAAG,IAAuC;AAE9D,OAAM,GAAG,OACN,YAAY,gBAAgB,CAC5B,UAAU,eAAe,iBAAiB,QAAQ,IAAI,YAAY,CAAC,CACnE,UAAU,QAAQ,eAAe,CACjC,UAAU,eAAe,OAAO,CAChC,UAAU,YAAY,eAAe,CACrC,UAAU,eAAe,eAAe,CACxC,UAAU,kBAAkB,eAAe,CAC3C,UAAU,YAAY,OAAO,CAC7B,UAAU,cAAc,eAAe,CACvC,UAAU,WAAW,eAAe,CACpC,UAAU,YAAY,eAAe,CAErC,UAAU,wBAAwB,YAAY,QAAQ,IAAI,SAAS,CAAC,CACpE,UAAU,uBAAuB,iBAAiB,QAAQ,IAAI,SAAS,CAAC,CACxE,UAAU,4BAA4B,gBAAgB,QACrD,IAAI,SAAS,CACd,CACA,UAAU,cAAc,gBAAgB,QACvC,IAAI,SAAS,CAAC,UAAU,QAAQ,CACjC,CACA,UAAU,cAAc,gBAAgB,QACvC,IAAI,SAAS,CAAC,UAAU,QAAQ,CACjC,CACA,aAAa,CACb,SAAS;AAGZ,OAAM,GAAG,OACN,YAAY,gCAAgC,CAC5C,GAAG,gBAAgB,CACnB,OAAO,cAAc,CACrB,aAAa,CACb,SAAS;AAEZ,OAAM,GAAG,OACN,YAAY,yBAAyB,CACrC,GAAG,gBAAgB,CACnB,OAAO,OAAO,CACd,aAAa,CACb,SAAS;AAEZ,OAAM,GAAG,OACN,YAAY,6BAA6B,CACzC,GAAG,gBAAgB,CACnB,OAAO,WAAW,CAClB,aAAa,CACb,SAAS;;;;AC1Cd,MAAa,kCACV,WACD,OAAO,gBAA8D;CAEnE,MAAM,KAAK,MAAM,OAAO,aAAa,gBAAoB,iBAAiB;AAG1E,OAAM,GAAG,GAAG;AAIZ,QAAO,CACL;EACE,WAHc,IAAI,wBAAwB,GAAG;EAI7C,QAAQ;GACN,QAAQ,CAAC,OAAO;GAChB,YAAY,CAAC,IAAI;GACjB,cAAc,CAAC,qBAAqB;GACpC,OAAO,CAAC,SAAS;GAClB;EACF,CACF;;;;;;;ACjBL,MAAa,oBAAoB,WAAiC;CAEhE,MAAM,YAAqC,EAAE;AAG7C,WAAU,KAAK,+BAA+B,OAAO,CAAC;AACtD,WAAU,KAAK,wBAAwB,OAAO,CAAC;AAG/C,QAAO,OAAO,gBAAkC;EAC9C,MAAM,aAAgC,EAAE;AAGxC,OAAK,MAAM,WAAW,UACpB,YAAW,KAAK,GAAI,MAAM,QAAQ,aAAa,OAAO,aAAa,CAAE;AAGvE,SAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/vetra",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.164",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -52,14 +52,14 @@
|
|
|
52
52
|
"zod": "4.3.6",
|
|
53
53
|
"react": "19.2.4",
|
|
54
54
|
"react-dom": "19.2.4",
|
|
55
|
-
"@powerhousedao/
|
|
56
|
-
"@powerhousedao/
|
|
57
|
-
"@powerhousedao/
|
|
58
|
-
"@powerhousedao/
|
|
59
|
-
"@powerhousedao/
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"@powerhousedao/
|
|
55
|
+
"@powerhousedao/config": "6.0.0-dev.164",
|
|
56
|
+
"@powerhousedao/reactor-browser": "6.0.0-dev.164",
|
|
57
|
+
"@powerhousedao/shared": "6.0.0-dev.164",
|
|
58
|
+
"@powerhousedao/builder-tools": "6.0.0-dev.164",
|
|
59
|
+
"@powerhousedao/codegen": "6.0.0-dev.164",
|
|
60
|
+
"document-model": "6.0.0-dev.164",
|
|
61
|
+
"@powerhousedao/design-system": "6.0.0-dev.164",
|
|
62
|
+
"@powerhousedao/common": "6.0.0-dev.164"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@tailwindcss/cli": "4.2.2",
|