@alfe.ai/agent-api-client 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +81 -25
- package/dist/index.d.cts +70 -14
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +70 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -25
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -138,6 +138,7 @@ var AgentApiClient = class {
|
|
|
138
138
|
if (!res.ok) {
|
|
139
139
|
await res.text();
|
|
140
140
|
const error = /* @__PURE__ */ new Error(`Agent API request failed (${String(res.status)})`);
|
|
141
|
+
error.status = res.status;
|
|
141
142
|
if (attempt === 1 && RETRYABLE_STATUS.has(res.status)) {
|
|
142
143
|
lastError = error;
|
|
143
144
|
await sleep(RETRY_DELAY_MS);
|
|
@@ -211,7 +212,17 @@ var AgentApiClient = class {
|
|
|
211
212
|
return this.request("/agent/integrations");
|
|
212
213
|
}
|
|
213
214
|
async getIntegrationConfig(integrationId) {
|
|
214
|
-
|
|
215
|
+
try {
|
|
216
|
+
return await this.request(`/agent/integrations/${encodeURIComponent(integrationId)}/config`);
|
|
217
|
+
} catch (err) {
|
|
218
|
+
if (err.status === 404) return {
|
|
219
|
+
integrationId,
|
|
220
|
+
config: {},
|
|
221
|
+
configSchema: [],
|
|
222
|
+
installed: false
|
|
223
|
+
};
|
|
224
|
+
throw err;
|
|
225
|
+
}
|
|
215
226
|
}
|
|
216
227
|
async updateIntegrationConfig(integrationId, config) {
|
|
217
228
|
await this.request(`/agent/integrations/${encodeURIComponent(integrationId)}`, {
|
|
@@ -315,49 +326,71 @@ var AgentApiClient = class {
|
|
|
315
326
|
* Pattern A: multi-account credential fetch for cTrader.
|
|
316
327
|
*
|
|
317
328
|
* Unlike atlassian/salesforce (one Connection row per account/site), a
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
*
|
|
329
|
+
* cTrader is MULTI-grant per agent: an agent may connect several distinct
|
|
330
|
+
* cTrader logins, each its own Connection row keyed on `accountIdentifier =
|
|
331
|
+
* ctid:<userId>` (Phase 1). This aggregates the *trading accounts* across
|
|
332
|
+
* ALL of those Connection rows — each row contributes its `availableAccounts`
|
|
333
|
+
* flattened, and every account carries ITS OWN grant's `accessToken` (the
|
|
334
|
+
* token that authenticates that account against the cTrader Open API). One
|
|
335
|
+
* OAuth grant still covers all accounts under that single login on one shared
|
|
336
|
+
* token; only the `ctidTraderAccountId` and the protobuf socket `host` (live
|
|
337
|
+
* vs demo) differ within a grant. Across grants the tokens differ, so the
|
|
338
|
+
* token is now PER-ACCOUNT rather than hoisted to the top level.
|
|
326
339
|
*
|
|
327
340
|
* `host` per account is derived from the account's `isLive` flag
|
|
328
341
|
* (`live.ctraderapi.com` / `demo.ctraderapi.com`) — the same mapping the
|
|
329
342
|
* connect provider applies server-side when an account is auto-selected.
|
|
330
343
|
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
344
|
+
* `clientId` / `clientSecret` are the SST-sourced GLOBAL app credentials the
|
|
345
|
+
* connect endpoint injects — identical across every Connection row (one
|
|
346
|
+
* cTrader app), never persisted on a connection. We take them from the first
|
|
347
|
+
* row that carries them.
|
|
348
|
+
*
|
|
349
|
+
* Accounts are deduped on `ctidTraderAccountId` first-wins: Spotware ids are
|
|
350
|
+
* globally unique across logins, so a duplicate can only appear if the same
|
|
351
|
+
* account somehow surfaced under two grants — first-wins keeps it
|
|
352
|
+
* deterministic.
|
|
353
|
+
*
|
|
354
|
+
* `accounts` may be empty (no cTrader Connection at all), in which case we
|
|
355
|
+
* return empty creds rather than throwing.
|
|
335
356
|
*/
|
|
336
357
|
async getCTraderAccounts() {
|
|
337
358
|
const raw = await this.request("/agent/connect/ctrader/accounts");
|
|
338
359
|
if (raw.accounts.length === 0) return {
|
|
339
360
|
accounts: [],
|
|
340
361
|
clientId: "",
|
|
341
|
-
clientSecret: ""
|
|
342
|
-
accessToken: ""
|
|
362
|
+
clientSecret: ""
|
|
343
363
|
};
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
364
|
+
let clientId = "";
|
|
365
|
+
let clientSecret = "";
|
|
366
|
+
for (const row of raw.accounts) {
|
|
367
|
+
if (!clientId && row.clientId) clientId = row.clientId;
|
|
368
|
+
if (!clientSecret && row.clientSecret) clientSecret = row.clientSecret;
|
|
369
|
+
if (clientId && clientSecret) break;
|
|
370
|
+
}
|
|
371
|
+
const seen = /* @__PURE__ */ new Set();
|
|
372
|
+
const accounts = [];
|
|
373
|
+
for (const row of raw.accounts) {
|
|
374
|
+
const rowToken = row.accessToken ?? "";
|
|
375
|
+
for (const a of row.availableAccounts ?? []) {
|
|
348
376
|
const id = a.ctidTraderAccountId != null ? String(a.ctidTraderAccountId) : a.accountId != null ? String(a.accountId) : "";
|
|
377
|
+
if (id.length === 0 || seen.has(id)) continue;
|
|
378
|
+
seen.add(id);
|
|
349
379
|
const isLive = a.isLive === true;
|
|
350
|
-
|
|
380
|
+
accounts.push({
|
|
351
381
|
ctidTraderAccountId: id,
|
|
352
382
|
host: isLive ? "live.ctraderapi.com" : "demo.ctraderapi.com",
|
|
353
383
|
isLive,
|
|
354
384
|
...a.brokerName != null ? { brokerName: a.brokerName } : {},
|
|
355
|
-
...a.accountNumber != null ? { accountNumber: String(a.accountNumber) } : {}
|
|
356
|
-
|
|
357
|
-
|
|
385
|
+
...a.accountNumber != null ? { accountNumber: String(a.accountNumber) } : {},
|
|
386
|
+
accessToken: rowToken
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return {
|
|
391
|
+
accounts,
|
|
358
392
|
clientId,
|
|
359
|
-
clientSecret
|
|
360
|
-
accessToken
|
|
393
|
+
clientSecret
|
|
361
394
|
};
|
|
362
395
|
}
|
|
363
396
|
/**
|
|
@@ -1140,6 +1173,15 @@ var AgentApiClient = class {
|
|
|
1140
1173
|
...scope ? { body: JSON.stringify({ scope }) } : {}
|
|
1141
1174
|
});
|
|
1142
1175
|
}
|
|
1176
|
+
async sendSms(args) {
|
|
1177
|
+
return this.request("/mobile/sms/send", {
|
|
1178
|
+
method: "POST",
|
|
1179
|
+
body: JSON.stringify({
|
|
1180
|
+
to: args.to,
|
|
1181
|
+
body: args.body
|
|
1182
|
+
})
|
|
1183
|
+
});
|
|
1184
|
+
}
|
|
1143
1185
|
async searchWeb(params) {
|
|
1144
1186
|
return this.request("/agent/search/web", {
|
|
1145
1187
|
method: "POST",
|
|
@@ -1158,6 +1200,20 @@ var AgentApiClient = class {
|
|
|
1158
1200
|
body: JSON.stringify(params)
|
|
1159
1201
|
});
|
|
1160
1202
|
}
|
|
1203
|
+
/** Search news across the selected provider's corpus. → POST /agent/news/search */
|
|
1204
|
+
async newsSearch(params) {
|
|
1205
|
+
return this.request("/agent/news/search", {
|
|
1206
|
+
method: "POST",
|
|
1207
|
+
body: JSON.stringify(params)
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1210
|
+
/** Top headlines for the selected provider. → POST /agent/news/headlines */
|
|
1211
|
+
async newsHeadlines(params) {
|
|
1212
|
+
return this.request("/agent/news/headlines", {
|
|
1213
|
+
method: "POST",
|
|
1214
|
+
body: JSON.stringify(params ?? {})
|
|
1215
|
+
});
|
|
1216
|
+
}
|
|
1161
1217
|
/**
|
|
1162
1218
|
* Semantic search across the agent's member scopes. Fan-out is gated
|
|
1163
1219
|
* server-side by `listScopes` set-inclusion (fail-closed). Pass
|
package/dist/index.d.cts
CHANGED
|
@@ -59,6 +59,26 @@ interface AgentApiClientConfig {
|
|
|
59
59
|
apiKey: string;
|
|
60
60
|
apiUrl: string;
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* The broad-news providers behind the metered `services/news` Lambda. The
|
|
64
|
+
* server validates this with a zod enum; a value outside the union is an
|
|
65
|
+
* unpriceable product, so keep the literal union in lockstep with the service.
|
|
66
|
+
*/
|
|
67
|
+
type NewsProvider = "apitube" | "newsdata";
|
|
68
|
+
/** One normalized article. `sentiment` is provider-shaped (APITube supplies it). */
|
|
69
|
+
interface NewsArticle {
|
|
70
|
+
title: string;
|
|
71
|
+
url: string;
|
|
72
|
+
source: string;
|
|
73
|
+
publishedAt: string;
|
|
74
|
+
snippet: string;
|
|
75
|
+
sentiment?: unknown;
|
|
76
|
+
}
|
|
77
|
+
/** Provider-agnostic result — the server normalizes every adapter to this. */
|
|
78
|
+
interface NewsResult {
|
|
79
|
+
articles: NewsArticle[];
|
|
80
|
+
provider: string;
|
|
81
|
+
}
|
|
62
82
|
interface RemoteSessionInfo {
|
|
63
83
|
sessionId: string;
|
|
64
84
|
agentId: string;
|
|
@@ -473,23 +493,33 @@ declare class AgentApiClient {
|
|
|
473
493
|
* Pattern A: multi-account credential fetch for cTrader.
|
|
474
494
|
*
|
|
475
495
|
* Unlike atlassian/salesforce (one Connection row per account/site), a
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
483
|
-
*
|
|
496
|
+
* cTrader is MULTI-grant per agent: an agent may connect several distinct
|
|
497
|
+
* cTrader logins, each its own Connection row keyed on `accountIdentifier =
|
|
498
|
+
* ctid:<userId>` (Phase 1). This aggregates the *trading accounts* across
|
|
499
|
+
* ALL of those Connection rows — each row contributes its `availableAccounts`
|
|
500
|
+
* flattened, and every account carries ITS OWN grant's `accessToken` (the
|
|
501
|
+
* token that authenticates that account against the cTrader Open API). One
|
|
502
|
+
* OAuth grant still covers all accounts under that single login on one shared
|
|
503
|
+
* token; only the `ctidTraderAccountId` and the protobuf socket `host` (live
|
|
504
|
+
* vs demo) differ within a grant. Across grants the tokens differ, so the
|
|
505
|
+
* token is now PER-ACCOUNT rather than hoisted to the top level.
|
|
484
506
|
*
|
|
485
507
|
* `host` per account is derived from the account's `isLive` flag
|
|
486
508
|
* (`live.ctraderapi.com` / `demo.ctraderapi.com`) — the same mapping the
|
|
487
509
|
* connect provider applies server-side when an account is auto-selected.
|
|
488
510
|
*
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
511
|
+
* `clientId` / `clientSecret` are the SST-sourced GLOBAL app credentials the
|
|
512
|
+
* connect endpoint injects — identical across every Connection row (one
|
|
513
|
+
* cTrader app), never persisted on a connection. We take them from the first
|
|
514
|
+
* row that carries them.
|
|
515
|
+
*
|
|
516
|
+
* Accounts are deduped on `ctidTraderAccountId` first-wins: Spotware ids are
|
|
517
|
+
* globally unique across logins, so a duplicate can only appear if the same
|
|
518
|
+
* account somehow surfaced under two grants — first-wins keeps it
|
|
519
|
+
* deterministic.
|
|
520
|
+
*
|
|
521
|
+
* `accounts` may be empty (no cTrader Connection at all), in which case we
|
|
522
|
+
* return empty creds rather than throwing.
|
|
493
523
|
*/
|
|
494
524
|
getCTraderAccounts(): Promise<{
|
|
495
525
|
accounts: {
|
|
@@ -498,10 +528,10 @@ declare class AgentApiClient {
|
|
|
498
528
|
isLive: boolean;
|
|
499
529
|
brokerName?: string;
|
|
500
530
|
accountNumber?: string;
|
|
531
|
+
accessToken: string;
|
|
501
532
|
}[];
|
|
502
533
|
clientId: string;
|
|
503
534
|
clientSecret: string;
|
|
504
|
-
accessToken: string;
|
|
505
535
|
}>;
|
|
506
536
|
/**
|
|
507
537
|
* @deprecated Returns a single primary credential blob (legacy "pick-the-
|
|
@@ -1348,6 +1378,13 @@ declare class AgentApiClient {
|
|
|
1348
1378
|
synced: true;
|
|
1349
1379
|
syncedAt: string;
|
|
1350
1380
|
}>;
|
|
1381
|
+
sendSms(args: {
|
|
1382
|
+
to: string;
|
|
1383
|
+
body: string;
|
|
1384
|
+
}): Promise<{
|
|
1385
|
+
sent: boolean;
|
|
1386
|
+
sid: string;
|
|
1387
|
+
}>;
|
|
1351
1388
|
searchWeb(params: {
|
|
1352
1389
|
query: string;
|
|
1353
1390
|
count?: number;
|
|
@@ -1364,6 +1401,25 @@ declare class AgentApiClient {
|
|
|
1364
1401
|
count?: number;
|
|
1365
1402
|
freshness?: string;
|
|
1366
1403
|
}): Promise<unknown>;
|
|
1404
|
+
/** Search news across the selected provider's corpus. → POST /agent/news/search */
|
|
1405
|
+
newsSearch(params: {
|
|
1406
|
+
query: string;
|
|
1407
|
+
provider?: NewsProvider;
|
|
1408
|
+
source?: string;
|
|
1409
|
+
from?: string;
|
|
1410
|
+
to?: string;
|
|
1411
|
+
language?: string;
|
|
1412
|
+
category?: string;
|
|
1413
|
+
limit?: number;
|
|
1414
|
+
}): Promise<NewsResult>;
|
|
1415
|
+
/** Top headlines for the selected provider. → POST /agent/news/headlines */
|
|
1416
|
+
newsHeadlines(params?: {
|
|
1417
|
+
provider?: NewsProvider;
|
|
1418
|
+
category?: string;
|
|
1419
|
+
source?: string;
|
|
1420
|
+
language?: string;
|
|
1421
|
+
limit?: number;
|
|
1422
|
+
}): Promise<NewsResult>;
|
|
1367
1423
|
/**
|
|
1368
1424
|
* Semantic search across the agent's member scopes. Fan-out is gated
|
|
1369
1425
|
* server-side by `listScopes` set-inclusion (fail-closed). Pass
|
|
@@ -1486,5 +1542,5 @@ declare class AgentApiClient {
|
|
|
1486
1542
|
}
|
|
1487
1543
|
//# sourceMappingURL=index.d.ts.map
|
|
1488
1544
|
//#endregion
|
|
1489
|
-
export { AgentApiClient, AgentApiClientConfig, AgentAvatarPresign, AgentSelf, AgentVoice, AgentVoiceConfig, ChangeRequestActorKind, ChangeRequestOperation, ChangeRequestResourceType, ChangeRequestStatus, type ChangelogAction, type ChangelogActor, type ChangelogEntry, type EncryptedEnvelopeV1, type Field, type FieldEnvelope, type FieldFormat, type FieldSensitivity, type FieldView, type GeneratedDataKey, type InstallToolErrorCaptureOptions, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, KnowledgeChangeRequest, KnowledgeDoc, KnowledgeProfile, KnowledgeProfileLink, KnowledgeScope, KnowledgeScopeType, KnowledgeSearchHit, KnowledgeSearchResult, ProposeScopeChangeInput, type RegistryEntry, RemoteSessionInfo, type ScopeInfo, type SecretAggregate, type SecretCategory, type SecretMetadata, type SecretScope, SharedFileEntry, SyncAgentInfo, SyncAgentStats, SyncConfirmedUpload, SyncFileEntry, SyncManifest, SyncManifestEntry, SyncPresignedUrl, SyncReconstructBundle, SyncReconstructFile, SyncSessionContent, SyncSessionEntry, type ToolCaptureApi, VoiceSttArgs, VoiceSttResult, VoiceTtsArgs, VoiceTtsModel, VoiceTtsResult, installToolErrorCapture };
|
|
1545
|
+
export { AgentApiClient, AgentApiClientConfig, AgentAvatarPresign, AgentSelf, AgentVoice, AgentVoiceConfig, ChangeRequestActorKind, ChangeRequestOperation, ChangeRequestResourceType, ChangeRequestStatus, type ChangelogAction, type ChangelogActor, type ChangelogEntry, type EncryptedEnvelopeV1, type Field, type FieldEnvelope, type FieldFormat, type FieldSensitivity, type FieldView, type GeneratedDataKey, type InstallToolErrorCaptureOptions, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, KnowledgeChangeRequest, KnowledgeDoc, KnowledgeProfile, KnowledgeProfileLink, KnowledgeScope, KnowledgeScopeType, KnowledgeSearchHit, KnowledgeSearchResult, NewsArticle, NewsProvider, NewsResult, ProposeScopeChangeInput, type RegistryEntry, RemoteSessionInfo, type ScopeInfo, type SecretAggregate, type SecretCategory, type SecretMetadata, type SecretScope, SharedFileEntry, SyncAgentInfo, SyncAgentStats, SyncConfirmedUpload, SyncFileEntry, SyncManifest, SyncManifestEntry, SyncPresignedUrl, SyncReconstructBundle, SyncReconstructFile, SyncSessionContent, SyncSessionEntry, type ToolCaptureApi, VoiceSttArgs, VoiceSttResult, VoiceTtsArgs, VoiceTtsModel, VoiceTtsResult, installToolErrorCapture };
|
|
1490
1546
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/tool-error-capture.ts","../src/index.ts"],"mappings":";;;;;;;AA6BA;AAIA;AA0GA;;;;;;;;ACtFA;AAOA;AAmBA;AAWA;AASA;;;;;AAOA;AAMA;AAQA;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/tool-error-capture.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -59,6 +59,26 @@ interface AgentApiClientConfig {
|
|
|
59
59
|
apiKey: string;
|
|
60
60
|
apiUrl: string;
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* The broad-news providers behind the metered `services/news` Lambda. The
|
|
64
|
+
* server validates this with a zod enum; a value outside the union is an
|
|
65
|
+
* unpriceable product, so keep the literal union in lockstep with the service.
|
|
66
|
+
*/
|
|
67
|
+
type NewsProvider = "apitube" | "newsdata";
|
|
68
|
+
/** One normalized article. `sentiment` is provider-shaped (APITube supplies it). */
|
|
69
|
+
interface NewsArticle {
|
|
70
|
+
title: string;
|
|
71
|
+
url: string;
|
|
72
|
+
source: string;
|
|
73
|
+
publishedAt: string;
|
|
74
|
+
snippet: string;
|
|
75
|
+
sentiment?: unknown;
|
|
76
|
+
}
|
|
77
|
+
/** Provider-agnostic result — the server normalizes every adapter to this. */
|
|
78
|
+
interface NewsResult {
|
|
79
|
+
articles: NewsArticle[];
|
|
80
|
+
provider: string;
|
|
81
|
+
}
|
|
62
82
|
interface RemoteSessionInfo {
|
|
63
83
|
sessionId: string;
|
|
64
84
|
agentId: string;
|
|
@@ -473,23 +493,33 @@ declare class AgentApiClient {
|
|
|
473
493
|
* Pattern A: multi-account credential fetch for cTrader.
|
|
474
494
|
*
|
|
475
495
|
* Unlike atlassian/salesforce (one Connection row per account/site), a
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
483
|
-
*
|
|
496
|
+
* cTrader is MULTI-grant per agent: an agent may connect several distinct
|
|
497
|
+
* cTrader logins, each its own Connection row keyed on `accountIdentifier =
|
|
498
|
+
* ctid:<userId>` (Phase 1). This aggregates the *trading accounts* across
|
|
499
|
+
* ALL of those Connection rows — each row contributes its `availableAccounts`
|
|
500
|
+
* flattened, and every account carries ITS OWN grant's `accessToken` (the
|
|
501
|
+
* token that authenticates that account against the cTrader Open API). One
|
|
502
|
+
* OAuth grant still covers all accounts under that single login on one shared
|
|
503
|
+
* token; only the `ctidTraderAccountId` and the protobuf socket `host` (live
|
|
504
|
+
* vs demo) differ within a grant. Across grants the tokens differ, so the
|
|
505
|
+
* token is now PER-ACCOUNT rather than hoisted to the top level.
|
|
484
506
|
*
|
|
485
507
|
* `host` per account is derived from the account's `isLive` flag
|
|
486
508
|
* (`live.ctraderapi.com` / `demo.ctraderapi.com`) — the same mapping the
|
|
487
509
|
* connect provider applies server-side when an account is auto-selected.
|
|
488
510
|
*
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
511
|
+
* `clientId` / `clientSecret` are the SST-sourced GLOBAL app credentials the
|
|
512
|
+
* connect endpoint injects — identical across every Connection row (one
|
|
513
|
+
* cTrader app), never persisted on a connection. We take them from the first
|
|
514
|
+
* row that carries them.
|
|
515
|
+
*
|
|
516
|
+
* Accounts are deduped on `ctidTraderAccountId` first-wins: Spotware ids are
|
|
517
|
+
* globally unique across logins, so a duplicate can only appear if the same
|
|
518
|
+
* account somehow surfaced under two grants — first-wins keeps it
|
|
519
|
+
* deterministic.
|
|
520
|
+
*
|
|
521
|
+
* `accounts` may be empty (no cTrader Connection at all), in which case we
|
|
522
|
+
* return empty creds rather than throwing.
|
|
493
523
|
*/
|
|
494
524
|
getCTraderAccounts(): Promise<{
|
|
495
525
|
accounts: {
|
|
@@ -498,10 +528,10 @@ declare class AgentApiClient {
|
|
|
498
528
|
isLive: boolean;
|
|
499
529
|
brokerName?: string;
|
|
500
530
|
accountNumber?: string;
|
|
531
|
+
accessToken: string;
|
|
501
532
|
}[];
|
|
502
533
|
clientId: string;
|
|
503
534
|
clientSecret: string;
|
|
504
|
-
accessToken: string;
|
|
505
535
|
}>;
|
|
506
536
|
/**
|
|
507
537
|
* @deprecated Returns a single primary credential blob (legacy "pick-the-
|
|
@@ -1348,6 +1378,13 @@ declare class AgentApiClient {
|
|
|
1348
1378
|
synced: true;
|
|
1349
1379
|
syncedAt: string;
|
|
1350
1380
|
}>;
|
|
1381
|
+
sendSms(args: {
|
|
1382
|
+
to: string;
|
|
1383
|
+
body: string;
|
|
1384
|
+
}): Promise<{
|
|
1385
|
+
sent: boolean;
|
|
1386
|
+
sid: string;
|
|
1387
|
+
}>;
|
|
1351
1388
|
searchWeb(params: {
|
|
1352
1389
|
query: string;
|
|
1353
1390
|
count?: number;
|
|
@@ -1364,6 +1401,25 @@ declare class AgentApiClient {
|
|
|
1364
1401
|
count?: number;
|
|
1365
1402
|
freshness?: string;
|
|
1366
1403
|
}): Promise<unknown>;
|
|
1404
|
+
/** Search news across the selected provider's corpus. → POST /agent/news/search */
|
|
1405
|
+
newsSearch(params: {
|
|
1406
|
+
query: string;
|
|
1407
|
+
provider?: NewsProvider;
|
|
1408
|
+
source?: string;
|
|
1409
|
+
from?: string;
|
|
1410
|
+
to?: string;
|
|
1411
|
+
language?: string;
|
|
1412
|
+
category?: string;
|
|
1413
|
+
limit?: number;
|
|
1414
|
+
}): Promise<NewsResult>;
|
|
1415
|
+
/** Top headlines for the selected provider. → POST /agent/news/headlines */
|
|
1416
|
+
newsHeadlines(params?: {
|
|
1417
|
+
provider?: NewsProvider;
|
|
1418
|
+
category?: string;
|
|
1419
|
+
source?: string;
|
|
1420
|
+
language?: string;
|
|
1421
|
+
limit?: number;
|
|
1422
|
+
}): Promise<NewsResult>;
|
|
1367
1423
|
/**
|
|
1368
1424
|
* Semantic search across the agent's member scopes. Fan-out is gated
|
|
1369
1425
|
* server-side by `listScopes` set-inclusion (fail-closed). Pass
|
|
@@ -1486,5 +1542,5 @@ declare class AgentApiClient {
|
|
|
1486
1542
|
}
|
|
1487
1543
|
//# sourceMappingURL=index.d.ts.map
|
|
1488
1544
|
//#endregion
|
|
1489
|
-
export { AgentApiClient, AgentApiClientConfig, AgentAvatarPresign, AgentSelf, AgentVoice, AgentVoiceConfig, ChangeRequestActorKind, ChangeRequestOperation, ChangeRequestResourceType, ChangeRequestStatus, type ChangelogAction, type ChangelogActor, type ChangelogEntry, type EncryptedEnvelopeV1, type Field, type FieldEnvelope, type FieldFormat, type FieldSensitivity, type FieldView, type GeneratedDataKey, type InstallToolErrorCaptureOptions, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, KnowledgeChangeRequest, KnowledgeDoc, KnowledgeProfile, KnowledgeProfileLink, KnowledgeScope, KnowledgeScopeType, KnowledgeSearchHit, KnowledgeSearchResult, ProposeScopeChangeInput, type RegistryEntry, RemoteSessionInfo, type ScopeInfo, type SecretAggregate, type SecretCategory, type SecretMetadata, type SecretScope, SharedFileEntry, SyncAgentInfo, SyncAgentStats, SyncConfirmedUpload, SyncFileEntry, SyncManifest, SyncManifestEntry, SyncPresignedUrl, SyncReconstructBundle, SyncReconstructFile, SyncSessionContent, SyncSessionEntry, type ToolCaptureApi, VoiceSttArgs, VoiceSttResult, VoiceTtsArgs, VoiceTtsModel, VoiceTtsResult, installToolErrorCapture };
|
|
1545
|
+
export { AgentApiClient, AgentApiClientConfig, AgentAvatarPresign, AgentSelf, AgentVoice, AgentVoiceConfig, ChangeRequestActorKind, ChangeRequestOperation, ChangeRequestResourceType, ChangeRequestStatus, type ChangelogAction, type ChangelogActor, type ChangelogEntry, type EncryptedEnvelopeV1, type Field, type FieldEnvelope, type FieldFormat, type FieldSensitivity, type FieldView, type GeneratedDataKey, type InstallToolErrorCaptureOptions, type IntegrationConfigResult, type IntegrationConfigSchemaField, type IntegrationInstall, KnowledgeChangeRequest, KnowledgeDoc, KnowledgeProfile, KnowledgeProfileLink, KnowledgeScope, KnowledgeScopeType, KnowledgeSearchHit, KnowledgeSearchResult, NewsArticle, NewsProvider, NewsResult, ProposeScopeChangeInput, type RegistryEntry, RemoteSessionInfo, type ScopeInfo, type SecretAggregate, type SecretCategory, type SecretMetadata, type SecretScope, SharedFileEntry, SyncAgentInfo, SyncAgentStats, SyncConfirmedUpload, SyncFileEntry, SyncManifest, SyncManifestEntry, SyncPresignedUrl, SyncReconstructBundle, SyncReconstructFile, SyncSessionContent, SyncSessionEntry, type ToolCaptureApi, VoiceSttArgs, VoiceSttResult, VoiceTtsArgs, VoiceTtsModel, VoiceTtsResult, installToolErrorCapture };
|
|
1490
1546
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/tool-error-capture.ts","../src/index.ts"],"mappings":";;;;;;;AA6BA;AAIA;AA0GA;;;;;;;;ACtFA;AAOA;AAmBA;AAWA;AASA;;;;;AAOA;AAMA;AAQA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/tool-error-capture.ts","../src/index.ts"],"mappings":"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"}
|