@powerhousedao/vetra 6.0.0-dev.9 → 6.0.0-dev.91
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/document-models/app-module/actions.d.ts +4 -2
- package/dist/document-models/app-module/actions.d.ts.map +1 -1
- package/dist/document-models/app-module/hooks.d.ts.map +1 -1
- package/dist/document-models/app-module/module.d.ts.map +1 -1
- package/dist/document-models/app-module/module.js +1 -0
- package/dist/document-models/app-module/src/tests/base-operations.test.js +2 -2
- package/dist/document-models/app-module/src/tests/dnd-operations.test.js +1 -1
- package/dist/document-models/document-editor/actions.d.ts +4 -2
- package/dist/document-models/document-editor/actions.d.ts.map +1 -1
- package/dist/document-models/document-editor/hooks.d.ts.map +1 -1
- package/dist/document-models/document-editor/module.d.ts.map +1 -1
- package/dist/document-models/document-editor/module.js +1 -0
- package/dist/document-models/document-editor/src/tests/base-operations.test.js +2 -2
- package/dist/document-models/processor-module/actions.d.ts +6 -2
- package/dist/document-models/processor-module/actions.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/base-operations/actions.d.ts +10 -2
- package/dist/document-models/processor-module/gen/base-operations/actions.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/base-operations/creators.d.ts +4 -2
- package/dist/document-models/processor-module/gen/base-operations/creators.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/base-operations/creators.js +3 -1
- package/dist/document-models/processor-module/gen/base-operations/operations.d.ts +3 -1
- package/dist/document-models/processor-module/gen/base-operations/operations.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/document-model.js +24 -2
- package/dist/document-models/processor-module/gen/document-schema.d.ts +3 -0
- package/dist/document-models/processor-module/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/ph-factories.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/ph-factories.js +1 -0
- package/dist/document-models/processor-module/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/reducer.js +11 -1
- package/dist/document-models/processor-module/gen/schema/types.d.ts +7 -0
- package/dist/document-models/processor-module/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/schema/zod.d.ts +3 -1
- package/dist/document-models/processor-module/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/schema/zod.js +11 -0
- package/dist/document-models/processor-module/gen/utils.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/utils.js +1 -0
- package/dist/document-models/processor-module/hooks.d.ts.map +1 -1
- package/dist/document-models/processor-module/module.d.ts.map +1 -1
- package/dist/document-models/processor-module/module.js +1 -0
- package/dist/document-models/processor-module/src/reducers/base-operations.d.ts.map +1 -1
- package/dist/document-models/processor-module/src/reducers/base-operations.js +14 -0
- package/dist/document-models/processor-module/src/tests/base-operations.test.js +26 -2
- package/dist/document-models/subgraph-module/actions.d.ts +4 -2
- package/dist/document-models/subgraph-module/actions.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/hooks.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/module.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/module.js +1 -0
- package/dist/document-models/subgraph-module/src/tests/base-operations.test.js +2 -2
- package/dist/document-models/vetra-package/actions.d.ts +4 -2
- package/dist/document-models/vetra-package/actions.d.ts.map +1 -1
- package/dist/document-models/vetra-package/gen/schema/zod.js +7 -7
- package/dist/document-models/vetra-package/hooks.d.ts.map +1 -1
- package/dist/document-models/vetra-package/module.d.ts.map +1 -1
- package/dist/document-models/vetra-package/module.js +1 -0
- package/dist/document-models/vetra-package/src/tests/base-operations.test.js +1 -1
- package/dist/editors/app-editor/components/AppEditorForm.js +1 -1
- package/dist/editors/app-editor/editor.js +1 -1
- package/dist/editors/app-editor/editor.test.js +8 -1
- package/dist/editors/document-editor/components/DocumentEditorForm.js +1 -1
- package/dist/editors/document-editor/editor.js +1 -1
- package/dist/editors/processor-editor/components/ProcessorEditorForm.d.ts +4 -0
- package/dist/editors/processor-editor/components/ProcessorEditorForm.d.ts.map +1 -1
- package/dist/editors/processor-editor/components/ProcessorEditorForm.js +32 -6
- package/dist/editors/processor-editor/editor.d.ts.map +1 -1
- package/dist/editors/processor-editor/editor.js +7 -1
- package/dist/editors/processor-editor/editor.test.js +166 -173
- package/dist/editors/subgraph-editor/components/SubgraphEditorForm.js +1 -1
- package/dist/editors/subgraph-editor/editor.js +1 -1
- package/dist/editors/vetra-drive-app/DriveExplorer.js +1 -1
- package/dist/editors/vetra-drive-app/components/DriveHeader.js +1 -1
- package/dist/editors/vetra-drive-app/editor.js +1 -1
- package/dist/editors/vetra-package/components/MetaForm.js +1 -1
- package/dist/editors/vetra-package/editor.js +1 -1
- package/dist/processors/codegen/__tests__/codegen-processor-e2e.test.js +66 -42
- package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts +4 -0
- package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/app-generator.js +31 -11
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts +1 -1
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/constants.js +2 -1
- package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts +4 -0
- package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js +30 -10
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts +4 -0
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +42 -20
- package/dist/processors/codegen/document-handlers/generators/package-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/package-generator.js +8 -2
- package/dist/processors/codegen/document-handlers/generators/processor-generator.d.ts +4 -0
- package/dist/processors/codegen/document-handlers/generators/processor-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/processor-generator.js +59 -10
- package/dist/processors/codegen/document-handlers/generators/subgraph-generator.d.ts +4 -0
- package/dist/processors/codegen/document-handlers/generators/subgraph-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/subgraph-generator.js +27 -7
- package/dist/processors/codegen/document-handlers/generators/utils.d.ts +7 -0
- package/dist/processors/codegen/document-handlers/generators/utils.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/utils.js +18 -1
- package/dist/processors/codegen/factory.d.ts +1 -1
- package/dist/processors/codegen/factory.d.ts.map +1 -1
- package/dist/processors/codegen/factory.legacy.d.ts +4 -0
- package/dist/processors/codegen/factory.legacy.d.ts.map +1 -0
- package/dist/processors/codegen/factory.legacy.js +53 -0
- package/dist/processors/codegen/index.d.ts +2 -2
- package/dist/processors/codegen/index.d.ts.map +1 -1
- package/dist/processors/codegen/index.js +22 -21
- package/dist/processors/codegen/index.legacy.d.ts +11 -0
- package/dist/processors/codegen/index.legacy.d.ts.map +1 -0
- package/dist/processors/codegen/index.legacy.js +57 -0
- package/dist/processors/codegen/logger.d.ts.map +1 -1
- package/dist/processors/codegen/logger.js +18 -7
- package/dist/processors/factory.d.ts +3 -4
- package/dist/processors/factory.d.ts.map +1 -1
- package/dist/processors/factory.js +5 -4
- package/dist/processors/factory.legacy.d.ts +7 -0
- package/dist/processors/factory.legacy.d.ts.map +1 -0
- package/dist/processors/factory.legacy.js +19 -0
- package/dist/processors/index.d.ts +8 -2
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +10 -2
- package/dist/processors/vetra-read-model/factory.d.ts +2 -2
- package/dist/processors/vetra-read-model/factory.d.ts.map +1 -1
- package/dist/processors/vetra-read-model/factory.js +13 -16
- package/dist/processors/vetra-read-model/factory.legacy.d.ts +5 -0
- package/dist/processors/vetra-read-model/factory.legacy.d.ts.map +1 -0
- package/dist/processors/vetra-read-model/factory.legacy.js +24 -0
- package/dist/processors/vetra-read-model/index.d.ts +6 -5
- package/dist/processors/vetra-read-model/index.d.ts.map +1 -1
- package/dist/processors/vetra-read-model/index.js +20 -37
- package/dist/processors/vetra-read-model/index.legacy.d.ts +9 -0
- package/dist/processors/vetra-read-model/index.legacy.d.ts.map +1 -0
- package/dist/processors/vetra-read-model/index.legacy.js +75 -0
- package/dist/processors/vetra-read-model/migrations.d.ts +3 -3
- package/dist/processors/vetra-read-model/migrations.d.ts.map +1 -1
- package/dist/style.css +13710 -81
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/vite.config.js +1 -13
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +1 -0
- package/package.json +48 -63
- package/dist/subgraphs/app-module/index.d.ts +0 -11
- package/dist/subgraphs/app-module/index.d.ts.map +0 -1
- package/dist/subgraphs/app-module/index.js +0 -11
- package/dist/subgraphs/app-module/resolvers.d.ts +0 -3
- package/dist/subgraphs/app-module/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/app-module/resolvers.js +0 -144
- package/dist/subgraphs/app-module/schema.d.ts +0 -3
- package/dist/subgraphs/app-module/schema.d.ts.map +0 -1
- package/dist/subgraphs/app-module/schema.js +0 -78
- package/dist/subgraphs/document-editor/index.d.ts +0 -11
- package/dist/subgraphs/document-editor/index.d.ts.map +0 -1
- package/dist/subgraphs/document-editor/index.js +0 -11
- package/dist/subgraphs/document-editor/resolvers.d.ts +0 -3
- package/dist/subgraphs/document-editor/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/document-editor/resolvers.js +0 -120
- package/dist/subgraphs/document-editor/schema.d.ts +0 -3
- package/dist/subgraphs/document-editor/schema.d.ts.map +0 -1
- package/dist/subgraphs/document-editor/schema.js +0 -59
- package/dist/subgraphs/index.d.ts +0 -7
- package/dist/subgraphs/index.d.ts.map +0 -1
- package/dist/subgraphs/index.js +0 -6
- package/dist/subgraphs/processor-module/index.d.ts +0 -10
- package/dist/subgraphs/processor-module/index.d.ts.map +0 -1
- package/dist/subgraphs/processor-module/index.js +0 -11
- package/dist/subgraphs/processor-module/resolvers.d.ts +0 -3
- package/dist/subgraphs/processor-module/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/processor-module/resolvers.js +0 -132
- package/dist/subgraphs/processor-module/schema.d.ts +0 -3
- package/dist/subgraphs/processor-module/schema.d.ts.map +0 -1
- package/dist/subgraphs/processor-module/schema.js +0 -67
- package/dist/subgraphs/subgraph-module/index.d.ts +0 -10
- package/dist/subgraphs/subgraph-module/index.d.ts.map +0 -1
- package/dist/subgraphs/subgraph-module/index.js +0 -11
- package/dist/subgraphs/subgraph-module/resolvers.d.ts +0 -3
- package/dist/subgraphs/subgraph-module/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/subgraph-module/resolvers.js +0 -96
- package/dist/subgraphs/subgraph-module/schema.d.ts +0 -3
- package/dist/subgraphs/subgraph-module/schema.d.ts.map +0 -1
- package/dist/subgraphs/subgraph-module/schema.js +0 -42
- package/dist/subgraphs/vetra-package/index.d.ts +0 -10
- package/dist/subgraphs/vetra-package/index.d.ts.map +0 -1
- package/dist/subgraphs/vetra-package/index.js +0 -11
- package/dist/subgraphs/vetra-package/resolvers.d.ts +0 -3
- package/dist/subgraphs/vetra-package/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/vetra-package/resolvers.js +0 -192
- package/dist/subgraphs/vetra-package/schema.d.ts +0 -3
- package/dist/subgraphs/vetra-package/schema.d.ts.map +0 -1
- package/dist/subgraphs/vetra-package/schema.js +0 -108
- package/dist/subgraphs/vetra-read-model/index.d.ts +0 -8
- package/dist/subgraphs/vetra-read-model/index.d.ts.map +0 -1
- package/dist/subgraphs/vetra-read-model/index.js +0 -8
- package/dist/subgraphs/vetra-read-model/resolvers.d.ts +0 -3
- package/dist/subgraphs/vetra-read-model/resolvers.d.ts.map +0 -1
- package/dist/subgraphs/vetra-read-model/resolvers.js +0 -36
- package/dist/subgraphs/vetra-read-model/schema.d.ts +0 -3
- package/dist/subgraphs/vetra-read-model/schema.d.ts.map +0 -1
- package/dist/subgraphs/vetra-read-model/schema.js +0 -25
|
@@ -2,12 +2,24 @@ import { generateFromDocument, generateManifest, validateDocumentModelState, } f
|
|
|
2
2
|
import { logger } from "../../logger.js";
|
|
3
3
|
import { BaseDocumentGen } from "../base-document-gen.js";
|
|
4
4
|
import { USE_TS_MORPH, USE_VERSIONING } from "./constants.js";
|
|
5
|
-
import {
|
|
5
|
+
import { minimalBackupDocument } from "./utils.js";
|
|
6
6
|
/**
|
|
7
7
|
* Generator for document model documents
|
|
8
8
|
*/
|
|
9
9
|
export class DocumentModelGenerator extends BaseDocumentGen {
|
|
10
10
|
supportedDocumentTypes = "powerhouse/document-model";
|
|
11
|
+
/**
|
|
12
|
+
* Extract the global state from the full document state
|
|
13
|
+
*/
|
|
14
|
+
extractGlobalState(strand) {
|
|
15
|
+
const fullState = strand.state;
|
|
16
|
+
if (!fullState) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
// The state is the full document state with {auth, document, local, global, header}
|
|
20
|
+
// We need the global property which contains the DocumentModelGlobalState
|
|
21
|
+
return fullState.global;
|
|
22
|
+
}
|
|
11
23
|
/**
|
|
12
24
|
* Validate if this document model strand should be processed
|
|
13
25
|
*/
|
|
@@ -16,58 +28,68 @@ export class DocumentModelGenerator extends BaseDocumentGen {
|
|
|
16
28
|
if (!super.shouldProcess(strand)) {
|
|
17
29
|
return false;
|
|
18
30
|
}
|
|
19
|
-
//
|
|
20
|
-
const
|
|
21
|
-
if (!
|
|
22
|
-
logger.debug(`>>> No state found for document model: ${strand.documentId}`);
|
|
31
|
+
// Extract the global state from the full document state
|
|
32
|
+
const globalState = this.extractGlobalState(strand);
|
|
33
|
+
if (!globalState) {
|
|
34
|
+
logger.debug(`>>> No global state found for document model: ${strand.documentId}`);
|
|
23
35
|
return false;
|
|
24
36
|
}
|
|
25
|
-
const validationResult = validateDocumentModelState(
|
|
37
|
+
const validationResult = validateDocumentModelState(globalState);
|
|
26
38
|
if (!validationResult.isValid) {
|
|
27
39
|
const errorList = validationResult.errors
|
|
28
40
|
.map((error) => ` - ${error}`)
|
|
29
41
|
.join("\n");
|
|
30
|
-
logger.info(`⚠️ Skipped code generation for '${
|
|
42
|
+
logger.info(`⚠️ Skipped code generation for '${globalState.name || strand.documentId}' due to validation errors:\n${errorList}`);
|
|
31
43
|
return false;
|
|
32
44
|
}
|
|
33
|
-
logger.info(`Document model ${
|
|
45
|
+
logger.info(`Document model ${globalState.name} is valid, proceeding with code generation`);
|
|
34
46
|
return true;
|
|
35
47
|
}
|
|
36
48
|
async generate(strand) {
|
|
37
|
-
const
|
|
49
|
+
const globalState = this.extractGlobalState(strand);
|
|
50
|
+
if (!globalState) {
|
|
51
|
+
logger.error(`❌ No global state found for document model: ${strand.documentId}`);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
38
54
|
// Validation is already done in shouldProcess, so we can proceed directly
|
|
39
|
-
logger.debug(`🔄 Starting code generation for document model: ${
|
|
55
|
+
logger.debug(`🔄 Starting code generation for document model: ${globalState.name}`);
|
|
40
56
|
try {
|
|
41
57
|
await generateFromDocument({
|
|
42
|
-
documentModelState:
|
|
58
|
+
documentModelState: globalState,
|
|
43
59
|
config: this.config.PH_CONFIG,
|
|
44
60
|
useTsMorph: USE_TS_MORPH,
|
|
45
61
|
useVersioning: USE_VERSIONING,
|
|
46
62
|
});
|
|
47
|
-
logger.info(`✅ Code generation completed successfully for: ${
|
|
63
|
+
logger.info(`✅ Code generation completed successfully for: ${globalState.name}`);
|
|
48
64
|
// Update the manifest with the new document model
|
|
49
65
|
try {
|
|
50
|
-
logger.debug(`🔄 Updating manifest with document model: ${
|
|
66
|
+
logger.debug(`🔄 Updating manifest with document model: ${globalState.name} (ID: ${globalState.id})`);
|
|
51
67
|
generateManifest({
|
|
52
68
|
documentModels: [
|
|
53
69
|
{
|
|
54
|
-
id:
|
|
55
|
-
name:
|
|
70
|
+
id: globalState.id,
|
|
71
|
+
name: globalState.name,
|
|
56
72
|
},
|
|
57
73
|
],
|
|
58
74
|
}, this.config.CURRENT_WORKING_DIR);
|
|
59
|
-
logger.debug(`✅ Manifest updated successfully for document model: ${
|
|
75
|
+
logger.debug(`✅ Manifest updated successfully for document model: ${globalState.name}`);
|
|
60
76
|
}
|
|
61
77
|
catch (manifestError) {
|
|
62
|
-
logger.error(`⚠️ Failed to update manifest for document model ${
|
|
78
|
+
logger.error(`⚠️ Failed to update manifest for document model ${globalState.name}:`, manifestError);
|
|
63
79
|
// Don't throw here - code generation was successful
|
|
64
80
|
}
|
|
65
81
|
// Backup the document
|
|
66
|
-
const extension =
|
|
67
|
-
await
|
|
82
|
+
const extension = globalState.extension?.replace(/^\.+|\.+$/g, "") || "";
|
|
83
|
+
await minimalBackupDocument({
|
|
84
|
+
documentId: strand.documentId,
|
|
85
|
+
documentType: strand.documentType,
|
|
86
|
+
branch: strand.branch,
|
|
87
|
+
state: strand.state,
|
|
88
|
+
name: globalState.name,
|
|
89
|
+
}, this.config.CURRENT_WORKING_DIR, extension);
|
|
68
90
|
}
|
|
69
91
|
catch (error) {
|
|
70
|
-
logger.error(`❌ Error during code generation for ${
|
|
92
|
+
logger.error(`❌ Error during code generation for ${globalState.name}:`, error);
|
|
71
93
|
// Don't throw - let codegen continue with other documents
|
|
72
94
|
return;
|
|
73
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAMhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,CAAC,sBAAsB,wBAAwB;IAEvD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAenD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8BjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generateManifest } from "@powerhousedao/codegen";
|
|
2
2
|
import { logger } from "../../logger.js";
|
|
3
3
|
import { BaseDocumentGen } from "../base-document-gen.js";
|
|
4
|
-
import {
|
|
4
|
+
import { minimalBackupDocument } from "./utils.js";
|
|
5
5
|
/**
|
|
6
6
|
* Generator for package documents
|
|
7
7
|
*/
|
|
@@ -36,6 +36,12 @@ export class PackageGenerator extends BaseDocumentGen {
|
|
|
36
36
|
}, this.config.CURRENT_WORKING_DIR);
|
|
37
37
|
logger.info("✅ Manifest generated successfully");
|
|
38
38
|
// Backup the document
|
|
39
|
-
await
|
|
39
|
+
await minimalBackupDocument({
|
|
40
|
+
documentId: strand.documentId,
|
|
41
|
+
documentType: strand.documentType,
|
|
42
|
+
branch: strand.branch,
|
|
43
|
+
state: strand.state,
|
|
44
|
+
name: "vetra-package",
|
|
45
|
+
}, this.config.CURRENT_WORKING_DIR);
|
|
40
46
|
}
|
|
41
47
|
}
|
|
@@ -5,6 +5,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class ProcessorGenerator extends BaseDocumentGen {
|
|
7
7
|
readonly supportedDocumentTypes = "powerhouse/processor";
|
|
8
|
+
/**
|
|
9
|
+
* Extract the global state from the full document state
|
|
10
|
+
*/
|
|
11
|
+
private extractGlobalState;
|
|
8
12
|
/**
|
|
9
13
|
* Validate if this processor strand should be processed
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAMhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,QAAQ,CAAC,sBAAsB,0BAA0B;IAEzD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA2CnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkGjE"}
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import { generateProcessor } from "@powerhousedao/codegen";
|
|
2
|
+
import { PROCESSOR_APPS, } from "@powerhousedao/shared/processors";
|
|
2
3
|
import { logger } from "../../logger.js";
|
|
3
4
|
import { BaseDocumentGen } from "../base-document-gen.js";
|
|
4
|
-
import {
|
|
5
|
+
import { USE_TS_MORPH } from "./constants.js";
|
|
6
|
+
import { minimalBackupDocument } from "./utils.js";
|
|
5
7
|
/**
|
|
6
8
|
* Generator for processor documents
|
|
7
9
|
*/
|
|
8
10
|
export class ProcessorGenerator extends BaseDocumentGen {
|
|
9
11
|
supportedDocumentTypes = "powerhouse/processor";
|
|
12
|
+
/**
|
|
13
|
+
* Extract the global state from the full document state
|
|
14
|
+
*/
|
|
15
|
+
extractGlobalState(strand) {
|
|
16
|
+
const fullState = strand.state;
|
|
17
|
+
if (!fullState) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return fullState.global;
|
|
21
|
+
}
|
|
10
22
|
/**
|
|
11
23
|
* Validate if this processor strand should be processed
|
|
12
24
|
*/
|
|
@@ -15,36 +27,45 @@ export class ProcessorGenerator extends BaseDocumentGen {
|
|
|
15
27
|
if (!super.shouldProcess(strand)) {
|
|
16
28
|
return false;
|
|
17
29
|
}
|
|
18
|
-
const state = strand
|
|
30
|
+
const state = this.extractGlobalState(strand);
|
|
19
31
|
if (!state) {
|
|
20
|
-
logger.debug(
|
|
32
|
+
logger.debug(`No state found for processor: ${strand.documentId}`);
|
|
21
33
|
return false;
|
|
22
34
|
}
|
|
23
35
|
// Check if we have a valid processor name, type, document types, and it's confirmed
|
|
24
36
|
if (!state.name) {
|
|
25
|
-
logger.debug(
|
|
37
|
+
logger.debug(`No name found for processor: ${strand.documentId}`);
|
|
26
38
|
return false;
|
|
27
39
|
}
|
|
28
40
|
if (!state.type) {
|
|
29
|
-
logger.debug(
|
|
41
|
+
logger.debug(`No type found for processor: ${state.name}`);
|
|
30
42
|
return false;
|
|
31
43
|
}
|
|
32
44
|
if (!state.documentTypes || state.documentTypes.length === 0) {
|
|
33
|
-
logger.debug(
|
|
45
|
+
logger.debug(`No document types found for processor: ${state.name}`);
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (!state.processorApps || state.processorApps.length === 0) {
|
|
49
|
+
logger.debug(`No processor apps found for processor: ${state.name}`);
|
|
34
50
|
return false;
|
|
35
51
|
}
|
|
36
52
|
if (state.status !== "CONFIRMED") {
|
|
37
|
-
logger.debug(
|
|
53
|
+
logger.debug(`Processor not confirmed: ${state.name} (status: ${state.status})`);
|
|
38
54
|
return false;
|
|
39
55
|
}
|
|
40
56
|
return true;
|
|
41
57
|
}
|
|
42
58
|
async generate(strand) {
|
|
43
|
-
const state = strand
|
|
59
|
+
const state = this.extractGlobalState(strand);
|
|
60
|
+
if (!state) {
|
|
61
|
+
logger.error(`No state found for processor: ${strand.documentId}`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
44
64
|
// Check if we have a valid processor name, type, document types, and it's confirmed
|
|
45
65
|
if (state.name &&
|
|
46
66
|
state.type &&
|
|
47
67
|
state.documentTypes.length > 0 &&
|
|
68
|
+
state.processorApps.length > 0 &&
|
|
48
69
|
state.status === "CONFIRMED") {
|
|
49
70
|
logger.info(`🔄 Starting processor generation for: ${state.name}`);
|
|
50
71
|
try {
|
|
@@ -62,11 +83,29 @@ export class ProcessorGenerator extends BaseDocumentGen {
|
|
|
62
83
|
}
|
|
63
84
|
// Extract document types from the state
|
|
64
85
|
const documentTypes = state.documentTypes.map((dt) => dt.documentType);
|
|
86
|
+
const processorApps = state.processorApps;
|
|
87
|
+
if (!isProcessorApps(processorApps)) {
|
|
88
|
+
logger.error(`❌ Unsupported processor apps: ${processorApps.join(", ")}`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
65
91
|
// Generate the processor using the codegen function
|
|
66
|
-
await generateProcessor(
|
|
92
|
+
await generateProcessor({
|
|
93
|
+
processorName: state.name,
|
|
94
|
+
processorType,
|
|
95
|
+
documentTypes,
|
|
96
|
+
skipFormat: this.config.PH_CONFIG.skipFormat,
|
|
97
|
+
useTsMorph: USE_TS_MORPH,
|
|
98
|
+
processorApps,
|
|
99
|
+
});
|
|
67
100
|
logger.info(`✅ Processor generation completed successfully for: ${state.name}`);
|
|
68
101
|
// Backup the document
|
|
69
|
-
await
|
|
102
|
+
await minimalBackupDocument({
|
|
103
|
+
documentId: strand.documentId,
|
|
104
|
+
documentType: strand.documentType,
|
|
105
|
+
branch: strand.branch,
|
|
106
|
+
state: strand.state,
|
|
107
|
+
name: state.name,
|
|
108
|
+
}, this.config.CURRENT_WORKING_DIR);
|
|
70
109
|
}
|
|
71
110
|
catch (error) {
|
|
72
111
|
logger.error(`❌ Error during processor generation for ${state.name}:`, error);
|
|
@@ -95,3 +134,13 @@ export class ProcessorGenerator extends BaseDocumentGen {
|
|
|
95
134
|
}
|
|
96
135
|
}
|
|
97
136
|
}
|
|
137
|
+
function isProcessorApps(input) {
|
|
138
|
+
if (input.length === 0)
|
|
139
|
+
return false;
|
|
140
|
+
if (new Set(input).size !== input.length) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
if (!input.every((i) => PROCESSOR_APPS.includes(i)))
|
|
144
|
+
return false;
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
@@ -5,6 +5,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class SubgraphGenerator extends BaseDocumentGen {
|
|
7
7
|
readonly supportedDocumentTypes = "powerhouse/subgraph";
|
|
8
|
+
/**
|
|
9
|
+
* Extract the global state from the full document state
|
|
10
|
+
*/
|
|
11
|
+
private extractGlobalState;
|
|
8
12
|
/**
|
|
9
13
|
* Validate if this subgraph strand should be processed
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"subgraph-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAMhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,sBAAsB,yBAAyB;IAExD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA4BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgFjE"}
|
|
@@ -2,12 +2,22 @@ import { generateManifest, generateSubgraph } from "@powerhousedao/codegen";
|
|
|
2
2
|
import { kebabCase } from "change-case";
|
|
3
3
|
import { logger } from "../../logger.js";
|
|
4
4
|
import { BaseDocumentGen } from "../base-document-gen.js";
|
|
5
|
-
import {
|
|
5
|
+
import { minimalBackupDocument } from "./utils.js";
|
|
6
6
|
/**
|
|
7
7
|
* Generator for subgraph documents
|
|
8
8
|
*/
|
|
9
9
|
export class SubgraphGenerator extends BaseDocumentGen {
|
|
10
10
|
supportedDocumentTypes = "powerhouse/subgraph";
|
|
11
|
+
/**
|
|
12
|
+
* Extract the global state from the full document state
|
|
13
|
+
*/
|
|
14
|
+
extractGlobalState(strand) {
|
|
15
|
+
const fullState = strand.state;
|
|
16
|
+
if (!fullState) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return fullState.global;
|
|
20
|
+
}
|
|
11
21
|
/**
|
|
12
22
|
* Validate if this subgraph strand should be processed
|
|
13
23
|
*/
|
|
@@ -16,24 +26,28 @@ export class SubgraphGenerator extends BaseDocumentGen {
|
|
|
16
26
|
if (!super.shouldProcess(strand)) {
|
|
17
27
|
return false;
|
|
18
28
|
}
|
|
19
|
-
const state = strand
|
|
29
|
+
const state = this.extractGlobalState(strand);
|
|
20
30
|
if (!state) {
|
|
21
|
-
logger.debug(
|
|
31
|
+
logger.debug(`No state found for subgraph: ${strand.documentId}`);
|
|
22
32
|
return false;
|
|
23
33
|
}
|
|
24
34
|
// Check if we have a valid subgraph name and it's confirmed
|
|
25
35
|
if (!state.name) {
|
|
26
|
-
logger.debug(
|
|
36
|
+
logger.debug(`No name found for subgraph: ${strand.documentId}`);
|
|
27
37
|
return false;
|
|
28
38
|
}
|
|
29
39
|
if (state.status !== "CONFIRMED") {
|
|
30
|
-
logger.debug(
|
|
40
|
+
logger.debug(`Subgraph not confirmed: ${state.name} (status: ${state.status})`);
|
|
31
41
|
return false;
|
|
32
42
|
}
|
|
33
43
|
return true;
|
|
34
44
|
}
|
|
35
45
|
async generate(strand) {
|
|
36
|
-
const state = strand
|
|
46
|
+
const state = this.extractGlobalState(strand);
|
|
47
|
+
if (!state) {
|
|
48
|
+
logger.error(`No state found for subgraph: ${strand.documentId}`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
37
51
|
// Check if we have a valid subgraph name and it's confirmed
|
|
38
52
|
if (state.name && state.status === "CONFIRMED") {
|
|
39
53
|
logger.info(`🔄 Starting subgraph generation for: ${state.name}`);
|
|
@@ -61,7 +75,13 @@ export class SubgraphGenerator extends BaseDocumentGen {
|
|
|
61
75
|
// Don't throw here - subgraph generation was successful
|
|
62
76
|
}
|
|
63
77
|
// Backup the document
|
|
64
|
-
await
|
|
78
|
+
await minimalBackupDocument({
|
|
79
|
+
documentId: strand.documentId,
|
|
80
|
+
documentType: strand.documentType,
|
|
81
|
+
branch: strand.branch,
|
|
82
|
+
state: strand.state,
|
|
83
|
+
name: state.name,
|
|
84
|
+
}, this.config.CURRENT_WORKING_DIR);
|
|
65
85
|
}
|
|
66
86
|
catch (error) {
|
|
67
87
|
logger.error(`❌ Error during subgraph generation for ${state.name}:`, error);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { PHDocument } from "document-model";
|
|
2
|
+
import { type MinimalBackupData } from "document-model/node";
|
|
3
|
+
export type { MinimalBackupData };
|
|
2
4
|
/**
|
|
3
5
|
* Exports a document to the backup directory.
|
|
4
6
|
* Creates the backup directory if it doesn't exist.
|
|
@@ -10,4 +12,9 @@ import type { PHDocument } from "document-model";
|
|
|
10
12
|
* @returns Promise resolving to the backup file path, or undefined if backup failed
|
|
11
13
|
*/
|
|
12
14
|
export declare function backupDocument(document: PHDocument, workingDir: string, extension?: string, name?: string): Promise<string | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Creates a minimal backup of a document from strand data.
|
|
17
|
+
* Used when the full document is not available (e.g., in onOperations handler).
|
|
18
|
+
*/
|
|
19
|
+
export declare function minimalBackupDocument(data: MinimalBackupData, workingDir: string, extension?: string): Promise<string | undefined>;
|
|
13
20
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAK7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAIlC;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAW,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB7B;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { baseSaveToFile } from "document-model/node";
|
|
1
|
+
import { baseMinimalSaveToFile, baseSaveToFile, } from "document-model/node";
|
|
2
2
|
import { mkdir } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { logger } from "../../logger.js";
|
|
@@ -27,3 +27,20 @@ export async function backupDocument(document, workingDir, extension = "", name)
|
|
|
27
27
|
return undefined;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a minimal backup of a document from strand data.
|
|
32
|
+
* Used when the full document is not available (e.g., in onOperations handler).
|
|
33
|
+
*/
|
|
34
|
+
export async function minimalBackupDocument(data, workingDir, extension) {
|
|
35
|
+
try {
|
|
36
|
+
const backupPath = join(workingDir, BACKUP_FOLDER);
|
|
37
|
+
await mkdir(backupPath, { recursive: true });
|
|
38
|
+
const filePath = await baseMinimalSaveToFile(data, backupPath, extension ?? "");
|
|
39
|
+
logger.debug(`Document backed up to: ${filePath}`);
|
|
40
|
+
return filePath;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
logger.warn(`Failed to backup document "${data.name}":`, error);
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IProcessorHostModule, ProcessorRecord } from "
|
|
1
|
+
import type { IProcessorHostModule, ProcessorRecord } from "@powerhousedao/reactor-browser";
|
|
2
2
|
import type { PHDocumentHeader } from "document-model";
|
|
3
3
|
export declare const codegenProcessorFactory: (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader) => ProcessorRecord[];
|
|
4
4
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/codegen/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/codegen/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCvD,eAAO,MAAM,uBAAuB,GACjC,QAAQ,oBAAoB,MAC5B,aAAa,gBAAgB,KAAG,eAAe,EAsC/C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IProcessorHostModuleLegacy, ProcessorRecordLegacy } from "document-drive";
|
|
2
|
+
import type { PHDocumentHeader } from "document-model";
|
|
3
|
+
export declare const codegenProcessorFactoryLegacy: (module: IProcessorHostModuleLegacy) => (driveHeader: PHDocumentHeader) => ProcessorRecordLegacy[];
|
|
4
|
+
//# sourceMappingURL=factory.legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.legacy.d.ts","sourceRoot":"","sources":["../../../processors/codegen/factory.legacy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCvD,eAAO,MAAM,6BAA6B,GACvC,QAAQ,0BAA0B,MAClC,aAAa,gBAAgB,KAAG,qBAAqB,EAsCrD,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { VETRA_PROCESSOR_CONFIG_KEY } from "@powerhousedao/config";
|
|
2
|
+
import { CodegenProcessorLegacy } from "./index.legacy.js";
|
|
3
|
+
import { logger } from "./logger.js";
|
|
4
|
+
/**
|
|
5
|
+
* Determines if a drive header matches the Vetra drive criteria.
|
|
6
|
+
* @param driveHeader - The drive header to check
|
|
7
|
+
* @param explicitDriveId - Optional explicit drive ID from config (if set, uses exact match)
|
|
8
|
+
* @returns true if the drive is a Vetra drive, false otherwise
|
|
9
|
+
*/
|
|
10
|
+
function isDriveVetra(driveHeader, driveIdFromConfig) {
|
|
11
|
+
// If explicit drive ID is configured, use exact match
|
|
12
|
+
if (driveIdFromConfig) {
|
|
13
|
+
return (driveHeader.slug === driveIdFromConfig ||
|
|
14
|
+
driveHeader.id === driveIdFromConfig);
|
|
15
|
+
}
|
|
16
|
+
// Otherwise, check if slug/id matches Vetra pattern
|
|
17
|
+
// Matches "vetra" exactly or IDs starting with "vetra-" (case-insensitive)
|
|
18
|
+
const matchesPattern = (identifier) => {
|
|
19
|
+
const lower = identifier.toLowerCase();
|
|
20
|
+
return lower === "vetra" || lower.startsWith("vetra-");
|
|
21
|
+
};
|
|
22
|
+
return matchesPattern(driveHeader.slug) || matchesPattern(driveHeader.id);
|
|
23
|
+
}
|
|
24
|
+
export const codegenProcessorFactoryLegacy = (module) => (driveHeader) => {
|
|
25
|
+
// Create the processor
|
|
26
|
+
const processorsConfig = module.config ?? new Map();
|
|
27
|
+
const vetraConfig = processorsConfig.get(VETRA_PROCESSOR_CONFIG_KEY);
|
|
28
|
+
// Check if this drive should use the Vetra processor
|
|
29
|
+
if (!isDriveVetra(driveHeader, vetraConfig?.driveId)) {
|
|
30
|
+
logger.info(`Drive ${driveHeader.slug} is not a Vetra drive, skipping codegen processor`);
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
logger.info(`Drive ${driveHeader.slug} is a Vetra drive, using codegen processor (legacy)`);
|
|
34
|
+
const processor = new CodegenProcessorLegacy(vetraConfig?.interactive);
|
|
35
|
+
return [
|
|
36
|
+
{
|
|
37
|
+
processor,
|
|
38
|
+
filter: {
|
|
39
|
+
branch: ["main"],
|
|
40
|
+
documentId: ["*"],
|
|
41
|
+
documentType: [
|
|
42
|
+
"powerhouse/document-model",
|
|
43
|
+
"powerhouse/package",
|
|
44
|
+
"powerhouse/document-editor",
|
|
45
|
+
"powerhouse/subgraph",
|
|
46
|
+
"powerhouse/processor",
|
|
47
|
+
"powerhouse/app",
|
|
48
|
+
],
|
|
49
|
+
scope: ["global"],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IProcessor, OperationWithContext } from "@powerhousedao/reactor-browser";
|
|
2
2
|
export declare class CodegenProcessor implements IProcessor {
|
|
3
3
|
private manager;
|
|
4
4
|
constructor(interactiveMode?: boolean);
|
|
5
|
-
|
|
5
|
+
onOperations(operations: OperationWithContext[]): Promise<void>;
|
|
6
6
|
onDisconnect(): Promise<void>;
|
|
7
7
|
setInteractiveMode(enabled: boolean): void;
|
|
8
8
|
isInteractive(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AASxC,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAyB;gBAE5B,eAAe,UAAQ;IAkB7B,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/D,YAAY;IAGX,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,aAAa,IAAI,OAAO;IAIxB,uBAAuB,IAAI,OAAO;CAG1C"}
|
|
@@ -11,37 +11,38 @@ export class CodegenProcessor {
|
|
|
11
11
|
CURRENT_WORKING_DIR,
|
|
12
12
|
}, interactiveMode);
|
|
13
13
|
if (interactiveMode) {
|
|
14
|
-
logger.info(
|
|
14
|
+
logger.info(`CodegenProcessor initialized with interactive mode enabled`);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
logger.debug(`CodegenProcessor initialized with interactive mode disabled`);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
async
|
|
21
|
-
logger.info("
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const generator = this.manager.getGenerator(strand.documentType);
|
|
20
|
+
async onOperations(operations) {
|
|
21
|
+
logger.info("CodegenProcessor.onOperations()");
|
|
22
|
+
for (const { operation, context } of operations) {
|
|
23
|
+
const generator = this.manager.getGenerator(context.documentType);
|
|
25
24
|
if (!generator) {
|
|
26
|
-
logger.debug(
|
|
27
|
-
|
|
25
|
+
logger.debug(`No generator found for document type: ${context.documentType}`);
|
|
26
|
+
continue;
|
|
28
27
|
}
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
// Create strand-like object for generator (using existing generator interface)
|
|
29
|
+
// Cast to InternalTransmitterUpdate since generators only use a subset of fields
|
|
30
|
+
const strand = {
|
|
31
|
+
documentId: context.documentId,
|
|
32
|
+
documentType: context.documentType,
|
|
33
|
+
scope: context.scope,
|
|
34
|
+
branch: context.branch,
|
|
35
|
+
driveId: "", // Not available in new format
|
|
36
|
+
operations: [operation],
|
|
37
|
+
state: context.resultingState
|
|
38
|
+
? JSON.parse(context.resultingState)
|
|
39
|
+
: undefined,
|
|
40
|
+
};
|
|
41
|
+
const shouldProcess = generator.shouldProcess(strand);
|
|
42
|
+
if (shouldProcess) {
|
|
39
43
|
await this.manager.routeAndGenerate(strand);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
|
-
else {
|
|
43
|
-
logger.debug(`>>> No valid strands to process (${strands.length} strands received)`);
|
|
44
|
-
}
|
|
45
46
|
}
|
|
46
47
|
async onDisconnect() { }
|
|
47
48
|
// Utility methods for external configuration and monitoring
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InternalTransmitterUpdate, IProcessorLegacy } from "document-drive";
|
|
2
|
+
export declare class CodegenProcessorLegacy implements IProcessorLegacy {
|
|
3
|
+
private manager;
|
|
4
|
+
constructor(interactiveMode?: boolean);
|
|
5
|
+
onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
|
|
6
|
+
onDisconnect(): Promise<void>;
|
|
7
|
+
setInteractiveMode(enabled: boolean): void;
|
|
8
|
+
isInteractive(): boolean;
|
|
9
|
+
isProcessingInteractive(): boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=index.legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.legacy.d.ts","sourceRoot":"","sources":["../../../processors/codegen/index.legacy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAQxB,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,OAAO,CAAyB;gBAE5B,eAAe,UAAQ;IAoB7B,SAAS,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D,YAAY;IAGX,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,aAAa,IAAI,OAAO;IAIxB,uBAAuB,IAAI,OAAO;CAG1C"}
|