agentfootprint 8.5.0 → 8.6.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/core/Agent.js +62 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +7 -1
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +136 -5
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +15 -0
- package/dist/esm/core/Agent.js +62 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.js +7 -1
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +35 -0
- package/dist/esm/core/agent/stages/toolCalls.js +136 -5
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +26 -0
- package/dist/esm/identity/CredentialConsentRequiredError.d.ts +63 -0
- package/dist/esm/identity/CredentialConsentRequiredError.js +65 -0
- package/dist/esm/identity/CredentialConsentRequiredError.js.map +1 -0
- package/dist/esm/identity/consent.d.ts +81 -0
- package/dist/esm/identity/consent.js +85 -0
- package/dist/esm/identity/consent.js.map +1 -0
- package/dist/esm/identity.d.ts +2 -0
- package/dist/esm/identity.js +1 -0
- package/dist/esm/identity.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.js +11 -1
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/identity/CredentialConsentRequiredError.js +69 -0
- package/dist/identity/CredentialConsentRequiredError.js.map +1 -0
- package/dist/identity/consent.js +91 -0
- package/dist/identity/consent.js.map +1 -0
- package/dist/identity.js +3 -1
- package/dist/identity.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +11 -1
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/types/core/Agent.d.ts +15 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +35 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +26 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/identity/CredentialConsentRequiredError.d.ts +64 -0
- package/dist/types/identity/CredentialConsentRequiredError.d.ts.map +1 -0
- package/dist/types/identity/consent.d.ts +82 -0
- package/dist/types/identity/consent.d.ts.map +1 -0
- package/dist/types/identity.d.ts +2 -0
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
import { typedEmit } from '../../../recorders/core/typedEmit.js';
|
|
46
46
|
import { extractSequence } from '../../../security/extractSequence.js';
|
|
47
47
|
import { unconfiguredCredentialProvider } from '../../../identity/types.js';
|
|
48
|
+
import { CONSENT_PAUSE_KEY, consentQuestion, modelRefusal } from '../../../identity/consent.js';
|
|
48
49
|
import { isPauseRequest } from '../../pause.js';
|
|
49
50
|
import { shouldCheckIn, isCheckInDecision, checkInDeclined, } from '../../checkin.js';
|
|
50
51
|
import { runToolChain, runToolAfterChain } from '../middleware/runChain.js';
|
|
@@ -88,6 +89,9 @@ function skillRefusal(requestedId, allowed, isTree) {
|
|
|
88
89
|
export function buildToolCallsHandler(deps) {
|
|
89
90
|
const { registryByName, externalToolProvider, providerToolCache, permissionChecker } = deps;
|
|
90
91
|
const toolArgValidation = deps.toolArgValidation ?? 'enforce';
|
|
92
|
+
// 8.6.0 — default `'pause'`. Consent is work waiting on a person, and every
|
|
93
|
+
// other place this library needs a person stops the run and asks the caller.
|
|
94
|
+
const onAuthorizationRequired = deps.onAuthorizationRequired ?? 'pause';
|
|
91
95
|
// Fail-closed: when no provider is attached, `ctx.credentials` is a provider
|
|
92
96
|
// that THROWS on use (never undefined) — so a tool can't silently no-op.
|
|
93
97
|
const credentials = deps.credentialProvider ?? unconfiguredCredentialProvider();
|
|
@@ -182,16 +186,29 @@ export function buildToolCallsHandler(deps) {
|
|
|
182
186
|
kind: cred.credential.kind,
|
|
183
187
|
...(cred.expiresAt !== undefined && { expiresAt: cred.expiresAt }),
|
|
184
188
|
});
|
|
189
|
+
// The consent that was outstanding for this service has been given.
|
|
190
|
+
deps.clearConsentOutstanding?.(need.credential);
|
|
185
191
|
}
|
|
186
192
|
else {
|
|
187
193
|
typedEmit(scope, 'agentfootprint.credential.authorization_required', {
|
|
188
194
|
service: need.credential,
|
|
189
195
|
sessionId: cred.sessionId,
|
|
190
196
|
});
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
197
|
+
// Still not authorized on the far side of a resume. A resume cannot
|
|
198
|
+
// pause again (`ResumeFn` returns void), so the honest move is the
|
|
199
|
+
// URL-free refusal plus `error: true`: the model reads it, the loop
|
|
200
|
+
// continues, and if it calls the tool again `execute` CAN pause — a
|
|
201
|
+
// fresh consent round with a fresh URL on `PendingAsk`. The
|
|
202
|
+
// consent record still goes out on the side channel so the turn
|
|
203
|
+
// cannot end quietly.
|
|
204
|
+
deps.reportConsentOutstanding?.({
|
|
205
|
+
service: need.credential,
|
|
206
|
+
authorizationUrl: cred.authorizationUrl,
|
|
207
|
+
sessionId: cred.sessionId,
|
|
208
|
+
tool: toolName,
|
|
209
|
+
iteration,
|
|
210
|
+
});
|
|
211
|
+
return { result: modelRefusal(need.credential), error: true };
|
|
195
212
|
}
|
|
196
213
|
}
|
|
197
214
|
catch (credErr) {
|
|
@@ -566,14 +583,61 @@ export function buildToolCallsHandler(deps) {
|
|
|
566
583
|
kind: cred.credential.kind,
|
|
567
584
|
...(cred.expiresAt !== undefined && { expiresAt: cred.expiresAt }),
|
|
568
585
|
});
|
|
586
|
+
deps.clearConsentOutstanding?.(need.credential);
|
|
569
587
|
}
|
|
570
588
|
else {
|
|
571
589
|
credentialBlocked = true;
|
|
590
|
+
// The event has ALWAYS carried `{ service, sessionId }` and
|
|
591
|
+
// never the URL (6.11.0's contract). That was right; what was
|
|
592
|
+
// wrong was the tool-result string below, which carried the URL
|
|
593
|
+
// to the one party that cannot click it and to every channel
|
|
594
|
+
// built to preserve tool output.
|
|
572
595
|
typedEmit(scope, 'agentfootprint.credential.authorization_required', {
|
|
573
596
|
service: need.credential,
|
|
574
597
|
sessionId: cred.sessionId,
|
|
575
598
|
});
|
|
576
|
-
|
|
599
|
+
if (onAuthorizationRequired === 'pause') {
|
|
600
|
+
// Consent is unfinished work, and unfinished work is a pause
|
|
601
|
+
// — the same wire the check-in gate and a middleware `ask`
|
|
602
|
+
// ride. Commit partial state so resume() finds history
|
|
603
|
+
// intact; the proposed args ride the checkpoint so the tool
|
|
604
|
+
// can run once the person has consented.
|
|
605
|
+
scope.history = newHistory;
|
|
606
|
+
scope.pausedToolCallId = tc.id;
|
|
607
|
+
scope.pausedToolName = tc.name;
|
|
608
|
+
scope.pausedToolStartMs = startMs;
|
|
609
|
+
scope.pausedCredential = true;
|
|
610
|
+
scope.pausedCredentialArgs = callArgs;
|
|
611
|
+
scope.pausedCredentialService = need.credential;
|
|
612
|
+
// A defined return value triggers the footprintjs pause; this
|
|
613
|
+
// object becomes the checkpoint's pauseData, and standingAgent's
|
|
614
|
+
// describePause hands it to the caller as `PendingAsk`.
|
|
615
|
+
// `CONSENT_PAUSE_KEY` is what lets `pause.request` withhold
|
|
616
|
+
// the URL from the event stream by name.
|
|
617
|
+
return {
|
|
618
|
+
toolCallId: tc.id,
|
|
619
|
+
toolName: tc.name,
|
|
620
|
+
question: consentQuestion(need.credential, tc.name),
|
|
621
|
+
[CONSENT_PAUSE_KEY]: {
|
|
622
|
+
service: need.credential,
|
|
623
|
+
authorizationUrl: cred.authorizationUrl,
|
|
624
|
+
sessionId: cred.sessionId,
|
|
625
|
+
},
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
// `'tell-model'`: the model reads a refusal naming the service
|
|
629
|
+
// and never the URL, and may route around the block. The turn
|
|
630
|
+
// cannot report a clean completion — the record goes out on the
|
|
631
|
+
// side channel and `Agent.finalizeResult` raises.
|
|
632
|
+
error = true;
|
|
633
|
+
result = modelRefusal(need.credential);
|
|
634
|
+
deps.reportConsentOutstanding?.({
|
|
635
|
+
service: need.credential,
|
|
636
|
+
authorizationUrl: cred.authorizationUrl,
|
|
637
|
+
sessionId: cred.sessionId,
|
|
638
|
+
tool: tc.name,
|
|
639
|
+
iteration,
|
|
640
|
+
});
|
|
577
641
|
}
|
|
578
642
|
}
|
|
579
643
|
catch (credErr) {
|
|
@@ -1029,6 +1093,73 @@ export function buildToolCallsHandler(deps) {
|
|
|
1029
1093
|
scope.pausedCheckInArgs = undefined;
|
|
1030
1094
|
return;
|
|
1031
1095
|
}
|
|
1096
|
+
// ── Credential-consent decision path (8.6.0) ─────────────────────
|
|
1097
|
+
// Discriminated by `scope.pausedCredential`, restored from the checkpoint.
|
|
1098
|
+
//
|
|
1099
|
+
// The resume input is IGNORED, and that is the design rather than an
|
|
1100
|
+
// omission. The person's answer here is "I authorized it", not a result:
|
|
1101
|
+
// they consented at the identity provider, out of band. So resume asks
|
|
1102
|
+
// the provider again and, if it now issues, runs the tool that was
|
|
1103
|
+
// waiting — the same reasoning that gave the middleware-ask outcome union
|
|
1104
|
+
// no `result` arm. A human never writes a tool's answer.
|
|
1105
|
+
//
|
|
1106
|
+
// Still not authorized? `resolveCredentialAndExecute` returns the
|
|
1107
|
+
// URL-free refusal with `error: true` and reports the outstanding
|
|
1108
|
+
// consent; the loop carries on and a further attempt can pause afresh.
|
|
1109
|
+
if (scope.pausedCredential === true) {
|
|
1110
|
+
const iteration = scope.iteration;
|
|
1111
|
+
const args = (scope.pausedCredentialArgs ?? {});
|
|
1112
|
+
const env = scope.$getEnv();
|
|
1113
|
+
const tool = lookupTool(toolName);
|
|
1114
|
+
const dispatched = await resolveCredentialAndExecute(scope, tool, toolName, args, toolCallId, iteration, env);
|
|
1115
|
+
const result = dispatched.result;
|
|
1116
|
+
const error = dispatched.error;
|
|
1117
|
+
let modelResult;
|
|
1118
|
+
if (dispatched.executed === true) {
|
|
1119
|
+
modelResult = await afterMoment(scope, {
|
|
1120
|
+
...(tool && { tool }),
|
|
1121
|
+
toolName,
|
|
1122
|
+
toolCallId,
|
|
1123
|
+
iteration,
|
|
1124
|
+
args,
|
|
1125
|
+
result,
|
|
1126
|
+
...(error === true && { error: true }),
|
|
1127
|
+
history: [...scope.history],
|
|
1128
|
+
...(scope.runIdentity && { identity: scope.runIdentity }),
|
|
1129
|
+
...(env.signal && { signal: env.signal }),
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
1132
|
+
if (modelResult === undefined)
|
|
1133
|
+
modelResult = result;
|
|
1134
|
+
const consentResultStr = typeof modelResult === 'string' ? modelResult : safeStringify(modelResult);
|
|
1135
|
+
const consentHistory = [
|
|
1136
|
+
...scope.history,
|
|
1137
|
+
{ role: 'tool', content: consentResultStr, toolCallId, toolName },
|
|
1138
|
+
];
|
|
1139
|
+
scope.history = consentHistory;
|
|
1140
|
+
scope.lastToolResult = { toolName, result: consentResultStr };
|
|
1141
|
+
typedEmit(scope, 'agentfootprint.stream.tool_end', {
|
|
1142
|
+
toolCallId,
|
|
1143
|
+
result,
|
|
1144
|
+
durationMs: Date.now() - startMs,
|
|
1145
|
+
...(error === true && { error: true }),
|
|
1146
|
+
});
|
|
1147
|
+
typedEmit(scope, 'agentfootprint.agent.iteration_end', {
|
|
1148
|
+
turnIndex: 0,
|
|
1149
|
+
iterIndex: iteration,
|
|
1150
|
+
toolCallCount: 1,
|
|
1151
|
+
history: consentHistory,
|
|
1152
|
+
});
|
|
1153
|
+
scope.iteration = iteration + 1;
|
|
1154
|
+
// Clear ALL pause checkpoint fields (shared + credential).
|
|
1155
|
+
scope.pausedToolCallId = '';
|
|
1156
|
+
scope.pausedToolName = '';
|
|
1157
|
+
scope.pausedToolStartMs = 0;
|
|
1158
|
+
scope.pausedCredential = false;
|
|
1159
|
+
scope.pausedCredentialArgs = undefined;
|
|
1160
|
+
scope.pausedCredentialService = undefined;
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
1032
1163
|
const resultStr = typeof input === 'string' ? input : safeStringify(input);
|
|
1033
1164
|
const newHistory = [
|
|
1034
1165
|
...scope.history,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import type { ActiveInjection } from '../../lib/injection-engine/types.js';
|
|
|
15
15
|
import type { InjectionRecord } from '../../recorders/core/types.js';
|
|
16
16
|
import type { MemoryIdentity } from '../../memory/identity/types.js';
|
|
17
17
|
import type { CredentialProvider } from '../../identity/types.js';
|
|
18
|
+
import type { AuthorizationRequiredMode } from '../../identity/consent.js';
|
|
18
19
|
import type { ToolArgValidationMode } from './toolArgsValidation.js';
|
|
19
20
|
import type { ThinkingBlock } from '../../thinking/types.js';
|
|
20
21
|
import type { ReliabilityScope } from '../../reliability/types.js';
|
|
@@ -147,6 +148,28 @@ export interface AgentOptions {
|
|
|
147
148
|
* `staticTokens({ ... })`, or any `CredentialProvider`).
|
|
148
149
|
*/
|
|
149
150
|
readonly credentials?: CredentialProvider;
|
|
151
|
+
/**
|
|
152
|
+
* What the run does when a tool's DECLARED credential (`needs: { credential }`)
|
|
153
|
+
* comes back `authorization-required` — a person has to click a consent link
|
|
154
|
+
* before the tool can run. Default **`'pause'`** (8.6.0).
|
|
155
|
+
*
|
|
156
|
+
* - `'pause'` — the run stops at the block. `agent.run()` returns a pause
|
|
157
|
+
* outcome whose `pauseData.authorization` carries `{ service, sessionId,
|
|
158
|
+
* authorizationUrl }`; a `standingAgent` answers **202** with
|
|
159
|
+
* `{ awaiting }`; `agent.resume(checkpoint)` re-resolves the credential and
|
|
160
|
+
* runs the tool that was waiting. The model is never told, so it cannot
|
|
161
|
+
* adapt around work that has not happened.
|
|
162
|
+
* - `'tell-model'` — the model reads a refusal naming the service (never the
|
|
163
|
+
* URL) and may route around the block. The turn still cannot report a clean
|
|
164
|
+
* completion: `agent.run()` raises `CredentialConsentRequiredError`, which
|
|
165
|
+
* carries the URL to the caller.
|
|
166
|
+
*
|
|
167
|
+
* In BOTH modes the authorization URL stays out of the conversation, the
|
|
168
|
+
* snapshot, the narrative, the typed event stream and any recording. It is a
|
|
169
|
+
* bearer capability carrying a session-correlating `state` parameter; before
|
|
170
|
+
* 8.6.0 it was interpolated into the tool result and copied into all of them.
|
|
171
|
+
*/
|
|
172
|
+
readonly onAuthorizationRequired?: AuthorizationRequiredMode;
|
|
150
173
|
/**
|
|
151
174
|
* Global cache kill switch (v2.6+). `'off'` disables the cache
|
|
152
175
|
* layer entirely — the CacheGate decider routes to `'no-markers'`
|
|
@@ -354,6 +377,9 @@ export interface AgentState {
|
|
|
354
377
|
pausedAskArgs?: Readonly<Record<string, unknown>>;
|
|
355
378
|
pausedAskIndex?: number;
|
|
356
379
|
pausedAskMiddleware?: string;
|
|
380
|
+
pausedCredential?: boolean;
|
|
381
|
+
pausedCredentialArgs?: Readonly<Record<string, unknown>>;
|
|
382
|
+
pausedCredentialService?: string;
|
|
357
383
|
/** One row per middleware decision, in the order they were decided —
|
|
358
384
|
* including the pass-throughs, because "the rule looked and was fine with
|
|
359
385
|
* it" and "the rule never ran" are different facts about a run. A transform
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CredentialConsentRequiredError — typed error thrown by `Agent.run()` under
|
|
3
|
+
* `onAuthorizationRequired: 'tell-model'` when a turn finished while a tool's
|
|
4
|
+
* DECLARED credential was never obtained.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Typed Error (parallel to `PolicyHaltError` / `MessageDeniedError`).
|
|
7
|
+
* Role: The honesty terminal for the non-pausing mode. `'tell-model'` lets
|
|
8
|
+
* the model adapt in-loop after a consent block — but a turn that
|
|
9
|
+
* returned a plain answer string would be claiming a completion it
|
|
10
|
+
* did not earn, because the tool never ran. `AgentOutput` is a bare
|
|
11
|
+
* string with nowhere to hang "…and a consent is still outstanding",
|
|
12
|
+
* so the fact is surfaced as an error instead of being dropped.
|
|
13
|
+
* Emits: N/A (this file DEFINES the class; `agentfootprint.credential.
|
|
14
|
+
* authorization_required` fires from the toolCalls handler at the
|
|
15
|
+
* moment the block resolves, and carries `{ service, sessionId }`
|
|
16
|
+
* only — never the URL).
|
|
17
|
+
*
|
|
18
|
+
* **The `authorizationUrl` on this error is a bearer capability.** It carries a
|
|
19
|
+
* session-correlating `state` parameter: whoever holds the URL can complete the
|
|
20
|
+
* consent flow. It reaches the caller HERE and on `PendingAsk` under
|
|
21
|
+
* `'pause'` — and deliberately nowhere else. It is never written to the
|
|
22
|
+
* conversation, the snapshot, the narrative, the typed event stream, or a
|
|
23
|
+
* recording. Treat it like the token it stands in for: hand it to the person
|
|
24
|
+
* who must click it, and do not log it.
|
|
25
|
+
*
|
|
26
|
+
* Under the default `onAuthorizationRequired: 'pause'` this error never fires —
|
|
27
|
+
* the run pauses at the block instead and the same three fields ride
|
|
28
|
+
* `PendingAsk`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* try {
|
|
32
|
+
* await agent.run({ message: 'pay invoice INV-42' });
|
|
33
|
+
* } catch (e) {
|
|
34
|
+
* if (e instanceof CredentialConsentRequiredError) {
|
|
35
|
+
* // Show the URL to the PERSON. Never log it.
|
|
36
|
+
* await notifyUser(e.service, e.authorizationUrl);
|
|
37
|
+
* } else {
|
|
38
|
+
* throw e;
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
*/
|
|
42
|
+
export interface CredentialConsentRequiredContext {
|
|
43
|
+
/** Downstream service id the tool declared, e.g. 'github', 'billing'. */
|
|
44
|
+
readonly service: string;
|
|
45
|
+
/** The 3LO consent URL. A BEARER CAPABILITY — see the class note. */
|
|
46
|
+
readonly authorizationUrl: string;
|
|
47
|
+
/** Correlates the authorization session with the provider. */
|
|
48
|
+
readonly sessionId: string;
|
|
49
|
+
/** The tool whose declared credential was refused. */
|
|
50
|
+
readonly tool: string;
|
|
51
|
+
/** ReAct iteration the block fired on. */
|
|
52
|
+
readonly iteration: number;
|
|
53
|
+
}
|
|
54
|
+
export declare class CredentialConsentRequiredError extends Error {
|
|
55
|
+
readonly code: "ERR_CREDENTIAL_CONSENT_REQUIRED";
|
|
56
|
+
readonly service: string;
|
|
57
|
+
/** The 3LO consent URL. A BEARER CAPABILITY — see the class note. */
|
|
58
|
+
readonly authorizationUrl: string;
|
|
59
|
+
readonly sessionId: string;
|
|
60
|
+
readonly tool: string;
|
|
61
|
+
readonly iteration: number;
|
|
62
|
+
constructor(ctx: CredentialConsentRequiredContext);
|
|
63
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CredentialConsentRequiredError — typed error thrown by `Agent.run()` under
|
|
3
|
+
* `onAuthorizationRequired: 'tell-model'` when a turn finished while a tool's
|
|
4
|
+
* DECLARED credential was never obtained.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Typed Error (parallel to `PolicyHaltError` / `MessageDeniedError`).
|
|
7
|
+
* Role: The honesty terminal for the non-pausing mode. `'tell-model'` lets
|
|
8
|
+
* the model adapt in-loop after a consent block — but a turn that
|
|
9
|
+
* returned a plain answer string would be claiming a completion it
|
|
10
|
+
* did not earn, because the tool never ran. `AgentOutput` is a bare
|
|
11
|
+
* string with nowhere to hang "…and a consent is still outstanding",
|
|
12
|
+
* so the fact is surfaced as an error instead of being dropped.
|
|
13
|
+
* Emits: N/A (this file DEFINES the class; `agentfootprint.credential.
|
|
14
|
+
* authorization_required` fires from the toolCalls handler at the
|
|
15
|
+
* moment the block resolves, and carries `{ service, sessionId }`
|
|
16
|
+
* only — never the URL).
|
|
17
|
+
*
|
|
18
|
+
* **The `authorizationUrl` on this error is a bearer capability.** It carries a
|
|
19
|
+
* session-correlating `state` parameter: whoever holds the URL can complete the
|
|
20
|
+
* consent flow. It reaches the caller HERE and on `PendingAsk` under
|
|
21
|
+
* `'pause'` — and deliberately nowhere else. It is never written to the
|
|
22
|
+
* conversation, the snapshot, the narrative, the typed event stream, or a
|
|
23
|
+
* recording. Treat it like the token it stands in for: hand it to the person
|
|
24
|
+
* who must click it, and do not log it.
|
|
25
|
+
*
|
|
26
|
+
* Under the default `onAuthorizationRequired: 'pause'` this error never fires —
|
|
27
|
+
* the run pauses at the block instead and the same three fields ride
|
|
28
|
+
* `PendingAsk`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* try {
|
|
32
|
+
* await agent.run({ message: 'pay invoice INV-42' });
|
|
33
|
+
* } catch (e) {
|
|
34
|
+
* if (e instanceof CredentialConsentRequiredError) {
|
|
35
|
+
* // Show the URL to the PERSON. Never log it.
|
|
36
|
+
* await notifyUser(e.service, e.authorizationUrl);
|
|
37
|
+
* } else {
|
|
38
|
+
* throw e;
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
*/
|
|
42
|
+
export class CredentialConsentRequiredError extends Error {
|
|
43
|
+
code = 'ERR_CREDENTIAL_CONSENT_REQUIRED';
|
|
44
|
+
service;
|
|
45
|
+
/** The 3LO consent URL. A BEARER CAPABILITY — see the class note. */
|
|
46
|
+
authorizationUrl;
|
|
47
|
+
sessionId;
|
|
48
|
+
tool;
|
|
49
|
+
iteration;
|
|
50
|
+
constructor(ctx) {
|
|
51
|
+
// The MESSAGE deliberately omits the URL. An error message is the one
|
|
52
|
+
// string that reliably reaches a log line, and this class exists to keep
|
|
53
|
+
// a capability out of logs.
|
|
54
|
+
super(`Authorization required for '${ctx.service}' (tool='${ctx.tool}', ` +
|
|
55
|
+
`iteration=${ctx.iteration}). The tool did not run. Read ` +
|
|
56
|
+
`\`error.authorizationUrl\` to send the person to consent.`);
|
|
57
|
+
this.name = 'CredentialConsentRequiredError';
|
|
58
|
+
this.service = ctx.service;
|
|
59
|
+
this.authorizationUrl = ctx.authorizationUrl;
|
|
60
|
+
this.sessionId = ctx.sessionId;
|
|
61
|
+
this.tool = ctx.tool;
|
|
62
|
+
this.iteration = ctx.iteration;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=CredentialConsentRequiredError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialConsentRequiredError.js","sourceRoot":"","sources":["../../../src/identity/CredentialConsentRequiredError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAeH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,IAAI,GAAG,iCAA0C,CAAC;IAClD,OAAO,CAAS;IACzB,qEAAqE;IAC5D,gBAAgB,CAAS;IACzB,SAAS,CAAS;IAClB,IAAI,CAAS;IACb,SAAS,CAAS;IAE3B,YAAY,GAAqC;QAC/C,sEAAsE;QACtE,yEAAyE;QACzE,4BAA4B;QAC5B,KAAK,CACH,+BAA+B,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,IAAI,KAAK;YACjE,aAAa,GAAG,CAAC,SAAS,gCAAgC;YAC1D,2DAA2D,CAC9D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The 3LO consent vocabulary — one place, because four surfaces must agree on
|
|
3
|
+
* it and three of them are security boundaries.
|
|
4
|
+
*
|
|
5
|
+
* A `CredentialProvider` that answers `authorization-required` is saying: a
|
|
6
|
+
* PERSON has to click a link before this tool can run. Two things follow, and
|
|
7
|
+
* they are the whole of this module.
|
|
8
|
+
*
|
|
9
|
+
* **1. The URL is a bearer capability, not a message.** It carries a
|
|
10
|
+
* session-correlating `state` parameter; whoever holds it can complete the
|
|
11
|
+
* consent flow. It goes to the CALLER — on `PendingAsk` under `'pause'`, on
|
|
12
|
+
* `CredentialConsentRequiredError` under `'tell-model'` — and to nowhere else.
|
|
13
|
+
* Before 8.6.0 it was interpolated into the tool-result string, which put it in
|
|
14
|
+
* the conversation and therefore in every channel built to preserve tool output
|
|
15
|
+
* (history, `stream.tool_end`, `agent.iteration_end`, `context.injected`, the
|
|
16
|
+
* commit log, the snapshot, the narrative's `rawValue`, and any recording).
|
|
17
|
+
* `modelRefusal()` is the URL-free replacement, and it is why the interpolation
|
|
18
|
+
* has no remaining call site.
|
|
19
|
+
*
|
|
20
|
+
* **2. The model is the one party that cannot act on it.** So what the model
|
|
21
|
+
* reads names the service, says a person is handling it, and tells it what to
|
|
22
|
+
* do instead — the same shape as the `[permission denied: …]` refusal it
|
|
23
|
+
* already knows how to read.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* What a run does when a tool's declared credential needs consent.
|
|
27
|
+
*
|
|
28
|
+
* - `'pause'` (default) — the run stops at the block. `agent.run()` returns a
|
|
29
|
+
* pause outcome, a host answers 202 with `{ awaiting }`, and
|
|
30
|
+
* `agent.resume(checkpoint)` re-resolves the credential and runs the tool
|
|
31
|
+
* that was waiting. The model is never told; nothing is fabricated.
|
|
32
|
+
* - `'tell-model'` — the model reads {@link modelRefusal} and may route around
|
|
33
|
+
* the block. The turn still cannot report a clean completion: it raises
|
|
34
|
+
* `CredentialConsentRequiredError`.
|
|
35
|
+
*/
|
|
36
|
+
export type AuthorizationRequiredMode = 'pause' | 'tell-model';
|
|
37
|
+
/**
|
|
38
|
+
* The key under which a consent request rides `pauseData` (and therefore
|
|
39
|
+
* `PendingAsk.pauseData`). Named, rather than free-form, for one reason:
|
|
40
|
+
* `agentfootprint.pause.request` mirrors the WHOLE `pauseData` into its
|
|
41
|
+
* `questionPayload`, so the emitter has to be able to find this block and
|
|
42
|
+
* withhold the URL from the event stream. A free-form shape could not be
|
|
43
|
+
* bounded by name, and the URL would have leaked into every observer again.
|
|
44
|
+
*
|
|
45
|
+
* @see redactConsentUrlForEvent
|
|
46
|
+
*/
|
|
47
|
+
export declare const CONSENT_PAUSE_KEY = "authorization";
|
|
48
|
+
/** The consent block handed to the CALLER on `pauseData` / `PendingAsk`. */
|
|
49
|
+
export interface ConsentRequest {
|
|
50
|
+
readonly service: string;
|
|
51
|
+
/** BEARER CAPABILITY. Show it to the person; never log it. */
|
|
52
|
+
readonly authorizationUrl: string;
|
|
53
|
+
readonly sessionId: string;
|
|
54
|
+
}
|
|
55
|
+
/** Placeholder written where the consent URL is deliberately withheld. */
|
|
56
|
+
export declare const CONSENT_URL_WITHHELD = "[withheld: consent URL is caller-only]";
|
|
57
|
+
/**
|
|
58
|
+
* What the MODEL reads when a declared credential needs consent. Never the URL.
|
|
59
|
+
*
|
|
60
|
+
* Bracketed like the permission-gate refusal, because it is the same kind of
|
|
61
|
+
* fact: the call did not happen and the model must adapt. It names the service
|
|
62
|
+
* (so the model can reason about what is unavailable), says a person is on it
|
|
63
|
+
* (so it does not invent a way to authorize itself), and offers the two honest
|
|
64
|
+
* continuations.
|
|
65
|
+
*/
|
|
66
|
+
export declare function modelRefusal(service: string): string;
|
|
67
|
+
/** The plain-words question a host shows the person, via `PendingAsk.question`. */
|
|
68
|
+
export declare function consentQuestion(service: string, tool: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Strip the consent URL out of a `pause.request` payload.
|
|
71
|
+
*
|
|
72
|
+
* `RunnerBase.emitPauseRequest` copies the whole `pauseData` into
|
|
73
|
+
* `PauseRequestPayload.questionPayload`, which is right for a check-in's
|
|
74
|
+
* evidence pack and wrong for a bearer URL. This withholds exactly one field by
|
|
75
|
+
* name and leaves every other pause shape untouched — the same discipline the
|
|
76
|
+
* audit adapter's `BOUND_FIELDS` already applies to `tool_end.result`.
|
|
77
|
+
*
|
|
78
|
+
* Returns the input unchanged (same reference) when there is no consent block,
|
|
79
|
+
* so no existing pause pays for this.
|
|
80
|
+
*/
|
|
81
|
+
export declare function redactConsentUrlForEvent(payload: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
|