@falai/agent 0.4.1 → 0.5.1
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/README.md +21 -74
- package/dist/cjs/core/Agent.d.ts +22 -29
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +464 -291
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/Events.d.ts +10 -1
- package/dist/cjs/core/Events.d.ts.map +1 -1
- package/dist/cjs/core/Events.js +3 -2
- package/dist/cjs/core/Events.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +19 -0
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +55 -0
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/PromptComposer.d.ts +24 -0
- package/dist/cjs/core/PromptComposer.d.ts.map +1 -0
- package/dist/cjs/core/PromptComposer.js +127 -0
- package/dist/cjs/core/PromptComposer.js.map +1 -0
- package/dist/cjs/core/ResponseEngine.d.ts +19 -0
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -0
- package/dist/cjs/core/ResponseEngine.js +51 -0
- package/dist/cjs/core/ResponseEngine.js.map +1 -0
- package/dist/cjs/core/Route.d.ts +18 -12
- package/dist/cjs/core/Route.d.ts.map +1 -1
- package/dist/cjs/core/Route.js +15 -9
- package/dist/cjs/core/Route.js.map +1 -1
- package/dist/cjs/core/RoutingEngine.d.ts +38 -0
- package/dist/cjs/core/RoutingEngine.d.ts.map +1 -0
- package/dist/cjs/core/RoutingEngine.js +110 -0
- package/dist/cjs/core/RoutingEngine.js.map +1 -0
- package/dist/cjs/core/State.d.ts +15 -4
- package/dist/cjs/core/State.d.ts.map +1 -1
- package/dist/cjs/core/State.js +21 -2
- package/dist/cjs/core/State.js.map +1 -1
- package/dist/cjs/core/ToolExecutor.d.ts +29 -0
- package/dist/cjs/core/ToolExecutor.d.ts.map +1 -0
- package/dist/cjs/core/ToolExecutor.js +73 -0
- package/dist/cjs/core/ToolExecutor.js.map +1 -0
- package/dist/cjs/core/Transition.d.ts +5 -5
- package/dist/cjs/core/Transition.d.ts.map +1 -1
- package/dist/cjs/core/Transition.js.map +1 -1
- package/dist/cjs/index.d.ts +6 -8
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.js +10 -13
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +12 -8
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +10 -53
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +10 -53
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +13 -12
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/ai.d.ts +8 -2
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/history.d.ts +8 -0
- package/dist/cjs/types/history.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +0 -3
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -3
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/route.d.ts +39 -4
- package/dist/cjs/types/route.d.ts.map +1 -1
- package/dist/cjs/types/routing.d.ts +16 -0
- package/dist/cjs/types/routing.d.ts.map +1 -0
- package/dist/cjs/types/routing.js +3 -0
- package/dist/cjs/types/routing.js.map +1 -0
- package/dist/cjs/types/schema.d.ts +22 -0
- package/dist/cjs/types/schema.d.ts.map +1 -0
- package/dist/cjs/types/schema.js +3 -0
- package/dist/cjs/types/schema.js.map +1 -0
- package/dist/cjs/types/session.d.ts +77 -0
- package/dist/cjs/types/session.d.ts.map +1 -0
- package/dist/cjs/types/session.js +146 -0
- package/dist/cjs/types/session.js.map +1 -0
- package/dist/cjs/types/tool.d.ts +11 -5
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/utils/id.d.ts +0 -5
- package/dist/cjs/utils/id.d.ts.map +1 -1
- package/dist/cjs/utils/id.js +0 -10
- package/dist/cjs/utils/id.js.map +1 -1
- package/dist/cjs/utils/schema.d.ts +17 -0
- package/dist/cjs/utils/schema.d.ts.map +1 -0
- package/dist/cjs/utils/schema.js +32 -0
- package/dist/cjs/utils/schema.js.map +1 -0
- package/dist/core/Agent.d.ts +22 -29
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +464 -291
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/Events.d.ts +10 -1
- package/dist/core/Events.d.ts.map +1 -1
- package/dist/core/Events.js +3 -2
- package/dist/core/Events.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts +19 -0
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +55 -0
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/PromptComposer.d.ts +24 -0
- package/dist/core/PromptComposer.d.ts.map +1 -0
- package/dist/core/PromptComposer.js +123 -0
- package/dist/core/PromptComposer.js.map +1 -0
- package/dist/core/ResponseEngine.d.ts +19 -0
- package/dist/core/ResponseEngine.d.ts.map +1 -0
- package/dist/core/ResponseEngine.js +47 -0
- package/dist/core/ResponseEngine.js.map +1 -0
- package/dist/core/Route.d.ts +18 -12
- package/dist/core/Route.d.ts.map +1 -1
- package/dist/core/Route.js +15 -9
- package/dist/core/Route.js.map +1 -1
- package/dist/core/RoutingEngine.d.ts +38 -0
- package/dist/core/RoutingEngine.d.ts.map +1 -0
- package/dist/core/RoutingEngine.js +106 -0
- package/dist/core/RoutingEngine.js.map +1 -0
- package/dist/core/State.d.ts +15 -4
- package/dist/core/State.d.ts.map +1 -1
- package/dist/core/State.js +21 -2
- package/dist/core/State.js.map +1 -1
- package/dist/core/ToolExecutor.d.ts +29 -0
- package/dist/core/ToolExecutor.d.ts.map +1 -0
- package/dist/core/ToolExecutor.js +69 -0
- package/dist/core/ToolExecutor.js.map +1 -0
- package/dist/core/Transition.d.ts +5 -5
- package/dist/core/Transition.d.ts.map +1 -1
- package/dist/core/Transition.js.map +1 -1
- package/dist/index.d.ts +6 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/AnthropicProvider.js +10 -13
- package/dist/providers/AnthropicProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +12 -8
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +10 -53
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +10 -53
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/types/agent.d.ts +13 -12
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/ai.d.ts +8 -2
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/history.d.ts +8 -0
- package/dist/types/history.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/route.d.ts +39 -4
- package/dist/types/route.d.ts.map +1 -1
- package/dist/types/routing.d.ts +16 -0
- package/dist/types/routing.d.ts.map +1 -0
- package/dist/types/routing.js +2 -0
- package/dist/types/routing.js.map +1 -0
- package/dist/types/schema.d.ts +22 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +2 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/types/session.d.ts +77 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +138 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/tool.d.ts +11 -5
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/utils/id.d.ts +0 -5
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +0 -9
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/schema.d.ts +17 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +27 -0
- package/dist/utils/schema.js.map +1 -0
- package/docs/ADAPTERS.md +83 -3
- package/docs/API_REFERENCE.md +329 -104
- package/docs/ARCHITECTURE.md +284 -286
- package/docs/CONSTRUCTOR_OPTIONS.md +192 -135
- package/docs/CONTEXT_MANAGEMENT.md +311 -28
- package/docs/CONTRIBUTING.md +1 -1
- package/docs/DOMAINS.md +61 -0
- package/docs/GETTING_STARTED.md +177 -88
- package/docs/PERSISTENCE.md +170 -23
- package/docs/README.md +7 -10
- package/examples/business-onboarding.ts +21 -9
- package/examples/company-qna-agent.ts +508 -0
- package/examples/declarative-agent.ts +143 -26
- package/examples/domain-scoping.ts +31 -10
- package/examples/extracted-data-modification.ts +415 -0
- package/examples/healthcare-agent.ts +194 -90
- package/examples/openai-agent.ts +67 -25
- package/examples/opensearch-persistence.ts +455 -151
- package/examples/persistent-onboarding.ts +162 -96
- package/examples/prisma-persistence.ts +371 -125
- package/examples/redis-persistence.ts +393 -23
- package/examples/rules-prohibitions.ts +32 -11
- package/examples/streaming-agent.ts +61 -13
- package/examples/travel-agent.ts +266 -133
- package/package.json +1 -1
- package/src/core/Agent.ts +668 -356
- package/src/core/Events.ts +12 -2
- package/src/core/PersistenceManager.ts +81 -0
- package/src/core/PromptComposer.ts +143 -0
- package/src/core/ResponseEngine.ts +82 -0
- package/src/core/Route.ts +32 -17
- package/src/core/RoutingEngine.ts +165 -0
- package/src/core/State.ts +55 -15
- package/src/core/ToolExecutor.ts +117 -0
- package/src/core/Transition.ts +5 -5
- package/src/index.ts +12 -21
- package/src/providers/AnthropicProvider.ts +10 -13
- package/src/providers/GeminiProvider.ts +12 -8
- package/src/providers/OpenAIProvider.ts +10 -56
- package/src/providers/OpenRouterProvider.ts +10 -56
- package/src/types/agent.ts +16 -13
- package/src/types/ai.ts +6 -2
- package/src/types/history.ts +8 -0
- package/src/types/index.ts +0 -11
- package/src/types/route.ts +41 -5
- package/src/types/routing.ts +18 -0
- package/src/types/schema.ts +23 -0
- package/src/types/session.ts +219 -0
- package/src/types/tool.ts +29 -7
- package/src/utils/id.ts +0 -10
- package/src/utils/schema.ts +32 -0
- package/dist/cjs/core/ConditionEvaluator.d.ts +0 -72
- package/dist/cjs/core/ConditionEvaluator.d.ts.map +0 -1
- package/dist/cjs/core/ConditionEvaluator.js +0 -272
- package/dist/cjs/core/ConditionEvaluator.js.map +0 -1
- package/dist/cjs/core/Observation.d.ts +0 -24
- package/dist/cjs/core/Observation.d.ts.map +0 -1
- package/dist/cjs/core/Observation.js +0 -39
- package/dist/cjs/core/Observation.js.map +0 -1
- package/dist/cjs/core/PreparationEngine.d.ts +0 -116
- package/dist/cjs/core/PreparationEngine.d.ts.map +0 -1
- package/dist/cjs/core/PreparationEngine.js +0 -353
- package/dist/cjs/core/PreparationEngine.js.map +0 -1
- package/dist/cjs/core/PromptBuilder.d.ts +0 -136
- package/dist/cjs/core/PromptBuilder.d.ts.map +0 -1
- package/dist/cjs/core/PromptBuilder.js +0 -421
- package/dist/cjs/core/PromptBuilder.js.map +0 -1
- package/dist/cjs/types/observation.d.ts +0 -27
- package/dist/cjs/types/observation.d.ts.map +0 -1
- package/dist/cjs/types/observation.js +0 -6
- package/dist/cjs/types/observation.js.map +0 -1
- package/dist/cjs/types/prompt.d.ts +0 -46
- package/dist/cjs/types/prompt.d.ts.map +0 -1
- package/dist/cjs/types/prompt.js +0 -19
- package/dist/cjs/types/prompt.js.map +0 -1
- package/dist/core/ConditionEvaluator.d.ts +0 -72
- package/dist/core/ConditionEvaluator.d.ts.map +0 -1
- package/dist/core/ConditionEvaluator.js +0 -268
- package/dist/core/ConditionEvaluator.js.map +0 -1
- package/dist/core/Observation.d.ts +0 -24
- package/dist/core/Observation.d.ts.map +0 -1
- package/dist/core/Observation.js +0 -35
- package/dist/core/Observation.js.map +0 -1
- package/dist/core/PreparationEngine.d.ts +0 -116
- package/dist/core/PreparationEngine.d.ts.map +0 -1
- package/dist/core/PreparationEngine.js +0 -349
- package/dist/core/PreparationEngine.js.map +0 -1
- package/dist/core/PromptBuilder.d.ts +0 -136
- package/dist/core/PromptBuilder.d.ts.map +0 -1
- package/dist/core/PromptBuilder.js +0 -417
- package/dist/core/PromptBuilder.js.map +0 -1
- package/dist/types/observation.d.ts +0 -27
- package/dist/types/observation.d.ts.map +0 -1
- package/dist/types/observation.js +0 -5
- package/dist/types/observation.js.map +0 -1
- package/dist/types/prompt.d.ts +0 -46
- package/dist/types/prompt.d.ts.map +0 -1
- package/dist/types/prompt.js +0 -16
- package/dist/types/prompt.js.map +0 -1
- package/docs/STRUCTURE.md +0 -58
- package/src/core/ConditionEvaluator.ts +0 -381
- package/src/core/Observation.ts +0 -47
- package/src/core/PreparationEngine.ts +0 -561
- package/src/core/PromptBuilder.ts +0 -617
- package/src/types/observation.ts +0 -29
- package/src/types/prompt.ts +0 -49
package/dist/types/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/types/ai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,QAAQ,GAAG,OAAO;IACtD,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE;QACX,wCAAwC;QACxC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uCAAuC;QACvC,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/types/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/types/history.d.ts
CHANGED
|
@@ -50,6 +50,14 @@ export interface MessageEventData {
|
|
|
50
50
|
flagged?: boolean;
|
|
51
51
|
/** Tags/reasons if flagged */
|
|
52
52
|
tags?: string[];
|
|
53
|
+
/** Session metadata attached to this message */
|
|
54
|
+
session?: {
|
|
55
|
+
routeId?: string;
|
|
56
|
+
routeTitle?: string;
|
|
57
|
+
stateId?: string;
|
|
58
|
+
stateDescription?: string;
|
|
59
|
+
extracted?: Record<string, unknown>;
|
|
60
|
+
};
|
|
53
61
|
}
|
|
54
62
|
/**
|
|
55
63
|
* Result of a tool execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/types/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,SAAS;IACnB,2BAA2B;IAC3B,OAAO,YAAY;IACnB,6BAA6B;IAC7B,IAAI,SAAS;IACb,4BAA4B;IAC5B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,8CAA8C;IAC9C,QAAQ,aAAa;IACrB,yCAAyC;IACzC,WAAW,gBAAgB;IAC3B,qCAAqC;IACrC,WAAW,gBAAgB;IAC3B,+CAA+C;IAC/C,iCAAiC,sCAAsC;IACvE,kCAAkC;IAClC,QAAQ,aAAa;IACrB,6BAA6B;IAC7B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/types/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,SAAS;IACnB,2BAA2B;IAC3B,OAAO,YAAY;IACnB,6BAA6B;IAC7B,IAAI,SAAS;IACb,4BAA4B;IAC5B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,8CAA8C;IAC9C,QAAQ,aAAa;IACrB,yCAAyC;IACzC,WAAW,gBAAgB;IAC3B,qCAAqC;IACrC,WAAW,gBAAgB;IAC3B,+CAA+C;IAC/C,iCAAiC,sCAAsC;IACvE,kCAAkC;IAClC,QAAQ,aAAa;IACrB,6BAA6B;IAC7B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACzC,sBAAsB;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC1D,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,KAAK,CAAC;IACjB,kCAAkC;IAClC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CACpB,KAAK,GAAG,gBAAgB,GAAG,aAAa,GAAG,eAAe;IAE1D,oBAAoB;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,0BAA0B;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAC3B,KAAK,GAAG,gBAAgB,GAAG,aAAa,GAAG,eAAe,CAC1D,SAAQ,KAAK,CAAC,KAAK,CAAC;IACpB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,8 +8,5 @@ export { EventKind, EventSource } from "./history";
|
|
|
8
8
|
export type { RouteRef, StateRef, RouteOptions, TransitionSpec, TransitionResult, } from "./route";
|
|
9
9
|
export type { ToolContext, ToolResult, ToolHandler, ToolRef } from "./tool";
|
|
10
10
|
export type { AiProvider, GenerateMessageInput, GenerateMessageOutput, } from "./ai";
|
|
11
|
-
export type { PromptSection, ContextVariable, ContextVariableValue, } from "./prompt";
|
|
12
|
-
export { SectionStatus } from "./prompt";
|
|
13
|
-
export type { Observation, ObservationOptions } from "./observation";
|
|
14
11
|
export type { SessionData, MessageData, SessionStatus, MessageRole, SessionRepository, MessageRepository, PersistenceAdapter, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, } from "./persistence";
|
|
15
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,IAAI,eAAe,EAC7B,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGnD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG5E,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,IAAI,eAAe,EAC7B,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGnD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG5E,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa1C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa1C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/types/route.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Route/Journey DSL type definitions
|
|
3
3
|
*/
|
|
4
4
|
import type { ToolRef } from "./tool";
|
|
5
|
+
import type { StructuredSchema } from "./schema";
|
|
5
6
|
/**
|
|
6
7
|
* Reference to a route
|
|
7
8
|
*/
|
|
@@ -24,8 +25,9 @@ export interface StateRef {
|
|
|
24
25
|
import type { Guideline } from "./agent";
|
|
25
26
|
/**
|
|
26
27
|
* Options for creating a route
|
|
28
|
+
* @template TExtracted - Type of data extracted throughout the route (inferred from gatherSchema)
|
|
27
29
|
*/
|
|
28
|
-
export interface RouteOptions {
|
|
30
|
+
export interface RouteOptions<TExtracted = unknown> {
|
|
29
31
|
/** Custom ID for the route (optional - will generate deterministic ID from title if not provided) */
|
|
30
32
|
id?: string;
|
|
31
33
|
/** Title of the route */
|
|
@@ -42,24 +44,57 @@ export interface RouteOptions {
|
|
|
42
44
|
rules?: string[];
|
|
43
45
|
/** Absolute prohibitions the agent must never do in this route */
|
|
44
46
|
prohibitions?: string[];
|
|
47
|
+
/** Optional: extractions the router may return (added to routing schema) */
|
|
48
|
+
routingExtrasSchema?: StructuredSchema;
|
|
49
|
+
/** Optional: structured response data for this route's message generation */
|
|
50
|
+
responseOutputSchema?: StructuredSchema;
|
|
51
|
+
/**
|
|
52
|
+
* NEW: Schema defining data to extract throughout this route
|
|
53
|
+
* This creates a type-safe contract for what data the route collects
|
|
54
|
+
*/
|
|
55
|
+
gatherSchema?: StructuredSchema;
|
|
56
|
+
/**
|
|
57
|
+
* NEW: Initial data to pre-populate when entering this route
|
|
58
|
+
* Useful for restoring sessions or pre-filling known information
|
|
59
|
+
* States with skipIf conditions will be automatically bypassed if data is present
|
|
60
|
+
*/
|
|
61
|
+
initialData?: Partial<TExtracted>;
|
|
45
62
|
}
|
|
46
63
|
/**
|
|
47
64
|
* Specification for a state transition
|
|
48
65
|
*/
|
|
49
|
-
export interface TransitionSpec<TContext = unknown> {
|
|
66
|
+
export interface TransitionSpec<TContext = unknown, TExtracted = unknown> {
|
|
50
67
|
/** Transition to a chat state with this description */
|
|
51
68
|
chatState?: string;
|
|
52
69
|
/** Transition to execute a tool */
|
|
53
70
|
toolState?: ToolRef<TContext, any[], any>;
|
|
54
71
|
/** Transition to a specific state or end marker */
|
|
55
72
|
state?: StateRef | symbol;
|
|
73
|
+
/**
|
|
74
|
+
* NEW: Fields to gather from the conversation in this state
|
|
75
|
+
* These should match keys in the route's gatherSchema
|
|
76
|
+
*/
|
|
77
|
+
gather?: string[];
|
|
78
|
+
/**
|
|
79
|
+
* NEW: Function to determine if this state should be skipped
|
|
80
|
+
* If returns true, the state will be bypassed
|
|
81
|
+
* @param extracted - Currently extracted data
|
|
82
|
+
* @returns true if state should be skipped, false otherwise
|
|
83
|
+
*/
|
|
84
|
+
skipIf?: (extracted: Partial<TExtracted>) => boolean;
|
|
85
|
+
/**
|
|
86
|
+
* NEW: Required data fields that must be present before entering this state
|
|
87
|
+
* If any required field is missing, state cannot be entered
|
|
88
|
+
* Uses string[] for developer-friendly usage (same as gather)
|
|
89
|
+
*/
|
|
90
|
+
requiredData?: string[];
|
|
56
91
|
}
|
|
57
92
|
/**
|
|
58
93
|
* Result of a transition operation
|
|
59
94
|
* Combines state reference with the ability to chain transitions
|
|
60
95
|
*/
|
|
61
|
-
export interface TransitionResult<TContext = unknown> extends StateRef {
|
|
96
|
+
export interface TransitionResult<TContext = unknown, TExtracted = unknown> extends StateRef {
|
|
62
97
|
/** Allow chaining transitions */
|
|
63
|
-
transitionTo: (spec: TransitionSpec<TContext>, condition?: string) => TransitionResult<TContext>;
|
|
98
|
+
transitionTo: (spec: TransitionSpec<TContext, TExtracted>, condition?: string) => TransitionResult<TContext, TExtracted>;
|
|
64
99
|
}
|
|
65
100
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/types/route.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/types/route.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,OAAO;IAChD,qGAAqG;IACrG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,QAAQ,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO;IACtE,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IAEnC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,mDAAmD;IACnD,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;IACrD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,QAAQ,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO,CACxE,SAAQ,QAAQ;IAChB,iCAAiC;IACjC,YAAY,EAAE,CACZ,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC1C,SAAS,CAAC,EAAE,MAAM,KACf,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { StructuredSchema } from "./schema";
|
|
2
|
+
export interface RoutingDecision {
|
|
3
|
+
context: string;
|
|
4
|
+
routes: Record<string, number>;
|
|
5
|
+
responseDirectives?: string[];
|
|
6
|
+
extractions?: unknown;
|
|
7
|
+
contextUpdate?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface RoutingDecisionWithRoute extends RoutingDecision {
|
|
10
|
+
selectedRouteId: string;
|
|
11
|
+
maxScore: number;
|
|
12
|
+
}
|
|
13
|
+
export interface RoutingSchemaOptions {
|
|
14
|
+
extrasSchema?: StructuredSchema;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/types/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/types/routing.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StructuredSchema - minimal JSON Schema subset used across providers
|
|
3
|
+
*/
|
|
4
|
+
export interface StructuredSchema {
|
|
5
|
+
type?: string | string[];
|
|
6
|
+
description?: string;
|
|
7
|
+
enum?: Array<string | number | boolean | null>;
|
|
8
|
+
nullable?: boolean;
|
|
9
|
+
properties?: Record<string, StructuredSchema>;
|
|
10
|
+
required?: string[];
|
|
11
|
+
items?: StructuredSchema;
|
|
12
|
+
additionalProperties?: boolean | StructuredSchema;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A small helper describing a named schema (for providers that require a name)
|
|
17
|
+
*/
|
|
18
|
+
export interface NamedSchema {
|
|
19
|
+
name?: string;
|
|
20
|
+
schema: StructuredSchema;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAElD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session state types for tracking conversation progress
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Session state tracks the current position in the conversation flow
|
|
6
|
+
* and data extracted during the route progression
|
|
7
|
+
*/
|
|
8
|
+
export interface SessionState<TExtracted = Record<string, unknown>> {
|
|
9
|
+
/** Unique session identifier (useful for persistence) */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Current route the conversation is in */
|
|
12
|
+
currentRoute?: {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
enteredAt: Date;
|
|
16
|
+
};
|
|
17
|
+
/** Current state within the route */
|
|
18
|
+
currentState?: {
|
|
19
|
+
id: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
enteredAt: Date;
|
|
22
|
+
};
|
|
23
|
+
/** Data extracted during the current route */
|
|
24
|
+
extracted: Partial<TExtracted>;
|
|
25
|
+
/** History of routes visited in this session */
|
|
26
|
+
routeHistory: Array<{
|
|
27
|
+
routeId: string;
|
|
28
|
+
enteredAt: Date;
|
|
29
|
+
exitedAt?: Date;
|
|
30
|
+
completed: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
/** Session metadata */
|
|
33
|
+
metadata?: {
|
|
34
|
+
createdAt?: Date;
|
|
35
|
+
lastUpdatedAt?: Date;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Helper to create a new session
|
|
41
|
+
* @param sessionId - Optional session ID (e.g., from database)
|
|
42
|
+
* @param metadata - Optional metadata to attach
|
|
43
|
+
*/
|
|
44
|
+
export declare function createSession<TExtracted = Record<string, unknown>>(sessionId?: string, metadata?: SessionState<TExtracted>["metadata"]): SessionState<TExtracted>;
|
|
45
|
+
/**
|
|
46
|
+
* Helper to update session with new route
|
|
47
|
+
*/
|
|
48
|
+
export declare function enterRoute<TExtracted = Record<string, unknown>>(session: SessionState<TExtracted>, routeId: string, routeTitle: string): SessionState<TExtracted>;
|
|
49
|
+
/**
|
|
50
|
+
* Helper to update session with new state
|
|
51
|
+
*/
|
|
52
|
+
export declare function enterState<TExtracted = Record<string, unknown>>(session: SessionState<TExtracted>, stateId: string, stateDescription?: string): SessionState<TExtracted>;
|
|
53
|
+
/**
|
|
54
|
+
* Helper to merge extracted data into session
|
|
55
|
+
*/
|
|
56
|
+
export declare function mergeExtracted<TExtracted = Record<string, unknown>>(session: SessionState<TExtracted>, extracted: Partial<TExtracted>): SessionState<TExtracted>;
|
|
57
|
+
/**
|
|
58
|
+
* Helper to convert SessionState to persistence-friendly format
|
|
59
|
+
* Used when saving to database
|
|
60
|
+
*/
|
|
61
|
+
export declare function sessionStateToData<TExtracted = Record<string, unknown>>(session: SessionState<TExtracted>): {
|
|
62
|
+
currentRoute?: string;
|
|
63
|
+
currentState?: string;
|
|
64
|
+
collectedData: Record<string, unknown>;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Helper to convert database SessionData back to SessionState
|
|
68
|
+
* Used when loading from database
|
|
69
|
+
* @param sessionId - The database session ID
|
|
70
|
+
* @param data - The database session data
|
|
71
|
+
*/
|
|
72
|
+
export declare function sessionDataToState<TExtracted = Record<string, unknown>>(sessionId: string, data: {
|
|
73
|
+
currentRoute?: string;
|
|
74
|
+
currentState?: string;
|
|
75
|
+
collectedData?: Record<string, unknown>;
|
|
76
|
+
}): SessionState<TExtracted>;
|
|
77
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,qCAAqC;IACrC,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/B,gDAAgD;IAChD,YAAY,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IAEH,uBAAuB;IACvB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAC9C,YAAY,CAAC,UAAU,CAAC,CAW1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,UAAU,CAAC,CAoC1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB,YAAY,CAAC,UAAU,CAAC,CAa1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAC7B,YAAY,CAAC,UAAU,CAAC,CAY1B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,GAChC;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GACA,YAAY,CAAC,UAAU,CAAC,CA4B1B"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session state types for tracking conversation progress
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Helper to create a new session
|
|
6
|
+
* @param sessionId - Optional session ID (e.g., from database)
|
|
7
|
+
* @param metadata - Optional metadata to attach
|
|
8
|
+
*/
|
|
9
|
+
export function createSession(sessionId, metadata) {
|
|
10
|
+
return {
|
|
11
|
+
id: sessionId,
|
|
12
|
+
extracted: {},
|
|
13
|
+
routeHistory: [],
|
|
14
|
+
metadata: {
|
|
15
|
+
...metadata,
|
|
16
|
+
createdAt: new Date(),
|
|
17
|
+
lastUpdatedAt: new Date(),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Helper to update session with new route
|
|
23
|
+
*/
|
|
24
|
+
export function enterRoute(session, routeId, routeTitle) {
|
|
25
|
+
// Exit current route if exists
|
|
26
|
+
const routeHistory = [...session.routeHistory];
|
|
27
|
+
if (session.currentRoute) {
|
|
28
|
+
const lastRouteIndex = routeHistory.findIndex((r) => r.routeId === session.currentRoute?.id && !r.exitedAt);
|
|
29
|
+
if (lastRouteIndex >= 0) {
|
|
30
|
+
routeHistory[lastRouteIndex].exitedAt = new Date();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Enter new route
|
|
34
|
+
const now = new Date();
|
|
35
|
+
return {
|
|
36
|
+
...session,
|
|
37
|
+
currentRoute: {
|
|
38
|
+
id: routeId,
|
|
39
|
+
title: routeTitle,
|
|
40
|
+
enteredAt: now,
|
|
41
|
+
},
|
|
42
|
+
currentState: undefined,
|
|
43
|
+
extracted: {}, // Reset extracted data for new route
|
|
44
|
+
routeHistory: [
|
|
45
|
+
...routeHistory,
|
|
46
|
+
{
|
|
47
|
+
routeId,
|
|
48
|
+
enteredAt: now,
|
|
49
|
+
completed: false,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
metadata: {
|
|
53
|
+
...session.metadata,
|
|
54
|
+
lastUpdatedAt: now,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Helper to update session with new state
|
|
60
|
+
*/
|
|
61
|
+
export function enterState(session, stateId, stateDescription) {
|
|
62
|
+
return {
|
|
63
|
+
...session,
|
|
64
|
+
currentState: {
|
|
65
|
+
id: stateId,
|
|
66
|
+
description: stateDescription,
|
|
67
|
+
enteredAt: new Date(),
|
|
68
|
+
},
|
|
69
|
+
metadata: {
|
|
70
|
+
...session.metadata,
|
|
71
|
+
lastUpdatedAt: new Date(),
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Helper to merge extracted data into session
|
|
77
|
+
*/
|
|
78
|
+
export function mergeExtracted(session, extracted) {
|
|
79
|
+
return {
|
|
80
|
+
...session,
|
|
81
|
+
extracted: {
|
|
82
|
+
...session.extracted,
|
|
83
|
+
...extracted,
|
|
84
|
+
},
|
|
85
|
+
metadata: {
|
|
86
|
+
...session.metadata,
|
|
87
|
+
lastUpdatedAt: new Date(),
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Helper to convert SessionState to persistence-friendly format
|
|
93
|
+
* Used when saving to database
|
|
94
|
+
*/
|
|
95
|
+
export function sessionStateToData(session) {
|
|
96
|
+
return {
|
|
97
|
+
currentRoute: session.currentRoute?.id,
|
|
98
|
+
currentState: session.currentState?.id,
|
|
99
|
+
collectedData: {
|
|
100
|
+
extracted: session.extracted,
|
|
101
|
+
routeHistory: session.routeHistory,
|
|
102
|
+
currentRouteTitle: session.currentRoute?.title,
|
|
103
|
+
currentStateDescription: session.currentState?.description,
|
|
104
|
+
metadata: session.metadata,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Helper to convert database SessionData back to SessionState
|
|
110
|
+
* Used when loading from database
|
|
111
|
+
* @param sessionId - The database session ID
|
|
112
|
+
* @param data - The database session data
|
|
113
|
+
*/
|
|
114
|
+
export function sessionDataToState(sessionId, data) {
|
|
115
|
+
const collectedData = data.collectedData || {};
|
|
116
|
+
return {
|
|
117
|
+
id: sessionId,
|
|
118
|
+
currentRoute: data.currentRoute
|
|
119
|
+
? {
|
|
120
|
+
id: data.currentRoute,
|
|
121
|
+
title: collectedData.currentRouteTitle || data.currentRoute,
|
|
122
|
+
enteredAt: new Date(),
|
|
123
|
+
}
|
|
124
|
+
: undefined,
|
|
125
|
+
currentState: data.currentState
|
|
126
|
+
? {
|
|
127
|
+
id: data.currentState,
|
|
128
|
+
description: collectedData.currentStateDescription || undefined,
|
|
129
|
+
enteredAt: new Date(),
|
|
130
|
+
}
|
|
131
|
+
: undefined,
|
|
132
|
+
extracted: collectedData.extracted || {},
|
|
133
|
+
routeHistory: collectedData.routeHistory ||
|
|
134
|
+
[],
|
|
135
|
+
metadata: collectedData.metadata || {},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/tool.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Event, StateRef } from "./index";
|
|
|
5
5
|
/**
|
|
6
6
|
* Context provided to tool handlers
|
|
7
7
|
*/
|
|
8
|
-
export interface ToolContext<TContext = unknown> {
|
|
8
|
+
export interface ToolContext<TContext = unknown, TExtracted = unknown> {
|
|
9
9
|
/** The agent's context data */
|
|
10
10
|
context: TContext;
|
|
11
11
|
/** Update the agent's context (triggers lifecycle hooks if configured) */
|
|
@@ -14,37 +14,43 @@ export interface ToolContext<TContext = unknown> {
|
|
|
14
14
|
state?: StateRef;
|
|
15
15
|
/** Interaction history */
|
|
16
16
|
history: Event[];
|
|
17
|
+
/** Data extracted so far in the current route */
|
|
18
|
+
extracted?: Partial<TExtracted>;
|
|
17
19
|
/** Additional metadata */
|
|
18
20
|
metadata?: Record<string, unknown>;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Result returned by a tool
|
|
22
24
|
*/
|
|
23
|
-
export interface ToolResult<TData = unknown, TContext = unknown> {
|
|
25
|
+
export interface ToolResult<TData = unknown, TContext = unknown, TExtracted = unknown> {
|
|
24
26
|
/** The result data */
|
|
25
27
|
data: TData;
|
|
26
28
|
/** Optional context update to be merged with current context */
|
|
27
29
|
contextUpdate?: Partial<TContext>;
|
|
30
|
+
/** Optional extracted data update to be merged with session state */
|
|
31
|
+
extractedUpdate?: Partial<TExtracted>;
|
|
28
32
|
/** Optional metadata about the execution */
|
|
29
33
|
meta?: Record<string, unknown>;
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
32
36
|
* Handler function for a tool
|
|
33
37
|
*/
|
|
34
|
-
export type ToolHandler<TContext, TArgs extends unknown[], TResult> = (context: ToolContext<TContext>, ...args: TArgs) => Promise<ToolResult<TResult, TContext>> | ToolResult<TResult, TContext>;
|
|
38
|
+
export type ToolHandler<TContext, TArgs extends unknown[], TResult, TExtracted = unknown> = (context: ToolContext<TContext, TExtracted>, ...args: TArgs) => Promise<ToolResult<TResult, TContext, TExtracted>> | ToolResult<TResult, TContext, TExtracted>;
|
|
35
39
|
/**
|
|
36
40
|
* Reference to a defined tool
|
|
37
41
|
*/
|
|
38
|
-
export interface ToolRef<TContext, TArgs extends unknown[], TResult> {
|
|
42
|
+
export interface ToolRef<TContext, TArgs extends unknown[], TResult, TExtracted = unknown> {
|
|
39
43
|
/** Tool identifier */
|
|
40
44
|
id: string;
|
|
41
45
|
/** Tool name */
|
|
42
46
|
name: string;
|
|
43
47
|
/** Tool handler function */
|
|
44
|
-
handler: ToolHandler<TContext, TArgs, TResult>;
|
|
48
|
+
handler: ToolHandler<TContext, TArgs, TResult, TExtracted>;
|
|
45
49
|
/** Description of what the tool does */
|
|
46
50
|
description?: string;
|
|
47
51
|
/** Parameter schema or description */
|
|
48
52
|
parameters?: unknown;
|
|
53
|
+
/** Domain this tool belongs to (set when added via agent.addDomain) */
|
|
54
|
+
domainName?: string;
|
|
49
55
|
}
|
|
50
56
|
//# sourceMappingURL=tool.d.ts.map
|
package/dist/types/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,QAAQ,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO;IACnE,+BAA+B;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,0EAA0E;IAC1E,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,8CAA8C;IAC9C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,KAAK,GAAG,OAAO,EACf,QAAQ,GAAG,OAAO,EAClB,UAAU,GAAG,OAAO;IAEpB,sBAAsB;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CACrB,QAAQ,EACR,KAAK,SAAS,OAAO,EAAE,EACvB,OAAO,EACP,UAAU,GAAG,OAAO,IAClB,CACF,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC1C,GAAG,IAAI,EAAE,KAAK,KAEZ,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,GAClD,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,OAAO,CACtB,QAAQ,EACR,KAAK,SAAS,OAAO,EAAE,EACvB,OAAO,EACP,UAAU,GAAG,OAAO;IAEpB,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3D,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/utils/id.d.ts
CHANGED
|
@@ -12,11 +12,6 @@ export declare function generateRouteId(title: string): string;
|
|
|
12
12
|
* Format: state_{sanitized_description}_{hash} or state_{routeId}_{index}
|
|
13
13
|
*/
|
|
14
14
|
export declare function generateStateId(routeId: string, description?: string, index?: number): string;
|
|
15
|
-
/**
|
|
16
|
-
* Generate a deterministic observation ID
|
|
17
|
-
* Format: observation_{sanitized_description}_{hash}
|
|
18
|
-
*/
|
|
19
|
-
export declare function generateObservationId(description: string): string;
|
|
20
15
|
/**
|
|
21
16
|
* Generate a deterministic tool ID
|
|
22
17
|
* Format: tool_{sanitized_name}_{hash}
|
package/dist/utils/id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD"}
|
package/dist/utils/id.js
CHANGED
|
@@ -44,15 +44,6 @@ export function generateStateId(routeId, description, index) {
|
|
|
44
44
|
const suffix = index !== undefined ? index : simpleHash(routeId);
|
|
45
45
|
return `state_${routeId}_${suffix}`;
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Generate a deterministic observation ID
|
|
49
|
-
* Format: observation_{sanitized_description}_{hash}
|
|
50
|
-
*/
|
|
51
|
-
export function generateObservationId(description) {
|
|
52
|
-
const sanitized = sanitize(description.substring(0, 50)); // Limit length
|
|
53
|
-
const hash = simpleHash(description);
|
|
54
|
-
return `observation_${sanitized}_${hash}`;
|
|
55
|
-
}
|
|
56
47
|
/**
|
|
57
48
|
* Generate a deterministic tool ID
|
|
58
49
|
* Format: tool_{sanitized_name}_{hash}
|
package/dist/utils/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,WAAoB,EACpB,KAAc;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;IACtC,CAAC;IACD,2CAA2C;IAC3C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,SAAS,OAAO,IAAI,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,WAAoB,EACpB,KAAc;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;IACtC,CAAC;IACD,2CAA2C;IAC3C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,SAAS,OAAO,IAAI,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StructuredSchema } from "../types/schema";
|
|
2
|
+
/**
|
|
3
|
+
* Convert our StructuredSchema to the OpenAI/OpenRouter JSON schema format
|
|
4
|
+
* (they already accept standard JSON Schema for responses.parse)
|
|
5
|
+
*/
|
|
6
|
+
export declare function convertToOpenAIJsonSchema(schema: StructuredSchema): object;
|
|
7
|
+
/**
|
|
8
|
+
* Convert our StructuredSchema to Gemini responseSchema (Type mapping)
|
|
9
|
+
* The @google/genai expects a slightly different shape
|
|
10
|
+
*/
|
|
11
|
+
export declare function convertToGeminiSchema(schema: StructuredSchema): object;
|
|
12
|
+
/**
|
|
13
|
+
* Convert our StructuredSchema into Anthropic system prompt constraints.
|
|
14
|
+
* Since Anthropic lacks native schema parsing, we embed a concise instruction.
|
|
15
|
+
*/
|
|
16
|
+
export declare function convertToAnthropicConstraint(schema: StructuredSchema): string;
|
|
17
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAI1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAItE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAK7E"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert our StructuredSchema to the OpenAI/OpenRouter JSON schema format
|
|
3
|
+
* (they already accept standard JSON Schema for responses.parse)
|
|
4
|
+
*/
|
|
5
|
+
export function convertToOpenAIJsonSchema(schema) {
|
|
6
|
+
// For now our schema aligns well with JSON Schema draft-like structure
|
|
7
|
+
// Return as-is; callers should ensure correctness
|
|
8
|
+
return schema;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Convert our StructuredSchema to Gemini responseSchema (Type mapping)
|
|
12
|
+
* The @google/genai expects a slightly different shape
|
|
13
|
+
*/
|
|
14
|
+
export function convertToGeminiSchema(schema) {
|
|
15
|
+
// Basic passthrough. If needed, a deeper mapping can be added later.
|
|
16
|
+
// Gemini supports a similar structure (type, properties, items, enum, etc.)
|
|
17
|
+
return schema;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert our StructuredSchema into Anthropic system prompt constraints.
|
|
21
|
+
* Since Anthropic lacks native schema parsing, we embed a concise instruction.
|
|
22
|
+
*/
|
|
23
|
+
export function convertToAnthropicConstraint(schema) {
|
|
24
|
+
// Keep it concise to avoid context bloat
|
|
25
|
+
return `You must respond with valid JSON that matches this schema: ${JSON.stringify(schema)}`;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAwB;IAChE,uEAAuE;IACvE,kDAAkD;IAClD,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,qEAAqE;IACrE,4EAA4E;IAC5E,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAwB;IACnE,yCAAyC;IACzC,OAAO,8DAA8D,IAAI,CAAC,SAAS,CACjF,MAAM,CACP,EAAE,CAAC;AACN,CAAC"}
|