@powerhousedao/vetra 4.1.0-dev.30 → 4.1.0-dev.31

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.
Files changed (46) hide show
  1. package/dist/processors/codegen/document-handlers/base-document-gen.d.ts +5 -0
  2. package/dist/processors/codegen/document-handlers/base-document-gen.d.ts.map +1 -1
  3. package/dist/processors/codegen/document-handlers/base-document-gen.js +16 -0
  4. package/dist/processors/codegen/document-handlers/base-document-gen.js.map +1 -1
  5. package/dist/processors/codegen/document-handlers/document-codegen-factory.d.ts +2 -2
  6. package/dist/processors/codegen/document-handlers/document-codegen-factory.d.ts.map +1 -1
  7. package/dist/processors/codegen/document-handlers/document-codegen-factory.js +4 -4
  8. package/dist/processors/codegen/document-handlers/document-codegen-factory.js.map +1 -1
  9. package/dist/processors/codegen/document-handlers/document-codegen-manager.d.ts +24 -1
  10. package/dist/processors/codegen/document-handlers/document-codegen-manager.d.ts.map +1 -1
  11. package/dist/processors/codegen/document-handlers/document-codegen-manager.js +121 -21
  12. package/dist/processors/codegen/document-handlers/document-codegen-manager.js.map +1 -1
  13. package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts +4 -0
  14. package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts.map +1 -1
  15. package/dist/processors/codegen/document-handlers/generators/app-generator.js +28 -5
  16. package/dist/processors/codegen/document-handlers/generators/app-generator.js.map +1 -1
  17. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts +4 -0
  18. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts.map +1 -1
  19. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js +59 -48
  20. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js.map +1 -1
  21. package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts +4 -0
  22. package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
  23. package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +47 -31
  24. package/dist/processors/codegen/document-handlers/generators/document-model-generator.js.map +1 -1
  25. package/dist/processors/codegen/document-handlers/generators/package-generator.d.ts +4 -0
  26. package/dist/processors/codegen/document-handlers/generators/package-generator.d.ts.map +1 -1
  27. package/dist/processors/codegen/document-handlers/generators/package-generator.js +15 -0
  28. package/dist/processors/codegen/document-handlers/generators/package-generator.js.map +1 -1
  29. package/dist/processors/codegen/document-handlers/generators/processor-generator.d.ts +4 -0
  30. package/dist/processors/codegen/document-handlers/generators/processor-generator.d.ts.map +1 -1
  31. package/dist/processors/codegen/document-handlers/generators/processor-generator.js +42 -10
  32. package/dist/processors/codegen/document-handlers/generators/processor-generator.js.map +1 -1
  33. package/dist/processors/codegen/document-handlers/generators/subgraph-generator.d.ts +4 -0
  34. package/dist/processors/codegen/document-handlers/generators/subgraph-generator.d.ts.map +1 -1
  35. package/dist/processors/codegen/document-handlers/generators/subgraph-generator.js +28 -5
  36. package/dist/processors/codegen/document-handlers/generators/subgraph-generator.js.map +1 -1
  37. package/dist/processors/codegen/index.d.ts +5 -0
  38. package/dist/processors/codegen/index.d.ts.map +1 -1
  39. package/dist/processors/codegen/index.js +49 -6
  40. package/dist/processors/codegen/index.js.map +1 -1
  41. package/dist/processors/codegen/interactive-manager.d.ts +48 -0
  42. package/dist/processors/codegen/interactive-manager.d.ts.map +1 -0
  43. package/dist/processors/codegen/interactive-manager.js +150 -0
  44. package/dist/processors/codegen/interactive-manager.js.map +1 -0
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +13 -13
@@ -6,6 +6,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export declare class DocumentModelGenerator extends BaseDocumentGen {
8
8
  readonly supportedDocumentTypes = "powerhouse/document-model";
9
+ /**
10
+ * Validate if this document model strand should be processed
11
+ */
12
+ shouldProcess(strand: InternalTransmitterUpdate<DocumentModelDocument>): boolean;
9
13
  generate(strand: InternalTransmitterUpdate<DocumentModelDocument>): Promise<void>;
10
14
  }
11
15
  //# sourceMappingURL=document-model-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAExD,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAiEjB"}
1
+ {"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GAAG,OAAO;IAyB1E,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CA0DjB"}
@@ -6,43 +6,59 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export class DocumentModelGenerator extends BaseDocumentGen {
8
8
  supportedDocumentTypes = "powerhouse/document-model";
9
- async generate(strand) {
9
+ /**
10
+ * Validate if this document model strand should be processed
11
+ */
12
+ shouldProcess(strand) {
13
+ // First run base validation
14
+ if (!super.shouldProcess(strand)) {
15
+ return false;
16
+ }
17
+ // Validate document model state
10
18
  const state = strand.state;
19
+ if (!state) {
20
+ logger.debug(`>>> No state found for document model: ${strand.documentId}`);
21
+ return false;
22
+ }
11
23
  const validationResult = validateDocumentModelState(state);
12
- if (validationResult.isValid) {
13
- logger.info(`🔄 Starting code generation for document model: ${state.name}`);
24
+ if (!validationResult.isValid) {
25
+ logger.debug(`>>> Validation failed for document model: ${state.name}`, validationResult.errors);
26
+ return false;
27
+ }
28
+ return true;
29
+ }
30
+ async generate(strand) {
31
+ const state = strand.state;
32
+ // Validation is already done in shouldProcess, so we can proceed directly
33
+ logger.info(`🔄 Starting code generation for document model: ${state.name}`);
34
+ try {
35
+ await generateFromDocument(state, this.config.PH_CONFIG, {
36
+ verbose: false,
37
+ });
38
+ await generateSubgraphFromDocumentModel(state.name, state, this.config.PH_CONFIG, { verbose: false });
39
+ logger.info(`✅ Code generation completed successfully for: ${state.name}`);
40
+ // Update the manifest with the new document model
14
41
  try {
15
- await generateFromDocument(state, this.config.PH_CONFIG, {
16
- verbose: false,
17
- });
18
- await generateSubgraphFromDocumentModel(state.name, state, this.config.PH_CONFIG, { verbose: false });
19
- logger.info(`✅ Code generation completed successfully for: ${state.name}`);
20
- // Update the manifest with the new document model
21
- try {
22
- logger.info(`🔄 Updating manifest with document model: ${state.name} (ID: ${state.id})`);
23
- generateManifest({
24
- documentModels: [
25
- {
26
- id: state.id,
27
- name: state.name,
28
- },
29
- ],
30
- }, this.config.CURRENT_WORKING_DIR);
31
- logger.info(`✅ Manifest updated successfully for document model: ${state.name}`);
32
- }
33
- catch (manifestError) {
34
- logger.error(`⚠️ Failed to update manifest for document model ${state.name}:`, manifestError);
35
- // Don't throw here - code generation was successful
36
- }
42
+ logger.info(`🔄 Updating manifest with document model: ${state.name} (ID: ${state.id})`);
43
+ generateManifest({
44
+ documentModels: [
45
+ {
46
+ id: state.id,
47
+ name: state.name,
48
+ },
49
+ ],
50
+ }, this.config.CURRENT_WORKING_DIR);
51
+ logger.info(`✅ Manifest updated successfully for document model: ${state.name}`);
37
52
  }
38
- catch (error) {
39
- logger.error(`❌ Error during code generation for ${state.name}:`, error);
40
- throw error;
53
+ catch (manifestError) {
54
+ logger.error(`⚠️ Failed to update manifest for document model ${state.name}:`, manifestError);
55
+ // Don't throw here - code generation was successful
41
56
  }
42
57
  }
43
- else {
44
- logger.error(`❌ Validation failed for document model: ${state.name}`, validationResult.errors);
45
- throw new Error(`Validation failed for document model: ${state.name}`);
58
+ catch (error) {
59
+ logger.error(`❌ Error during code generation for ${state.name}:`, error);
60
+ // Don't throw - let codegen continue with other documents
61
+ return;
46
62
  }
47
63
  }
48
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IAChD,sBAAsB,GAAG,2BAA2B,CAAC;IAE9D,KAAK,CAAC,QAAQ,CACZ,MAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2B,CAAC;QACjD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CACT,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAChE,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACvD,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBACH,MAAM,iCAAiC,CACrC,KAAK,CAAC,IAAI,EACV,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;gBACF,MAAM,CAAC,IAAI,CACT,iDAAiD,KAAK,CAAC,IAAI,EAAE,CAC9D,CAAC;gBAEF,kDAAkD;gBAClD,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CACT,6CAA6C,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,GAAG,CAC5E,CAAC;oBAEF,gBAAgB,CACd;wBACE,cAAc,EAAE;4BACd;gCACE,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,KAAK,CAAC,IAAI;6BACjB;yBACF;qBACF,EACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;oBAEF,MAAM,CAAC,IAAI,CACT,uDAAuD,KAAK,CAAC,IAAI,EAAE,CACpE,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,KAAK,CACV,mDAAmD,KAAK,CAAC,IAAI,GAAG,EAChE,aAAa,CACd,CAAC;oBACF,oDAAoD;gBACtD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,sCAAsC,KAAK,CAAC,IAAI,GAAG,EACnD,KAAK,CACN,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV,2CAA2C,KAAK,CAAC,IAAI,EAAE,EACvD,gBAAgB,CAAC,MAAM,CACxB,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"document-model-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IAChD,sBAAsB,GAAG,2BAA2B,CAAC;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAwD;QACpE,4BAA4B;QAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gCAAgC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2B,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CACV,6CAA6C,KAAK,CAAC,IAAI,EAAE,EACzD,gBAAgB,CAAC,MAAM,CACxB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2B,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,CAAC,IAAI,CACT,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAChE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACvD,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,MAAM,iCAAiC,CACrC,KAAK,CAAC,IAAI,EACV,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,IAAI,CACT,iDAAiD,KAAK,CAAC,IAAI,EAAE,CAC9D,CAAC;YAEF,kDAAkD;YAClD,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CACT,6CAA6C,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,GAAG,CAC5E,CAAC;gBAEF,gBAAgB,CACd;oBACE,cAAc,EAAE;wBACd;4BACE,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB;qBACF;iBACF,EACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;gBAEF,MAAM,CAAC,IAAI,CACT,uDAAuD,KAAK,CAAC,IAAI,EAAE,CACpE,CAAC;YACJ,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CACV,mDAAmD,KAAK,CAAC,IAAI,GAAG,EAChE,aAAa,CACd,CAAC;gBACF,oDAAoD;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,sCAAsC,KAAK,CAAC,IAAI,GAAG,EACnD,KAAK,CACN,CAAC;YACF,0DAA0D;YAC1D,OAAO;QACT,CAAC;IACH,CAAC;CACF"}
@@ -6,6 +6,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export declare class PackageGenerator extends BaseDocumentGen {
8
8
  readonly supportedDocumentTypes = "powerhouse/package";
9
+ /**
10
+ * Validate if this package strand should be processed
11
+ */
12
+ shouldProcess(strand: InternalTransmitterUpdate<DocumentModelDocument>): boolean;
9
13
  generate(strand: InternalTransmitterUpdate<DocumentModelDocument>): Promise<void>;
10
14
  }
11
15
  //# sourceMappingURL=package-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,CAAC,sBAAsB,wBAAwB;IAEjD,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAkBjB"}
1
+ {"version":3,"file":"package-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,QAAQ,CAAC,sBAAsB,wBAAwB;IAEvD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GAAG,OAAO;IAe1E,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAkBjB"}
@@ -6,6 +6,21 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export class PackageGenerator extends BaseDocumentGen {
8
8
  supportedDocumentTypes = "powerhouse/package";
9
+ /**
10
+ * Validate if this package strand should be processed
11
+ */
12
+ shouldProcess(strand) {
13
+ // First run base validation
14
+ if (!super.shouldProcess(strand)) {
15
+ return false;
16
+ }
17
+ const state = strand.state;
18
+ if (!state) {
19
+ logger.debug(`>>> No state found for package: ${strand.documentId}`);
20
+ return false;
21
+ }
22
+ return true;
23
+ }
9
24
  async generate(strand) {
10
25
  const state = strand.state;
11
26
  logger.info("🔄 Generating manifest for package");
@@ -1 +1 @@
1
- {"version":3,"file":"package-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAC1C,sBAAsB,GAAG,oBAAoB,CAAC;IAEvD,KAAK,CAAC,QAAQ,CACZ,MAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA0B,CAAC;QAEhD,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,gBAAgB,CACd;YACE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE;gBAC9B,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;aACjC;SACF,EACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"package-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/package-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAC1C,sBAAsB,GAAG,oBAAoB,CAAC;IAEvD;;OAEG;IACH,aAAa,CAAC,MAAwD;QACpE,4BAA4B;QAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAA0B,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA0B,CAAC;QAEhD,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,gBAAgB,CACd;YACE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE;gBAC9B,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE;aACjC;SACF,EACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -6,6 +6,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export declare class ProcessorGenerator extends BaseDocumentGen {
8
8
  readonly supportedDocumentTypes = "powerhouse/processor";
9
+ /**
10
+ * Validate if this processor strand should be processed
11
+ */
12
+ shouldProcess(strand: InternalTransmitterUpdate<DocumentModelDocument>): boolean;
9
13
  generate(strand: InternalTransmitterUpdate<DocumentModelDocument>): Promise<void>;
10
14
  }
11
15
  //# sourceMappingURL=processor-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,QAAQ,CAAC,sBAAsB,0BAA0B;IAEnD,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAwEjB"}
1
+ {"version":3,"file":"processor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,QAAQ,CAAC,sBAAsB,0BAA0B;IAEzD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GAAG,OAAO;IAoC1E,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAsEjB"}
@@ -6,6 +6,38 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export class ProcessorGenerator extends BaseDocumentGen {
8
8
  supportedDocumentTypes = "powerhouse/processor";
9
+ /**
10
+ * Validate if this processor strand should be processed
11
+ */
12
+ shouldProcess(strand) {
13
+ // First run base validation
14
+ if (!super.shouldProcess(strand)) {
15
+ return false;
16
+ }
17
+ const state = strand.state;
18
+ if (!state) {
19
+ logger.debug(`>>> No state found for processor: ${strand.documentId}`);
20
+ return false;
21
+ }
22
+ // Check if we have a valid processor name, type, document types, and it's confirmed
23
+ if (!state.name) {
24
+ logger.debug(`>>> No name found for processor: ${strand.documentId}`);
25
+ return false;
26
+ }
27
+ if (!state.type) {
28
+ logger.debug(`>>> No type found for processor: ${state.name}`);
29
+ return false;
30
+ }
31
+ if (!state.documentTypes || state.documentTypes.length === 0) {
32
+ logger.debug(`>>> No document types found for processor: ${state.name}`);
33
+ return false;
34
+ }
35
+ if (state.status !== "CONFIRMED") {
36
+ logger.debug(`>>> Processor not confirmed: ${state.name} (status: ${state.status})`);
37
+ return false;
38
+ }
39
+ return true;
40
+ }
9
41
  async generate(strand) {
10
42
  const state = strand.state;
11
43
  // Check if we have a valid processor name, type, document types, and it's confirmed
@@ -24,7 +56,8 @@ export class ProcessorGenerator extends BaseDocumentGen {
24
56
  processorType = "relationalDb";
25
57
  }
26
58
  else {
27
- throw new Error(`Unsupported processor type: ${state.type}`);
59
+ logger.error(`❌ Unsupported processor type: ${state.type}`);
60
+ return;
28
61
  }
29
62
  // Extract document types from the state
30
63
  const documentTypes = state.documentTypes.map((dt) => dt.documentType);
@@ -37,25 +70,24 @@ export class ProcessorGenerator extends BaseDocumentGen {
37
70
  if (error instanceof Error) {
38
71
  logger.error(`❌ Error message: ${error.message}`);
39
72
  }
40
- throw error;
41
73
  }
42
74
  }
43
75
  else {
44
76
  if (!state.name) {
45
- logger.debug(`⚠️ Skipping processor generation - missing name for processor`);
46
- throw new Error("Processor name is missing");
77
+ logger.error(`❌ Skipping processor generation - missing name for processor`);
78
+ return;
47
79
  }
48
80
  else if (!state.type) {
49
- logger.debug(`⚠️ Skipping processor generation - missing type for processor "${state.name}"`);
50
- throw new Error(`Processor "${state.name}" has no type`);
81
+ logger.error(`❌ Skipping processor generation - missing type for processor "${state.name}"`);
82
+ return;
51
83
  }
52
84
  else if (state.documentTypes.length === 0) {
53
- logger.debug(`⚠️ Skipping processor generation - missing document types for processor "${state.name}"`);
54
- throw new Error(`Processor "${state.name}" has no document types`);
85
+ logger.error(`❌ Skipping processor generation - missing document types for processor "${state.name}"`);
86
+ return;
55
87
  }
56
88
  else if (state.status !== "CONFIRMED") {
57
- logger.debug(`ℹ️ Skipping processor generation - processor "${state.name}" is not confirmed (status: ${state.status})`);
58
- throw new Error(`Processor "${state.name}" is not confirmed (status: ${state.status})`);
89
+ logger.error(`❌ Skipping processor generation - processor "${state.name}" is not confirmed (status: ${state.status})`);
90
+ return;
59
91
  }
60
92
  }
61
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processor-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/processor-generator.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ import { BaseDocumentGen } from "../base-document-gen.js";
6
6
  */
7
7
  export declare class SubgraphGenerator extends BaseDocumentGen {
8
8
  readonly supportedDocumentTypes = "powerhouse/subgraph";
9
+ /**
10
+ * Validate if this subgraph strand should be processed
11
+ */
12
+ shouldProcess(strand: InternalTransmitterUpdate<DocumentModelDocument>): boolean;
9
13
  generate(strand: InternalTransmitterUpdate<DocumentModelDocument>): Promise<void>;
10
14
  }
11
15
  //# sourceMappingURL=subgraph-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,sBAAsB,yBAAyB;IAElD,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAmEjB"}
1
+ {"version":3,"file":"subgraph-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,sBAAsB,yBAAyB;IAExD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GAAG,OAAO;IA0B1E,QAAQ,CACZ,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;CAgEjB"}
@@ -7,6 +7,30 @@ import { BaseDocumentGen } from "../base-document-gen.js";
7
7
  */
8
8
  export class SubgraphGenerator extends BaseDocumentGen {
9
9
  supportedDocumentTypes = "powerhouse/subgraph";
10
+ /**
11
+ * Validate if this subgraph strand should be processed
12
+ */
13
+ shouldProcess(strand) {
14
+ // First run base validation
15
+ if (!super.shouldProcess(strand)) {
16
+ return false;
17
+ }
18
+ const state = strand.state;
19
+ if (!state) {
20
+ logger.debug(`>>> No state found for subgraph: ${strand.documentId}`);
21
+ return false;
22
+ }
23
+ // Check if we have a valid subgraph name and it's confirmed
24
+ if (!state.name) {
25
+ logger.debug(`>>> No name found for subgraph: ${strand.documentId}`);
26
+ return false;
27
+ }
28
+ if (state.status !== "CONFIRMED") {
29
+ logger.debug(`>>> Subgraph not confirmed: ${state.name} (status: ${state.status})`);
30
+ return false;
31
+ }
32
+ return true;
33
+ }
10
34
  async generate(strand) {
11
35
  const state = strand.state;
12
36
  // Check if we have a valid subgraph name and it's confirmed
@@ -38,17 +62,16 @@ export class SubgraphGenerator extends BaseDocumentGen {
38
62
  }
39
63
  catch (error) {
40
64
  logger.error(`❌ Error during subgraph generation for ${state.name}:`, error);
41
- throw error;
42
65
  }
43
66
  }
44
67
  else {
45
68
  if (!state.name) {
46
- logger.debug(`⚠️ Skipping subgraph generation - missing name for subgraph`);
47
- throw new Error("Subgraph name is missing");
69
+ logger.error(`❌ Skipping subgraph generation - missing name for subgraph`);
70
+ return;
48
71
  }
49
72
  else if (state.status !== "CONFIRMED") {
50
- logger.debug(`ℹ️ Skipping subgraph generation - subgraph "${state.name}" is not confirmed (status: ${state.status})`);
51
- throw new Error(`Subgraph "${state.name}" is not confirmed (status: ${state.status})`);
73
+ logger.error(`❌ Skipping subgraph generation - subgraph "${state.name}" is not confirmed (status: ${state.status})`);
74
+ return;
52
75
  }
53
76
  }
54
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAC3C,sBAAsB,GAAG,qBAAqB,CAAC;IAExD,KAAK,CAAC,QAAQ,CACZ,MAAwD;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA4B,CAAC;QAElD,4DAA4D;QAC5D,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC;gBACH,uCAAuC;gBACvC,MAAM,UAAU,GAAW,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CACT,qDAAqD,KAAK,CAAC,IAAI,EAAE,CAClE,CAAC;gBAEF,4CAA4C;gBAC5C,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CACT,uCAAuC,KAAK,CAAC,IAAI,SAAS,UAAU,GAAG,CACxE,CAAC;oBAEF,gBAAgB,CACd;wBACE,SAAS,EAAE;4BACT;gCACE,EAAE,EAAE,UAAU;gCACd,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,aAAa,EAAE,EAAE;6BAClB;yBACF;qBACF,EACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;oBAEF,MAAM,CAAC,IAAI,CACT,iDAAiD,KAAK,CAAC,IAAI,EAAE,CAC9D,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,KAAK,CACV,6CAA6C,KAAK,CAAC,IAAI,GAAG,EAC1D,aAAa,CACd,CAAC;oBACF,wDAAwD;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,0CAA0C,KAAK,CAAC,IAAI,GAAG,EACvD,KAAK,CACN,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CACV,6DAA6D,CAC9D,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CACV,+CAA+C,KAAK,CAAC,IAAI,+BAA+B,KAAK,CAAC,MAAM,GAAG,CACxG,CAAC;gBACF,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,CAAC,IAAI,+BAA+B,KAAK,CAAC,MAAM,GAAG,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"subgraph-generator.js","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/subgraph-generator.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,12 @@ import { type IProcessor } from "document-drive/processors/types";
2
2
  import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
3
3
  import { type DocumentModelDocument } from "document-model";
4
4
  export declare class CodegenProcessor implements IProcessor {
5
+ private manager;
6
+ constructor();
5
7
  onStrands<TDocument extends DocumentModelDocument>(strands: InternalTransmitterUpdate<TDocument>[]): Promise<void>;
6
8
  onDisconnect(): Promise<void>;
9
+ setInteractiveMode(enabled: boolean): void;
10
+ isInteractive(): boolean;
11
+ isProcessingInteractive(): boolean;
7
12
  }
8
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAW5D,qBAAa,gBAAiB,YAAW,UAAU;IAC3C,SAAS,CAAC,SAAS,SAAS,qBAAqB,EACrD,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC;IAMV,YAAY;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAQ5D,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAyB;;IA0BlC,SAAS,CAAC,SAAS,SAAS,qBAAqB,EACrD,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC;IA6BV,YAAY;IAGX,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,aAAa,IAAI,OAAO;IAIxB,uBAAuB,IAAI,OAAO;CAG1C"}
@@ -1,17 +1,60 @@
1
1
  import { getConfig } from "@powerhousedao/config/utils";
2
2
  import { DocumentCodegenFactory } from "./document-handlers/index.js";
3
+ import { logger } from "./logger.js";
3
4
  const PH_CONFIG = getConfig();
4
5
  const CURRENT_WORKING_DIR = process.cwd();
5
- const manager = DocumentCodegenFactory.createManager({
6
- PH_CONFIG,
7
- CURRENT_WORKING_DIR,
8
- });
9
6
  export class CodegenProcessor {
7
+ manager;
8
+ constructor() {
9
+ // Determine interactive mode from environment variable
10
+ const isInteractive = process.env.CODEGEN_INTERACTIVE?.toLowerCase() === "true";
11
+ this.manager = DocumentCodegenFactory.createManager({
12
+ PH_CONFIG,
13
+ CURRENT_WORKING_DIR,
14
+ }, isInteractive);
15
+ if (isInteractive) {
16
+ logger.info(`🔔 CodegenProcessor initialized with interactive mode enabled (CODEGEN_INTERACTIVE=${process.env.CODEGEN_INTERACTIVE})`);
17
+ }
18
+ else {
19
+ logger.debug(`CodegenProcessor initialized with interactive mode disabled`);
20
+ }
21
+ }
10
22
  async onStrands(strands) {
11
- for (const strand of strands) {
12
- await manager.routeAndGenerate(strand);
23
+ logger.debug(">>> onStrands", strands);
24
+ // Filter strands to only include those that should be processed
25
+ const validStrands = strands.filter((strand) => {
26
+ const generator = this.manager.getGenerator(strand.documentType);
27
+ if (!generator) {
28
+ logger.debug(`>>> No generator found for document type: ${strand.documentType}`);
29
+ return false;
30
+ }
31
+ // Use the required shouldProcess method for validation
32
+ const shouldProcessResult = generator.shouldProcess(strand);
33
+ if (!shouldProcessResult) {
34
+ logger.debug(`>>> Generator validation failed for ${strand.documentType}:${strand.documentId}, skipping processing`);
35
+ }
36
+ return shouldProcessResult;
37
+ });
38
+ if (validStrands.length > 0) {
39
+ logger.debug(`>>> Processing ${validStrands.length} valid strands (out of ${strands.length} total)`);
40
+ for (const strand of validStrands) {
41
+ await this.manager.routeAndGenerate(strand);
42
+ }
43
+ }
44
+ else {
45
+ logger.debug(`>>> No valid strands to process (${strands.length} strands received)`);
13
46
  }
14
47
  }
15
48
  async onDisconnect() { }
49
+ // Utility methods for external configuration and monitoring
50
+ setInteractiveMode(enabled) {
51
+ this.manager.setInteractiveMode(enabled);
52
+ }
53
+ isInteractive() {
54
+ return this.manager.isInteractiveMode();
55
+ }
56
+ isProcessingInteractive() {
57
+ return this.manager.isProcessingInteractive();
58
+ }
16
59
  }
17
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAIxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1C,MAAM,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC;IACnD,SAAS;IACT,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,OAAO,gBAAgB;IAC3B,KAAK,CAAC,SAAS,CACb,OAA+C;QAE/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,KAAI,CAAC;CACxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../processors/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAIxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1C,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAyB;IAExC;QACE,uDAAuD;QACvD,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;QAE5D,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,aAAa,CACjD;YACE,SAAS;YACT,mBAAmB;SACpB,EACD,aAAa,CACd,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CACT,sFAAsF,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CACzH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV,6DAA6D,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAA+C;QAE/C,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEvC,gEAAgE;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,6CAA6C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,uDAAuD;YACvD,MAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,uBAAuB,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,kBAAkB,YAAY,CAAC,MAAM,0BAA0B,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;YACrG,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,KAAI,CAAC;IAEvB,4DAA4D;IACrD,kBAAkB,CAAC,OAAgB;QACxC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
2
+ import { type DocumentModelDocument } from "document-model";
3
+ export interface QueuedStrand {
4
+ strand: InternalTransmitterUpdate<DocumentModelDocument>;
5
+ timestamp: number;
6
+ }
7
+ /**
8
+ * InteractiveManager handles user interaction for code generation confirmation
9
+ * Supports both individual strand processing and queue-based batch processing
10
+ */
11
+ export declare class InteractiveManager {
12
+ private isInteractiveMode;
13
+ private processingConfirmation;
14
+ private strandQueue;
15
+ constructor(interactiveMode?: boolean);
16
+ private getDocumentKey;
17
+ /**
18
+ * Add a strand to the queue, replacing any existing strand for the same document
19
+ */
20
+ queueStrand(strand: InternalTransmitterUpdate<DocumentModelDocument>): void;
21
+ /**
22
+ * Get all queued strands
23
+ */
24
+ getQueuedStrands(): QueuedStrand[];
25
+ /**
26
+ * Clear and return all queued strands
27
+ */
28
+ clearQueue(): QueuedStrand[];
29
+ /**
30
+ * Get the current queue size
31
+ */
32
+ getQueueSize(): number;
33
+ private promptUserConfirmation;
34
+ /**
35
+ * Process generation with user confirmation (legacy single-strand method)
36
+ * This method assumes interactive mode is already enabled (checked by caller)
37
+ */
38
+ processWithConfirmation<T>(documentType: string, generator: () => Promise<T>): Promise<T | null>;
39
+ /**
40
+ * Process all queued strands with a single user confirmation
41
+ * This is the main method for queue-based interactive processing
42
+ */
43
+ processQueueWithConfirmation(processor: (strands: QueuedStrand[]) => Promise<void>): Promise<void>;
44
+ setInteractiveMode(enabled: boolean): void;
45
+ isInteractive(): boolean;
46
+ isProcessing(): boolean;
47
+ }
48
+ //# sourceMappingURL=interactive-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-manager.d.ts","sourceRoot":"","sources":["../../../processors/codegen/interactive-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAI5D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,WAAW,CAAmC;gBAE1C,eAAe,GAAE,OAAe;IAI5C,OAAO,CAAC,cAAc;IAItB;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAWlF;;OAEG;IACI,gBAAgB,IAAI,YAAY,EAAE;IAIzC;;OAEG;IACI,UAAU,IAAI,YAAY,EAAE;IAMnC;;OAEG;IACI,YAAY,IAAI,MAAM;YAIf,sBAAsB;IAqBpC;;;OAGG;IACU,uBAAuB,CAAC,CAAC,EACpC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkCpB;;;OAGG;IACU,4BAA4B,CACvC,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC;IA+CT,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK1C,aAAa,IAAI,OAAO;IAIxB,YAAY,IAAI,OAAO;CAG/B"}