@owlmeans/bot 0.1.18-rc.2 → 0.1.18

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 (63) hide show
  1. package/README.md +23 -21
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/bot/SKILL.md +68 -46
  4. package/build/consts.d.ts +6 -31
  5. package/build/consts.d.ts.map +1 -1
  6. package/build/consts.js +10 -36
  7. package/build/consts.js.map +1 -1
  8. package/build/consts.local.d.ts +3 -1
  9. package/build/consts.local.d.ts.map +1 -1
  10. package/build/consts.local.js +3 -1
  11. package/build/consts.local.js.map +1 -1
  12. package/build/helpers/index.d.ts +2 -2
  13. package/build/helpers/index.js +1 -1
  14. package/build/helpers/text/types.d.ts +35 -0
  15. package/build/helpers/text/types.d.ts.map +1 -0
  16. package/build/helpers/{rule → text}/types.js.map +1 -1
  17. package/build/helpers/text.d.ts +4 -0
  18. package/build/helpers/text.d.ts.map +1 -0
  19. package/build/helpers/text.js +77 -0
  20. package/build/helpers/text.js.map +1 -0
  21. package/build/protocols/types.d.ts +2 -17
  22. package/build/protocols/types.d.ts.map +1 -1
  23. package/build/protocols.d.ts +1 -1
  24. package/build/protocols.d.ts.map +1 -1
  25. package/build/protocols.js +2 -7
  26. package/build/protocols.js.map +1 -1
  27. package/build/schemas.d.ts +2 -4
  28. package/build/schemas.d.ts.map +1 -1
  29. package/build/schemas.js +3 -31
  30. package/build/schemas.js.map +1 -1
  31. package/build/types.d.ts +7 -41
  32. package/build/types.d.ts.map +1 -1
  33. package/build/utils/aliases/types.d.ts +0 -5
  34. package/build/utils/aliases/types.d.ts.map +1 -1
  35. package/build/utils/aliases.d.ts.map +1 -1
  36. package/build/utils/aliases.js +0 -5
  37. package/build/utils/aliases.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/consts.local.ts +4 -1
  40. package/src/consts.ts +6 -37
  41. package/src/helpers/index.ts +2 -2
  42. package/src/helpers/text/types.ts +35 -0
  43. package/src/helpers/text.ts +91 -0
  44. package/src/protocols/types.ts +2 -12
  45. package/src/protocols.ts +4 -21
  46. package/src/schemas.ts +5 -39
  47. package/src/types.ts +7 -45
  48. package/src/utils/aliases/types.ts +0 -1
  49. package/src/utils/aliases.ts +0 -5
  50. package/tests/protocols.spec.ts +3 -7
  51. package/tests/schemas.spec.ts +2 -30
  52. package/tests/text.spec.ts +101 -0
  53. package/tests/update.spec.ts +4 -10
  54. package/build/helpers/rule/types.d.ts +0 -26
  55. package/build/helpers/rule/types.d.ts.map +0 -1
  56. package/build/helpers/rule.d.ts +0 -4
  57. package/build/helpers/rule.d.ts.map +0 -1
  58. package/build/helpers/rule.js +0 -71
  59. package/build/helpers/rule.js.map +0 -1
  60. package/src/helpers/rule/types.ts +0 -26
  61. package/src/helpers/rule.ts +0 -89
  62. package/tests/rule.spec.ts +0 -129
  63. /package/build/helpers/{rule → text}/types.js +0 -0
@@ -0,0 +1,77 @@
1
+ import { BotTextMatch } from '../consts.js';
2
+ import { BOT_PHRASE_SEPARATOR_PATTERN, BOT_SPACE_PATTERN, BOT_TOKEN_PATTERN } from '../consts.local.js';
3
+ export const createBotTextHelper = () => {
4
+ /**
5
+ * NFKC, then a case fold: upper-casing first maps what lower-casing alone keeps apart (`ß` → `SS`
6
+ * → `ss`, final `ς` → `Σ` → `σ`), and NFKC again recomposes what the case mapping decomposed.
7
+ */
8
+ const fold = (text) => typeof text === 'string' ? text.normalize('NFKC').toUpperCase().toLowerCase().normalize('NFKC') : '';
9
+ const tokensOf = (text) => fold(text).match(BOT_TOKEN_PATTERN) ?? [];
10
+ /** The folded text with whitespace runs collapsed — the `contains` form and the dedupe key. */
11
+ const spacedOf = (text) => fold(text).replace(BOT_SPACE_PATTERN, ' ').trim();
12
+ const hasPhrase = (tokens, phrase) => {
13
+ for (let at = 0; at + phrase.length <= tokens.length; at++) {
14
+ if (phrase.every((token, offset) => tokens[at + offset] === token)) {
15
+ return true;
16
+ }
17
+ }
18
+ return false;
19
+ };
20
+ const matched = (text, phrases, mode = BotTextMatch.Word) => {
21
+ if (typeof text !== 'string' || text.trim() === '' || !Array.isArray(phrases)) {
22
+ return [];
23
+ }
24
+ // Folded once per text, never per phrase.
25
+ let tokens;
26
+ let spaced;
27
+ const found = (phrase) => {
28
+ if (mode === BotTextMatch.Contains) {
29
+ const needle = spacedOf(phrase);
30
+ spaced ??= spacedOf(text);
31
+ return needle !== '' && spaced.includes(needle);
32
+ }
33
+ const words = tokensOf(phrase);
34
+ tokens ??= tokensOf(text);
35
+ return words.length > 0 && hasPhrase(tokens, words);
36
+ };
37
+ const seen = new Set();
38
+ const result = [];
39
+ for (const phrase of phrases) {
40
+ if (typeof phrase !== 'string') {
41
+ continue;
42
+ }
43
+ const key = spacedOf(phrase);
44
+ if (key === '' || seen.has(key)) {
45
+ continue;
46
+ }
47
+ seen.add(key);
48
+ if (found(phrase)) {
49
+ result.push(phrase);
50
+ }
51
+ }
52
+ return result;
53
+ };
54
+ const phrasesOf = (input) => {
55
+ const items = typeof input === 'string' ? [input] : Array.isArray(input) ? input : [];
56
+ const seen = new Set();
57
+ const result = [];
58
+ for (const item of items) {
59
+ if (typeof item !== 'string') {
60
+ continue;
61
+ }
62
+ for (const part of item.split(BOT_PHRASE_SEPARATOR_PATTERN)) {
63
+ const phrase = part.replace(BOT_SPACE_PATTERN, ' ').trim();
64
+ const key = spacedOf(phrase);
65
+ if (key === '' || seen.has(key)) {
66
+ continue;
67
+ }
68
+ seen.add(key);
69
+ result.push(phrase);
70
+ }
71
+ }
72
+ return result;
73
+ };
74
+ return { fold, tokensOf, matched, phrasesOf };
75
+ };
76
+ export const botTextHelper = createBotTextHelper();
77
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/helpers/text.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { EntrypointProtocol, OpenRequest, OpenValue } from '@owlmeans/entrypoint';
2
2
  import type { RouteParent } from '@owlmeans/route';
3
3
  import type { BotPlatform } from '../consts.js';
4
- import type { BotActivity, BotConnection, BotConnectionInput, BotRule, BotRuleInput, BotSimulateInput, BotSimulateResult } from '../types.js';
4
+ import type { BotActivity, BotConnection, BotConnectionInput, BotSimulateInput, BotSimulateResult } from '../types.js';
5
5
  /** Where a bot tree mounts. Every leaf alias derives from `alias` (`<alias>:connection:list` …). */
6
6
  export interface BotBaseOptions {
7
7
  alias: string;
@@ -25,17 +25,13 @@ export interface BotProtocolOptions {
25
25
  export interface BotHookProtocolOptions {
26
26
  base: BotBaseOptions;
27
27
  }
28
- /** `:id` of a connection or a rule. */
28
+ /** `:id` of a connection. */
29
29
  export interface BotIdParams {
30
30
  id: string;
31
31
  }
32
32
  export interface BotRemoveResult {
33
33
  id: string;
34
34
  }
35
- export interface BotRuleListQuery {
36
- /** Rules of this connection plus the scope-wide ones; every rule of the scope when absent. */
37
- connection?: string;
38
- }
39
35
  export interface BotActivityQuery {
40
36
  connection?: string;
41
37
  /** 1 … `BOT_ACTIVITY_LIMIT_MAX`; `BOT_ACTIVITY_LIMIT_DEFAULT` when absent. */
@@ -82,17 +78,6 @@ export interface BotProtocols {
82
78
  body: BotSimulateInput;
83
79
  }, BotSimulateResult>;
84
80
  };
85
- rule: {
86
- list: EntrypointProtocol<{
87
- query: BotRuleListQuery;
88
- }, BotRule[]>;
89
- save: EntrypointProtocol<{
90
- body: BotRuleInput;
91
- }, BotRule>;
92
- remove: EntrypointProtocol<{
93
- params: BotIdParams;
94
- }, BotRemoveResult>;
95
- };
96
81
  activity: {
97
82
  /** Newest first. */
98
83
  list: EntrypointProtocol<{
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EACV,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EACpF,MAAM,aAAa,CAAA;AAEpB,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAA;IACpB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;IACnC,uFAAuF;IACvF,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qGAAqG;AACrG,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,yGAAyG;AACzG,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAChD,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;QAC7C,IAAI,EAAE,kBAAkB,CAAC;YAAE,IAAI,EAAE,kBAAkB,CAAA;SAAE,EAAE,aAAa,CAAC,CAAA;QACrE,MAAM,EAAE,kBAAkB,CAAC;YAAE,MAAM,EAAE,WAAW,CAAA;SAAE,EAAE,aAAa,CAAC,CAAA;QAClE,MAAM,EAAE,kBAAkB,CAAC;YAAE,MAAM,EAAE,WAAW,CAAA;SAAE,EAAE,eAAe,CAAC,CAAA;QACpE,oFAAoF;QACpF,QAAQ,EAAE,kBAAkB,CAAC;YAAE,MAAM,EAAE,WAAW,CAAC;YAAC,IAAI,EAAE,gBAAgB,CAAA;SAAE,EAAE,iBAAiB,CAAC,CAAA;KACjG,CAAA;IACD,QAAQ,EAAE;QACR,oBAAoB;QACpB,IAAI,EAAE,kBAAkB,CAAC;YAAE,KAAK,EAAE,gBAAgB,CAAA;SAAE,EAAE,WAAW,EAAE,CAAC,CAAA;KACrE,CAAA;CACF;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAChD,OAAO,EAAE,kBAAkB,CAAC;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,EAAE,YAAY,CAAC,CAAA;IAC1F,SAAS,EAAE,kBAAkB,CAAC;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,EAAE,MAAM,CAAC,CAAA;CAC3F"}
@@ -1,6 +1,6 @@
1
1
  import type { BotHookProtocolOptions, BotHookProtocols, BotProtocolOptions, BotProtocols } from './protocols/types.js';
2
2
  /**
3
- * Declare one managing surface of the bot — connections, rules, activity — as an immutable tree a
3
+ * Declare one managing surface of the bot — connections and activity — as an immutable tree a
4
4
  * server binds and a client calls.
5
5
  *
6
6
  * Every leaf hangs under ONE base that carries the guards and the gate, so they cannot drift apart;
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAC0E,sBAAsB,EAC1G,gBAAgB,EAA6B,kBAAkB,EAAE,YAAY,EAC9E,MAAM,sBAAsB,CAAA;AAU7B;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,SAAU,kBAAkB,KAAG,YA4D3D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,SAAU,sBAAsB,KAAG,gBAqBnE,CAAA"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAC0E,sBAAsB,EAC1G,gBAAgB,EAA6B,kBAAkB,EAAE,YAAY,EAC9E,MAAM,sBAAsB,CAAA;AAQ7B;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,SAAU,kBAAkB,KAAG,YA6C3D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,SAAU,sBAAsB,KAAG,gBAqBnE,CAAA"}
@@ -1,13 +1,13 @@
1
1
  import { contract, openProtocol, protocol, typed } from '@owlmeans/entrypoint';
2
2
  import { backend, route, RouteMethod } from '@owlmeans/route';
3
- import { BotActivityQuerySchema, BotChallengeQuerySchema, BotConnectionInputSchema, BotHookParamsSchema, BotIdParamsSchema, BotRuleInputSchema, BotRuleListQuerySchema, BotSimulateInputSchema, } from './schemas.js';
3
+ import { BotActivityQuerySchema, BotChallengeQuerySchema, BotConnectionInputSchema, BotHookParamsSchema, BotIdParamsSchema, BotSimulateInputSchema, } from './schemas.js';
4
4
  import { botAliasUtils } from './utils/aliases.js';
5
5
  const mountOf = (base) => ({
6
6
  ...(base.parent != null ? { parent: base.parent } : {}),
7
7
  ...(base.service != null ? { service: base.service } : {}),
8
8
  });
9
9
  /**
10
- * Declare one managing surface of the bot — connections, rules, activity — as an immutable tree a
10
+ * Declare one managing surface of the bot — connections and activity — as an immutable tree a
11
11
  * server binds and a client calls.
12
12
  *
13
13
  * Every leaf hangs under ONE base that carries the guards and the gate, so they cannot drift apart;
@@ -33,11 +33,6 @@ export const makeBotProtocols = (opts) => {
33
33
  body: typed(BotSimulateInputSchema),
34
34
  }, typed())),
35
35
  }),
36
- rule: Object.freeze({
37
- list: protocol(leaf(aliases.rule.list, '/rules', RouteMethod.GET), contract.request({ query: typed(BotRuleListQuerySchema) }, typed())),
38
- save: protocol(leaf(aliases.rule.save, '/rules', RouteMethod.POST), contract.request({ body: typed(BotRuleInputSchema) }, typed())),
39
- remove: protocol(leaf(aliases.rule.remove, '/rules/:id', RouteMethod.DELETE), contract.request({ params: typed(BotIdParamsSchema) }, typed())),
40
- }),
41
36
  activity: Object.freeze({
42
37
  list: protocol(leaf(aliases.activity.list, '/activity', RouteMethod.GET), contract.request({ query: typed(BotActivityQuerySchema) }, typed())),
43
38
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,iBAAiB,CAAA;AAChF,OAAO,EACL,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,iBAAiB,EACjH,sBAAsB,GACvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOlD,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAyB,EAAE,CAAC,CAAC;IAChE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3D,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAwB,EAAgB,EAAE;IACzE,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC1F,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,MAAmB,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IAEvD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QAEJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,QAAQ,CACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,EAC9D,QAAQ,CAAC,KAAK,EAAmB,CAAC,CACnC;YACD,IAAI,EAAE,QAAQ,CACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,EAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAqB,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAiB,CAAC,CACxG;YACD,MAAM,EAAE,QAAQ,CACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,EAAE,WAAW,CAAC,IAAI,CAAC,EAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAc,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAiB,CAAC,CAC5F;YACD,MAAM,EAAE,QAAQ,CACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,EACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAc,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAmB,CAAC,CAC9F;YACD,QAAQ,EAAE,QAAQ,CAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,2BAA2B,EAAE,WAAW,CAAC,IAAI,CAAC,EAChF,QAAQ,CAAC,OAAO,CAAC;gBACf,MAAM,EAAE,KAAK,CAAc,iBAAiB,CAAC;gBAC7C,IAAI,EAAE,KAAK,CAAmB,sBAAsB,CAAC;aACtD,EAAE,KAAK,EAAqB,CAAC,CAC/B;SACF,CAAC;QAEF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,QAAQ,CACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAmB,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAiB,CAAC,CACrG;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAA4B,EAAoB,EAAE;IACrF,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3F,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,OAAO,EAAE,QAAQ,CACf,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAC7F,QAAQ,CAAC,OAAO,CAAC;YACf,MAAM,EAAE,KAAK,CAAgB,mBAAmB,CAAC;YACjD,IAAI,EAAE,KAAK,EAAkB;SAC9B,EAAE,KAAK,EAAgB,CAAC,CAC1B;QACD,SAAS,EAAE,QAAQ,CACjB,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAC9F,QAAQ,CAAC,OAAO,CAAC;YACf,MAAM,EAAE,KAAK,CAAgB,mBAAmB,CAAC;YACjD,KAAK,EAAE,KAAK,CAAoB,uBAAuB,CAAC;SACzD,EAAE,KAAK,EAAU,CAAC,CACpB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,11 +1,9 @@
1
1
  import type { JSONSchemaType } from 'ajv';
2
- import type { BotActivityQuery, BotChallengeQuery, BotHookParams, BotIdParams, BotRuleListQuery } from './protocols/types.js';
3
- import type { BotConnectionInput, BotRuleInput, BotSimulateInput } from './types.js';
2
+ import type { BotActivityQuery, BotChallengeQuery, BotHookParams, BotIdParams } from './protocols/types.js';
3
+ import type { BotConnectionInput, BotSimulateInput } from './types.js';
4
4
  export declare const BotIdParamsSchema: JSONSchemaType<BotIdParams>;
5
5
  export declare const BotConnectionInputSchema: JSONSchemaType<BotConnectionInput>;
6
- export declare const BotRuleInputSchema: JSONSchemaType<BotRuleInput>;
7
6
  export declare const BotSimulateInputSchema: JSONSchemaType<BotSimulateInput>;
8
- export declare const BotRuleListQuerySchema: JSONSchemaType<BotRuleListQuery>;
9
7
  /** A query string arrives as text: the server coerces `limit` before this checks it. */
10
8
  export declare const BotActivityQuerySchema: JSONSchemaType<BotActivityQuery>;
11
9
  export declare const BotHookParamsSchema: JSONSchemaType<BotHookParams>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAOzC,OAAO,KAAK,EACV,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAClF,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAcpF,eAAO,MAAM,iBAAiB,6BAK5B,CAAA;AAEF,eAAO,MAAM,wBAAwB,oCAoBnC,CAAA;AAEF,eAAO,MAAM,kBAAkB,8BAqB7B,CAAA;AAEF,eAAO,MAAM,sBAAsB,kCAuCjC,CAAA;AAEF,eAAO,MAAM,sBAAsB,kCAKjC,CAAA;AAEF,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,kCAQjC,CAAA;AAEF,eAAO,MAAM,mBAAmB,+BAQ9B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,mCASlC,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAKzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AActE,eAAO,MAAM,iBAAiB,6BAK5B,CAAA;AAEF,eAAO,MAAM,wBAAwB,oCAoBnC,CAAA;AAEF,eAAO,MAAM,sBAAsB,kCAuCjC,CAAA;AAEF,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,kCAQjC,CAAA;AAEF,eAAO,MAAM,mBAAmB,+BAQ9B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,mCASlC,CAAA"}
package/build/schemas.js CHANGED
@@ -1,8 +1,8 @@
1
- import { BOT_ACTIVITY_LIMIT_MAX, BOT_CREDENTIAL_KEY_PATTERN, BOT_CREDENTIAL_MAX, BOT_CREDENTIALS_MAX, BOT_ID_MAX, BOT_ID_PATTERN, BOT_INSTRUCTION_MAX, BOT_KEYWORD_MAX, BOT_KEYWORDS_MAX, BOT_LABEL_MAX, BOT_NAME_MAX, BOT_REPLY_MAX, BOT_RULE_NAME_MAX, BOT_TEXT_MAX, BotChatKind, BotMatchMode, BotPlatform, BotRuleAction, BotTransport, } from './consts.js';
1
+ import { BOT_ACTIVITY_LIMIT_MAX, BOT_CREDENTIAL_KEY_PATTERN, BOT_CREDENTIAL_MAX, BOT_CREDENTIALS_MAX, BOT_ID_MAX, BOT_ID_PATTERN, BOT_LABEL_MAX, BOT_NAME_MAX, BOT_TEXT_MAX, BotChatKind, BotPlatform, BotTransport, } from './consts.js';
2
2
  /**
3
3
  * Hand-written request schemas, cast: an optional key is OPTIONAL, never `null` — the wire matches the
4
- * TypeScript type exactly. The only nullable is a rule's `connection`, whose `null` means "every
5
- * connection of the scope". `additionalProperties: false` everywhere a client writes.
4
+ * TypeScript type exactly, and nothing is nullable. `additionalProperties: false` everywhere a client
5
+ * writes.
6
6
  */
7
7
  const cast = (schema) => schema;
8
8
  const Id = { type: 'string', minLength: 1, maxLength: BOT_ID_MAX, pattern: BOT_ID_PATTERN };
@@ -36,28 +36,6 @@ export const BotConnectionInputSchema = cast({
36
36
  required: ['platform', 'label'],
37
37
  additionalProperties: false,
38
38
  });
39
- export const BotRuleInputSchema = cast({
40
- type: 'object',
41
- properties: {
42
- id: Id,
43
- connection: { ...Id, nullable: true },
44
- name: { type: 'string', minLength: 1, maxLength: BOT_RULE_NAME_MAX },
45
- keywords: {
46
- type: 'array',
47
- items: { type: 'string', minLength: 1, maxLength: BOT_KEYWORD_MAX },
48
- minItems: 1,
49
- maxItems: BOT_KEYWORDS_MAX,
50
- },
51
- mode: { type: 'string', enum: Object.values(BotMatchMode) },
52
- action: { type: 'string', enum: Object.values(BotRuleAction) },
53
- reply: { type: 'string', maxLength: BOT_REPLY_MAX },
54
- instruction: { type: 'string', maxLength: BOT_INSTRUCTION_MAX },
55
- enabled: { type: 'boolean' },
56
- order: { type: 'number' },
57
- },
58
- required: ['name', 'keywords', 'action'],
59
- additionalProperties: false,
60
- });
61
39
  export const BotSimulateInputSchema = cast({
62
40
  type: 'object',
63
41
  properties: {
@@ -98,12 +76,6 @@ export const BotSimulateInputSchema = cast({
98
76
  required: ['text'],
99
77
  additionalProperties: false,
100
78
  });
101
- export const BotRuleListQuerySchema = cast({
102
- type: 'object',
103
- properties: { connection: Id },
104
- required: [],
105
- additionalProperties: false,
106
- });
107
79
  /** A query string arrives as text: the server coerces `limit` before this checks it. */
108
80
  export const BotActivityQuerySchema = cast({
109
81
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BotActionKind, BotChatKind, BotConnectionStatus, BotMatchMode, BotPlatform, BotReceiveMode, BotRuleAction, BotTransport, BotUpdateKind } from './consts.js';
1
+ import type { BotActionKind, BotChatKind, BotConnectionStatus, BotPlatform, BotReceiveMode, BotTransport, BotUpdateKind } from './consts.js';
2
2
  /** One credential a platform needs — what the panel draws an input for. */
3
3
  export interface BotCredentialField {
4
4
  key: string;
@@ -109,42 +109,6 @@ export interface BotCommand {
109
109
  name: string;
110
110
  args: string;
111
111
  }
112
- /** A keyword group: the keywords and what the bot does with a message that matches them. */
113
- export interface BotRule {
114
- id: string;
115
- scope: string;
116
- /** One connection only; `null` or absent applies to every connection of the scope. */
117
- connection?: string | null;
118
- name: string;
119
- keywords: string[];
120
- mode: BotMatchMode;
121
- action: BotRuleAction;
122
- /** The fixed text of `reply` / `warn` (and the confirmation of `record`). */
123
- reply?: string;
124
- /** What the product's agent is told for this group. */
125
- instruction?: string;
126
- enabled: boolean;
127
- order: number;
128
- createdAt: string;
129
- updatedAt: string;
130
- }
131
- export interface BotRuleInput {
132
- id?: string;
133
- connection?: string | null;
134
- name: string;
135
- keywords: string[];
136
- mode?: BotMatchMode;
137
- action: BotRuleAction;
138
- reply?: string;
139
- instruction?: string;
140
- enabled?: boolean;
141
- order?: number;
142
- }
143
- /** A rule a message matched, with the rule's keywords (as stored) that matched it. */
144
- export interface BotMatch {
145
- rule: BotRule;
146
- keywords: string[];
147
- }
148
112
  /** A normalized inbound update, as a handler receives it. */
149
113
  export interface BotUpdate {
150
114
  id: string;
@@ -158,8 +122,6 @@ export interface BotUpdate {
158
122
  command?: BotCommand;
159
123
  /** A direct message, a mention of the bot, or a reply to it. */
160
124
  addressed: boolean;
161
- /** Enabled rules of the scope (and connection) the text matches, by order. */
162
- matches: BotMatch[];
163
125
  receivedAt: string;
164
126
  raw?: unknown;
165
127
  }
@@ -180,8 +142,12 @@ export interface BotActivity {
180
142
  action: BotActionKind;
181
143
  target?: BotActivityTarget;
182
144
  text?: string;
183
- /** The rule it followed. */
184
- rule?: string;
145
+ /**
146
+ * An opaque reference the acting handler passed (`{ ref }` on the action) — e.g. the id of the
147
+ * application's own record it followed, such as the keyword group a message matched. The bot
148
+ * packages never read it.
149
+ */
150
+ ref?: string;
185
151
  ok: boolean;
186
152
  /** Why it failed, as a short sentence a person reads. */
187
153
  error?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EACzG,YAAY,EAAE,aAAa,EAC5B,MAAM,aAAa,CAAA;AAEpB,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,mFAAmF;IACnF,MAAM,EAAE,OAAO,CAAA;IACf,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,kBAAkB,EAAE,CAAA;IACjC,8DAA8D;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,iFAAiF;IACjF,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,wGAAwG;IACxG,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,wGAAwG;IACxG,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,YAAY,CAAA;IACvB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,OAAO,EAAE,cAAc,CAAA;IACvB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,uEAAuE;AACvE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,4FAA4F;AAC5F,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,aAAa,CAAA;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,sFAAsF;AACtF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,8EAA8E;IAC9E,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,WAAW,CAAA;IACrB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,OAAO,CAAA;IACX,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,YAAY,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,6 @@ export interface BotAliases {
8
8
  readonly remove: string;
9
9
  readonly simulate: string;
10
10
  };
11
- readonly rule: {
12
- readonly list: string;
13
- readonly save: string;
14
- readonly remove: string;
15
- };
16
11
  readonly activity: {
17
12
  readonly list: string;
18
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/aliases/types.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACxF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAA;CACjD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/aliases/types.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAA;CACjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/utils/aliases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAkB,MAAM,oBAAoB,CAAA;AAEnF,eAAO,MAAM,mBAAmB,QAAO,aAyBtC,CAAA;AAED,eAAO,MAAM,aAAa,eAAwB,CAAA"}
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/utils/aliases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAkB,MAAM,oBAAoB,CAAA;AAEnF,eAAO,MAAM,mBAAmB,QAAO,aAoBtC,CAAA;AAED,eAAO,MAAM,aAAa,eAAwB,CAAA"}
@@ -8,11 +8,6 @@ export const createBotAliasUtils = () => {
8
8
  remove: `${base}:connection:remove`,
9
9
  simulate: `${base}:connection:simulate`,
10
10
  }),
11
- rule: Object.freeze({
12
- list: `${base}:rule:list`,
13
- save: `${base}:rule:save`,
14
- remove: `${base}:rule:remove`,
15
- }),
16
11
  activity: Object.freeze({ list: `${base}:activity:list` }),
17
12
  });
18
13
  const botHookAliases = (base) => Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../../src/utils/aliases.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAkB,EAAE;IACrD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAc,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7D,IAAI;QACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,kBAAkB;YAC/B,IAAI,EAAE,GAAG,IAAI,kBAAkB;YAC/B,MAAM,EAAE,GAAG,IAAI,oBAAoB;YACnC,MAAM,EAAE,GAAG,IAAI,oBAAoB;YACnC,QAAQ,EAAE,GAAG,IAAI,sBAAsB;SACxC,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG,IAAI,YAAY;YACzB,IAAI,EAAE,GAAG,IAAI,YAAY;YACzB,MAAM,EAAE,GAAG,IAAI,cAAc;SAC9B,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB,EAAE,CAAC;KAC3D,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACrE,IAAI;QACJ,OAAO,EAAE,GAAG,IAAI,UAAU;QAC1B,SAAS,EAAE,GAAG,IAAI,YAAY;KAC/B,CAAC,CAAA;IAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../../src/utils/aliases.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAkB,EAAE;IACrD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAc,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7D,IAAI;QACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,kBAAkB;YAC/B,IAAI,EAAE,GAAG,IAAI,kBAAkB;YAC/B,MAAM,EAAE,GAAG,IAAI,oBAAoB;YACnC,MAAM,EAAE,GAAG,IAAI,oBAAoB;YACnC,QAAQ,EAAE,GAAG,IAAI,sBAAsB;SACxC,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB,EAAE,CAAC;KAC3D,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACrE,IAAI;QACJ,OAAO,EAAE,GAAG,IAAI,UAAU;QAC1B,SAAS,EAAE,GAAG,IAAI,YAAY;KAC/B,CAAC,CAAA;IAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@owlmeans/bot",
3
- "version": "0.1.18-rc.2",
3
+ "version": "0.1.18",
4
4
  "license": "MIT",
5
- "description": "Runtime-free, browser-safe contract of OwlMeans chat bots — platforms (Telegram, WhatsApp, Discord, Slack) and their descriptors, connections, keyword rules, normalized updates and activity, the Unicode-aware rule matcher and command parser, the operator/member and hook protocol trees with their AJV schemas, and the bot error family.",
5
+ "description": "Runtime-free, browser-safe contract of OwlMeans chat bots \u2014 platforms (Telegram, WhatsApp, Discord, Slack) and their descriptors, connections, normalized updates and activity, the Unicode-aware text helper and command parser, the operator/member and hook protocol trees with their AJV schemas, and the bot error family.",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "build": "tsc -b",
@@ -23,16 +23,16 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@owlmeans/context": "^0.1.18-rc.35",
27
- "@owlmeans/entrypoint": "^0.1.18-rc.42",
28
- "@owlmeans/error": "^0.1.18-rc.39",
29
- "@owlmeans/route": "^0.1.18-rc.36"
26
+ "@owlmeans/context": "^0.1.18",
27
+ "@owlmeans/entrypoint": "^0.1.18",
28
+ "@owlmeans/error": "^0.1.18",
29
+ "@owlmeans/route": "^0.1.18"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "ajv": "*"
33
33
  },
34
34
  "devDependencies": {
35
- "@owlmeans/dep-config": "workspace:*",
35
+ "@owlmeans/dep-config": "^0.1.18",
36
36
  "@types/bun": "^1.4.2",
37
37
  "ajv": "^8.20.0",
38
38
  "nodemon": "^3.1.14",
@@ -4,9 +4,12 @@
4
4
  */
5
5
  export const BOT_TOKEN_PATTERN = /[\p{L}\p{M}\p{N}_]+/gu
6
6
 
7
- /** Any whitespace run — collapsed to one space before a `contains` comparison and in a stored keyword. */
7
+ /** Any whitespace run — collapsed to one space before a `contains` comparison and in a typed phrase. */
8
8
  export const BOT_SPACE_PATTERN = /\s+/gu
9
9
 
10
+ /** What separates the phrases of a typed list: commas (ASCII, full-width, ideographic) and line breaks. */
11
+ export const BOT_PHRASE_SEPARATOR_PATTERN = /[,,、\r\n]+/u
12
+
10
13
  /**
11
14
  * A `/command`, optionally addressed `@ToBot`, ending at whitespace or at the end of the text, then
12
15
  * its arguments.
package/src/consts.ts CHANGED
@@ -56,24 +56,8 @@ export enum BotActionKind {
56
56
  Note = 'note',
57
57
  }
58
58
 
59
- /**
60
- * What a keyword group (a rule) tells the bot to do with a message it matches.
61
- *
62
- * A product vocabulary, not a platform one: `warn` is a reply, `record` is a request record of the
63
- * product, `agent` hands the message to the product's own agent.
64
- */
65
- export enum BotRuleAction {
66
- Delete = 'delete',
67
- Warn = 'warn',
68
- Mute = 'mute',
69
- Ban = 'ban',
70
- Reply = 'reply',
71
- Record = 'record',
72
- Agent = 'agent',
73
- }
74
-
75
- /** How a rule's keywords are compared with a message. */
76
- export enum BotMatchMode {
59
+ /** How `botTextHelper.matched` compares a phrase with a message. */
60
+ export enum BotTextMatch {
77
61
  /** Whole words and whole phrases (consecutive words), Unicode-aware and case-insensitive. */
78
62
  Word = 'word',
79
63
  /** A case-insensitive substring — also the mode for scripts written without spaces. */
@@ -93,7 +77,7 @@ export enum BotChatKind {
93
77
  Channel = 'channel',
94
78
  }
95
79
 
96
- /** The longest identifier (connection, rule, activity, update) the wire accepts. */
80
+ /** The longest identifier (connection, activity, update) the wire accepts. */
97
81
  export const BOT_ID_MAX = 128
98
82
 
99
83
  /** What an identifier on the wire may look like — it is also a path segment of the hook URL. */
@@ -102,21 +86,6 @@ export const BOT_ID_PATTERN = '^[A-Za-z0-9][A-Za-z0-9_.:-]*$'
102
86
  /** The longest connection label. */
103
87
  export const BOT_LABEL_MAX = 120
104
88
 
105
- /** The longest rule (keyword group) name. */
106
- export const BOT_RULE_NAME_MAX = 120
107
-
108
- /** How many keywords one rule keeps. */
109
- export const BOT_KEYWORDS_MAX = 200
110
-
111
- /** The longest keyword or phrase, in code points. */
112
- export const BOT_KEYWORD_MAX = 100
113
-
114
- /** The longest fixed reply text of a rule. */
115
- export const BOT_REPLY_MAX = 4096
116
-
117
- /** The longest instruction a rule hands to the product's agent. */
118
- export const BOT_INSTRUCTION_MAX = 4000
119
-
120
89
  /** The longest message text the simulator accepts. */
121
90
  export const BOT_TEXT_MAX = 4096
122
91
 
@@ -140,9 +109,9 @@ export const BOT_ACTIVITY_LIMIT_DEFAULT = 50
140
109
 
141
110
  /**
142
111
  * The permission the MEMBER mount's gate requires (`gates: { alias: OIDC_GATE, params:
143
- * [BOT_MANAGE_PERMISSION] }`) — who may connect an organization's bots, edit its keyword groups and
144
- * read its bot activity. In a product whose users work in organizations, an organization's owners hold
145
- * it by default; otherwise it is only ever granted explicitly.
112
+ * [BOT_MANAGE_PERMISSION] }`) — who may connect an organization's bots and read its bot activity.
113
+ * In a product whose users work in organizations, an organization's owners hold it by default;
114
+ * otherwise it is only ever granted explicitly.
146
115
  */
147
116
  export const BOT_MANAGE_PERMISSION = 'bot--manage'
148
117
 
@@ -1,6 +1,6 @@
1
- export type * from './rule/types.js'
1
+ export type * from './text/types.js'
2
2
  export type * from './command/types.js'
3
3
  export type * from './platform/types.js'
4
- export * from './rule.js'
4
+ export * from './text.js'
5
5
  export * from './command.js'
6
6
  export * from './platform.js'
@@ -0,0 +1,35 @@
1
+ import type { BotTextMatch } from '../../consts.js'
2
+
3
+ /**
4
+ * Unicode-aware comparison of a message with phrases — the pure primitive a bot handler matches
5
+ * message text with (the application's own keyword groups, a command's argument, a reply's text).
6
+ *
7
+ * Both sides fold the same way: NFKC, then a case fold, then NFKC again (`ß` ≡ `ss`, `Ё` ≡ `ё`,
8
+ * full-width ≡ ASCII, ligatures ≡ their letters); accents are kept (`cafe` is not `café`).
9
+ */
10
+ export interface BotTextHelper {
11
+ /** The folded form of a text: NFKC, upper- then lower-cased, NFKC again. */
12
+ fold: (text: string) => string
13
+ /**
14
+ * The folded tokens of a text: runs of letters, combining marks, digits and `_`; everything else
15
+ * (punctuation, spaces, symbols) splits. `[]` for a text with none.
16
+ */
17
+ tokensOf: (text: string) => string[]
18
+ /**
19
+ * The phrases found in `text`, in the order they were given, each once — a phrase whose folded
20
+ * form repeats an earlier one is skipped, so the first spelling answers.
21
+ *
22
+ * `word` (the default): the phrase's tokens appear in the text as CONSECUTIVE tokens (`free money`
23
+ * matches `FREE, money!`, not `money for free`), and a phrase with no letters or digits never
24
+ * matches. `contains`: the folded phrase is a substring of the folded text, whitespace runs of both
25
+ * collapsed to one space — also the mode for scripts written without spaces (Chinese, Japanese,
26
+ * Thai). An empty or blank phrase never matches; an empty text matches nothing.
27
+ */
28
+ matched: (text: string, phrases: readonly string[], mode?: BotTextMatch) => string[]
29
+ /**
30
+ * A phrase list as a person typed it: every item split on commas and line breaks, each phrase
31
+ * trimmed with inner whitespace runs collapsed to one space, empties dropped, and a phrase whose
32
+ * folded form repeats an earlier one dropped (the first spelling kept).
33
+ */
34
+ phrasesOf: (input: string | readonly string[]) => string[]
35
+ }