@almadar/integrations 2.4.0 → 2.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/dist/{BaseIntegration-DNSuiUnG.d.ts → BaseIntegration-DjXCkytU.d.ts} +19 -8
- package/dist/{factory-B1QtCI_c.d.ts → factory-BoDqQ89e.d.ts} +6 -2
- package/dist/index.d.ts +31 -30
- package/dist/index.js +25 -19
- package/dist/index.js.map +1 -1
- package/dist/integrations/github/index.d.ts +12 -10
- package/dist/integrations/github/index.js +2 -2
- package/dist/integrations/github/index.js.map +1 -1
- package/dist/mocks/index.d.ts +6 -5
- package/dist/mocks/index.js +7 -1
- package/dist/mocks/index.js.map +1 -1
- package/dist/runtime/index.d.ts +5 -4
- package/dist/runtime/index.js +8 -2
- package/dist/runtime/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { LogMeta } from '@almadar/core';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Core types for Almadar integrations
|
|
3
5
|
*/
|
|
@@ -66,14 +68,23 @@ declare class IntegrationError extends Error {
|
|
|
66
68
|
details: unknown;
|
|
67
69
|
};
|
|
68
70
|
}
|
|
71
|
+
|
|
69
72
|
/**
|
|
70
73
|
* Logger interface
|
|
71
74
|
*/
|
|
72
75
|
interface IntegrationLogger {
|
|
73
|
-
debug(message: string, meta?:
|
|
74
|
-
info(message: string, meta?:
|
|
75
|
-
warn(message: string, meta?:
|
|
76
|
-
error(message: string, meta?:
|
|
76
|
+
debug(message: string, meta?: LogMeta): void;
|
|
77
|
+
info(message: string, meta?: LogMeta): void;
|
|
78
|
+
warn(message: string, meta?: LogMeta): void;
|
|
79
|
+
error(message: string, meta?: LogMeta): void;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Integration action parameters.
|
|
83
|
+
* Each integration's execute() method receives params as this type.
|
|
84
|
+
* Individual methods cast to specific param shapes from their contracts.
|
|
85
|
+
*/
|
|
86
|
+
interface IntegrationParams {
|
|
87
|
+
[key: string]: string | number | boolean | null | undefined | string[] | IntegrationParams;
|
|
77
88
|
}
|
|
78
89
|
/**
|
|
79
90
|
* Validation result
|
|
@@ -93,7 +104,7 @@ interface ValidationError {
|
|
|
93
104
|
/**
|
|
94
105
|
* Validate action params against registry schema
|
|
95
106
|
*/
|
|
96
|
-
declare function validateParams(integration: string, action: string, params:
|
|
107
|
+
declare function validateParams(integration: string, action: string, params: IntegrationParams): ValidationResult;
|
|
97
108
|
|
|
98
109
|
/**
|
|
99
110
|
* Base class for all integrations
|
|
@@ -105,11 +116,11 @@ declare abstract class BaseIntegration {
|
|
|
105
116
|
/**
|
|
106
117
|
* Execute an action
|
|
107
118
|
*/
|
|
108
|
-
abstract execute(action: string, params:
|
|
119
|
+
abstract execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
109
120
|
/**
|
|
110
121
|
* Validate action params against registry
|
|
111
122
|
*/
|
|
112
|
-
protected validateParams(action: string, params:
|
|
123
|
+
protected validateParams(action: string, params: IntegrationParams): ReturnType<typeof validateParams>;
|
|
113
124
|
/**
|
|
114
125
|
* Handle errors uniformly
|
|
115
126
|
*/
|
|
@@ -124,4 +135,4 @@ declare abstract class BaseIntegration {
|
|
|
124
135
|
protected executeWithRetry<T>(fn: () => Promise<T>): Promise<T>;
|
|
125
136
|
}
|
|
126
137
|
|
|
127
|
-
export { BaseIntegration as B, type
|
|
138
|
+
export { BaseIntegration as B, type IntegrationParams as I, type ValidationError as V, type IntegrationLogger as a, type IntegrationErrorCode as b, type IntegrationConfig as c, type IntegrationResult as d, IntegrationError as e, type ValidationResult as f, validateParams as v };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as IntegrationConfig, B as BaseIntegration, I as IntegrationParams, d as IntegrationResult } from './BaseIntegration-DjXCkytU.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Factory for creating and managing integration instances
|
|
@@ -17,11 +17,15 @@ declare class IntegrationFactory {
|
|
|
17
17
|
/**
|
|
18
18
|
* Execute an action on an integration
|
|
19
19
|
*/
|
|
20
|
-
execute(integration: string, action: string, params:
|
|
20
|
+
execute(integration: string, action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
21
21
|
/**
|
|
22
22
|
* Check if integration is configured
|
|
23
23
|
*/
|
|
24
24
|
isConfigured(name: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Register an integration instance directly (used by mock infrastructure)
|
|
27
|
+
*/
|
|
28
|
+
registerInstance(name: string, instance: BaseIntegration): void;
|
|
25
29
|
/**
|
|
26
30
|
* Clear all instances (useful for testing)
|
|
27
31
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { I as
|
|
2
|
-
export {
|
|
3
|
-
|
|
1
|
+
import { I as IntegrationParams, a as IntegrationLogger, b as IntegrationErrorCode, c as IntegrationConfig, B as BaseIntegration, d as IntegrationResult } from './BaseIntegration-DjXCkytU.js';
|
|
2
|
+
export { e as IntegrationError, V as ValidationError, f as ValidationResult, v as validateParams } from './BaseIntegration-DjXCkytU.js';
|
|
3
|
+
import { LogMeta } from '@almadar/core';
|
|
4
|
+
export { I as IntegrationFactory, g as getIntegrationFactory, r as resetIntegrationFactory } from './factory-BoDqQ89e.js';
|
|
4
5
|
export { GitHubIntegration } from './integrations/github/index.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -174,10 +175,10 @@ type LLMIntegrationActions = {
|
|
|
174
175
|
extract: {
|
|
175
176
|
params: {
|
|
176
177
|
text: string;
|
|
177
|
-
schema:
|
|
178
|
+
schema: IntegrationParams;
|
|
178
179
|
model?: string;
|
|
179
180
|
};
|
|
180
|
-
result:
|
|
181
|
+
result: IntegrationParams;
|
|
181
182
|
};
|
|
182
183
|
summarize: {
|
|
183
184
|
params: {
|
|
@@ -386,7 +387,7 @@ type StorageActions = {
|
|
|
386
387
|
key: string;
|
|
387
388
|
content: unknown;
|
|
388
389
|
contentType?: string;
|
|
389
|
-
metadata?:
|
|
390
|
+
metadata?: IntegrationParams;
|
|
390
391
|
};
|
|
391
392
|
result: {
|
|
392
393
|
key: string;
|
|
@@ -404,7 +405,7 @@ type StorageActions = {
|
|
|
404
405
|
content: unknown;
|
|
405
406
|
contentType: string;
|
|
406
407
|
size: number;
|
|
407
|
-
metadata:
|
|
408
|
+
metadata: IntegrationParams;
|
|
408
409
|
};
|
|
409
410
|
};
|
|
410
411
|
list: {
|
|
@@ -660,7 +661,7 @@ type OtelActions = {
|
|
|
660
661
|
startSpan: {
|
|
661
662
|
params: {
|
|
662
663
|
name: string;
|
|
663
|
-
attributes?:
|
|
664
|
+
attributes?: IntegrationParams;
|
|
664
665
|
traceId?: string;
|
|
665
666
|
};
|
|
666
667
|
result: {
|
|
@@ -681,7 +682,7 @@ type OtelActions = {
|
|
|
681
682
|
params: {
|
|
682
683
|
spanId: string;
|
|
683
684
|
name: string;
|
|
684
|
-
attributes?:
|
|
685
|
+
attributes?: IntegrationParams;
|
|
685
686
|
};
|
|
686
687
|
result: {
|
|
687
688
|
added: boolean;
|
|
@@ -692,7 +693,7 @@ type OtelActions = {
|
|
|
692
693
|
name: string;
|
|
693
694
|
value: number;
|
|
694
695
|
type?: 'counter' | 'gauge' | 'histogram';
|
|
695
|
-
labels?:
|
|
696
|
+
labels?: IntegrationParams;
|
|
696
697
|
};
|
|
697
698
|
result: {
|
|
698
699
|
recorded: boolean;
|
|
@@ -709,7 +710,7 @@ type OtelActions = {
|
|
|
709
710
|
startTime: number;
|
|
710
711
|
endTime?: number;
|
|
711
712
|
status?: 'ok' | 'error';
|
|
712
|
-
attributes:
|
|
713
|
+
attributes: IntegrationParams;
|
|
713
714
|
} | null;
|
|
714
715
|
};
|
|
715
716
|
getMetrics: {
|
|
@@ -719,7 +720,7 @@ type OtelActions = {
|
|
|
719
720
|
type: string;
|
|
720
721
|
value: number;
|
|
721
722
|
values: number[];
|
|
722
|
-
labels:
|
|
723
|
+
labels: IntegrationParams;
|
|
723
724
|
}>;
|
|
724
725
|
};
|
|
725
726
|
};
|
|
@@ -742,7 +743,7 @@ type DeepAgentActions = {
|
|
|
742
743
|
message: string;
|
|
743
744
|
threadId?: string;
|
|
744
745
|
skill?: string;
|
|
745
|
-
context?:
|
|
746
|
+
context?: IntegrationParams;
|
|
746
747
|
};
|
|
747
748
|
result: {
|
|
748
749
|
response: string;
|
|
@@ -837,10 +838,10 @@ type IntegrationActionName<K extends IntegrationName> = keyof IntegrationContrac
|
|
|
837
838
|
declare class ConsoleLogger implements IntegrationLogger {
|
|
838
839
|
private level;
|
|
839
840
|
constructor(level?: 'debug' | 'info' | 'warn' | 'error');
|
|
840
|
-
debug(message: string, meta?:
|
|
841
|
-
info(message: string, meta?:
|
|
842
|
-
warn(message: string, meta?:
|
|
843
|
-
error(message: string, meta?:
|
|
841
|
+
debug(message: string, meta?: LogMeta): void;
|
|
842
|
+
info(message: string, meta?: LogMeta): void;
|
|
843
|
+
warn(message: string, meta?: LogMeta): void;
|
|
844
|
+
error(message: string, meta?: LogMeta): void;
|
|
844
845
|
private shouldLog;
|
|
845
846
|
}
|
|
846
847
|
|
|
@@ -885,7 +886,7 @@ declare function getRegisteredIntegrations(): string[];
|
|
|
885
886
|
declare class StripeIntegration extends BaseIntegration {
|
|
886
887
|
private client;
|
|
887
888
|
constructor(config: IntegrationConfig);
|
|
888
|
-
execute(action: string, params:
|
|
889
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
889
890
|
private createPaymentIntent;
|
|
890
891
|
private confirmPayment;
|
|
891
892
|
private refund;
|
|
@@ -897,7 +898,7 @@ declare class StripeIntegration extends BaseIntegration {
|
|
|
897
898
|
declare class YouTubeIntegration extends BaseIntegration {
|
|
898
899
|
private client;
|
|
899
900
|
constructor(config: IntegrationConfig);
|
|
900
|
-
execute(action: string, params:
|
|
901
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
901
902
|
private search;
|
|
902
903
|
private getVideo;
|
|
903
904
|
private getChannel;
|
|
@@ -910,7 +911,7 @@ declare class TwilioIntegration extends BaseIntegration {
|
|
|
910
911
|
private client;
|
|
911
912
|
private phoneNumber;
|
|
912
913
|
constructor(config: IntegrationConfig);
|
|
913
|
-
execute(action: string, params:
|
|
914
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
914
915
|
private sendSMS;
|
|
915
916
|
private sendWhatsApp;
|
|
916
917
|
}
|
|
@@ -923,7 +924,7 @@ declare class EmailIntegration extends BaseIntegration {
|
|
|
923
924
|
private fromEmail;
|
|
924
925
|
private resendClient?;
|
|
925
926
|
constructor(config: IntegrationConfig);
|
|
926
|
-
execute(action: string, params:
|
|
927
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
927
928
|
private send;
|
|
928
929
|
private sendViaSendGrid;
|
|
929
930
|
private sendViaResend;
|
|
@@ -947,7 +948,7 @@ declare class LLMIntegration extends BaseIntegration {
|
|
|
947
948
|
* The client will throw a clear error when actually used without a key.
|
|
948
949
|
*/
|
|
949
950
|
private getClient;
|
|
950
|
-
execute(action: string, params:
|
|
951
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
951
952
|
private generate;
|
|
952
953
|
private classify;
|
|
953
954
|
private extract;
|
|
@@ -961,7 +962,7 @@ declare class DeepAgentIntegration extends BaseIntegration {
|
|
|
961
962
|
private apiUrl;
|
|
962
963
|
private apiKey;
|
|
963
964
|
constructor(config: IntegrationConfig);
|
|
964
|
-
execute(action: string, params:
|
|
965
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
965
966
|
private sendMessage;
|
|
966
967
|
private cancelGeneration;
|
|
967
968
|
private validateSchema;
|
|
@@ -981,7 +982,7 @@ declare class DeepAgentIntegration extends BaseIntegration {
|
|
|
981
982
|
*/
|
|
982
983
|
declare class CLIIntegration extends BaseIntegration {
|
|
983
984
|
constructor(config: IntegrationConfig);
|
|
984
|
-
execute(action: string, params:
|
|
985
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
985
986
|
private validate;
|
|
986
987
|
}
|
|
987
988
|
|
|
@@ -998,7 +999,7 @@ declare class RedisIntegration extends BaseIntegration {
|
|
|
998
999
|
private locks;
|
|
999
1000
|
private channels;
|
|
1000
1001
|
constructor(config: IntegrationConfig);
|
|
1001
|
-
execute(action: string, params:
|
|
1002
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1002
1003
|
/** Remove expired entries on access and return whether a key is alive. */
|
|
1003
1004
|
private isAlive;
|
|
1004
1005
|
/** Generate a unique lock identifier. */
|
|
@@ -1026,7 +1027,7 @@ declare class QueueIntegration extends BaseIntegration {
|
|
|
1026
1027
|
/** Map from job ID to job data */
|
|
1027
1028
|
private jobs;
|
|
1028
1029
|
constructor(config: IntegrationConfig);
|
|
1029
|
-
execute(action: string, params:
|
|
1030
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1030
1031
|
/** Generate a unique job identifier. */
|
|
1031
1032
|
private generateJobId;
|
|
1032
1033
|
/** Get or create the queue array for a given queue name. */
|
|
@@ -1050,7 +1051,7 @@ declare class OtelIntegration extends BaseIntegration {
|
|
|
1050
1051
|
private spans;
|
|
1051
1052
|
private metrics;
|
|
1052
1053
|
constructor(config: IntegrationConfig);
|
|
1053
|
-
execute(action: string, params:
|
|
1054
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1054
1055
|
private startSpan;
|
|
1055
1056
|
private endSpan;
|
|
1056
1057
|
private addEvent;
|
|
@@ -1076,7 +1077,7 @@ declare class OAuthIntegration extends BaseIntegration {
|
|
|
1076
1077
|
/** Maps access token -> mock user session */
|
|
1077
1078
|
private sessions;
|
|
1078
1079
|
constructor(config: IntegrationConfig);
|
|
1079
|
-
execute(action: string, params:
|
|
1080
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1080
1081
|
/** Generate a random hex token of the given byte length. */
|
|
1081
1082
|
private generateToken;
|
|
1082
1083
|
/** Generate a mock user profile from a provider and access token. */
|
|
@@ -1098,7 +1099,7 @@ declare class OAuthIntegration extends BaseIntegration {
|
|
|
1098
1099
|
declare class StorageIntegration extends BaseIntegration {
|
|
1099
1100
|
private objects;
|
|
1100
1101
|
constructor(config: IntegrationConfig);
|
|
1101
|
-
execute(action: string, params:
|
|
1102
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1102
1103
|
/** Build a composite key from bucket and object key. */
|
|
1103
1104
|
private compositeKey;
|
|
1104
1105
|
/** Generate a deterministic etag from content. */
|
|
@@ -1123,7 +1124,7 @@ declare class DockerIntegration extends BaseIntegration {
|
|
|
1123
1124
|
private containers;
|
|
1124
1125
|
private images;
|
|
1125
1126
|
constructor(config: IntegrationConfig);
|
|
1126
|
-
execute(action: string, params:
|
|
1127
|
+
execute(action: string, params: IntegrationParams): Promise<IntegrationResult>;
|
|
1127
1128
|
/** Generate a random hex container/image ID. */
|
|
1128
1129
|
private generateId;
|
|
1129
1130
|
/** Find a container by ID (prefix match supported). */
|
package/dist/index.js
CHANGED
|
@@ -156,7 +156,7 @@ var BaseIntegration = class {
|
|
|
156
156
|
*/
|
|
157
157
|
handleError(action, error) {
|
|
158
158
|
this.logger.error(`Integration error in ${this.config.name}.${action}`, {
|
|
159
|
-
error
|
|
159
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
160
160
|
});
|
|
161
161
|
const integrationError = error instanceof Error ? error : new Error(String(error));
|
|
162
162
|
return {
|
|
@@ -258,6 +258,12 @@ var IntegrationFactory = class {
|
|
|
258
258
|
isConfigured(name) {
|
|
259
259
|
return this.configs.has(name);
|
|
260
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Register an integration instance directly (used by mock infrastructure)
|
|
263
|
+
*/
|
|
264
|
+
registerInstance(name, instance) {
|
|
265
|
+
this.instances.set(name, instance);
|
|
266
|
+
}
|
|
261
267
|
/**
|
|
262
268
|
* Clear all instances (useful for testing)
|
|
263
269
|
*/
|
|
@@ -339,7 +345,7 @@ var StripeIntegration = class extends BaseIntegration {
|
|
|
339
345
|
}
|
|
340
346
|
async createPaymentIntent(params) {
|
|
341
347
|
const { amount, currency, metadata } = params;
|
|
342
|
-
this.logger.debug("Creating payment intent", { amount, currency });
|
|
348
|
+
this.logger.debug("Creating payment intent", { amount: Number(amount), currency: String(currency ?? "") });
|
|
343
349
|
return await this.client.paymentIntents.create({
|
|
344
350
|
amount,
|
|
345
351
|
currency,
|
|
@@ -348,12 +354,12 @@ var StripeIntegration = class extends BaseIntegration {
|
|
|
348
354
|
}
|
|
349
355
|
async confirmPayment(params) {
|
|
350
356
|
const { paymentIntentId } = params;
|
|
351
|
-
this.logger.debug("Confirming payment", { paymentIntentId });
|
|
357
|
+
this.logger.debug("Confirming payment", { paymentIntentId: String(paymentIntentId ?? "") });
|
|
352
358
|
return await this.client.paymentIntents.confirm(paymentIntentId);
|
|
353
359
|
}
|
|
354
360
|
async refund(params) {
|
|
355
361
|
const { paymentIntentId, amount } = params;
|
|
356
|
-
this.logger.debug("Creating refund", { paymentIntentId, amount });
|
|
362
|
+
this.logger.debug("Creating refund", { paymentIntentId: String(paymentIntentId ?? ""), amount: Number(amount) });
|
|
357
363
|
return await this.client.refunds.create({
|
|
358
364
|
payment_intent: paymentIntentId,
|
|
359
365
|
amount
|
|
@@ -416,7 +422,7 @@ var YouTubeIntegration = class extends BaseIntegration {
|
|
|
416
422
|
}
|
|
417
423
|
async search(params) {
|
|
418
424
|
const { query, maxResults, type } = params;
|
|
419
|
-
this.logger.debug("Searching YouTube", { query, maxResults, type });
|
|
425
|
+
this.logger.debug("Searching YouTube", { query: String(query ?? ""), maxResults: Number(maxResults ?? 10), type: String(type ?? "") });
|
|
420
426
|
const response = await this.client.search.list({
|
|
421
427
|
part: ["snippet"],
|
|
422
428
|
q: query,
|
|
@@ -432,7 +438,7 @@ var YouTubeIntegration = class extends BaseIntegration {
|
|
|
432
438
|
}
|
|
433
439
|
async getVideo(params) {
|
|
434
440
|
const { videoId } = params;
|
|
435
|
-
this.logger.debug("Getting video details", { videoId });
|
|
441
|
+
this.logger.debug("Getting video details", { videoId: String(videoId ?? "") });
|
|
436
442
|
const response = await this.client.videos.list({
|
|
437
443
|
part: ["snippet", "statistics"],
|
|
438
444
|
id: [videoId]
|
|
@@ -450,7 +456,7 @@ var YouTubeIntegration = class extends BaseIntegration {
|
|
|
450
456
|
}
|
|
451
457
|
async getChannel(params) {
|
|
452
458
|
const { channelId } = params;
|
|
453
|
-
this.logger.debug("Getting channel details", { channelId });
|
|
459
|
+
this.logger.debug("Getting channel details", { channelId: String(channelId ?? "") });
|
|
454
460
|
const response = await this.client.channels.list({
|
|
455
461
|
part: ["snippet", "statistics"],
|
|
456
462
|
id: [channelId]
|
|
@@ -518,7 +524,7 @@ var TwilioIntegration = class extends BaseIntegration {
|
|
|
518
524
|
}
|
|
519
525
|
async sendSMS(params) {
|
|
520
526
|
const { to, body } = params;
|
|
521
|
-
this.logger.debug("Sending SMS", { to });
|
|
527
|
+
this.logger.debug("Sending SMS", { to: String(to ?? "") });
|
|
522
528
|
const message = await this.client.messages.create({
|
|
523
529
|
from: this.phoneNumber,
|
|
524
530
|
to,
|
|
@@ -531,7 +537,7 @@ var TwilioIntegration = class extends BaseIntegration {
|
|
|
531
537
|
}
|
|
532
538
|
async sendWhatsApp(params) {
|
|
533
539
|
const { to, body } = params;
|
|
534
|
-
this.logger.debug("Sending WhatsApp message", { to });
|
|
540
|
+
this.logger.debug("Sending WhatsApp message", { to: String(to ?? "") });
|
|
535
541
|
const message = await this.client.messages.create({
|
|
536
542
|
from: `whatsapp:${this.phoneNumber}`,
|
|
537
543
|
to: `whatsapp:${to}`,
|
|
@@ -600,7 +606,7 @@ var EmailIntegration = class extends BaseIntegration {
|
|
|
600
606
|
}
|
|
601
607
|
async send(params) {
|
|
602
608
|
const { to, subject, body, from } = params;
|
|
603
|
-
this.logger.debug("Sending email", { to, subject, provider: this.provider });
|
|
609
|
+
this.logger.debug("Sending email", { to: String(to), subject: String(subject), provider: this.provider });
|
|
604
610
|
if (this.provider === "sendgrid") {
|
|
605
611
|
return await this.sendViaSendGrid(
|
|
606
612
|
to,
|
|
@@ -740,7 +746,7 @@ var LLMIntegration = class extends BaseIntegration {
|
|
|
740
746
|
}
|
|
741
747
|
async classify(params) {
|
|
742
748
|
const { text, categories, model } = params;
|
|
743
|
-
this.logger.debug("Classifying text", { categories });
|
|
749
|
+
this.logger.debug("Classifying text", { categories: categories.join(", ") });
|
|
744
750
|
const ClassificationSchema = z.object({
|
|
745
751
|
category: z.enum(categories),
|
|
746
752
|
confidence: z.number().min(0).max(1),
|
|
@@ -757,7 +763,7 @@ var LLMIntegration = class extends BaseIntegration {
|
|
|
757
763
|
}
|
|
758
764
|
async extract(params) {
|
|
759
765
|
const { text, schema, model } = params;
|
|
760
|
-
this.logger.debug("Extracting structured data", { schema });
|
|
766
|
+
this.logger.debug("Extracting structured data", { schema: String(schema ?? "") });
|
|
761
767
|
const ExtractSchema = z.record(z.unknown());
|
|
762
768
|
const client = model ? new LLMClient({ provider: this.provider, model, temperature: 0.2 }) : this.getClient();
|
|
763
769
|
const schemaDescription = JSON.stringify(schema, null, 2);
|
|
@@ -855,7 +861,7 @@ var DeepAgentIntegration = class extends BaseIntegration {
|
|
|
855
861
|
}
|
|
856
862
|
async sendMessage(params) {
|
|
857
863
|
const { message, threadId, skill, context } = params;
|
|
858
|
-
this.logger.debug("Sending message to DeepAgent", { threadId, skill });
|
|
864
|
+
this.logger.debug("Sending message to DeepAgent", { threadId: String(threadId ?? ""), skill: String(skill ?? "") });
|
|
859
865
|
const response = await this.request("/api/agent/message", {
|
|
860
866
|
message,
|
|
861
867
|
threadId,
|
|
@@ -866,7 +872,7 @@ var DeepAgentIntegration = class extends BaseIntegration {
|
|
|
866
872
|
}
|
|
867
873
|
async cancelGeneration(params) {
|
|
868
874
|
const { threadId } = params;
|
|
869
|
-
this.logger.debug("Cancelling generation", { threadId });
|
|
875
|
+
this.logger.debug("Cancelling generation", { threadId: String(threadId ?? "") });
|
|
870
876
|
const response = await this.request("/api/agent/cancel", {
|
|
871
877
|
threadId
|
|
872
878
|
});
|
|
@@ -882,7 +888,7 @@ var DeepAgentIntegration = class extends BaseIntegration {
|
|
|
882
888
|
}
|
|
883
889
|
async compileSchema(params) {
|
|
884
890
|
const { schema, shell } = params;
|
|
885
|
-
this.logger.debug("Compiling schema", { shell });
|
|
891
|
+
this.logger.debug("Compiling schema", { shell: String(shell ?? "") });
|
|
886
892
|
const response = await this.request("/api/schema/compile", {
|
|
887
893
|
schema,
|
|
888
894
|
shell
|
|
@@ -891,7 +897,7 @@ var DeepAgentIntegration = class extends BaseIntegration {
|
|
|
891
897
|
}
|
|
892
898
|
async getThreadHistory(params) {
|
|
893
899
|
const { threadId } = params;
|
|
894
|
-
this.logger.debug("Getting thread history", { threadId });
|
|
900
|
+
this.logger.debug("Getting thread history", { threadId: String(threadId ?? "") });
|
|
895
901
|
const response = await this.request("/api/agent/history", {
|
|
896
902
|
threadId
|
|
897
903
|
});
|
|
@@ -1363,7 +1369,7 @@ var GitHubIntegration = class extends BaseIntegration {
|
|
|
1363
1369
|
* List issues
|
|
1364
1370
|
*/
|
|
1365
1371
|
async listIssues(params) {
|
|
1366
|
-
this.logger.debug("Listing issues", params);
|
|
1372
|
+
this.logger.debug("Listing issues", { state: params.state, labels: params.labels?.join(", "), limit: params.limit });
|
|
1367
1373
|
const apiConfig = this.getAPIConfig();
|
|
1368
1374
|
const issues = await listIssues(params, apiConfig);
|
|
1369
1375
|
return { issues };
|
|
@@ -2150,7 +2156,7 @@ var OAuthIntegration = class extends BaseIntegration {
|
|
|
2150
2156
|
const provider = params.provider;
|
|
2151
2157
|
const scopes = params.scopes;
|
|
2152
2158
|
const redirectUri = params.redirectUri;
|
|
2153
|
-
this.logger.debug("OAuth AUTHORIZE", { provider, scopes, redirectUri });
|
|
2159
|
+
this.logger.debug("OAuth AUTHORIZE", { provider, scopes: scopes.join(", "), redirectUri });
|
|
2154
2160
|
const state = this.generateToken(16);
|
|
2155
2161
|
this.states.set(state, provider);
|
|
2156
2162
|
const baseUrl = PROVIDER_AUTH_URLS[provider];
|
|
@@ -2547,7 +2553,7 @@ var DockerIntegration = class extends BaseIntegration {
|
|
|
2547
2553
|
const env = params.env ?? {};
|
|
2548
2554
|
const rawVolumes = params.volumes ?? [];
|
|
2549
2555
|
const command = params.command ?? "";
|
|
2550
|
-
this.logger.debug("Docker RUN", { image, name, ports: rawPorts,
|
|
2556
|
+
this.logger.debug("Docker RUN", { image, name, ports: rawPorts.map((p) => `${p.host}:${p.container}`).join(", "), volumes: rawVolumes.map((v) => `${v.host}:${v.container}`).join(", "), command });
|
|
2551
2557
|
const containerId = this.generateId();
|
|
2552
2558
|
const ports = rawPorts.map((p) => ({
|
|
2553
2559
|
host: p.host,
|