@adcp/client 0.2.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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +166 -0
  3. package/dist/lib/agents/index.generated.d.ts +147 -0
  4. package/dist/lib/agents/index.generated.d.ts.map +1 -0
  5. package/dist/lib/agents/index.generated.js +218 -0
  6. package/dist/lib/agents/index.generated.js.map +1 -0
  7. package/dist/lib/auth/index.d.ts +22 -0
  8. package/dist/lib/auth/index.d.ts.map +1 -0
  9. package/dist/lib/auth/index.js +73 -0
  10. package/dist/lib/auth/index.js.map +1 -0
  11. package/dist/lib/core/ADCPClient.d.ts +233 -0
  12. package/dist/lib/core/ADCPClient.d.ts.map +1 -0
  13. package/dist/lib/core/ADCPClient.js +287 -0
  14. package/dist/lib/core/ADCPClient.js.map +1 -0
  15. package/dist/lib/core/ADCPMultiAgentClient.d.ts +308 -0
  16. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
  17. package/dist/lib/core/ADCPMultiAgentClient.js +468 -0
  18. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
  19. package/dist/lib/core/AgentClient.d.ts +124 -0
  20. package/dist/lib/core/AgentClient.d.ts.map +1 -0
  21. package/dist/lib/core/AgentClient.js +242 -0
  22. package/dist/lib/core/AgentClient.js.map +1 -0
  23. package/dist/lib/core/ConfigurationManager.d.ts +79 -0
  24. package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
  25. package/dist/lib/core/ConfigurationManager.js +254 -0
  26. package/dist/lib/core/ConfigurationManager.js.map +1 -0
  27. package/dist/lib/core/ConversationTypes.d.ts +242 -0
  28. package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
  29. package/dist/lib/core/ConversationTypes.js +5 -0
  30. package/dist/lib/core/ConversationTypes.js.map +1 -0
  31. package/dist/lib/core/ProtocolResponseParser.d.ts +45 -0
  32. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
  33. package/dist/lib/core/ProtocolResponseParser.js +82 -0
  34. package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
  35. package/dist/lib/core/TaskExecutor.d.ts +108 -0
  36. package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
  37. package/dist/lib/core/TaskExecutor.js +422 -0
  38. package/dist/lib/core/TaskExecutor.js.map +1 -0
  39. package/dist/lib/errors/index.d.ts +125 -0
  40. package/dist/lib/errors/index.d.ts.map +1 -0
  41. package/dist/lib/errors/index.js +211 -0
  42. package/dist/lib/errors/index.js.map +1 -0
  43. package/dist/lib/handlers/types.d.ts +119 -0
  44. package/dist/lib/handlers/types.d.ts.map +1 -0
  45. package/dist/lib/handlers/types.js +239 -0
  46. package/dist/lib/handlers/types.js.map +1 -0
  47. package/dist/lib/index.d.ts +51 -0
  48. package/dist/lib/index.d.ts.map +1 -0
  49. package/dist/lib/index.js +122 -0
  50. package/dist/lib/index.js.map +1 -0
  51. package/dist/lib/protocols/a2a.d.ts +2 -0
  52. package/dist/lib/protocols/a2a.d.ts.map +1 -0
  53. package/dist/lib/protocols/a2a.js +70 -0
  54. package/dist/lib/protocols/a2a.js.map +1 -0
  55. package/dist/lib/protocols/index.d.ts +22 -0
  56. package/dist/lib/protocols/index.d.ts.map +1 -0
  57. package/dist/lib/protocols/index.js +47 -0
  58. package/dist/lib/protocols/index.js.map +1 -0
  59. package/dist/lib/protocols/mcp.d.ts +2 -0
  60. package/dist/lib/protocols/mcp.d.ts.map +1 -0
  61. package/dist/lib/protocols/mcp.js +127 -0
  62. package/dist/lib/protocols/mcp.js.map +1 -0
  63. package/dist/lib/storage/MemoryStorage.d.ts +93 -0
  64. package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
  65. package/dist/lib/storage/MemoryStorage.js +219 -0
  66. package/dist/lib/storage/MemoryStorage.js.map +1 -0
  67. package/dist/lib/storage/interfaces.d.ts +195 -0
  68. package/dist/lib/storage/interfaces.d.ts.map +1 -0
  69. package/dist/lib/storage/interfaces.js +5 -0
  70. package/dist/lib/storage/interfaces.js.map +1 -0
  71. package/dist/lib/types/adcp.d.ts +407 -0
  72. package/dist/lib/types/adcp.d.ts.map +1 -0
  73. package/dist/lib/types/adcp.js +5 -0
  74. package/dist/lib/types/adcp.js.map +1 -0
  75. package/dist/lib/types/core.generated.d.ts +469 -0
  76. package/dist/lib/types/core.generated.d.ts.map +1 -0
  77. package/dist/lib/types/core.generated.js +5 -0
  78. package/dist/lib/types/core.generated.js.map +1 -0
  79. package/dist/lib/types/index.d.ts +3 -0
  80. package/dist/lib/types/index.d.ts.map +1 -0
  81. package/dist/lib/types/index.js +19 -0
  82. package/dist/lib/types/index.js.map +1 -0
  83. package/dist/lib/types/tools.generated.d.ts +1674 -0
  84. package/dist/lib/types/tools.generated.d.ts.map +1 -0
  85. package/dist/lib/types/tools.generated.js +8 -0
  86. package/dist/lib/types/tools.generated.js.map +1 -0
  87. package/dist/lib/utils/index.d.ts +25 -0
  88. package/dist/lib/utils/index.d.ts.map +1 -0
  89. package/dist/lib/utils/index.js +109 -0
  90. package/dist/lib/utils/index.js.map +1 -0
  91. package/dist/lib/validation/index.d.ts +29 -0
  92. package/dist/lib/validation/index.d.ts.map +1 -0
  93. package/dist/lib/validation/index.js +186 -0
  94. package/dist/lib/validation/index.js.map +1 -0
  95. package/dist/lib/version.d.ts +22 -0
  96. package/dist/lib/version.d.ts.map +1 -0
  97. package/dist/lib/version.js +32 -0
  98. package/dist/lib/version.js.map +1 -0
  99. package/package.json +108 -0
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ // Custom error classes for ADCP client library
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ConfigurationError = exports.InvalidContextError = exports.MissingInputHandlerError = exports.ValidationError = exports.ProtocolError = exports.UnsupportedTaskError = exports.AgentNotFoundError = exports.TaskAbortedError = exports.DeferredTaskError = exports.MaxClarificationError = exports.TaskTimeoutError = exports.ADCPError = void 0;
5
+ exports.isADCPError = isADCPError;
6
+ exports.isErrorOfType = isErrorOfType;
7
+ exports.extractErrorInfo = extractErrorInfo;
8
+ /**
9
+ * Base class for all ADCP client errors
10
+ */
11
+ class ADCPError extends Error {
12
+ details;
13
+ constructor(message, details) {
14
+ super(message);
15
+ this.details = details;
16
+ this.name = this.constructor.name;
17
+ }
18
+ }
19
+ exports.ADCPError = ADCPError;
20
+ /**
21
+ * Error thrown when a task times out
22
+ */
23
+ class TaskTimeoutError extends ADCPError {
24
+ taskId;
25
+ timeout;
26
+ code = 'TASK_TIMEOUT';
27
+ constructor(taskId, timeout) {
28
+ super(`Task ${taskId} timed out after ${timeout}ms`);
29
+ this.taskId = taskId;
30
+ this.timeout = timeout;
31
+ }
32
+ }
33
+ exports.TaskTimeoutError = TaskTimeoutError;
34
+ /**
35
+ * Error thrown when maximum clarification attempts are exceeded
36
+ */
37
+ class MaxClarificationError extends ADCPError {
38
+ taskId;
39
+ maxAttempts;
40
+ code = 'MAX_CLARIFICATIONS';
41
+ constructor(taskId, maxAttempts) {
42
+ super(`Task ${taskId} exceeded maximum clarification attempts: ${maxAttempts}`);
43
+ this.taskId = taskId;
44
+ this.maxAttempts = maxAttempts;
45
+ }
46
+ }
47
+ exports.MaxClarificationError = MaxClarificationError;
48
+ /**
49
+ * Error thrown when a task is deferred to human
50
+ * Contains the token needed to resume the task
51
+ */
52
+ class DeferredTaskError extends ADCPError {
53
+ token;
54
+ code = 'TASK_DEFERRED';
55
+ constructor(token) {
56
+ super(`Task deferred with token: ${token}`);
57
+ this.token = token;
58
+ }
59
+ }
60
+ exports.DeferredTaskError = DeferredTaskError;
61
+ /**
62
+ * Error thrown when a task is aborted
63
+ */
64
+ class TaskAbortedError extends ADCPError {
65
+ taskId;
66
+ reason;
67
+ code = 'TASK_ABORTED';
68
+ constructor(taskId, reason) {
69
+ super(`Task ${taskId} aborted: ${reason || 'No reason provided'}`);
70
+ this.taskId = taskId;
71
+ this.reason = reason;
72
+ }
73
+ }
74
+ exports.TaskAbortedError = TaskAbortedError;
75
+ /**
76
+ * Error thrown when an agent is not found
77
+ */
78
+ class AgentNotFoundError extends ADCPError {
79
+ agentId;
80
+ availableAgents;
81
+ code = 'AGENT_NOT_FOUND';
82
+ constructor(agentId, availableAgents) {
83
+ super(`Agent '${agentId}' not found. Available agents: ${availableAgents.join(', ')}`);
84
+ this.agentId = agentId;
85
+ this.availableAgents = availableAgents;
86
+ }
87
+ }
88
+ exports.AgentNotFoundError = AgentNotFoundError;
89
+ /**
90
+ * Error thrown when an agent doesn't support a task
91
+ */
92
+ class UnsupportedTaskError extends ADCPError {
93
+ agentId;
94
+ taskName;
95
+ supportedTasks;
96
+ code = 'UNSUPPORTED_TASK';
97
+ constructor(agentId, taskName, supportedTasks) {
98
+ const tasksMsg = supportedTasks ? ` Supported tasks: ${supportedTasks.join(', ')}` : '';
99
+ super(`Agent '${agentId}' does not support task '${taskName}'.${tasksMsg}`);
100
+ this.agentId = agentId;
101
+ this.taskName = taskName;
102
+ this.supportedTasks = supportedTasks;
103
+ }
104
+ }
105
+ exports.UnsupportedTaskError = UnsupportedTaskError;
106
+ /**
107
+ * Error thrown when protocol communication fails
108
+ */
109
+ class ProtocolError extends ADCPError {
110
+ protocol;
111
+ originalError;
112
+ code = 'PROTOCOL_ERROR';
113
+ constructor(protocol, message, originalError) {
114
+ super(`${protocol.toUpperCase()} protocol error: ${message}`);
115
+ this.protocol = protocol;
116
+ this.originalError = originalError;
117
+ this.details = { originalError };
118
+ }
119
+ }
120
+ exports.ProtocolError = ProtocolError;
121
+ /**
122
+ * Error thrown when validation fails
123
+ */
124
+ class ValidationError extends ADCPError {
125
+ field;
126
+ value;
127
+ constraint;
128
+ code = 'VALIDATION_ERROR';
129
+ constructor(field, value, constraint) {
130
+ super(`Validation failed for field '${field}': ${constraint}`);
131
+ this.field = field;
132
+ this.value = value;
133
+ this.constraint = constraint;
134
+ this.details = { field, value, constraint };
135
+ }
136
+ }
137
+ exports.ValidationError = ValidationError;
138
+ /**
139
+ * Error thrown when input handler is missing but required
140
+ */
141
+ class MissingInputHandlerError extends ADCPError {
142
+ taskId;
143
+ question;
144
+ code = 'MISSING_INPUT_HANDLER';
145
+ constructor(taskId, question) {
146
+ super(`Agent requested input but no handler provided. Task: ${taskId}, Question: ${question}`);
147
+ this.taskId = taskId;
148
+ this.question = question;
149
+ }
150
+ }
151
+ exports.MissingInputHandlerError = MissingInputHandlerError;
152
+ /**
153
+ * Error thrown when conversation context is invalid
154
+ */
155
+ class InvalidContextError extends ADCPError {
156
+ contextId;
157
+ code = 'INVALID_CONTEXT';
158
+ constructor(contextId, reason) {
159
+ super(`Invalid conversation context '${contextId}': ${reason}`);
160
+ this.contextId = contextId;
161
+ }
162
+ }
163
+ exports.InvalidContextError = InvalidContextError;
164
+ /**
165
+ * Error thrown when configuration is invalid
166
+ */
167
+ class ConfigurationError extends ADCPError {
168
+ configField;
169
+ code = 'CONFIGURATION_ERROR';
170
+ constructor(message, configField) {
171
+ super(`Configuration error: ${message}`);
172
+ this.configField = configField;
173
+ this.details = { configField };
174
+ }
175
+ }
176
+ exports.ConfigurationError = ConfigurationError;
177
+ /**
178
+ * Type guard to check if an error is an ADCP error
179
+ */
180
+ function isADCPError(error) {
181
+ return error instanceof ADCPError;
182
+ }
183
+ /**
184
+ * Type guard to check if an error is a specific ADCP error type
185
+ */
186
+ function isErrorOfType(error, ErrorClass) {
187
+ return error instanceof ErrorClass;
188
+ }
189
+ /**
190
+ * Utility to extract error information for logging/debugging
191
+ */
192
+ function extractErrorInfo(error) {
193
+ if (isADCPError(error)) {
194
+ return {
195
+ message: error.message,
196
+ code: error.code,
197
+ details: error.details,
198
+ stack: error.stack
199
+ };
200
+ }
201
+ if (error instanceof Error) {
202
+ return {
203
+ message: error.message,
204
+ stack: error.stack
205
+ };
206
+ }
207
+ return {
208
+ message: String(error)
209
+ };
210
+ }
211
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/errors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import type { InputHandler, InputHandlerResponse, ConversationContext } from '../core/ConversationTypes';
2
+ /**
3
+ * Pre-built input handler for automatic approval
4
+ * Always returns true for any input request
5
+ */
6
+ export declare const autoApproveHandler: InputHandler;
7
+ /**
8
+ * Pre-built input handler that defers everything to humans
9
+ * Useful for production scenarios where human oversight is required
10
+ */
11
+ export declare const deferAllHandler: InputHandler;
12
+ /**
13
+ * Field-specific handler configuration
14
+ */
15
+ export interface FieldHandlerConfig {
16
+ [fieldName: string]: any | ((context: ConversationContext) => any);
17
+ }
18
+ /**
19
+ * Create a field-specific handler that provides different responses based on the field being requested
20
+ *
21
+ * @param fieldMap - Map of field names to responses or response functions
22
+ * @param defaultResponse - Default response for unmapped fields (defaults to defer)
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const handler = createFieldHandler({
27
+ * budget: 50000,
28
+ * targeting: ['US', 'CA'],
29
+ * approval: (context) => context.attempt === 1 ? true : false
30
+ * });
31
+ * ```
32
+ */
33
+ export declare function createFieldHandler(fieldMap: FieldHandlerConfig, defaultResponse?: any | InputHandler): InputHandler;
34
+ /**
35
+ * Create a conditional handler that applies different logic based on context
36
+ *
37
+ * @param conditions - Array of condition/handler pairs
38
+ * @param defaultHandler - Handler to use if no conditions match
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const handler = createConditionalHandler([
43
+ * {
44
+ * condition: (ctx) => ctx.inputRequest.field === 'budget',
45
+ * handler: (ctx) => ctx.attempt === 1 ? 100000 : 50000
46
+ * },
47
+ * {
48
+ * condition: (ctx) => ctx.agent.name.includes('Premium'),
49
+ * handler: autoApproveHandler
50
+ * }
51
+ * ], deferAllHandler);
52
+ * ```
53
+ */
54
+ export declare function createConditionalHandler(conditions: Array<{
55
+ condition: (context: ConversationContext) => boolean;
56
+ handler: InputHandler;
57
+ }>, defaultHandler?: InputHandler): InputHandler;
58
+ /**
59
+ * Create a retry handler that provides different responses based on attempt number
60
+ *
61
+ * @param responses - Array of responses for each attempt (1-indexed)
62
+ * @param defaultResponse - Response to use for attempts beyond the array length
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const handler = createRetryHandler([
67
+ * 100000, // First attempt
68
+ * 50000, // Second attempt
69
+ * 25000 // Third attempt
70
+ * ], deferAllHandler);
71
+ * ```
72
+ */
73
+ export declare function createRetryHandler(responses: any[], defaultResponse?: any | InputHandler): InputHandler;
74
+ /**
75
+ * Create a suggestion-based handler that uses agent suggestions when available
76
+ *
77
+ * @param suggestionIndex - Index of suggestion to use (0 = first, -1 = last)
78
+ * @param fallbackHandler - Handler to use if no suggestions available
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * const handler = createSuggestionHandler(0, deferAllHandler); // Use first suggestion
83
+ * ```
84
+ */
85
+ export declare function createSuggestionHandler(suggestionIndex?: number, fallbackHandler?: InputHandler): InputHandler;
86
+ /**
87
+ * Create a validation-aware handler that respects input validation rules
88
+ *
89
+ * @param value - Value to return
90
+ * @param fallbackHandler - Handler to use if value doesn't pass validation
91
+ */
92
+ export declare function createValidatedHandler(value: any, fallbackHandler?: InputHandler): InputHandler;
93
+ /**
94
+ * Combine multiple handlers with fallback logic
95
+ * Tries each handler in order until one succeeds (doesn't defer or abort)
96
+ *
97
+ * @param handlers - Array of handlers to try in order
98
+ * @param defaultHandler - Final fallback handler
99
+ */
100
+ export declare function combineHandlers(handlers: InputHandler[], defaultHandler?: InputHandler): InputHandler;
101
+ /**
102
+ * Type guard to check if a response is a defer response
103
+ */
104
+ export declare function isDeferResponse(response: any): response is {
105
+ defer: true;
106
+ token: string;
107
+ };
108
+ /**
109
+ * Type guard to check if a response is an abort response
110
+ */
111
+ export declare function isAbortResponse(response: any): response is {
112
+ abort: true;
113
+ reason?: string;
114
+ };
115
+ /**
116
+ * Utility to normalize handler responses
117
+ */
118
+ export declare function normalizeHandlerResponse(response: InputHandlerResponse, context: ConversationContext): Promise<any>;
119
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/handlers/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAEhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,YAE7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,GAAG,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,CAAC,EAAE,GAAG,GAAG,YAAY,GACnC,YAAY,CAsBd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACrD,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC,EACF,cAAc,GAAE,YAA8B,GAC7C,YAAY,CASd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,GAAG,EAAE,EAChB,eAAe,GAAE,GAAG,GAAG,YAA8B,GACpD,YAAY,CAiBd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,GAAE,MAAU,EAC3B,eAAe,GAAE,YAA8B,GAC9C,YAAY,CAed;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,GAAG,EACV,eAAe,GAAE,YAA8B,GAC9C,YAAY,CA+Bd;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,EAAE,EACxB,cAAc,GAAE,YAA8B,GAC7C,YAAY,CAyBd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAE3F;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,GAAG,CAAC,CAYd"}
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ // Input handler types and utilities for ADCP conversation flow
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.deferAllHandler = exports.autoApproveHandler = void 0;
5
+ exports.createFieldHandler = createFieldHandler;
6
+ exports.createConditionalHandler = createConditionalHandler;
7
+ exports.createRetryHandler = createRetryHandler;
8
+ exports.createSuggestionHandler = createSuggestionHandler;
9
+ exports.createValidatedHandler = createValidatedHandler;
10
+ exports.combineHandlers = combineHandlers;
11
+ exports.isDeferResponse = isDeferResponse;
12
+ exports.isAbortResponse = isAbortResponse;
13
+ exports.normalizeHandlerResponse = normalizeHandlerResponse;
14
+ /**
15
+ * Pre-built input handler for automatic approval
16
+ * Always returns true for any input request
17
+ */
18
+ const autoApproveHandler = (context) => {
19
+ return true;
20
+ };
21
+ exports.autoApproveHandler = autoApproveHandler;
22
+ /**
23
+ * Pre-built input handler that defers everything to humans
24
+ * Useful for production scenarios where human oversight is required
25
+ */
26
+ const deferAllHandler = async (context) => {
27
+ return context.deferToHuman();
28
+ };
29
+ exports.deferAllHandler = deferAllHandler;
30
+ /**
31
+ * Create a field-specific handler that provides different responses based on the field being requested
32
+ *
33
+ * @param fieldMap - Map of field names to responses or response functions
34
+ * @param defaultResponse - Default response for unmapped fields (defaults to defer)
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const handler = createFieldHandler({
39
+ * budget: 50000,
40
+ * targeting: ['US', 'CA'],
41
+ * approval: (context) => context.attempt === 1 ? true : false
42
+ * });
43
+ * ```
44
+ */
45
+ function createFieldHandler(fieldMap, defaultResponse) {
46
+ return async (context) => {
47
+ const field = context.inputRequest.field;
48
+ if (field && field in fieldMap) {
49
+ const response = fieldMap[field];
50
+ if (typeof response === 'function') {
51
+ return response(context);
52
+ }
53
+ return response;
54
+ }
55
+ // Use default response or defer to human
56
+ if (defaultResponse !== undefined) {
57
+ if (typeof defaultResponse === 'function') {
58
+ return defaultResponse(context);
59
+ }
60
+ return defaultResponse;
61
+ }
62
+ return context.deferToHuman();
63
+ };
64
+ }
65
+ /**
66
+ * Create a conditional handler that applies different logic based on context
67
+ *
68
+ * @param conditions - Array of condition/handler pairs
69
+ * @param defaultHandler - Handler to use if no conditions match
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * const handler = createConditionalHandler([
74
+ * {
75
+ * condition: (ctx) => ctx.inputRequest.field === 'budget',
76
+ * handler: (ctx) => ctx.attempt === 1 ? 100000 : 50000
77
+ * },
78
+ * {
79
+ * condition: (ctx) => ctx.agent.name.includes('Premium'),
80
+ * handler: autoApproveHandler
81
+ * }
82
+ * ], deferAllHandler);
83
+ * ```
84
+ */
85
+ function createConditionalHandler(conditions, defaultHandler = exports.deferAllHandler) {
86
+ return async (context) => {
87
+ for (const { condition, handler } of conditions) {
88
+ if (condition(context)) {
89
+ return handler(context);
90
+ }
91
+ }
92
+ return defaultHandler(context);
93
+ };
94
+ }
95
+ /**
96
+ * Create a retry handler that provides different responses based on attempt number
97
+ *
98
+ * @param responses - Array of responses for each attempt (1-indexed)
99
+ * @param defaultResponse - Response to use for attempts beyond the array length
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const handler = createRetryHandler([
104
+ * 100000, // First attempt
105
+ * 50000, // Second attempt
106
+ * 25000 // Third attempt
107
+ * ], deferAllHandler);
108
+ * ```
109
+ */
110
+ function createRetryHandler(responses, defaultResponse = exports.deferAllHandler) {
111
+ return async (context) => {
112
+ const attemptIndex = context.attempt - 1;
113
+ if (attemptIndex < responses.length) {
114
+ const response = responses[attemptIndex];
115
+ if (typeof response === 'function') {
116
+ return response(context);
117
+ }
118
+ return response;
119
+ }
120
+ if (typeof defaultResponse === 'function') {
121
+ return defaultResponse(context);
122
+ }
123
+ return defaultResponse;
124
+ };
125
+ }
126
+ /**
127
+ * Create a suggestion-based handler that uses agent suggestions when available
128
+ *
129
+ * @param suggestionIndex - Index of suggestion to use (0 = first, -1 = last)
130
+ * @param fallbackHandler - Handler to use if no suggestions available
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const handler = createSuggestionHandler(0, deferAllHandler); // Use first suggestion
135
+ * ```
136
+ */
137
+ function createSuggestionHandler(suggestionIndex = 0, fallbackHandler = exports.deferAllHandler) {
138
+ return async (context) => {
139
+ const suggestions = context.inputRequest.suggestions;
140
+ if (suggestions && suggestions.length > 0) {
141
+ if (suggestionIndex === -1) {
142
+ return suggestions[suggestions.length - 1];
143
+ }
144
+ if (suggestionIndex >= 0 && suggestionIndex < suggestions.length) {
145
+ return suggestions[suggestionIndex];
146
+ }
147
+ }
148
+ return fallbackHandler(context);
149
+ };
150
+ }
151
+ /**
152
+ * Create a validation-aware handler that respects input validation rules
153
+ *
154
+ * @param value - Value to return
155
+ * @param fallbackHandler - Handler to use if value doesn't pass validation
156
+ */
157
+ function createValidatedHandler(value, fallbackHandler = exports.deferAllHandler) {
158
+ return async (context) => {
159
+ const validation = context.inputRequest.validation;
160
+ if (!validation) {
161
+ return value;
162
+ }
163
+ // Basic validation checks
164
+ if (validation.enum && !validation.enum.includes(value)) {
165
+ return fallbackHandler(context);
166
+ }
167
+ if (typeof value === 'number') {
168
+ if (validation.min !== undefined && value < validation.min) {
169
+ return fallbackHandler(context);
170
+ }
171
+ if (validation.max !== undefined && value > validation.max) {
172
+ return fallbackHandler(context);
173
+ }
174
+ }
175
+ if (typeof value === 'string' && validation.pattern) {
176
+ const regex = new RegExp(validation.pattern);
177
+ if (!regex.test(value)) {
178
+ return fallbackHandler(context);
179
+ }
180
+ }
181
+ return value;
182
+ };
183
+ }
184
+ /**
185
+ * Combine multiple handlers with fallback logic
186
+ * Tries each handler in order until one succeeds (doesn't defer or abort)
187
+ *
188
+ * @param handlers - Array of handlers to try in order
189
+ * @param defaultHandler - Final fallback handler
190
+ */
191
+ function combineHandlers(handlers, defaultHandler = exports.deferAllHandler) {
192
+ return async (context) => {
193
+ for (const handler of handlers) {
194
+ try {
195
+ const result = await handler(context);
196
+ // If result is a defer object, try next handler
197
+ if (typeof result === 'object' && result?.defer === true) {
198
+ continue;
199
+ }
200
+ // If result is an abort object, try next handler
201
+ if (typeof result === 'object' && result?.abort === true) {
202
+ continue;
203
+ }
204
+ return result;
205
+ }
206
+ catch (error) {
207
+ // If handler throws, try next one
208
+ continue;
209
+ }
210
+ }
211
+ return defaultHandler(context);
212
+ };
213
+ }
214
+ /**
215
+ * Type guard to check if a response is a defer response
216
+ */
217
+ function isDeferResponse(response) {
218
+ return typeof response === 'object' && response?.defer === true && typeof response?.token === 'string';
219
+ }
220
+ /**
221
+ * Type guard to check if a response is an abort response
222
+ */
223
+ function isAbortResponse(response) {
224
+ return typeof response === 'object' && response?.abort === true;
225
+ }
226
+ /**
227
+ * Utility to normalize handler responses
228
+ */
229
+ async function normalizeHandlerResponse(response, context) {
230
+ const resolved = await response;
231
+ if (isDeferResponse(resolved)) {
232
+ throw new Error(`Task deferred with token: ${resolved.token}`);
233
+ }
234
+ if (isAbortResponse(resolved)) {
235
+ throw new Error(`Task aborted: ${resolved.reason || 'No reason provided'}`);
236
+ }
237
+ return resolved;
238
+ }
239
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/handlers/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export { ADCPClient, createADCPClient } from './core/ADCPClient';
2
+ export type { ADCPClientConfig } from './core/ADCPClient';
3
+ export { AgentClient } from './core/AgentClient';
4
+ export { ADCPMultiAgentClient, AgentCollection as NewAgentCollection, createADCPMultiAgentClient } from './core/ADCPMultiAgentClient';
5
+ export { ConfigurationManager } from './core/ConfigurationManager';
6
+ export { TaskExecutor } from './core/TaskExecutor';
7
+ export { ProtocolResponseParser, responseParser, ADCP_STATUS, type ADCPStatus } from './core/ProtocolResponseParser';
8
+ export type { Message, InputRequest, InputHandler, InputHandlerResponse, ConversationContext, TaskOptions, TaskResult, TaskState, TaskStatus, ConversationConfig } from './core/ConversationTypes';
9
+ export * from './handlers/types';
10
+ export type { Storage, BatchStorage, PatternStorage, AgentCapabilities, ConversationState, DeferredTaskState, StorageConfig, StorageFactory, StorageMiddleware } from './storage/interfaces';
11
+ export { MemoryStorage, createMemoryStorage, createMemoryStorageConfig } from './storage/MemoryStorage';
12
+ export { ADCPError, TaskTimeoutError, MaxClarificationError, DeferredTaskError, TaskAbortedError, AgentNotFoundError, UnsupportedTaskError, ProtocolError, ValidationError as ADCPValidationError, // Rename to avoid conflict
13
+ MissingInputHandlerError, InvalidContextError, ConfigurationError, isADCPError, isErrorOfType, extractErrorInfo } from './errors';
14
+ export { InputRequiredError } from './core/TaskExecutor';
15
+ export * from './types';
16
+ export type { GetProductsRequest, GetProductsResponse, ListCreativeFormatsRequest, ListCreativeFormatsResponse, CreateMediaBuyRequest, CreateMediaBuyResponse, UpdateMediaBuyRequest, UpdateMediaBuyResponse, SyncCreativesRequest, SyncCreativesResponse, ListCreativesRequest, ListCreativesResponse, GetMediaBuyDeliveryRequest, GetMediaBuyDeliveryResponse, ListAuthorizedPropertiesRequest, ListAuthorizedPropertiesResponse, ProvidePerformanceFeedbackRequest, ProvidePerformanceFeedbackResponse, GetSignalsRequest, GetSignalsResponse, ActivateSignalRequest, ActivateSignalResponse } from './types/tools.generated';
17
+ export * from './protocols';
18
+ export * from './auth';
19
+ export * from './validation';
20
+ export * from './utils';
21
+ export { getStandardFormats } from './utils';
22
+ export { Agent, AgentCollection } from './agents/index.generated';
23
+ import type { AgentConfig } from './types';
24
+ import { ADCPMultiAgentClient } from './core/ADCPMultiAgentClient';
25
+ /**
26
+ * Legacy AdCPClient for backward compatibility - now redirects to ADCPMultiAgentClient
27
+ * @deprecated Use ADCPMultiAgentClient instead for new code
28
+ */
29
+ export declare class AdCPClient {
30
+ private multiClient;
31
+ constructor(agents?: AgentConfig[]);
32
+ agent(id: string): import("./core/AgentClient").AgentClient;
33
+ agents(ids: string[]): import("./core/ADCPMultiAgentClient").AgentCollection;
34
+ allAgents(): import("./core/ADCPMultiAgentClient").AgentCollection;
35
+ addAgent(agent: AgentConfig): void;
36
+ getAgents(): AgentConfig[];
37
+ get agentCount(): number;
38
+ get agentIds(): string[];
39
+ getStandardFormats(): any;
40
+ }
41
+ /**
42
+ * Legacy createAdCPClient function for backward compatibility
43
+ * @deprecated Use new ADCPMultiAgentClient constructor instead
44
+ */
45
+ export declare function createAdCPClient(agents?: AgentConfig[]): AdCPClient;
46
+ /**
47
+ * Load agents from environment and create multi-agent client
48
+ * @deprecated Use ADCPMultiAgentClient.fromEnv() instead
49
+ */
50
+ export declare function createAdCPClientFromEnv(): ADCPMultiAgentClient;
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}