@superblocksteam/vite-plugin-file-sync 2.0.156-next.3 → 2.0.156
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/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -9
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +6 -34
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts +1 -2
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +9 -52
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery.d.ts +16 -25
- package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery.js +38 -384
- package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +35 -9
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +98 -71
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +2 -3
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.js +1 -13
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +3 -8
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-navigate-preview.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-navigate-preview.js +2 -4
- package/dist/ai-service/agent/tools/build-navigate-preview.js.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.js +2 -4
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/delete-integration.js +3 -6
- package/dist/ai-service/agent/tools/integrations/delete-integration.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +13 -13
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +6 -18
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/integration-setup.js +15 -41
- package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +2 -4
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +23 -23
- package/dist/ai-service/agent/tools.d.ts +2 -4
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +14 -21
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/git.d.ts +2 -2
- package/dist/ai-service/index.d.ts +25 -26
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +121 -340
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +1 -2
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +2 -3
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts +3 -9
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +3 -10
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +0 -3
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +6 -6
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +9 -10
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +0 -4
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +41 -19
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +1 -26
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/policy-agent-metrics.d.ts +0 -10
- package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -1
- package/dist/ai-service/policy-agent-metrics.js +0 -33
- package/dist/ai-service/policy-agent-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +1 -29
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +1 -3
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +6 -7
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +5 -18
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js +6 -8
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts +14 -0
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +36 -0
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts +0 -2
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.js +0 -3
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +0 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +27 -60
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +1 -12
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +9 -42
- package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +0 -6
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/util/rpc-timeout.d.ts +5 -12
- package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -1
- package/dist/ai-service/util/rpc-timeout.js +5 -12
- package/dist/ai-service/util/rpc-timeout.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +21 -8
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/lock-service/activity-tracker.d.ts +5 -0
- package/dist/lock-service/activity-tracker.d.ts.map +1 -1
- package/dist/lock-service/activity-tracker.js +13 -0
- package/dist/lock-service/activity-tracker.js.map +1 -1
- package/dist/lock-service/index.d.ts +27 -308
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +156 -680
- package/dist/lock-service/index.js.map +1 -1
- package/dist/policy-gate-callback-mapper.d.ts +2 -3
- package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
- package/dist/policy-gate-callback-mapper.js.map +1 -1
- package/dist/policy-gate-runner.d.ts +2 -4
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +8 -31
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/socket-manager.d.ts +6 -47
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +66 -283
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +3 -3
- package/dist/sync-service/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts +0 -3
- package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts.map +0 -1
- package/dist/ai-service/agent/tool-permission-delivery-metrics.js +0 -23
- package/dist/ai-service/agent/tool-permission-delivery-metrics.js.map +0 -1
- package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts +0 -15
- package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts.map +0 -1
- package/dist/ai-service/llm/stream/observers/step-token-usage.js +0 -88
- package/dist/ai-service/llm/stream/observers/step-token-usage.js.map +0 -1
- package/dist/ai-service/llm/stream/terminal-reason.d.ts +0 -6
- package/dist/ai-service/llm/stream/terminal-reason.d.ts.map +0 -1
- package/dist/ai-service/llm/stream/terminal-reason.js +0 -73
- package/dist/ai-service/llm/stream/terminal-reason.js.map +0 -1
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts +0 -28
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts.map +0 -1
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js +0 -254
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js.map +0 -1
- package/dist/ai-service/util/call-peer.d.ts +0 -11
- package/dist/ai-service/util/call-peer.d.ts.map +0 -1
- package/dist/ai-service/util/call-peer.js +0 -47
- package/dist/ai-service/util/call-peer.js.map +0 -1
- package/dist/ai-service/util/peer-liveness.d.ts +0 -23
- package/dist/ai-service/util/peer-liveness.d.ts.map +0 -1
- package/dist/ai-service/util/peer-liveness.js +0 -42
- package/dist/ai-service/util/peer-liveness.js.map +0 -1
- package/dist/scan-scope-merge.d.ts +0 -16
- package/dist/scan-scope-merge.d.ts.map +0 -1
- package/dist/scan-scope-merge.js +0 -90
- package/dist/scan-scope-merge.js.map +0 -1
- package/dist/test-setup.d.ts +0 -2
- package/dist/test-setup.d.ts.map +0 -1
- package/dist/test-setup.js +0 -21
- package/dist/test-setup.js.map +0 -1
|
@@ -1,344 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Delivery of the tool-permission dialog to the browser peer.
|
|
2
|
+
* Delivery of the tool-permission dialog to the browser peer (ENG-4820).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* Owns the fail-fast contract: the delivery RPC is bounded by
|
|
5
|
+
* PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS (10s) — far below the 60s
|
|
6
|
+
* tool-execution timeout — so an unresponsive tab surfaces as a
|
|
7
|
+
* PermissionPromptDeliveryError the agent can relay, instead of freezing the
|
|
8
|
+
* generation turn for the full tool budget and masquerading as a tool
|
|
9
|
+
* timeout. The user's approve/deny decision is NOT awaited here; after
|
|
10
|
+
* successful delivery the tool ends with REQUIRES_USER_CONFIRMATION and the
|
|
11
|
+
* decision resumes the turn via aiRespondToToolPermission.
|
|
11
12
|
*/
|
|
12
|
-
import {
|
|
13
|
+
import { getLogger } from "../../util/logger.js";
|
|
13
14
|
import { emitLiveEditEvent } from "../live-edit-events/bridge.js";
|
|
14
15
|
import { clearPendingToolPermissionRequest } from "../state-machine/helpers/peer.js";
|
|
15
|
-
import {
|
|
16
|
-
import { callPeer } from "../util/call-peer.js";
|
|
17
|
-
import { PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS, PERMISSION_PROMPT_REPLAY_GRACE_MS, RpcTimeoutError, } from "../util/rpc-timeout.js";
|
|
18
|
-
import { recordToolPermissionDeliveryOutcome } from "./tool-permission-delivery-metrics.js";
|
|
19
|
-
function reconnectableDeliveryPeer(peer) {
|
|
20
|
-
if ("connectionGeneration" in peer &&
|
|
21
|
-
typeof peer.connectionGeneration === "number" &&
|
|
22
|
-
"isConnected" in peer &&
|
|
23
|
-
typeof peer.isConnected === "boolean") {
|
|
24
|
-
return peer;
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
function sameConnection(replay, peer, connectionGeneration) {
|
|
29
|
-
return (replay.peer === peer && replay.connectionGeneration === connectionGeneration);
|
|
30
|
-
}
|
|
31
|
-
function replayFailure(error) {
|
|
32
|
-
return (transientDeliveryFailure(error) ?? {
|
|
33
|
-
kind: "rpc_error",
|
|
34
|
-
message: errorMessage(error),
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
function parkReplayFailure(clark, messageId, failure, generation) {
|
|
38
|
-
let newlyParked = false;
|
|
39
|
-
let updated = false;
|
|
40
|
-
clark.updateContext((context) => {
|
|
41
|
-
const pending = context.pendingToolPermissionRequest;
|
|
42
|
-
if (!pending ||
|
|
43
|
-
pending.messageId !== messageId ||
|
|
44
|
-
pending.delivery.generation !== generation) {
|
|
45
|
-
return context;
|
|
46
|
-
}
|
|
47
|
-
updated = true;
|
|
48
|
-
newlyParked = pending.delivery.status !== "parked";
|
|
49
|
-
return {
|
|
50
|
-
...context,
|
|
51
|
-
pendingToolPermissionRequest: {
|
|
52
|
-
...pending,
|
|
53
|
-
delivery: {
|
|
54
|
-
status: "parked",
|
|
55
|
-
expiresAtMs: pending.delivery.status === "parked"
|
|
56
|
-
? pending.delivery.expiresAtMs
|
|
57
|
-
: Date.now() + PERMISSION_PROMPT_REPLAY_GRACE_MS,
|
|
58
|
-
failure,
|
|
59
|
-
generation,
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
if (newlyParked) {
|
|
65
|
-
recordToolPermissionDeliveryOutcome("parked");
|
|
66
|
-
}
|
|
67
|
-
return updated;
|
|
68
|
-
}
|
|
69
|
-
const inFlightReplays = new WeakMap();
|
|
70
|
-
const firstDeliveryReplaced = new WeakMap();
|
|
71
|
-
function errorMessage(error) {
|
|
72
|
-
if (error &&
|
|
73
|
-
typeof error === "object" &&
|
|
74
|
-
"message" in error &&
|
|
75
|
-
typeof error.message === "string") {
|
|
76
|
-
return error.message;
|
|
77
|
-
}
|
|
78
|
-
return String(error);
|
|
79
|
-
}
|
|
80
|
-
function updatePendingDelivery(clark, messageId, delivery, expected) {
|
|
81
|
-
let updated = false;
|
|
82
|
-
clark.updateContext((context) => {
|
|
83
|
-
const pending = context.pendingToolPermissionRequest;
|
|
84
|
-
if (!pending ||
|
|
85
|
-
pending.messageId !== messageId ||
|
|
86
|
-
(expected &&
|
|
87
|
-
(pending.delivery.status !== expected.status ||
|
|
88
|
-
pending.delivery.generation !== expected.generation))) {
|
|
89
|
-
return context;
|
|
90
|
-
}
|
|
91
|
-
updated = true;
|
|
92
|
-
return {
|
|
93
|
-
...context,
|
|
94
|
-
pendingToolPermissionRequest: {
|
|
95
|
-
...pending,
|
|
96
|
-
delivery,
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
});
|
|
100
|
-
return updated;
|
|
101
|
-
}
|
|
102
|
-
function whenFirstDeliveryReplaced(clark) {
|
|
103
|
-
return new Promise((resolve) => {
|
|
104
|
-
firstDeliveryReplaced.set(clark, resolve);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
function notifyFirstDeliveryReplaced(clark) {
|
|
108
|
-
const notify = firstDeliveryReplaced.get(clark);
|
|
109
|
-
if (!notify) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
firstDeliveryReplaced.delete(clark);
|
|
113
|
-
notify();
|
|
114
|
-
}
|
|
115
|
-
function transientDeliveryFailure(error) {
|
|
116
|
-
if (error instanceof RpcTimeoutError) {
|
|
117
|
-
return { kind: "timeout" };
|
|
118
|
-
}
|
|
119
|
-
if (isPeerUnavailableError(error)) {
|
|
120
|
-
return {
|
|
121
|
-
kind: "peer_unavailable",
|
|
122
|
-
message: errorMessage(error),
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return undefined;
|
|
126
|
-
}
|
|
127
|
-
function parkAwaitingAck(clark, messageId, failure, generation) {
|
|
128
|
-
const parked = updatePendingDelivery(clark, messageId, {
|
|
129
|
-
status: "parked",
|
|
130
|
-
expiresAtMs: Date.now() + PERMISSION_PROMPT_REPLAY_GRACE_MS,
|
|
131
|
-
failure,
|
|
132
|
-
generation,
|
|
133
|
-
}, { status: "awaiting_ack", generation });
|
|
134
|
-
if (parked) {
|
|
135
|
-
recordToolPermissionDeliveryOutcome("parked");
|
|
136
|
-
}
|
|
137
|
-
return parked;
|
|
138
|
-
}
|
|
139
|
-
function currentDeliveryOutcome(clark, messageId) {
|
|
140
|
-
const current = clark.context.pendingToolPermissionRequest;
|
|
141
|
-
if (!current || current.messageId !== messageId) {
|
|
142
|
-
return "superseded";
|
|
143
|
-
}
|
|
144
|
-
switch (current.delivery.status) {
|
|
145
|
-
case "acked":
|
|
146
|
-
return "acked";
|
|
147
|
-
case "parked":
|
|
148
|
-
return "parked";
|
|
149
|
-
case "awaiting_ack":
|
|
150
|
-
return "awaiting_ack";
|
|
151
|
-
default: {
|
|
152
|
-
const exhaustive = current.delivery;
|
|
153
|
-
return exhaustive;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async function settleAfterReplacement(clark, messageId) {
|
|
158
|
-
await inFlightToolPermissionReplay(clark);
|
|
159
|
-
const outcome = currentDeliveryOutcome(clark, messageId);
|
|
160
|
-
switch (outcome) {
|
|
161
|
-
case "acked":
|
|
162
|
-
case "parked":
|
|
163
|
-
case "superseded":
|
|
164
|
-
return outcome;
|
|
165
|
-
case "awaiting_ack": {
|
|
166
|
-
const current = clark.context.pendingToolPermissionRequest;
|
|
167
|
-
if (!current || current.messageId !== messageId) {
|
|
168
|
-
return "superseded";
|
|
169
|
-
}
|
|
170
|
-
const parked = parkAwaitingAck(clark, messageId, {
|
|
171
|
-
kind: "peer_unavailable",
|
|
172
|
-
message: "permission prompt replay missed after reconnect",
|
|
173
|
-
}, current.delivery.generation);
|
|
174
|
-
if (parked) {
|
|
175
|
-
void flushPendingToolPermissionPrompt(clark);
|
|
176
|
-
return "parked";
|
|
177
|
-
}
|
|
178
|
-
const after = currentDeliveryOutcome(clark, messageId);
|
|
179
|
-
return after === "awaiting_ack" ? "superseded" : after;
|
|
180
|
-
}
|
|
181
|
-
default: {
|
|
182
|
-
const exhaustive = outcome;
|
|
183
|
-
return exhaustive;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
function withGeneration(delivery, generation) {
|
|
188
|
-
switch (delivery.status) {
|
|
189
|
-
case "acked":
|
|
190
|
-
return { status: "acked", generation };
|
|
191
|
-
case "awaiting_ack":
|
|
192
|
-
return { status: "awaiting_ack", generation };
|
|
193
|
-
case "parked":
|
|
194
|
-
return {
|
|
195
|
-
status: "parked",
|
|
196
|
-
expiresAtMs: delivery.expiresAtMs,
|
|
197
|
-
failure: delivery.failure,
|
|
198
|
-
generation,
|
|
199
|
-
};
|
|
200
|
-
default: {
|
|
201
|
-
const exhaustive = delivery;
|
|
202
|
-
return exhaustive;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
export function flushPendingToolPermissionPrompt(clark, options) {
|
|
207
|
-
const pending = clark.context.pendingToolPermissionRequest;
|
|
208
|
-
const peer = clark.context.peer;
|
|
209
|
-
if (!pending || !peer) {
|
|
210
|
-
return Promise.resolve("skipped");
|
|
211
|
-
}
|
|
212
|
-
const reconnectablePeer = reconnectableDeliveryPeer(peer);
|
|
213
|
-
if (reconnectablePeer && !reconnectablePeer.isConnected) {
|
|
214
|
-
return Promise.resolve("skipped");
|
|
215
|
-
}
|
|
216
|
-
if (pending.delivery.status === "awaiting_ack" && !options?.replaceInFlight) {
|
|
217
|
-
return Promise.resolve("skipped");
|
|
218
|
-
}
|
|
219
|
-
const active = inFlightReplays.get(clark);
|
|
220
|
-
const connectionGeneration = reconnectablePeer?.connectionGeneration;
|
|
221
|
-
if (active?.messageId === pending.messageId &&
|
|
222
|
-
(!options?.replaceInFlight ||
|
|
223
|
-
sameConnection(active, peer, connectionGeneration))) {
|
|
224
|
-
return active.promise;
|
|
225
|
-
}
|
|
226
|
-
const replacingFirstDelivery = pending.delivery.status === "awaiting_ack";
|
|
227
|
-
const generation = pending.delivery.generation + 1;
|
|
228
|
-
updatePendingDelivery(clark, pending.messageId, withGeneration(pending.delivery, generation));
|
|
229
|
-
if (replacingFirstDelivery) {
|
|
230
|
-
notifyFirstDeliveryReplaced(clark);
|
|
231
|
-
}
|
|
232
|
-
const request = {
|
|
233
|
-
messageId: pending.messageId,
|
|
234
|
-
toolName: pending.toolName,
|
|
235
|
-
actionName: pending.actionName,
|
|
236
|
-
formattedInput: pending.formattedInput,
|
|
237
|
-
rawInput: pending.rawInput,
|
|
238
|
-
permissions: pending.permissions ?? [],
|
|
239
|
-
signature: pending.signature,
|
|
240
|
-
};
|
|
241
|
-
const promise = (async () => {
|
|
242
|
-
try {
|
|
243
|
-
await callPeer(peer, () => peer.call.aiRequestToolPermission(request), PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS, "aiRequestToolPermission");
|
|
244
|
-
const current = clark.context.pendingToolPermissionRequest;
|
|
245
|
-
if (current?.messageId === pending.messageId &&
|
|
246
|
-
current.delivery.generation === generation) {
|
|
247
|
-
updatePendingDelivery(clark, pending.messageId, {
|
|
248
|
-
status: "acked",
|
|
249
|
-
generation,
|
|
250
|
-
});
|
|
251
|
-
recordToolPermissionDeliveryOutcome("acked_after_replay");
|
|
252
|
-
clark.logger.info(`[debug] replay aiRequestToolPermission acknowledged`, {
|
|
253
|
-
generation,
|
|
254
|
-
messageId: pending.messageId,
|
|
255
|
-
source: options?.source ?? "retry",
|
|
256
|
-
toolName: pending.toolName,
|
|
257
|
-
});
|
|
258
|
-
return "acked";
|
|
259
|
-
}
|
|
260
|
-
clark.logger.info(`[debug] replay aiRequestToolPermission acknowledgement superseded`, {
|
|
261
|
-
attemptedGeneration: generation,
|
|
262
|
-
currentGeneration: current?.delivery.generation,
|
|
263
|
-
messageId: pending.messageId,
|
|
264
|
-
source: options?.source ?? "retry",
|
|
265
|
-
toolName: pending.toolName,
|
|
266
|
-
});
|
|
267
|
-
return "superseded";
|
|
268
|
-
}
|
|
269
|
-
catch (error) {
|
|
270
|
-
clark.logger.warn(`[debug] replay aiRequestToolPermission failed`, {
|
|
271
|
-
messageId: pending.messageId,
|
|
272
|
-
toolName: pending.toolName,
|
|
273
|
-
source: options?.source ?? "retry",
|
|
274
|
-
error: errorMessage(error),
|
|
275
|
-
errorName: error instanceof Error ? error.name : "unknown",
|
|
276
|
-
});
|
|
277
|
-
if (options?.source === "reconnect") {
|
|
278
|
-
clark.logger.error("[ai-service] Failed to resend tool permission request on reconnect", getErrorMeta(error));
|
|
279
|
-
}
|
|
280
|
-
return parkReplayFailure(clark, pending.messageId, replayFailure(error), generation)
|
|
281
|
-
? "parked"
|
|
282
|
-
: "superseded";
|
|
283
|
-
}
|
|
284
|
-
finally {
|
|
285
|
-
const currentReplay = inFlightReplays.get(clark);
|
|
286
|
-
if (currentReplay?.messageId === pending.messageId &&
|
|
287
|
-
currentReplay.generation === generation) {
|
|
288
|
-
inFlightReplays.delete(clark);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
})();
|
|
292
|
-
inFlightReplays.set(clark, {
|
|
293
|
-
connectionGeneration,
|
|
294
|
-
generation,
|
|
295
|
-
messageId: pending.messageId,
|
|
296
|
-
peer,
|
|
297
|
-
promise,
|
|
298
|
-
});
|
|
299
|
-
return promise;
|
|
300
|
-
}
|
|
301
|
-
export function inFlightToolPermissionReplay(clark) {
|
|
302
|
-
return inFlightReplays.get(clark)?.promise;
|
|
303
|
-
}
|
|
16
|
+
import { PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS, RpcTimeoutError, withRpcTimeout, } from "../util/rpc-timeout.js";
|
|
304
17
|
/**
|
|
305
18
|
* Thrown when the permission dialog could not be delivered to the browser.
|
|
306
19
|
* The message is written for the LLM to relay to the user verbatim. The
|
|
307
20
|
* diagnosis depends on the cause: "may be unresponsive" is accurate only for
|
|
308
|
-
* the timeout path
|
|
21
|
+
* the timeout path — an immediate rejection (e.g. a socket drop) can happen
|
|
309
22
|
* with a perfectly healthy tab, so it carries the underlying reason instead.
|
|
310
23
|
*/
|
|
311
24
|
export class PermissionPromptDeliveryError extends Error {
|
|
312
25
|
constructor(toolName, options) {
|
|
313
26
|
const cause = options?.cause;
|
|
314
|
-
const expiredAfterGrace = options?.expiredAfterGrace === true;
|
|
315
|
-
const causeText = cause instanceof Error ? cause.message : String(cause ?? "");
|
|
316
27
|
const diagnosis = cause instanceof RpcTimeoutError
|
|
317
|
-
?
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
: expiredAfterGrace
|
|
322
|
-
? `Could not deliver the permission dialog for "${toolName}" to the user's editor tab before the delivery grace period expired: ${causeText}.`
|
|
323
|
-
: `Could not deliver the permission dialog for "${toolName}" to the user's editor tab: ${causeText}.`;
|
|
28
|
+
? `Could not deliver the permission dialog for "${toolName}" to the user's editor tab within ` +
|
|
29
|
+
`${PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS / 1000}s — the tab may be unresponsive.`
|
|
30
|
+
: `Could not deliver the permission dialog for "${toolName}" to the user's editor tab: ` +
|
|
31
|
+
`${cause instanceof Error ? cause.message : String(cause)}.`;
|
|
324
32
|
super(`${diagnosis} ` +
|
|
325
33
|
`Tell the user to check their editor tab is open and connected, then re-run this action. ` +
|
|
326
34
|
`Do not proceed with the gated action without permission.`, options);
|
|
327
35
|
this.name = "PermissionPromptDeliveryError";
|
|
328
36
|
}
|
|
329
37
|
}
|
|
330
|
-
export function createExpiredPermissionPromptDeliveryError(toolName, delivery) {
|
|
331
|
-
const cause = delivery.failure.kind === "timeout"
|
|
332
|
-
? new RpcTimeoutError("aiRequestToolPermission", PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS)
|
|
333
|
-
: new Error(delivery.failure.message);
|
|
334
|
-
return new PermissionPromptDeliveryError(toolName, {
|
|
335
|
-
cause,
|
|
336
|
-
expiredAfterGrace: true,
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
38
|
/**
|
|
340
|
-
* Deliver the permission dialog to the browser peer
|
|
341
|
-
*
|
|
39
|
+
* Deliver the permission dialog to the browser peer, failing fast when the
|
|
40
|
+
* tab cannot acknowledge. On any delivery failure the pending permission
|
|
41
|
+
* request is cleared (a lingering one suppresses every future prompt in the
|
|
42
|
+
* session) before the error is rethrown.
|
|
342
43
|
*
|
|
343
44
|
* No-peer behavior is unchanged from the pre-ENG-4820 code: warn and return
|
|
344
45
|
* without error; the pending request stays stored.
|
|
@@ -354,81 +55,34 @@ export async function deliverToolPermissionPrompt(clark, request) {
|
|
|
354
55
|
signature,
|
|
355
56
|
});
|
|
356
57
|
if (!clark.context.peer) {
|
|
357
|
-
return
|
|
58
|
+
return;
|
|
358
59
|
}
|
|
359
60
|
// Clark is now blocked on a human. A Gateway caller cannot see this dialog,
|
|
360
61
|
// so without the relay its turn just appears to stall.
|
|
361
62
|
emitLiveEditEvent("auth_required", { reason: "tool_permission" });
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
if (reconnectablePeer && !reconnectablePeer.isConnected) {
|
|
365
|
-
parkAwaitingAck(clark, messageId, {
|
|
366
|
-
kind: "peer_unavailable",
|
|
367
|
-
message: "editor peer disconnected before permission prompt delivery",
|
|
368
|
-
}, startedGeneration);
|
|
369
|
-
return "parked";
|
|
370
|
-
}
|
|
371
|
-
const peer = clark.context.peer;
|
|
372
|
-
const rpcHandled = callPeer(peer, () => peer.call.aiRequestToolPermission(request), PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS, "aiRequestToolPermission").then(() => ({ ok: true }), (error) => ({ ok: false, error }));
|
|
373
|
-
const replaced = whenFirstDeliveryReplaced(clark);
|
|
374
|
-
const winner = await Promise.race([
|
|
375
|
-
rpcHandled.then((result) => ({ kind: "rpc", result })),
|
|
376
|
-
replaced.then(() => ({ kind: "replaced" })),
|
|
377
|
-
]);
|
|
378
|
-
if (winner.kind === "replaced") {
|
|
379
|
-
return settleAfterReplacement(clark, messageId);
|
|
380
|
-
}
|
|
381
|
-
firstDeliveryReplaced.delete(clark);
|
|
382
|
-
if (winner.result.ok) {
|
|
63
|
+
try {
|
|
64
|
+
await withRpcTimeout(clark.context.peer.call.aiRequestToolPermission(request), PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS, "aiRequestToolPermission");
|
|
383
65
|
clark.logger.info(`[debug] aiRequestToolPermission acknowledged`, {
|
|
384
66
|
messageId,
|
|
385
67
|
toolName,
|
|
386
68
|
signature,
|
|
387
69
|
});
|
|
388
|
-
if (updatePendingDelivery(clark, messageId, {
|
|
389
|
-
status: "acked",
|
|
390
|
-
generation: startedGeneration,
|
|
391
|
-
}, { status: "awaiting_ack", generation: startedGeneration })) {
|
|
392
|
-
recordToolPermissionDeliveryOutcome("acked");
|
|
393
|
-
return "acked";
|
|
394
|
-
}
|
|
395
|
-
const outcome = currentDeliveryOutcome(clark, messageId);
|
|
396
|
-
return outcome === "awaiting_ack"
|
|
397
|
-
? settleAfterReplacement(clark, messageId)
|
|
398
|
-
: outcome;
|
|
399
|
-
}
|
|
400
|
-
const error = winner.result.error;
|
|
401
|
-
clark.logger.warn(`[debug] aiRequestToolPermission failed`, {
|
|
402
|
-
messageId,
|
|
403
|
-
toolName,
|
|
404
|
-
signature,
|
|
405
|
-
error: error instanceof Error ? error.message : String(error),
|
|
406
|
-
// Structured discriminator (e.g. "RpcTimeoutError" vs socket errors) so
|
|
407
|
-
// Datadog can query @errorName instead of the refactor-fragile freetext
|
|
408
|
-
// message when tracking delivery-failure rates.
|
|
409
|
-
errorName: error instanceof Error ? error.name : "unknown",
|
|
410
|
-
});
|
|
411
|
-
const failure = transientDeliveryFailure(error);
|
|
412
|
-
if (failure) {
|
|
413
|
-
const parked = parkAwaitingAck(clark, messageId, failure, startedGeneration);
|
|
414
|
-
if (parked) {
|
|
415
|
-
return "parked";
|
|
416
|
-
}
|
|
417
|
-
const outcome = currentDeliveryOutcome(clark, messageId);
|
|
418
|
-
return outcome === "awaiting_ack"
|
|
419
|
-
? settleAfterReplacement(clark, messageId)
|
|
420
|
-
: outcome;
|
|
421
70
|
}
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
71
|
+
catch (error) {
|
|
72
|
+
clark.logger.warn(`[debug] aiRequestToolPermission failed`, {
|
|
73
|
+
messageId,
|
|
74
|
+
toolName,
|
|
75
|
+
signature,
|
|
76
|
+
error: error instanceof Error ? error.message : String(error),
|
|
77
|
+
// Structured discriminator (e.g. "RpcTimeoutError" vs socket errors) so
|
|
78
|
+
// Datadog can query @errorName instead of the refactor-fragile freetext
|
|
79
|
+
// message when tracking delivery-failure rates.
|
|
80
|
+
errorName: error instanceof Error ? error.name : "unknown",
|
|
81
|
+
});
|
|
82
|
+
// Clear pending request on error and notify UI — a lingering pending
|
|
83
|
+
// request suppresses all future permission prompts in the session.
|
|
84
|
+
clearPendingToolPermissionRequest(clark, "prompt-rpc-error");
|
|
85
|
+
throw new PermissionPromptDeliveryError(toolName, { cause: error });
|
|
430
86
|
}
|
|
431
|
-
clearPendingToolPermissionRequest(clark, "prompt-rpc-error");
|
|
432
|
-
throw new PermissionPromptDeliveryError(toolName, { cause: error });
|
|
433
87
|
}
|
|
434
88
|
//# sourceMappingURL=tool-permission-delivery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-permission-delivery.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,qCAAqC,EACrC,iCAAiC,EACjC,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAqC5F,SAAS,yBAAyB,CAChC,IAA2C;IAE3C,IACE,sBAAsB,IAAI,IAAI;QAC9B,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ;QAC7C,aAAa,IAAI,IAAI;QACrB,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,MAAsB,EACtB,IAA2C,EAC3C,oBAAwC;IAExC,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,oBAAoB,KAAK,oBAAoB,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC,IAAI;QACjC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;KAC7B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAY,EACZ,SAAiB,EACjB,OAAqC,EACrC,UAAkB;IAElB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC;QACrD,IACE,CAAC,OAAO;YACR,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,EAC1C,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC;QACnD,OAAO;YACL,GAAG,OAAO;YACV,4BAA4B,EAAE;gBAC5B,GAAG,OAAO;gBACV,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,WAAW,EACT,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ;wBAClC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;wBAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,iCAAiC;oBACpD,OAAO;oBACP,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,WAAW,EAAE,CAAC;QAChB,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC7D,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE/D,SAAS,YAAY,CAAC,KAAc;IAClC,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAY,EACZ,SAAiB,EACjB,QAAuC,EACvC,QAGC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC;QACrD,IACE,CAAC,OAAO;YACR,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,CAAC,QAAQ;gBACP,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC,EACzD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,OAAO;YACL,GAAG,OAAO;YACV,4BAA4B,EAAE;gBAC5B,GAAG,OAAO;gBACV,QAAQ;aACT;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAY;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAY;IAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAc;IAEd,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;SAC7B,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,KAAY,EACZ,SAAiB,EACjB,OAAqC,EACrC,UAAkB;IAElB,MAAM,MAAM,GAAG,qBAAqB,CAClC,KAAK,EACL,SAAS,EACT;QACE,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,iCAAiC;QAC3D,OAAO;QACP,UAAU;KACX,EACD,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CACvC,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAY,EACZ,SAAiB;IAEjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;IAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,QAAQ,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC,QAAQ,CAAC;YAC3C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAY,EACZ,SAAiB;IAEjB,MAAM,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,OAAO,CAAC;QACjB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;YAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChD,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAC5B,KAAK,EACL,SAAS,EACT;gBACE,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,iDAAiD;aAC3D,EACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAC5B,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,gCAAgC,CAAC,KAAK,CAAC,CAAC;gBAC7C,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACvD,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,QAAuC,EACvC,UAAkB;IAElB,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU;aACX,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,QAAQ,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAY,EACZ,OAAuE;IAEvE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;QAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,oBAAoB,CAAC;IACrE,IACE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS;QACvC,CAAC,CAAC,OAAO,EAAE,eAAe;YACxB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,EACrD,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;IACnD,qBAAqB,CACnB,KAAK,EACL,OAAO,CAAC,SAAS,EACjB,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAC7C,CAAC;IACF,IAAI,sBAAsB,EAAE,CAAC;QAC3B,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GAAgC;QAC3C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAK,IAA0C,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,QAAQ,CACZ,IAAI,EACJ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAChD,qCAAqC,EACrC,yBAAyB,CAC1B,CAAC;YACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;YAC3D,IACE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS;gBACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,EAC1C,CAAC;gBACD,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;oBAC9C,MAAM,EAAE,OAAO;oBACf,UAAU;iBACX,CAAC,CAAC;gBACH,mCAAmC,CAAC,oBAAoB,CAAC,CAAC;gBAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,qDAAqD,EACrD;oBACE,UAAU;oBACV,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO;oBAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CACF,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,mEAAmE,EACnE;gBACE,mBAAmB,EAAE,UAAU;gBAC/B,iBAAiB,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU;gBAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO;gBAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CACF,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBACjE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO;gBAClC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;gBAC1B,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAC3D,CAAC,CAAC;YACH,IAAI,OAAO,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,oEAAoE,EACpE,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,KAAK,EACL,OAAO,CAAC,SAAS,EACjB,aAAa,CAAC,KAAK,CAAC,EACpB,UAAU,CACX;gBACC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjD,IACE,aAAa,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS;gBAC9C,aAAa,CAAC,UAAU,KAAK,UAAU,EACvC,CAAC;gBACD,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;QACzB,oBAAoB;QACpB,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAY;IAEZ,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YACE,QAAgB,EAChB,OAA0D;QAE1D,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;QAC9D,MAAM,SAAS,GACb,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,SAAS,GACb,KAAK,YAAY,eAAe;YAC9B,CAAC,CAAC,iBAAiB;gBACjB,CAAC,CAAC,gDAAgD,QAAQ,mGAAmG;gBAC7J,CAAC,CAAC,gDAAgD,QAAQ,oCAAoC;oBAC5F,GAAG,qCAAqC,GAAG,IAAI,iCAAiC;YACpF,CAAC,CAAC,iBAAiB;gBACjB,CAAC,CAAC,gDAAgD,QAAQ,wEAAwE,SAAS,GAAG;gBAC9I,CAAC,CAAC,gDAAgD,QAAQ,+BAA+B,SAAS,GAAG,CAAC;QAC5G,KAAK,CACH,GAAG,SAAS,GAAG;YACb,0FAA0F;YAC1F,0DAA0D,EAC5D,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,UAAU,0CAA0C,CACxD,QAAgB,EAChB,QAAsE;IAEtE,MAAM,KAAK,GACT,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;QACjC,CAAC,CAAC,IAAI,eAAe,CACjB,yBAAyB,EACzB,qCAAqC,CACtC;QACH,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,6BAA6B,CAAC,QAAQ,EAAE;QACjD,KAAK;QACL,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAY,EACZ,OAAoC;IAEpC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,SAAS,EAAE,CAAC,IAAI,CACd,8DAA8D,QAAQ,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;QAC3D,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,uDAAuD;IACvD,iBAAiB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAElE,MAAM,iBAAiB,GACrB,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACxD,eAAe,CACb,KAAK,EACL,SAAS,EACT;YACE,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,4DAA4D;SACtE,EACD,iBAAiB,CAClB,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CACzB,IAAI,EACJ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAChD,qCAAqC,EACrC,yBAAyB,CAC1B,CAAC,IAAI,CACJ,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,CAAC,EAC7B,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,CAAC,CACpD,CAAC;IACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC,CAAC;KACrD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IACD,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;YAChE,SAAS;YACT,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QACH,IACE,qBAAqB,CACnB,KAAK,EACL,SAAS,EACT;YACE,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,iBAAiB;SAC9B,EACD,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAC1D,EACD,CAAC;YACD,mCAAmC,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,OAAO,KAAK,cAAc;YAC/B,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;QAC1D,SAAS;QACT,QAAQ;QACR,SAAS;QACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7D,wEAAwE;QACxE,wEAAwE;QACxE,gDAAgD;QAChD,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC3D,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,eAAe,CAC5B,KAAK,EACL,SAAS,EACT,OAAO,EACP,iBAAiB,CAClB,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,OAAO,KAAK,cAAc;YAC/B,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;IAC3D,IACE,OAAO,EAAE,SAAS,KAAK,SAAS;QAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc;QAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,KAAK,iBAAiB,EACjD,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,OAAO,KAAK,cAAc;YAC/B,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IACD,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,IAAI,6BAA6B,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-permission-delivery.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EACL,qCAAqC,EACrC,eAAe,EACf,cAAc,GACf,MAAM,wBAAwB,CAAC;AAUhC;;;;;;GAMG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,QAAgB,EAAE,OAA6B;QACzD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,MAAM,SAAS,GACb,KAAK,YAAY,eAAe;YAC9B,CAAC,CAAC,gDAAgD,QAAQ,oCAAoC;gBAC5F,GAAG,qCAAqC,GAAG,IAAI,kCAAkC;YACnF,CAAC,CAAC,gDAAgD,QAAQ,8BAA8B;gBACtF,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACnE,KAAK,CACH,GAAG,SAAS,GAAG;YACb,0FAA0F;YAC1F,0DAA0D,EAC5D,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAY,EACZ,OAAoC;IAEpC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,SAAS,EAAE,CAAC,IAAI,CACd,8DAA8D,QAAQ,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;QAC3D,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,uDAAuD;IACvD,iBAAiB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,cAAc,CAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EACxD,qCAAqC,EACrC,yBAAyB,CAC1B,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;YAChE,SAAS;YACT,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YAC1D,SAAS;YACT,QAAQ;YACR,SAAS;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,wEAAwE;YACxE,wEAAwE;YACxE,gDAAgD;YAChD,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC,CAAC;QACH,qEAAqE;QACrE,mEAAmE;QACnE,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC7D,MAAM,IAAI,6BAA6B,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import type { ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
|
|
2
2
|
/**
|
|
3
3
|
* Stay under the agent outputLimiter (DEFAULT_MAX_OUTPUT_CHARS = 25_000)
|
|
4
|
-
* with headroom for JSON wrapping.
|
|
4
|
+
* with headroom for JSON wrapping. Local constant — importing middleware
|
|
5
|
+
* would cycle (middleware registers this tool factory).
|
|
6
|
+
*
|
|
7
|
+
* Used when the resolved plugin set is exclusively postgres (pluginIds
|
|
8
|
+
* and/or integrationIds that map to postgres). Multi-plugin, non-postgres,
|
|
9
|
+
* and unscoped callers keep the legacy full root README + skipOutputLimit.
|
|
10
|
+
*/
|
|
11
|
+
export declare const APP_DB_SCOPED_SDK_DOCS_CHAR_BUDGET = 24500;
|
|
12
|
+
/** Plugin IDs that always use the slim pack (omit root README + budget). */
|
|
13
|
+
export declare const APP_DB_SLIM_PLUGIN_IDS: Set<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Shared SDK contracts that replace the omitted root README on slim lookups.
|
|
16
|
+
* Slim is still postgres-only; the all-plugins slim path should reuse this
|
|
17
|
+
* stub instead of a one-off omit note.
|
|
5
18
|
*/
|
|
6
|
-
export declare const SCOPED_SDK_DOCS_CHAR_BUDGET = 24500;
|
|
7
|
-
export type SdkApiDocsServices = {
|
|
8
|
-
integrationStore: Pick<ClarkStateHandlerParams["integrationStore"], "getHeader" | "getPluginExecutionVersion">;
|
|
9
|
-
};
|
|
10
19
|
export declare const SCOPED_SDK_PATTERNS_STUB: string;
|
|
20
|
+
/**
|
|
21
|
+
* Slim postgres-scoped docs with parity between call shapes:
|
|
22
|
+
* - `pluginIds: ["postgres"]` and
|
|
23
|
+
* - `integrationIds: [<any postgres integration>]` (App DB or BYO)
|
|
24
|
+
* always pack the same way (omit root README + budget).
|
|
25
|
+
*
|
|
26
|
+
* No IntegrationStore scan / managedBy / pending-priming race — only the
|
|
27
|
+
* resolved plugin set matters. Multi-plugin, non-postgres, and unscoped
|
|
28
|
+
* lookups keep the legacy fat path (unscoped still returns full root README).
|
|
29
|
+
*/
|
|
30
|
+
export declare function shouldSlimForAppDatabase(integrationIds: string[], pluginIds: string[], services: ClarkStateHandlerParams): boolean;
|
|
11
31
|
type SdkApiDocsResult = {
|
|
12
32
|
documentation: string;
|
|
13
33
|
plugins: {
|
|
@@ -15,16 +35,22 @@ type SdkApiDocsResult = {
|
|
|
15
35
|
version?: string;
|
|
16
36
|
sdkVersion?: string;
|
|
17
37
|
}[];
|
|
38
|
+
/** Present on postgres-slim path so skipOutputLimit can stay legacy elsewhere. */
|
|
39
|
+
appDatabaseSlim?: boolean;
|
|
18
40
|
};
|
|
19
41
|
/**
|
|
20
|
-
* Note appended when
|
|
42
|
+
* Note appended when postgres-scoped plugin docs are cut to stay under the
|
|
21
43
|
* outputLimiter budget. Intentionally does not promise that repeating
|
|
22
44
|
* getSdkApiDocs with the same integrationIds returns the omitted tail —
|
|
23
45
|
* there is no cursor/offset, so that call yields the same prefix.
|
|
24
46
|
*/
|
|
25
|
-
export declare const
|
|
26
|
-
|
|
27
|
-
|
|
47
|
+
export declare const APP_DB_SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated postgres-scoped SDK docs for context budget; this tool has no continuation cursor \u2014 repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root README, not the omitted plugin sections]";
|
|
48
|
+
/**
|
|
49
|
+
* Truncate postgres-scoped docs so the typed JSON result stays under the
|
|
50
|
+
* outputLimiter budget (never return the limiter's bare truncated string).
|
|
51
|
+
*/
|
|
52
|
+
export declare function fitAppDatabaseDocsUnderBudget(result: SdkApiDocsResult, budget?: number): SdkApiDocsResult;
|
|
53
|
+
export declare const getSdkApiDocsToolFactory: import("../../tools2/types.js").ToolFactory<ClarkStateHandlerParams, import("../../tools2/types.js").Tool<{
|
|
28
54
|
integrationIds?: string[] | undefined;
|
|
29
55
|
pluginIds?: string[] | undefined;
|
|
30
56
|
}, SdkApiDocsResult>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAGnF
|
|
1
|
+
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAGnF;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,aAAwB,CAAC;AA4C5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAkBzB,CAAC;AAqBb;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAYT;AA4ED,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,0SACqP,CAAC;AAErS;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,MAA2C,GAClD,gBAAgB,CA6BlB;AAkCD,eAAO,MAAM,wBAAwB;;;qBAiHpC,CAAC"}
|