@zihin/agent-client 0.1.0 → 0.4.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/README.md +122 -8
- package/dist/index.d.mts +789 -0
- package/dist/index.d.ts +788 -20
- package/dist/index.js +1715 -32
- package/dist/index.mjs +1684 -0
- package/package.json +19 -4
- package/dist/agents.d.ts +0 -21
- package/dist/agents.js +0 -52
- package/dist/agents.js.map +0 -1
- package/dist/client.d.ts +0 -43
- package/dist/client.js +0 -75
- package/dist/client.js.map +0 -1
- package/dist/errors.d.ts +0 -35
- package/dist/errors.js +0 -89
- package/dist/errors.js.map +0 -1
- package/dist/http.d.ts +0 -98
- package/dist/http.js +0 -281
- package/dist/http.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal.d.ts +0 -13
- package/dist/internal.js +0 -40
- package/dist/internal.js.map +0 -1
- package/dist/invoke.d.ts +0 -18
- package/dist/invoke.js +0 -233
- package/dist/invoke.js.map +0 -1
- package/dist/security.d.ts +0 -82
- package/dist/security.js +0 -251
- package/dist/security.js.map +0 -1
- package/dist/sse.d.ts +0 -27
- package/dist/sse.js +0 -138
- package/dist/sse.js.map +0 -1
- package/dist/triggers.d.ts +0 -43
- package/dist/triggers.js +0 -241
- package/dist/triggers.js.map +0 -1
- package/dist/types.d.ts +0 -268
- package/dist/types.js +0 -9
- package/dist/types.js.map +0 -1
package/dist/triggers.js
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Caminho B — invocação assíncrona/desacoplada via sistema de triggers.
|
|
4
|
-
* - createTrigger: provisiona (1x) um webhook ligado a um agente (POST /api/triggers).
|
|
5
|
-
* - dispatchAgent: dispara o trigger (POST /api/triggers/webhook/:id) → 202 (async) | JSON (sync).
|
|
6
|
-
* - getExecution: consulta o resultado (GET /api/triggers/:id/executions/:execId).
|
|
7
|
-
*
|
|
8
|
-
* Requer key role admin/editor (triggers:create / telemetry:read). Keys `member` → 403.
|
|
9
|
-
*
|
|
10
|
-
* @module triggers
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.createTrigger = createTrigger;
|
|
14
|
-
exports.dispatchAgent = dispatchAgent;
|
|
15
|
-
exports.listTriggers = listTriggers;
|
|
16
|
-
exports.getTrigger = getTrigger;
|
|
17
|
-
exports.deleteTrigger = deleteTrigger;
|
|
18
|
-
exports.findOrCreateTrigger = findOrCreateTrigger;
|
|
19
|
-
exports.getExecution = getExecution;
|
|
20
|
-
const errors_1 = require("./errors");
|
|
21
|
-
const http_1 = require("./http");
|
|
22
|
-
const internal_1 = require("./internal");
|
|
23
|
-
const security_1 = require("./security");
|
|
24
|
-
/** Request JSON (com deadline/retry conforme política); lança ZihinAgentError em não-2xx. */
|
|
25
|
-
async function requestJson(cfg, args) {
|
|
26
|
-
const res = await (0, http_1.requestBuffered)({
|
|
27
|
-
method: args.method,
|
|
28
|
-
url: `${cfg.baseUrl}${args.path}`,
|
|
29
|
-
headers: (0, http_1.buildHeaders)(cfg.apiKey),
|
|
30
|
-
body: args.body !== undefined ? JSON.stringify(args.body) : undefined,
|
|
31
|
-
timeoutMs: cfg.timeoutMs,
|
|
32
|
-
maxRetries: cfg.maxRetries,
|
|
33
|
-
policy: args.policy,
|
|
34
|
-
callerSignal: args.signal,
|
|
35
|
-
fetchImpl: cfg.fetchImpl,
|
|
36
|
-
onRetry: cfg.onRetry,
|
|
37
|
-
});
|
|
38
|
-
if (!res.ok) {
|
|
39
|
-
throw (0, errors_1.errorFromResponse)(res.status, (0, http_1.parseBody)(res.text), { endpoint: res.endpoint, attempts: res.attempts });
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
return JSON.parse(res.text);
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
throw new errors_1.ZihinAgentError('protocol', 'Expected JSON response.', { endpoint: res.endpoint });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Provisiona um trigger de webhook ligado a um agente. Faça isto uma vez; depois dispare
|
|
50
|
-
* quantas vezes quiser com `dispatchAgent`.
|
|
51
|
-
*/
|
|
52
|
-
async function createTrigger(cfg, params) {
|
|
53
|
-
if (!params.agentId)
|
|
54
|
-
throw new errors_1.ZihinAgentError('config', 'agentId is required.');
|
|
55
|
-
if (!params.name)
|
|
56
|
-
throw new errors_1.ZihinAgentError('config', 'name is required.');
|
|
57
|
-
const mode = params.mode ?? 'async';
|
|
58
|
-
if (mode === 'async' && !params.callbackUrl) {
|
|
59
|
-
throw new errors_1.ZihinAgentError('config', 'callbackUrl is required for async triggers.');
|
|
60
|
-
}
|
|
61
|
-
// S3: valida a callbackUrl (HTTPS + sem IP privado) antes de registrá-la no BE.
|
|
62
|
-
if (params.callbackUrl) {
|
|
63
|
-
const cb = (0, security_1.validateBaseUrl)(params.callbackUrl, { allowCustomDomains: true });
|
|
64
|
-
if (!cb.valid) {
|
|
65
|
-
throw new errors_1.ZihinAgentError('config', `Invalid callbackUrl: ${cb.error}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
const execution = { mode };
|
|
69
|
-
if (params.callbackUrl) {
|
|
70
|
-
execution.callback = {
|
|
71
|
-
url: params.callbackUrl,
|
|
72
|
-
method: params.callbackMethod ?? 'POST',
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
const body = {
|
|
76
|
-
agent_id: params.agentId,
|
|
77
|
-
name: params.name,
|
|
78
|
-
trigger_type: 'webhook',
|
|
79
|
-
trigger_config: {
|
|
80
|
-
query_extraction: { mode: 'field', field: params.queryField ?? 'message' },
|
|
81
|
-
auth: { type: params.dispatchAuth ?? 'api_key' },
|
|
82
|
-
execution,
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
const json = (0, internal_1.rec)(await requestJson(cfg, { method: 'POST', path: '/api/triggers', body, policy: 'side-effecting', signal: params.signal }));
|
|
86
|
-
const data = (0, internal_1.rec)(json.data);
|
|
87
|
-
const triggerId = (0, internal_1.str)(data.id) ?? (0, internal_1.str)(json.id);
|
|
88
|
-
const webhookUrl = (0, internal_1.str)(json.webhook_url) ?? (triggerId ? `${cfg.baseUrl}/api/triggers/webhook/${triggerId}` : undefined);
|
|
89
|
-
if (!triggerId || !webhookUrl) {
|
|
90
|
-
throw new errors_1.ZihinAgentError('protocol', 'createTrigger: missing trigger id / webhook url in response.');
|
|
91
|
-
}
|
|
92
|
-
return { triggerId, webhookUrl };
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Dispara um trigger. Em modo async retorna `{ accepted, executionId }` (202);
|
|
96
|
-
* em modo sync retorna também `{ agentResponse, usage }` (200).
|
|
97
|
-
*/
|
|
98
|
-
async function dispatchAgent(cfg, params) {
|
|
99
|
-
if (!params.triggerId)
|
|
100
|
-
throw new errors_1.ZihinAgentError('config', 'triggerId is required.');
|
|
101
|
-
const res = await (0, http_1.requestBuffered)({
|
|
102
|
-
method: 'POST',
|
|
103
|
-
url: `${cfg.baseUrl}/api/triggers/webhook/${encodeURIComponent(params.triggerId)}`,
|
|
104
|
-
headers: (0, http_1.buildHeaders)(cfg.apiKey),
|
|
105
|
-
body: JSON.stringify(params.payload ?? {}),
|
|
106
|
-
timeoutMs: cfg.timeoutMs,
|
|
107
|
-
maxRetries: cfg.maxRetries,
|
|
108
|
-
policy: 'side-effecting', // S1: nunca duplica disparo por erro de rede
|
|
109
|
-
callerSignal: params.signal,
|
|
110
|
-
fetchImpl: cfg.fetchImpl,
|
|
111
|
-
onRetry: cfg.onRetry,
|
|
112
|
-
});
|
|
113
|
-
if (!res.ok) {
|
|
114
|
-
throw (0, errors_1.errorFromResponse)(res.status, (0, http_1.parseBody)(res.text), { endpoint: res.endpoint, attempts: res.attempts });
|
|
115
|
-
}
|
|
116
|
-
const json = (0, http_1.parseBody)(res.text);
|
|
117
|
-
const j = (0, internal_1.rec)(json);
|
|
118
|
-
return {
|
|
119
|
-
accepted: true,
|
|
120
|
-
triggerId: (0, internal_1.str)(j.trigger_id) ?? params.triggerId,
|
|
121
|
-
executionId: (0, internal_1.str)(j.execution_id),
|
|
122
|
-
agentResponse: (0, internal_1.str)(j.agent_response),
|
|
123
|
-
usage: (0, internal_1.parseUsage)(j.usage),
|
|
124
|
-
raw: json,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
function webhookUrlFor(cfg, t) {
|
|
128
|
-
if ((0, internal_1.str)(t.webhook_url))
|
|
129
|
-
return (0, internal_1.str)(t.webhook_url);
|
|
130
|
-
const id = (0, internal_1.str)(t.id);
|
|
131
|
-
return t.trigger_type === 'webhook' && id ? `${cfg.baseUrl}/api/triggers/webhook/${id}` : undefined;
|
|
132
|
-
}
|
|
133
|
-
function mapTriggerInfo(cfg, raw) {
|
|
134
|
-
const t = (0, internal_1.rec)(raw);
|
|
135
|
-
return {
|
|
136
|
-
id: (0, internal_1.str)(t.id) ?? '',
|
|
137
|
-
agentId: (0, internal_1.str)(t.agent_id),
|
|
138
|
-
name: (0, internal_1.str)(t.name),
|
|
139
|
-
description: (0, internal_1.str)(t.description),
|
|
140
|
-
triggerType: (0, internal_1.str)(t.trigger_type),
|
|
141
|
-
enabled: typeof t.enabled === 'boolean' ? t.enabled : undefined,
|
|
142
|
-
triggerCount: (0, internal_1.num)(t.trigger_count),
|
|
143
|
-
lastError: (0, internal_1.str)(t.last_error),
|
|
144
|
-
webhookUrl: webhookUrlFor(cfg, t),
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
/** Lista os triggers do tenant (opcionalmente filtrando por agente/tipo/habilitados). */
|
|
148
|
-
async function listTriggers(cfg, params = {}) {
|
|
149
|
-
const qs = new URLSearchParams();
|
|
150
|
-
if (params.agentId)
|
|
151
|
-
qs.set('agentId', params.agentId);
|
|
152
|
-
if (params.triggerType)
|
|
153
|
-
qs.set('triggerType', params.triggerType);
|
|
154
|
-
if (params.enabledOnly)
|
|
155
|
-
qs.set('enabledOnly', 'true');
|
|
156
|
-
const query = qs.toString();
|
|
157
|
-
const path = `/api/triggers${query ? `?${query}` : ''}`;
|
|
158
|
-
const json = await requestJson(cfg, { method: 'GET', path, policy: 'idempotent', signal: params.signal });
|
|
159
|
-
const list = Array.isArray(json) ? json : Array.isArray((0, internal_1.rec)(json).data) ? (0, internal_1.rec)(json).data : [];
|
|
160
|
-
return list.map((t) => mapTriggerInfo(cfg, t));
|
|
161
|
-
}
|
|
162
|
-
/** Obtém um trigger pelo id (inclui webhookUrl para webhooks). */
|
|
163
|
-
async function getTrigger(cfg, params) {
|
|
164
|
-
if (!params.triggerId)
|
|
165
|
-
throw new errors_1.ZihinAgentError('config', 'triggerId is required.');
|
|
166
|
-
const json = await requestJson(cfg, {
|
|
167
|
-
method: 'GET',
|
|
168
|
-
path: `/api/triggers/${encodeURIComponent(params.triggerId)}`,
|
|
169
|
-
policy: 'idempotent',
|
|
170
|
-
signal: params.signal,
|
|
171
|
-
});
|
|
172
|
-
return mapTriggerInfo(cfg, (0, internal_1.rec)(json).data ?? json);
|
|
173
|
-
}
|
|
174
|
-
/** Remove um trigger. Requer key role admin/owner (editor NÃO pode deletar → 403). */
|
|
175
|
-
async function deleteTrigger(cfg, params) {
|
|
176
|
-
if (!params.triggerId)
|
|
177
|
-
throw new errors_1.ZihinAgentError('config', 'triggerId is required.');
|
|
178
|
-
const res = await (0, http_1.requestBuffered)({
|
|
179
|
-
method: 'DELETE',
|
|
180
|
-
url: `${cfg.baseUrl}/api/triggers/${encodeURIComponent(params.triggerId)}`,
|
|
181
|
-
headers: (0, http_1.buildHeaders)(cfg.apiKey),
|
|
182
|
-
timeoutMs: cfg.timeoutMs,
|
|
183
|
-
maxRetries: cfg.maxRetries,
|
|
184
|
-
policy: 'idempotent', // DELETE é idempotente
|
|
185
|
-
callerSignal: params.signal,
|
|
186
|
-
fetchImpl: cfg.fetchImpl,
|
|
187
|
-
onRetry: cfg.onRetry,
|
|
188
|
-
});
|
|
189
|
-
if (!res.ok) {
|
|
190
|
-
throw (0, errors_1.errorFromResponse)(res.status, (0, http_1.parseBody)(res.text), { endpoint: res.endpoint, attempts: res.attempts });
|
|
191
|
-
}
|
|
192
|
-
const j = (0, internal_1.rec)((0, http_1.parseBody)(res.text));
|
|
193
|
-
return { deleted: j.deleted === true || res.status === 200 };
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Reaproveita um trigger existente do mesmo agente+nome, ou cria um novo. Evita o footgun de
|
|
197
|
-
* duplicação (o BE não tem unicidade de nome). Retorna `created: false` se reusou.
|
|
198
|
-
*
|
|
199
|
-
* Nota: se um trigger com o mesmo nome já existe mas com config diferente (ex.: outra callbackUrl),
|
|
200
|
-
* ele é REAPROVEITADO como está — atualize explicitamente com o BE se precisar reconciliar.
|
|
201
|
-
*/
|
|
202
|
-
async function findOrCreateTrigger(cfg, params) {
|
|
203
|
-
if (!params.agentId)
|
|
204
|
-
throw new errors_1.ZihinAgentError('config', 'agentId is required.');
|
|
205
|
-
if (!params.name)
|
|
206
|
-
throw new errors_1.ZihinAgentError('config', 'name is required.');
|
|
207
|
-
const existing = await listTriggers(cfg, { agentId: params.agentId, signal: params.signal });
|
|
208
|
-
const match = existing.find((t) => t.name === params.name);
|
|
209
|
-
if (match && match.id) {
|
|
210
|
-
const webhookUrl = match.webhookUrl ?? `${cfg.baseUrl}/api/triggers/webhook/${match.id}`;
|
|
211
|
-
return { triggerId: match.id, webhookUrl, created: false };
|
|
212
|
-
}
|
|
213
|
-
const ref = await createTrigger(cfg, params);
|
|
214
|
-
return { ...ref, created: true };
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Consulta o status/resultado de uma execução disparada por trigger.
|
|
218
|
-
* Útil para polling no modo async (alternativa ao callback).
|
|
219
|
-
*/
|
|
220
|
-
async function getExecution(cfg, params) {
|
|
221
|
-
if (!params.triggerId || !params.executionId) {
|
|
222
|
-
throw new errors_1.ZihinAgentError('config', 'triggerId and executionId are required.');
|
|
223
|
-
}
|
|
224
|
-
const path = `/api/triggers/${encodeURIComponent(params.triggerId)}/executions/${encodeURIComponent(params.executionId)}`;
|
|
225
|
-
const json = (0, internal_1.rec)(await requestJson(cfg, { method: 'GET', path, policy: 'idempotent', signal: params.signal }));
|
|
226
|
-
// O BE aninha sob o envelope `data`: { success, data: { execution, metrics } }.
|
|
227
|
-
const data = (0, internal_1.rec)(json.data);
|
|
228
|
-
const exec = (0, internal_1.rec)(data.execution ?? json.execution);
|
|
229
|
-
const metrics = (0, internal_1.rec)(data.metrics ?? json.metrics);
|
|
230
|
-
return {
|
|
231
|
-
executionId: (0, internal_1.str)(exec.id) ?? params.executionId,
|
|
232
|
-
status: (0, internal_1.str)(exec.status) ?? 'unknown',
|
|
233
|
-
startedAt: (0, internal_1.str)(exec.started_at),
|
|
234
|
-
finishedAt: (0, internal_1.str)(exec.finished_at),
|
|
235
|
-
executionTimeMs: (0, internal_1.num)(exec.execution_time_ms),
|
|
236
|
-
usage: (0, internal_1.parseUsage)(metrics.usage ?? metrics) ?? (0, internal_1.parseUsage)(exec.usage),
|
|
237
|
-
result: (0, internal_1.str)(exec.agent_response) ?? (0, internal_1.str)(exec.result),
|
|
238
|
-
raw: json,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=triggers.js.map
|
package/dist/triggers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tipos do contrato externo Zihin — fonte de verdade verificada contra o BE
|
|
3
|
-
* (zihin-agent-builder/server-llm, 2026-06-28).
|
|
4
|
-
*
|
|
5
|
-
* @module types
|
|
6
|
-
*/
|
|
7
|
-
import type { ZihinAgentError } from './errors';
|
|
8
|
-
export interface ZihinClientConfig {
|
|
9
|
-
/** API key `zhn_live_*` (tenant embutido). Para triggers/telemetria use role admin/editor. */
|
|
10
|
-
apiKey: string;
|
|
11
|
-
/** Base URL. Default: https://llm.zihin.ai */
|
|
12
|
-
baseUrl?: string;
|
|
13
|
-
/** Timeout por request (ms). Default: 120000 (= limite do /stream no BE). */
|
|
14
|
-
timeoutMs?: number;
|
|
15
|
-
/** Máximo de retentativas em 5xx/429/erro de rede. Default: 2. */
|
|
16
|
-
maxRetries?: number;
|
|
17
|
-
/** Permite base URL fora da whitelist Zihin (default false → SSRF guard). */
|
|
18
|
-
allowCustomBaseUrl?: boolean;
|
|
19
|
-
/** Permite http:// (apenas dev/local). Default false. */
|
|
20
|
-
allowHttp?: boolean;
|
|
21
|
-
/** Teto de bytes por evento/linha SSE (anti-DoS de memória). Default: 1MB. */
|
|
22
|
-
maxStreamEventBytes?: number;
|
|
23
|
-
/** Teto de bytes do stream inteiro (anti-DoS de memória). Default: 64MB. */
|
|
24
|
-
maxStreamTotalBytes?: number;
|
|
25
|
-
/**
|
|
26
|
-
* Implementação de `fetch` a usar. Default: `globalThis.fetch`. Injete em runtimes onde o
|
|
27
|
-
* fetch não é global (Node <18 com polyfill, testes, proxies).
|
|
28
|
-
*/
|
|
29
|
-
fetch?: typeof fetch;
|
|
30
|
-
/**
|
|
31
|
-
* Observabilidade (opt-in, sem console): chamado antes de cada retentativa.
|
|
32
|
-
* Para logar backoff/timeouts/falhas transitórias em produção externa.
|
|
33
|
-
*/
|
|
34
|
-
onRetry?: (info: RetryInfo) => void;
|
|
35
|
-
/** Observabilidade: chamado quando uma operação falha em definitivo (após retries). */
|
|
36
|
-
onError?: (error: ZihinAgentError) => void;
|
|
37
|
-
}
|
|
38
|
-
export interface RetryInfo {
|
|
39
|
-
/** "POST llm.zihin.ai/api/v2/agents/abc/stream". */
|
|
40
|
-
endpoint: string;
|
|
41
|
-
/** Número da tentativa que acabou de falhar (1 = primeira). */
|
|
42
|
-
attempt: number;
|
|
43
|
-
/** Atraso até a próxima tentativa, em ms. */
|
|
44
|
-
delayMs: number;
|
|
45
|
-
/** Motivo do retry. */
|
|
46
|
-
reason: 'status' | 'network';
|
|
47
|
-
/** Status HTTP, quando `reason === 'status'`. */
|
|
48
|
-
status?: number;
|
|
49
|
-
}
|
|
50
|
-
export type AttachmentType = 'image' | 'audio' | 'document';
|
|
51
|
-
export interface Attachment {
|
|
52
|
-
url: string;
|
|
53
|
-
type: AttachmentType;
|
|
54
|
-
}
|
|
55
|
-
export interface InvokeOptions {
|
|
56
|
-
temperature?: number;
|
|
57
|
-
maxTokens?: number;
|
|
58
|
-
/** Timeout específico desta chamada (ms); sobrepõe o do cliente. */
|
|
59
|
-
timeoutMs?: number;
|
|
60
|
-
/** Just-in-time tool loading (Sprint 33). */
|
|
61
|
-
jitMode?: boolean;
|
|
62
|
-
}
|
|
63
|
-
export interface InvokeAgentParams {
|
|
64
|
-
/** UUID do agente (path :agent_id). */
|
|
65
|
-
agentId: string;
|
|
66
|
-
/** Mensagem ao agente. `message` OU `attachments` é obrigatório. */
|
|
67
|
-
message?: string;
|
|
68
|
-
/** Anexos multimodais. `message` OU `attachments` é obrigatório. */
|
|
69
|
-
attachments?: Attachment[];
|
|
70
|
-
/** Continuidade de conversa (Supabase agent_sessions). */
|
|
71
|
-
sessionId?: string;
|
|
72
|
-
options?: InvokeOptions;
|
|
73
|
-
metadata?: {
|
|
74
|
-
traceId?: string;
|
|
75
|
-
correlationId?: string;
|
|
76
|
-
[k: string]: unknown;
|
|
77
|
-
};
|
|
78
|
-
/** Cancelamento externo. */
|
|
79
|
-
signal?: AbortSignal;
|
|
80
|
-
/**
|
|
81
|
-
* Retém todos os eventos SSE brutos em `AgentResult.raw`. Default: false (economiza memória
|
|
82
|
-
* em runs longos). `streamAgent` sempre entrega os chunks ao vivo, independente disto.
|
|
83
|
-
*/
|
|
84
|
-
includeRaw?: boolean;
|
|
85
|
-
}
|
|
86
|
-
export interface Usage {
|
|
87
|
-
inputTokens?: number;
|
|
88
|
-
outputTokens?: number;
|
|
89
|
-
totalTokens?: number;
|
|
90
|
-
costUsd?: number;
|
|
91
|
-
}
|
|
92
|
-
export interface Source {
|
|
93
|
-
title?: string;
|
|
94
|
-
url?: string;
|
|
95
|
-
[k: string]: unknown;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Resultado final de `invokeAgent`: consolida o evento SSE `response`
|
|
99
|
-
* (content/sources/session_id/blocks) com o evento `metrics` (usage/model).
|
|
100
|
-
*/
|
|
101
|
-
export interface AgentResult {
|
|
102
|
-
content: string;
|
|
103
|
-
sessionId?: string;
|
|
104
|
-
model?: string;
|
|
105
|
-
usage?: Usage;
|
|
106
|
-
sources?: Source[];
|
|
107
|
-
/** Cards/blocos estruturados (SPEC B). */
|
|
108
|
-
blocks?: Array<{
|
|
109
|
-
type: string;
|
|
110
|
-
[k: string]: unknown;
|
|
111
|
-
}>;
|
|
112
|
-
iterations?: number;
|
|
113
|
-
executionTimeMs?: number;
|
|
114
|
-
/** Eventos SSE brutos coletados (para depuração / casos avançados). */
|
|
115
|
-
raw: AgentStreamChunk[];
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Chunk normalizado emitido por `streamAgent`. Mapeia os tipos de evento SSE do BE:
|
|
119
|
-
* metadata, status, attachments, phase, thinking, tool, action_proposed, token,
|
|
120
|
-
* warning, response, metrics.
|
|
121
|
-
*/
|
|
122
|
-
export type AgentStreamChunk = {
|
|
123
|
-
type: 'metadata';
|
|
124
|
-
requestId?: string;
|
|
125
|
-
agentId?: string;
|
|
126
|
-
sessionId?: string;
|
|
127
|
-
data: unknown;
|
|
128
|
-
} | {
|
|
129
|
-
type: 'status';
|
|
130
|
-
phase?: string;
|
|
131
|
-
data: unknown;
|
|
132
|
-
} | {
|
|
133
|
-
type: 'attachments';
|
|
134
|
-
data: unknown;
|
|
135
|
-
} | {
|
|
136
|
-
type: 'phase';
|
|
137
|
-
phase?: string;
|
|
138
|
-
data: unknown;
|
|
139
|
-
} | {
|
|
140
|
-
type: 'thinking';
|
|
141
|
-
thought?: string;
|
|
142
|
-
data: unknown;
|
|
143
|
-
} | {
|
|
144
|
-
type: 'tool';
|
|
145
|
-
tool?: string;
|
|
146
|
-
callId?: string;
|
|
147
|
-
success?: boolean;
|
|
148
|
-
data: unknown;
|
|
149
|
-
} | {
|
|
150
|
-
type: 'action_proposed';
|
|
151
|
-
data: unknown;
|
|
152
|
-
} | {
|
|
153
|
-
type: 'token';
|
|
154
|
-
content: string;
|
|
155
|
-
data: unknown;
|
|
156
|
-
} | {
|
|
157
|
-
type: 'warning';
|
|
158
|
-
message?: string;
|
|
159
|
-
data: unknown;
|
|
160
|
-
} | {
|
|
161
|
-
type: 'response';
|
|
162
|
-
content: string;
|
|
163
|
-
sessionId?: string;
|
|
164
|
-
sources?: Source[];
|
|
165
|
-
blocks?: Array<{
|
|
166
|
-
type: string;
|
|
167
|
-
[k: string]: unknown;
|
|
168
|
-
}>;
|
|
169
|
-
data: unknown;
|
|
170
|
-
} | {
|
|
171
|
-
type: 'metrics';
|
|
172
|
-
usage?: Usage;
|
|
173
|
-
model?: string;
|
|
174
|
-
iterations?: number;
|
|
175
|
-
executionTimeMs?: number;
|
|
176
|
-
data: unknown;
|
|
177
|
-
} | {
|
|
178
|
-
type: 'unknown';
|
|
179
|
-
event: string;
|
|
180
|
-
data: unknown;
|
|
181
|
-
};
|
|
182
|
-
export type TriggerMode = 'sync' | 'async';
|
|
183
|
-
export interface CreateTriggerParams {
|
|
184
|
-
agentId: string;
|
|
185
|
-
/** Nome legível do trigger. */
|
|
186
|
-
name: string;
|
|
187
|
-
/** `async` → 202 + callback; `sync` → 200 + JSON na hora. Default: async. */
|
|
188
|
-
mode?: TriggerMode;
|
|
189
|
-
/** URL que o BE chama com o resultado (obrigatório no modo async). */
|
|
190
|
-
callbackUrl?: string;
|
|
191
|
-
/** Método HTTP do callback. Default: POST. */
|
|
192
|
-
callbackMethod?: 'POST' | 'PUT';
|
|
193
|
-
/** Campo do payload de disparo de onde sai a mensagem do agente. Default: "message". */
|
|
194
|
-
queryField?: string;
|
|
195
|
-
/** Auth de disparo aceita. Default: api_key. */
|
|
196
|
-
dispatchAuth?: 'api_key' | 'signature' | 'none';
|
|
197
|
-
signal?: AbortSignal;
|
|
198
|
-
}
|
|
199
|
-
export interface TriggerRef {
|
|
200
|
-
triggerId: string;
|
|
201
|
-
/** URL completa de disparo: POST {webhookUrl}. */
|
|
202
|
-
webhookUrl: string;
|
|
203
|
-
}
|
|
204
|
-
/** Resultado de findOrCreateTrigger: o ref + se foi recém-criado ou reaproveitado. */
|
|
205
|
-
export interface FindOrCreateResult extends TriggerRef {
|
|
206
|
-
created: boolean;
|
|
207
|
-
}
|
|
208
|
-
/** Trigger como listado/obtido do BE. */
|
|
209
|
-
export interface TriggerInfo {
|
|
210
|
-
id: string;
|
|
211
|
-
agentId?: string;
|
|
212
|
-
name?: string;
|
|
213
|
-
description?: string;
|
|
214
|
-
triggerType?: string;
|
|
215
|
-
enabled?: boolean;
|
|
216
|
-
triggerCount?: number;
|
|
217
|
-
lastError?: string;
|
|
218
|
-
/** Presente para triggers do tipo webhook. */
|
|
219
|
-
webhookUrl?: string;
|
|
220
|
-
}
|
|
221
|
-
export interface ListTriggersParams {
|
|
222
|
-
/** Filtra por agente. */
|
|
223
|
-
agentId?: string;
|
|
224
|
-
/** Filtra por tipo (webhook | db_event | email | schedule). */
|
|
225
|
-
triggerType?: string;
|
|
226
|
-
/** Apenas habilitados. */
|
|
227
|
-
enabledOnly?: boolean;
|
|
228
|
-
signal?: AbortSignal;
|
|
229
|
-
}
|
|
230
|
-
export interface GetTriggerParams {
|
|
231
|
-
triggerId: string;
|
|
232
|
-
signal?: AbortSignal;
|
|
233
|
-
}
|
|
234
|
-
export interface DeleteTriggerParams {
|
|
235
|
-
triggerId: string;
|
|
236
|
-
signal?: AbortSignal;
|
|
237
|
-
}
|
|
238
|
-
export interface DispatchAgentParams {
|
|
239
|
-
triggerId: string;
|
|
240
|
-
/** Payload entregue ao trigger (a mensagem sai do `queryField` configurado). */
|
|
241
|
-
payload: Record<string, unknown>;
|
|
242
|
-
signal?: AbortSignal;
|
|
243
|
-
}
|
|
244
|
-
export interface DispatchResult {
|
|
245
|
-
/** true quando o BE retorna 202 (async) ou 200 (sync). */
|
|
246
|
-
accepted: boolean;
|
|
247
|
-
triggerId?: string;
|
|
248
|
-
executionId?: string;
|
|
249
|
-
/** Presente quando o trigger é `sync`: resposta imediata do agente. */
|
|
250
|
-
agentResponse?: string;
|
|
251
|
-
usage?: Usage;
|
|
252
|
-
raw: unknown;
|
|
253
|
-
}
|
|
254
|
-
export interface ExecutionStatus {
|
|
255
|
-
executionId: string;
|
|
256
|
-
status: string;
|
|
257
|
-
startedAt?: string;
|
|
258
|
-
finishedAt?: string;
|
|
259
|
-
executionTimeMs?: number;
|
|
260
|
-
usage?: Usage;
|
|
261
|
-
result?: string;
|
|
262
|
-
raw: unknown;
|
|
263
|
-
}
|
|
264
|
-
export interface GetExecutionParams {
|
|
265
|
-
triggerId: string;
|
|
266
|
-
executionId: string;
|
|
267
|
-
signal?: AbortSignal;
|
|
268
|
-
}
|
package/dist/types.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Tipos do contrato externo Zihin — fonte de verdade verificada contra o BE
|
|
4
|
-
* (zihin-agent-builder/server-llm, 2026-06-28).
|
|
5
|
-
*
|
|
6
|
-
* @module types
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|