@whitewall/blip-sdk 0.0.190 → 0.0.192

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 (42) hide show
  1. package/dist/cjs/client.js.map +1 -1
  2. package/dist/cjs/index.js +1 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/flow.js +13 -8
  5. package/dist/cjs/types/flow.js.map +1 -1
  6. package/dist/cjs/utils/builder.js +40 -21
  7. package/dist/cjs/utils/builder.js.map +1 -1
  8. package/dist/cjs/utils/minifier.js +460 -0
  9. package/dist/cjs/utils/minifier.js.map +1 -0
  10. package/dist/cjs/utils/whatsapp.js +7 -0
  11. package/dist/cjs/utils/whatsapp.js.map +1 -1
  12. package/dist/esm/client.js.map +1 -1
  13. package/dist/esm/index.js +1 -0
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/types/flow.js +11 -6
  16. package/dist/esm/types/flow.js.map +1 -1
  17. package/dist/esm/utils/builder.js +38 -19
  18. package/dist/esm/utils/builder.js.map +1 -1
  19. package/dist/esm/utils/minifier.js +455 -0
  20. package/dist/esm/utils/minifier.js.map +1 -0
  21. package/dist/esm/utils/whatsapp.js +6 -0
  22. package/dist/esm/utils/whatsapp.js.map +1 -1
  23. package/dist/types/client.d.ts +2 -1
  24. package/dist/types/client.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +1 -0
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/namespaces/account.d.ts +20 -20
  28. package/dist/types/types/flow.d.ts +253 -96
  29. package/dist/types/types/flow.d.ts.map +1 -1
  30. package/dist/types/utils/builder.d.ts +28 -16
  31. package/dist/types/utils/builder.d.ts.map +1 -1
  32. package/dist/types/utils/minifier.d.ts +2565 -0
  33. package/dist/types/utils/minifier.d.ts.map +1 -0
  34. package/dist/types/utils/whatsapp.d.ts +2 -0
  35. package/dist/types/utils/whatsapp.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/client.ts +2 -1
  38. package/src/index.ts +1 -0
  39. package/src/types/flow.ts +12 -6
  40. package/src/utils/builder.ts +62 -41
  41. package/src/utils/minifier.ts +554 -0
  42. package/src/utils/whatsapp.ts +7 -0
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/types/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/types/flow.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
- function minifyConditions(conditions) {
1
+ /**
2
+ * Lossy, read-only projection of a builder flow, meant for presenting a state to
3
+ * a human or an LLM. It renames the `$`-prefixed keys to readable ones, drops
4
+ * layout metadata and denormalizes state names, so it cannot be pushed back to
5
+ * the builder. For the round-trippable format, see `./minifier.ts`.
6
+ */
7
+ import { ROOT_STATE_ID } from "../types/flow.js";
8
+ function digestConditions(conditions) {
2
9
  if (!conditions || conditions.length === 0)
3
10
  return undefined;
4
11
  return conditions.map((c) => ({
@@ -9,23 +16,23 @@ function minifyConditions(conditions) {
9
16
  values: c.values,
10
17
  }));
11
18
  }
12
- function minifyActionSettings(settings) {
19
+ function digestActionSettings(settings) {
13
20
  const clone = { ...settings };
14
21
  delete clone.$invalid;
15
22
  delete clone.id;
16
23
  return clone;
17
24
  }
18
- export function minifyAction(action) {
25
+ export function digestAction(action) {
19
26
  const result = {
20
27
  type: action.type,
21
- settings: minifyActionSettings(action.settings),
28
+ settings: digestActionSettings(action.settings),
22
29
  };
23
- const conditions = minifyConditions(action.conditions);
30
+ const conditions = digestConditions(action.conditions);
24
31
  if (conditions)
25
32
  result.conditions = conditions;
26
33
  return result;
27
34
  }
28
- function minifyInput(input) {
35
+ function digestInput(input) {
29
36
  if (!input)
30
37
  return undefined;
31
38
  const result = { bypass: input.bypass };
@@ -41,19 +48,29 @@ function minifyInput(input) {
41
48
  }
42
49
  if (input.expiration)
43
50
  result.expiration = input.expiration;
44
- const conditions = minifyConditions(input.conditions);
51
+ const conditions = digestConditions(input.conditions);
45
52
  if (conditions)
46
53
  result.conditions = conditions;
47
54
  return result;
48
55
  }
56
+ /**
57
+ * Typing indicators are noise in every projection of a flow, so both the digest
58
+ * and the minifier drop them. The two signals are checked because `$typeOfContent`
59
+ * is absent from a minified flow and can come back empty from a GET, while the
60
+ * settings mime type is absent from a hand-written action.
61
+ */
49
62
  export function isChatStateSendMessage(item) {
50
- return item.action?.type === 'SendMessage' && item.action.$typeOfContent === 'chat-state';
63
+ if (item.action?.type !== 'SendMessage') {
64
+ return false;
65
+ }
66
+ return (item.action.$typeOfContent === 'chat-state' ||
67
+ item.action.settings.type === 'application/vnd.lime.chatstate+json');
51
68
  }
52
69
  export function resolveStateName(stateId, flow) {
53
70
  const state = flow[stateId];
54
71
  return state?.$title;
55
72
  }
56
- function minifyOutput(output, flow) {
73
+ function digestOutput(output, flow) {
57
74
  const result = {
58
75
  stateId: output.stateId,
59
76
  };
@@ -63,11 +80,11 @@ function minifyOutput(output, flow) {
63
80
  if (output.typeOfStateId)
64
81
  result.typeOfStateId = output.typeOfStateId;
65
82
  if ('conditions' in output && Array.isArray(output.conditions) && output.conditions.length > 0) {
66
- result.conditions = minifyConditions(output.conditions);
83
+ result.conditions = digestConditions(output.conditions);
67
84
  }
68
85
  return result;
69
86
  }
70
- export function minifyState(stateId, state, flow) {
87
+ export function digestState(stateId, state, flow) {
71
88
  const result = {
72
89
  id: stateId,
73
90
  name: state.$title,
@@ -79,9 +96,11 @@ export function minifyState(stateId, state, flow) {
79
96
  ...(state.$defaultOutput.typeOfStateId ? { typeOfStateId: state.$defaultOutput.typeOfStateId } : {}),
80
97
  },
81
98
  };
82
- if (state.root)
99
+ // Derived from the id so the digest reads the same whether it is handed a
100
+ // full flow or a minified one, which no longer carries `root`.
101
+ if (state.root || stateId === ROOT_STATE_ID)
83
102
  result.root = true;
84
- const enteringActions = state.$enteringCustomActions.map(minifyAction);
103
+ const enteringActions = state.$enteringCustomActions.map(digestAction);
85
104
  if (enteringActions.length > 0)
86
105
  result.enteringActions = enteringActions;
87
106
  const contentActions = state.$contentActions
@@ -89,8 +108,8 @@ export function minifyState(stateId, state, flow) {
89
108
  .map((item) => {
90
109
  const entry = {};
91
110
  if (item.action)
92
- entry.action = minifyAction(item.action);
93
- const input = minifyInput(item.input);
111
+ entry.action = digestAction(item.action);
112
+ const input = digestInput(item.input);
94
113
  if (input)
95
114
  entry.input = input;
96
115
  return entry;
@@ -98,16 +117,16 @@ export function minifyState(stateId, state, flow) {
98
117
  .filter((entry) => entry.action || entry.input);
99
118
  if (contentActions.length > 0)
100
119
  result.contentActions = contentActions;
101
- const leavingActions = state.$leavingCustomActions.map(minifyAction);
120
+ const leavingActions = state.$leavingCustomActions.map(digestAction);
102
121
  if (leavingActions.length > 0)
103
122
  result.leavingActions = leavingActions;
104
- const outputs = state.$conditionOutputs.map((o) => minifyOutput(o, flow));
123
+ const outputs = state.$conditionOutputs.map((o) => digestOutput(o, flow));
105
124
  if (outputs.length > 0)
106
125
  result.outputs = outputs;
107
- const afterStateChangedActions = (state.$afterStateChangedActions ?? []).map(minifyAction);
126
+ const afterStateChangedActions = (state.$afterStateChangedActions ?? []).map(digestAction);
108
127
  if (afterStateChangedActions.length > 0)
109
128
  result.afterStateChangedActions = afterStateChangedActions;
110
- const localActions = (state.$localCustomActions ?? []).map(minifyAction);
129
+ const localActions = (state.$localCustomActions ?? []).map(digestAction);
111
130
  if (localActions.length > 0)
112
131
  result.localActions = localActions;
113
132
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/utils/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/utils/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,455 @@
1
+ /**
2
+ * Round-trippable projection of a builder flow.
3
+ *
4
+ * Unlike the digest in `./builder.ts`, this keeps the `$`-prefixed keys and maps
5
+ * 1:1 onto the builder document: `minifyFlow` strips only the metadata the
6
+ * builder regenerates on its own, and `expandMinifiedFlow` rebuilds it, so a
7
+ * minified flow can be edited by hand and pushed back.
8
+ */
9
+ import { z } from 'zod';
10
+ import { actionTypeSchema, baseActionSchema, conditionOutputSchema, defaultOutputSchema, inputStateSchema, ROOT_STATE_ID, stateSchema, } from "../types/flow.js";
11
+ import { isChatStateSendMessage } from "./builder.js";
12
+ /**
13
+ * Everything `minifyFlow` removes, grouped by where it lives. Together these
14
+ * describe the same subset as `minifiedStateSchema`, so the two must be kept in
15
+ * sync. The lists deliberately differ from each other: a card only exists on a
16
+ * content action, and only a content action carries a generated `settings.id`.
17
+ */
18
+ const STATE_NOISE = [
19
+ '$invalidContentActions',
20
+ '$invalidOutputs',
21
+ '$invalidCustomActions',
22
+ '$invalid',
23
+ 'id',
24
+ 'root',
25
+ '$tags',
26
+ '$inputSuggestions',
27
+ 'isAiGenerated',
28
+ 'deskStateVersion',
29
+ ];
30
+ const CUSTOM_ACTION_LISTS = [
31
+ '$enteringCustomActions',
32
+ '$leavingCustomActions',
33
+ '$afterStateChangedActions',
34
+ '$localCustomActions',
35
+ ];
36
+ const CUSTOM_ACTION_NOISE = ['$id', '$title', '$invalid', '$typeOfContent'];
37
+ const CONTENT_ACTION_ITEM_NOISE = ['$invalid'];
38
+ const CONTENT_ACTION_NOISE = ['$id', '$typeOfContent', '$cardContent', '$inputSchema'];
39
+ const CONTENT_ACTION_SETTINGS_NOISE = ['id'];
40
+ const CONTENT_INPUT_NOISE = ['$cardContent', '$invalid'];
41
+ const CONDITION_OUTPUT_NOISE = [
42
+ '$id',
43
+ '$invalid',
44
+ '$isBuilderDefaultOutput',
45
+ '$connId',
46
+ '$isDeskOutput',
47
+ '$isDeskCustomOutput',
48
+ '$isDeskDefaultOutput',
49
+ '$contentId',
50
+ ];
51
+ const DEFAULT_OUTPUT_NOISE = ['$invalid'];
52
+ /**
53
+ * Pairs an incoming item with the one the builder already has, so its generated
54
+ * ids survive a push instead of being replaced on every write.
55
+ *
56
+ * A match is consumed, because two items in the same state can be identical and
57
+ * must not end up sharing an id.
58
+ */
59
+ function createStaleMatcher(candidates, key) {
60
+ const byKey = new Map();
61
+ for (const candidate of candidates ?? []) {
62
+ const candidateKey = key(candidate);
63
+ const bucket = byKey.get(candidateKey);
64
+ if (bucket) {
65
+ bucket.push(candidate);
66
+ }
67
+ else {
68
+ byKey.set(candidateKey, [candidate]);
69
+ }
70
+ }
71
+ return (item) => byKey.get(key(item))?.shift();
72
+ }
73
+ // The generated `settings.id` is left out of the key since a minified action
74
+ // never carries one.
75
+ const actionKey = ({ type, settings, conditions }) => {
76
+ const { id: _id, ...rest } = (settings ?? {});
77
+ return JSON.stringify([type, rest, conditions]);
78
+ };
79
+ const conditionOutputKey = ({ stateId, conditions }) => JSON.stringify([stateId, conditions]);
80
+ // Only the part of the input a minified flow carries, so an unchanged input keeps
81
+ // the card the builder drew for it.
82
+ const inputKey = ({ $cardContent: _card, $invalid: _invalid, ...rest }) => JSON.stringify(rest);
83
+ function stripKeys(target, keys) {
84
+ if (!target || typeof target !== 'object') {
85
+ return;
86
+ }
87
+ for (const key of keys) {
88
+ delete target[key];
89
+ }
90
+ }
91
+ /**
92
+ * Angular tags every item of an `ng-repeat`ed array with a `$$hashKey`, so the
93
+ * document the builder saves carries them on its condition outputs, on the
94
+ * conditions inside them and on its content actions. Nothing outside the editor
95
+ * reads them and the editor puts them back, but `minifiedStateSchema` is strict —
96
+ * so left in place they would report a freshly pulled flow as invalid.
97
+ *
98
+ * They are stripped wherever they appear rather than per location, because which
99
+ * arrays the editor happened to repeat over is not something to keep in sync here.
100
+ */
101
+ function stripAngularKeys(target) {
102
+ if (Array.isArray(target)) {
103
+ for (const item of target) {
104
+ stripAngularKeys(item);
105
+ }
106
+ return;
107
+ }
108
+ if (target && typeof target === 'object') {
109
+ delete target.$$hashKey;
110
+ for (const value of Object.values(target)) {
111
+ stripAngularKeys(value);
112
+ }
113
+ }
114
+ }
115
+ const minifiedActionSchema = z.intersection(baseActionSchema.partial({ $id: true }), actionTypeSchema).check((ctx) => {
116
+ // expandMinifiedFlow derives $typeOfContent from the settings mime type, so
117
+ // a SendMessage without one cannot be pushed. Rejecting it here keeps
118
+ // validation and push in agreement instead of failing halfway through.
119
+ const action = ctx.value;
120
+ if (action.type === 'SendMessage' && !action.settings.type) {
121
+ ctx.issues.push({
122
+ code: 'custom',
123
+ input: action,
124
+ path: ['settings', 'type'],
125
+ message: 'A SendMessage action requires a settings.type',
126
+ });
127
+ }
128
+ // The runtime deserializes the raw content as this media type and refuses to
129
+ // run the action without one, so a hand-written raw message that omits it
130
+ // would be accepted here and then fail in the conversation.
131
+ if (action.type === 'SendRawMessage' && !action.settings.type) {
132
+ ctx.issues.push({
133
+ code: 'custom',
134
+ input: action,
135
+ path: ['settings', 'type'],
136
+ message: 'A SendRawMessage action requires a settings.type',
137
+ });
138
+ }
139
+ });
140
+ const minifiedInputSchema = inputStateSchema.partial({ $cardContent: true, $invalid: true }).strict();
141
+ const minifiedContentActionItemSchema = z
142
+ .object({
143
+ action: minifiedActionSchema.optional(),
144
+ input: minifiedInputSchema.optional(),
145
+ })
146
+ .strict();
147
+ /**
148
+ * `stateSchema` minus the metadata `minifyFlow` strips. It is strict on purpose:
149
+ * minified flows are edited by hand, so an unknown key is almost always a typo
150
+ * that would otherwise be silently dropped on push.
151
+ */
152
+ export const minifiedStateSchema = stateSchema
153
+ .extend({
154
+ $enteringCustomActions: z.array(minifiedActionSchema),
155
+ $leavingCustomActions: z.array(minifiedActionSchema),
156
+ $localCustomActions: z.array(minifiedActionSchema).optional(),
157
+ $afterStateChangedActions: z.array(minifiedActionSchema).optional(),
158
+ $contentActions: z.array(minifiedContentActionItemSchema),
159
+ $conditionOutputs: z.array(conditionOutputSchema.strict()),
160
+ $defaultOutput: defaultOutputSchema.strict(),
161
+ })
162
+ .partial({
163
+ $tags: true,
164
+ $inputSuggestions: true,
165
+ $invalidContentActions: true,
166
+ $invalidOutputs: true,
167
+ $invalidCustomActions: true,
168
+ })
169
+ .strict();
170
+ /**
171
+ * A push replaces the whole flow, so a dangling output and a title collision are
172
+ * validation errors here instead of a broken canvas later.
173
+ */
174
+ export const minifiedFlowSchema = z.record(z.string(), minifiedStateSchema).check((ctx) => {
175
+ const titles = new Map();
176
+ const checkOutput = (output, path) => {
177
+ // A variable output is only resolved at runtime.
178
+ if (output.typeOfStateId === 'variable' || output.stateId in ctx.value) {
179
+ return;
180
+ }
181
+ ctx.issues.push({
182
+ code: 'custom',
183
+ input: output.stateId,
184
+ path: [...path, 'stateId'],
185
+ message: `Output points at '${output.stateId}', which is not a state in this flow`,
186
+ });
187
+ };
188
+ for (const [stateId, state] of Object.entries(ctx.value)) {
189
+ // The builder addresses a state by its title, so a duplicate hides one.
190
+ const title = state.$title.toLowerCase();
191
+ const duplicate = titles.get(title);
192
+ if (duplicate) {
193
+ ctx.issues.push({
194
+ code: 'custom',
195
+ input: state.$title,
196
+ path: [stateId, '$title'],
197
+ message: `Duplicate state title '${state.$title}', already used by '${duplicate}'`,
198
+ });
199
+ }
200
+ else {
201
+ titles.set(title, stateId);
202
+ }
203
+ checkOutput(state.$defaultOutput, [stateId, '$defaultOutput']);
204
+ for (const [index, output] of state.$conditionOutputs.entries()) {
205
+ checkOutput(output, [stateId, '$conditionOutputs', index]);
206
+ }
207
+ }
208
+ });
209
+ /**
210
+ * Strips everything the builder can regenerate, so what is left is the part of
211
+ * the flow worth reading and editing.
212
+ *
213
+ * The result is round-trippable through `expandMinifiedFlow` with one
214
+ * exception: typing indicators are discarded rather than preserved, so a custom
215
+ * typing interval is replaced by the default on the way back. See
216
+ * `createChatStateContentAction`.
217
+ */
218
+ export function minifyFlow(flow) {
219
+ const minified = {};
220
+ for (const [stateId, state] of Object.entries(flow)) {
221
+ const minifiedState = structuredClone(state);
222
+ stripKeys(minifiedState, STATE_NOISE);
223
+ stripAngularKeys(minifiedState);
224
+ stripKeys(minifiedState.$defaultOutput, DEFAULT_OUTPUT_NOISE);
225
+ // Expansion writes `false` here for a state that has no plugin, so only a
226
+ // real configuration is worth carrying.
227
+ if (!minifiedState.$whiteWallIntegration) {
228
+ stripKeys(minifiedState, ['$whiteWallIntegration']);
229
+ }
230
+ for (const output of minifiedState.$conditionOutputs ?? []) {
231
+ stripKeys(output, CONDITION_OUTPUT_NOISE);
232
+ }
233
+ for (const list of CUSTOM_ACTION_LISTS) {
234
+ for (const action of minifiedState[list] ?? []) {
235
+ stripKeys(action, CUSTOM_ACTION_NOISE);
236
+ }
237
+ }
238
+ // The builder re-inserts a typing indicator before every message, so
239
+ // carrying them around would just add noise to the minified flow.
240
+ minifiedState.$contentActions = minifiedState.$contentActions
241
+ ?.filter((item) => !isChatStateSendMessage(item))
242
+ .map((item) => {
243
+ stripKeys(item, CONTENT_ACTION_ITEM_NOISE);
244
+ stripKeys(item.input, CONTENT_INPUT_NOISE);
245
+ stripKeys(item.action, CONTENT_ACTION_NOISE);
246
+ stripKeys(item.action?.settings, CONTENT_ACTION_SETTINGS_NOISE);
247
+ return item;
248
+ });
249
+ minified[stateId] = minifiedState;
250
+ }
251
+ return minified;
252
+ }
253
+ export function expandMinifiedFlow(minifiedFlow, staleFlow) {
254
+ const flow = {};
255
+ for (const [stateId, minifiedState] of Object.entries(minifiedFlow)) {
256
+ try {
257
+ const staleState = staleFlow?.[stateId];
258
+ const state = structuredClone(minifiedState);
259
+ state.$invalidContentActions = false;
260
+ state.$invalidOutputs = false;
261
+ state.$invalidCustomActions = false;
262
+ state.$invalid = false;
263
+ state.id = stateId;
264
+ // When the builder already knows the state, its answer wins; a state
265
+ // being pushed for the first time falls back to the id convention, so
266
+ // a flow pushed without a stale one still gets an entry point.
267
+ state.root = staleState ? staleState.root : stateId === ROOT_STATE_ID || undefined;
268
+ state.$tags = staleState?.$tags ?? [];
269
+ state.$inputSuggestions = staleState?.$inputSuggestions ?? [];
270
+ state.isAiGenerated = staleState?.isAiGenerated ?? false;
271
+ // A plugin's configuration is authored, not generated, so the minified
272
+ // flow is the source of truth for it. Falling back to the stale state
273
+ // keeps a plugin configured before this was carried through.
274
+ state.$whiteWallIntegration =
275
+ minifiedState.$whiteWallIntegration ?? staleState?.$whiteWallIntegration ?? false;
276
+ state.deskStateVersion = staleState?.deskStateVersion ?? undefined;
277
+ state.$defaultOutput.$invalid = false;
278
+ // Reuse the ids the builder already knows so the canvas keeps its
279
+ // connections instead of redrawing them on every push.
280
+ const matchStaleConditionOutput = createStaleMatcher(staleState?.$conditionOutputs, conditionOutputKey);
281
+ for (const conditionOutput of state.$conditionOutputs ?? []) {
282
+ const staleConditionOutput = matchStaleConditionOutput(conditionOutput);
283
+ conditionOutput.$id = staleConditionOutput?.$id ?? crypto.randomUUID();
284
+ conditionOutput.$invalid = false;
285
+ conditionOutput.$connId = staleConditionOutput?.$connId ?? undefined;
286
+ conditionOutput.$isDeskOutput = staleConditionOutput?.$isDeskOutput ?? undefined;
287
+ conditionOutput.$isDeskCustomOutput = staleConditionOutput?.$isDeskCustomOutput ?? undefined;
288
+ conditionOutput.$isDeskDefaultOutput = staleConditionOutput?.$isDeskDefaultOutput ?? undefined;
289
+ conditionOutput.$contentId = staleConditionOutput?.$contentId ?? undefined;
290
+ }
291
+ for (const actionType of CUSTOM_ACTION_LISTS) {
292
+ const matchStaleAction = createStaleMatcher(staleState?.[actionType], actionKey);
293
+ for (const action of state[actionType] ?? []) {
294
+ const staleAction = matchStaleAction(action);
295
+ action.$id = staleAction?.$id ?? crypto.randomUUID();
296
+ action.$invalid = false;
297
+ action.$title = staleAction?.$title ?? createActionTitle(action);
298
+ action.$typeOfContent = staleAction?.$typeOfContent ?? undefined;
299
+ }
300
+ }
301
+ const matchStaleContentAction = createStaleMatcher(staleState?.$contentActions?.flatMap((candidate) => candidate.action ?? []), actionKey);
302
+ const matchStaleInput = createStaleMatcher(staleState?.$contentActions?.flatMap((candidate) => candidate.input ?? []), inputKey);
303
+ for (const contentAction of state.$contentActions ?? []) {
304
+ contentAction.$invalid = false;
305
+ if (contentAction.input) {
306
+ const staleInput = matchStaleInput(contentAction.input);
307
+ contentAction.input.$invalid = false;
308
+ contentAction.input.$cardContent = staleInput?.$cardContent ?? {
309
+ document: {
310
+ id: crypto.randomUUID(),
311
+ type: 'text/plain',
312
+ textContent: 'Entrada do usuário',
313
+ content: 'Entrada do usuário',
314
+ },
315
+ editable: false,
316
+ deletable: true,
317
+ position: 'right',
318
+ editing: false,
319
+ };
320
+ }
321
+ if (contentAction.action) {
322
+ const staleAction = matchStaleContentAction(contentAction.action);
323
+ const staleSettings = staleAction?.settings;
324
+ const settings = contentAction.action.settings;
325
+ contentAction.action.$id = staleAction?.$id ?? crypto.randomUUID();
326
+ settings.id = staleSettings?.id ?? crypto.randomUUID();
327
+ // The label the builder wrote is at least as precise as a derived
328
+ // one, but a GET can answer with an empty one.
329
+ contentAction.action.$typeOfContent =
330
+ staleAction?.$typeOfContent || getTypeOfContent(contentAction.action);
331
+ contentAction.action.$cardContent = {
332
+ deletable: true,
333
+ editable: true,
334
+ position: 'left',
335
+ document: {
336
+ id: staleAction?.$cardContent?.document.id ?? crypto.randomUUID(),
337
+ type: settings.type,
338
+ content: settings.content,
339
+ },
340
+ };
341
+ }
342
+ }
343
+ // Walk backwards so the chat states can be spliced in without shifting
344
+ // the indexes still to be visited.
345
+ for (let index = (state.$contentActions ?? []).length - 1; index >= 0; index--) {
346
+ if (state.$contentActions[index].action) {
347
+ state.$contentActions.splice(index, 0, createChatStateContentAction());
348
+ }
349
+ }
350
+ flow[stateId] = state;
351
+ }
352
+ catch (err) {
353
+ if (err instanceof Error) {
354
+ throw new Error(`[State ${stateId}] ${err.message}`, { cause: err });
355
+ }
356
+ throw err;
357
+ }
358
+ }
359
+ // Drops the keys explicitly set to undefined above.
360
+ return JSON.parse(JSON.stringify(flow));
361
+ }
362
+ /**
363
+ * Typing indicators are dropped by `minifyFlow` and rebuilt here from scratch,
364
+ * one before every message, rather than being carried through the minified flow.
365
+ *
366
+ * This is deliberate: they are pure presentation, they outnumber the messages
367
+ * they precede, and keeping them would double the size of the file a person or
368
+ * an LLM has to read and edit. The trade-off is that a typing interval tuned by
369
+ * hand in the builder does not survive a round trip and comes back as the
370
+ * default below.
371
+ */
372
+ function createChatStateContentAction() {
373
+ const content = { state: 'composing', interval: 1000 };
374
+ return {
375
+ action: {
376
+ $id: crypto.randomUUID(),
377
+ $typeOfContent: 'chat-state',
378
+ type: 'SendMessage',
379
+ settings: {
380
+ id: crypto.randomUUID(),
381
+ type: 'application/vnd.lime.chatstate+json',
382
+ content,
383
+ },
384
+ $cardContent: {
385
+ document: {
386
+ id: crypto.randomUUID(),
387
+ type: 'application/vnd.lime.chatstate+json',
388
+ content,
389
+ },
390
+ editable: true,
391
+ deletable: true,
392
+ position: 'left',
393
+ },
394
+ },
395
+ $invalid: false,
396
+ };
397
+ }
398
+ /** Derives the label the builder would have given an action it has never seen. */
399
+ function getTypeOfContent(action) {
400
+ if (action.type === 'SendRawMessage') {
401
+ return 'raw-content';
402
+ }
403
+ const settings = action.settings;
404
+ switch (settings.type) {
405
+ case 'text/plain':
406
+ return 'text';
407
+ case 'application/vnd.lime.media-link+json':
408
+ return getTypeOfMedia(settings.content?.type ?? '');
409
+ case 'application/vnd.lime.select+json':
410
+ return settings.content?.scope === 'immediate' ? 'select-immediate' : 'select';
411
+ case 'application/vnd.lime.chatstate+json':
412
+ return 'chat-state';
413
+ case 'application/vnd.lime.web-link+json':
414
+ return 'web-link';
415
+ default:
416
+ throw new Error(`Content action does not have a valid action property: ${JSON.stringify(action)}`);
417
+ }
418
+ }
419
+ function getTypeOfMedia(mimeType) {
420
+ if (mimeType.startsWith('audio/')) {
421
+ return 'media-audio';
422
+ }
423
+ if (mimeType.startsWith('video/')) {
424
+ return 'media-video';
425
+ }
426
+ return mimeType.startsWith('image/') ? 'media' : 'media-document';
427
+ }
428
+ function createActionTitle(action) {
429
+ const sanitize = (value) => value.toString().replace(/[^a-zA-Z0-9.@]/g, '');
430
+ switch (action.type) {
431
+ case 'TrackEvent':
432
+ return `Track ${sanitize(action.settings.category)}`;
433
+ case 'ExecuteScript':
434
+ case 'ExecuteScriptV2':
435
+ return `Process ${action.settings.outputVariable}`;
436
+ case 'Redirect':
437
+ return `Redirect to ${sanitize(action.settings.address)}`;
438
+ case 'MergeContact': {
439
+ const items = Object.keys(action.settings).filter((key) => key !== 'extras');
440
+ if (Object.keys(action.settings.extras ?? {}).length > 0) {
441
+ items.push('extras');
442
+ }
443
+ return `Set ${items.join(', ')}`;
444
+ }
445
+ case 'ProcessHttp':
446
+ return `[${action.settings.method}] Process ${action.settings.responseBodyVariable ?? ''}`;
447
+ case 'SetVariable':
448
+ return `Set ${action.settings.variable} to ${sanitize(action.settings.value ?? '')}`;
449
+ case 'ProcessCommand':
450
+ return `[${action.settings.method.toUpperCase()}] Process ${action.settings.variable}`;
451
+ default:
452
+ return undefined;
453
+ }
454
+ }
455
+ //# sourceMappingURL=minifier.js.map