@tenet-ai/sdk 0.1.2 → 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.
- package/README.md +111 -21
- package/dist/client.d.ts +43 -9
- package/dist/client.js +164 -60
- package/dist/client.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ When your AI agent approves a $10,000 refund or denies a loan application, can y
|
|
|
15
15
|
- **Would it decide the same way** if we ran it again?
|
|
16
16
|
- **Who overrode** the agent's recommendation?
|
|
17
17
|
|
|
18
|
-
Tenet AI captures every decision your agent makes with full context, enabling **audit trails**, **replay verification**, and **
|
|
18
|
+
Tenet AI captures every decision your agent makes with full context, enabling **audit trails**, **replay verification**, **drift detection**, and **guardrails enforcement**.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -61,21 +61,21 @@ import { Tenet, ResultType, ActorType } from "@tenet-ai/sdk";
|
|
|
61
61
|
|
|
62
62
|
const tenet = new Tenet({ apiKey: "tnt_your_key" });
|
|
63
63
|
|
|
64
|
-
// 1. Create an intent
|
|
65
|
-
const intent =
|
|
64
|
+
// 1. Create an intent (fire-and-forget, returns immediately)
|
|
65
|
+
const intent = tenet.createIntent({
|
|
66
66
|
goal: "Process refund request",
|
|
67
67
|
agentId: "support-agent",
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
// 2. Capture what the agent saw
|
|
71
|
-
|
|
71
|
+
intent.snapshotContext({
|
|
72
72
|
customer_tier: "gold",
|
|
73
73
|
order_amount: 149.99,
|
|
74
74
|
days_since_delivery: 5,
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
// 3. Record the decision with options considered
|
|
78
|
-
|
|
78
|
+
intent.decide({
|
|
79
79
|
options: [
|
|
80
80
|
{ action: "approve_refund", score: 0.95, reason: "Gold customer, within policy" },
|
|
81
81
|
{ action: "deny_refund", score: 0.05, reason: "N/A" },
|
|
@@ -86,11 +86,14 @@ await intent.decide({
|
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
// 4. Record execution
|
|
89
|
-
const executionId =
|
|
89
|
+
const executionId = intent.execute({
|
|
90
90
|
action: "approve_refund",
|
|
91
91
|
target: { order_id: "ORD-123" },
|
|
92
92
|
result: ResultType.SUCCESS,
|
|
93
93
|
});
|
|
94
|
+
|
|
95
|
+
// In tests: wait for all writes to land
|
|
96
|
+
await tenet.flush();
|
|
94
97
|
```
|
|
95
98
|
|
|
96
99
|
---
|
|
@@ -102,14 +105,14 @@ const executionId = await intent.execute({
|
|
|
102
105
|
Store the prompt and re-run decisions to verify consistency:
|
|
103
106
|
|
|
104
107
|
```ts
|
|
105
|
-
const intent =
|
|
108
|
+
const intent = tenet.createIntent({
|
|
106
109
|
goal: "Handle support ticket",
|
|
107
110
|
agentId: "support-agent",
|
|
108
111
|
});
|
|
109
112
|
|
|
110
|
-
|
|
113
|
+
intent.snapshotContext({ ticket_id: "T-123", priority: "high" });
|
|
111
114
|
|
|
112
|
-
|
|
115
|
+
intent.decide({
|
|
113
116
|
options: [{ action: "escalate", score: 0.9 }],
|
|
114
117
|
chosenAction: "escalate",
|
|
115
118
|
confidence: 0.9,
|
|
@@ -118,12 +121,15 @@ await intent.decide({
|
|
|
118
121
|
replayConfig: { model: "gpt-4o-mini", temperature: 0.0 },
|
|
119
122
|
});
|
|
120
123
|
|
|
121
|
-
const execId =
|
|
124
|
+
const execId = intent.execute({
|
|
122
125
|
action: "escalate",
|
|
123
126
|
target: { ticket_id: "T-123" },
|
|
124
127
|
result: ResultType.SUCCESS,
|
|
125
128
|
});
|
|
126
129
|
|
|
130
|
+
// Flush writes before reading back
|
|
131
|
+
await tenet.flush();
|
|
132
|
+
|
|
127
133
|
// Later: verify the decision is still consistent
|
|
128
134
|
const replay = await tenet.replay({ executionId: execId });
|
|
129
135
|
|
|
@@ -138,40 +144,40 @@ if (replay.diverged) {
|
|
|
138
144
|
Track complex workflows with multiple agents or MCP tool calls:
|
|
139
145
|
|
|
140
146
|
```ts
|
|
141
|
-
const parent =
|
|
147
|
+
const parent = tenet.createIntent({
|
|
142
148
|
goal: "Process customer request",
|
|
143
149
|
agentId: "orchestrator",
|
|
144
150
|
});
|
|
145
151
|
|
|
146
|
-
|
|
152
|
+
parent.snapshotContext({ request: "refund for order 123" });
|
|
147
153
|
|
|
148
154
|
// Spawn child intent for sub-agent
|
|
149
|
-
const child =
|
|
155
|
+
const child = parent.childIntent({
|
|
150
156
|
goal: "Search order history",
|
|
151
157
|
mcpServer: "database",
|
|
152
158
|
});
|
|
153
159
|
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
child.snapshotContext({ query: "order 123" });
|
|
161
|
+
child.decide({
|
|
156
162
|
options: [{ action: "query_db", score: 1.0 }],
|
|
157
163
|
chosenAction: "query_db",
|
|
158
164
|
confidence: 1.0,
|
|
159
165
|
});
|
|
160
|
-
|
|
166
|
+
child.execute({
|
|
161
167
|
action: "query_db",
|
|
162
168
|
target: { order_id: "123" },
|
|
163
169
|
result: ResultType.SUCCESS,
|
|
164
170
|
});
|
|
165
171
|
|
|
166
172
|
// Parent continues with child's result
|
|
167
|
-
|
|
173
|
+
parent.decide({
|
|
168
174
|
options: [
|
|
169
175
|
{ action: "approve_refund", score: 0.9, reason: "Order found, within policy" },
|
|
170
176
|
],
|
|
171
177
|
chosenAction: "approve_refund",
|
|
172
178
|
confidence: 0.9,
|
|
173
179
|
});
|
|
174
|
-
|
|
180
|
+
parent.execute({
|
|
175
181
|
action: "approve_refund",
|
|
176
182
|
target: { order_id: "123" },
|
|
177
183
|
result: ResultType.SUCCESS,
|
|
@@ -183,7 +189,7 @@ await parent.execute({
|
|
|
183
189
|
When humans override agent decisions:
|
|
184
190
|
|
|
185
191
|
```ts
|
|
186
|
-
|
|
192
|
+
intent.execute({
|
|
187
193
|
action: "deny_refund", // Human chose differently
|
|
188
194
|
target: { order_id: "123" },
|
|
189
195
|
result: ResultType.SUCCESS,
|
|
@@ -192,6 +198,75 @@ await intent.execute({
|
|
|
192
198
|
});
|
|
193
199
|
```
|
|
194
200
|
|
|
201
|
+
### Guardrails — Block, Warn, or Log Agent Actions
|
|
202
|
+
|
|
203
|
+
Define rules that are evaluated server-side before decisions are recorded. Rules with `block` enforcement reject the decision with HTTP 403.
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
// Create a guardrail rule via the API
|
|
207
|
+
const response = await fetch(`${endpoint}/api/v1/guardrails`, {
|
|
208
|
+
method: "POST",
|
|
209
|
+
headers: { "X-API-Key": apiKey, "Content-Type": "application/json" },
|
|
210
|
+
body: JSON.stringify({
|
|
211
|
+
name: "Block dangerous actions",
|
|
212
|
+
rule_type: "action_blocklist",
|
|
213
|
+
enforcement_level: "block",
|
|
214
|
+
rule_config: { blocked_actions: ["delete_account", "drop_table"] },
|
|
215
|
+
}),
|
|
216
|
+
});
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Supported rule types:
|
|
220
|
+
- `action_allowlist` — only allow specific actions
|
|
221
|
+
- `action_blocklist` — block specific actions
|
|
222
|
+
- `confidence_threshold` — require minimum confidence
|
|
223
|
+
- `context_field_check` — check a context input field (e.g. amount > 10000)
|
|
224
|
+
- `regex_match` — regex on action or field
|
|
225
|
+
- `json_path_check` — dot-path check into context
|
|
226
|
+
- `value_range` — min/max range on any numeric field
|
|
227
|
+
|
|
228
|
+
Enforcement levels: `block` (reject with 403), `warn` (flag but allow), `log` (silent record).
|
|
229
|
+
|
|
230
|
+
### Ghost SDK — Zero-Impact Observability
|
|
231
|
+
|
|
232
|
+
All write operations (intent, context, decision, execution) generate UUIDs client-side and fire-and-forget via background promises. Your agent never waits for Tenet.
|
|
233
|
+
|
|
234
|
+
**The Ghost SDK Promise:**
|
|
235
|
+
- **Main-thread overhead: <5ms** per full decision lifecycle (4 writes)
|
|
236
|
+
- **Silent failure:** Network errors are caught silently — never thrown to your agent
|
|
237
|
+
- **Client-side UUIDs:** IDs are available immediately, no round-trip needed
|
|
238
|
+
- **100% uptime guarantee** for your primary process
|
|
239
|
+
|
|
240
|
+
```ts
|
|
241
|
+
import { Tenet } from '@tenet-ai/sdk';
|
|
242
|
+
|
|
243
|
+
// Ghost SDK is enabled by default
|
|
244
|
+
const tenet = new Tenet({ apiKey: 'tnt_your_key' });
|
|
245
|
+
|
|
246
|
+
// All write calls return immediately — no await needed
|
|
247
|
+
const intent = tenet.createIntent({
|
|
248
|
+
goal: 'Process refund',
|
|
249
|
+
agentId: 'support-agent',
|
|
250
|
+
});
|
|
251
|
+
intent.snapshotContext({ customer_tier: 'gold' });
|
|
252
|
+
intent.decide({ options: [...], chosenAction: 'approve', confidence: 0.95 });
|
|
253
|
+
intent.execute({ action: 'approve', target: { order: '123' }, result: ResultType.SUCCESS });
|
|
254
|
+
|
|
255
|
+
// In tests, await flush() to ensure writes have landed
|
|
256
|
+
await tenet.flush();
|
|
257
|
+
|
|
258
|
+
// For graceful shutdown
|
|
259
|
+
await tenet.shutdown();
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Configuration:**
|
|
263
|
+
|
|
264
|
+
| Parameter | Default | Description |
|
|
265
|
+
|-----------|---------|-------------|
|
|
266
|
+
| `asyncWrites` | `true` | Set to `false` for synchronous mode (legacy compat) |
|
|
267
|
+
| `onError` | `undefined` | Callback `(error, payload)` for observability |
|
|
268
|
+
| `maxRetries` | `3` | Retry count before silent drop |
|
|
269
|
+
|
|
195
270
|
---
|
|
196
271
|
|
|
197
272
|
## Framework Integrations
|
|
@@ -267,6 +342,8 @@ const tenet = new Tenet({
|
|
|
267
342
|
endpoint: "https://ael-backend.onrender.com", // Optional (default: production)
|
|
268
343
|
environment: "production", // Optional
|
|
269
344
|
timeout: 30000, // Optional (ms)
|
|
345
|
+
asyncWrites: true, // Optional (Ghost SDK, default: true)
|
|
346
|
+
onError: (err, payload) => console.error(err), // Optional
|
|
270
347
|
});
|
|
271
348
|
```
|
|
272
349
|
|
|
@@ -276,12 +353,14 @@ const tenet = new Tenet({
|
|
|
276
353
|
|--------|-------------|
|
|
277
354
|
| `tenet.trace({ agentId, fn, ... })` | Wrap a function call with automatic audit trail |
|
|
278
355
|
| `tenet.replay({ executionId })` | Replay a past decision and detect drift |
|
|
356
|
+
| `tenet.flush()` | Wait for all background writes to complete |
|
|
357
|
+
| `tenet.shutdown()` | Flush and clean up |
|
|
279
358
|
|
|
280
|
-
### Low-Level Methods
|
|
359
|
+
### Low-Level Methods (Synchronous — Fire-and-Forget)
|
|
281
360
|
|
|
282
361
|
| Method | Description |
|
|
283
362
|
|--------|-------------|
|
|
284
|
-
| `tenet.createIntent({ goal, agentId })` | Create an intent, returns `IntentHandle` |
|
|
363
|
+
| `tenet.createIntent({ goal, agentId })` | Create an intent, returns `IntentHandle` immediately |
|
|
285
364
|
| `intent.snapshotContext(inputs)` | Capture what the agent sees |
|
|
286
365
|
| `intent.decide({ options, chosenAction, confidence })` | Record a decision |
|
|
287
366
|
| `intent.execute({ action, target, result })` | Record execution |
|
|
@@ -300,6 +379,17 @@ const tenet = new Tenet({
|
|
|
300
379
|
| `tenet.getExecution(id)` | Get execution details |
|
|
301
380
|
| `tenet.getSessionTimeline(sessionId)` | Get full session timeline |
|
|
302
381
|
|
|
382
|
+
### Guardrail Endpoints
|
|
383
|
+
|
|
384
|
+
| Method | Description |
|
|
385
|
+
|--------|-------------|
|
|
386
|
+
| `POST /api/v1/guardrails` | Create a guardrail rule |
|
|
387
|
+
| `GET /api/v1/guardrails` | List guardrails (filter by `is_active`, `rule_type`) |
|
|
388
|
+
| `GET /api/v1/guardrails/{id}` | Get guardrail by ID |
|
|
389
|
+
| `PATCH /api/v1/guardrails/{id}` | Update a guardrail |
|
|
390
|
+
| `DELETE /api/v1/guardrails/{id}` | Delete a guardrail |
|
|
391
|
+
| `GET /api/v1/guardrails/{id}/evaluations` | List evaluation history |
|
|
392
|
+
|
|
303
393
|
### Advanced
|
|
304
394
|
|
|
305
395
|
| Method | Description |
|
package/dist/client.d.ts
CHANGED
|
@@ -7,6 +7,9 @@ declare class TenetError extends Error {
|
|
|
7
7
|
/**
|
|
8
8
|
* Handle for an in-progress intent. Provides methods to snapshot context,
|
|
9
9
|
* record decisions, and record executions.
|
|
10
|
+
*
|
|
11
|
+
* All write methods generate UUIDs client-side and fire-and-forget via
|
|
12
|
+
* the background queue (Ghost SDK). IDs are available immediately.
|
|
10
13
|
*/
|
|
11
14
|
declare class IntentHandle {
|
|
12
15
|
private client;
|
|
@@ -16,7 +19,7 @@ declare class IntentHandle {
|
|
|
16
19
|
decisionId?: string;
|
|
17
20
|
constructor(client: Tenet, intentId: string, sessionId: string);
|
|
18
21
|
/** Snapshot the context the agent sees at decision time. */
|
|
19
|
-
snapshotContext(inputs: Record<string, unknown>, externalVersions?: Record<string, string>):
|
|
22
|
+
snapshotContext(inputs: Record<string, unknown>, externalVersions?: Record<string, string>): string;
|
|
20
23
|
/** Record a decision made by the agent. */
|
|
21
24
|
decide(params: {
|
|
22
25
|
options: ActionOption[];
|
|
@@ -29,7 +32,7 @@ declare class IntentHandle {
|
|
|
29
32
|
metadata?: Record<string, unknown>;
|
|
30
33
|
replayPrompt?: string;
|
|
31
34
|
replayConfig?: ReplayConfig;
|
|
32
|
-
}):
|
|
35
|
+
}): string;
|
|
33
36
|
/** Record an execution — the actual action taken. */
|
|
34
37
|
execute(params: {
|
|
35
38
|
action: string;
|
|
@@ -40,7 +43,7 @@ declare class IntentHandle {
|
|
|
40
43
|
actor?: ActorType;
|
|
41
44
|
overrideReason?: string;
|
|
42
45
|
overriddenBy?: string;
|
|
43
|
-
}):
|
|
46
|
+
}): string;
|
|
44
47
|
/** Create a child intent linked to this one (for multi-agent/MCP). */
|
|
45
48
|
childIntent(params: {
|
|
46
49
|
goal: string;
|
|
@@ -49,7 +52,7 @@ declare class IntentHandle {
|
|
|
49
52
|
constraints?: string[];
|
|
50
53
|
mcpServer?: string;
|
|
51
54
|
toolName?: string;
|
|
52
|
-
}):
|
|
55
|
+
}): IntentHandle;
|
|
53
56
|
}
|
|
54
57
|
/**
|
|
55
58
|
* Tenet AI SDK client.
|
|
@@ -75,13 +78,41 @@ declare class Tenet {
|
|
|
75
78
|
private apiKey;
|
|
76
79
|
private environment;
|
|
77
80
|
private timeout;
|
|
81
|
+
private asyncWrites;
|
|
82
|
+
private maxRetries;
|
|
83
|
+
private onError?;
|
|
84
|
+
/** In-flight background write promises. */
|
|
85
|
+
private _pending;
|
|
78
86
|
constructor(config: TenetConfig);
|
|
79
87
|
private request;
|
|
80
88
|
private post;
|
|
81
89
|
private get;
|
|
90
|
+
/**
|
|
91
|
+
* Fire-and-forget POST for write operations.
|
|
92
|
+
* In async mode, the promise is tracked internally and errors are silently caught.
|
|
93
|
+
* In sync mode (asyncWrites=false), this is a no-op queuer — callers must
|
|
94
|
+
* still await the underlying post call themselves via postWriteSync.
|
|
95
|
+
*
|
|
96
|
+
* @internal — used by IntentHandle and createIntent.
|
|
97
|
+
*/
|
|
98
|
+
postWrite(path: string, body: Record<string, unknown>): void;
|
|
99
|
+
private _sendWithRetry;
|
|
100
|
+
/**
|
|
101
|
+
* Block until all queued background writes have completed (or failed).
|
|
102
|
+
* Use this in tests to ensure writes have landed before reading back.
|
|
103
|
+
*/
|
|
104
|
+
flush(): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Flush remaining writes. Equivalent to flush() for the JS SDK since
|
|
107
|
+
* there is no background thread to stop — just pending promises.
|
|
108
|
+
*/
|
|
109
|
+
shutdown(): Promise<void>;
|
|
82
110
|
/**
|
|
83
111
|
* Trace a function call, capturing the decision automatically.
|
|
84
112
|
*
|
|
113
|
+
* The function is still awaited (blocking), but all audit writes
|
|
114
|
+
* (intent, context, decision, execution) are fire-and-forget.
|
|
115
|
+
*
|
|
85
116
|
* ```ts
|
|
86
117
|
* const result = await tenet.trace({
|
|
87
118
|
* agentId: 'finance-bot-v1',
|
|
@@ -101,13 +132,16 @@ declare class Tenet {
|
|
|
101
132
|
* ```
|
|
102
133
|
*/
|
|
103
134
|
replay(params: ReplayParams): Promise<ReplayResult>;
|
|
104
|
-
/**
|
|
105
|
-
|
|
106
|
-
|
|
135
|
+
/**
|
|
136
|
+
* Create an intent and return a handle for chaining context/decision/execution.
|
|
137
|
+
* UUID is generated client-side; the write is fire-and-forget.
|
|
138
|
+
*/
|
|
139
|
+
createIntent(params: IntentCreateParams): IntentHandle;
|
|
140
|
+
/** @deprecated Use intent.snapshotContext() instead. Kept for backward compat. */
|
|
107
141
|
createContext(params: ContextCreateParams): Promise<ContextResponse>;
|
|
108
|
-
/**
|
|
142
|
+
/** @deprecated Use intent.decide() instead. Kept for backward compat. */
|
|
109
143
|
createDecision(params: DecisionCreateParams): Promise<DecisionResponse>;
|
|
110
|
-
/**
|
|
144
|
+
/** @deprecated Use intent.execute() instead. Kept for backward compat. */
|
|
111
145
|
createExecution(params: ExecutionCreateParams): Promise<ExecutionResponse>;
|
|
112
146
|
/** Get an intent by ID. */
|
|
113
147
|
getIntent(intentId: string): Promise<IntentResponse>;
|
package/dist/client.js
CHANGED
|
@@ -17,6 +17,9 @@ exports.TenetError = TenetError;
|
|
|
17
17
|
/**
|
|
18
18
|
* Handle for an in-progress intent. Provides methods to snapshot context,
|
|
19
19
|
* record decisions, and record executions.
|
|
20
|
+
*
|
|
21
|
+
* All write methods generate UUIDs client-side and fire-and-forget via
|
|
22
|
+
* the background queue (Ghost SDK). IDs are available immediately.
|
|
20
23
|
*/
|
|
21
24
|
class IntentHandle {
|
|
22
25
|
client;
|
|
@@ -30,57 +33,76 @@ class IntentHandle {
|
|
|
30
33
|
this.sessionId = sessionId;
|
|
31
34
|
}
|
|
32
35
|
/** Snapshot the context the agent sees at decision time. */
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
+
snapshotContext(inputs, externalVersions) {
|
|
37
|
+
const contextId = (0, crypto_1.randomUUID)();
|
|
38
|
+
this.client.postWrite("/contexts", {
|
|
39
|
+
id: contextId,
|
|
40
|
+
intent_id: this.intentId,
|
|
36
41
|
inputs,
|
|
37
|
-
externalVersions,
|
|
42
|
+
external_versions: externalVersions ?? {},
|
|
38
43
|
});
|
|
39
|
-
this.contextId =
|
|
44
|
+
this.contextId = contextId;
|
|
40
45
|
return this.contextId;
|
|
41
46
|
}
|
|
42
47
|
/** Record a decision made by the agent. */
|
|
43
|
-
|
|
48
|
+
decide(params) {
|
|
44
49
|
if (!this.contextId) {
|
|
45
50
|
throw new Error("Must call snapshotContext before decide");
|
|
46
51
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
const decisionId = (0, crypto_1.randomUUID)();
|
|
53
|
+
const body = {
|
|
54
|
+
id: decisionId,
|
|
55
|
+
intent_id: this.intentId,
|
|
56
|
+
context_id: this.contextId,
|
|
50
57
|
options: params.options,
|
|
51
|
-
|
|
58
|
+
chosen_action: params.chosenAction,
|
|
52
59
|
confidence: params.confidence,
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
model_version: params.modelVersion ?? "unknown",
|
|
61
|
+
rules_evaluated: params.rulesEvaluated ?? [],
|
|
55
62
|
reasoning: params.reasoning,
|
|
56
|
-
tags: params.tags,
|
|
57
|
-
metadata: params.metadata,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
tags: params.tags ?? [],
|
|
64
|
+
metadata: params.metadata ?? {},
|
|
65
|
+
};
|
|
66
|
+
if (params.replayPrompt)
|
|
67
|
+
body.replay_prompt = params.replayPrompt;
|
|
68
|
+
if (params.replayConfig) {
|
|
69
|
+
body.replay_config = {
|
|
70
|
+
model: params.replayConfig.model,
|
|
71
|
+
temperature: params.replayConfig.temperature,
|
|
72
|
+
max_tokens: params.replayConfig.maxTokens,
|
|
73
|
+
api_base: params.replayConfig.apiBase,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
this.client.postWrite("/decisions", body);
|
|
77
|
+
this.decisionId = decisionId;
|
|
62
78
|
return this.decisionId;
|
|
63
79
|
}
|
|
64
80
|
/** Record an execution — the actual action taken. */
|
|
65
|
-
|
|
81
|
+
execute(params) {
|
|
66
82
|
if (!this.decisionId) {
|
|
67
83
|
throw new Error("Must call decide before execute");
|
|
68
84
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
85
|
+
const executionId = (0, crypto_1.randomUUID)();
|
|
86
|
+
const body = {
|
|
87
|
+
id: executionId,
|
|
88
|
+
decision_id: this.decisionId,
|
|
71
89
|
action: params.action,
|
|
72
90
|
target: params.target,
|
|
73
|
-
result: params.result,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
result: params.result ?? types_1.ResultType.SUCCESS,
|
|
92
|
+
side_effects: params.sideEffects ?? [],
|
|
93
|
+
actor: params.actor ?? types_1.ActorType.AGENT,
|
|
94
|
+
};
|
|
95
|
+
if (params.revertAction)
|
|
96
|
+
body.revert_action = params.revertAction;
|
|
97
|
+
if (params.overrideReason)
|
|
98
|
+
body.override_reason = params.overrideReason;
|
|
99
|
+
if (params.overriddenBy)
|
|
100
|
+
body.overridden_by = params.overriddenBy;
|
|
101
|
+
this.client.postWrite("/executions", body);
|
|
102
|
+
return executionId;
|
|
81
103
|
}
|
|
82
104
|
/** Create a child intent linked to this one (for multi-agent/MCP). */
|
|
83
|
-
|
|
105
|
+
childIntent(params) {
|
|
84
106
|
return this.client.createIntent({
|
|
85
107
|
goal: params.goal,
|
|
86
108
|
agentId: params.agentId,
|
|
@@ -118,11 +140,19 @@ class Tenet {
|
|
|
118
140
|
apiKey;
|
|
119
141
|
environment;
|
|
120
142
|
timeout;
|
|
143
|
+
asyncWrites;
|
|
144
|
+
maxRetries;
|
|
145
|
+
onError;
|
|
146
|
+
/** In-flight background write promises. */
|
|
147
|
+
_pending = [];
|
|
121
148
|
constructor(config) {
|
|
122
149
|
this.apiKey = config.apiKey;
|
|
123
150
|
this.endpoint = (config.endpoint ?? "https://ael-backend.onrender.com").replace(/\/+$/, "");
|
|
124
151
|
this.environment = config.environment ?? "production";
|
|
125
152
|
this.timeout = config.timeout ?? 30000;
|
|
153
|
+
this.asyncWrites = config.asyncWrites !== false; // default true
|
|
154
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
155
|
+
this.onError = config.onError;
|
|
126
156
|
}
|
|
127
157
|
// --- HTTP helpers ---
|
|
128
158
|
async request(method, path, body) {
|
|
@@ -165,12 +195,68 @@ class Tenet {
|
|
|
165
195
|
get(path) {
|
|
166
196
|
return this.request("GET", path);
|
|
167
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Fire-and-forget POST for write operations.
|
|
200
|
+
* In async mode, the promise is tracked internally and errors are silently caught.
|
|
201
|
+
* In sync mode (asyncWrites=false), this is a no-op queuer — callers must
|
|
202
|
+
* still await the underlying post call themselves via postWriteSync.
|
|
203
|
+
*
|
|
204
|
+
* @internal — used by IntentHandle and createIntent.
|
|
205
|
+
*/
|
|
206
|
+
postWrite(path, body) {
|
|
207
|
+
if (!this.asyncWrites) {
|
|
208
|
+
// Synchronous mode: run the request and track the promise so flush() works
|
|
209
|
+
const p = this._sendWithRetry(path, body).catch(() => { });
|
|
210
|
+
this._pending.push(p);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
// Async (Ghost) mode: fire-and-forget with silent error handling
|
|
214
|
+
const p = this._sendWithRetry(path, body).catch(() => { });
|
|
215
|
+
this._pending.push(p);
|
|
216
|
+
}
|
|
217
|
+
async _sendWithRetry(path, body, attempt = 0) {
|
|
218
|
+
try {
|
|
219
|
+
await this.post(path, body);
|
|
220
|
+
}
|
|
221
|
+
catch (err) {
|
|
222
|
+
if (attempt + 1 < this.maxRetries) {
|
|
223
|
+
return this._sendWithRetry(path, body, attempt + 1);
|
|
224
|
+
}
|
|
225
|
+
// Final failure: report silently
|
|
226
|
+
if (this.onError && err instanceof Error) {
|
|
227
|
+
try {
|
|
228
|
+
this.onError(err, { path, body, attempts: attempt + 1 });
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Never let the callback crash us
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Block until all queued background writes have completed (or failed).
|
|
238
|
+
* Use this in tests to ensure writes have landed before reading back.
|
|
239
|
+
*/
|
|
240
|
+
async flush() {
|
|
241
|
+
const pending = this._pending.splice(0);
|
|
242
|
+
await Promise.all(pending);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Flush remaining writes. Equivalent to flush() for the JS SDK since
|
|
246
|
+
* there is no background thread to stop — just pending promises.
|
|
247
|
+
*/
|
|
248
|
+
async shutdown() {
|
|
249
|
+
await this.flush();
|
|
250
|
+
}
|
|
168
251
|
// ============================================================
|
|
169
252
|
// High-level API (matches docs)
|
|
170
253
|
// ============================================================
|
|
171
254
|
/**
|
|
172
255
|
* Trace a function call, capturing the decision automatically.
|
|
173
256
|
*
|
|
257
|
+
* The function is still awaited (blocking), but all audit writes
|
|
258
|
+
* (intent, context, decision, execution) are fire-and-forget.
|
|
259
|
+
*
|
|
174
260
|
* ```ts
|
|
175
261
|
* const result = await tenet.trace({
|
|
176
262
|
* agentId: 'finance-bot-v1',
|
|
@@ -183,22 +269,19 @@ class Tenet {
|
|
|
183
269
|
async trace(params) {
|
|
184
270
|
const sessionId = params.sessionId ?? (0, crypto_1.randomUUID)();
|
|
185
271
|
const modelVersion = params.modelVersion ?? "unknown";
|
|
186
|
-
// 1. Create intent
|
|
187
|
-
const intent =
|
|
272
|
+
// 1. Create intent (fire-and-forget)
|
|
273
|
+
const intent = this.createIntent({
|
|
188
274
|
goal: `trace:${params.agentId}`,
|
|
189
275
|
agentId: params.agentId,
|
|
190
276
|
sessionId,
|
|
191
277
|
origin: types_1.OriginType.AGENT,
|
|
192
278
|
environment: this.environment,
|
|
193
279
|
});
|
|
194
|
-
// 2. Snapshot context (
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
metadata: params.metadata ?? {},
|
|
200
|
-
tags: params.tags ?? [],
|
|
201
|
-
},
|
|
280
|
+
// 2. Snapshot context (fire-and-forget)
|
|
281
|
+
const contextId = intent.snapshotContext({
|
|
282
|
+
agent_id: params.agentId,
|
|
283
|
+
metadata: params.metadata ?? {},
|
|
284
|
+
tags: params.tags ?? [],
|
|
202
285
|
});
|
|
203
286
|
// 3. Execute the wrapped function
|
|
204
287
|
let output;
|
|
@@ -212,10 +295,8 @@ class Tenet {
|
|
|
212
295
|
error = e instanceof Error ? e.message : String(e);
|
|
213
296
|
output = undefined;
|
|
214
297
|
}
|
|
215
|
-
// 4. Record decision
|
|
216
|
-
const
|
|
217
|
-
intentId: intent.intentId,
|
|
218
|
-
contextId: context.id,
|
|
298
|
+
// 4. Record decision (fire-and-forget)
|
|
299
|
+
const decisionId = intent.decide({
|
|
219
300
|
options: [
|
|
220
301
|
{
|
|
221
302
|
action: params.agentId,
|
|
@@ -229,9 +310,8 @@ class Tenet {
|
|
|
229
310
|
tags: params.tags,
|
|
230
311
|
metadata: params.metadata,
|
|
231
312
|
});
|
|
232
|
-
// 5. Record execution
|
|
233
|
-
const
|
|
234
|
-
decisionId: decision.id,
|
|
313
|
+
// 5. Record execution (fire-and-forget)
|
|
314
|
+
const executionId = intent.execute({
|
|
235
315
|
action: params.agentId,
|
|
236
316
|
target: { output: success ? output : null },
|
|
237
317
|
result: success ? types_1.ResultType.SUCCESS : types_1.ResultType.FAILURE,
|
|
@@ -241,12 +321,12 @@ class Tenet {
|
|
|
241
321
|
throw new Error(error);
|
|
242
322
|
}
|
|
243
323
|
return {
|
|
244
|
-
id:
|
|
324
|
+
id: decisionId,
|
|
245
325
|
output,
|
|
246
326
|
intentId: intent.intentId,
|
|
247
|
-
contextId
|
|
248
|
-
decisionId
|
|
249
|
-
executionId
|
|
327
|
+
contextId,
|
|
328
|
+
decisionId,
|
|
329
|
+
executionId,
|
|
250
330
|
};
|
|
251
331
|
}
|
|
252
332
|
/**
|
|
@@ -302,10 +382,15 @@ class Tenet {
|
|
|
302
382
|
// ============================================================
|
|
303
383
|
// Low-level API (full control, mirrors Python SDK)
|
|
304
384
|
// ============================================================
|
|
305
|
-
/**
|
|
306
|
-
|
|
385
|
+
/**
|
|
386
|
+
* Create an intent and return a handle for chaining context/decision/execution.
|
|
387
|
+
* UUID is generated client-side; the write is fire-and-forget.
|
|
388
|
+
*/
|
|
389
|
+
createIntent(params) {
|
|
307
390
|
const sessionId = params.sessionId ?? (0, crypto_1.randomUUID)();
|
|
391
|
+
const intentId = (0, crypto_1.randomUUID)();
|
|
308
392
|
const body = {
|
|
393
|
+
id: intentId,
|
|
309
394
|
goal: params.goal,
|
|
310
395
|
agent_id: params.agentId ?? "default",
|
|
311
396
|
session_id: sessionId,
|
|
@@ -320,20 +405,29 @@ class Tenet {
|
|
|
320
405
|
body.tool_name = params.toolName;
|
|
321
406
|
if (params.environment)
|
|
322
407
|
body.environment = params.environment;
|
|
323
|
-
|
|
324
|
-
return new IntentHandle(this,
|
|
408
|
+
this.postWrite("/intents", body);
|
|
409
|
+
return new IntentHandle(this, intentId, sessionId);
|
|
325
410
|
}
|
|
326
|
-
/**
|
|
411
|
+
/** @deprecated Use intent.snapshotContext() instead. Kept for backward compat. */
|
|
327
412
|
async createContext(params) {
|
|
328
|
-
|
|
413
|
+
const contextId = (0, crypto_1.randomUUID)();
|
|
414
|
+
const body = {
|
|
415
|
+
id: contextId,
|
|
329
416
|
intent_id: params.intentId,
|
|
330
417
|
inputs: params.inputs,
|
|
331
418
|
external_versions: params.externalVersions ?? {},
|
|
332
|
-
}
|
|
419
|
+
};
|
|
420
|
+
if (this.asyncWrites) {
|
|
421
|
+
this.postWrite("/contexts", body);
|
|
422
|
+
return { id: contextId, intent_id: params.intentId, inputs: params.inputs, external_versions: params.externalVersions ?? {}, snapshot_hash: "", created_at: "" };
|
|
423
|
+
}
|
|
424
|
+
return this.post("/contexts", body);
|
|
333
425
|
}
|
|
334
|
-
/**
|
|
426
|
+
/** @deprecated Use intent.decide() instead. Kept for backward compat. */
|
|
335
427
|
async createDecision(params) {
|
|
428
|
+
const decisionId = (0, crypto_1.randomUUID)();
|
|
336
429
|
const body = {
|
|
430
|
+
id: decisionId,
|
|
337
431
|
intent_id: params.intentId,
|
|
338
432
|
context_id: params.contextId,
|
|
339
433
|
options: params.options,
|
|
@@ -355,11 +449,17 @@ class Tenet {
|
|
|
355
449
|
api_base: params.replayConfig.apiBase,
|
|
356
450
|
};
|
|
357
451
|
}
|
|
452
|
+
if (this.asyncWrites) {
|
|
453
|
+
this.postWrite("/decisions", body);
|
|
454
|
+
return { id: decisionId, intent_id: params.intentId, context_id: params.contextId, options: params.options, chosen_action: params.chosenAction, confidence: params.confidence, model_version: params.modelVersion, rules_evaluated: params.rulesEvaluated ?? [], tags: params.tags ?? [], metadata: params.metadata ?? {}, created_at: "" };
|
|
455
|
+
}
|
|
358
456
|
return this.post("/decisions", body);
|
|
359
457
|
}
|
|
360
|
-
/**
|
|
458
|
+
/** @deprecated Use intent.execute() instead. Kept for backward compat. */
|
|
361
459
|
async createExecution(params) {
|
|
460
|
+
const executionId = (0, crypto_1.randomUUID)();
|
|
362
461
|
const body = {
|
|
462
|
+
id: executionId,
|
|
363
463
|
decision_id: params.decisionId,
|
|
364
464
|
action: params.action,
|
|
365
465
|
target: params.target,
|
|
@@ -373,6 +473,10 @@ class Tenet {
|
|
|
373
473
|
body.override_reason = params.overrideReason;
|
|
374
474
|
if (params.overriddenBy)
|
|
375
475
|
body.overridden_by = params.overriddenBy;
|
|
476
|
+
if (this.asyncWrites) {
|
|
477
|
+
this.postWrite("/executions", body);
|
|
478
|
+
return { id: executionId, decision_id: params.decisionId, action: params.action, target: params.target, result: (params.result ?? types_1.ResultType.SUCCESS), side_effects: params.sideEffects ?? [], actor: (params.actor ?? types_1.ActorType.AGENT), created_at: "" };
|
|
479
|
+
}
|
|
376
480
|
return this.post("/executions", body);
|
|
377
481
|
}
|
|
378
482
|
// --- Read endpoints ---
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -17,6 +17,12 @@ export interface TenetConfig {
|
|
|
17
17
|
endpoint?: string;
|
|
18
18
|
environment?: string;
|
|
19
19
|
timeout?: number;
|
|
20
|
+
/** Enable fire-and-forget writes via background queue. Defaults to true. */
|
|
21
|
+
asyncWrites?: boolean;
|
|
22
|
+
/** Max retries for failed background writes before silent drop. Defaults to 3. */
|
|
23
|
+
maxRetries?: number;
|
|
24
|
+
/** Callback for observability into background write failures. */
|
|
25
|
+
onError?: (error: Error, payload: Record<string, unknown>) => void;
|
|
20
26
|
}
|
|
21
27
|
export interface ActionOption {
|
|
22
28
|
action: string;
|