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.
- package/CLAUDE.md +112 -0
- package/README.md +417 -0
- package/dist/AgentBase.d.ts +481 -0
- package/dist/AgentBase.js +1155 -0
- package/dist/AgentBase.js.map +1 -0
- package/dist/AgentServer.d.ts +60 -0
- package/dist/AgentServer.js +128 -0
- package/dist/AgentServer.js.map +1 -0
- package/dist/AuthHandler.d.ts +56 -0
- package/dist/AuthHandler.js +119 -0
- package/dist/AuthHandler.js.map +1 -0
- package/dist/ConfigLoader.d.ts +68 -0
- package/dist/ConfigLoader.js +150 -0
- package/dist/ConfigLoader.js.map +1 -0
- package/dist/ContextBuilder.d.ts +431 -0
- package/dist/ContextBuilder.js +751 -0
- package/dist/ContextBuilder.js.map +1 -0
- package/dist/DataMap.d.ts +179 -0
- package/dist/DataMap.js +321 -0
- package/dist/DataMap.js.map +1 -0
- package/dist/Logger.d.ts +91 -0
- package/dist/Logger.js +191 -0
- package/dist/Logger.js.map +1 -0
- package/dist/PomBuilder.d.ts +144 -0
- package/dist/PomBuilder.js +249 -0
- package/dist/PomBuilder.js.map +1 -0
- package/dist/PromptManager.d.ts +85 -0
- package/dist/PromptManager.js +108 -0
- package/dist/PromptManager.js.map +1 -0
- package/dist/SchemaUtils.d.ts +42 -0
- package/dist/SchemaUtils.js +148 -0
- package/dist/SchemaUtils.js.map +1 -0
- package/dist/ServerlessAdapter.d.ts +100 -0
- package/dist/ServerlessAdapter.js +166 -0
- package/dist/ServerlessAdapter.js.map +1 -0
- package/dist/SessionManager.d.ts +86 -0
- package/dist/SessionManager.js +155 -0
- package/dist/SessionManager.js.map +1 -0
- package/dist/SslConfig.d.ts +77 -0
- package/dist/SslConfig.js +100 -0
- package/dist/SslConfig.js.map +1 -0
- package/dist/SwaigFunction.d.ts +88 -0
- package/dist/SwaigFunction.js +125 -0
- package/dist/SwaigFunction.js.map +1 -0
- package/dist/SwaigFunctionResult.d.ts +442 -0
- package/dist/SwaigFunctionResult.js +735 -0
- package/dist/SwaigFunctionResult.js.map +1 -0
- package/dist/SwmlBuilder.d.ts +37 -0
- package/dist/SwmlBuilder.js +55 -0
- package/dist/SwmlBuilder.js.map +1 -0
- package/dist/cli/agent-loader.d.ts +22 -0
- package/dist/cli/agent-loader.js +106 -0
- package/dist/cli/agent-loader.js.map +1 -0
- package/dist/cli/mock-data.d.ts +37 -0
- package/dist/cli/mock-data.js +79 -0
- package/dist/cli/mock-data.js.map +1 -0
- package/dist/cli/swaig-test.d.ts +32 -0
- package/dist/cli/swaig-test.js +405 -0
- package/dist/cli/swaig-test.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/prefabs/ConciergeAgent.d.ts +64 -0
- package/dist/prefabs/ConciergeAgent.js +188 -0
- package/dist/prefabs/ConciergeAgent.js.map +1 -0
- package/dist/prefabs/FAQBotAgent.d.ts +68 -0
- package/dist/prefabs/FAQBotAgent.js +206 -0
- package/dist/prefabs/FAQBotAgent.js.map +1 -0
- package/dist/prefabs/InfoGathererAgent.d.ts +73 -0
- package/dist/prefabs/InfoGathererAgent.js +202 -0
- package/dist/prefabs/InfoGathererAgent.js.map +1 -0
- package/dist/prefabs/ReceptionistAgent.d.ts +65 -0
- package/dist/prefabs/ReceptionistAgent.js +205 -0
- package/dist/prefabs/ReceptionistAgent.js.map +1 -0
- package/dist/prefabs/SurveyAgent.d.ts +84 -0
- package/dist/prefabs/SurveyAgent.js +324 -0
- package/dist/prefabs/SurveyAgent.js.map +1 -0
- package/dist/prefabs/index.d.ts +13 -0
- package/dist/prefabs/index.js +14 -0
- package/dist/prefabs/index.js.map +1 -0
- package/dist/skills/SkillBase.d.ts +134 -0
- package/dist/skills/SkillBase.js +105 -0
- package/dist/skills/SkillBase.js.map +1 -0
- package/dist/skills/SkillManager.d.ts +83 -0
- package/dist/skills/SkillManager.js +159 -0
- package/dist/skills/SkillManager.js.map +1 -0
- package/dist/skills/SkillRegistry.d.ts +105 -0
- package/dist/skills/SkillRegistry.js +195 -0
- package/dist/skills/SkillRegistry.js.map +1 -0
- package/dist/skills/builtin/api_ninjas_trivia.d.ts +35 -0
- package/dist/skills/builtin/api_ninjas_trivia.js +161 -0
- package/dist/skills/builtin/api_ninjas_trivia.js.map +1 -0
- package/dist/skills/builtin/claude_skills.d.ts +34 -0
- package/dist/skills/builtin/claude_skills.js +156 -0
- package/dist/skills/builtin/claude_skills.js.map +1 -0
- package/dist/skills/builtin/custom_skills.d.ts +59 -0
- package/dist/skills/builtin/custom_skills.js +231 -0
- package/dist/skills/builtin/custom_skills.js.map +1 -0
- package/dist/skills/builtin/datasphere.d.ts +34 -0
- package/dist/skills/builtin/datasphere.js +163 -0
- package/dist/skills/builtin/datasphere.js.map +1 -0
- package/dist/skills/builtin/datasphere_serverless.d.ts +54 -0
- package/dist/skills/builtin/datasphere_serverless.js +155 -0
- package/dist/skills/builtin/datasphere_serverless.js.map +1 -0
- package/dist/skills/builtin/datetime.d.ts +31 -0
- package/dist/skills/builtin/datetime.js +95 -0
- package/dist/skills/builtin/datetime.js.map +1 -0
- package/dist/skills/builtin/google_maps.d.ts +33 -0
- package/dist/skills/builtin/google_maps.js +233 -0
- package/dist/skills/builtin/google_maps.js.map +1 -0
- package/dist/skills/builtin/index.d.ts +28 -0
- package/dist/skills/builtin/index.js +75 -0
- package/dist/skills/builtin/index.js.map +1 -0
- package/dist/skills/builtin/info_gatherer.d.ts +52 -0
- package/dist/skills/builtin/info_gatherer.js +237 -0
- package/dist/skills/builtin/info_gatherer.js.map +1 -0
- package/dist/skills/builtin/joke.d.ts +32 -0
- package/dist/skills/builtin/joke.js +142 -0
- package/dist/skills/builtin/joke.js.map +1 -0
- package/dist/skills/builtin/math.d.ts +33 -0
- package/dist/skills/builtin/math.js +120 -0
- package/dist/skills/builtin/math.js.map +1 -0
- package/dist/skills/builtin/mcp_gateway.d.ts +35 -0
- package/dist/skills/builtin/mcp_gateway.js +85 -0
- package/dist/skills/builtin/mcp_gateway.js.map +1 -0
- package/dist/skills/builtin/native_vector_search.d.ts +44 -0
- package/dist/skills/builtin/native_vector_search.js +248 -0
- package/dist/skills/builtin/native_vector_search.js.map +1 -0
- package/dist/skills/builtin/play_background_file.d.ts +34 -0
- package/dist/skills/builtin/play_background_file.js +135 -0
- package/dist/skills/builtin/play_background_file.js.map +1 -0
- package/dist/skills/builtin/spider.d.ts +34 -0
- package/dist/skills/builtin/spider.js +164 -0
- package/dist/skills/builtin/spider.js.map +1 -0
- package/dist/skills/builtin/swml_transfer.d.ts +44 -0
- package/dist/skills/builtin/swml_transfer.js +204 -0
- package/dist/skills/builtin/swml_transfer.js.map +1 -0
- package/dist/skills/builtin/weather_api.d.ts +34 -0
- package/dist/skills/builtin/weather_api.js +136 -0
- package/dist/skills/builtin/weather_api.js.map +1 -0
- package/dist/skills/builtin/web_search.d.ts +34 -0
- package/dist/skills/builtin/web_search.js +141 -0
- package/dist/skills/builtin/web_search.js.map +1 -0
- package/dist/skills/builtin/wikipedia_search.d.ts +34 -0
- package/dist/skills/builtin/wikipedia_search.js +166 -0
- package/dist/skills/builtin/wikipedia_search.js.map +1 -0
- package/dist/skills/index.d.ts +11 -0
- package/dist/skills/index.js +10 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/types.d.ts +85 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/docs/agent-guide.md +869 -0
- package/docs/api-reference.md +2419 -0
- package/docs/architecture.md +843 -0
- package/docs/cli-guide.md +579 -0
- package/docs/configuration.md +422 -0
- package/docs/contexts-guide.md +787 -0
- package/docs/datamap-guide.md +1141 -0
- package/docs/prefabs-guide.md +830 -0
- package/docs/security.md +436 -0
- package/docs/serverless-guide.md +513 -0
- package/docs/skills-guide.md +845 -0
- package/docs/swaig-reference.md +1627 -0
- package/examples/call-flow.ts +60 -0
- package/examples/contexts-steps.ts +62 -0
- package/examples/datamap-tools.ts +52 -0
- package/examples/dynamic-config.ts +51 -0
- package/examples/multi-agent.ts +67 -0
- package/examples/pom-prompt.ts +68 -0
- package/examples/simple-agent.ts +33 -0
- package/package.json +35 -0
- package/src/AgentBase.ts +1279 -0
- package/src/AgentServer.ts +149 -0
- package/src/AuthHandler.ts +141 -0
- package/src/ConfigLoader.ts +165 -0
- package/src/ContextBuilder.ts +796 -0
- package/src/DataMap.ts +365 -0
- package/src/Logger.ts +197 -0
- package/src/PomBuilder.ts +298 -0
- package/src/PromptManager.ts +133 -0
- package/src/SchemaUtils.ts +170 -0
- package/src/ServerlessAdapter.ts +218 -0
- package/src/SessionManager.ts +161 -0
- package/src/SslConfig.ts +118 -0
- package/src/SwaigFunction.ts +168 -0
- package/src/SwaigFunctionResult.ts +864 -0
- package/src/SwmlBuilder.ts +62 -0
- package/src/cli/agent-loader.ts +122 -0
- package/src/cli/mock-data.ts +110 -0
- package/src/cli/swaig-test.ts +440 -0
- package/src/index.ts +99 -0
- package/src/prefabs/ConciergeAgent.ts +251 -0
- package/src/prefabs/FAQBotAgent.ts +263 -0
- package/src/prefabs/InfoGathererAgent.ts +276 -0
- package/src/prefabs/ReceptionistAgent.ts +277 -0
- package/src/prefabs/SurveyAgent.ts +413 -0
- package/src/prefabs/index.ts +23 -0
- package/src/skills/SkillBase.ts +184 -0
- package/src/skills/SkillManager.ts +177 -0
- package/src/skills/SkillRegistry.ts +231 -0
- package/src/skills/builtin/api_ninjas_trivia.ts +230 -0
- package/src/skills/builtin/claude_skills.ts +239 -0
- package/src/skills/builtin/custom_skills.ts +326 -0
- package/src/skills/builtin/datasphere.ts +225 -0
- package/src/skills/builtin/datasphere_serverless.ts +194 -0
- package/src/skills/builtin/datetime.ts +115 -0
- package/src/skills/builtin/google_maps.ts +347 -0
- package/src/skills/builtin/index.ts +79 -0
- package/src/skills/builtin/info_gatherer.ts +331 -0
- package/src/skills/builtin/joke.ts +180 -0
- package/src/skills/builtin/math.ts +150 -0
- package/src/skills/builtin/mcp_gateway.ts +99 -0
- package/src/skills/builtin/native_vector_search.ts +327 -0
- package/src/skills/builtin/play_background_file.ts +189 -0
- package/src/skills/builtin/spider.ts +232 -0
- package/src/skills/builtin/swml_transfer.ts +285 -0
- package/src/skills/builtin/weather_api.ts +193 -0
- package/src/skills/builtin/web_search.ts +212 -0
- package/src/skills/builtin/wikipedia_search.ts +248 -0
- package/src/skills/index.ts +12 -0
- package/src/types.ts +99 -0
- package/tests/AgentBase.test.ts +693 -0
- package/tests/AgentServer.test.ts +102 -0
- package/tests/AuthHandler.test.ts +121 -0
- package/tests/ConfigLoader.test.ts +121 -0
- package/tests/DataMap.test.ts +286 -0
- package/tests/Logger.test.ts +218 -0
- package/tests/PomBuilder.test.ts +164 -0
- package/tests/ProxyDetection.test.ts +185 -0
- package/tests/SchemaUtils.test.ts +106 -0
- package/tests/ServerlessAdapter.test.ts +200 -0
- package/tests/SessionManager.test.ts +139 -0
- package/tests/SslConfig.test.ts +97 -0
- package/tests/SwaigFunctionResult.test.ts +298 -0
- package/tests/cli/mock-data.test.ts +94 -0
- package/tests/cli/swaig-test.test.ts +96 -0
- package/tests/prefabs/prefabs.test.ts +854 -0
- package/tests/setup.ts +6 -0
- package/tests/skills/SkillBase.test.ts +118 -0
- package/tests/skills/SkillManager.test.ts +164 -0
- package/tests/skills/SkillRegistry.test.ts +124 -0
- package/tests/skills/builtin.test.ts +924 -0
- package/tsconfig.json +18 -0
- package/vitest.config.ts +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwaigFunctionResult.js","sourceRoot":"","sources":["../src/SwaigFunctionResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwmlBuilder - Builds SWML (SignalWire Markup Language) documents.
|
|
3
|
+
*
|
|
4
|
+
* Produces `{ version: "1.0.0", sections: { main: [...verbs] } }`.
|
|
5
|
+
*/
|
|
6
|
+
/** Builds SWML documents composed of verb instructions organized into named sections. */
|
|
7
|
+
export declare class SwmlBuilder {
|
|
8
|
+
private document;
|
|
9
|
+
/** Creates a new SwmlBuilder with an empty SWML document. */
|
|
10
|
+
constructor();
|
|
11
|
+
private createEmpty;
|
|
12
|
+
/** Resets the document to an empty SWML structure. */
|
|
13
|
+
reset(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Appends a verb to the main section.
|
|
16
|
+
* @param verbName - The SWML verb name (e.g., "answer", "ai").
|
|
17
|
+
* @param config - The verb's configuration payload.
|
|
18
|
+
*/
|
|
19
|
+
addVerb(verbName: string, config: unknown): void;
|
|
20
|
+
/**
|
|
21
|
+
* Appends a verb to a named section, creating the section if it does not exist.
|
|
22
|
+
* @param sectionName - The target section name.
|
|
23
|
+
* @param verbName - The SWML verb name.
|
|
24
|
+
* @param config - The verb's configuration payload.
|
|
25
|
+
*/
|
|
26
|
+
addVerbToSection(sectionName: string, verbName: string, config: unknown): void;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the raw SWML document object.
|
|
29
|
+
* @returns The document with version and sections.
|
|
30
|
+
*/
|
|
31
|
+
getDocument(): Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Serializes the SWML document to a JSON string.
|
|
34
|
+
* @returns The JSON-encoded SWML document.
|
|
35
|
+
*/
|
|
36
|
+
renderDocument(): string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwmlBuilder - Builds SWML (SignalWire Markup Language) documents.
|
|
3
|
+
*
|
|
4
|
+
* Produces `{ version: "1.0.0", sections: { main: [...verbs] } }`.
|
|
5
|
+
*/
|
|
6
|
+
/** Builds SWML documents composed of verb instructions organized into named sections. */
|
|
7
|
+
export class SwmlBuilder {
|
|
8
|
+
document;
|
|
9
|
+
/** Creates a new SwmlBuilder with an empty SWML document. */
|
|
10
|
+
constructor() {
|
|
11
|
+
this.document = this.createEmpty();
|
|
12
|
+
}
|
|
13
|
+
createEmpty() {
|
|
14
|
+
return { version: '1.0.0', sections: { main: [] } };
|
|
15
|
+
}
|
|
16
|
+
/** Resets the document to an empty SWML structure. */
|
|
17
|
+
reset() {
|
|
18
|
+
this.document = this.createEmpty();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Appends a verb to the main section.
|
|
22
|
+
* @param verbName - The SWML verb name (e.g., "answer", "ai").
|
|
23
|
+
* @param config - The verb's configuration payload.
|
|
24
|
+
*/
|
|
25
|
+
addVerb(verbName, config) {
|
|
26
|
+
this.document.sections['main'].push({ [verbName]: config });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Appends a verb to a named section, creating the section if it does not exist.
|
|
30
|
+
* @param sectionName - The target section name.
|
|
31
|
+
* @param verbName - The SWML verb name.
|
|
32
|
+
* @param config - The verb's configuration payload.
|
|
33
|
+
*/
|
|
34
|
+
addVerbToSection(sectionName, verbName, config) {
|
|
35
|
+
if (!this.document.sections[sectionName]) {
|
|
36
|
+
this.document.sections[sectionName] = [];
|
|
37
|
+
}
|
|
38
|
+
this.document.sections[sectionName].push({ [verbName]: config });
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns the raw SWML document object.
|
|
42
|
+
* @returns The document with version and sections.
|
|
43
|
+
*/
|
|
44
|
+
getDocument() {
|
|
45
|
+
return this.document;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Serializes the SWML document to a JSON string.
|
|
49
|
+
* @returns The JSON-encoded SWML document.
|
|
50
|
+
*/
|
|
51
|
+
renderDocument() {
|
|
52
|
+
return JSON.stringify(this.document);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=SwmlBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwmlBuilder.js","sourceRoot":"","sources":["../src/SwmlBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yFAAyF;AACzF,MAAM,OAAO,WAAW;IACd,QAAQ,CAA2D;IAE3E,6DAA6D;IAC7D;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEO,WAAW;QACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAe,EAAE,EAAE,CAAC;IACnE,CAAC;IAED,sDAAsD;IACtD,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAgB,EAAE,MAAe;QACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,WAAmB,EAAE,QAAgB,EAAE,MAAe;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent discovery via dynamic import for swaig-test CLI.
|
|
3
|
+
*
|
|
4
|
+
* Tries multiple strategies to find an AgentBase instance:
|
|
5
|
+
* 1. Named export `agent`
|
|
6
|
+
* 2. Default export
|
|
7
|
+
* 3. Any exported AgentBase instance (duck-typed)
|
|
8
|
+
* 4. Any exported AgentBase subclass (instantiated)
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Dynamically import an agent file and resolve an AgentBase instance using duck-typing heuristics.
|
|
12
|
+
* @param agentPath - Path to the agent module file.
|
|
13
|
+
* @param agentClass - Optional name of a specific exported class or instance to use.
|
|
14
|
+
* @returns The resolved AgentBase instance.
|
|
15
|
+
*/
|
|
16
|
+
export declare function loadAgent(agentPath: string, agentClass?: string): Promise<unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* List all exported agent instances and classes in a module.
|
|
19
|
+
* @param agentPath - Path to the agent module file.
|
|
20
|
+
* @returns Array of export names that are AgentBase instances or subclasses.
|
|
21
|
+
*/
|
|
22
|
+
export declare function listAgents(agentPath: string): Promise<string[]>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent discovery via dynamic import for swaig-test CLI.
|
|
3
|
+
*
|
|
4
|
+
* Tries multiple strategies to find an AgentBase instance:
|
|
5
|
+
* 1. Named export `agent`
|
|
6
|
+
* 2. Default export
|
|
7
|
+
* 3. Any exported AgentBase instance (duck-typed)
|
|
8
|
+
* 4. Any exported AgentBase subclass (instantiated)
|
|
9
|
+
*/
|
|
10
|
+
import { resolve } from 'node:path';
|
|
11
|
+
import { pathToFileURL } from 'node:url';
|
|
12
|
+
function isAgentInstance(obj) {
|
|
13
|
+
if (!obj || typeof obj !== 'object')
|
|
14
|
+
return false;
|
|
15
|
+
const a = obj;
|
|
16
|
+
return (typeof a['renderSwml'] === 'function' &&
|
|
17
|
+
typeof a['defineTool'] === 'function' &&
|
|
18
|
+
typeof a['getPrompt'] === 'function');
|
|
19
|
+
}
|
|
20
|
+
function isAgentClass(obj) {
|
|
21
|
+
if (typeof obj !== 'function')
|
|
22
|
+
return false;
|
|
23
|
+
const proto = obj.prototype;
|
|
24
|
+
if (!proto)
|
|
25
|
+
return false;
|
|
26
|
+
return (typeof proto['renderSwml'] === 'function' &&
|
|
27
|
+
typeof proto['defineTool'] === 'function' &&
|
|
28
|
+
typeof proto['getPrompt'] === 'function');
|
|
29
|
+
}
|
|
30
|
+
async function importModule(agentPath) {
|
|
31
|
+
const absPath = resolve(agentPath);
|
|
32
|
+
const fileUrl = pathToFileURL(absPath).href;
|
|
33
|
+
try {
|
|
34
|
+
return await import(fileUrl);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
throw new Error(`Failed to import agent file: ${absPath}\n${err}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Dynamically import an agent file and resolve an AgentBase instance using duck-typing heuristics.
|
|
42
|
+
* @param agentPath - Path to the agent module file.
|
|
43
|
+
* @param agentClass - Optional name of a specific exported class or instance to use.
|
|
44
|
+
* @returns The resolved AgentBase instance.
|
|
45
|
+
*/
|
|
46
|
+
export async function loadAgent(agentPath, agentClass) {
|
|
47
|
+
const mod = await importModule(agentPath);
|
|
48
|
+
// If a specific class name is requested
|
|
49
|
+
if (agentClass) {
|
|
50
|
+
const target = mod[agentClass];
|
|
51
|
+
if (!target) {
|
|
52
|
+
throw new Error(`Export '${agentClass}' not found in ${agentPath}`);
|
|
53
|
+
}
|
|
54
|
+
if (isAgentInstance(target))
|
|
55
|
+
return target;
|
|
56
|
+
if (isAgentClass(target)) {
|
|
57
|
+
const Cls = target;
|
|
58
|
+
return new Cls({ name: agentClass.toLowerCase() });
|
|
59
|
+
}
|
|
60
|
+
throw new Error(`Export '${agentClass}' is not an AgentBase instance or class`);
|
|
61
|
+
}
|
|
62
|
+
// 1. Named export `agent`
|
|
63
|
+
if (mod['agent'] && isAgentInstance(mod['agent'])) {
|
|
64
|
+
return mod['agent'];
|
|
65
|
+
}
|
|
66
|
+
// 2. Default export (instance)
|
|
67
|
+
if (mod['default'] && isAgentInstance(mod['default'])) {
|
|
68
|
+
return mod['default'];
|
|
69
|
+
}
|
|
70
|
+
// 3. Any exported AgentBase instance
|
|
71
|
+
for (const key of Object.keys(mod)) {
|
|
72
|
+
if (isAgentInstance(mod[key])) {
|
|
73
|
+
return mod[key];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// 4. Default export (class) - instantiate
|
|
77
|
+
if (mod['default'] && isAgentClass(mod['default'])) {
|
|
78
|
+
const Cls = mod['default'];
|
|
79
|
+
return new Cls({ name: 'cli-agent' });
|
|
80
|
+
}
|
|
81
|
+
// 5. Any exported AgentBase subclass
|
|
82
|
+
for (const key of Object.keys(mod)) {
|
|
83
|
+
if (isAgentClass(mod[key])) {
|
|
84
|
+
const Cls = mod[key];
|
|
85
|
+
return new Cls({ name: 'cli-agent' });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
throw new Error(`Could not find an AgentBase instance or subclass in ${resolve(agentPath)}.\n` +
|
|
89
|
+
'Export your agent as `export const agent = new AgentBase(...)` or as default export.');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* List all exported agent instances and classes in a module.
|
|
93
|
+
* @param agentPath - Path to the agent module file.
|
|
94
|
+
* @returns Array of export names that are AgentBase instances or subclasses.
|
|
95
|
+
*/
|
|
96
|
+
export async function listAgents(agentPath) {
|
|
97
|
+
const mod = await importModule(agentPath);
|
|
98
|
+
const agents = [];
|
|
99
|
+
for (const key of Object.keys(mod)) {
|
|
100
|
+
if (isAgentInstance(mod[key]) || isAgentClass(mod[key])) {
|
|
101
|
+
agents.push(key);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return agents;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=agent-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-loader.js","sourceRoot":"","sources":["../../src/cli/agent-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,UAAU;QACrC,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,UAAU;QACrC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,UAAU,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAI,GAAW,CAAC,SAAS,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,CACL,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,UAAU;QACzC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,UAAU;QACzC,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,UAAU,CACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAE5C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,UAAmB;IACpE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE1C,wCAAwC;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC3C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAiD,CAAC;YAC9D,OAAO,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,yCAAyC,CAAC,CAAC;IAClF,CAAC;IAED,0BAA0B;IAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAA4C,CAAC;QACtE,OAAO,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAA4C,CAAC;YAChE,OAAO,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uDAAuD,OAAO,CAAC,SAAS,CAAC,KAAK;QAC9E,sFAAsF,CACvF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB;IAChD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock call data generation for swaig-test CLI.
|
|
3
|
+
*/
|
|
4
|
+
/** Options for generating mock call data in CLI testing. */
|
|
5
|
+
export interface MockCallOptions {
|
|
6
|
+
/** Call transport type. */
|
|
7
|
+
callType?: 'sip' | 'webrtc';
|
|
8
|
+
/** Direction of the call. */
|
|
9
|
+
callDirection?: 'inbound' | 'outbound';
|
|
10
|
+
/** Current call state (e.g. "active", "ringing", "hold"). */
|
|
11
|
+
callState?: string;
|
|
12
|
+
/** Override the auto-generated call ID. */
|
|
13
|
+
callId?: string;
|
|
14
|
+
/** Caller's phone number. */
|
|
15
|
+
fromNumber?: string;
|
|
16
|
+
/** Destination extension or agent name. */
|
|
17
|
+
toExtension?: string;
|
|
18
|
+
/** Additional key-value overrides merged into the post data. */
|
|
19
|
+
overrides?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate a full mock POST body simulating an inbound SignalWire call request.
|
|
23
|
+
* @param opts - Optional overrides for call metadata fields.
|
|
24
|
+
* @returns A record representing the simulated call POST data.
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateFakePostData(opts?: MockCallOptions): Record<string, unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Generate a minimal mock POST body for executing a single SWAIG function.
|
|
29
|
+
* @param fnName - Name of the SWAIG function to invoke.
|
|
30
|
+
* @param args - Arguments to pass to the function.
|
|
31
|
+
* @param opts - Optional call ID and field overrides.
|
|
32
|
+
* @returns A record representing the minimal POST data for function execution.
|
|
33
|
+
*/
|
|
34
|
+
export declare function generateMinimalPostData(fnName: string, args?: Record<string, unknown>, opts?: {
|
|
35
|
+
callId?: string;
|
|
36
|
+
overrides?: Record<string, unknown>;
|
|
37
|
+
}): Record<string, unknown>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock call data generation for swaig-test CLI.
|
|
3
|
+
*/
|
|
4
|
+
import { randomBytes } from 'node:crypto';
|
|
5
|
+
function randomId() {
|
|
6
|
+
return randomBytes(16).toString('hex');
|
|
7
|
+
}
|
|
8
|
+
function randomUuid() {
|
|
9
|
+
const hex = randomBytes(16).toString('hex');
|
|
10
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate a full mock POST body simulating an inbound SignalWire call request.
|
|
14
|
+
* @param opts - Optional overrides for call metadata fields.
|
|
15
|
+
* @returns A record representing the simulated call POST data.
|
|
16
|
+
*/
|
|
17
|
+
export function generateFakePostData(opts) {
|
|
18
|
+
const callType = opts?.callType ?? 'webrtc';
|
|
19
|
+
const callDirection = opts?.callDirection ?? 'inbound';
|
|
20
|
+
const callState = opts?.callState ?? 'active';
|
|
21
|
+
const fromNumber = opts?.fromNumber ?? '+15551234567';
|
|
22
|
+
const toExtension = opts?.toExtension ?? 'test-agent';
|
|
23
|
+
const callId = opts?.callId ?? randomUuid();
|
|
24
|
+
const nodeId = randomUuid();
|
|
25
|
+
const projectId = randomUuid();
|
|
26
|
+
const spaceId = randomUuid();
|
|
27
|
+
const data = {
|
|
28
|
+
call_id: callId,
|
|
29
|
+
call_type: callType,
|
|
30
|
+
call_direction: callDirection,
|
|
31
|
+
call_state: callState,
|
|
32
|
+
node_id: nodeId,
|
|
33
|
+
project_id: projectId,
|
|
34
|
+
space_id: spaceId,
|
|
35
|
+
caller_id_name: callType === 'sip' ? fromNumber : 'WebRTC User',
|
|
36
|
+
caller_id_number: fromNumber,
|
|
37
|
+
call_start_time: new Date().toISOString(),
|
|
38
|
+
channel_type: callType === 'sip' ? 'phone' : 'web',
|
|
39
|
+
from: fromNumber,
|
|
40
|
+
to: toExtension,
|
|
41
|
+
sip_headers: callType === 'sip' ? {
|
|
42
|
+
'X-SignalWire-Agent': 'swaig-test-cli',
|
|
43
|
+
} : undefined,
|
|
44
|
+
vars: {
|
|
45
|
+
call_type: callType,
|
|
46
|
+
direction: callDirection,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
// Apply overrides
|
|
50
|
+
if (opts?.overrides) {
|
|
51
|
+
Object.assign(data, opts.overrides);
|
|
52
|
+
}
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generate a minimal mock POST body for executing a single SWAIG function.
|
|
57
|
+
* @param fnName - Name of the SWAIG function to invoke.
|
|
58
|
+
* @param args - Arguments to pass to the function.
|
|
59
|
+
* @param opts - Optional call ID and field overrides.
|
|
60
|
+
* @returns A record representing the minimal POST data for function execution.
|
|
61
|
+
*/
|
|
62
|
+
export function generateMinimalPostData(fnName, args, opts) {
|
|
63
|
+
const data = {
|
|
64
|
+
function: fnName,
|
|
65
|
+
argument: args ?? {},
|
|
66
|
+
call_id: opts?.callId ?? randomUuid(),
|
|
67
|
+
call_type: 'webrtc',
|
|
68
|
+
call_direction: 'inbound',
|
|
69
|
+
caller_id_name: 'CLI Test',
|
|
70
|
+
caller_id_number: '+15551234567',
|
|
71
|
+
from: '+15551234567',
|
|
72
|
+
to: 'test-agent',
|
|
73
|
+
};
|
|
74
|
+
if (opts?.overrides) {
|
|
75
|
+
Object.assign(data, opts.overrides);
|
|
76
|
+
}
|
|
77
|
+
return data;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=mock-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../src/cli/mock-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* swaig-test - CLI tool for testing SignalWire AI agents locally.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* swaig-test <agent-path> [options]
|
|
7
|
+
*
|
|
8
|
+
* Actions:
|
|
9
|
+
* --list-tools List all SWAIG functions with parameters
|
|
10
|
+
* --list-agents List all exported agents in a file
|
|
11
|
+
* --dump-swml Generate and output SWML document
|
|
12
|
+
* --exec <name> Execute a function (use --arg key=value for args)
|
|
13
|
+
*
|
|
14
|
+
* Options:
|
|
15
|
+
* --raw Raw JSON output (suppresses logs)
|
|
16
|
+
* --verbose Verbose output
|
|
17
|
+
* --format-json Format output as indented JSON
|
|
18
|
+
* --call-type sip|webrtc (default: webrtc)
|
|
19
|
+
* --call-direction inbound|outbound (default: inbound)
|
|
20
|
+
* --call-state active|ringing|hold (default: active)
|
|
21
|
+
* --call-id Override call ID
|
|
22
|
+
* --from-number Override from number
|
|
23
|
+
* --to-extension Override to extension
|
|
24
|
+
* --arg key=value Function argument (repeatable)
|
|
25
|
+
* --override k=v Override call data field (repeatable)
|
|
26
|
+
* --agent-class Name of specific agent class to use
|
|
27
|
+
* --route Route for agent (default: /)
|
|
28
|
+
* --env KEY=VALUE Set env var (repeatable)
|
|
29
|
+
* --env-file Load env vars from file
|
|
30
|
+
* --simulate-serverless <platform> Simulate serverless platform
|
|
31
|
+
*/
|
|
32
|
+
export {};
|