signalwire-agents 0.1.0

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 (245) hide show
  1. package/CLAUDE.md +112 -0
  2. package/README.md +417 -0
  3. package/dist/AgentBase.d.ts +481 -0
  4. package/dist/AgentBase.js +1155 -0
  5. package/dist/AgentBase.js.map +1 -0
  6. package/dist/AgentServer.d.ts +60 -0
  7. package/dist/AgentServer.js +128 -0
  8. package/dist/AgentServer.js.map +1 -0
  9. package/dist/AuthHandler.d.ts +56 -0
  10. package/dist/AuthHandler.js +119 -0
  11. package/dist/AuthHandler.js.map +1 -0
  12. package/dist/ConfigLoader.d.ts +68 -0
  13. package/dist/ConfigLoader.js +150 -0
  14. package/dist/ConfigLoader.js.map +1 -0
  15. package/dist/ContextBuilder.d.ts +431 -0
  16. package/dist/ContextBuilder.js +751 -0
  17. package/dist/ContextBuilder.js.map +1 -0
  18. package/dist/DataMap.d.ts +179 -0
  19. package/dist/DataMap.js +321 -0
  20. package/dist/DataMap.js.map +1 -0
  21. package/dist/Logger.d.ts +91 -0
  22. package/dist/Logger.js +191 -0
  23. package/dist/Logger.js.map +1 -0
  24. package/dist/PomBuilder.d.ts +144 -0
  25. package/dist/PomBuilder.js +249 -0
  26. package/dist/PomBuilder.js.map +1 -0
  27. package/dist/PromptManager.d.ts +85 -0
  28. package/dist/PromptManager.js +108 -0
  29. package/dist/PromptManager.js.map +1 -0
  30. package/dist/SchemaUtils.d.ts +42 -0
  31. package/dist/SchemaUtils.js +148 -0
  32. package/dist/SchemaUtils.js.map +1 -0
  33. package/dist/ServerlessAdapter.d.ts +100 -0
  34. package/dist/ServerlessAdapter.js +166 -0
  35. package/dist/ServerlessAdapter.js.map +1 -0
  36. package/dist/SessionManager.d.ts +86 -0
  37. package/dist/SessionManager.js +155 -0
  38. package/dist/SessionManager.js.map +1 -0
  39. package/dist/SslConfig.d.ts +77 -0
  40. package/dist/SslConfig.js +100 -0
  41. package/dist/SslConfig.js.map +1 -0
  42. package/dist/SwaigFunction.d.ts +88 -0
  43. package/dist/SwaigFunction.js +125 -0
  44. package/dist/SwaigFunction.js.map +1 -0
  45. package/dist/SwaigFunctionResult.d.ts +442 -0
  46. package/dist/SwaigFunctionResult.js +735 -0
  47. package/dist/SwaigFunctionResult.js.map +1 -0
  48. package/dist/SwmlBuilder.d.ts +37 -0
  49. package/dist/SwmlBuilder.js +55 -0
  50. package/dist/SwmlBuilder.js.map +1 -0
  51. package/dist/cli/agent-loader.d.ts +22 -0
  52. package/dist/cli/agent-loader.js +106 -0
  53. package/dist/cli/agent-loader.js.map +1 -0
  54. package/dist/cli/mock-data.d.ts +37 -0
  55. package/dist/cli/mock-data.js +79 -0
  56. package/dist/cli/mock-data.js.map +1 -0
  57. package/dist/cli/swaig-test.d.ts +32 -0
  58. package/dist/cli/swaig-test.js +405 -0
  59. package/dist/cli/swaig-test.js.map +1 -0
  60. package/dist/index.d.ts +36 -0
  61. package/dist/index.js +44 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/prefabs/ConciergeAgent.d.ts +64 -0
  64. package/dist/prefabs/ConciergeAgent.js +188 -0
  65. package/dist/prefabs/ConciergeAgent.js.map +1 -0
  66. package/dist/prefabs/FAQBotAgent.d.ts +68 -0
  67. package/dist/prefabs/FAQBotAgent.js +206 -0
  68. package/dist/prefabs/FAQBotAgent.js.map +1 -0
  69. package/dist/prefabs/InfoGathererAgent.d.ts +73 -0
  70. package/dist/prefabs/InfoGathererAgent.js +202 -0
  71. package/dist/prefabs/InfoGathererAgent.js.map +1 -0
  72. package/dist/prefabs/ReceptionistAgent.d.ts +65 -0
  73. package/dist/prefabs/ReceptionistAgent.js +205 -0
  74. package/dist/prefabs/ReceptionistAgent.js.map +1 -0
  75. package/dist/prefabs/SurveyAgent.d.ts +84 -0
  76. package/dist/prefabs/SurveyAgent.js +324 -0
  77. package/dist/prefabs/SurveyAgent.js.map +1 -0
  78. package/dist/prefabs/index.d.ts +13 -0
  79. package/dist/prefabs/index.js +14 -0
  80. package/dist/prefabs/index.js.map +1 -0
  81. package/dist/skills/SkillBase.d.ts +134 -0
  82. package/dist/skills/SkillBase.js +105 -0
  83. package/dist/skills/SkillBase.js.map +1 -0
  84. package/dist/skills/SkillManager.d.ts +83 -0
  85. package/dist/skills/SkillManager.js +159 -0
  86. package/dist/skills/SkillManager.js.map +1 -0
  87. package/dist/skills/SkillRegistry.d.ts +105 -0
  88. package/dist/skills/SkillRegistry.js +195 -0
  89. package/dist/skills/SkillRegistry.js.map +1 -0
  90. package/dist/skills/builtin/api_ninjas_trivia.d.ts +35 -0
  91. package/dist/skills/builtin/api_ninjas_trivia.js +161 -0
  92. package/dist/skills/builtin/api_ninjas_trivia.js.map +1 -0
  93. package/dist/skills/builtin/claude_skills.d.ts +34 -0
  94. package/dist/skills/builtin/claude_skills.js +156 -0
  95. package/dist/skills/builtin/claude_skills.js.map +1 -0
  96. package/dist/skills/builtin/custom_skills.d.ts +59 -0
  97. package/dist/skills/builtin/custom_skills.js +231 -0
  98. package/dist/skills/builtin/custom_skills.js.map +1 -0
  99. package/dist/skills/builtin/datasphere.d.ts +34 -0
  100. package/dist/skills/builtin/datasphere.js +163 -0
  101. package/dist/skills/builtin/datasphere.js.map +1 -0
  102. package/dist/skills/builtin/datasphere_serverless.d.ts +54 -0
  103. package/dist/skills/builtin/datasphere_serverless.js +155 -0
  104. package/dist/skills/builtin/datasphere_serverless.js.map +1 -0
  105. package/dist/skills/builtin/datetime.d.ts +31 -0
  106. package/dist/skills/builtin/datetime.js +95 -0
  107. package/dist/skills/builtin/datetime.js.map +1 -0
  108. package/dist/skills/builtin/google_maps.d.ts +33 -0
  109. package/dist/skills/builtin/google_maps.js +233 -0
  110. package/dist/skills/builtin/google_maps.js.map +1 -0
  111. package/dist/skills/builtin/index.d.ts +28 -0
  112. package/dist/skills/builtin/index.js +75 -0
  113. package/dist/skills/builtin/index.js.map +1 -0
  114. package/dist/skills/builtin/info_gatherer.d.ts +52 -0
  115. package/dist/skills/builtin/info_gatherer.js +237 -0
  116. package/dist/skills/builtin/info_gatherer.js.map +1 -0
  117. package/dist/skills/builtin/joke.d.ts +32 -0
  118. package/dist/skills/builtin/joke.js +142 -0
  119. package/dist/skills/builtin/joke.js.map +1 -0
  120. package/dist/skills/builtin/math.d.ts +33 -0
  121. package/dist/skills/builtin/math.js +120 -0
  122. package/dist/skills/builtin/math.js.map +1 -0
  123. package/dist/skills/builtin/mcp_gateway.d.ts +35 -0
  124. package/dist/skills/builtin/mcp_gateway.js +85 -0
  125. package/dist/skills/builtin/mcp_gateway.js.map +1 -0
  126. package/dist/skills/builtin/native_vector_search.d.ts +44 -0
  127. package/dist/skills/builtin/native_vector_search.js +248 -0
  128. package/dist/skills/builtin/native_vector_search.js.map +1 -0
  129. package/dist/skills/builtin/play_background_file.d.ts +34 -0
  130. package/dist/skills/builtin/play_background_file.js +135 -0
  131. package/dist/skills/builtin/play_background_file.js.map +1 -0
  132. package/dist/skills/builtin/spider.d.ts +34 -0
  133. package/dist/skills/builtin/spider.js +164 -0
  134. package/dist/skills/builtin/spider.js.map +1 -0
  135. package/dist/skills/builtin/swml_transfer.d.ts +44 -0
  136. package/dist/skills/builtin/swml_transfer.js +204 -0
  137. package/dist/skills/builtin/swml_transfer.js.map +1 -0
  138. package/dist/skills/builtin/weather_api.d.ts +34 -0
  139. package/dist/skills/builtin/weather_api.js +136 -0
  140. package/dist/skills/builtin/weather_api.js.map +1 -0
  141. package/dist/skills/builtin/web_search.d.ts +34 -0
  142. package/dist/skills/builtin/web_search.js +141 -0
  143. package/dist/skills/builtin/web_search.js.map +1 -0
  144. package/dist/skills/builtin/wikipedia_search.d.ts +34 -0
  145. package/dist/skills/builtin/wikipedia_search.js +166 -0
  146. package/dist/skills/builtin/wikipedia_search.js.map +1 -0
  147. package/dist/skills/index.d.ts +11 -0
  148. package/dist/skills/index.js +10 -0
  149. package/dist/skills/index.js.map +1 -0
  150. package/dist/types.d.ts +85 -0
  151. package/dist/types.js +5 -0
  152. package/dist/types.js.map +1 -0
  153. package/docs/agent-guide.md +869 -0
  154. package/docs/api-reference.md +2419 -0
  155. package/docs/architecture.md +843 -0
  156. package/docs/cli-guide.md +579 -0
  157. package/docs/configuration.md +422 -0
  158. package/docs/contexts-guide.md +787 -0
  159. package/docs/datamap-guide.md +1141 -0
  160. package/docs/prefabs-guide.md +830 -0
  161. package/docs/security.md +436 -0
  162. package/docs/serverless-guide.md +513 -0
  163. package/docs/skills-guide.md +845 -0
  164. package/docs/swaig-reference.md +1627 -0
  165. package/examples/call-flow.ts +60 -0
  166. package/examples/contexts-steps.ts +62 -0
  167. package/examples/datamap-tools.ts +52 -0
  168. package/examples/dynamic-config.ts +51 -0
  169. package/examples/multi-agent.ts +67 -0
  170. package/examples/pom-prompt.ts +68 -0
  171. package/examples/simple-agent.ts +33 -0
  172. package/package.json +35 -0
  173. package/src/AgentBase.ts +1279 -0
  174. package/src/AgentServer.ts +149 -0
  175. package/src/AuthHandler.ts +141 -0
  176. package/src/ConfigLoader.ts +165 -0
  177. package/src/ContextBuilder.ts +796 -0
  178. package/src/DataMap.ts +365 -0
  179. package/src/Logger.ts +197 -0
  180. package/src/PomBuilder.ts +298 -0
  181. package/src/PromptManager.ts +133 -0
  182. package/src/SchemaUtils.ts +170 -0
  183. package/src/ServerlessAdapter.ts +218 -0
  184. package/src/SessionManager.ts +161 -0
  185. package/src/SslConfig.ts +118 -0
  186. package/src/SwaigFunction.ts +168 -0
  187. package/src/SwaigFunctionResult.ts +864 -0
  188. package/src/SwmlBuilder.ts +62 -0
  189. package/src/cli/agent-loader.ts +122 -0
  190. package/src/cli/mock-data.ts +110 -0
  191. package/src/cli/swaig-test.ts +440 -0
  192. package/src/index.ts +99 -0
  193. package/src/prefabs/ConciergeAgent.ts +251 -0
  194. package/src/prefabs/FAQBotAgent.ts +263 -0
  195. package/src/prefabs/InfoGathererAgent.ts +276 -0
  196. package/src/prefabs/ReceptionistAgent.ts +277 -0
  197. package/src/prefabs/SurveyAgent.ts +413 -0
  198. package/src/prefabs/index.ts +23 -0
  199. package/src/skills/SkillBase.ts +184 -0
  200. package/src/skills/SkillManager.ts +177 -0
  201. package/src/skills/SkillRegistry.ts +231 -0
  202. package/src/skills/builtin/api_ninjas_trivia.ts +230 -0
  203. package/src/skills/builtin/claude_skills.ts +239 -0
  204. package/src/skills/builtin/custom_skills.ts +326 -0
  205. package/src/skills/builtin/datasphere.ts +225 -0
  206. package/src/skills/builtin/datasphere_serverless.ts +194 -0
  207. package/src/skills/builtin/datetime.ts +115 -0
  208. package/src/skills/builtin/google_maps.ts +347 -0
  209. package/src/skills/builtin/index.ts +79 -0
  210. package/src/skills/builtin/info_gatherer.ts +331 -0
  211. package/src/skills/builtin/joke.ts +180 -0
  212. package/src/skills/builtin/math.ts +150 -0
  213. package/src/skills/builtin/mcp_gateway.ts +99 -0
  214. package/src/skills/builtin/native_vector_search.ts +327 -0
  215. package/src/skills/builtin/play_background_file.ts +189 -0
  216. package/src/skills/builtin/spider.ts +232 -0
  217. package/src/skills/builtin/swml_transfer.ts +285 -0
  218. package/src/skills/builtin/weather_api.ts +193 -0
  219. package/src/skills/builtin/web_search.ts +212 -0
  220. package/src/skills/builtin/wikipedia_search.ts +248 -0
  221. package/src/skills/index.ts +12 -0
  222. package/src/types.ts +99 -0
  223. package/tests/AgentBase.test.ts +693 -0
  224. package/tests/AgentServer.test.ts +102 -0
  225. package/tests/AuthHandler.test.ts +121 -0
  226. package/tests/ConfigLoader.test.ts +121 -0
  227. package/tests/DataMap.test.ts +286 -0
  228. package/tests/Logger.test.ts +218 -0
  229. package/tests/PomBuilder.test.ts +164 -0
  230. package/tests/ProxyDetection.test.ts +185 -0
  231. package/tests/SchemaUtils.test.ts +106 -0
  232. package/tests/ServerlessAdapter.test.ts +200 -0
  233. package/tests/SessionManager.test.ts +139 -0
  234. package/tests/SslConfig.test.ts +97 -0
  235. package/tests/SwaigFunctionResult.test.ts +298 -0
  236. package/tests/cli/mock-data.test.ts +94 -0
  237. package/tests/cli/swaig-test.test.ts +96 -0
  238. package/tests/prefabs/prefabs.test.ts +854 -0
  239. package/tests/setup.ts +6 -0
  240. package/tests/skills/SkillBase.test.ts +118 -0
  241. package/tests/skills/SkillManager.test.ts +164 -0
  242. package/tests/skills/SkillRegistry.test.ts +124 -0
  243. package/tests/skills/builtin.test.ts +924 -0
  244. package/tsconfig.json +18 -0
  245. package/vitest.config.ts +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextBuilder.js","sourceRoot":"","sources":["../src/ContextBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * DataMap - Fluent builder for SWAIG data_map configurations.
3
+ *
4
+ * Creates server-side tool definitions that execute on SignalWire
5
+ * without requiring webhook endpoints.
6
+ */
7
+ import { SwaigFunctionResult } from './SwaigFunctionResult.js';
8
+ /**
9
+ * Fluent builder for SWAIG data_map configurations.
10
+ *
11
+ * Creates server-side tool definitions that execute on SignalWire
12
+ * without requiring webhook endpoints.
13
+ */
14
+ export declare class DataMap {
15
+ /** The name of the SWAIG function this data map defines. */
16
+ functionName: string;
17
+ private _purpose;
18
+ private _parameters;
19
+ private _expressions;
20
+ private _webhooks;
21
+ private _output;
22
+ private _errorKeys;
23
+ private _expandEnv;
24
+ /**
25
+ * @param functionName - The unique name for this data map tool.
26
+ */
27
+ constructor(functionName: string);
28
+ /**
29
+ * Enable `${ENV.*}` variable expansion in URLs, bodies, and outputs.
30
+ * @param enabled - Whether to enable expansion (defaults to true).
31
+ * @returns This instance for chaining.
32
+ */
33
+ enableEnvExpansion(enabled?: boolean): this;
34
+ /**
35
+ * Set the purpose (description) of this data map tool shown to the AI.
36
+ * @param description - A human-readable description of the tool.
37
+ * @returns This instance for chaining.
38
+ */
39
+ purpose(description: string): this;
40
+ /**
41
+ * Alias for {@link purpose}; sets the tool description.
42
+ * @param description - A human-readable description of the tool.
43
+ * @returns This instance for chaining.
44
+ */
45
+ description(description: string): this;
46
+ /**
47
+ * Define a parameter for this data map tool.
48
+ * @param name - The parameter name.
49
+ * @param paramType - The JSON Schema type (e.g., "string", "number").
50
+ * @param description - A description of the parameter shown to the AI.
51
+ * @param opts - Optional flags for required and enum constraints.
52
+ * @returns This instance for chaining.
53
+ */
54
+ parameter(name: string, paramType: string, description: string, opts?: {
55
+ required?: boolean;
56
+ enum?: string[];
57
+ }): this;
58
+ /**
59
+ * Add a pattern-matching expression that evaluates a test value against a regex.
60
+ * @param testValue - The string or template variable to test.
61
+ * @param pattern - A regex pattern (string or RegExp) to match against.
62
+ * @param output - The result to return when the pattern matches.
63
+ * @param nomatchOutput - Optional result to return when the pattern does not match.
64
+ * @returns This instance for chaining.
65
+ */
66
+ expression(testValue: string, pattern: string | RegExp, output: SwaigFunctionResult, nomatchOutput?: SwaigFunctionResult): this;
67
+ /**
68
+ * Add a webhook that is called when this data map tool is invoked.
69
+ * @param method - HTTP method (e.g., "GET", "POST").
70
+ * @param url - The webhook URL to call.
71
+ * @param opts - Optional headers, form parameter name, and argument settings.
72
+ * @returns This instance for chaining.
73
+ */
74
+ webhook(method: string, url: string, opts?: {
75
+ headers?: Record<string, string>;
76
+ formParam?: string;
77
+ inputArgsAsParams?: boolean;
78
+ requireArgs?: string[];
79
+ }): this;
80
+ /**
81
+ * Set pattern-matching expressions on the most recently added webhook.
82
+ * @param expressions - Array of expression objects to evaluate against the webhook response.
83
+ * @returns This instance for chaining.
84
+ */
85
+ webhookExpressions(expressions: Record<string, unknown>[]): this;
86
+ /**
87
+ * Set the JSON body for the most recently added webhook.
88
+ * @param data - The request body object.
89
+ * @returns This instance for chaining.
90
+ */
91
+ body(data: Record<string, unknown>): this;
92
+ /**
93
+ * Set query or form parameters for the most recently added webhook.
94
+ * @param data - The parameters object.
95
+ * @returns This instance for chaining.
96
+ */
97
+ params(data: Record<string, unknown>): this;
98
+ /**
99
+ * Configure iteration over an array in the webhook response.
100
+ * @param config - Foreach configuration with input/output keys, append template, and optional max.
101
+ * @returns This instance for chaining.
102
+ */
103
+ foreach(config: {
104
+ input_key: string;
105
+ output_key: string;
106
+ append: string;
107
+ max?: number;
108
+ }): this;
109
+ /**
110
+ * Set the output template for the most recently added webhook.
111
+ * @param result - The SwaigFunctionResult to use as the output template.
112
+ * @returns This instance for chaining.
113
+ */
114
+ output(result: SwaigFunctionResult): this;
115
+ /**
116
+ * Set a fallback output used when no webhook or expression matches.
117
+ * @param result - The SwaigFunctionResult to use as the fallback.
118
+ * @returns This instance for chaining.
119
+ */
120
+ fallbackOutput(result: SwaigFunctionResult): this;
121
+ /**
122
+ * Set error keys on the most recently added webhook, or globally if no webhook exists.
123
+ * @param keys - Response keys that indicate an error occurred.
124
+ * @returns This instance for chaining.
125
+ */
126
+ errorKeys(keys: string[]): this;
127
+ /**
128
+ * Set error keys at the top-level data map scope, regardless of webhook context.
129
+ * @param keys - Response keys that indicate an error occurred.
130
+ * @returns This instance for chaining.
131
+ */
132
+ globalErrorKeys(keys: string[]): this;
133
+ /**
134
+ * Register this DataMap tool with an AgentBase instance.
135
+ * @param agent - An object with a registerSwaigFunction method (typically an AgentBase).
136
+ * @returns This instance for chaining.
137
+ */
138
+ registerWithAgent(agent: {
139
+ registerSwaigFunction(fn: Record<string, unknown>): unknown;
140
+ }): this;
141
+ /**
142
+ * Serialize this data map to a SWAIG function definition object.
143
+ * @returns A plain object suitable for inclusion in the SWML SWAIG array.
144
+ */
145
+ toSwaigFunction(): Record<string, unknown>;
146
+ }
147
+ /**
148
+ * Create a DataMap tool that calls a single API endpoint and formats the response.
149
+ * @param opts - Configuration including name, URL, response template, and optional parameters.
150
+ * @returns A configured DataMap instance ready for registration.
151
+ */
152
+ export declare function createSimpleApiTool(opts: {
153
+ name: string;
154
+ url: string;
155
+ responseTemplate: string;
156
+ parameters?: Record<string, {
157
+ type?: string;
158
+ description?: string;
159
+ required?: boolean;
160
+ }>;
161
+ method?: string;
162
+ headers?: Record<string, string>;
163
+ body?: Record<string, unknown>;
164
+ errorKeys?: string[];
165
+ }): DataMap;
166
+ /**
167
+ * Create a DataMap tool that evaluates expressions against patterns without making HTTP calls.
168
+ * @param opts - Configuration including name, pattern-result pairs, and optional parameters.
169
+ * @returns A configured DataMap instance ready for registration.
170
+ */
171
+ export declare function createExpressionTool(opts: {
172
+ name: string;
173
+ patterns: Record<string, [string, SwaigFunctionResult]>;
174
+ parameters?: Record<string, {
175
+ type?: string;
176
+ description?: string;
177
+ required?: boolean;
178
+ }>;
179
+ }): DataMap;
@@ -0,0 +1,321 @@
1
+ /**
2
+ * DataMap - Fluent builder for SWAIG data_map configurations.
3
+ *
4
+ * Creates server-side tool definitions that execute on SignalWire
5
+ * without requiring webhook endpoints.
6
+ */
7
+ import { SwaigFunctionResult } from './SwaigFunctionResult.js';
8
+ const ENV_PATTERN = /\$\{ENV\.([^}]+)\}/g;
9
+ function expandEnvVars(value) {
10
+ return value.replace(ENV_PATTERN, (_match, varName) => {
11
+ return process.env[varName] ?? '';
12
+ });
13
+ }
14
+ function expandEnvInObject(obj) {
15
+ if (typeof obj === 'string')
16
+ return expandEnvVars(obj);
17
+ if (Array.isArray(obj))
18
+ return obj.map(expandEnvInObject);
19
+ if (obj && typeof obj === 'object') {
20
+ const result = {};
21
+ for (const [k, v] of Object.entries(obj)) {
22
+ result[k] = expandEnvInObject(v);
23
+ }
24
+ return result;
25
+ }
26
+ return obj;
27
+ }
28
+ /**
29
+ * Fluent builder for SWAIG data_map configurations.
30
+ *
31
+ * Creates server-side tool definitions that execute on SignalWire
32
+ * without requiring webhook endpoints.
33
+ */
34
+ export class DataMap {
35
+ /** The name of the SWAIG function this data map defines. */
36
+ functionName;
37
+ _purpose = '';
38
+ _parameters = {};
39
+ _expressions = [];
40
+ _webhooks = [];
41
+ _output = null;
42
+ _errorKeys = [];
43
+ _expandEnv = false;
44
+ /**
45
+ * @param functionName - The unique name for this data map tool.
46
+ */
47
+ constructor(functionName) {
48
+ this.functionName = functionName;
49
+ }
50
+ /**
51
+ * Enable `${ENV.*}` variable expansion in URLs, bodies, and outputs.
52
+ * @param enabled - Whether to enable expansion (defaults to true).
53
+ * @returns This instance for chaining.
54
+ */
55
+ enableEnvExpansion(enabled = true) {
56
+ this._expandEnv = enabled;
57
+ return this;
58
+ }
59
+ /**
60
+ * Set the purpose (description) of this data map tool shown to the AI.
61
+ * @param description - A human-readable description of the tool.
62
+ * @returns This instance for chaining.
63
+ */
64
+ purpose(description) {
65
+ this._purpose = description;
66
+ return this;
67
+ }
68
+ /**
69
+ * Alias for {@link purpose}; sets the tool description.
70
+ * @param description - A human-readable description of the tool.
71
+ * @returns This instance for chaining.
72
+ */
73
+ description(description) {
74
+ return this.purpose(description);
75
+ }
76
+ /**
77
+ * Define a parameter for this data map tool.
78
+ * @param name - The parameter name.
79
+ * @param paramType - The JSON Schema type (e.g., "string", "number").
80
+ * @param description - A description of the parameter shown to the AI.
81
+ * @param opts - Optional flags for required and enum constraints.
82
+ * @returns This instance for chaining.
83
+ */
84
+ parameter(name, paramType, description, opts) {
85
+ const paramDef = { type: paramType, description };
86
+ if (opts?.enum)
87
+ paramDef['enum'] = opts.enum;
88
+ this._parameters[name] = paramDef;
89
+ if (opts?.required) {
90
+ if (!this._parameters['_required']) {
91
+ this._parameters['_required'] = [];
92
+ }
93
+ const req = this._parameters['_required'];
94
+ if (!req.includes(name))
95
+ req.push(name);
96
+ }
97
+ return this;
98
+ }
99
+ /**
100
+ * Add a pattern-matching expression that evaluates a test value against a regex.
101
+ * @param testValue - The string or template variable to test.
102
+ * @param pattern - A regex pattern (string or RegExp) to match against.
103
+ * @param output - The result to return when the pattern matches.
104
+ * @param nomatchOutput - Optional result to return when the pattern does not match.
105
+ * @returns This instance for chaining.
106
+ */
107
+ expression(testValue, pattern, output, nomatchOutput) {
108
+ const patternStr = typeof pattern === 'string' ? pattern : pattern.source;
109
+ const expr = {
110
+ string: testValue,
111
+ pattern: patternStr,
112
+ output: output.toDict(),
113
+ };
114
+ if (nomatchOutput) {
115
+ expr['nomatch-output'] = nomatchOutput.toDict();
116
+ }
117
+ this._expressions.push(expr);
118
+ return this;
119
+ }
120
+ /**
121
+ * Add a webhook that is called when this data map tool is invoked.
122
+ * @param method - HTTP method (e.g., "GET", "POST").
123
+ * @param url - The webhook URL to call.
124
+ * @param opts - Optional headers, form parameter name, and argument settings.
125
+ * @returns This instance for chaining.
126
+ */
127
+ webhook(method, url, opts) {
128
+ const def = { url, method: method.toUpperCase() };
129
+ if (opts?.headers)
130
+ def['headers'] = opts.headers;
131
+ if (opts?.formParam)
132
+ def['form_param'] = opts.formParam;
133
+ if (opts?.inputArgsAsParams)
134
+ def['input_args_as_params'] = true;
135
+ if (opts?.requireArgs)
136
+ def['require_args'] = opts.requireArgs;
137
+ this._webhooks.push(def);
138
+ return this;
139
+ }
140
+ /**
141
+ * Set pattern-matching expressions on the most recently added webhook.
142
+ * @param expressions - Array of expression objects to evaluate against the webhook response.
143
+ * @returns This instance for chaining.
144
+ */
145
+ webhookExpressions(expressions) {
146
+ if (!this._webhooks.length)
147
+ throw new Error('Must add webhook before setting webhook expressions');
148
+ this._webhooks[this._webhooks.length - 1]['expressions'] = expressions;
149
+ return this;
150
+ }
151
+ /**
152
+ * Set the JSON body for the most recently added webhook.
153
+ * @param data - The request body object.
154
+ * @returns This instance for chaining.
155
+ */
156
+ body(data) {
157
+ if (!this._webhooks.length)
158
+ throw new Error('Must add webhook before setting body');
159
+ this._webhooks[this._webhooks.length - 1]['body'] = data;
160
+ return this;
161
+ }
162
+ /**
163
+ * Set query or form parameters for the most recently added webhook.
164
+ * @param data - The parameters object.
165
+ * @returns This instance for chaining.
166
+ */
167
+ params(data) {
168
+ if (!this._webhooks.length)
169
+ throw new Error('Must add webhook before setting params');
170
+ this._webhooks[this._webhooks.length - 1]['params'] = data;
171
+ return this;
172
+ }
173
+ /**
174
+ * Configure iteration over an array in the webhook response.
175
+ * @param config - Foreach configuration with input/output keys, append template, and optional max.
176
+ * @returns This instance for chaining.
177
+ */
178
+ foreach(config) {
179
+ if (!this._webhooks.length)
180
+ throw new Error('Must add webhook before setting foreach');
181
+ this._webhooks[this._webhooks.length - 1]['foreach'] = config;
182
+ return this;
183
+ }
184
+ /**
185
+ * Set the output template for the most recently added webhook.
186
+ * @param result - The SwaigFunctionResult to use as the output template.
187
+ * @returns This instance for chaining.
188
+ */
189
+ output(result) {
190
+ if (!this._webhooks.length)
191
+ throw new Error('Must add webhook before setting output');
192
+ this._webhooks[this._webhooks.length - 1]['output'] = result.toDict();
193
+ return this;
194
+ }
195
+ /**
196
+ * Set a fallback output used when no webhook or expression matches.
197
+ * @param result - The SwaigFunctionResult to use as the fallback.
198
+ * @returns This instance for chaining.
199
+ */
200
+ fallbackOutput(result) {
201
+ this._output = result.toDict();
202
+ return this;
203
+ }
204
+ /**
205
+ * Set error keys on the most recently added webhook, or globally if no webhook exists.
206
+ * @param keys - Response keys that indicate an error occurred.
207
+ * @returns This instance for chaining.
208
+ */
209
+ errorKeys(keys) {
210
+ if (this._webhooks.length) {
211
+ this._webhooks[this._webhooks.length - 1]['error_keys'] = keys;
212
+ }
213
+ else {
214
+ this._errorKeys = keys;
215
+ }
216
+ return this;
217
+ }
218
+ /**
219
+ * Set error keys at the top-level data map scope, regardless of webhook context.
220
+ * @param keys - Response keys that indicate an error occurred.
221
+ * @returns This instance for chaining.
222
+ */
223
+ globalErrorKeys(keys) {
224
+ this._errorKeys = keys;
225
+ return this;
226
+ }
227
+ /**
228
+ * Register this DataMap tool with an AgentBase instance.
229
+ * @param agent - An object with a registerSwaigFunction method (typically an AgentBase).
230
+ * @returns This instance for chaining.
231
+ */
232
+ registerWithAgent(agent) {
233
+ agent.registerSwaigFunction(this.toSwaigFunction());
234
+ return this;
235
+ }
236
+ /**
237
+ * Serialize this data map to a SWAIG function definition object.
238
+ * @returns A plain object suitable for inclusion in the SWML SWAIG array.
239
+ */
240
+ toSwaigFunction() {
241
+ // Build parameter schema
242
+ let paramSchema;
243
+ const paramKeys = Object.keys(this._parameters).filter((k) => k !== '_required');
244
+ if (paramKeys.length) {
245
+ const properties = {};
246
+ for (const k of paramKeys) {
247
+ properties[k] = this._parameters[k];
248
+ }
249
+ paramSchema = { type: 'object', properties };
250
+ const required = this._parameters['_required'];
251
+ if (required?.length)
252
+ paramSchema['required'] = required;
253
+ }
254
+ else {
255
+ paramSchema = { type: 'object', properties: {} };
256
+ }
257
+ // Build data_map
258
+ const dataMap = {};
259
+ if (this._expressions.length)
260
+ dataMap['expressions'] = this._expressions;
261
+ if (this._webhooks.length)
262
+ dataMap['webhooks'] = this._webhooks;
263
+ if (this._output)
264
+ dataMap['output'] = this._output;
265
+ if (this._errorKeys.length)
266
+ dataMap['error_keys'] = this._errorKeys;
267
+ let result = {
268
+ function: this.functionName,
269
+ description: this._purpose || `Execute ${this.functionName}`,
270
+ parameters: paramSchema,
271
+ data_map: dataMap,
272
+ };
273
+ if (this._expandEnv) {
274
+ result = expandEnvInObject(result);
275
+ }
276
+ return result;
277
+ }
278
+ }
279
+ // ── Helper functions ────────────────────────────────────────────────────
280
+ /**
281
+ * Create a DataMap tool that calls a single API endpoint and formats the response.
282
+ * @param opts - Configuration including name, URL, response template, and optional parameters.
283
+ * @returns A configured DataMap instance ready for registration.
284
+ */
285
+ export function createSimpleApiTool(opts) {
286
+ const dm = new DataMap(opts.name);
287
+ if (opts.parameters) {
288
+ for (const [name, def] of Object.entries(opts.parameters)) {
289
+ dm.parameter(name, def.type ?? 'string', def.description ?? `${name} parameter`, {
290
+ required: def.required,
291
+ });
292
+ }
293
+ }
294
+ dm.webhook(opts.method ?? 'GET', opts.url, { headers: opts.headers });
295
+ if (opts.body)
296
+ dm.body(opts.body);
297
+ if (opts.errorKeys)
298
+ dm.errorKeys(opts.errorKeys);
299
+ dm.output(new SwaigFunctionResult(opts.responseTemplate));
300
+ return dm;
301
+ }
302
+ /**
303
+ * Create a DataMap tool that evaluates expressions against patterns without making HTTP calls.
304
+ * @param opts - Configuration including name, pattern-result pairs, and optional parameters.
305
+ * @returns A configured DataMap instance ready for registration.
306
+ */
307
+ export function createExpressionTool(opts) {
308
+ const dm = new DataMap(opts.name);
309
+ if (opts.parameters) {
310
+ for (const [name, def] of Object.entries(opts.parameters)) {
311
+ dm.parameter(name, def.type ?? 'string', def.description ?? `${name} parameter`, {
312
+ required: def.required,
313
+ });
314
+ }
315
+ }
316
+ for (const [testValue, [pattern, result]] of Object.entries(opts.patterns)) {
317
+ dm.expression(testValue, pattern, result);
318
+ }
319
+ return dm;
320
+ }
321
+ //# sourceMappingURL=DataMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataMap.js","sourceRoot":"","sources":["../src/DataMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Logger - Structured logger with env-var-based configuration.
3
+ *
4
+ * SIGNALWIRE_LOG_LEVEL: debug | info | warn | error (default: info)
5
+ * SIGNALWIRE_LOG_MODE: off to suppress all logging
6
+ * SIGNALWIRE_LOG_FORMAT: text | json (default: text)
7
+ * SIGNALWIRE_LOG_COLOR: true | false (default: true when TTY)
8
+ */
9
+ declare const LEVELS: {
10
+ readonly debug: 0;
11
+ readonly info: 1;
12
+ readonly warn: 2;
13
+ readonly error: 3;
14
+ };
15
+ /** Log severity level. */
16
+ type LogLevel = keyof typeof LEVELS;
17
+ /** Output format for log entries. */
18
+ type LogFormat = 'text' | 'json';
19
+ /**
20
+ * Set the minimum log level for all loggers.
21
+ * @param level - The minimum severity level to emit.
22
+ */
23
+ export declare function setGlobalLogLevel(level: LogLevel): void;
24
+ /**
25
+ * Suppress or unsuppress all log output globally.
26
+ * @param suppress - True to suppress, false to restore (default true).
27
+ */
28
+ export declare function suppressAllLogs(suppress?: boolean): void;
29
+ /**
30
+ * Set the output format for all loggers.
31
+ * @param format - Either 'text' (human-readable) or 'json' (structured).
32
+ */
33
+ export declare function setGlobalLogFormat(format: LogFormat): void;
34
+ /**
35
+ * Enable or disable ANSI color codes in text-format output.
36
+ * @param enabled - True to enable colors, false to disable.
37
+ */
38
+ export declare function setGlobalLogColor(enabled: boolean): void;
39
+ /** Reset all logging settings to their environment-variable-based defaults. */
40
+ export declare function resetLoggingConfiguration(): void;
41
+ /** Structured logger that respects global level, format, and color settings. */
42
+ export declare class Logger {
43
+ private name;
44
+ private context;
45
+ /**
46
+ * Create a new Logger instance.
47
+ * @param name - Logger name shown in log output.
48
+ * @param context - Optional key-value pairs included in every log entry.
49
+ */
50
+ constructor(name: string, context?: Record<string, unknown>);
51
+ /**
52
+ * Create a child logger with additional bound context fields merged into the parent's context.
53
+ * @param context - Key-value pairs to merge into the child logger's context.
54
+ * @returns A new Logger instance with the merged context.
55
+ */
56
+ bind(context: Record<string, unknown>): Logger;
57
+ /**
58
+ * Log a message at the debug level.
59
+ * @param msg - The log message.
60
+ * @param data - Optional structured data to include.
61
+ */
62
+ debug(msg: string, data?: Record<string, unknown>): void;
63
+ /**
64
+ * Log a message at the info level.
65
+ * @param msg - The log message.
66
+ * @param data - Optional structured data to include.
67
+ */
68
+ info(msg: string, data?: Record<string, unknown>): void;
69
+ /**
70
+ * Log a message at the warn level.
71
+ * @param msg - The log message.
72
+ * @param data - Optional structured data to include.
73
+ */
74
+ warn(msg: string, data?: Record<string, unknown>): void;
75
+ /**
76
+ * Log a message at the error level.
77
+ * @param msg - The log message.
78
+ * @param data - Optional structured data to include.
79
+ */
80
+ error(msg: string, data?: Record<string, unknown>): void;
81
+ private log;
82
+ private logText;
83
+ private logJson;
84
+ }
85
+ /**
86
+ * Create a new Logger instance with the given name.
87
+ * @param name - Logger name shown in log output.
88
+ * @returns A new Logger instance.
89
+ */
90
+ export declare function getLogger(name: string): Logger;
91
+ export {};