@mochabug/adapt-web 1.0.0-rc4 → 1.0.0-rc40

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 (172) hide show
  1. package/README.md +225 -0
  2. package/dist/esm/AdaptAutomationElement.js +219 -0
  3. package/dist/esm/AdaptAutomationElement.js.map +1 -0
  4. package/dist/esm/AdaptCapElement.js +148 -0
  5. package/dist/esm/AdaptCapElement.js.map +1 -0
  6. package/dist/esm/AdaptCapWidget.js +286 -0
  7. package/dist/esm/AdaptCapWidget.js.map +1 -0
  8. package/dist/esm/cap-adapter.js +147 -0
  9. package/dist/esm/cap-adapter.js.map +1 -0
  10. package/dist/esm/elements.js +5 -0
  11. package/dist/esm/elements.js.map +1 -0
  12. package/dist/esm/iframe-url.js +25 -0
  13. package/dist/esm/iframe-url.js.map +1 -0
  14. package/dist/esm/index.js +1438 -139
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/types.js +2 -0
  17. package/dist/esm/types.js.map +1 -0
  18. package/dist/types/AdaptAutomationElement.d.ts +54 -0
  19. package/dist/types/AdaptCapElement.d.ts +44 -0
  20. package/dist/types/AdaptCapWidget.d.ts +89 -0
  21. package/dist/types/cap-adapter.d.ts +34 -0
  22. package/dist/types/elements.d.ts +2 -0
  23. package/dist/types/iframe-url.d.ts +22 -0
  24. package/dist/types/index.d.ts +129 -19
  25. package/dist/types/types.d.ts +359 -0
  26. package/dist/umd/adapt-web.js +8435 -0
  27. package/dist/umd/adapt-web.min.js +528 -0
  28. package/dist/umd/cap_wasm.js +1 -0
  29. package/dist/umd/cap_wasm_bg.wasm +0 -0
  30. package/package.json +23 -40
  31. package/dist/cjs/genproto/buf/validate/validate_pb.js +0 -355
  32. package/dist/cjs/genproto/buf/validate/validate_pb.js.map +0 -1
  33. package/dist/cjs/genproto/google/api/annotations_pb.js +0 -30
  34. package/dist/cjs/genproto/google/api/annotations_pb.js.map +0 -1
  35. package/dist/cjs/genproto/google/api/client_pb.js +0 -290
  36. package/dist/cjs/genproto/google/api/client_pb.js.map +0 -1
  37. package/dist/cjs/genproto/google/api/http_pb.js +0 -37
  38. package/dist/cjs/genproto/google/api/http_pb.js.map +0 -1
  39. package/dist/cjs/genproto/google/api/launch_stage_pb.js +0 -104
  40. package/dist/cjs/genproto/google/api/launch_stage_pb.js.map +0 -1
  41. package/dist/cjs/genproto/mochabugapis/adapt/automations/v1/automations_pb.js +0 -171
  42. package/dist/cjs/genproto/mochabugapis/adapt/automations/v1/automations_pb.js.map +0 -1
  43. package/dist/cjs/genproto/mochabugapis/adapt/graph/exchange_pb.js +0 -29
  44. package/dist/cjs/genproto/mochabugapis/adapt/graph/exchange_pb.js.map +0 -1
  45. package/dist/cjs/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js +0 -28
  46. package/dist/cjs/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js.map +0 -1
  47. package/dist/cjs/genproto/mochabugapis/adapt/graph/receiver_pb.js +0 -29
  48. package/dist/cjs/genproto/mochabugapis/adapt/graph/receiver_pb.js.map +0 -1
  49. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_binding_pb.js +0 -65
  50. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_binding_pb.js.map +0 -1
  51. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_descriptor_pb.js +0 -29
  52. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_descriptor_pb.js.map +0 -1
  53. package/dist/cjs/genproto/mochabugapis/adapt/graph/transceiver_pb.js +0 -29
  54. package/dist/cjs/genproto/mochabugapis/adapt/graph/transceiver_pb.js.map +0 -1
  55. package/dist/cjs/genproto/mochabugapis/adapt/graph/transmitter_pb.js +0 -65
  56. package/dist/cjs/genproto/mochabugapis/adapt/graph/transmitter_pb.js.map +0 -1
  57. package/dist/cjs/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js +0 -31
  58. package/dist/cjs/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js.map +0 -1
  59. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/file_pb.js +0 -28
  60. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/file_pb.js.map +0 -1
  61. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js +0 -31
  62. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js.map +0 -1
  63. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js +0 -187
  64. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js.map +0 -1
  65. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js +0 -30
  66. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js.map +0 -1
  67. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js +0 -48
  68. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js.map +0 -1
  69. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js +0 -33
  70. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js.map +0 -1
  71. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js +0 -31
  72. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js.map +0 -1
  73. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js +0 -64
  74. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js.map +0 -1
  75. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js +0 -30
  76. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js.map +0 -1
  77. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js +0 -80
  78. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js.map +0 -1
  79. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.js +0 -73
  80. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.js.map +0 -1
  81. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js +0 -406
  82. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js.map +0 -1
  83. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/store_pb.js +0 -233
  84. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/store_pb.js.map +0 -1
  85. package/dist/cjs/index.js +0 -158
  86. package/dist/cjs/index.js.map +0 -1
  87. package/dist/cjs/pubsub-client.js +0 -547
  88. package/dist/cjs/pubsub-client.js.map +0 -1
  89. package/dist/esm/genproto/buf/validate/validate_pb.js +0 -352
  90. package/dist/esm/genproto/buf/validate/validate_pb.js.map +0 -1
  91. package/dist/esm/genproto/google/api/annotations_pb.js +0 -27
  92. package/dist/esm/genproto/google/api/annotations_pb.js.map +0 -1
  93. package/dist/esm/genproto/google/api/client_pb.js +0 -287
  94. package/dist/esm/genproto/google/api/client_pb.js.map +0 -1
  95. package/dist/esm/genproto/google/api/http_pb.js +0 -34
  96. package/dist/esm/genproto/google/api/http_pb.js.map +0 -1
  97. package/dist/esm/genproto/google/api/launch_stage_pb.js +0 -101
  98. package/dist/esm/genproto/google/api/launch_stage_pb.js.map +0 -1
  99. package/dist/esm/genproto/mochabugapis/adapt/automations/v1/automations_pb.js +0 -168
  100. package/dist/esm/genproto/mochabugapis/adapt/automations/v1/automations_pb.js.map +0 -1
  101. package/dist/esm/genproto/mochabugapis/adapt/graph/exchange_pb.js +0 -26
  102. package/dist/esm/genproto/mochabugapis/adapt/graph/exchange_pb.js.map +0 -1
  103. package/dist/esm/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js +0 -25
  104. package/dist/esm/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js.map +0 -1
  105. package/dist/esm/genproto/mochabugapis/adapt/graph/receiver_pb.js +0 -26
  106. package/dist/esm/genproto/mochabugapis/adapt/graph/receiver_pb.js.map +0 -1
  107. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_binding_pb.js +0 -62
  108. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_binding_pb.js.map +0 -1
  109. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_descriptor_pb.js +0 -26
  110. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_descriptor_pb.js.map +0 -1
  111. package/dist/esm/genproto/mochabugapis/adapt/graph/transceiver_pb.js +0 -26
  112. package/dist/esm/genproto/mochabugapis/adapt/graph/transceiver_pb.js.map +0 -1
  113. package/dist/esm/genproto/mochabugapis/adapt/graph/transmitter_pb.js +0 -62
  114. package/dist/esm/genproto/mochabugapis/adapt/graph/transmitter_pb.js.map +0 -1
  115. package/dist/esm/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js +0 -28
  116. package/dist/esm/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js.map +0 -1
  117. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/file_pb.js +0 -25
  118. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/file_pb.js.map +0 -1
  119. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js +0 -28
  120. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js.map +0 -1
  121. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js +0 -184
  122. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js.map +0 -1
  123. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js +0 -27
  124. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js.map +0 -1
  125. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js +0 -45
  126. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js.map +0 -1
  127. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js +0 -30
  128. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js.map +0 -1
  129. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js +0 -28
  130. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js.map +0 -1
  131. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js +0 -61
  132. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js.map +0 -1
  133. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js +0 -27
  134. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js.map +0 -1
  135. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js +0 -77
  136. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js.map +0 -1
  137. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.js +0 -70
  138. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.js.map +0 -1
  139. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js +0 -402
  140. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js.map +0 -1
  141. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/store_pb.js +0 -230
  142. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/store_pb.js.map +0 -1
  143. package/dist/esm/pubsub-client.js +0 -540
  144. package/dist/esm/pubsub-client.js.map +0 -1
  145. package/dist/types/genproto/buf/validate/validate_pb.d.ts +0 -8490
  146. package/dist/types/genproto/google/api/annotations_pb.d.ts +0 -13
  147. package/dist/types/genproto/google/api/client_pb.d.ts +0 -1431
  148. package/dist/types/genproto/google/api/http_pb.d.ts +0 -842
  149. package/dist/types/genproto/google/api/launch_stage_pb.d.ts +0 -93
  150. package/dist/types/genproto/mochabugapis/adapt/automations/v1/automations_pb.d.ts +0 -1087
  151. package/dist/types/genproto/mochabugapis/adapt/graph/exchange_pb.d.ts +0 -76
  152. package/dist/types/genproto/mochabugapis/adapt/graph/jtd_schema_pb.d.ts +0 -226
  153. package/dist/types/genproto/mochabugapis/adapt/graph/receiver_pb.d.ts +0 -68
  154. package/dist/types/genproto/mochabugapis/adapt/graph/signal_binding_pb.d.ts +0 -133
  155. package/dist/types/genproto/mochabugapis/adapt/graph/signal_descriptor_pb.d.ts +0 -90
  156. package/dist/types/genproto/mochabugapis/adapt/graph/transceiver_pb.d.ts +0 -76
  157. package/dist/types/genproto/mochabugapis/adapt/graph/transmitter_pb.d.ts +0 -119
  158. package/dist/types/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.d.ts +0 -98
  159. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/file_pb.d.ts +0 -63
  160. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.d.ts +0 -224
  161. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.d.ts +0 -720
  162. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.d.ts +0 -93
  163. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.d.ts +0 -237
  164. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.d.ts +0 -137
  165. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.d.ts +0 -117
  166. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.d.ts +0 -150
  167. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.d.ts +0 -61
  168. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts +0 -241
  169. package/dist/types/genproto/mochabugapis/adapt/runtime/v1/incoming_pb.d.ts +0 -337
  170. package/dist/types/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.d.ts +0 -2343
  171. package/dist/types/genproto/mochabugapis/adapt/runtime/v1/store_pb.d.ts +0 -949
  172. package/dist/types/pubsub-client.d.ts +0 -59
package/README.md ADDED
@@ -0,0 +1,225 @@
1
+ # @mochabug/adapt-web
2
+
3
+ Embed Adapt automations in any website.
4
+
5
+ ```bash
6
+ npm install @mochabug/adapt-web
7
+ ```
8
+
9
+ ## Quickstart
10
+
11
+ ```html
12
+ <div id="auto" style="height:600px"></div>
13
+ <script src="https://cdn.jsdelivr.net/npm/@mochabug/adapt-web/dist/umd/adapt-web.min.js"></script>
14
+ <script>
15
+ new MbAdapt.AdaptWebClient({
16
+ container: 'auto',
17
+ id: 'your-automation-id'
18
+ });
19
+ </script>
20
+ ```
21
+
22
+ Done. Automation runs.
23
+
24
+ ## ES Modules
25
+
26
+ ```typescript
27
+ import { AdaptWebClient } from '@mochabug/adapt-web';
28
+
29
+ const client = new AdaptWebClient({
30
+ container: 'auto',
31
+ id: 'your-automation-id'
32
+ });
33
+
34
+ // cleanup
35
+ await client.destroy();
36
+ ```
37
+
38
+ ## With auth token
39
+
40
+ Only needed if the automation requires authentication:
41
+
42
+ ```typescript
43
+ new AdaptWebClient({
44
+ container: 'auto',
45
+ id: 'your-automation-id',
46
+ authToken: 'your-token'
47
+ });
48
+ ```
49
+
50
+ ## CDN versions
51
+
52
+ ```html
53
+ <!-- latest -->
54
+ <script src="https://cdn.jsdelivr.net/npm/@mochabug/adapt-web/dist/umd/adapt-web.min.js"></script>
55
+
56
+ <!-- pin exact -->
57
+ <script src="https://cdn.jsdelivr.net/npm/@mochabug/adapt-web@1.0.0/dist/umd/adapt-web.min.js"></script>
58
+
59
+ <!-- pin minor -->
60
+ <script src="https://cdn.jsdelivr.net/npm/@mochabug/adapt-web@1.0/dist/umd/adapt-web.min.js"></script>
61
+
62
+ <!-- unpkg works too -->
63
+ <script src="https://unpkg.com/@mochabug/adapt-web/dist/umd/adapt-web.min.js"></script>
64
+ ```
65
+
66
+ ## SSR (keep auth token server-side)
67
+
68
+ Create session on server, pass session token to client:
69
+
70
+ ```typescript
71
+ // server
72
+ import { startSession } from '@mochabug/adapt-core';
73
+ const { token } = await startSession({ id: 'auto-123' }, authToken);
74
+
75
+ // client
76
+ new AdaptWebClient({
77
+ container: 'auto',
78
+ id: 'auto-123',
79
+ sessionToken: token // not authToken
80
+ });
81
+ ```
82
+
83
+ ## Session inheritance
84
+
85
+ Join existing session instead of starting new:
86
+
87
+ ```typescript
88
+ // direct token
89
+ new AdaptWebClient({
90
+ container: 'auto',
91
+ id: 'auto-123',
92
+ inheritToken: 'token-from-parent'
93
+ });
94
+
95
+ // from URL hash: example.com#mb_session=xxx
96
+ new AdaptWebClient({
97
+ container: 'auto',
98
+ id: 'auto-123',
99
+ inheritFrom: { hash: 'mb_session' }
100
+ });
101
+
102
+ // from URL param: example.com?token=xxx
103
+ new AdaptWebClient({
104
+ container: 'auto',
105
+ id: 'auto-123',
106
+ inheritFrom: { param: 'token' }
107
+ });
108
+ ```
109
+
110
+ ## Fork display (for AI agents with UI)
111
+
112
+ ```typescript
113
+ // side-by-side panels
114
+ new AdaptWebClient({
115
+ container: 'auto',
116
+ id: 'auto-123',
117
+ forkDisplayMode: 'side-by-side',
118
+ sideBySideSplit: 60 // main 60%, fork 40%
119
+ });
120
+
121
+ // modal dialog
122
+ new AdaptWebClient({
123
+ container: 'auto',
124
+ id: 'auto-123',
125
+ forkDisplayMode: 'dialog',
126
+ dialogBackdropClose: true
127
+ });
128
+ ```
129
+
130
+ ## Callbacks
131
+
132
+ ```typescript
133
+ new AdaptWebClient({
134
+ container: 'auto',
135
+ id: 'auto-123',
136
+ onSession: (status, fork) => console.log(status, fork),
137
+ onOutput: (output) => console.log(output)
138
+ });
139
+ ```
140
+
141
+ ## Advanced: Multiple transmitters or initial signals
142
+
143
+ For automations with multiple entry points or when you need to pass initial data:
144
+
145
+ ```typescript
146
+ import { AdaptWebClient, type SignalDataJson } from '@mochabug/adapt-web';
147
+
148
+ // Start from a specific transmitter
149
+ new AdaptWebClient({
150
+ container: 'auto',
151
+ id: 'auto-123',
152
+ authToken: 'your-token',
153
+ transmitter: 'my-transmitter'
154
+ });
155
+
156
+ // Start with initial signals (data must be base64 encoded)
157
+ const signals: { [key: string]: SignalDataJson } = {
158
+ 'input': {
159
+ mimeType: 'text/plain',
160
+ data: btoa('Hello World')
161
+ },
162
+ 'file': {
163
+ mimeType: 'application/pdf',
164
+ filename: 'document.pdf',
165
+ data: base64FileContent
166
+ }
167
+ };
168
+
169
+ new AdaptWebClient({
170
+ container: 'auto',
171
+ id: 'auto-123',
172
+ authToken: 'your-token',
173
+ transmitter: 'file-processor',
174
+ signals
175
+ });
176
+ ```
177
+
178
+ ## All options
179
+
180
+ ```typescript
181
+ {
182
+ container: string; // required - DOM element id
183
+ id: string; // required - automation id
184
+
185
+ // auth (pick one)
186
+ authToken?: string; // starts new session
187
+ sessionToken?: string; // uses pre-created session (SSR)
188
+ inheritToken?: string; // joins existing session
189
+ inheritFrom?: { hash: string } | { param: string };
190
+
191
+ // advanced start options
192
+ transmitter?: string; // specific transmitter to start from
193
+ signals?: { [key: string]: SignalDataJson }; // initial signals
194
+
195
+ // fork display
196
+ forkDisplayMode?: 'side-by-side' | 'dialog';
197
+ sideBySideSplit?: number; // 0-100, default 50
198
+ dialogBackdropClose?: boolean;
199
+
200
+ // callbacks
201
+ onSession?: (status, fork?) => void;
202
+ onOutput?: (output) => void;
203
+
204
+ // styling
205
+ classNames?: { root?, wrapper?, frame?, iframe?, dialog?, ... };
206
+ styles?: CSSStyleDeclaration;
207
+ }
208
+ ```
209
+
210
+ ## CSS variables
211
+
212
+ ```css
213
+ .mb-adapt {
214
+ --mb-adapt-border-radius: 8px;
215
+ --mb-adapt-backdrop-color: rgba(0,0,0,0.5);
216
+ --mb-adapt-dialog-width: 80%;
217
+ --mb-adapt-dialog-height: 80%;
218
+ --mb-adapt-drag-handle-width: 6px;
219
+ --mb-adapt-drag-handle-color: #d1d5db;
220
+ }
221
+ ```
222
+
223
+ ## License
224
+
225
+ ISC © mochabug AB
@@ -0,0 +1,219 @@
1
+ import { AdaptWebClient } from "./index.js";
2
+ const OBSERVED_ATTRIBUTES = [
3
+ "automation-id",
4
+ "session-token",
5
+ "auth-token",
6
+ "transmitter",
7
+ "challenge-token",
8
+ "requires-challenge",
9
+ "inherit-token",
10
+ "fork-display-mode",
11
+ "side-by-side-split",
12
+ "dialog-backdrop-close",
13
+ "dark-mode",
14
+ "auto-resizing",
15
+ ];
16
+ /**
17
+ * `<adapt-automation>` custom element for embedding Adapt automations.
18
+ *
19
+ * Attributes (HTML-serializable):
20
+ * - `automation-id` (string, required) — recreates client on change
21
+ * - `session-token`, `auth-token`, `transmitter`, `challenge-token`,
22
+ * `requires-challenge`, `inherit-token`, `side-by-side-split` — read at creation only
23
+ * - `fork-display-mode`, `dialog-backdrop-close`, `dark-mode`, `auto-resizing` — mutable at runtime
24
+ *
25
+ * Properties (non-serializable, set via JS):
26
+ * - `signals`, `capWidgetOptions`, `inheritFrom`, `classNames`, `styles`
27
+ * - `onSession`, `onOutput` — callbacks
28
+ *
29
+ * Events dispatched:
30
+ * - `adapt-session` with `{ status, fork }` detail
31
+ * - `adapt-output` with `{ output }` detail
32
+ */
33
+ // SSR-safe base class — HTMLElement doesn't exist on the server
34
+ const BaseElement = typeof HTMLElement !== "undefined"
35
+ ? HTMLElement
36
+ : class {
37
+ };
38
+ export class AdaptAutomationElement extends BaseElement {
39
+ static get observedAttributes() {
40
+ return OBSERVED_ATTRIBUTES;
41
+ }
42
+ constructor() {
43
+ super();
44
+ this._client = null;
45
+ }
46
+ // --- Attribute ↔ Property reflection ---
47
+ get automationId() {
48
+ return this.getAttribute("automation-id");
49
+ }
50
+ set automationId(v) {
51
+ if (v === null) {
52
+ this.removeAttribute("automation-id");
53
+ }
54
+ else {
55
+ this.setAttribute("automation-id", v);
56
+ }
57
+ }
58
+ get darkMode() {
59
+ return this.hasAttribute("dark-mode");
60
+ }
61
+ set darkMode(v) {
62
+ if (v) {
63
+ this.setAttribute("dark-mode", "");
64
+ }
65
+ else {
66
+ this.removeAttribute("dark-mode");
67
+ }
68
+ }
69
+ get autoResizing() {
70
+ return this.hasAttribute("auto-resizing");
71
+ }
72
+ set autoResizing(v) {
73
+ if (v) {
74
+ this.setAttribute("auto-resizing", "");
75
+ }
76
+ else {
77
+ this.removeAttribute("auto-resizing");
78
+ }
79
+ }
80
+ get forkDisplayMode() {
81
+ const val = this.getAttribute("fork-display-mode");
82
+ return val === "dialog" ? "dialog" : "side-by-side";
83
+ }
84
+ set forkDisplayMode(v) {
85
+ this.setAttribute("fork-display-mode", v);
86
+ }
87
+ get dialogBackdropClose() {
88
+ return this.hasAttribute("dialog-backdrop-close");
89
+ }
90
+ set dialogBackdropClose(v) {
91
+ if (v) {
92
+ this.setAttribute("dialog-backdrop-close", "");
93
+ }
94
+ else {
95
+ this.removeAttribute("dialog-backdrop-close");
96
+ }
97
+ }
98
+ // --- Lifecycle ---
99
+ connectedCallback() {
100
+ // Defer to next microtask to avoid TDZ issues from circular imports
101
+ // during element upgrade (when customElements.define() upgrades existing DOM elements)
102
+ queueMicrotask(() => this._tryInit());
103
+ }
104
+ disconnectedCallback() {
105
+ this._destroyClient();
106
+ }
107
+ attributeChangedCallback(name, oldValue, newValue) {
108
+ if (oldValue === newValue)
109
+ return;
110
+ if (name === "automation-id") {
111
+ this._destroyClient();
112
+ queueMicrotask(() => this._tryInit());
113
+ return;
114
+ }
115
+ // Mutable attributes — update the running client
116
+ if (!this._client)
117
+ return;
118
+ switch (name) {
119
+ case "fork-display-mode":
120
+ this._client.setForkDisplayMode(this.forkDisplayMode);
121
+ break;
122
+ case "dialog-backdrop-close":
123
+ this._client.setDialogBackdropClose(this.dialogBackdropClose);
124
+ break;
125
+ case "dark-mode":
126
+ this._client.setDarkMode(this.darkMode);
127
+ break;
128
+ case "auto-resizing":
129
+ this._client.setAutoResizing(this.autoResizing);
130
+ break;
131
+ }
132
+ }
133
+ // --- Internal ---
134
+ _tryInit() {
135
+ if (this._client)
136
+ return;
137
+ if (!this.isConnected)
138
+ return;
139
+ const automationId = this.automationId;
140
+ if (!automationId)
141
+ return;
142
+ const sessionToken = this.getAttribute("session-token");
143
+ const authToken = this.getAttribute("auth-token");
144
+ const transmitter = this.getAttribute("transmitter");
145
+ const challengeToken = this.getAttribute("challenge-token");
146
+ const requiresChallenge = this.hasAttribute("requires-challenge");
147
+ const inheritToken = this.getAttribute("inherit-token");
148
+ const sideBySideSplitAttr = this.getAttribute("side-by-side-split");
149
+ // Build options conditionally to satisfy exactOptionalPropertyTypes
150
+ const options = {
151
+ container: this,
152
+ id: automationId,
153
+ forkDisplayMode: this.forkDisplayMode,
154
+ dialogBackdropClose: this.dialogBackdropClose,
155
+ darkMode: this.darkMode,
156
+ autoResizing: this.autoResizing,
157
+ onSession: (status, fork) => {
158
+ this.onSessionCallback?.(status, fork);
159
+ this.dispatchEvent(new CustomEvent("adapt-session", {
160
+ detail: { status, fork },
161
+ bubbles: true,
162
+ }));
163
+ },
164
+ onOutput: (output) => {
165
+ this.onOutputCallback?.(output);
166
+ this.dispatchEvent(new CustomEvent("adapt-output", {
167
+ detail: { output },
168
+ bubbles: true,
169
+ }));
170
+ },
171
+ };
172
+ if (sessionToken)
173
+ options.sessionToken = sessionToken;
174
+ if (authToken)
175
+ options.authToken = authToken;
176
+ if (transmitter)
177
+ options.transmitter = transmitter;
178
+ if (challengeToken)
179
+ options.challengeToken = challengeToken;
180
+ if (requiresChallenge)
181
+ options.requiresChallenge = true;
182
+ if (inheritToken)
183
+ options.inheritToken = inheritToken;
184
+ if (sideBySideSplitAttr !== null)
185
+ options.sideBySideSplit = Number(sideBySideSplitAttr);
186
+ if (this.signals !== undefined)
187
+ options.signals = this.signals;
188
+ if (this.capWidgetOptions !== undefined)
189
+ options.capWidgetOptions = this.capWidgetOptions;
190
+ if (this.inheritFrom !== undefined)
191
+ options.inheritFrom = this.inheritFrom;
192
+ if (this.classNames !== undefined)
193
+ options.classNames = this.classNames;
194
+ if (this.styles !== undefined)
195
+ options.styles = this.styles;
196
+ this._client = new AdaptWebClient(options);
197
+ }
198
+ _destroyClient() {
199
+ if (this._client) {
200
+ this._client.destroy();
201
+ this._client = null;
202
+ }
203
+ }
204
+ }
205
+ // Self-registration with SSR guard
206
+ if (typeof customElements !== "undefined" &&
207
+ !customElements.get("adapt-automation")) {
208
+ customElements.define("adapt-automation", AdaptAutomationElement);
209
+ // Inject display:block CSS — custom elements default to inline which breaks layout
210
+ const styleId = "adapt-element-display";
211
+ if (!document.getElementById(styleId)) {
212
+ const s = document.createElement("style");
213
+ s.id = styleId;
214
+ s.textContent =
215
+ "adapt-automation, adapt-cap { display: block; }";
216
+ document.head.appendChild(s);
217
+ }
218
+ }
219
+ //# sourceMappingURL=AdaptAutomationElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptAutomationElement.js","sourceRoot":"","sources":["../../src/AdaptAutomationElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { AdaptCapWidget } from "./AdaptCapWidget.js";
2
+ const OBSERVED_ATTRIBUTES = [
3
+ "automation-id",
4
+ "dark-mode",
5
+ "worker-count",
6
+ ];
7
+ /**
8
+ * `<adapt-cap>` custom element for Cap.js proof-of-work challenges.
9
+ *
10
+ * Attributes:
11
+ * - `automation-id` (string, required) — recreates widget on change
12
+ * - `dark-mode` (boolean) — mutable at runtime
13
+ * - `worker-count` (number) — read at creation only
14
+ *
15
+ * Properties (non-serializable, set via JS):
16
+ * - `client` (AutomationClient, required) — widget initializes when both client and automation-id are set
17
+ * - `i18n` (CapWidgetI18n)
18
+ * - `onSolveCallback`, `onErrorCallback` — callbacks
19
+ *
20
+ * Events dispatched:
21
+ * - `adapt-cap-solve` with `{ token, expires }` detail
22
+ * - `adapt-cap-error` with `{ error }` detail
23
+ */
24
+ // SSR-safe base class — HTMLElement doesn't exist on the server
25
+ const BaseElement = typeof HTMLElement !== "undefined"
26
+ ? HTMLElement
27
+ : class {
28
+ };
29
+ export class AdaptCapElement extends BaseElement {
30
+ constructor() {
31
+ super();
32
+ this._widget = null;
33
+ }
34
+ static get observedAttributes() {
35
+ return OBSERVED_ATTRIBUTES;
36
+ }
37
+ // --- client property (triggers init attempt) ---
38
+ get client() {
39
+ return this._client;
40
+ }
41
+ set client(v) {
42
+ this._client = v;
43
+ // If we now have both client and automation-id, try to init
44
+ this._destroyWidget();
45
+ this._tryInit();
46
+ }
47
+ // --- Attribute ↔ Property reflection ---
48
+ get automationId() {
49
+ return this.getAttribute("automation-id");
50
+ }
51
+ set automationId(v) {
52
+ if (v === null) {
53
+ this.removeAttribute("automation-id");
54
+ }
55
+ else {
56
+ this.setAttribute("automation-id", v);
57
+ }
58
+ }
59
+ get darkMode() {
60
+ return this.hasAttribute("dark-mode");
61
+ }
62
+ set darkMode(v) {
63
+ if (v) {
64
+ this.setAttribute("dark-mode", "");
65
+ }
66
+ else {
67
+ this.removeAttribute("dark-mode");
68
+ }
69
+ }
70
+ // --- Lifecycle ---
71
+ connectedCallback() {
72
+ this._tryInit();
73
+ }
74
+ disconnectedCallback() {
75
+ this._destroyWidget();
76
+ }
77
+ attributeChangedCallback(name, oldValue, newValue) {
78
+ if (oldValue === newValue)
79
+ return;
80
+ if (name === "automation-id") {
81
+ this._destroyWidget();
82
+ this._tryInit();
83
+ return;
84
+ }
85
+ if (name === "dark-mode") {
86
+ this._widget?.setDarkMode(this.darkMode);
87
+ return;
88
+ }
89
+ }
90
+ // --- Internal ---
91
+ _tryInit() {
92
+ if (this._widget)
93
+ return;
94
+ if (!this.isConnected)
95
+ return;
96
+ const automationId = this.automationId;
97
+ if (!automationId || !this._client)
98
+ return;
99
+ const workerCountAttr = this.getAttribute("worker-count");
100
+ this._widget = new AdaptCapWidget({
101
+ container: this,
102
+ automationId,
103
+ client: this._client,
104
+ onSolve: (token, expires) => {
105
+ this.onSolveCallback?.(token, expires);
106
+ this.dispatchEvent(new CustomEvent("adapt-cap-solve", {
107
+ detail: { token, expires },
108
+ bubbles: true,
109
+ }));
110
+ },
111
+ onError: (error) => {
112
+ this.onErrorCallback?.(error);
113
+ this.dispatchEvent(new CustomEvent("adapt-cap-error", {
114
+ detail: { error },
115
+ bubbles: true,
116
+ }));
117
+ },
118
+ ...(workerCountAttr !== null && {
119
+ workerCount: Number(workerCountAttr),
120
+ }),
121
+ ...(this.i18n !== undefined && { i18n: this.i18n }),
122
+ });
123
+ if (this.darkMode) {
124
+ this._widget.setDarkMode(true);
125
+ }
126
+ }
127
+ _destroyWidget() {
128
+ if (this._widget) {
129
+ this._widget.destroy();
130
+ this._widget = null;
131
+ }
132
+ }
133
+ }
134
+ // Self-registration with SSR guard
135
+ if (typeof customElements !== "undefined" &&
136
+ !customElements.get("adapt-cap")) {
137
+ customElements.define("adapt-cap", AdaptCapElement);
138
+ // Inject display:block CSS — custom elements default to inline which breaks layout
139
+ const styleId = "adapt-element-display";
140
+ if (!document.getElementById(styleId)) {
141
+ const s = document.createElement("style");
142
+ s.id = styleId;
143
+ s.textContent =
144
+ "adapt-automation, adapt-cap { display: block; }";
145
+ document.head.appendChild(s);
146
+ }
147
+ }
148
+ //# sourceMappingURL=AdaptCapElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptCapElement.js","sourceRoot":"","sources":["../../src/AdaptCapElement.ts"],"names":[],"mappings":"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"}