@vibes.diy/api-svc 8.1.1 → 8.1.2
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/cf-serve.js +2 -0
- package/cf-serve.js.map +1 -1
- package/create-handler.d.ts +5 -0
- package/create-handler.js +4 -0
- package/create-handler.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/intern/backend-db-callback.js +10 -3
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/backend-egress.d.ts +12 -0
- package/intern/backend-egress.js +122 -31
- package/intern/backend-egress.js.map +1 -1
- package/intern/delete-access-gate.js +6 -1
- package/intern/delete-access-gate.js.map +1 -1
- package/intern/distill-url.d.ts +14 -0
- package/intern/distill-url.js +270 -0
- package/intern/distill-url.js.map +1 -0
- package/intern/ensure-push-seeded-chat.js +1 -0
- package/intern/ensure-push-seeded-chat.js.map +1 -1
- package/intern/fetch-url-tool.d.ts +38 -0
- package/intern/fetch-url-tool.js +299 -0
- package/intern/fetch-url-tool.js.map +1 -0
- package/intern/first-message-embedding.js +5 -4
- package/intern/first-message-embedding.js.map +1 -1
- package/intern/llm-tool-loop.d.ts +66 -0
- package/intern/llm-tool-loop.js +355 -0
- package/intern/llm-tool-loop.js.map +1 -0
- package/intern/load-owner-egress-status.d.ts +1 -1
- package/intern/load-owner-egress-status.js.map +1 -1
- package/intern/load-research-context.d.ts +17 -0
- package/intern/load-research-context.js +160 -0
- package/intern/load-research-context.js.map +1 -0
- package/intern/persist-url-research.d.ts +37 -0
- package/intern/persist-url-research.js +249 -0
- package/intern/persist-url-research.js.map +1 -0
- package/intern/prompt-assembly.d.ts +3 -0
- package/intern/prompt-assembly.js +33 -7
- package/intern/prompt-assembly.js.map +1 -1
- package/intern/provider-sse.d.ts +3 -0
- package/intern/provider-sse.js +12 -0
- package/intern/provider-sse.js.map +1 -0
- package/intern/read-anonymous-seed-docs.js +17 -10
- package/intern/read-anonymous-seed-docs.js.map +1 -1
- package/intern/recovery.js +5 -1
- package/intern/recovery.js.map +1 -1
- package/intern/resend-prev-msg.js +5 -4
- package/intern/resend-prev-msg.js.map +1 -1
- package/intern/turn-url-fetch-budget.d.ts +16 -0
- package/intern/turn-url-fetch-budget.js +33 -0
- package/intern/turn-url-fetch-budget.js.map +1 -0
- package/intern/url-activation.d.ts +8 -0
- package/intern/url-activation.js +79 -0
- package/intern/url-activation.js.map +1 -0
- package/intern/url-research-queue.d.ts +7 -0
- package/intern/url-research-queue.js +31 -0
- package/intern/url-research-queue.js.map +1 -0
- package/intern/url-research.d.ts +112 -0
- package/intern/url-research.js +631 -0
- package/intern/url-research.js.map +1 -0
- package/intern/version-timeline.d.ts +1 -0
- package/intern/version-timeline.js +15 -4
- package/intern/version-timeline.js.map +1 -1
- package/package.json +13 -11
- package/public/access-output-decoder.d.ts +12 -0
- package/public/access-output-decoder.js +130 -0
- package/public/access-output-decoder.js.map +1 -0
- package/public/app-documents-read-eventos.js +87 -40
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/app-documents-shared.d.ts +11 -4
- package/public/app-documents-shared.js +1 -1
- package/public/app-documents-shared.js.map +1 -1
- package/public/app-documents-write-eventos.js +6 -1
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/channel-read-filter.d.ts +11 -5
- package/public/channel-read-filter.js +5 -6
- package/public/channel-read-filter.js.map +1 -1
- package/public/db-acl-resolver.d.ts +9 -3
- package/public/db-acl-resolver.js +1 -1
- package/public/db-acl-resolver.js.map +1 -1
- package/public/files-asset.js +1 -1
- package/public/files-asset.js.map +1 -1
- package/public/fork-app.js +1 -0
- package/public/fork-app.js.map +1 -1
- package/public/get-application-chat.js +5 -4
- package/public/get-application-chat.js.map +1 -1
- package/public/get-chat-details.js +5 -4
- package/public/get-chat-details.js.map +1 -1
- package/public/get-chat-response.js +5 -4
- package/public/get-chat-response.js.map +1 -1
- package/public/get-vibe-chips.js +5 -4
- package/public/get-vibe-chips.js.map +1 -1
- package/public/image-gen.js +2 -1
- package/public/image-gen.js.map +1 -1
- package/public/img-doc-write.js +1 -1
- package/public/img-doc-write.js.map +1 -1
- package/public/inherit-read-resolver.d.ts +2 -7
- package/public/inherit-read-resolver.js +27 -65
- package/public/inherit-read-resolver.js.map +1 -1
- package/public/llm-dispatch.d.ts +10 -3
- package/public/llm-dispatch.js +97 -13
- package/public/llm-dispatch.js.map +1 -1
- package/public/prompt-chat-section.js +23 -8
- package/public/prompt-chat-section.js.map +1 -1
- package/public/stream-assembly.d.ts +4 -2
- package/public/stream-assembly.js +12 -8
- package/public/stream-assembly.js.map +1 -1
- package/types.d.ts +5 -0
- package/types.js.map +1 -1
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { Result, exception2Result } from "@adviser/cement";
|
|
2
|
+
import { CorsVerdictCache } from "./egress-cors.js";
|
|
3
|
+
import { attemptBackendEgressWithOutcome, isBackendEgressBodyTooLarge, isBackendEgressSyntheticError, } from "./backend-egress.js";
|
|
4
|
+
import { EgressRateWindow } from "./egress-rate.js";
|
|
5
|
+
import { activateUrlCandidates } from "./url-activation.js";
|
|
6
|
+
import { boundToolText, distillUrlResponse } from "./distill-url.js";
|
|
7
|
+
import { MAX_TOOL_RESULT_CHARS } from "./llm-tool-loop.js";
|
|
8
|
+
export const FETCH_URL_TOOL_NAME = "fetch_url";
|
|
9
|
+
export const FETCH_URL_TIMEOUT_MS = 8_000;
|
|
10
|
+
export const FETCH_URL_RESPONSE_CAP_BYTES = 1 * 1024 * 1024;
|
|
11
|
+
export function createFetchUrlTool(context) {
|
|
12
|
+
const activated = [...context.activatedUrls];
|
|
13
|
+
const definition = {
|
|
14
|
+
type: "function",
|
|
15
|
+
function: {
|
|
16
|
+
name: FETCH_URL_TOOL_NAME,
|
|
17
|
+
description: "Fetch one of the HTTPS URLs activated in the user's current request.",
|
|
18
|
+
parameters: {
|
|
19
|
+
type: "object",
|
|
20
|
+
properties: { url: { type: "string", enum: activated } },
|
|
21
|
+
required: ["url"],
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
const rate = context.rate ?? new EgressRateWindow();
|
|
27
|
+
const corsCache = context.corsCache ?? new CorsVerdictCache();
|
|
28
|
+
const executor = createFetchUrlToolExecutor({ ...context, activatedUrls: activated, rate, corsCache }, { fetchBudget: context.fetchBudget, ownerLane: context.ownerLane });
|
|
29
|
+
return { definition, executor };
|
|
30
|
+
}
|
|
31
|
+
export function createFetchUrlToolExecutor(context, options = {}) {
|
|
32
|
+
const activated = [...context.activatedUrls];
|
|
33
|
+
const rate = context.rate ?? new EgressRateWindow();
|
|
34
|
+
const corsCache = context.corsCache ?? new CorsVerdictCache();
|
|
35
|
+
const fetchBudget = options.fetchBudget ?? context.fetchBudget;
|
|
36
|
+
const ownerLane = options.ownerLane ?? context.ownerLane ?? "main";
|
|
37
|
+
const executor = async ({ call, signal }) => {
|
|
38
|
+
if (call.name !== FETCH_URL_TOOL_NAME)
|
|
39
|
+
return Result.Ok(failure({ url: "", backendFetchable: false, code: "invalid_url", message: "Invalid URL request." }));
|
|
40
|
+
const args = exception2Result(() => JSON.parse(call.arguments));
|
|
41
|
+
if (args.isErr() || args.Ok() === null || typeof args.Ok() !== "object" || Array.isArray(args.Ok())) {
|
|
42
|
+
return Result.Ok(failure({ url: "", backendFetchable: false, code: "invalid_url", message: "Invalid URL request." }));
|
|
43
|
+
}
|
|
44
|
+
const parsedArgs = args.Ok();
|
|
45
|
+
if (Object.keys(parsedArgs).some((key) => key !== "url")) {
|
|
46
|
+
return Result.Ok(failure({ url: "", backendFetchable: false, code: "invalid_url", message: "Invalid URL request." }));
|
|
47
|
+
}
|
|
48
|
+
const rawUrl = parsedArgs.url;
|
|
49
|
+
if (typeof rawUrl !== "string") {
|
|
50
|
+
return Result.Ok(failure({ url: "", backendFetchable: false, code: "invalid_url", message: "Invalid URL request." }));
|
|
51
|
+
}
|
|
52
|
+
const canonical = activateUrlCandidates({ currentUserText: rawUrl })[0];
|
|
53
|
+
if (canonical === undefined) {
|
|
54
|
+
return Result.Ok(failure({
|
|
55
|
+
url: rawUrl.slice(0, 2_048),
|
|
56
|
+
backendFetchable: false,
|
|
57
|
+
code: "invalid_url",
|
|
58
|
+
message: "Only an activated public HTTPS URL can be fetched.",
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
if (activated.includes(canonical) === false) {
|
|
62
|
+
return Result.Ok(failure({
|
|
63
|
+
url: canonical,
|
|
64
|
+
backendFetchable: false,
|
|
65
|
+
code: "not_activated",
|
|
66
|
+
message: "That URL was not activated by the current request.",
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
const preflightSignal = combineSignals([context.parentSignal, signal]);
|
|
70
|
+
if (preflightSignal.aborted) {
|
|
71
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: false, code: "aborted", message: "The request was aborted." }));
|
|
72
|
+
}
|
|
73
|
+
if (fetchBudget !== undefined && fetchBudget.reserve(ownerLane) === false) {
|
|
74
|
+
return Result.Ok(failure({
|
|
75
|
+
url: canonical,
|
|
76
|
+
backendFetchable: false,
|
|
77
|
+
code: "limit_exceeded",
|
|
78
|
+
message: "The URL fetch limit was reached.",
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
const reserveUrlFetches = context.reserveUrlFetches;
|
|
82
|
+
if (reserveUrlFetches === undefined) {
|
|
83
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: false, code: "fetch_failed", message: "URL reservation is unavailable." }));
|
|
84
|
+
}
|
|
85
|
+
const reservation = await exception2Result(() => reserveUrlFetches(context.userId, context.chatId, 1));
|
|
86
|
+
if (reservation.isErr()) {
|
|
87
|
+
const code = String(reservation.Err()).includes("429") ? "limit_exceeded" : "fetch_failed";
|
|
88
|
+
return Result.Ok(failure({
|
|
89
|
+
url: canonical,
|
|
90
|
+
backendFetchable: false,
|
|
91
|
+
code,
|
|
92
|
+
message: code === "limit_exceeded" ? "The URL fetch limit was reached." : "URL reservation failed.",
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
const deadlineMs = context.deadlineMs ?? FETCH_URL_TIMEOUT_MS;
|
|
96
|
+
const deadlineSignal = AbortSignal.timeout(deadlineMs);
|
|
97
|
+
const requestSignal = combineSignals([context.parentSignal, signal, deadlineSignal]);
|
|
98
|
+
const request = new Request(canonical, {
|
|
99
|
+
method: "GET",
|
|
100
|
+
headers: { accept: "text/html, application/xhtml+xml, text/plain, application/json, text/csv" },
|
|
101
|
+
redirect: "manual",
|
|
102
|
+
signal: requestSignal,
|
|
103
|
+
});
|
|
104
|
+
const egressInput = {
|
|
105
|
+
request,
|
|
106
|
+
ownerHandle: context.ownerHandle,
|
|
107
|
+
appSlug: context.appSlug,
|
|
108
|
+
vibeOrigin: context.vibeOrigin,
|
|
109
|
+
ownerStatus: context.ownerStatus,
|
|
110
|
+
rate,
|
|
111
|
+
corsCache,
|
|
112
|
+
timeoutMs: deadlineMs,
|
|
113
|
+
responseCapBytes: FETCH_URL_RESPONSE_CAP_BYTES,
|
|
114
|
+
signal: requestSignal,
|
|
115
|
+
now: context.now,
|
|
116
|
+
fetcher: context.fetcher === undefined
|
|
117
|
+
? undefined
|
|
118
|
+
: (outbound) => fetchWithSignal(context.fetcher, outbound, requestSignal),
|
|
119
|
+
};
|
|
120
|
+
const outcomeResult = await exception2Result(() => attemptBackendEgressWithOutcome(egressInput));
|
|
121
|
+
if (outcomeResult.isErr()) {
|
|
122
|
+
if (context.parentSignal?.aborted || signal.aborted) {
|
|
123
|
+
const code = context.parentSignal?.aborted ? "aborted" : toolAbortCode(signal);
|
|
124
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: false, code, message: messageForAbort(code) }));
|
|
125
|
+
}
|
|
126
|
+
if (deadlineSignal.aborted) {
|
|
127
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code: "timeout", message: "The URL fetch timed out." }));
|
|
128
|
+
}
|
|
129
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code: "fetch_failed", message: "The URL fetch failed." }));
|
|
130
|
+
}
|
|
131
|
+
const outcome = outcomeResult.Ok();
|
|
132
|
+
if (context.parentSignal?.aborted)
|
|
133
|
+
await cancelResponseBody(outcome.response, "URL fetch parent request aborted");
|
|
134
|
+
if (context.parentSignal?.aborted)
|
|
135
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: false, code: "aborted", message: "The request was aborted." }));
|
|
136
|
+
if (deadlineSignal.aborted)
|
|
137
|
+
await cancelResponseBody(outcome.response, "URL fetch deadline exceeded");
|
|
138
|
+
if (deadlineSignal.aborted)
|
|
139
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: outcome.policyAdmitted, code: "timeout", message: "The URL fetch timed out." }));
|
|
140
|
+
if (signal.aborted) {
|
|
141
|
+
await cancelResponseBody(outcome.response, "URL fetch tool request aborted");
|
|
142
|
+
const code = toolAbortCode(signal);
|
|
143
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: outcome.policyAdmitted, code, message: messageForAbort(code) }));
|
|
144
|
+
}
|
|
145
|
+
if (outcome.policyAdmitted === false) {
|
|
146
|
+
await cancelResponseBody(outcome.response, "URL fetch denied by egress policy");
|
|
147
|
+
return Result.Ok(failure({
|
|
148
|
+
url: canonical,
|
|
149
|
+
backendFetchable: false,
|
|
150
|
+
code: "egress_denied",
|
|
151
|
+
message: "The URL was denied by the outbound egress policy.",
|
|
152
|
+
gate: outcome.denialGate,
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
if (isBackendEgressSyntheticError(outcome.response)) {
|
|
156
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code: "fetch_failed", message: "The URL fetch failed." }));
|
|
157
|
+
}
|
|
158
|
+
if (outcome.response.status < 200 || outcome.response.status >= 300) {
|
|
159
|
+
await cancelResponseBody(outcome.response, "URL fetch upstream status was not successful");
|
|
160
|
+
return Result.Ok(failure({
|
|
161
|
+
url: canonical,
|
|
162
|
+
backendFetchable: true,
|
|
163
|
+
code: "upstream_http",
|
|
164
|
+
message: "The upstream returned a non-success status.",
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
const distilledResult = await exception2Result(() => distillUrlResponse(outcome.response, canonical, requestSignal));
|
|
168
|
+
if (distilledResult.isErr()) {
|
|
169
|
+
if (context.parentSignal?.aborted) {
|
|
170
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code: "aborted", message: "The request was aborted." }));
|
|
171
|
+
}
|
|
172
|
+
if (signal.aborted) {
|
|
173
|
+
const code = toolAbortCode(signal);
|
|
174
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code, message: messageForAbort(code) }));
|
|
175
|
+
}
|
|
176
|
+
if (deadlineSignal.aborted) {
|
|
177
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code: "timeout", message: "The URL fetch timed out." }));
|
|
178
|
+
}
|
|
179
|
+
const code = isBackendEgressBodyTooLarge(outcome.response)
|
|
180
|
+
? "body_too_large"
|
|
181
|
+
: mapDistillFailure(String(distilledResult.Err()));
|
|
182
|
+
return Result.Ok(failure({ url: canonical, backendFetchable: true, code, message: messageFor(code) }));
|
|
183
|
+
}
|
|
184
|
+
const distilled = distilledResult.Ok();
|
|
185
|
+
const finalUrl = (outcome.finalUrl ?? outcome.response.url) || canonical;
|
|
186
|
+
const bounded = boundToolText(distilled.text);
|
|
187
|
+
return Result.Ok(serialize({
|
|
188
|
+
ok: true,
|
|
189
|
+
url: canonical,
|
|
190
|
+
finalUrl,
|
|
191
|
+
contentType: distilled.contentType,
|
|
192
|
+
status: outcome.response.status,
|
|
193
|
+
backendFetchable: true,
|
|
194
|
+
upstreamOk: true,
|
|
195
|
+
truncated: distilled.truncated || bounded.truncated,
|
|
196
|
+
text: bounded.text,
|
|
197
|
+
}));
|
|
198
|
+
};
|
|
199
|
+
return executor;
|
|
200
|
+
}
|
|
201
|
+
function combineSignals(signals) {
|
|
202
|
+
const active = signals.filter((item) => item !== undefined);
|
|
203
|
+
if (active.length === 1 && active[0] !== undefined)
|
|
204
|
+
return active[0];
|
|
205
|
+
return AbortSignal.any(active);
|
|
206
|
+
}
|
|
207
|
+
async function cancelResponseBody(response, reason) {
|
|
208
|
+
if (response.body === null)
|
|
209
|
+
return;
|
|
210
|
+
await exception2Result(() => response.body?.cancel(reason));
|
|
211
|
+
}
|
|
212
|
+
function fetchWithSignal(fetcher, request, signal) {
|
|
213
|
+
if (signal.aborted)
|
|
214
|
+
return Promise.reject(new Error("aborted"));
|
|
215
|
+
return new Promise((resolve, reject) => {
|
|
216
|
+
let settled = false;
|
|
217
|
+
const onAbort = () => {
|
|
218
|
+
if (settled)
|
|
219
|
+
return;
|
|
220
|
+
settled = true;
|
|
221
|
+
signal.removeEventListener("abort", onAbort);
|
|
222
|
+
reject(new Error("aborted"));
|
|
223
|
+
};
|
|
224
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
225
|
+
void fetcher(request).then((response) => {
|
|
226
|
+
signal.removeEventListener("abort", onAbort);
|
|
227
|
+
if (settled || signal.aborted) {
|
|
228
|
+
void cancelResponseBody(response, "URL fetch request aborted before response delivery");
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
settled = true;
|
|
232
|
+
resolve(response);
|
|
233
|
+
}, (error) => {
|
|
234
|
+
signal.removeEventListener("abort", onAbort);
|
|
235
|
+
if (settled)
|
|
236
|
+
return;
|
|
237
|
+
settled = true;
|
|
238
|
+
reject(error);
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
function mapDistillFailure(error) {
|
|
243
|
+
if (error === "body_too_large")
|
|
244
|
+
return "body_too_large";
|
|
245
|
+
if (error === "unsupported_content_type")
|
|
246
|
+
return "unsupported_content_type";
|
|
247
|
+
if (error === "invalid_content")
|
|
248
|
+
return "invalid_content";
|
|
249
|
+
return "distill_failed";
|
|
250
|
+
}
|
|
251
|
+
function messageFor(code) {
|
|
252
|
+
switch (code) {
|
|
253
|
+
case "body_too_large":
|
|
254
|
+
return "The upstream response was too large.";
|
|
255
|
+
case "unsupported_content_type":
|
|
256
|
+
return "The upstream content type is not supported.";
|
|
257
|
+
case "invalid_content":
|
|
258
|
+
return "The upstream content could not be parsed safely.";
|
|
259
|
+
case "distill_failed":
|
|
260
|
+
return "The upstream content could not be distilled.";
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function toolAbortCode(signal) {
|
|
264
|
+
return signal.reason === "tool-deadline" ? "deadline_exceeded" : "aborted";
|
|
265
|
+
}
|
|
266
|
+
function messageForAbort(code) {
|
|
267
|
+
return code === "deadline_exceeded" ? "The URL fetch deadline was exceeded." : "The request was aborted.";
|
|
268
|
+
}
|
|
269
|
+
function failure(input) {
|
|
270
|
+
return serialize({ ok: false, ...input });
|
|
271
|
+
}
|
|
272
|
+
function serialize(value) {
|
|
273
|
+
const json = JSON.stringify(value);
|
|
274
|
+
if (json.length <= MAX_TOOL_RESULT_CHARS)
|
|
275
|
+
return json;
|
|
276
|
+
const text = typeof value.text === "string" ? value.text : "";
|
|
277
|
+
const base = { ...value, text: "", truncated: true };
|
|
278
|
+
const baseLength = JSON.stringify(base).length;
|
|
279
|
+
let low = 0;
|
|
280
|
+
let high = text.length;
|
|
281
|
+
while (low < high) {
|
|
282
|
+
const middle = Math.ceil((low + high) / 2);
|
|
283
|
+
const candidate = JSON.stringify({ ...base, text: text.slice(0, middle) });
|
|
284
|
+
if (candidate.length <= MAX_TOOL_RESULT_CHARS)
|
|
285
|
+
low = middle;
|
|
286
|
+
else
|
|
287
|
+
high = middle - 1;
|
|
288
|
+
}
|
|
289
|
+
if (baseLength > MAX_TOOL_RESULT_CHARS)
|
|
290
|
+
return JSON.stringify({
|
|
291
|
+
ok: false,
|
|
292
|
+
url: "",
|
|
293
|
+
backendFetchable: false,
|
|
294
|
+
code: "distill_failed",
|
|
295
|
+
message: "The result could not be bounded.",
|
|
296
|
+
});
|
|
297
|
+
return JSON.stringify({ ...base, text: text.slice(0, low) });
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=fetch-url-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-url-tool.js","sourceRoot":"","sources":["../../jsr/intern/fetch-url-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { exception2Result, Result, stream2uint8array } from "@adviser/cement";
|
|
2
2
|
import { bytesToHex, utf8ToBytes } from "@noble/hashes/utils.js";
|
|
3
3
|
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4
|
-
import { and, desc, eq } from "drizzle-orm/sql/expressions";
|
|
5
|
-
import { fileSystemItem, firstMessageProse, isFetchErrResult, isFetchNotFoundResult, parseArray, parseArrayWarning, PromptAndBlockMsgs, } from "@vibes.diy/api-types";
|
|
4
|
+
import { and, desc, eq, ne } from "drizzle-orm/sql/expressions";
|
|
5
|
+
import { fileSystemItem, firstMessageProse, isFetchErrResult, isFetchNotFoundResult, parseArray, parseArrayWarning, PromptAndBlockMsgs, isPromptResearch, RESEARCH_BLOCK_SEQ, } from "@vibes.diy/api-types";
|
|
6
6
|
import { createSQLPeer } from "@vibes.diy/api-sql";
|
|
7
7
|
import { ensureStorage } from "@vibes.diy/api-pkg";
|
|
8
8
|
import { createS3Peer } from "../peers/s3.js";
|
|
@@ -82,7 +82,7 @@ export async function loadFirstMessageEmbedText(deps, ownerHandle, appSlug) {
|
|
|
82
82
|
.from(tables.chatContexts)
|
|
83
83
|
.innerJoin(tables.chatSections, eq(tables.chatSections.chatId, tables.chatContexts.chatId))
|
|
84
84
|
.leftJoin(tables.promptContexts, and(eq(tables.promptContexts.chatId, tables.chatSections.chatId), eq(tables.promptContexts.promptId, tables.chatSections.promptId)))
|
|
85
|
-
.where(and(eq(tables.chatContexts.ownerHandle, ownerHandle), eq(tables.chatContexts.appSlug, appSlug)));
|
|
85
|
+
.where(and(eq(tables.chatContexts.ownerHandle, ownerHandle), eq(tables.chatContexts.appSlug, appSlug), ne(tables.chatSections.blockSeq, RESEARCH_BLOCK_SEQ)));
|
|
86
86
|
const turns = new Map();
|
|
87
87
|
for (const row of rows) {
|
|
88
88
|
let turn = turns.get(row.promptId);
|
|
@@ -96,7 +96,8 @@ export async function loadFirstMessageEmbedText(deps, ownerHandle, appSlug) {
|
|
|
96
96
|
};
|
|
97
97
|
turns.set(row.promptId, turn);
|
|
98
98
|
}
|
|
99
|
-
const { filtered:
|
|
99
|
+
const { filtered: parsedBlocks } = parseArrayWarning(row.blocks, PromptAndBlockMsgs);
|
|
100
|
+
const blocks = parsedBlocks.filter((block) => !isPromptResearch(block));
|
|
100
101
|
const section = { blockSeq: row.blockSeq, blocks };
|
|
101
102
|
turn.sections.push(section);
|
|
102
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-message-embedding.js","sourceRoot":"","sources":["../../jsr/intern/first-message-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"first-message-embedding.js","sourceRoot":"","sources":["../../jsr/intern/first-message-embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { type LLMRequest, type SseStreamMsg } from "@vibes.diy/call-ai-v2";
|
|
3
|
+
export declare const MAX_TOOL_RESULT_CHARS = 8192;
|
|
4
|
+
export declare const MAX_TOOL_CALL_ID_CHARS = 256;
|
|
5
|
+
export declare const MAX_TOOL_CALL_NAME_CHARS = 256;
|
|
6
|
+
export declare const MAX_TOOL_CALL_ARGUMENT_CHARS: number;
|
|
7
|
+
export type LlmToolCallField = "id" | "name" | "arguments";
|
|
8
|
+
export declare class LlmToolLoopError extends Error {
|
|
9
|
+
readonly field: LlmToolCallField;
|
|
10
|
+
readonly limit: number;
|
|
11
|
+
readonly observedLength: number;
|
|
12
|
+
readonly code: "tool-call-field-too-large";
|
|
13
|
+
constructor(field: LlmToolCallField, limit: number, observedLength: number);
|
|
14
|
+
}
|
|
15
|
+
export interface LlmToolLoopBudget {
|
|
16
|
+
readonly deadlineAt: number;
|
|
17
|
+
readonly maxAttempts: number;
|
|
18
|
+
attemptsUsed: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function createLlmToolLoopBudget({ totalBudgetMs, maxAttempts, now, }: {
|
|
21
|
+
readonly totalBudgetMs: number;
|
|
22
|
+
readonly maxAttempts: number;
|
|
23
|
+
readonly now?: () => number;
|
|
24
|
+
}): LlmToolLoopBudget;
|
|
25
|
+
export interface LlmToolCall {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly arguments: string;
|
|
29
|
+
}
|
|
30
|
+
export interface LlmToolExecutorInput {
|
|
31
|
+
readonly call: LlmToolCall;
|
|
32
|
+
readonly signal: AbortSignal;
|
|
33
|
+
}
|
|
34
|
+
export type LlmToolExecutor = (input: LlmToolExecutorInput) => Promise<Result<string>>;
|
|
35
|
+
export interface LlmToolLoopDispatch {
|
|
36
|
+
readonly request: LLMRequest;
|
|
37
|
+
readonly stream: ReadableStream<SseStreamMsg>;
|
|
38
|
+
readonly abort?: AbortController;
|
|
39
|
+
}
|
|
40
|
+
export interface LlmToolLoopDispatchInput {
|
|
41
|
+
readonly request: LLMRequest;
|
|
42
|
+
readonly budget: LlmToolLoopBudget;
|
|
43
|
+
readonly round: number;
|
|
44
|
+
}
|
|
45
|
+
export interface LlmToolLoopArgs {
|
|
46
|
+
readonly request: LLMRequest;
|
|
47
|
+
readonly stream: ReadableStream<SseStreamMsg>;
|
|
48
|
+
readonly abort?: AbortController;
|
|
49
|
+
readonly budget: LlmToolLoopBudget;
|
|
50
|
+
readonly dispatch: (input: LlmToolLoopDispatchInput) => Promise<Result<LlmToolLoopDispatch>>;
|
|
51
|
+
readonly execute: LlmToolExecutor;
|
|
52
|
+
readonly onVisible: (event: SseStreamMsg) => Promise<Result<void>>;
|
|
53
|
+
readonly maxToolRounds?: number;
|
|
54
|
+
readonly maxToolCalls?: number;
|
|
55
|
+
readonly now?: () => number;
|
|
56
|
+
}
|
|
57
|
+
export interface LlmToolLoopResult {
|
|
58
|
+
readonly request: LLMRequest;
|
|
59
|
+
readonly rounds: number;
|
|
60
|
+
readonly calls: number;
|
|
61
|
+
}
|
|
62
|
+
export declare function runLlmToolLoop(args: LlmToolLoopArgs): Promise<Result<LlmToolLoopResult>>;
|
|
63
|
+
export interface LlmToolLoopStreamArgs extends Omit<LlmToolLoopArgs, "onVisible"> {
|
|
64
|
+
readonly onError?: (error: string) => void;
|
|
65
|
+
}
|
|
66
|
+
export declare function createLlmToolLoopStream(args: LlmToolLoopStreamArgs): ReadableStream<SseStreamMsg>;
|