@ariaflowagents/core 0.8.1 → 0.9.1

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 (142) hide show
  1. package/dist/capabilities/AutoRetrieveCapability.d.ts +30 -0
  2. package/dist/capabilities/AutoRetrieveCapability.d.ts.map +1 -0
  3. package/dist/capabilities/AutoRetrieveCapability.js +36 -0
  4. package/dist/capabilities/AutoRetrieveCapability.js.map +1 -0
  5. package/dist/capabilities/ExtractionCapability.d.ts +25 -0
  6. package/dist/capabilities/ExtractionCapability.d.ts.map +1 -0
  7. package/dist/capabilities/ExtractionCapability.js +74 -0
  8. package/dist/capabilities/ExtractionCapability.js.map +1 -0
  9. package/dist/capabilities/FlowCapability.d.ts +81 -0
  10. package/dist/capabilities/FlowCapability.d.ts.map +1 -0
  11. package/dist/capabilities/FlowCapability.js +482 -0
  12. package/dist/capabilities/FlowCapability.js.map +1 -0
  13. package/dist/capabilities/GuardrailCapability.d.ts +30 -0
  14. package/dist/capabilities/GuardrailCapability.d.ts.map +1 -0
  15. package/dist/capabilities/GuardrailCapability.js +38 -0
  16. package/dist/capabilities/GuardrailCapability.js.map +1 -0
  17. package/dist/capabilities/HandoffCapability.d.ts +19 -0
  18. package/dist/capabilities/HandoffCapability.d.ts.map +1 -0
  19. package/dist/capabilities/HandoffCapability.js +58 -0
  20. package/dist/capabilities/HandoffCapability.js.map +1 -0
  21. package/dist/capabilities/LivePromptAssembler.d.ts +108 -0
  22. package/dist/capabilities/LivePromptAssembler.d.ts.map +1 -0
  23. package/dist/capabilities/LivePromptAssembler.js +157 -0
  24. package/dist/capabilities/LivePromptAssembler.js.map +1 -0
  25. package/dist/capabilities/TriageCapability.d.ts +16 -0
  26. package/dist/capabilities/TriageCapability.d.ts.map +1 -0
  27. package/dist/capabilities/TriageCapability.js +61 -0
  28. package/dist/capabilities/TriageCapability.js.map +1 -0
  29. package/dist/capabilities/adapters/ai-sdk.d.ts +14 -0
  30. package/dist/capabilities/adapters/ai-sdk.d.ts.map +1 -0
  31. package/dist/capabilities/adapters/ai-sdk.js +29 -0
  32. package/dist/capabilities/adapters/ai-sdk.js.map +1 -0
  33. package/dist/capabilities/adapters/gemini.d.ts +15 -0
  34. package/dist/capabilities/adapters/gemini.d.ts.map +1 -0
  35. package/dist/capabilities/adapters/gemini.js +40 -0
  36. package/dist/capabilities/adapters/gemini.js.map +1 -0
  37. package/dist/capabilities/index.d.ts +154 -0
  38. package/dist/capabilities/index.d.ts.map +1 -0
  39. package/dist/capabilities/index.js +128 -0
  40. package/dist/capabilities/index.js.map +1 -0
  41. package/dist/eval/EvalRunner.d.ts +12 -0
  42. package/dist/eval/EvalRunner.d.ts.map +1 -0
  43. package/dist/eval/EvalRunner.js +64 -0
  44. package/dist/eval/EvalRunner.js.map +1 -0
  45. package/dist/eval/scoring.d.ts +15 -0
  46. package/dist/eval/scoring.d.ts.map +1 -0
  47. package/dist/eval/scoring.js +152 -0
  48. package/dist/eval/scoring.js.map +1 -0
  49. package/dist/eval/types.d.ts +59 -0
  50. package/dist/eval/types.d.ts.map +1 -0
  51. package/dist/eval/types.js +2 -0
  52. package/dist/eval/types.js.map +1 -0
  53. package/dist/flows/FlowGraph.d.ts +3 -1
  54. package/dist/flows/FlowGraph.d.ts.map +1 -1
  55. package/dist/flows/FlowGraph.js +5 -0
  56. package/dist/flows/FlowGraph.js.map +1 -1
  57. package/dist/flows/FlowManager.d.ts +60 -1
  58. package/dist/flows/FlowManager.d.ts.map +1 -1
  59. package/dist/flows/FlowManager.js +467 -34
  60. package/dist/flows/FlowManager.js.map +1 -1
  61. package/dist/flows/extraction.d.ts +16 -1
  62. package/dist/flows/extraction.d.ts.map +1 -1
  63. package/dist/flows/extraction.js +34 -0
  64. package/dist/flows/extraction.js.map +1 -1
  65. package/dist/flows/index.d.ts +2 -0
  66. package/dist/flows/index.d.ts.map +1 -1
  67. package/dist/flows/index.js +1 -0
  68. package/dist/flows/index.js.map +1 -1
  69. package/dist/flows/validation.d.ts +1 -1
  70. package/dist/flows/validation.d.ts.map +1 -1
  71. package/dist/flows/validation.js +13 -1
  72. package/dist/flows/validation.js.map +1 -1
  73. package/dist/hooks/HookRunner.d.ts +3 -1
  74. package/dist/hooks/HookRunner.d.ts.map +1 -1
  75. package/dist/hooks/HookRunner.js +3 -0
  76. package/dist/hooks/HookRunner.js.map +1 -1
  77. package/dist/hooks/builtin/metrics.d.ts.map +1 -1
  78. package/dist/hooks/builtin/metrics.js +12 -0
  79. package/dist/hooks/builtin/metrics.js.map +1 -1
  80. package/dist/hooks/builtin/observability.d.ts +21 -0
  81. package/dist/hooks/builtin/observability.d.ts.map +1 -0
  82. package/dist/hooks/builtin/observability.js +535 -0
  83. package/dist/hooks/builtin/observability.js.map +1 -0
  84. package/dist/index.d.ts +11 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +7 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/orchestration/DefaultOrchestrationAuthority.d.ts +91 -0
  89. package/dist/orchestration/DefaultOrchestrationAuthority.d.ts.map +1 -0
  90. package/dist/orchestration/DefaultOrchestrationAuthority.js +786 -0
  91. package/dist/orchestration/DefaultOrchestrationAuthority.js.map +1 -0
  92. package/dist/orchestration/OrchestrationAuthority.d.ts +119 -0
  93. package/dist/orchestration/OrchestrationAuthority.d.ts.map +1 -0
  94. package/dist/orchestration/OrchestrationAuthority.js +2 -0
  95. package/dist/orchestration/OrchestrationAuthority.js.map +1 -0
  96. package/dist/orchestration/RealtimeExtractionRunner.d.ts +25 -0
  97. package/dist/orchestration/RealtimeExtractionRunner.d.ts.map +1 -0
  98. package/dist/orchestration/RealtimeExtractionRunner.js +62 -0
  99. package/dist/orchestration/RealtimeExtractionRunner.js.map +1 -0
  100. package/dist/orchestration/index.d.ts +5 -0
  101. package/dist/orchestration/index.d.ts.map +1 -0
  102. package/dist/orchestration/index.js +4 -0
  103. package/dist/orchestration/index.js.map +1 -0
  104. package/dist/orchestration/types.d.ts +134 -0
  105. package/dist/orchestration/types.d.ts.map +1 -0
  106. package/dist/orchestration/types.js +2 -0
  107. package/dist/orchestration/types.js.map +1 -0
  108. package/dist/realtime/RealtimeAudioClient.d.ts +105 -0
  109. package/dist/realtime/RealtimeAudioClient.d.ts.map +1 -0
  110. package/dist/realtime/RealtimeAudioClient.js +15 -0
  111. package/dist/realtime/RealtimeAudioClient.js.map +1 -0
  112. package/dist/realtime/RealtimeRuntime.d.ts +136 -0
  113. package/dist/realtime/RealtimeRuntime.d.ts.map +1 -0
  114. package/dist/realtime/RealtimeRuntime.js +270 -0
  115. package/dist/realtime/RealtimeRuntime.js.map +1 -0
  116. package/dist/realtime/index.d.ts +4 -0
  117. package/dist/realtime/index.d.ts.map +1 -0
  118. package/dist/realtime/index.js +2 -0
  119. package/dist/realtime/index.js.map +1 -0
  120. package/dist/runtime/ExtractionEngine.d.ts +2 -1
  121. package/dist/runtime/ExtractionEngine.d.ts.map +1 -1
  122. package/dist/runtime/ExtractionEngine.js +11 -0
  123. package/dist/runtime/ExtractionEngine.js.map +1 -1
  124. package/dist/runtime/FlowExecutor.d.ts +7 -5
  125. package/dist/runtime/FlowExecutor.d.ts.map +1 -1
  126. package/dist/runtime/FlowExecutor.js +71 -12
  127. package/dist/runtime/FlowExecutor.js.map +1 -1
  128. package/dist/runtime/Runtime.d.ts +22 -0
  129. package/dist/runtime/Runtime.d.ts.map +1 -1
  130. package/dist/runtime/Runtime.js +47 -0
  131. package/dist/runtime/Runtime.js.map +1 -1
  132. package/dist/runtime/pipeline/AgentExecuteStage.d.ts.map +1 -1
  133. package/dist/runtime/pipeline/AgentExecuteStage.js +94 -25
  134. package/dist/runtime/pipeline/AgentExecuteStage.js.map +1 -1
  135. package/dist/runtime/pipeline/ContextAssembleStage.js +1 -1
  136. package/dist/types/index.d.ts +61 -3
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/dist/types/index.js +4 -0
  139. package/dist/types/index.js.map +1 -1
  140. package/dist/types/telemetry.d.ts +107 -0
  141. package/dist/types/telemetry.d.ts.map +1 -1
  142. package/package.json +15 -2
@@ -1 +1 @@
1
- {"version":3,"file":"FlowGraph.d.ts","sourceRoot":"","sources":["../../src/flows/FlowGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAK7B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAM,GAAG,IAAI;IAKrG,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1C,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKnD,QAAQ,IAAI,UAAU;IAStB,MAAM,CAAC,MAAM,IAAI,gBAAgB;CAGlC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAmB;IAEhC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,IAAI;IAK1D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAM,GAAG,IAAI;IAKlG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKvC,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKhD,KAAK,IAAI,UAAU;CAGpB"}
1
+ {"version":3,"file":"FlowGraph.d.ts","sourceRoot":"","sources":["../../src/flows/FlowGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAK7B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAM,GAAG,IAAI;IAKrG,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1C,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKnD,QAAQ,IAAI,UAAU;IAStB,MAAM,CAAC,MAAM,IAAI,gBAAgB;CAGlC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAmB;IAEhC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,IAAI;IAK1D,+EAA+E;IAC/E,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,IAAI;IAKvF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAM,GAAG,IAAI;IAKlG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKvC,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKhD,KAAK,IAAI,UAAU;CAGpB"}
@@ -38,6 +38,11 @@ export class FlowGraphBuilder {
38
38
  this.graph.addNode(new FlowNode({ id, ...config }));
39
39
  return this;
40
40
  }
41
+ /** Add an extraction node that loops until a Zod schema is fully satisfied. */
42
+ extractionNode(id, config) {
43
+ this.graph.addNode(new FlowNode({ ...config, id, nodeType: 'extraction' }));
44
+ return this;
45
+ }
41
46
  transition(from, to, config = {}) {
42
47
  this.graph.addTransition(from, to, config);
43
48
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowGraph.js","sourceRoot":"","sources":["../../src/flows/FlowGraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,SAAS;IACZ,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpC,WAAW,GAA2B,EAAE,CAAC;IACzC,iBAAiB,CAAU;IAC3B,eAAe,CAAmB;IAE1C,OAAO,CAAC,IAAc;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,SAAoD,EAAE;QAC5F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,QAAyB;QAC1C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAgB;IACnB,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,IAAI,CAAC,EAAU,EAAE,MAAkC;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,EAAU,EAAE,SAAoD,EAAE;QACzF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,QAAyB;QACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"FlowGraph.js","sourceRoot":"","sources":["../../src/flows/FlowGraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,SAAS;IACZ,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpC,WAAW,GAA2B,EAAE,CAAC;IACzC,iBAAiB,CAAU;IAC3B,eAAe,CAAmB;IAE1C,OAAO,CAAC,IAAc;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,SAAoD,EAAE;QAC5F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,QAAyB;QAC1C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAgB;IACnB,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,IAAI,CAAC,EAAU,EAAE,MAAkC;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+EAA+E;IAC/E,cAAc,CAAC,EAAU,EAAE,MAAqD;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAoB,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,EAAU,EAAE,SAAoD,EAAE;QACzF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,QAAyB;QACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { type LanguageModel, type ModelMessage, type TelemetrySettings } from 'ai';
2
- import type { AgentStreamPart, FlowConfig, FlowManagerState, FlowNodeConfig } from '../types/index.js';
2
+ import { type AgentStreamPart, type FlowConfig, type FlowManagerState, type FlowNodeConfig } from '../types/index.js';
3
3
  export interface FlowManagerConfig {
4
4
  flow: FlowConfig;
5
5
  initialNode: string;
@@ -35,6 +35,8 @@ export interface FlowManagerConfig {
35
35
  args: unknown;
36
36
  toolCallId?: string;
37
37
  }) => Record<string, unknown> | undefined;
38
+ /** Optional callback for emitting flow-level metrics (timing, counters). Wired by the runtime to custom stream events. */
39
+ metricsEmitter?: (name: string, data: Record<string, unknown>) => void;
38
40
  }
39
41
  export declare class FlowManager {
40
42
  private config;
@@ -47,6 +49,13 @@ export declare class FlowManager {
47
49
  private deferredActions;
48
50
  private flowEnded;
49
51
  private sessionMessages?;
52
+ /**
53
+ * Headless FlowCapability used to share state-management code with
54
+ * CapabilityCallWorker. FlowManager rebuilds this lazily from its own
55
+ * authoritative state (context/initialized/flowEnded) whenever a getter
56
+ * or resolveTools() needs it — keeping streaming logic untouched.
57
+ */
58
+ private flowCapability;
50
59
  /**
51
60
  * Tracks transition edges (from->to) within a single process() call.
52
61
  * Reset at the start of each user turn. Used to detect oscillation
@@ -55,6 +64,10 @@ export declare class FlowManager {
55
64
  private turnTransitionCounts;
56
65
  /** Maximum times the same from->to edge can fire in one turn before being blocked. */
57
66
  private maxOscillations;
67
+ private pendingMetrics;
68
+ private emitMetric;
69
+ /** Drain queued metrics as custom stream events. Call from any generator. */
70
+ private drainMetrics;
58
71
  constructor(config: FlowManagerConfig);
59
72
  initialize(): AsyncGenerator<AgentStreamPart>;
60
73
  process(userInput: string): AsyncGenerator<AgentStreamPart>;
@@ -65,7 +78,18 @@ export declare class FlowManager {
65
78
  get currentNode(): string | undefined;
66
79
  get hasEnded(): boolean;
67
80
  getState(): FlowManagerState;
81
+ /**
82
+ * Build a FlowCapability snapshot from FlowManager's current authoritative state.
83
+ * FlowManager owns transitions/streaming; FlowCapability owns state-query logic.
84
+ * Rebuilding on each call is cheap (pure in-memory graph traversal, no I/O).
85
+ */
86
+ private rebuildCapability;
68
87
  private runInference;
88
+ /**
89
+ * Builds the system prompt as an array of SystemModelMessage objects.
90
+ * Layer 1 (role prompt) is marked with Anthropic cache_control for prompt caching.
91
+ * Uses AI SDK SystemModelMessage format: { role: 'system', content: string, providerOptions? }.
92
+ */
69
93
  private buildSystemPrompt;
70
94
  private applyContextStrategy;
71
95
  private generateSummary;
@@ -81,5 +105,40 @@ export declare class FlowManager {
81
105
  private flushDeferredActions;
82
106
  private checkTransitionPolicy;
83
107
  private evaluateTransitions;
108
+ /**
109
+ * Extraction node inference: loops until a Zod schema is fully satisfied.
110
+ * Replaces both the ExtractionEngine's generateObject call and the standard
111
+ * streamText inference -- single LLM call per turn.
112
+ *
113
+ * Three key correctness properties:
114
+ * 1. safeParse uses nullified collectedData (undefined -> null) so nullable
115
+ * schema fields don't fail on absent keys.
116
+ * 2. The follow-up prompt only mentions REQUIRED missing fields, not optional ones.
117
+ * 3. On auto-transition, if the next node is also an extraction node, the last
118
+ * user message is re-extracted against the new schema (cross-node carry-forward).
119
+ */
120
+ private runExtractionNodeInference;
121
+ /**
122
+ * Check if extraction is complete by running safeParse with nullified data.
123
+ * Fills undefined schema keys with null so .nullable() fields don't fail
124
+ * on absent keys (undefined !== null in Zod).
125
+ */
126
+ private isExtractionComplete;
127
+ /**
128
+ * Extract structured fields from the last user message against a node's schema.
129
+ * Returns the number of NEW fields that were extracted (0 if nothing new).
130
+ * Used both for normal extraction turns and cross-node carry-forward.
131
+ */
132
+ private extractFromLastUserMessage;
133
+ /**
134
+ * Cross-node extraction carry-forward: when transitioning from one extraction
135
+ * node to another, re-extract from the last user message against the new node's
136
+ * schema. This handles the case where a user provides data for multiple schemas
137
+ * in a single message (e.g., incident details AND vehicle details in one turn).
138
+ *
139
+ * Stops the cascade when zero new fields are extracted -- the user message has
140
+ * no data for this schema, so further hops would waste LLM calls.
141
+ */
142
+ private runExtractionCarryForward;
84
143
  }
85
144
  //# sourceMappingURL=FlowManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/FlowManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/FlowManager.ts"],"names":[],"mappings":"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"}