@whitewall/blip-sdk 0.0.192 → 0.0.193

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 (36) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/flow.js +34 -1
  4. package/dist/cjs/types/flow.js.map +1 -1
  5. package/dist/cjs/utils/builder.js +9 -28
  6. package/dist/cjs/utils/builder.js.map +1 -1
  7. package/dist/cjs/utils/flow-rules.js +304 -0
  8. package/dist/cjs/utils/flow-rules.js.map +1 -0
  9. package/dist/cjs/utils/minifier.js +42 -92
  10. package/dist/cjs/utils/minifier.js.map +1 -1
  11. package/dist/esm/index.js +1 -0
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/types/flow.js +29 -0
  14. package/dist/esm/types/flow.js.map +1 -1
  15. package/dist/esm/utils/builder.js +9 -27
  16. package/dist/esm/utils/builder.js.map +1 -1
  17. package/dist/esm/utils/flow-rules.js +297 -0
  18. package/dist/esm/utils/flow-rules.js.map +1 -0
  19. package/dist/esm/utils/minifier.js +40 -90
  20. package/dist/esm/utils/minifier.js.map +1 -1
  21. package/dist/types/index.d.ts +1 -0
  22. package/dist/types/index.d.ts.map +1 -1
  23. package/dist/types/types/flow.d.ts +33 -0
  24. package/dist/types/types/flow.d.ts.map +1 -1
  25. package/dist/types/utils/builder.d.ts +16 -25
  26. package/dist/types/utils/builder.d.ts.map +1 -1
  27. package/dist/types/utils/flow-rules.d.ts +50 -0
  28. package/dist/types/utils/flow-rules.d.ts.map +1 -0
  29. package/dist/types/utils/minifier.d.ts +294 -2
  30. package/dist/types/utils/minifier.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/index.ts +1 -0
  33. package/src/types/flow.ts +40 -0
  34. package/src/utils/builder.ts +29 -62
  35. package/src/utils/flow-rules.ts +453 -0
  36. package/src/utils/minifier.ts +46 -95
package/dist/cjs/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./sender/index.js"), exports);
21
21
  __exportStar(require("./types/index.js"), exports);
22
22
  __exportStar(require("./utils/builder.js"), exports);
23
23
  __exportStar(require("./utils/desk.js"), exports);
24
+ __exportStar(require("./utils/flow-rules.js"), exports);
24
25
  __exportStar(require("./utils/minifier.js"), exports);
25
26
  __exportStar(require("./utils/odata.js"), exports);
26
27
  __exportStar(require("./utils/thread.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4DAAyC;AACzC,qDAAkC;AAClC,oDAAiC;AACjC,mDAAgC;AAChC,qDAAkC;AAClC,kDAA+B;AAC/B,sDAAmC;AACnC,mDAAgC;AAChC,oDAAiC;AACjC,iDAA8B;AAC9B,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4DAAyC;AACzC,qDAAkC;AAClC,oDAAiC;AACjC,mDAAgC;AAChC,qDAAkC;AAClC,kDAA+B;AAC/B,wDAAqC;AACrC,sDAAmC;AACnC,mDAAgC;AAChC,oDAAiC;AACjC,iDAA8B;AAC9B,sDAAmC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flowSchema = exports.stateSchema = exports.contentActionItemSchema = exports.defaultOutputSchema = exports.conditionOutputSchema = exports.inputStateSchema = exports.actionSchema = exports.actionTypeSchema = exports.baseActionSchema = exports.conditionSchema = exports.ROOT_STATE_ID = exports.MIME_TYPES = exports.CONTENT_TYPES = void 0;
3
+ exports.flowSchema = exports.stateSchema = exports.contentActionItemSchema = exports.defaultOutputSchema = exports.conditionOutputSchema = exports.inputStateSchema = exports.actionSchema = exports.actionTypeSchema = exports.baseActionSchema = exports.conditionSchema = exports.resolveEntryPointId = exports.CUSTOM_ACTION_LISTS = exports.ROOT_STATE_ID = exports.MIME_TYPES = exports.CONTENT_TYPES = void 0;
4
+ exports.isChatStateSendMessage = isChatStateSendMessage;
5
+ exports.inputOf = inputOf;
6
+ exports.optionLabels = optionLabels;
4
7
  const zod_1 = require("zod");
5
8
  const VALIDATION_RULES = ['text', 'number', 'date', 'regex', 'type'];
6
9
  exports.CONTENT_TYPES = [
@@ -46,6 +49,15 @@ const CONDITION_SOURCES = ['input', 'context'];
46
49
  const LOGICAL_OPERATORS = ['or', 'and'];
47
50
  const TYPE_OF_STATE_ID = ['state', 'variable'];
48
51
  exports.ROOT_STATE_ID = 'onboarding';
52
+ exports.CUSTOM_ACTION_LISTS = [
53
+ '$enteringCustomActions',
54
+ '$leavingCustomActions',
55
+ '$afterStateChangedActions',
56
+ '$localCustomActions',
57
+ ];
58
+ /** The state that declares `root`, or the conventional id for a flow that predates it. */
59
+ const resolveEntryPointId = (flow) => Object.keys(flow).find((stateId) => flow[stateId].root) ?? (exports.ROOT_STATE_ID in flow ? exports.ROOT_STATE_ID : undefined);
60
+ exports.resolveEntryPointId = resolveEntryPointId;
49
61
  const createVariableNameSchema = (description) => zod_1.z.string().describe(description);
50
62
  const plainTextSchema = zod_1.z.string();
51
63
  const mediaLinkSchema = zod_1.z.object({
@@ -349,4 +361,25 @@ exports.stateSchema = zod_1.z.object({
349
361
  $whiteWallIntegration: zod_1.z.unknown().optional(),
350
362
  });
351
363
  exports.flowSchema = zod_1.z.record(zod_1.z.string(), exports.stateSchema);
364
+ /**
365
+ * Typing indicators are noise in every projection of a flow, so both the digest
366
+ * and the minifier drop them. The two signals are checked because `$typeOfContent`
367
+ * is absent from a minified flow and can come back empty from a GET, while the
368
+ * settings mime type is absent from a hand-written action.
369
+ */
370
+ function isChatStateSendMessage(item) {
371
+ if (item.action?.type !== 'SendMessage') {
372
+ return false;
373
+ }
374
+ return (item.action.$typeOfContent === 'chat-state' ||
375
+ item.action.settings.type === 'application/vnd.lime.chatstate+json');
376
+ }
377
+ /** The input the runtime will use: the first one in the state, if any. */
378
+ function inputOf(state) {
379
+ return state.$contentActions.find((item) => item.input)?.input;
380
+ }
381
+ /** The labels of a select's options, which are what a user answers with. */
382
+ function optionLabels(content) {
383
+ return (content.options ?? []).map((option) => (typeof option === 'string' ? option : (option?.text ?? '')));
384
+ }
352
385
  //# sourceMappingURL=flow.js.map
@@ -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,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.digestAction = digestAction;
4
- exports.isChatStateSendMessage = isChatStateSendMessage;
5
4
  exports.resolveStateName = resolveStateName;
6
5
  exports.digestState = digestState;
7
6
  /**
@@ -9,6 +8,9 @@ exports.digestState = digestState;
9
8
  * a human or an LLM. It renames the `$`-prefixed keys to readable ones, drops
10
9
  * layout metadata and denormalizes state names, so it cannot be pushed back to
11
10
  * the builder. For the round-trippable format, see `./minifier.ts`.
11
+ *
12
+ * Typed over `MinifiedState`, which a full `State` satisfies, so both a pulled
13
+ * flow and a minified one digest without casts.
12
14
  */
13
15
  const flow_ts_1 = require("../types/flow.js");
14
16
  function digestConditions(conditions) {
@@ -59,19 +61,6 @@ function digestInput(input) {
59
61
  result.conditions = conditions;
60
62
  return result;
61
63
  }
62
- /**
63
- * Typing indicators are noise in every projection of a flow, so both the digest
64
- * and the minifier drop them. The two signals are checked because `$typeOfContent`
65
- * is absent from a minified flow and can come back empty from a GET, while the
66
- * settings mime type is absent from a hand-written action.
67
- */
68
- function isChatStateSendMessage(item) {
69
- if (item.action?.type !== 'SendMessage') {
70
- return false;
71
- }
72
- return (item.action.$typeOfContent === 'chat-state' ||
73
- item.action.settings.type === 'application/vnd.lime.chatstate+json');
74
- }
75
64
  function resolveStateName(stateId, flow) {
76
65
  const state = flow[stateId];
77
66
  return state?.$title;
@@ -85,32 +74,24 @@ function digestOutput(output, flow) {
85
74
  result.stateName = name;
86
75
  if (output.typeOfStateId)
87
76
  result.typeOfStateId = output.typeOfStateId;
88
- if ('conditions' in output && Array.isArray(output.conditions) && output.conditions.length > 0) {
89
- result.conditions = digestConditions(output.conditions);
90
- }
77
+ const conditions = digestConditions(output.conditions);
78
+ if (conditions)
79
+ result.conditions = conditions;
91
80
  return result;
92
81
  }
93
82
  function digestState(stateId, state, flow) {
94
83
  const result = {
95
84
  id: stateId,
96
85
  name: state.$title,
97
- defaultOutput: {
98
- stateId: state.$defaultOutput.stateId,
99
- ...(resolveStateName(state.$defaultOutput.stateId, flow)
100
- ? { stateName: resolveStateName(state.$defaultOutput.stateId, flow) }
101
- : {}),
102
- ...(state.$defaultOutput.typeOfStateId ? { typeOfStateId: state.$defaultOutput.typeOfStateId } : {}),
103
- },
86
+ defaultOutput: digestOutput(state.$defaultOutput, flow),
104
87
  };
105
- // Derived from the id so the digest reads the same whether it is handed a
106
- // full flow or a minified one, which no longer carries `root`.
107
- if (state.root || stateId === flow_ts_1.ROOT_STATE_ID)
88
+ if ((0, flow_ts_1.resolveEntryPointId)(flow) === stateId)
108
89
  result.root = true;
109
90
  const enteringActions = state.$enteringCustomActions.map(digestAction);
110
91
  if (enteringActions.length > 0)
111
92
  result.enteringActions = enteringActions;
112
93
  const contentActions = state.$contentActions
113
- .filter((item) => !isChatStateSendMessage(item))
94
+ .filter((item) => !(0, flow_ts_1.isChatStateSendMessage)(item))
114
95
  .map((item) => {
115
96
  const entry = {};
116
97
  if (item.action)
@@ -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":";;AAmEA,oCAQC;AAoBD,4CAGC;AAiBD,kCAqCC;AAxJD;;;;;;;;GAQG;AACH,8CAA8F;AAwC9F,SAAS,gBAAgB,CAAC,UAA6B;IACnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM;KACnB,CAAC,CAAC,CAAA;AACP,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAiC;IAC3D,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACrB,OAAO,KAAK,CAAC,EAAE,CAAA;IACf,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAsB;IAC/C,MAAM,MAAM,GAAiB;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAmC,CAAC;KAC7E,CAAA;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACtD,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9C,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAgC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IACpD,IAAI,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IACpD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;YAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;SAChC,CAAA;IACL,CAAC;IACD,IAAI,KAAK,CAAC,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9C,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,IAAmC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,KAAK,EAAE,MAAM,CAAA;AACxB,CAAC;AAED,SAAS,YAAY,CACjB,MAAkF,EAClF,IAAmC;IAEnC,MAAM,MAAM,GAAiB;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KAC1B,CAAA;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,IAAI;QAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;IACjC,IAAI,MAAM,CAAC,aAAa;QAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;IACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACtD,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9C,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,WAAW,CAAC,OAAe,EAAE,KAAoB,EAAE,IAAmC;IAClG,MAAM,MAAM,GAAgB;QACxB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC;KAC1D,CAAA;IAED,IAAI,IAAA,6BAAmB,EAAC,IAAI,CAAC,KAAK,OAAO;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;IAE7D,MAAM,eAAe,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACtE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,eAAe,GAAG,eAAe,CAAA;IAExE,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe;SACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,gCAAsB,EAAC,IAAI,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,MAAM,KAAK,GAAmD,EAAE,CAAA;QAChE,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;QAC9B,OAAO,KAAK,CAAA;IAChB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACnD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAA;IAErE,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACpE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAA;IAErE,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IAEhD,MAAM,wBAAwB,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC1F,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,wBAAwB,GAAG,wBAAwB,CAAA;IAEnG,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACxE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAE/D,OAAO,MAAM,CAAA;AACjB,CAAC"}
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ /**
3
+ * Everything the Builder runtime refuses to run, checked against a minified flow.
4
+ *
5
+ * A port of the runtime's own validation — `Models/Flow.cs::Validate`,
6
+ * `Models/Condition.cs::Validate`, `Models/Input.cs::Validate` and the media type
7
+ * each action deserializes. All of them throw at load or mid-turn, and the runtime
8
+ * validates the whole flow on every message, so one of these takes the bot down
9
+ * for every user rather than breaking one branch.
10
+ *
11
+ * The line is deliberate: this file only holds what makes the runtime throw. A
12
+ * flow that is merely suspect — a quick reply nothing matches, a variable nobody
13
+ * writes — parses fine here, because that is a linter's job and a schema can only
14
+ * say "invalid" where a linter can say "warning".
15
+ *
16
+ * It is one pass over the whole flow, wired into `minifiedFlowSchema` alone. Zod
17
+ * skips a `.check()` on a value that already has issues, so a check per action and
18
+ * a check per state would report the innermost problem and hide the rest.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.isVariableOutput = exports.PROVIDER_NAMESPACES = exports.VARIABLE_NAME = void 0;
22
+ exports.flowRuleOf = flowRuleOf;
23
+ exports.checkFlow = checkFlow;
24
+ exports.placeholderReadsOf = placeholderReadsOf;
25
+ const flow_ts_1 = require("../types/flow.js");
26
+ /**
27
+ * The rule a zod issue came from, if it came from one of these checks.
28
+ *
29
+ * The id travels in the issue's `params`, which zod types as `Record<string, any>`,
30
+ * so reading it through here is what keeps `FlowRule` meaning anything on the way
31
+ * out — a caller that reaches into `params` itself gets `any` back.
32
+ */
33
+ function flowRuleOf(issue) {
34
+ const rule = issue.code === 'custom' ? issue.params?.rule : undefined;
35
+ return typeof rule === 'string' ? rule : undefined;
36
+ }
37
+ const UNARY_COMPARISONS = new Set(['exists', 'notExists']);
38
+ /** `Models/Input.cs`: the runtime rejects an input variable outside this set. */
39
+ const INPUT_VARIABLE_PATTERN = /^[a-zA-Z0-9.]+$/;
40
+ /** `Utils/VariableReplacer.cs`: the only shape the runtime substitutes. */
41
+ const VARIABLE_ALPHABET = '[a-zA-Z0-9.@_-]';
42
+ exports.VARIABLE_NAME = new RegExp(`^${VARIABLE_ALPHABET}+$`);
43
+ /** Anything brace-wrapped, so the shapes the replacer skips can be reported too. */
44
+ const PLACEHOLDER_PATTERN = /{{([^{}]*)}}/g;
45
+ /** `ContextBase.cs`: what `VariableName.Parse` accepts before the `@`. */
46
+ const READABLE_NAME_PATTERN = /^[\w\d]+(\.[\w\d.]+)?$/;
47
+ const MEDIA_TYPE_PATTERN = /^[a-z]+\/[\w.+-]+$/i;
48
+ /** `Variables/VariableSource.cs`: a name whose first segment is one of these reads a provider. */
49
+ exports.PROVIDER_NAMESPACES = new Set([
50
+ 'contact',
51
+ 'calendar',
52
+ 'random',
53
+ 'bucket',
54
+ 'config',
55
+ 'input',
56
+ 'state',
57
+ 'tunnel',
58
+ 'application',
59
+ 'ticket',
60
+ 'resource',
61
+ 'aianswers',
62
+ 'secret',
63
+ 'blipfunction',
64
+ 'aiagent',
65
+ ]);
66
+ /** `Models/Flow.cs`: an output names a state, or a `{{variable}}` resolved at runtime. */
67
+ const isVariableOutput = (stateId) => stateId.startsWith('{{') && stateId.endsWith('}}');
68
+ exports.isVariableOutput = isVariableOutput;
69
+ /**
70
+ * `Models/Flow.cs::Validate`, walked in one pass so every problem in the flow is
71
+ * reported at once.
72
+ */
73
+ function checkFlow(flow, report) {
74
+ checkEntryPoint(flow, report);
75
+ const titles = new Map();
76
+ for (const [stateId, state] of Object.entries(flow)) {
77
+ // The runtime keys states by id and does not care, but the builder
78
+ // addresses them by title, so a duplicate hides one on the canvas.
79
+ const title = state.$title.toLowerCase();
80
+ const duplicate = titles.get(title);
81
+ if (duplicate) {
82
+ report('duplicate-title', [stateId, '$title'], `Duplicate state title '${state.$title}', already used by '${duplicate}'`);
83
+ }
84
+ else {
85
+ titles.set(title, stateId);
86
+ }
87
+ for (const [output, path] of outputsOf(state)) {
88
+ if (!(0, exports.isVariableOutput)(output.stateId) && !(output.stateId in flow)) {
89
+ report('dangling-output', [stateId, ...path, 'stateId'], `'${output.stateId}' is not a state in this flow, and is not a {{variable}}`);
90
+ }
91
+ }
92
+ checkLoops(stateId, state, flow, report);
93
+ checkState(stateId, state, report);
94
+ }
95
+ }
96
+ /** `Models/Flow.cs`: one entry point, and it has to wait for an input. */
97
+ function checkEntryPoint(flow, report) {
98
+ const declared = Object.values(flow).filter((state) => state.root).length;
99
+ if (declared > 1) {
100
+ report('missing-root-state', [], `${declared} states are marked "root": true, and a flow can only have one entry point`);
101
+ return;
102
+ }
103
+ const stateId = (0, flow_ts_1.resolveEntryPointId)(flow);
104
+ if (!stateId) {
105
+ report('missing-root-state', [], `No state is marked "root": true, and there is no '${flow_ts_1.ROOT_STATE_ID}' state to fall back to`);
106
+ return;
107
+ }
108
+ const input = (0, flow_ts_1.inputOf)(flow[stateId]);
109
+ if (!input || input.bypass) {
110
+ report('root-must-wait', [stateId], 'The entry point has to wait for an input: give it an input that is not bypassed');
111
+ }
112
+ if (input?.conditions?.length) {
113
+ report('root-must-wait', [stateId], "The entry point's input must not have conditions");
114
+ }
115
+ }
116
+ /** What one state decides on its own, plus its inputs and actions. */
117
+ function checkState(stateId, state, report) {
118
+ for (const [index, output] of state.$conditionOutputs.entries()) {
119
+ // `ConditionsExtensions.cs` returns true for an empty list, so an output
120
+ // with no conditions always matches and hides every output after it.
121
+ if (output.conditions.length === 0 && index < state.$conditionOutputs.length - 1) {
122
+ report('shadowed-output', [stateId, '$conditionOutputs', index], `This output has no conditions, so it always matches and the ${state.$conditionOutputs.length - index - 1} output(s) after it can never run`);
123
+ }
124
+ for (const [conditionIndex, condition] of output.conditions.entries()) {
125
+ checkCondition(condition, [stateId, '$conditionOutputs', index, 'conditions', conditionIndex], report);
126
+ }
127
+ }
128
+ for (const [index, item] of state.$contentActions.entries()) {
129
+ if (item.input) {
130
+ checkInput(item.input, [stateId, '$contentActions', index, 'input'], report);
131
+ }
132
+ if (item.action) {
133
+ checkAction(item.action, [stateId, '$contentActions', index, 'action'], report);
134
+ }
135
+ }
136
+ for (const list of flow_ts_1.CUSTOM_ACTION_LISTS) {
137
+ for (const [index, action] of (state[list] ?? []).entries()) {
138
+ checkAction(action, [stateId, list, index], report);
139
+ }
140
+ }
141
+ checkVariableReads(stateId, state, report);
142
+ }
143
+ /** `Models/Condition.cs::Validate`, plus the regex the comparison would compile. */
144
+ function checkCondition(condition, path, report) {
145
+ if (condition.source === 'context' && !condition.variable) {
146
+ report('invalid-condition', path, 'A condition on the context has to name a variable');
147
+ }
148
+ const takesValues = !UNARY_COMPARISONS.has(condition.comparison);
149
+ if (takesValues !== condition.values.length > 0) {
150
+ report('invalid-condition', [...path, 'values'], takesValues
151
+ ? `'${condition.comparison}' has no values to compare against`
152
+ : `'${condition.comparison}' is rejected by the runtime when values are provided`);
153
+ }
154
+ if (condition.comparison === 'matches') {
155
+ for (const [index, value] of condition.values.entries()) {
156
+ checkRegex(value, [...path, 'values', index], report);
157
+ }
158
+ }
159
+ }
160
+ /** `Models/Input.cs::Validate`. */
161
+ function checkInput(input, path, report) {
162
+ if (input.variable && !INPUT_VARIABLE_PATTERN.test(input.variable)) {
163
+ report('invalid-variable-name', [...path, 'variable'], `'${input.variable}' is rejected by the runtime: letters, numbers and dots only`);
164
+ }
165
+ if (input.validation) {
166
+ const { rule, regex, type, error } = input.validation;
167
+ if (rule === 'regex' && !regex) {
168
+ report('invalid-input-validation', [...path, 'validation', 'regex'], "The 'regex' rule needs a regex");
169
+ }
170
+ if (rule === 'type' && !type) {
171
+ report('invalid-input-validation', [...path, 'validation', 'type'], "The 'type' rule needs a media type");
172
+ }
173
+ // Required for every rule, not just regex.
174
+ if (!error.trim()) {
175
+ report('invalid-input-validation', [...path, 'validation', 'error'], 'The validation needs the message to send when the answer does not pass');
176
+ }
177
+ if (regex) {
178
+ checkRegex(regex, [...path, 'validation', 'regex'], report);
179
+ }
180
+ }
181
+ for (const [index, condition] of (input.conditions ?? []).entries()) {
182
+ checkCondition(condition, [...path, 'conditions', index], report);
183
+ }
184
+ }
185
+ /** What each action needs before the runtime will run it. */
186
+ function checkAction(action, path, report) {
187
+ for (const [index, condition] of (action.conditions ?? []).entries()) {
188
+ checkCondition(condition, [...path, 'conditions', index], report);
189
+ }
190
+ if (action.type !== 'SendMessage' && action.type !== 'SendRawMessage') {
191
+ return;
192
+ }
193
+ const { type } = action.settings;
194
+ if (!type) {
195
+ report('missing-media-type', [...path, 'settings', 'type'], `A ${action.type} action requires a settings.type`);
196
+ return;
197
+ }
198
+ if (action.type === 'SendRawMessage') {
199
+ if (!MEDIA_TYPE_PATTERN.test(type)) {
200
+ report('missing-media-type', [...path, 'settings', 'type'], `'${type}' is not a valid media type`);
201
+ }
202
+ return;
203
+ }
204
+ // `SendMessageAction.cs` deserializes a `+json` content into a dictionary,
205
+ // which throws on a string. The plain branch stringifies whatever it gets, so
206
+ // only the document types are worth checking.
207
+ if (type !== 'text/plain' && typeof action.settings.content !== 'object') {
208
+ report('content-type-mismatch', [...path, 'settings', 'content'], `A '${type}' message needs an object as its content`);
209
+ }
210
+ }
211
+ /**
212
+ * A state that can be reached again without the user ever answering.
213
+ *
214
+ * `Flow.cs` walks this transitively and refuses to load the flow when the state
215
+ * has no input element at all; a state whose only way out is itself burns the ten
216
+ * transitions an input is allowed and throws mid-turn. A bypassed state that has
217
+ * another way out is left alone: paging through a shrinking variable is a real
218
+ * pattern, and it terminates.
219
+ */
220
+ function checkLoops(stateId, state, flow, report) {
221
+ const input = (0, flow_ts_1.inputOf)(state);
222
+ if (input && !input.bypass) {
223
+ return;
224
+ }
225
+ if (outputsOf(state).every(([output]) => output.stateId === stateId)) {
226
+ report('transition-loop', [stateId], 'Every output leads back to this state and it does not wait for an input, so the runtime loops until it hits the transition limit');
227
+ return;
228
+ }
229
+ if (input) {
230
+ return;
231
+ }
232
+ const seen = new Set([stateId]);
233
+ const pending = [stateId];
234
+ while (pending.length > 0) {
235
+ for (const [output] of outputsOf(flow[pending.pop()])) {
236
+ if (output.stateId === stateId) {
237
+ report('input-less-loop', [stateId], 'This state has no input and can be reached again without the user ever answering, which the runtime refuses to load');
238
+ return;
239
+ }
240
+ const next = flow[output.stateId];
241
+ if (!next || seen.has(output.stateId)) {
242
+ continue;
243
+ }
244
+ // A state that waits for an answer breaks the chain.
245
+ const nextInput = (0, flow_ts_1.inputOf)(next);
246
+ if (!nextInput || nextInput.bypass) {
247
+ seen.add(output.stateId);
248
+ pending.push(output.stateId);
249
+ }
250
+ }
251
+ }
252
+ }
253
+ /**
254
+ * Every `{{reference}}` a state carries, deduped, with script sources masked out:
255
+ * a script's braces are a doc comment or a nested object literal, not a read.
256
+ */
257
+ function placeholderReadsOf(state) {
258
+ const readable = JSON.stringify(state, (_key, value) => value?.type === 'ExecuteScript' || value?.type === 'ExecuteScriptV2'
259
+ ? { ...value, settings: { ...value.settings, source: '' } }
260
+ : value);
261
+ return [...new Set([...readable.matchAll(PLACEHOLDER_PATTERN)].map((match) => match[1]))];
262
+ }
263
+ /**
264
+ * A `{{...}}` the replacer will not substitute reaches the user with its braces
265
+ * showing, and one it substitutes but `VariableName.Parse` throws on aborts the
266
+ * turn instead of resolving to an empty string.
267
+ */
268
+ function checkVariableReads(stateId, state, report) {
269
+ for (const reference of placeholderReadsOf(state)) {
270
+ if (!exports.VARIABLE_NAME.test(reference)) {
271
+ report('malformed-placeholder', [stateId], `'{{${reference}}}' is not a name the runtime substitutes${reference !== reference.trim() ? ' (spaces are not allowed inside the braces)' : ''}, so it is sent as written`);
272
+ continue;
273
+ }
274
+ const name = reference.split('@')[0];
275
+ const namespace = name.split('.')[0];
276
+ if (exports.PROVIDER_NAMESPACES.has(namespace.toLowerCase())) {
277
+ continue;
278
+ }
279
+ if (!READABLE_NAME_PATTERN.test(name)) {
280
+ report('unreadable-variable', [stateId], `'{{${name}}}' cannot be parsed by the runtime — a hyphen is the usual cause — and reading it aborts the turn`);
281
+ }
282
+ else if (name.includes('.')) {
283
+ report('unreadable-variable', [stateId], `'{{${name}}}' looks like a provider read, but '${namespace}' is not one, so reading it aborts the turn. A context variable cannot contain a dot`);
284
+ }
285
+ }
286
+ }
287
+ function checkRegex(pattern, path, report) {
288
+ try {
289
+ new RegExp(pattern);
290
+ }
291
+ catch {
292
+ report('invalid-regex', path, `'${pattern}' is not a valid regular expression`);
293
+ }
294
+ }
295
+ function outputsOf(state) {
296
+ return [
297
+ [state.$defaultOutput, ['$defaultOutput']],
298
+ ...state.$conditionOutputs.map((output, index) => [
299
+ output,
300
+ ['$conditionOutputs', index],
301
+ ]),
302
+ ];
303
+ }
304
+ //# sourceMappingURL=flow-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-rules.js","sourceRoot":"","sources":["../../../src/utils/flow-rules.ts"],"names":[],"mappings":"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"}