donobu 2.21.0 → 2.23.0

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 (159) hide show
  1. package/dist/apis/FlowsApi.js +2 -2
  2. package/dist/apis/FlowsApi.js.map +1 -1
  3. package/dist/apis/ToolsApi.js +2 -5
  4. package/dist/apis/ToolsApi.js.map +1 -1
  5. package/dist/assets/control-panel.js +254 -125
  6. package/dist/assets/generated/version +1 -1
  7. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  8. package/dist/bindings/PageInteractionTracker.js +17 -12
  9. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  10. package/dist/bindings/ProposeToolCall.d.ts.map +1 -1
  11. package/dist/bindings/ProposeToolCall.js +6 -1
  12. package/dist/bindings/ProposeToolCall.js.map +1 -1
  13. package/dist/bindings/SetDonobuAnnotations.d.ts +21 -0
  14. package/dist/bindings/SetDonobuAnnotations.d.ts.map +1 -0
  15. package/dist/bindings/SetDonobuAnnotations.js +56 -0
  16. package/dist/bindings/SetDonobuAnnotations.js.map +1 -0
  17. package/dist/esm/apis/FlowsApi.js +2 -2
  18. package/dist/esm/apis/FlowsApi.js.map +1 -1
  19. package/dist/esm/apis/ToolsApi.js +2 -5
  20. package/dist/esm/apis/ToolsApi.js.map +1 -1
  21. package/dist/esm/assets/control-panel.js +254 -125
  22. package/dist/esm/assets/generated/version +1 -1
  23. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  24. package/dist/esm/bindings/PageInteractionTracker.js +17 -12
  25. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  26. package/dist/esm/bindings/ProposeToolCall.d.ts.map +1 -1
  27. package/dist/esm/bindings/ProposeToolCall.js +6 -1
  28. package/dist/esm/bindings/ProposeToolCall.js.map +1 -1
  29. package/dist/esm/bindings/SetDonobuAnnotations.d.ts +21 -0
  30. package/dist/esm/bindings/SetDonobuAnnotations.d.ts.map +1 -0
  31. package/dist/esm/bindings/SetDonobuAnnotations.js +56 -0
  32. package/dist/esm/bindings/SetDonobuAnnotations.js.map +1 -0
  33. package/dist/esm/lib/DonobuExtendedPage.d.ts +12 -0
  34. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  35. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  36. package/dist/esm/lib/testExtension.js +54 -2
  37. package/dist/esm/lib/testExtension.js.map +1 -1
  38. package/dist/esm/managers/ControlPanel.d.ts +4 -1
  39. package/dist/esm/managers/ControlPanel.d.ts.map +1 -1
  40. package/dist/esm/managers/ControlPanel.js +18 -11
  41. package/dist/esm/managers/ControlPanel.js.map +1 -1
  42. package/dist/esm/managers/DonobuFlow.d.ts +2 -2
  43. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  44. package/dist/esm/managers/DonobuFlow.js +177 -95
  45. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  46. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  47. package/dist/esm/managers/DonobuFlowsManager.js +9 -4
  48. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  49. package/dist/esm/managers/InteractionVisualizer.d.ts +2 -0
  50. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  51. package/dist/esm/managers/InteractionVisualizer.js +69 -17
  52. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  53. package/dist/esm/managers/PageInspector.d.ts +26 -2
  54. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  55. package/dist/esm/managers/PageInspector.js +115 -4
  56. package/dist/esm/managers/PageInspector.js.map +1 -1
  57. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  58. package/dist/esm/managers/ToolManager.js +6 -5
  59. package/dist/esm/managers/ToolManager.js.map +1 -1
  60. package/dist/esm/models/FlowMetadata.d.ts +0 -2
  61. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  62. package/dist/esm/models/FlowMetadata.js +12 -7
  63. package/dist/esm/models/FlowMetadata.js.map +1 -1
  64. package/dist/esm/models/InteractableElement.d.ts +16 -10
  65. package/dist/esm/models/InteractableElement.d.ts.map +1 -1
  66. package/dist/esm/models/InteractableElement.js +20 -0
  67. package/dist/esm/models/InteractableElement.js.map +1 -1
  68. package/dist/esm/tools/AcknowledgeUserInstruction.d.ts +35 -0
  69. package/dist/esm/tools/AcknowledgeUserInstruction.d.ts.map +1 -0
  70. package/dist/esm/tools/AcknowledgeUserInstruction.js +40 -0
  71. package/dist/esm/tools/AcknowledgeUserInstruction.js.map +1 -0
  72. package/dist/esm/tools/ChooseSelectOptionTool.js +1 -1
  73. package/dist/esm/tools/ChooseSelectOptionTool.js.map +1 -1
  74. package/dist/esm/tools/ClickTool.js +2 -2
  75. package/dist/esm/tools/ClickTool.js.map +1 -1
  76. package/dist/esm/tools/DownloadPdfTool.js +1 -1
  77. package/dist/esm/tools/DownloadPdfTool.js.map +1 -1
  78. package/dist/esm/tools/HoverOverElementTool.js +1 -1
  79. package/dist/esm/tools/HoverOverElementTool.js.map +1 -1
  80. package/dist/esm/tools/InputRandomizedEmailAddressTool.js +1 -1
  81. package/dist/esm/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  82. package/dist/esm/tools/InputTextTool.js +1 -1
  83. package/dist/esm/tools/InputTextTool.js.map +1 -1
  84. package/dist/esm/tools/PressKeyTool.js +1 -1
  85. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  86. package/dist/esm/tools/ReplayableInteraction.d.ts +3 -1
  87. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  88. package/dist/esm/tools/ReplayableInteraction.js +19 -5
  89. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  90. package/dist/esm/tools/SolveMfaChallenge.js +1 -1
  91. package/dist/esm/tools/SolveMfaChallenge.js.map +1 -1
  92. package/dist/esm/utils/PlaywrightUtils.d.ts +1 -2
  93. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  94. package/dist/esm/utils/PlaywrightUtils.js +1 -2
  95. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  96. package/dist/lib/DonobuExtendedPage.d.ts +12 -0
  97. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  98. package/dist/lib/testExtension.d.ts.map +1 -1
  99. package/dist/lib/testExtension.js +54 -2
  100. package/dist/lib/testExtension.js.map +1 -1
  101. package/dist/managers/ControlPanel.d.ts +4 -1
  102. package/dist/managers/ControlPanel.d.ts.map +1 -1
  103. package/dist/managers/ControlPanel.js +18 -11
  104. package/dist/managers/ControlPanel.js.map +1 -1
  105. package/dist/managers/DonobuFlow.d.ts +2 -2
  106. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  107. package/dist/managers/DonobuFlow.js +177 -95
  108. package/dist/managers/DonobuFlow.js.map +1 -1
  109. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  110. package/dist/managers/DonobuFlowsManager.js +9 -4
  111. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  112. package/dist/managers/InteractionVisualizer.d.ts +2 -0
  113. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  114. package/dist/managers/InteractionVisualizer.js +69 -17
  115. package/dist/managers/InteractionVisualizer.js.map +1 -1
  116. package/dist/managers/PageInspector.d.ts +26 -2
  117. package/dist/managers/PageInspector.d.ts.map +1 -1
  118. package/dist/managers/PageInspector.js +115 -4
  119. package/dist/managers/PageInspector.js.map +1 -1
  120. package/dist/managers/ToolManager.d.ts.map +1 -1
  121. package/dist/managers/ToolManager.js +6 -5
  122. package/dist/managers/ToolManager.js.map +1 -1
  123. package/dist/models/FlowMetadata.d.ts +0 -2
  124. package/dist/models/FlowMetadata.d.ts.map +1 -1
  125. package/dist/models/FlowMetadata.js +12 -7
  126. package/dist/models/FlowMetadata.js.map +1 -1
  127. package/dist/models/InteractableElement.d.ts +16 -10
  128. package/dist/models/InteractableElement.d.ts.map +1 -1
  129. package/dist/models/InteractableElement.js +20 -0
  130. package/dist/models/InteractableElement.js.map +1 -1
  131. package/dist/tools/AcknowledgeUserInstruction.d.ts +35 -0
  132. package/dist/tools/AcknowledgeUserInstruction.d.ts.map +1 -0
  133. package/dist/tools/AcknowledgeUserInstruction.js +40 -0
  134. package/dist/tools/AcknowledgeUserInstruction.js.map +1 -0
  135. package/dist/tools/ChooseSelectOptionTool.js +1 -1
  136. package/dist/tools/ChooseSelectOptionTool.js.map +1 -1
  137. package/dist/tools/ClickTool.js +2 -2
  138. package/dist/tools/ClickTool.js.map +1 -1
  139. package/dist/tools/DownloadPdfTool.js +1 -1
  140. package/dist/tools/DownloadPdfTool.js.map +1 -1
  141. package/dist/tools/HoverOverElementTool.js +1 -1
  142. package/dist/tools/HoverOverElementTool.js.map +1 -1
  143. package/dist/tools/InputRandomizedEmailAddressTool.js +1 -1
  144. package/dist/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  145. package/dist/tools/InputTextTool.js +1 -1
  146. package/dist/tools/InputTextTool.js.map +1 -1
  147. package/dist/tools/PressKeyTool.js +1 -1
  148. package/dist/tools/PressKeyTool.js.map +1 -1
  149. package/dist/tools/ReplayableInteraction.d.ts +3 -1
  150. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  151. package/dist/tools/ReplayableInteraction.js +19 -5
  152. package/dist/tools/ReplayableInteraction.js.map +1 -1
  153. package/dist/tools/SolveMfaChallenge.js +1 -1
  154. package/dist/tools/SolveMfaChallenge.js.map +1 -1
  155. package/dist/utils/PlaywrightUtils.d.ts +1 -2
  156. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  157. package/dist/utils/PlaywrightUtils.js +1 -2
  158. package/dist/utils/PlaywrightUtils.js.map +1 -1
  159. package/package.json +1 -1
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetDonobuAnnotations = void 0;
4
+ const JsonUtils_1 = require("../utils/JsonUtils");
5
+ const zod_1 = require("zod");
6
+ /**
7
+ * A binding that sets or unsets the annotations on the page executing this callback.
8
+ * This is used for debugging purposes to show the interactable elements on the page
9
+ * as understood by the Donobu engine.
10
+ */
11
+ class SetDonobuAnnotations {
12
+ static async register(pageInspector, browserContext) {
13
+ const instance = new SetDonobuAnnotations(pageInspector);
14
+ try {
15
+ await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
16
+ }
17
+ catch (_error) {
18
+ // This means the binding has already been registered.
19
+ }
20
+ return instance;
21
+ }
22
+ constructor(pageInspector) {
23
+ this.pageInspector = pageInspector;
24
+ }
25
+ name() {
26
+ return SetDonobuAnnotations.NAME;
27
+ }
28
+ async call(source, ...args) {
29
+ let isToggled;
30
+ try {
31
+ isToggled = zod_1.z.boolean().parse(args[0]);
32
+ }
33
+ catch (error) {
34
+ await source.page.evaluate((message) => {
35
+ console.error(message);
36
+ }, `First argument must be a boolean value: ${error.message}`);
37
+ return;
38
+ }
39
+ if (isToggled) {
40
+ await this.pageInspector.attributeInteractableElements(source.page);
41
+ await this.pageInspector.annotateInteractableElements(source.page);
42
+ const elements = await this.pageInspector.getAttributedInteractableElements(source.page);
43
+ const message = JSON.stringify(JsonUtils_1.JsonUtils.objectToJson(elements), null, 2);
44
+ await source.page.evaluate((message) => {
45
+ console.info(message);
46
+ }, message);
47
+ }
48
+ else {
49
+ await this.pageInspector.removeDonobuAnnotations(source.page);
50
+ }
51
+ return;
52
+ }
53
+ }
54
+ exports.SetDonobuAnnotations = SetDonobuAnnotations;
55
+ SetDonobuAnnotations.NAME = '__donobuSetAnnotations';
56
+ //# sourceMappingURL=SetDonobuAnnotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetDonobuAnnotations.js","sourceRoot":"","sources":["../../src/bindings/SetDonobuAnnotations.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAG/C,6BAAkC;AAElC;;;;GAIG;AACH,MAAa,oBAAoB;IAGxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC1B,aAA4B,EAC5B,cAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,aAAa,CAChC,QAAQ,CAAC,IAAI,EAAE,EACf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,sDAAsD;QACxD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAoC,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,IAAI;QACT,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,MAA6D,EAC7D,GAAG,IAAW;QAEd,IAAI,SAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,SAAS,GAAG,OAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CACxB,CAAC,OAAO,EAAE,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,EACD,2CAA4C,KAAkB,CAAC,OAAO,EAAE,CACzE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;IACT,CAAC;;AA3DH,oDA4DC;AA3DwB,yBAAI,GAAG,wBAAwB,CAAC"}
@@ -185,11 +185,11 @@ class FlowsApi {
185
185
  throw new InvalidParamValueException_1.InvalidParamValueException('startedBefore', '' + req.query.startedBefore);
186
186
  }
187
187
  // Validate that runMode is a valid enum value.
188
- if (query.runMode && !FlowMetadata_1.RunModes.includes(query.runMode)) {
188
+ if (query.runMode && !FlowMetadata_1.RunModeSchema.options.includes(query.runMode)) {
189
189
  throw new InvalidParamValueException_1.InvalidParamValueException('runMode', query.runMode);
190
190
  }
191
191
  // Validate that state is a valid enum value.
192
- if (query.state && !FlowMetadata_1.States.includes(query.state)) {
192
+ if (query.state && !FlowMetadata_1.StateSchema.options.includes(query.state)) {
193
193
  throw new InvalidParamValueException_1.InvalidParamValueException('state', query.state);
194
194
  }
195
195
  const flows = await this.donobuFlowsManager.getFlows(query);
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsApi.js","sourceRoot":"","sources":["../../../src/apis/FlowsApi.ts"],"names":[],"mappings":";;;AAEA,iEAAoE;AACpE,yDAMgC;AAEhC,yFAAsF;AACtF,6BAAwB;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,QAAQ;IACnB,YAAoC,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAE9E;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACI,KAAK,CAAC,iBAAiB,CAAC,GAAY,EAAE,GAAa;QACxD,MAAM,UAAU,GAAG,OAAC;aACjB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;aACxC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CACvE,UAAU,CAAC,OAAO,CACnB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,cAAc,CAAC,GAAY,EAAE,GAAa;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QAC/C,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAA+B;YACpD,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAA2B,CAAC;YAC7D,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAA0B;YAC1C,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAA8B;YACjD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAA0B;YAC3C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY;gBAClC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAsB,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;gBACpC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAuB,CAAC;gBAC7C,CAAC,CAAC,SAAS;SACO,CAAC;QAEvB,iCAAiC;QACjC,IACE,GAAG,CAAC,KAAK,CAAC,YAAY;YACtB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,uDAA0B,CAClC,cAAc,EACd,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAC5B,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IACE,GAAG,CAAC,KAAK,CAAC,aAAa;YACvB,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAC1B,CAAC;YACD,MAAM,IAAI,uDAA0B,CAClC,eAAe,EACf,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,uBAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,uDAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,6CAA6C;QAC7C,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,qBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,uDAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,UAAU,GAAG,yCAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAChE,UAAU,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACvD,MAAM,EACN,UAAU,CAAC,IAAI,CAChB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,KAAK,CAAC,eAAe,CAAC,GAAY,EAAE,GAAa;QACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;QACvC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACK,UAAU,CAAC,KAAyB;QAC1C,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA7YD,4BA6YC"}
1
+ {"version":3,"file":"FlowsApi.js","sourceRoot":"","sources":["../../../src/apis/FlowsApi.ts"],"names":[],"mappings":";;;AAEA,iEAAoE;AACpE,yDAMgC;AAEhC,yFAAsF;AACtF,6BAAwB;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,QAAQ;IACnB,YAAoC,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAE9E;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACI,KAAK,CAAC,iBAAiB,CAAC,GAAY,EAAE,GAAa;QACxD,MAAM,UAAU,GAAG,OAAC;aACjB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;aACxC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CACvE,UAAU,CAAC,OAAO,CACnB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,cAAc,CAAC,GAAY,EAAE,GAAa;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QAC/C,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAA+B;YACpD,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAA2B,CAAC;YAC7D,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAA0B;YAC1C,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAA8B;YACjD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAA0B;YAC3C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY;gBAClC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAsB,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;gBACpC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAuB,CAAC;gBAC7C,CAAC,CAAC,SAAS;SACO,CAAC;QAEvB,iCAAiC;QACjC,IACE,GAAG,CAAC,KAAK,CAAC,YAAY;YACtB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,uDAA0B,CAClC,cAAc,EACd,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAC5B,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IACE,GAAG,CAAC,KAAK,CAAC,aAAa;YACvB,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAC1B,CAAC;YACD,MAAM,IAAI,uDAA0B,CAClC,eAAe,EACf,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,4BAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,uDAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,6CAA6C;QAC7C,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,0BAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,uDAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,UAAU,GAAG,yCAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAChE,UAAU,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACvD,MAAM,EACN,UAAU,CAAC,IAAI,CAChB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,KAAK,CAAC,eAAe,CAAC,GAAY,EAAE,GAAa;QACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;QACvC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACK,UAAU,CAAC,KAAyB;QAC1C,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA7YD,4BA6YC"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ToolsApi = void 0;
7
- const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
4
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
8
5
  /**
9
6
  * This class reports a subset of Tools supported, to the frontend. This is a subset of all
10
7
  * supported tool calls.
@@ -20,7 +17,7 @@ class ToolsApi {
20
17
  const response = this.reportedSupportedTools.map((tool) => ({
21
18
  name: tool.name,
22
19
  description: tool.description,
23
- inputSchema: (0, zod_to_json_schema_1.default)(tool.inputSchema, {
20
+ inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(tool.inputSchema, {
24
21
  target: 'jsonSchema7',
25
22
  $refStrategy: 'none',
26
23
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ToolsApi.js","sourceRoot":"","sources":["../../../src/apis/ToolsApi.ts"],"names":[],"mappings":";;;;;;AAIA,4EAAiD;AASjD;;;GAGG;AACH,MAAa,QAAQ;IACnB,YACmB,sBAGd;QAHc,2BAAsB,GAAtB,sBAAsB,CAGpC;IACF,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,IAAa,EAAE,GAAa;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC9C,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;YACC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAA,4BAAe,EAAC,IAAI,CAAC,WAAW,EAAE;gBAC7C,MAAM,EAAE,aAAa;gBACrB,YAAY,EAAE,MAAM;aACrB,CAAgB;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAyB,CAC7B,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AA3BD,4BA2BC"}
1
+ {"version":3,"file":"ToolsApi.js","sourceRoot":"","sources":["../../../src/apis/ToolsApi.ts"],"names":[],"mappings":";;;AAIA,2DAAqD;AASrD;;;GAGG;AACH,MAAa,QAAQ;IACnB,YACmB,sBAGd;QAHc,2BAAsB,GAAtB,sBAAsB,CAGpC;IACF,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,IAAa,EAAE,GAAa;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC9C,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;YACC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAA,oCAAe,EAAC,IAAI,CAAC,WAAW,EAAE;gBAC7C,MAAM,EAAE,aAAa;gBACrB,YAAY,EAAE,MAAM;aACrB,CAAgB;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAyB,CAC7B,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AA3BD,4BA2BC"}
@@ -10,6 +10,15 @@
10
10
  });
11
11
  }
12
12
 
13
+ if (!window.__donobu.userMessage) {
14
+ Object.defineProperty(window.__donobu, 'userMessage', {
15
+ value: null,
16
+ enumerable: false,
17
+ writable: true,
18
+ configurable: false,
19
+ });
20
+ }
21
+
13
22
  if (!window.__donobu.controlPanelRegistered) {
14
23
  Object.defineProperty(window.__donobu, 'controlPanelRegistered', {
15
24
  value: true,
@@ -79,104 +88,142 @@
79
88
  // Global styles
80
89
  const styleEl = document.createElement('style');
81
90
  styleEl.textContent = `
82
- :host {
83
- all: initial;
84
- position: fixed;
85
- top: 150px;
86
- right: 20px;
87
- z-index: 2147483647;
88
- width: 300px;
89
- }
90
-
91
- #panel-content,
92
- #panel-content * {
93
- box-sizing: border-box;
94
- margin: 0;
95
- padding: 0;
96
- font-family: Helvetica, Arial, sans-serif;
97
- font-size: 14px;
98
- color: #fff !important;
99
- }
100
-
101
- #donobu-control-panel-title-text {
102
- font-weight: 600 !important;
103
- margin-left: 10px;
104
- }
105
-
106
- #panel-content input[type="text"] {
107
- border: 1px solid #ddd !important;
108
- background-color: #fff !important;
109
- color: #000 !important;
110
- }
111
-
112
- #donobu-play-icon,
113
- #donobu-pause-icon,
114
- #donobu-end-icon {
115
- fill: none !important;
116
- stroke: currentColor !important;
117
- stroke-width: 2 !important;
118
- stroke-linecap: round !important;
119
- stroke-linejoin: round !important;
120
- }
91
+ :host {
92
+ all: initial;
93
+ position: fixed;
94
+ top: 150px;
95
+ right: 20px;
96
+ z-index: 2147483647;
97
+ width: 300px;
98
+ }
99
+
100
+ #panel-content,
101
+ #panel-content * {
102
+ box-sizing: border-box;
103
+ margin: 0;
104
+ padding: 0;
105
+ font-family: Helvetica, Arial, sans-serif;
106
+ font-size: 14px;
107
+ color: #fff !important;
108
+ }
109
+
110
+ #donobu-control-panel-title-text {
111
+ font-weight: 600 !important;
112
+ margin-left: 10px;
113
+ }
114
+
115
+ #panel-content input[type="text"] {
116
+ border: 1px solid #ddd !important;
117
+ background-color: #fff !important;
118
+ color: #000 !important;
119
+ }
120
+
121
+ #donobu-play-icon,
122
+ #donobu-pause-icon,
123
+ #donobu-end-icon {
124
+ fill: none !important;
125
+ stroke: currentColor !important;
126
+ stroke-width: 2 !important;
127
+ stroke-linecap: round !important;
128
+ stroke-linejoin: round !important;
129
+ }
130
+
131
+ #panel-content {
132
+ background-color: rgba(6,8,7,0.9);
133
+ border: 3px solid rgba(251,188,5, 0.9);
134
+ border-radius: 8px;
135
+ box-shadow: 0 4px 8px rgba(0,0,0,0.8);
136
+ cursor: move;
137
+ width: 100%;
138
+ overflow: hidden;
139
+ /* Add smooth transition for height changes */
140
+ transition: all 0.3s ease-in-out;
141
+ }
142
+
143
+ .donobu-hidden {
144
+ opacity: 0 !important;
145
+ pointer-events: none !important;
146
+ }
147
+
148
+ /* Enhanced expandable content with smooth animations */
149
+ #donobu-control-panel-expandable-content {
150
+ padding: 0 15px; /* Remove top/bottom padding initially */
151
+ max-height: 0;
152
+ overflow: hidden;
153
+ opacity: 0;
154
+ /* Smooth transitions for max-height, opacity, and padding */
155
+ transition: max-height 0.3s ease-in-out,
156
+ opacity 0.3s ease-in-out,
157
+ padding 0.3s ease-in-out;
158
+ }
159
+
160
+ /* When expanded */
161
+ #donobu-control-panel-expandable-content.expanded {
162
+ max-height: 300px; /* Adjust based on your content */
163
+ opacity: 1;
164
+ padding: 15px; /* Full padding when expanded */
165
+ }
166
+
167
+ .navbar {
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: space-between;
171
+ padding: 15px;
172
+ font-weight: 600;
173
+ background-color: rgba(6,8,7,0.9);
174
+ border-bottom: 1px solid rgba(251,188,5, 0.5);
175
+ }
176
+
177
+ .icon-btn {
178
+ margin-right: 8px;
179
+ display: flex;
180
+ cursor: pointer;
181
+ opacity: 0.5;
182
+ transition: opacity 0.2s ease-in-out;
183
+ }
184
+
185
+ #panel-content textarea {
186
+ border: 1px solid #ddd !important;
187
+ background-color: #fff !important;
188
+ color: #000 !important;
189
+ }
190
+
191
+ #panel-content textarea::placeholder {
192
+ color: #666 !important;
193
+ opacity: 1 !important;
194
+ }
195
+
196
+ .icon-container {
197
+ display: flex;
198
+ align-items: center;
199
+ margin-right: 5px;
200
+ }
201
+
202
+ /* Smooth transition for user message section */
203
+ #donobu-user-message-section {
204
+ margin-bottom: 10px;
205
+ opacity: 0;
206
+ transform: translateY(-10px);
207
+ transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
208
+ }
209
+
210
+ #donobu-user-message-section.visible {
211
+ opacity: 1;
212
+ transform: translateY(0);
213
+ }
214
+
215
+ /* Enhanced textarea with smooth focus transitions */
216
+ #donobu-user-message-input {
217
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
218
+ }
219
+
220
+ #donobu-user-message-input:focus {
221
+ border-color: rgba(251,188,5, 0.8) !important;
222
+ box-shadow: 0 0 0 2px rgba(251,188,5, 0.2) !important;
223
+ outline: none !important;
224
+ }
225
+ `;
121
226
 
122
- #donobu-control-panel-display-area {
123
- color: #fff !important;
124
- margin-top: 10px;
125
- }
126
-
127
- #panel-content {
128
- background-color: rgba(6,8,7,0.9);
129
- border: 3px solid rgba(251,188,5, 0.9);
130
- border-radius: 8px;
131
- box-shadow: 0 4px 8px rgba(0,0,0,0.8);
132
- transition: height 0.3s ease;
133
- cursor: move;
134
- width: 100%;
135
- overflow: hidden;
136
- }
137
- .donobu-hidden {
138
- opacity: 0 !important;
139
- pointer-events: none !important;
140
- }
141
- #donobu-control-panel-expandable-content {
142
- display: none;
143
- padding: 15px;
144
- max-height: 300px;
145
- overflow-y: auto;
146
- }
147
-
148
- .navbar {
149
- display: flex;
150
- align-items: center;
151
- justify-content: space-between;
152
- padding: 15px;
153
- font-weight: 600;
154
- background-color: rgba(6,8,7,0.9);
155
- border-bottom: 1px solid rgba(251,188,5, 0.5);
156
- }
157
-
158
- .icon-btn {
159
- margin-right: 8px;
160
- display: flex;
161
- cursor: pointer;
162
- opacity: 0.5;
163
- transition: opacity 0.2s ease-in-out;
164
- }
165
-
166
- #donobu-instructions-input {
167
- width: 100%;
168
- margin-bottom: 10px;
169
- padding: 8px;
170
- border: 1px solid #ddd;
171
- border-radius: 4px;
172
- }
173
-
174
- .icon-container {
175
- display: flex;
176
- align-items: center;
177
- margin-right: 5px;
178
- }
179
- `;
180
227
  shadow.appendChild(styleEl);
181
228
 
182
229
  // Main panel container
@@ -270,15 +317,28 @@
270
317
  // Expandable content
271
318
  const expandableContent = document.createElement('div');
272
319
  expandableContent.id = 'donobu-control-panel-expandable-content';
273
- const instructionsInput = document.createElement('input');
274
- instructionsInput.type = 'text';
275
- instructionsInput.id = 'donobu-instructions-input';
276
- instructionsInput.placeholder = 'Additional instructions...';
277
- const displayArea = document.createElement('div');
278
- displayArea.id = 'donobu-control-panel-display-area';
279
- displayArea.textContent = 'Popup: Monitoring...';
280
- expandableContent.appendChild(instructionsInput);
281
- expandableContent.appendChild(displayArea);
320
+
321
+ // User message input section (initially hidden)
322
+ const userMessageSection = document.createElement('div');
323
+ userMessageSection.id = 'donobu-user-message-section';
324
+ userMessageSection.style.display = 'none';
325
+ userMessageSection.style.marginBottom = '10px';
326
+
327
+ const userMessageInput = document.createElement('textarea');
328
+ userMessageInput.id = 'donobu-user-message-input';
329
+ userMessageInput.placeholder =
330
+ 'Additional instructions...\n(Press Enter or Resume to submit)';
331
+ userMessageInput.style.width = '100%';
332
+ userMessageInput.style.height = '60px';
333
+ userMessageInput.style.padding = '8px';
334
+ userMessageInput.style.border = '1px solid #ddd';
335
+ userMessageInput.style.borderRadius = '4px';
336
+ userMessageInput.style.resize = 'vertical';
337
+ userMessageInput.style.fontFamily = 'inherit';
338
+ userMessageInput.style.fontSize = '12px';
339
+
340
+ userMessageSection.appendChild(userMessageInput);
341
+ expandableContent.appendChild(userMessageSection);
282
342
 
283
343
  // Attach everything
284
344
  panelContent.appendChild(navbar);
@@ -297,12 +357,84 @@
297
357
  btn.style.cursor = active ? 'pointer' : 'default';
298
358
  }
299
359
 
360
+ // Helper function to handle resume logic (shared by play button and Enter key)
361
+ function handleResume() {
362
+ if (hostEl.donobuFlowState === 'PAUSED' && !isTransitioningToEnd) {
363
+ // Capture the user message if present
364
+ const userMessageInput = shadow.getElementById(
365
+ 'donobu-user-message-input',
366
+ );
367
+ const userMessage = userMessageInput
368
+ ? userMessageInput.value.trim()
369
+ : '';
370
+ hostEl.donobuFlowState = 'RESUMING';
371
+ isTransitioningToPause = false;
372
+ titleText.textContent = 'Resuming...';
373
+ window.__donobu.nextState = 'RESUMING';
374
+ window.__donobu.userMessage = userMessage || null;
375
+ // Clear the input after capturing
376
+ if (userMessageInput) {
377
+ userMessageInput.value = '';
378
+ }
379
+
380
+ updateButtonStates();
381
+ return true; // Indicate that resume was handled
382
+ }
383
+ return false; // Indicate that resume was not applicable
384
+ }
385
+
300
386
  function updateButtonStates() {
301
387
  if (!document.contains(hostEl)) {
302
388
  document.body.appendChild(hostEl);
303
389
  }
304
390
 
305
391
  const currentState = hostEl.donobuFlowState;
392
+ const runMode = hostEl.donobuRunMode || 'AUTONOMOUS';
393
+ const userMessageSection = shadow.getElementById(
394
+ 'donobu-user-message-section',
395
+ );
396
+
397
+ // Show user input if:
398
+ // 1. Currently paused and in autonomous mode, OR
399
+ // 2. Transitioning to pause (eager expansion)
400
+ const shouldShowUserInput =
401
+ (currentState === 'PAUSED' && runMode === 'AUTONOMOUS') ||
402
+ isTransitioningToPause;
403
+
404
+ if (userMessageSection) {
405
+ // Smooth show/hide user input section
406
+ if (shouldShowUserInput) {
407
+ // Show and expand the panel
408
+ expandableContent.classList.add('expanded');
409
+ // Small delay to ensure the expandable content animation starts first
410
+ setTimeout(() => {
411
+ userMessageSection.style.display = 'block';
412
+ // Trigger reflow, then add visible class for smooth transition
413
+ userMessageSection.offsetHeight;
414
+ userMessageSection.classList.add('visible');
415
+ // Auto-focus the textarea when it becomes visible and we're actually paused
416
+ // (not just transitioning)
417
+ if (currentState === 'PAUSED') {
418
+ const textarea = shadow.getElementById(
419
+ 'donobu-user-message-input',
420
+ );
421
+ if (textarea) {
422
+ textarea.focus();
423
+ }
424
+ }
425
+ }, 100);
426
+ } else {
427
+ // Hide user input section first
428
+ userMessageSection.classList.remove('visible');
429
+
430
+ // After the user section animation, collapse the panel
431
+ setTimeout(() => {
432
+ userMessageSection.style.display = 'none';
433
+ expandableContent.classList.remove('expanded');
434
+ }, 300); // Match the CSS transition duration
435
+ }
436
+ }
437
+
306
438
  // This block handles the visual state while waiting for the backend.
307
439
  // We check if the final state has arrived. If it has NOT, we show the
308
440
  // "transitioning" UI and then `return` to wait for the next update.
@@ -389,13 +521,7 @@
389
521
  // --- Button event listeners ---
390
522
 
391
523
  playButton.addEventListener('click', () => {
392
- if (hostEl.donobuFlowState === 'PAUSED' && !isTransitioningToEnd) {
393
- hostEl.donobuFlowState = 'RESUMING';
394
- isTransitioningToPause = false;
395
- titleText.textContent = 'Resuming...';
396
- window.__donobu.nextState = 'RESUMING';
397
- updateButtonStates();
398
- }
524
+ handleResume();
399
525
  });
400
526
 
401
527
  // PAUSE button: signals user wants to pause
@@ -404,16 +530,10 @@
404
530
  const isPauseActive = pauseButton.style.opacity === '1';
405
531
  if (isPauseActive && !isTransitioningToPause && !isTransitioningToEnd) {
406
532
  isTransitioningToPause = true;
407
-
408
- // Grab the current action's text BEFORE overwriting it.
409
- const currentActionText = titleText.textContent;
410
-
411
533
  // Provide immediate, informative feedback to the user.
412
- titleText.textContent = `Pause pending (after '${currentActionText}')`;
413
-
534
+ titleText.textContent = `Pausing...`;
414
535
  // Expose next state so external script can pick it up
415
536
  window.__donobu.nextState = 'PAUSED';
416
-
417
537
  // Manually update button states for immediate feedback
418
538
  updateButtonStates();
419
539
  }
@@ -424,18 +544,27 @@
424
544
  const isEndActive = endButton.style.opacity === '1';
425
545
  if (isEndActive && !isTransitioningToEnd) {
426
546
  isTransitioningToEnd = true;
427
-
428
- const currentActionText = titleText.textContent;
429
- titleText.textContent = `Quit pending (after '${currentActionText}')`;
430
-
547
+ titleText.textContent = `Quitting...`;
431
548
  // Expose next state
432
549
  window.__donobu.nextState = 'SUCCESS';
433
-
434
550
  // Manually update button states for immediate feedback
435
551
  updateButtonStates();
436
552
  }
437
553
  });
438
554
 
555
+ // Add Enter key listener to the textarea
556
+ userMessageInput.addEventListener('keydown', (e) => {
557
+ // Handle Enter key (but not Shift+Enter, which should create new lines)
558
+ if (e.key === 'Enter' && !e.shiftKey) {
559
+ e.preventDefault(); // Prevent default textarea behavior
560
+
561
+ // Only trigger resume if we're in a paused state
562
+ if (handleResume()) {
563
+ // Resume was successful, the handleResume function took care of everything
564
+ }
565
+ }
566
+ });
567
+
439
568
  // --- Drag-and-drop logic ---
440
569
  let isDragging = false;
441
570
  let offsetX = 0;
@@ -1 +1 @@
1
- 1243
1
+ 1253
@@ -1 +1 @@
1
- {"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAYpD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;KAC9C;CACF;AAQD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IAqC7C,OAAO,CAAC,QAAQ,CAAC,UAAU;IApC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAEjC;IAGF,gBAAuB,IAAI,8BAA8B;WAErC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA0BlC,OAAO;IAEA,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;YAoDF,cAAc;CAyD7B"}
1
+ {"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAYpD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;KAC9C;CACF;AAQD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IA2C7C,OAAO,CAAC,QAAQ,CAAC,UAAU;IA1C/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAEjC;IAGF,gBAAuB,IAAI,8BAA8B;WAErC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAgClC,OAAO;IAEA,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;YAoDF,cAAc;CAyD7B"}
@@ -18,20 +18,25 @@ const path_1 = __importDefault(require("path"));
18
18
  class PageInteractionTracker {
19
19
  static async register(donobuFlow, browserContext) {
20
20
  const instance = new PageInteractionTracker(donobuFlow);
21
- await browserContext.addInitScript(PlaywrightUtils_1.PlaywrightUtils.SMART_SELECTOR_GENERATOR_INIT_SCRIPT);
22
- browserContext.on('page', async (page) => {
23
- page.on('framenavigated', async (frame) => {
24
- try {
25
- await frame.evaluate(PageInteractionTracker.INIT_SCRIPT);
26
- }
27
- catch (error) {
28
- if (!PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
29
- Logger_1.appLogger.error('Error when evaluating PageInteractionTracker.INIT_SCRIPT', error);
21
+ try {
22
+ await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
23
+ await browserContext.addInitScript(PlaywrightUtils_1.PlaywrightUtils.SMART_SELECTOR_GENERATOR_INIT_SCRIPT);
24
+ browserContext.on('page', async (page) => {
25
+ page.on('framenavigated', async (frame) => {
26
+ try {
27
+ await frame.evaluate(PageInteractionTracker.INIT_SCRIPT);
30
28
  }
31
- }
29
+ catch (error) {
30
+ if (!PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
31
+ Logger_1.appLogger.error('Error when evaluating PageInteractionTracker.INIT_SCRIPT', error);
32
+ }
33
+ }
34
+ });
32
35
  });
33
- });
34
- await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
36
+ }
37
+ catch (_error) {
38
+ // This means the binding has already been registered.
39
+ }
35
40
  return instance;
36
41
  }
37
42
  constructor(donobuFlow) {
@@ -1 +1 @@
1
- {"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProposeToolCall.d.ts","sourceRoot":"","sources":["../../../src/bindings/ProposeToolCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IAevC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAd9C,gBAAuB,IAAI,6BAA6B;WAEpC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,eAAe,CAAC;gBASS,UAAU,EAAE,UAAU;IAEnD,IAAI,IAAI,MAAM;IAIR,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAiCjB"}
1
+ {"version":3,"file":"ProposeToolCall.d.ts","sourceRoot":"","sources":["../../../src/bindings/ProposeToolCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IAqBvC,OAAO,CAAC,QAAQ,CAAC,UAAU;IApB9C,gBAAuB,IAAI,6BAA6B;WAEpC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,eAAe,CAAC;gBAeS,UAAU,EAAE,UAAU;IAEnD,IAAI,IAAI,MAAM;IAIR,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAiCjB"}
@@ -11,7 +11,12 @@ const zod_1 = require("zod");
11
11
  class ProposeToolCall {
12
12
  static async register(donobuFlow, browserContext) {
13
13
  const instance = new ProposeToolCall(donobuFlow);
14
- await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
14
+ try {
15
+ await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
16
+ }
17
+ catch (_error) {
18
+ // This means the binding has already been registered.
19
+ }
15
20
  return instance;
16
21
  }
17
22
  constructor(donobuFlow) {