@d34dman/flowdrop 0.0.41 → 0.0.42

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.
@@ -25,11 +25,14 @@
25
25
  isSubmitting: boolean;
26
26
  /** Error message if submission failed */
27
27
  error?: string;
28
+ /** Username of the person who resolved the interrupt */
29
+ resolvedByUserName?: string;
28
30
  /** Callback when user submits selection */
29
31
  onSubmit: (value: string | string[]) => void;
30
32
  }
31
33
 
32
- let { config, isResolved, resolvedValue, isSubmitting, error, onSubmit }: Props = $props();
34
+ let { config, isResolved, resolvedValue, isSubmitting, error, resolvedByUserName, onSubmit }: Props =
35
+ $props();
33
36
 
34
37
  /** Local state for selected values */
35
38
  let selectedValues = $state<Set<string>>(new Set());
@@ -189,7 +192,9 @@
189
192
  {#if isResolved}
190
193
  <div class="choice-prompt__resolved-badge">
191
194
  <Icon icon="mdi:check-circle" />
192
- <span>Response submitted</span>
195
+ <span>
196
+ {resolvedByUserName ? `Response submitted by ${resolvedByUserName}` : 'Response submitted'}
197
+ </span>
193
198
  </div>
194
199
  {/if}
195
200
  </div>
@@ -13,6 +13,8 @@ interface Props {
13
13
  isSubmitting: boolean;
14
14
  /** Error message if submission failed */
15
15
  error?: string;
16
+ /** Username of the person who resolved the interrupt */
17
+ resolvedByUserName?: string;
16
18
  /** Callback when user submits selection */
17
19
  onSubmit: (value: string | string[]) => void;
18
20
  }
@@ -25,14 +25,24 @@
25
25
  isSubmitting: boolean;
26
26
  /** Error message if submission failed */
27
27
  error?: string;
28
+ /** Username of the person who resolved the interrupt */
29
+ resolvedByUserName?: string;
28
30
  /** Callback when user confirms (Yes) */
29
31
  onConfirm: () => void;
30
32
  /** Callback when user declines (No) */
31
33
  onDecline: () => void;
32
34
  }
33
35
 
34
- let { config, isResolved, resolvedValue, isSubmitting, error, onConfirm, onDecline }: Props =
35
- $props();
36
+ let {
37
+ config,
38
+ isResolved,
39
+ resolvedValue,
40
+ isSubmitting,
41
+ error,
42
+ resolvedByUserName,
43
+ onConfirm,
44
+ onDecline
45
+ }: Props = $props();
36
46
 
37
47
  /** Computed label for confirm button */
38
48
  const confirmLabel = $derived(config.confirmLabel ?? 'Yes');
@@ -108,7 +118,9 @@
108
118
  {#if isResolved}
109
119
  <div class="confirmation-prompt__resolved-badge">
110
120
  <Icon icon="mdi:check-circle" />
111
- <span>Response submitted</span>
121
+ <span>
122
+ {resolvedByUserName ? `Response submitted by ${resolvedByUserName}` : 'Response submitted'}
123
+ </span>
112
124
  </div>
113
125
  {/if}
114
126
  </div>
@@ -13,6 +13,8 @@ interface Props {
13
13
  isSubmitting: boolean;
14
14
  /** Error message if submission failed */
15
15
  error?: string;
16
+ /** Username of the person who resolved the interrupt */
17
+ resolvedByUserName?: string;
16
18
  /** Callback when user confirms (Yes) */
17
19
  onConfirm: () => void;
18
20
  /** Callback when user declines (No) */
@@ -26,11 +26,14 @@
26
26
  isSubmitting: boolean;
27
27
  /** Error message if submission failed */
28
28
  error?: string;
29
+ /** Username of the person who resolved the interrupt */
30
+ resolvedByUserName?: string;
29
31
  /** Callback when user submits form */
30
32
  onSubmit: (value: Record<string, unknown>) => void;
31
33
  }
32
34
 
33
- let { config, isResolved, resolvedValue, isSubmitting, error, onSubmit }: Props = $props();
35
+ let { config, isResolved, resolvedValue, isSubmitting, error, resolvedByUserName, onSubmit }: Props =
36
+ $props();
34
37
 
35
38
  /** Local state for form values */
36
39
  let formValues = $state<Record<string, unknown>>(config.defaultValues ?? {});
@@ -119,7 +122,9 @@
119
122
  {#if isResolved}
120
123
  <div class="form-prompt__resolved-badge">
121
124
  <Icon icon="mdi:check-circle" />
122
- <span>Response submitted</span>
125
+ <span>
126
+ {resolvedByUserName ? `Response submitted by ${resolvedByUserName}` : 'Response submitted'}
127
+ </span>
123
128
  </div>
124
129
  {/if}
125
130
  </div>
@@ -13,6 +13,8 @@ interface Props {
13
13
  isSubmitting: boolean;
14
14
  /** Error message if submission failed */
15
15
  error?: string;
16
+ /** Username of the person who resolved the interrupt */
17
+ resolvedByUserName?: string;
16
18
  /** Callback when user submits form */
17
19
  onSubmit: (value: Record<string, unknown>) => void;
18
20
  }
@@ -221,6 +221,16 @@
221
221
 
222
222
  // Determine the actual resolved value to pass to prompt components
223
223
  const displayResolvedValue = $derived(resolvedValue ?? currentInterrupt.responseValue);
224
+
225
+ /**
226
+ * Extract the username of who resolved the interrupt from metadata.
227
+ * This is provided by the backend when the interrupt is resolved.
228
+ */
229
+ const resolvedByUserName = $derived(
230
+ typeof currentInterrupt.metadata?.resolvedByUserName === 'string'
231
+ ? currentInterrupt.metadata.resolvedByUserName
232
+ : undefined
233
+ );
224
234
  </script>
225
235
 
226
236
  <div
@@ -287,6 +297,7 @@
287
297
  resolvedValue={displayResolvedValue as boolean | undefined}
288
298
  {isSubmitting}
289
299
  {error}
300
+ {resolvedByUserName}
290
301
  onConfirm={() => handleResolve(true)}
291
302
  onDecline={() => handleResolve(false)}
292
303
  />
@@ -297,6 +308,7 @@
297
308
  resolvedValue={displayResolvedValue as string | string[] | undefined}
298
309
  {isSubmitting}
299
310
  {error}
311
+ {resolvedByUserName}
300
312
  onSubmit={(value) => handleResolve(value)}
301
313
  />
302
314
  {:else if currentInterrupt.type === 'text'}
@@ -306,6 +318,7 @@
306
318
  resolvedValue={displayResolvedValue as string | undefined}
307
319
  {isSubmitting}
308
320
  {error}
321
+ {resolvedByUserName}
309
322
  onSubmit={(value) => handleResolve(value)}
310
323
  />
311
324
  {:else if currentInterrupt.type === 'form'}
@@ -315,6 +328,7 @@
315
328
  resolvedValue={displayResolvedValue as Record<string, unknown> | undefined}
316
329
  {isSubmitting}
317
330
  {error}
331
+ {resolvedByUserName}
318
332
  onSubmit={(value) => handleResolve(value)}
319
333
  />
320
334
  {/if}
@@ -25,11 +25,14 @@
25
25
  isSubmitting: boolean;
26
26
  /** Error message if submission failed */
27
27
  error?: string;
28
+ /** Username of the person who resolved the interrupt */
29
+ resolvedByUserName?: string;
28
30
  /** Callback when user submits text */
29
31
  onSubmit: (value: string) => void;
30
32
  }
31
33
 
32
- let { config, isResolved, resolvedValue, isSubmitting, error, onSubmit }: Props = $props();
34
+ let { config, isResolved, resolvedValue, isSubmitting, error, resolvedByUserName, onSubmit }: Props =
35
+ $props();
33
36
 
34
37
  /** Local state for input value */
35
38
  let inputValue = $state(config.defaultValue ?? '');
@@ -166,7 +169,9 @@
166
169
  {#if isResolved}
167
170
  <div class="text-prompt__resolved-badge">
168
171
  <Icon icon="mdi:check-circle" />
169
- <span>Response submitted</span>
172
+ <span>
173
+ {resolvedByUserName ? `Response submitted by ${resolvedByUserName}` : 'Response submitted'}
174
+ </span>
170
175
  </div>
171
176
  {/if}
172
177
  </div>
@@ -13,6 +13,8 @@ interface Props {
13
13
  isSubmitting: boolean;
14
14
  /** Error message if submission failed */
15
15
  error?: string;
16
+ /** Username of the person who resolved the interrupt */
17
+ resolvedByUserName?: string;
16
18
  /** Callback when user submits text */
17
19
  onSubmit: (value: string) => void;
18
20
  }
@@ -264,6 +264,8 @@ export interface InterruptMessageMetadata {
264
264
  multiple?: boolean;
265
265
  min_selections?: number;
266
266
  max_selections?: number;
267
+ /** Username of the person who resolved the interrupt */
268
+ resolvedByUserName?: string;
267
269
  }
268
270
  /**
269
271
  * Type guard to check if message metadata indicates an interrupt
@@ -48,7 +48,8 @@ export function extractInterruptMetadata(metadata) {
48
48
  max_length: metadata.max_length,
49
49
  multiple: metadata.multiple,
50
50
  min_selections: metadata.min_selections,
51
- max_selections: metadata.max_selections
51
+ max_selections: metadata.max_selections,
52
+ resolvedByUserName: metadata.resolvedByUserName
52
53
  };
53
54
  }
54
55
  /**
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@d34dman/flowdrop",
3
3
  "license": "MIT",
4
4
  "private": false,
5
- "version": "0.0.41",
5
+ "version": "0.0.42",
6
6
  "scripts": {
7
7
  "dev": "vite dev",
8
8
  "build": "vite build && npm run prepack",