@angflow/angular 0.0.15 → 0.0.18

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 (184) hide show
  1. package/README.md +53 -0
  2. package/dist/base.css +18 -0
  3. package/dist/esm/lib/agent/agent-bridge.service.d.ts +30 -5
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +1 -1
  5. package/dist/esm/lib/agent/agent-bridge.service.js +863 -36
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -1
  7. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts +20 -0
  8. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts.map +1 -0
  9. package/dist/esm/lib/agent/chat/agent-chat.component.js +174 -0
  10. package/dist/esm/lib/agent/chat/agent-chat.component.js.map +1 -0
  11. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts +43 -0
  12. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts.map +1 -0
  13. package/dist/esm/lib/agent/chat/agent-chat.service.js +226 -0
  14. package/dist/esm/lib/agent/chat/agent-chat.service.js.map +1 -0
  15. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts +6 -0
  16. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts.map +1 -0
  17. package/dist/esm/lib/agent/chat/default-system-prompt.js +14 -0
  18. package/dist/esm/lib/agent/chat/default-system-prompt.js.map +1 -0
  19. package/dist/esm/lib/agent/chat/index.d.ts +7 -0
  20. package/dist/esm/lib/agent/chat/index.d.ts.map +1 -0
  21. package/dist/esm/lib/agent/chat/index.js +5 -0
  22. package/dist/esm/lib/agent/chat/index.js.map +1 -0
  23. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts +29 -0
  24. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts.map +1 -0
  25. package/dist/esm/lib/agent/chat/provide-agent-chat.js +40 -0
  26. package/dist/esm/lib/agent/chat/provide-agent-chat.js.map +1 -0
  27. package/dist/esm/lib/agent/chat/types.d.ts +77 -0
  28. package/dist/esm/lib/agent/chat/types.d.ts.map +1 -0
  29. package/dist/esm/lib/agent/chat/types.js +9 -0
  30. package/dist/esm/lib/agent/chat/types.js.map +1 -0
  31. package/dist/esm/lib/agent/history.d.ts +45 -0
  32. package/dist/esm/lib/agent/history.d.ts.map +1 -0
  33. package/dist/esm/lib/agent/history.js +89 -0
  34. package/dist/esm/lib/agent/history.js.map +1 -0
  35. package/dist/esm/lib/agent/index.d.ts +3 -1
  36. package/dist/esm/lib/agent/index.d.ts.map +1 -1
  37. package/dist/esm/lib/agent/index.js +1 -0
  38. package/dist/esm/lib/agent/index.js.map +1 -1
  39. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +28 -0
  40. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +1 -1
  41. package/dist/esm/lib/agent/provide-agent-bridge.js +7 -1
  42. package/dist/esm/lib/agent/provide-agent-bridge.js.map +1 -1
  43. package/dist/esm/lib/agent/tool-schemas.d.ts.map +1 -1
  44. package/dist/esm/lib/agent/tool-schemas.js +539 -0
  45. package/dist/esm/lib/agent/tool-schemas.js.map +1 -1
  46. package/dist/esm/lib/agent/transports/window.d.ts.map +1 -1
  47. package/dist/esm/lib/agent/transports/window.js +9 -1
  48. package/dist/esm/lib/agent/transports/window.js.map +1 -1
  49. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +3 -3
  50. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -1
  51. package/dist/esm/lib/components/attribution/attribution.component.js +3 -3
  52. package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -1
  53. package/dist/esm/lib/components/background/background.component.js +3 -3
  54. package/dist/esm/lib/components/background/background.component.js.map +1 -1
  55. package/dist/esm/lib/components/connection-line/connection-line.component.js +3 -3
  56. package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -1
  57. package/dist/esm/lib/components/controls/controls.component.js +3 -3
  58. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  59. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +3 -3
  60. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -1
  61. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +2 -2
  62. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +3 -3
  63. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  64. package/dist/esm/lib/components/edges/base-edge.component.js +3 -3
  65. package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -1
  66. package/dist/esm/lib/components/edges/bezier-edge.component.js +3 -3
  67. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  68. package/dist/esm/lib/components/edges/edge-text.component.js +3 -3
  69. package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -1
  70. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +3 -3
  71. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  72. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +3 -3
  73. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  74. package/dist/esm/lib/components/edges/step-edge.component.js +3 -3
  75. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  76. package/dist/esm/lib/components/edges/straight-edge.component.js +3 -3
  77. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  78. package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -1
  79. package/dist/esm/lib/components/handle/handle.component.js +28 -14
  80. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  81. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts +1 -1
  82. package/dist/esm/lib/components/handle-group/handle-group.component.js +3 -3
  83. package/dist/esm/lib/components/handle-group/handle-group.component.js.map +1 -1
  84. package/dist/esm/lib/components/handle-group/handle-row.component.js +3 -3
  85. package/dist/esm/lib/components/handle-group/handle-row.component.js.map +1 -1
  86. package/dist/esm/lib/components/minimap/minimap.component.js +3 -3
  87. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  88. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +3 -3
  89. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  90. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +3 -3
  91. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  92. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +3 -3
  93. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  94. package/dist/esm/lib/components/nodes/default-node.component.js +7 -7
  95. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  96. package/dist/esm/lib/components/nodes/group-node.component.js +3 -3
  97. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  98. package/dist/esm/lib/components/nodes/input-node.component.js +5 -5
  99. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  100. package/dist/esm/lib/components/nodes/output-node.component.js +5 -5
  101. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  102. package/dist/esm/lib/components/nodes/template-node.component.d.ts +48 -0
  103. package/dist/esm/lib/components/nodes/template-node.component.d.ts.map +1 -0
  104. package/dist/esm/lib/components/nodes/template-node.component.js +209 -0
  105. package/dist/esm/lib/components/nodes/template-node.component.js.map +1 -0
  106. package/dist/esm/lib/components/panel/panel.component.js +3 -3
  107. package/dist/esm/lib/components/panel/panel.component.js.map +1 -1
  108. package/dist/esm/lib/components/selection-box/selection-box.component.js +3 -3
  109. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
  110. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +3 -3
  111. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -1
  112. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +14 -0
  113. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
  114. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +75 -24
  115. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  116. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +20 -2
  117. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
  118. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +30 -6
  119. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  120. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +7 -0
  121. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
  122. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +104 -15
  123. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  124. package/dist/esm/lib/container/pane/pane.component.js +3 -3
  125. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  126. package/dist/esm/lib/container/viewport/viewport.component.js +3 -3
  127. package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -1
  128. package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -1
  129. package/dist/esm/lib/directives/drag.directive.js +12 -4
  130. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  131. package/dist/esm/lib/directives/drop-zone.directive.js +3 -3
  132. package/dist/esm/lib/directives/drop-zone.directive.js.map +1 -1
  133. package/dist/esm/lib/directives/key-handler.directive.js +3 -3
  134. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  135. package/dist/esm/lib/directives/node-type.directive.js +3 -3
  136. package/dist/esm/lib/directives/node-type.directive.js.map +1 -1
  137. package/dist/esm/lib/layout/dagre-layout.d.ts +12 -0
  138. package/dist/esm/lib/layout/dagre-layout.d.ts.map +1 -0
  139. package/dist/esm/lib/layout/dagre-layout.js +13 -0
  140. package/dist/esm/lib/layout/dagre-layout.js.map +1 -0
  141. package/dist/esm/lib/layout/index.d.ts +4 -0
  142. package/dist/esm/lib/layout/index.d.ts.map +1 -0
  143. package/dist/esm/lib/layout/index.js +3 -0
  144. package/dist/esm/lib/layout/index.js.map +1 -0
  145. package/dist/esm/lib/layout/layout-nodes.d.ts +47 -0
  146. package/dist/esm/lib/layout/layout-nodes.d.ts.map +1 -0
  147. package/dist/esm/lib/layout/layout-nodes.js +49 -0
  148. package/dist/esm/lib/layout/layout-nodes.js.map +1 -0
  149. package/dist/esm/lib/public-api.d.ts +2 -1
  150. package/dist/esm/lib/public-api.d.ts.map +1 -1
  151. package/dist/esm/lib/public-api.js +4 -1
  152. package/dist/esm/lib/public-api.js.map +1 -1
  153. package/dist/esm/lib/services/flow-store.service.d.ts +52 -2
  154. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
  155. package/dist/esm/lib/services/flow-store.service.js +150 -3
  156. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  157. package/dist/esm/lib/services/ng-flow.service.d.ts +105 -0
  158. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
  159. package/dist/esm/lib/services/ng-flow.service.js +166 -3
  160. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  161. package/dist/esm/lib/types/edges.d.ts +14 -2
  162. package/dist/esm/lib/types/edges.d.ts.map +1 -1
  163. package/dist/esm/lib/types/general.d.ts +10 -0
  164. package/dist/esm/lib/types/general.d.ts.map +1 -1
  165. package/dist/esm/lib/types/index.d.ts +1 -0
  166. package/dist/esm/lib/types/index.d.ts.map +1 -1
  167. package/dist/esm/lib/types/index.js +1 -0
  168. package/dist/esm/lib/types/index.js.map +1 -1
  169. package/dist/esm/lib/types/node-template.d.ts +77 -0
  170. package/dist/esm/lib/types/node-template.d.ts.map +1 -0
  171. package/dist/esm/lib/types/node-template.js +10 -0
  172. package/dist/esm/lib/types/node-template.js.map +1 -0
  173. package/dist/esm/lib/types/nodes.d.ts +1 -9
  174. package/dist/esm/lib/types/nodes.d.ts.map +1 -1
  175. package/dist/esm/lib/utils/position-tween.d.ts +19 -0
  176. package/dist/esm/lib/utils/position-tween.d.ts.map +1 -0
  177. package/dist/esm/lib/utils/position-tween.js +25 -0
  178. package/dist/esm/lib/utils/position-tween.js.map +1 -0
  179. package/dist/esm/lib/utils/template-interpolation.d.ts +16 -0
  180. package/dist/esm/lib/utils/template-interpolation.d.ts.map +1 -0
  181. package/dist/esm/lib/utils/template-interpolation.js +51 -0
  182. package/dist/esm/lib/utils/template-interpolation.js.map +1 -0
  183. package/dist/style.css +18 -0
  184. package/package.json +78 -66
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-chat.service.js","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/agent-chat.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Default system prompt for the in-browser canvas copilot. Hosts override
3
+ * via `provideAgentChat({ systemPrompt })`.
4
+ */
5
+ export declare const DEFAULT_AGENT_CHAT_SYSTEM_PROMPT = "You are a copilot operating a node-graph canvas on behalf of the user. You manipulate the canvas exclusively through the provided tools while the user watches \u2014 and may keep editing alongside you.\n\nGuidelines:\n- Inspect before large changes: call get_state to see the current graph, and list_node_types to learn which node types this app renders.\n- Never hand-compute coordinates for more than a couple of nodes \u2014 create the nodes, then call layout_nodes to arrange them.\n- For new visual kinds of nodes, call register_node_template once, then create nodes with that type. Interpolate node data into the template with {{data.field}} placeholders.\n- Prefer incremental tools (add_node, add_edge, update_node, delete_elements, apply_changes) over set_nodes/set_edges full replacement.\n- Every mutation you make is undoable: the user can revert via undo, so act decisively rather than asking for confirmation.\n- The user sees the canvas change live. Keep your text responses to one or two short sentences describing what you did.";
6
+ //# sourceMappingURL=default-system-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-system-prompt.d.ts","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/default-system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gCAAgC,yhCAQ2E,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Default system prompt for the in-browser canvas copilot. Hosts override
3
+ * via `provideAgentChat({ systemPrompt })`.
4
+ */
5
+ export const DEFAULT_AGENT_CHAT_SYSTEM_PROMPT = `You are a copilot operating a node-graph canvas on behalf of the user. You manipulate the canvas exclusively through the provided tools while the user watches — and may keep editing alongside you.
6
+
7
+ Guidelines:
8
+ - Inspect before large changes: call get_state to see the current graph, and list_node_types to learn which node types this app renders.
9
+ - Never hand-compute coordinates for more than a couple of nodes — create the nodes, then call layout_nodes to arrange them.
10
+ - For new visual kinds of nodes, call register_node_template once, then create nodes with that type. Interpolate node data into the template with {{data.field}} placeholders.
11
+ - Prefer incremental tools (add_node, add_edge, update_node, delete_elements, apply_changes) over set_nodes/set_edges full replacement.
12
+ - Every mutation you make is undoable: the user can revert via undo, so act decisively rather than asking for confirmation.
13
+ - The user sees the canvas change live. Keep your text responses to one or two short sentences describing what you did.`;
14
+ //# sourceMappingURL=default-system-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-system-prompt.js","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/default-system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;wHAQwE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { provideAgentChat, AGENT_CHAT_CONFIG } from './provide-agent-chat';
2
+ export type { ResolvedAgentChatConfig } from './provide-agent-chat';
3
+ export { AgentChatService } from './agent-chat.service';
4
+ export { AgentChatComponent } from './agent-chat.component';
5
+ export { DEFAULT_AGENT_CHAT_SYSTEM_PROMPT } from './default-system-prompt';
6
+ export type { AgentChatConfig, AgentChatRequest, AgentChatResponse, AgentChatMessageParam, AgentChatContentBlock, AgentChatTextBlock, AgentChatToolUseBlock, AgentChatToolResultBlock, AgentChatTool, CompleteFn, ChatMessage, ToolActivity, } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { provideAgentChat, AGENT_CHAT_CONFIG } from './provide-agent-chat';
2
+ export { AgentChatService } from './agent-chat.service';
3
+ export { AgentChatComponent } from './agent-chat.component';
4
+ export { DEFAULT_AGENT_CHAT_SYSTEM_PROMPT } from './default-system-prompt';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { InjectionToken, type EnvironmentProviders } from '@angular/core';
2
+ import type { AgentChatConfig } from './types';
3
+ /** Resolved (defaults applied) chat configuration. */
4
+ export type ResolvedAgentChatConfig = Required<AgentChatConfig>;
5
+ export declare const AGENT_CHAT_CONFIG: InjectionToken<Required<AgentChatConfig>>;
6
+ /**
7
+ * Register the in-browser agent chat harness.
8
+ *
9
+ * The `complete` function is the ONLY path to the model: typically a fetch
10
+ * to your own backend proxy, which holds the API key server-side. The
11
+ * library and the browser bundle never handle a key.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * provideAgentChat({
16
+ * complete: (req) =>
17
+ * fetch('/api/agent', {
18
+ * method: 'POST',
19
+ * headers: { 'content-type': 'application/json' },
20
+ * body: JSON.stringify(req),
21
+ * }).then((r) => {
22
+ * if (!r.ok) throw new Error(`agent proxy responded ${r.status}`);
23
+ * return r.json();
24
+ * }),
25
+ * })
26
+ * ```
27
+ */
28
+ export declare function provideAgentChat(config: AgentChatConfig): EnvironmentProviders;
29
+ //# sourceMappingURL=provide-agent-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provide-agent-chat.d.ts","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/provide-agent-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4B,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB,2CAE7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,CAY9E"}
@@ -0,0 +1,40 @@
1
+ import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
+ import { AgentChatService } from './agent-chat.service';
3
+ import { DEFAULT_AGENT_CHAT_SYSTEM_PROMPT } from './default-system-prompt';
4
+ export const AGENT_CHAT_CONFIG = new InjectionToken('AngflowAgentChatConfig');
5
+ /**
6
+ * Register the in-browser agent chat harness.
7
+ *
8
+ * The `complete` function is the ONLY path to the model: typically a fetch
9
+ * to your own backend proxy, which holds the API key server-side. The
10
+ * library and the browser bundle never handle a key.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * provideAgentChat({
15
+ * complete: (req) =>
16
+ * fetch('/api/agent', {
17
+ * method: 'POST',
18
+ * headers: { 'content-type': 'application/json' },
19
+ * body: JSON.stringify(req),
20
+ * }).then((r) => {
21
+ * if (!r.ok) throw new Error(`agent proxy responded ${r.status}`);
22
+ * return r.json();
23
+ * }),
24
+ * })
25
+ * ```
26
+ */
27
+ export function provideAgentChat(config) {
28
+ const resolved = {
29
+ complete: config.complete,
30
+ systemPrompt: config.systemPrompt ?? DEFAULT_AGENT_CHAT_SYSTEM_PROMPT,
31
+ maxTurns: config.maxTurns ?? 12,
32
+ maxTokens: config.maxTokens ?? 2048,
33
+ maxHistory: config.maxHistory ?? 40,
34
+ };
35
+ return makeEnvironmentProviders([
36
+ { provide: AGENT_CHAT_CONFIG, useValue: resolved },
37
+ AgentChatService,
38
+ ]);
39
+ }
40
+ //# sourceMappingURL=provide-agent-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provide-agent-chat.js","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/provide-agent-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAA6B,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAM3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CACjD,wBAAwB,CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,QAAQ,GAA4B;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,gCAAgC;QACrE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACpC,CAAC;IACF,OAAO,wBAAwB,CAAC;QAC9B,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAClD,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Contracts for the in-browser agent chat harness.
3
+ *
4
+ * `CompleteFn` carries the Anthropic Messages API subset the loop uses —
5
+ * the host's backend proxy forwards it into `client.messages.create` (adding
6
+ * model + key server-side) and returns `{ content, stop_reason }`. The
7
+ * library and the browser never see an API key.
8
+ */
9
+ import type { AgentToolSchema } from '../types';
10
+ export interface AgentChatTextBlock {
11
+ type: 'text';
12
+ text: string;
13
+ }
14
+ export interface AgentChatToolUseBlock {
15
+ type: 'tool_use';
16
+ id: string;
17
+ name: string;
18
+ input: Record<string, unknown>;
19
+ }
20
+ export interface AgentChatToolResultBlock {
21
+ type: 'tool_result';
22
+ tool_use_id: string;
23
+ content: string;
24
+ is_error?: boolean;
25
+ }
26
+ export type AgentChatContentBlock = AgentChatTextBlock | AgentChatToolUseBlock | AgentChatToolResultBlock;
27
+ export interface AgentChatMessageParam {
28
+ role: 'user' | 'assistant';
29
+ content: AgentChatContentBlock[];
30
+ }
31
+ /** Anthropic's wire tool format (snake_case `input_schema`). */
32
+ export interface AgentChatTool {
33
+ name: string;
34
+ description: string;
35
+ input_schema: AgentToolSchema['inputSchema'];
36
+ }
37
+ export interface AgentChatRequest {
38
+ system: string;
39
+ messages: AgentChatMessageParam[];
40
+ tools: AgentChatTool[];
41
+ max_tokens: number;
42
+ }
43
+ export interface AgentChatResponse {
44
+ content: Array<AgentChatTextBlock | AgentChatToolUseBlock>;
45
+ stop_reason: 'end_turn' | 'tool_use' | 'max_tokens' | (string & {});
46
+ }
47
+ /**
48
+ * Host-supplied completion function — typically a fetch to the host's own
49
+ * backend proxy. Must reject (throw) on transport/HTTP failure.
50
+ */
51
+ export type CompleteFn = (req: AgentChatRequest) => Promise<AgentChatResponse>;
52
+ export interface ToolActivity {
53
+ name: string;
54
+ status: 'running' | 'ok' | 'error';
55
+ /** Short result/error preview for tooltips. */
56
+ summary: string;
57
+ }
58
+ export interface ChatMessage {
59
+ id: number;
60
+ role: 'user' | 'assistant';
61
+ text: string;
62
+ activity: ToolActivity[];
63
+ }
64
+ export interface AgentChatConfig {
65
+ complete: CompleteFn;
66
+ /** Defaults to DEFAULT_AGENT_CHAT_SYSTEM_PROMPT. */
67
+ systemPrompt?: string;
68
+ /** Max model round-trips per send(). Default 12. */
69
+ maxTurns?: number;
70
+ /** max_tokens per completion. Default 2048. */
71
+ maxTokens?: number;
72
+ /** Max wire-history entries kept (oldest dropped first). Default 40. */
73
+ maxHistory?: number;
74
+ }
75
+ /** Map the bridge catalog to Anthropic's wire tool format. Pure; no mutation. */
76
+ export declare function toAgentChatTools(schemas: readonly AgentToolSchema[]): AgentChatTool[];
77
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,qBAAqB,GACrB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;IAC3D,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACrE;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAI/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;IACnC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,aAAa,EAAE,CAMrF"}
@@ -0,0 +1,9 @@
1
+ /** Map the bridge catalog to Anthropic's wire tool format. Pure; no mutation. */
2
+ export function toAgentChatTools(schemas) {
3
+ return schemas.map((s) => ({
4
+ name: s.name,
5
+ description: s.description,
6
+ input_schema: s.inputSchema,
7
+ }));
8
+ }
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/agent/chat/types.ts"],"names":[],"mappings":"AAgGA,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,OAAmC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,WAAW;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { Node, Edge } from '../types';
2
+ export interface AgentHistoryOptions {
3
+ maxDepth?: number;
4
+ }
5
+ export type Snapshot = {
6
+ nodes: readonly Node[];
7
+ edges: readonly Edge[];
8
+ };
9
+ export type HistoryStatus = {
10
+ canUndo: boolean;
11
+ canRedo: boolean;
12
+ pastDepth: number;
13
+ futureDepth: number;
14
+ };
15
+ /**
16
+ * Per-flow snapshot-based undo/redo stack. Bridge-only — tracks mutations
17
+ * that came through bridge tool calls; user-driven changes are not captured.
18
+ */
19
+ export declare class AgentHistory {
20
+ private readonly past;
21
+ private readonly future;
22
+ private readonly maxDepth;
23
+ constructor(options?: AgentHistoryOptions);
24
+ capture(flowId: string, snapshot: Snapshot): void;
25
+ /**
26
+ * Pop up to `steps` snapshots; return the deepest popped snapshot, the
27
+ * actual number consumed (may be less than `steps` if past was shorter),
28
+ * and push intermediates onto `future`. Returns `null` when there is
29
+ * nothing to undo.
30
+ */
31
+ undo(flowId: string, steps: number, currentSnapshot: Snapshot): {
32
+ snapshot: Snapshot;
33
+ consumed: number;
34
+ } | null;
35
+ /** Inverse of undo. */
36
+ redo(flowId: string, steps: number, currentSnapshot: Snapshot): {
37
+ snapshot: Snapshot;
38
+ consumed: number;
39
+ } | null;
40
+ status(flowId: string): HistoryStatus;
41
+ clear(flowId: string): void;
42
+ /** Called when a flow unregisters. */
43
+ dropFlow(flowId: string): void;
44
+ }
45
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,GAAE,mBAAwB;IAI7C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQjD;;;;;OAKG;IACH,IAAI,CACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,QAAQ,GACxB;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAyBlD,uBAAuB;IACvB,IAAI,CACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,QAAQ,GACxB;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAwBlD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAMrC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG/B"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Per-flow snapshot-based undo/redo stack. Bridge-only — tracks mutations
3
+ * that came through bridge tool calls; user-driven changes are not captured.
4
+ */
5
+ export class AgentHistory {
6
+ constructor(options = {}) {
7
+ this.past = new Map();
8
+ this.future = new Map();
9
+ this.maxDepth = options.maxDepth ?? 100;
10
+ }
11
+ capture(flowId, snapshot) {
12
+ const stack = this.past.get(flowId) ?? [];
13
+ stack.push(snapshot);
14
+ while (stack.length > this.maxDepth)
15
+ stack.shift();
16
+ this.past.set(flowId, stack);
17
+ this.future.delete(flowId);
18
+ }
19
+ /**
20
+ * Pop up to `steps` snapshots; return the deepest popped snapshot, the
21
+ * actual number consumed (may be less than `steps` if past was shorter),
22
+ * and push intermediates onto `future`. Returns `null` when there is
23
+ * nothing to undo.
24
+ */
25
+ undo(flowId, steps, currentSnapshot) {
26
+ const past = this.past.get(flowId);
27
+ if (!past || past.length === 0)
28
+ return null;
29
+ const future = this.future.get(flowId) ?? [];
30
+ let popped = null;
31
+ let consumed = 0;
32
+ let remaining = Math.max(1, Math.floor(steps));
33
+ // Push current onto future so a redo returns here.
34
+ future.push(currentSnapshot);
35
+ while (remaining > 0 && past.length > 0) {
36
+ const next = past.pop();
37
+ if (popped !== null)
38
+ future.push(popped);
39
+ popped = next;
40
+ consumed++;
41
+ remaining--;
42
+ }
43
+ if (popped === null) {
44
+ future.pop();
45
+ }
46
+ this.past.set(flowId, past);
47
+ this.future.set(flowId, future);
48
+ return popped ? { snapshot: popped, consumed } : null;
49
+ }
50
+ /** Inverse of undo. */
51
+ redo(flowId, steps, currentSnapshot) {
52
+ const future = this.future.get(flowId);
53
+ if (!future || future.length === 0)
54
+ return null;
55
+ const past = this.past.get(flowId) ?? [];
56
+ let target = null;
57
+ let consumed = 0;
58
+ let remaining = Math.max(1, Math.floor(steps));
59
+ past.push(currentSnapshot);
60
+ while (remaining > 0 && future.length > 0) {
61
+ const next = future.pop();
62
+ if (target !== null)
63
+ past.push(target);
64
+ target = next;
65
+ consumed++;
66
+ remaining--;
67
+ }
68
+ if (target === null) {
69
+ past.pop();
70
+ }
71
+ this.past.set(flowId, past);
72
+ this.future.set(flowId, future);
73
+ return target ? { snapshot: target, consumed } : null;
74
+ }
75
+ status(flowId) {
76
+ const past = this.past.get(flowId)?.length ?? 0;
77
+ const future = this.future.get(flowId)?.length ?? 0;
78
+ return { canUndo: past > 0, canRedo: future > 0, pastDepth: past, futureDepth: future };
79
+ }
80
+ clear(flowId) {
81
+ this.past.delete(flowId);
82
+ this.future.delete(flowId);
83
+ }
84
+ /** Called when a flow unregisters. */
85
+ dropFlow(flowId) {
86
+ this.clear(flowId);
87
+ }
88
+ }
89
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/lib/agent/history.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  export { AngflowAgentBridge } from './agent-bridge.service';
2
- export { provideAgentBridge, type AgentBridgeConfig } from './provide-agent-bridge';
2
+ export { provideAgentBridge, type AgentBridgeConfig, type AgentBridgeErrorContext } from './provide-agent-bridge';
3
+ export type { AgentHistoryOptions } from './history';
3
4
  export { AGENT_TOOL_SCHEMAS } from './tool-schemas';
4
5
  export { WindowTransport, type WindowTransportOptions } from './transports/window';
5
6
  export { WebSocketTransport, type WebSocketTransportOptions } from './transports/websocket';
6
7
  export type { AgentRequest, AgentResponse, AgentSuccessResponse, AgentErrorResponse, AgentEvent, AgentInbound, AgentOutbound, AgentTransport, AgentToolSchema, } from './types';
8
+ export * from './chat';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAClH,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,cAAc,QAAQ,CAAC"}
@@ -3,4 +3,5 @@ export { provideAgentBridge } from './provide-agent-bridge';
3
3
  export { AGENT_TOOL_SCHEMAS } from './tool-schemas';
4
4
  export { WindowTransport } from './transports/window';
5
5
  export { WebSocketTransport } from './transports/websocket';
6
+ export * from './chat';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAA0B,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAA+B,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAwD,MAAM,wBAAwB,CAAC;AAElH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAA+B,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wBAAwB,CAAC;AAY5F,cAAc,QAAQ,CAAC"}
@@ -1,8 +1,36 @@
1
1
  import { type EnvironmentProviders } from '@angular/core';
2
+ import type { AgentHistoryOptions } from './history';
2
3
  import type { AgentTransport } from './types';
4
+ import type { AgentLayoutFn } from '../types/node-template';
5
+ export type AgentBridgeErrorContext = {
6
+ kind: 'transport-start';
7
+ transport: AgentTransport;
8
+ } | {
9
+ kind: 'transport-send';
10
+ transport: AgentTransport;
11
+ } | {
12
+ kind: 'dispatch';
13
+ method: string;
14
+ };
3
15
  export interface AgentBridgeConfig {
4
16
  /** Transports the bridge should attach to. Order doesn't matter. */
5
17
  transports: AgentTransport[];
18
+ /** History config. Pass `false` to disable undo/redo entirely. Default: { maxDepth: 100 }. */
19
+ history?: AgentHistoryOptions | false;
20
+ /**
21
+ * Optional callback for surfacing transport / dispatch errors that the
22
+ * bridge would otherwise swallow (a transport whose `start()` rejects, a
23
+ * `send()` that throws, etc.). The bridge keeps running regardless; use
24
+ * this to log or report.
25
+ */
26
+ onError?: (err: unknown, ctx: AgentBridgeErrorContext) => void;
27
+ /**
28
+ * Optional layout function backing the `layout_nodes` tool. Import the
29
+ * turnkey dagre adapter from `@angflow/angular/layout`, or supply your own.
30
+ * When omitted, `layout_nodes` fails with a "no layout function configured"
31
+ * error.
32
+ */
33
+ layout?: AgentLayoutFn;
6
34
  }
7
35
  /**
8
36
  * Register the agent bridge for an Angular app. Add to your `appConfig`
@@ -1 +1 @@
1
- {"version":3,"file":"provide-agent-bridge.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/provide-agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAA4B,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAIlF"}
1
+ {"version":3,"file":"provide-agent-bridge.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/provide-agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAA4B,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,8FAA8F;IAC9F,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC/D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAUlF"}
@@ -1,5 +1,5 @@
1
1
  import { makeEnvironmentProviders } from '@angular/core';
2
- import { AGENT_TRANSPORTS } from './agent-bridge.service';
2
+ import { AGENT_HISTORY_OPTIONS, AGENT_LAYOUT, AGENT_ON_ERROR, AGENT_TRANSPORTS } from './agent-bridge.service';
3
3
  /**
4
4
  * Register the agent bridge for an Angular app. Add to your `appConfig`
5
5
  * providers alongside `provideRouter` etc., then attach `<ng-flow>`
@@ -22,6 +22,12 @@ import { AGENT_TRANSPORTS } from './agent-bridge.service';
22
22
  export function provideAgentBridge(config) {
23
23
  return makeEnvironmentProviders([
24
24
  { provide: AGENT_TRANSPORTS, useValue: config.transports },
25
+ {
26
+ provide: AGENT_HISTORY_OPTIONS,
27
+ useValue: config.history ?? { maxDepth: 100 },
28
+ },
29
+ ...(config.onError ? [{ provide: AGENT_ON_ERROR, useValue: config.onError }] : []),
30
+ ...(config.layout ? [{ provide: AGENT_LAYOUT, useValue: config.layout }] : []),
25
31
  ]);
26
32
  }
27
33
  //# sourceMappingURL=provide-agent-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provide-agent-bridge.js","sourceRoot":"","sources":["../../../../src/lib/agent/provide-agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,OAAO,wBAAwB,CAAC;QAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;KAC3D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"provide-agent-bridge.js","sourceRoot":"","sources":["../../../../src/lib/agent/provide-agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA+B/G;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,OAAO,wBAAwB,CAAC;QAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;QAC1D;YACE,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;SAC9C;QACD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAsO/C,CAAC"}
1
+ {"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../../../src/lib/agent/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAkxB/C,CAAC"}