@botpress/runtime 1.13.8 → 1.13.10

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 (40) hide show
  1. package/dist/define-config.d.ts +23 -1
  2. package/dist/define-config.d.ts.map +1 -1
  3. package/dist/definition.js +406 -378
  4. package/dist/definition.js.map +4 -4
  5. package/dist/internal.js +500 -472
  6. package/dist/internal.js.map +4 -4
  7. package/dist/library.d.ts +4 -2
  8. package/dist/library.d.ts.map +1 -1
  9. package/dist/library.js +433 -372
  10. package/dist/library.js.map +4 -4
  11. package/dist/primitives/conversation-instance.d.ts +0 -8
  12. package/dist/primitives/conversation-instance.d.ts.map +1 -1
  13. package/dist/primitives/conversation.d.ts +24 -13
  14. package/dist/primitives/conversation.d.ts.map +1 -1
  15. package/dist/primitives/data-sources/source-base.d.ts +1 -1
  16. package/dist/primitives/data-sources/source-base.d.ts.map +1 -1
  17. package/dist/primitives/index.d.ts +1 -1
  18. package/dist/primitives/workflow-instance.d.ts +45 -1
  19. package/dist/primitives/workflow-instance.d.ts.map +1 -1
  20. package/dist/primitives/workflow.d.ts +3 -2
  21. package/dist/primitives/workflow.d.ts.map +1 -1
  22. package/dist/runtime/autonomous.d.ts +1 -0
  23. package/dist/runtime/autonomous.d.ts.map +1 -1
  24. package/dist/runtime/context/context.d.ts +3 -0
  25. package/dist/runtime/context/context.d.ts.map +1 -1
  26. package/dist/runtime/context/handlers.d.ts.map +1 -1
  27. package/dist/runtime/handlers/event.d.ts.map +1 -1
  28. package/dist/runtime/handlers/workflow.d.ts.map +1 -1
  29. package/dist/runtime/tracked-tags.d.ts.map +1 -1
  30. package/dist/runtime.d.ts +0 -1
  31. package/dist/runtime.d.ts.map +1 -1
  32. package/dist/runtime.js +457 -394
  33. package/dist/runtime.js.map +4 -4
  34. package/dist/utilities/events.d.ts +28 -0
  35. package/dist/utilities/events.d.ts.map +1 -1
  36. package/dist/utilities/validate-event-name.d.ts +20 -0
  37. package/dist/utilities/validate-event-name.d.ts.map +1 -0
  38. package/package.json +2 -2
  39. package/dist/utilities/trigger-tags.d.ts +0 -31
  40. package/dist/utilities/trigger-tags.d.ts.map +0 -1
@@ -1,5 +1,14 @@
1
1
  import { Event, Message } from '@botpress/client';
2
2
  import { WorkflowCallbackEventType } from '../runtime/events';
3
+ import type { EventName, EventPayload } from '../_types/events';
4
+ /**
5
+ * Type for a typed event with a specific event name and corresponding payload.
6
+ * This is used as the return type for isEventOfType type guard.
7
+ */
8
+ export type TypedEvent<T extends EventName> = Event & {
9
+ type: T;
10
+ payload: EventPayload<T>;
11
+ };
3
12
  export declare function isEvent(event: unknown): event is Event;
4
13
  export declare function isEventMessage(event: Event): event is Event & {
5
14
  type: 'message_created';
@@ -9,4 +18,23 @@ export declare function isEventMessage(event: Event): event is Event & {
9
18
  };
10
19
  export declare function isWorkflowCallback(event: unknown): event is WorkflowCallbackEventType;
11
20
  export declare function isMessage(message: unknown): message is Message;
21
+ /**
22
+ * Type guard to check if an event matches a specific event type.
23
+ * Works with both custom events and integration events.
24
+ *
25
+ * @example
26
+ * // Custom event
27
+ * if (isEventOfType(event, 'orderPlaced')) {
28
+ * // event.payload is typed as the orderPlaced schema
29
+ * console.log(event.payload.orderId)
30
+ * }
31
+ *
32
+ * @example
33
+ * // Integration event
34
+ * if (isEventOfType(event, 'slack:reactionAdded')) {
35
+ * // event.payload is typed as the slack reactionAdded event payload
36
+ * console.log(event.payload.reaction)
37
+ * }
38
+ */
39
+ export declare function isEventOfType<T extends EventName>(event: unknown, eventName: T): event is TypedEvent<T>;
12
40
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/utilities/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAI7D,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAQ7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAUrF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAE9D"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/utilities/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/D;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,KAAK,GAAG;IACpD,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CACzB,CAAA;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAQ7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAUrF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAE9D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAEvG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Validates an event name according to ADK rules:
3
+ * - Only alphanumeric characters (A-Z, a-z, 0-9) and underscores
4
+ * - Maximum 100 characters
5
+ * - Must start with a letter
6
+ * - No special characters
7
+ */
8
+ export declare function validateEventName(name: string): {
9
+ valid: boolean;
10
+ error?: string;
11
+ };
12
+ /**
13
+ * Validates all event names in an events definition object
14
+ * Throws an error if any event name is invalid
15
+ */
16
+ export declare function validateEventDefinitions(events: Record<string, {
17
+ schema?: unknown;
18
+ description?: string | undefined;
19
+ }>, context: string): void;
20
+ //# sourceMappingURL=validate-event-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-event-name.d.ts","sourceRoot":"","sources":["../../src/utilities/validate-event-name.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBlF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,EAC9E,OAAO,EAAE,MAAM,GACd,IAAI,CAON"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/runtime",
3
- "version": "1.13.8",
3
+ "version": "1.13.10",
4
4
  "description": "Lightweight runtime library for ADK-based Botpress agents",
5
5
  "type": "module",
6
6
  "files": [
@@ -81,7 +81,7 @@
81
81
  "fast-safe-stringify": "^2.1.1",
82
82
  "fast-xml-parser": "^5.3.3",
83
83
  "glob": "^11.1.0",
84
- "llmz": "^0.0.35",
84
+ "llmz": "^0.0.37",
85
85
  "lodash": "^4.17.21",
86
86
  "ms": "^2.1.3",
87
87
  "object-sizeof": "^2.6.5",
@@ -1,31 +0,0 @@
1
- /**
2
- * Gets the tag name for a trigger
3
- * @param triggerName - The name of the trigger
4
- * @returns The tag name in format "trigger[5-char-hash]"
5
- */
6
- export declare const getTriggerTagName: (triggerName: string) => string;
7
- /**
8
- * Gets the tag value for a specific trigger match
9
- * @param key - The specific key from the trigger match result, or undefined for wildcard
10
- * @returns The tag value - either the specific key or "*" for wildcard
11
- */
12
- export declare const getTriggerTagValue: (key?: string) => string;
13
- /**
14
- * Helper to subscribe a conversation to a trigger
15
- * @param triggerName - The name of the trigger to subscribe to
16
- * @param key - Optional specific key to subscribe to (omit for wildcard subscription)
17
- * @returns Object with tagName and tagValue to use for subscription
18
- */
19
- export declare const getTriggerSubscriptionTags: (triggerName: string, key?: string) => {
20
- name: string;
21
- value: string;
22
- };
23
- /**
24
- * Checks if a conversation should handle a trigger event based on its tags
25
- * @param conversationTags - The tags on the conversation
26
- * @param triggerName - The name of the trigger that fired
27
- * @param triggerKey - The key from the trigger match result
28
- * @returns true if the conversation is subscribed to this trigger event
29
- */
30
- export declare const isConversationSubscribedToTrigger: (conversationTags: Record<string, string>, triggerName: string, triggerKey?: string) => boolean;
31
- //# sourceMappingURL=trigger-tags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-tags.d.ts","sourceRoot":"","sources":["../../src/utilities/trigger-tags.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,MAEvD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAEjD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GAAI,aAAa,MAAM,EAAE,MAAM,MAAM;;;CAK3E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,GAC5C,kBAAkB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,aAAa,MAAM,EACnB,aAAa,MAAM,KAClB,OAUF,CAAA"}