@koda-sl/baker-bridge 0.76.0 → 0.78.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -10
- package/dist/hono/agent.js +2 -2
- package/dist/hono/agent.js.map +1 -1
- package/dist/hono/agent.test.js +2 -0
- package/dist/hono/agent.test.js.map +1 -1
- package/dist/hono/bridge-job.d.ts +1 -0
- package/dist/hono/bridge-job.d.ts.map +1 -1
- package/dist/hono/bridge-job.js +65 -2
- package/dist/hono/bridge-job.js.map +1 -1
- package/dist/hono/bridge-job.test.js +72 -6
- package/dist/hono/bridge-job.test.js.map +1 -1
- package/dist/hono/flow-input-fields.test.d.ts +16 -0
- package/dist/hono/flow-input-fields.test.d.ts.map +1 -0
- package/dist/hono/flow-input-fields.test.js +82 -0
- package/dist/hono/flow-input-fields.test.js.map +1 -0
- package/dist/hono/flow-input.d.ts +36 -0
- package/dist/hono/flow-input.d.ts.map +1 -1
- package/dist/hono/flow-input.js +139 -3
- package/dist/hono/flow-input.js.map +1 -1
- package/dist/hono/flow-input.test.js +210 -2
- package/dist/hono/flow-input.test.js.map +1 -1
- package/dist/hono/model-capabilities.d.ts +3 -0
- package/dist/hono/model-capabilities.d.ts.map +1 -1
- package/dist/hono/model-capabilities.js +29 -0
- package/dist/hono/model-capabilities.js.map +1 -1
- package/dist/hono/model-capabilities.test.js +46 -1
- package/dist/hono/model-capabilities.test.js.map +1 -1
- package/dist/hono/session-continuity.integration.test.js +2 -0
- package/dist/hono/session-continuity.integration.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,6 +19,7 @@ import { createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
|
|
|
19
19
|
import { z } from "zod";
|
|
20
20
|
export declare const BAKER_UI_SERVER_NAME = "baker_ui";
|
|
21
21
|
export declare const FLOW_INPUT_TOOL_NAME = "mcp__baker_ui__request_flow_input";
|
|
22
|
+
export declare const RESOURCE_NODE_TYPES: readonly ["calendly", "savvycal", "hubspot", "hubspotMeeting", "highlevel", "highlevelForm"];
|
|
22
23
|
declare const flowInputRequestShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
23
24
|
target: z.ZodLiteral<"sideEffect">;
|
|
24
25
|
flowSlug: z.ZodString;
|
|
@@ -50,6 +51,9 @@ export declare const flowInputResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject
|
|
|
50
51
|
nodeId: z.ZodString;
|
|
51
52
|
sideEffectId: z.ZodOptional<z.ZodString>;
|
|
52
53
|
secretFieldsSet: z.ZodArray<z.ZodString>;
|
|
54
|
+
destination: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
55
|
+
connected: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
53
57
|
note: z.ZodOptional<z.ZodString>;
|
|
54
58
|
}, z.core.$strip>, z.ZodObject<{
|
|
55
59
|
status: z.ZodLiteral<"declined">;
|
|
@@ -64,6 +68,9 @@ export declare const flowInputResolutionSchema: z.ZodObject<{
|
|
|
64
68
|
nodeId: z.ZodString;
|
|
65
69
|
sideEffectId: z.ZodOptional<z.ZodString>;
|
|
66
70
|
secretFieldsSet: z.ZodArray<z.ZodString>;
|
|
71
|
+
destination: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
72
|
+
connected: z.ZodOptional<z.ZodBoolean>;
|
|
73
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
74
|
note: z.ZodOptional<z.ZodString>;
|
|
68
75
|
}, z.core.$strip>, z.ZodObject<{
|
|
69
76
|
status: z.ZodLiteral<"declined">;
|
|
@@ -153,6 +160,35 @@ export declare function normalizeFlowInputToolInput(input: Record<string, unknow
|
|
|
153
160
|
*/
|
|
154
161
|
export declare function sanitizeFlowRequests(requests: FlowInputRequestInput[]): FlowInputRequestInput[];
|
|
155
162
|
type AnyRecord = Record<string, unknown>;
|
|
163
|
+
/**
|
|
164
|
+
* Where each widget keeps its fields, and what an adapter calls them.
|
|
165
|
+
*
|
|
166
|
+
* This is a lookup table rather than a search because the answer the agent
|
|
167
|
+
* needs is not "which strings in this blob look like names" — it is "which keys
|
|
168
|
+
* would `autofilledFields` have to use". Those are different lists, and a
|
|
169
|
+
* search returns the first one while the result claims to be the second.
|
|
170
|
+
*
|
|
171
|
+
* Searching produced two silent wrongs. A `highlevelForm` select carries
|
|
172
|
+
* `options: [{ label, value }]` one level below the field, so every dropdown
|
|
173
|
+
* choice came back indistinguishable from a field name. And a SavvyCal custom
|
|
174
|
+
* field has no `name` at all — `{ id, label, type, isRequired }` — so the search
|
|
175
|
+
* fell through to its human `label` ("What's your company?") while
|
|
176
|
+
* `adapters/savvycal.ts` reads `ctx.autofill["questions." + field.id]`. Both
|
|
177
|
+
* produce autofill keys that are written, valid, and never apply to anything.
|
|
178
|
+
*
|
|
179
|
+
* `key` is the field's identifier and `prefix` is what the adapter puts in
|
|
180
|
+
* front of it, so what comes back is the literal key to author. Each entry is
|
|
181
|
+
* pinned to the engine's own declarations by `flow-input-fields.test.ts`.
|
|
182
|
+
*/
|
|
183
|
+
type WidgetFieldSource = {
|
|
184
|
+
/** Path from `external` to the array of field records; an array segment is mapped over. */
|
|
185
|
+
path: readonly string[];
|
|
186
|
+
/** The key on each record that carries the field's identifier. */
|
|
187
|
+
key: string;
|
|
188
|
+
/** What the adapter prefixes onto it when reading `ctx.autofill`. */
|
|
189
|
+
prefix?: string;
|
|
190
|
+
};
|
|
191
|
+
export declare const WIDGET_FIELD_SOURCE: Record<string, WidgetFieldSource>;
|
|
156
192
|
/**
|
|
157
193
|
* Apply one submitted resolution onto a decoded flow tree in place. Returns the
|
|
158
194
|
* redacted result for the model, or an error note when the target is missing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-input.d.ts","sourceRoot":"","sources":["../../src/hono/flow-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,kBAAkB,EAAQ,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"flow-input.d.ts","sourceRoot":"","sources":["../../src/hono/flow-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,kBAAkB,EAAQ,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,oBAAoB,sCAAsC,CAAC;AA4BxE,eAAO,MAAM,mBAAmB,YAC9B,UAAU,EACV,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,CACP,CAAC;AA6BX,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;6BAA6E,CAAC;AAEzG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAgB1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;6BAsChC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAAwD,CAAC;AAC/F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAGnF;AAMD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA8BxB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAG/E;AAID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,EAAE,CAMnG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAuB/F;AAID,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6DzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,iBAAiB,GAAG;IACvB,2FAA2F;IAC3F,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAOjE,CAAC;AAgFF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,CAwChG;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAQjG;AAYD,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUlC;AAED,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/hono/flow-input.js
CHANGED
|
@@ -34,8 +34,17 @@ const SECRET_FIELDS_BY_SIDE_EFFECT = {
|
|
|
34
34
|
crmble: ["apiToken"],
|
|
35
35
|
goHighlevelContact: [],
|
|
36
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Nothing a widget picker returns is a typed credential — the account is an
|
|
39
|
+
* OAuth connection made in the dashboard, and `external` is public form
|
|
40
|
+
* metadata. This list is empty on purpose rather than absent: the node branch
|
|
41
|
+
* runs `external` through the same scalar filter as a side effect's config, so
|
|
42
|
+
* the day a provider does start returning a token there is one place to name
|
|
43
|
+
* it, instead of a branch that waves everything through.
|
|
44
|
+
*/
|
|
45
|
+
const WIDGET_SECRET_FIELDS = [];
|
|
37
46
|
const SIDE_EFFECT_TYPES = Object.keys(SECRET_FIELDS_BY_SIDE_EFFECT);
|
|
38
|
-
const RESOURCE_NODE_TYPES = [
|
|
47
|
+
export const RESOURCE_NODE_TYPES = [
|
|
39
48
|
"calendly",
|
|
40
49
|
"savvycal",
|
|
41
50
|
"hubspot",
|
|
@@ -86,6 +95,30 @@ export const flowInputResultSchema = z.discriminatedUnion("status", [
|
|
|
86
95
|
nodeId: z.string(),
|
|
87
96
|
sideEffectId: z.string().optional(),
|
|
88
97
|
secretFieldsSet: z.array(z.string()),
|
|
98
|
+
/**
|
|
99
|
+
* The non-secret half of what the user just chose — the spreadsheet, the
|
|
100
|
+
* sheet, the portal, the Calendly event. Without it an agent that has just
|
|
101
|
+
* configured a destination still has to call `baker flows show --full` to
|
|
102
|
+
* learn what it is, and in practice maps columns against a guess instead.
|
|
103
|
+
* Both targets fill this: for a side effect anything in
|
|
104
|
+
* `SECRET_FIELDS_BY_SIDE_EFFECT[type]` is redacted to a name in
|
|
105
|
+
* `secretFieldsSet` and never appears here, `NON_DESTINATION_FIELDS[type]`
|
|
106
|
+
* is withheld on top of that, and a widget node's `external` goes through
|
|
107
|
+
* the same scalar filter rather than being waved through on the assumption
|
|
108
|
+
* that no widget holds a secret.
|
|
109
|
+
*/
|
|
110
|
+
destination: z.record(z.string(), z.string()).optional(),
|
|
111
|
+
/** Whether an OAuth account is attached. The provider id itself never leaves. */
|
|
112
|
+
connected: z.boolean().optional(),
|
|
113
|
+
/**
|
|
114
|
+
* For a widget node, the autofill keys the resource just written into
|
|
115
|
+
* `form.external` accepts — literally what goes on the left of an
|
|
116
|
+
* `autofilledFields` entry, adapter prefix included (a SavvyCal custom
|
|
117
|
+
* field arrives as `questions.<id>`, which is what `adapters/savvycal.ts`
|
|
118
|
+
* reads). Not secret, and returning it saves a `baker hubspot forms view`
|
|
119
|
+
* or a `flows show --full` the agent otherwise spends a turn on.
|
|
120
|
+
*/
|
|
121
|
+
fields: z.array(z.string()).optional(),
|
|
89
122
|
note: z.string().optional(),
|
|
90
123
|
}),
|
|
91
124
|
z.object({
|
|
@@ -207,6 +240,88 @@ function declined(nodeId, sideEffectId, reason) {
|
|
|
207
240
|
...(reason ? { reason } : {}),
|
|
208
241
|
};
|
|
209
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Non-secret config keys that are still not a destination, per side-effect type.
|
|
245
|
+
*
|
|
246
|
+
* `SECRET_FIELDS_BY_SIDE_EFFECT` is a mirror of `FLOW_SECRET_FIELDS` and drives
|
|
247
|
+
* `secretFieldsSet`, whose contract is "names of secret fields the user
|
|
248
|
+
* provided" — so a key cannot be hidden from `destination` by adding it there
|
|
249
|
+
* without also claiming it is a typed credential, which `username` is not.
|
|
250
|
+
* Hence a second list: not a secret, not an answer either.
|
|
251
|
+
*
|
|
252
|
+
* `username` is the basic-auth username the dashboard collects immediately
|
|
253
|
+
* above `password` (`FlowInputBlock.tsx`). The password is redacted and the
|
|
254
|
+
* username is not, so echoing it hands the model half a credential in exchange
|
|
255
|
+
* for nothing — nothing on an `httpWebhook` is addressed by it, and `apiUrl` is
|
|
256
|
+
* already the destination the agent needs.
|
|
257
|
+
*/
|
|
258
|
+
const NON_DESTINATION_FIELDS = {
|
|
259
|
+
httpWebhook: ["username"],
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* The plain-scalar, non-secret subset of a config or `external` blob.
|
|
263
|
+
*
|
|
264
|
+
* Values are echoed only when they are strings or numbers: a nested blob is not
|
|
265
|
+
* a destination the agent can map against, and echoing one would be a way to
|
|
266
|
+
* launder something sensitive through a field nobody classified.
|
|
267
|
+
*/
|
|
268
|
+
function scalarSummary(source, withheld) {
|
|
269
|
+
const summary = {};
|
|
270
|
+
for (const [key, value] of Object.entries(source)) {
|
|
271
|
+
if (withheld.includes(key))
|
|
272
|
+
continue;
|
|
273
|
+
if (typeof value === "string" || typeof value === "number")
|
|
274
|
+
summary[key] = String(value);
|
|
275
|
+
}
|
|
276
|
+
return summary;
|
|
277
|
+
}
|
|
278
|
+
export const WIDGET_FIELD_SOURCE = {
|
|
279
|
+
calendly: { path: ["customQuestions"], key: "name" },
|
|
280
|
+
savvycal: { path: ["customFields"], key: "id", prefix: "questions." },
|
|
281
|
+
hubspot: { path: ["fieldGroups", "fields"], key: "name" },
|
|
282
|
+
hubspotMeeting: { path: ["customParams", "formFields"], key: "name" },
|
|
283
|
+
highlevel: { path: ["customFormFields"], key: "name" },
|
|
284
|
+
highlevelForm: { path: ["fields"], key: "name" },
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Follow a path into `external`, mapping over any array segment on the way.
|
|
288
|
+
*
|
|
289
|
+
* `["fieldGroups", "fields"]` therefore means "every `fields` entry of every
|
|
290
|
+
* `fieldGroups` entry", which is HubSpot's two-level shape, while
|
|
291
|
+
* `["customParams", "formFields"]` is a plain object hop.
|
|
292
|
+
*/
|
|
293
|
+
function descend(value, segments) {
|
|
294
|
+
if (Array.isArray(value))
|
|
295
|
+
return value.flatMap((item) => descend(item, segments));
|
|
296
|
+
if (segments.length === 0)
|
|
297
|
+
return value == null ? [] : [value];
|
|
298
|
+
if (!value || typeof value !== "object")
|
|
299
|
+
return [];
|
|
300
|
+
const [head, ...rest] = segments;
|
|
301
|
+
return descend(value[head], rest);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* The autofill keys this widget's resource accepts — exactly what the agent
|
|
305
|
+
* writes into `nodeData.form.autofilledFields`.
|
|
306
|
+
*
|
|
307
|
+
* Uncapped on purpose: this is the resource's own field list, bounded by what
|
|
308
|
+
* the user picked, not an open-ended scrape that needs a ceiling. A cap here
|
|
309
|
+
* would silently drop fields from a list whose whole value is being complete.
|
|
310
|
+
* A widget with no field list of its own (or a type not in the table) returns
|
|
311
|
+
* nothing rather than a guess.
|
|
312
|
+
*/
|
|
313
|
+
function externalFieldNames(nodeType, external) {
|
|
314
|
+
const source = WIDGET_FIELD_SOURCE[nodeType];
|
|
315
|
+
if (!source)
|
|
316
|
+
return [];
|
|
317
|
+
const names = descend(external, source.path).flatMap((record) => {
|
|
318
|
+
const value = record && typeof record === "object" ? record[source.key] : undefined;
|
|
319
|
+
if (typeof value === "number")
|
|
320
|
+
return [`${source.prefix ?? ""}${value}`];
|
|
321
|
+
return typeof value === "string" && value ? [`${source.prefix ?? ""}${value}`] : [];
|
|
322
|
+
});
|
|
323
|
+
return [...new Set(names)];
|
|
324
|
+
}
|
|
210
325
|
/** Patch a side effect's confidential fields; returns the redacted result. */
|
|
211
326
|
function applySideEffect(node, resolution) {
|
|
212
327
|
const sideEffects = Array.isArray(node.sideEffects) ? node.sideEffects : [];
|
|
@@ -217,16 +332,26 @@ function applySideEffect(node, resolution) {
|
|
|
217
332
|
if (resolution.encryptedConfig !== undefined) {
|
|
218
333
|
effect.encryptedConfig = resolution.encryptedConfig;
|
|
219
334
|
}
|
|
220
|
-
|
|
335
|
+
// Truthy, not `!== undefined`. `oauthProviderId` is an optional `string`, so
|
|
336
|
+
// writing a `null` or `""` through here produces a flow file that typechecks
|
|
337
|
+
// nowhere and reads as "connected" to a presence-only check.
|
|
338
|
+
if (resolution.oauthProviderId) {
|
|
221
339
|
effect.oauthProviderId = resolution.oauthProviderId;
|
|
222
340
|
}
|
|
223
341
|
const secretFields = SECRET_FIELDS_BY_SIDE_EFFECT[resolution.sideEffectType] ?? [];
|
|
224
|
-
const
|
|
342
|
+
const config = resolution.encryptedConfig ?? {};
|
|
343
|
+
const secretFieldsSet = Object.keys(config).filter((k) => secretFields.includes(k));
|
|
344
|
+
const destination = scalarSummary(config, [
|
|
345
|
+
...secretFields,
|
|
346
|
+
...(NON_DESTINATION_FIELDS[resolution.sideEffectType] ?? []),
|
|
347
|
+
]);
|
|
225
348
|
return {
|
|
226
349
|
status: "submitted",
|
|
227
350
|
nodeId: resolution.nodeId,
|
|
228
351
|
sideEffectId: resolution.sideEffectId,
|
|
229
352
|
secretFieldsSet,
|
|
353
|
+
...(Object.keys(destination).length > 0 ? { destination } : {}),
|
|
354
|
+
...(effect.oauthProviderId ? { connected: true } : {}),
|
|
230
355
|
...(resolution.note ? { note: resolution.note } : {}),
|
|
231
356
|
};
|
|
232
357
|
}
|
|
@@ -250,10 +375,21 @@ export function applyFlowResolution(tree, resolution) {
|
|
|
250
375
|
const nodeData = (node.nodeData ?? {});
|
|
251
376
|
const form = (nodeData.form ?? {});
|
|
252
377
|
node.nodeData = { ...nodeData, form: { ...form, external: resolution.external } };
|
|
378
|
+
// Same shape as the side-effect branch. A widget node is the case where a
|
|
379
|
+
// second lookup costs most — the agent needs the resource's field names to
|
|
380
|
+
// author `autofilledFields` — so it is the last place that should answer with
|
|
381
|
+
// nothing but an echo of the id it was given.
|
|
382
|
+
const destination = scalarSummary(resolution.external, WIDGET_SECRET_FIELDS);
|
|
383
|
+
// Read the type off the node rather than the payload: a node resolution
|
|
384
|
+
// carries no `nodeType`, and which container holds the fields depends on it.
|
|
385
|
+
const fields = externalFieldNames(typeof nodeData.type === "string" ? nodeData.type : "", resolution.external);
|
|
253
386
|
return {
|
|
254
387
|
status: "submitted",
|
|
255
388
|
nodeId: resolution.nodeId,
|
|
256
389
|
secretFieldsSet: [],
|
|
390
|
+
...(Object.keys(destination).length > 0 ? { destination } : {}),
|
|
391
|
+
...(Object.keys(resolution.external).length > 0 ? { connected: true } : {}),
|
|
392
|
+
...(fields.length > 0 ? { fields } : {}),
|
|
257
393
|
...(resolution.note ? { note: resolution.note } : {}),
|
|
258
394
|
};
|
|
259
395
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-input.js","sourceRoot":"","sources":["../../src/hono/flow-input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-input.js","sourceRoot":"","sources":["../../src/hono/flow-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
2
|
import { applyFlowResolution, groupResolutionsBySlug, normalizeFlowInputToolInput, parseFlowInputDecision, sanitizeFlowRequests, } from "./flow-input.js";
|
|
3
|
-
function tree() {
|
|
3
|
+
function tree(nodeType = "hubspot") {
|
|
4
4
|
return {
|
|
5
5
|
id: "root",
|
|
6
6
|
name: "root",
|
|
@@ -8,7 +8,7 @@ function tree() {
|
|
|
8
8
|
{
|
|
9
9
|
id: "n1",
|
|
10
10
|
name: "Thanks",
|
|
11
|
-
nodeData: { type:
|
|
11
|
+
nodeData: { type: nodeType, form: { autofilledFields: {}, external: null } },
|
|
12
12
|
sideEffects: [{ id: "se1", type: "httpWebhook", triggerId: {}, encryptedConfig: null }],
|
|
13
13
|
children: [],
|
|
14
14
|
},
|
|
@@ -68,6 +68,56 @@ describe("applyFlowResolution", () => {
|
|
|
68
68
|
expect(se.encryptedConfig?.bearerToken).toBe("s3cr3t");
|
|
69
69
|
expect(JSON.stringify(result)).not.toContain("s3cr3t");
|
|
70
70
|
});
|
|
71
|
+
// The destination is what makes a mapping real. Before it came back, an agent
|
|
72
|
+
// that had just configured a Sheet still had to call `baker flows show --full`
|
|
73
|
+
// to learn which Sheet — and in practice mapped columns against a guess.
|
|
74
|
+
it("echoes the non-secret destination the user picked", () => {
|
|
75
|
+
const result = applyFlowResolution(tree(), {
|
|
76
|
+
target: "sideEffect",
|
|
77
|
+
flowSlug: "contact",
|
|
78
|
+
nodeId: "n1",
|
|
79
|
+
sideEffectId: "se1",
|
|
80
|
+
sideEffectType: "googleSpreadsheet",
|
|
81
|
+
status: "submitted",
|
|
82
|
+
encryptedConfig: { companyId: 7, spreadsheetId: "1AbC", sheetName: "Leads" },
|
|
83
|
+
});
|
|
84
|
+
expect(result.status === "submitted" && result.destination).toEqual({
|
|
85
|
+
companyId: "7",
|
|
86
|
+
spreadsheetId: "1AbC",
|
|
87
|
+
sheetName: "Leads",
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
it("keeps a secret out of the destination it echoes", () => {
|
|
91
|
+
const result = applyFlowResolution(tree(), {
|
|
92
|
+
target: "sideEffect",
|
|
93
|
+
flowSlug: "contact",
|
|
94
|
+
nodeId: "n1",
|
|
95
|
+
sideEffectId: "se1",
|
|
96
|
+
sideEffectType: "httpWebhook",
|
|
97
|
+
status: "submitted",
|
|
98
|
+
encryptedConfig: { apiUrl: "https://x.test/hook", bearerToken: "s3cr3t" },
|
|
99
|
+
});
|
|
100
|
+
expect(result.status === "submitted" && result.destination).toEqual({ apiUrl: "https://x.test/hook" });
|
|
101
|
+
expect(result.status === "submitted" && result.secretFieldsSet).toEqual(["bearerToken"]);
|
|
102
|
+
expect(JSON.stringify(result)).not.toContain("s3cr3t");
|
|
103
|
+
});
|
|
104
|
+
// The basic-auth username is not a typed credential, so it is not in
|
|
105
|
+
// `FLOW_SECRET_FIELDS` and the scalar filter let it through — handing the
|
|
106
|
+
// model half a credential in exchange for nothing, since nothing on an
|
|
107
|
+
// httpWebhook is addressed by it and `apiUrl` is already the destination.
|
|
108
|
+
it("withholds a non-secret field that is not a destination either", () => {
|
|
109
|
+
const result = applyFlowResolution(tree(), {
|
|
110
|
+
target: "sideEffect",
|
|
111
|
+
flowSlug: "contact",
|
|
112
|
+
nodeId: "n1",
|
|
113
|
+
sideEffectId: "se1",
|
|
114
|
+
sideEffectType: "httpWebhook",
|
|
115
|
+
status: "submitted",
|
|
116
|
+
encryptedConfig: { apiUrl: "https://x.test/hook", username: "svc-baker", password: "s3cr3t" },
|
|
117
|
+
});
|
|
118
|
+
expect(result.status === "submitted" && result.destination).toEqual({ apiUrl: "https://x.test/hook" });
|
|
119
|
+
expect(JSON.stringify(result)).not.toContain("svc-baker");
|
|
120
|
+
});
|
|
71
121
|
it("writes widget external onto the node", () => {
|
|
72
122
|
const t = tree();
|
|
73
123
|
const result = applyFlowResolution(t, {
|
|
@@ -82,6 +132,164 @@ describe("applyFlowResolution", () => {
|
|
|
82
132
|
const external = (t.children[0]?.nodeData).form?.external;
|
|
83
133
|
expect(external?.name).toBe("Contact us");
|
|
84
134
|
});
|
|
135
|
+
// A widget node is where a second lookup costs most: the agent needs the
|
|
136
|
+
// resource's field names before it can author `autofilledFields`. Answering
|
|
137
|
+
// with nothing but the id it was handed sent it to `baker hubspot forms view`
|
|
138
|
+
// for something the resolution already had.
|
|
139
|
+
it("answers a widget node with the same destination/connected shape as a side effect", () => {
|
|
140
|
+
const result = applyFlowResolution(tree(), {
|
|
141
|
+
target: "node",
|
|
142
|
+
flowSlug: "contact",
|
|
143
|
+
nodeId: "n1",
|
|
144
|
+
status: "submitted",
|
|
145
|
+
external: {
|
|
146
|
+
id: "form-9",
|
|
147
|
+
name: "Contact us",
|
|
148
|
+
portalId: 42,
|
|
149
|
+
region: "eu1",
|
|
150
|
+
// `fieldGroups`, which is what the dashboard picker persists and what
|
|
151
|
+
// `HubSpotNodeData` declares — not HubSpot's raw `formFieldGroups`.
|
|
152
|
+
fieldGroups: [{ fields: [{ name: "email" }, { name: "firstname" }] }],
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
expect(result.status === "submitted" && result.connected).toBe(true);
|
|
156
|
+
expect(result.status === "submitted" && result.destination).toEqual({
|
|
157
|
+
id: "form-9",
|
|
158
|
+
name: "Contact us",
|
|
159
|
+
portalId: "42",
|
|
160
|
+
region: "eu1",
|
|
161
|
+
});
|
|
162
|
+
// "Contact us" is the FORM's name, not a field. Every provider labels the
|
|
163
|
+
// resource with the same key its fields use, so a walk that starts on the
|
|
164
|
+
// record itself puts the title at the head of the list the agent authors
|
|
165
|
+
// `autofilledFields` against. It is already in `destination`.
|
|
166
|
+
expect(result.status === "submitted" && result.fields).toEqual(["email", "firstname"]);
|
|
167
|
+
});
|
|
168
|
+
it("reads each provider's own field container, not whatever looks name-shaped", () => {
|
|
169
|
+
const result = applyFlowResolution(tree("calendly"), {
|
|
170
|
+
target: "node",
|
|
171
|
+
flowSlug: "contact",
|
|
172
|
+
nodeId: "n1",
|
|
173
|
+
status: "submitted",
|
|
174
|
+
external: { slug: "intro-call", customQuestions: [{ name: "What are you building?" }] },
|
|
175
|
+
});
|
|
176
|
+
expect(result.status === "submitted" && result.fields).toEqual(["What are you building?"]);
|
|
177
|
+
expect(result.status === "submitted" && result.destination).toEqual({ slug: "intro-call" });
|
|
178
|
+
});
|
|
179
|
+
/**
|
|
180
|
+
* `fields` is presented as what `autofilledFields` is authored against, so a
|
|
181
|
+
* value in it that is not an autofill key is worse than an absent list: the
|
|
182
|
+
* agent writes it, the file is valid, and the value silently never applies.
|
|
183
|
+
*
|
|
184
|
+
* Both cases below came out of a search-for-anything-name-shaped walk, and
|
|
185
|
+
* both are invisible without a fixture in the provider's real shape.
|
|
186
|
+
*/
|
|
187
|
+
describe("the keys it returns are the keys autofill actually uses", () => {
|
|
188
|
+
it("does not mistake a select's option labels for fields", () => {
|
|
189
|
+
const result = applyFlowResolution(tree("highlevelForm"), {
|
|
190
|
+
target: "node",
|
|
191
|
+
flowSlug: "contact",
|
|
192
|
+
nodeId: "n1",
|
|
193
|
+
status: "submitted",
|
|
194
|
+
external: {
|
|
195
|
+
id: "hl-1",
|
|
196
|
+
name: "Contact",
|
|
197
|
+
fields: [
|
|
198
|
+
{ name: "email", type: "email", required: true },
|
|
199
|
+
{
|
|
200
|
+
name: "interest",
|
|
201
|
+
type: "select",
|
|
202
|
+
required: false,
|
|
203
|
+
label: "What are you after?",
|
|
204
|
+
options: [
|
|
205
|
+
{ label: "Solar panels", value: "solar" },
|
|
206
|
+
{ label: "Heat pump", value: "hp" },
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
});
|
|
212
|
+
expect(result.status === "submitted" && result.fields).toEqual(["email", "interest"]);
|
|
213
|
+
});
|
|
214
|
+
it("returns a SavvyCal custom field as the prefixed id its adapter reads, not its label", () => {
|
|
215
|
+
// `adapters/savvycal.ts` reads `ctx.autofill["questions." + field.id]`,
|
|
216
|
+
// and a SavvyCal custom field carries no `name` at all — so anything
|
|
217
|
+
// deriving a key by looking for one lands on the human label.
|
|
218
|
+
const result = applyFlowResolution(tree("savvycal"), {
|
|
219
|
+
target: "node",
|
|
220
|
+
flowSlug: "contact",
|
|
221
|
+
nodeId: "n1",
|
|
222
|
+
status: "submitted",
|
|
223
|
+
external: {
|
|
224
|
+
id: "sc-1",
|
|
225
|
+
slug: "intro",
|
|
226
|
+
customFields: [{ id: "7421", label: "What's your company?", type: "text", isRequired: true }],
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
expect(result.status === "submitted" && result.fields).toEqual(["questions.7421"]);
|
|
230
|
+
});
|
|
231
|
+
it("says nothing rather than guessing for a widget with no field list", () => {
|
|
232
|
+
const result = applyFlowResolution(tree("highlevel"), {
|
|
233
|
+
target: "node",
|
|
234
|
+
flowSlug: "contact",
|
|
235
|
+
nodeId: "n1",
|
|
236
|
+
status: "submitted",
|
|
237
|
+
external: { id: "cal-1", name: "Discovery call", widgetSlug: "disco" },
|
|
238
|
+
});
|
|
239
|
+
expect(result.status === "submitted" && result.fields).toBeUndefined();
|
|
240
|
+
expect(result.status === "submitted" && result.destination).toEqual({
|
|
241
|
+
id: "cal-1",
|
|
242
|
+
name: "Discovery call",
|
|
243
|
+
widgetSlug: "disco",
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
it("reads a hubspotMeeting's fields from customParams, one object hop down", () => {
|
|
247
|
+
const result = applyFlowResolution(tree("hubspotMeeting"), {
|
|
248
|
+
target: "node",
|
|
249
|
+
flowSlug: "contact",
|
|
250
|
+
nodeId: "n1",
|
|
251
|
+
status: "submitted",
|
|
252
|
+
external: {
|
|
253
|
+
name: "Intro",
|
|
254
|
+
slug: "intro",
|
|
255
|
+
link: "https://meetings.hubspot.com/intro",
|
|
256
|
+
linkType: "PERSONAL_LINK",
|
|
257
|
+
customParams: { formFields: [{ name: "firstName" }, { name: "company" }] },
|
|
258
|
+
},
|
|
259
|
+
});
|
|
260
|
+
expect(result.status === "submitted" && result.fields).toEqual(["firstName", "company"]);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
it("reports a widget node with an empty resource as not connected", () => {
|
|
264
|
+
const result = applyFlowResolution(tree(), {
|
|
265
|
+
target: "node",
|
|
266
|
+
flowSlug: "contact",
|
|
267
|
+
nodeId: "n1",
|
|
268
|
+
status: "submitted",
|
|
269
|
+
external: {},
|
|
270
|
+
});
|
|
271
|
+
expect(result.status === "submitted" && result.connected).toBeUndefined();
|
|
272
|
+
expect(result.status === "submitted" && result.destination).toBeUndefined();
|
|
273
|
+
});
|
|
274
|
+
// `oauthProviderId` is an optional `string`. A null written through here
|
|
275
|
+
// produces a flow file that typechecks nowhere, and reads as "connected" to
|
|
276
|
+
// any presence-only check.
|
|
277
|
+
it("never writes a null oauth ref into the tree, and does not claim connected", () => {
|
|
278
|
+
const t = tree();
|
|
279
|
+
const result = applyFlowResolution(t, {
|
|
280
|
+
target: "sideEffect",
|
|
281
|
+
flowSlug: "contact",
|
|
282
|
+
nodeId: "n1",
|
|
283
|
+
sideEffectId: "se1",
|
|
284
|
+
sideEffectType: "googleSpreadsheet",
|
|
285
|
+
status: "submitted",
|
|
286
|
+
oauthProviderId: null,
|
|
287
|
+
encryptedConfig: { spreadsheetId: "1AbC" },
|
|
288
|
+
});
|
|
289
|
+
const se = t.children[0]?.sideEffects[0];
|
|
290
|
+
expect(se.oauthProviderId).toBeUndefined();
|
|
291
|
+
expect(result.status === "submitted" && result.connected).toBeUndefined();
|
|
292
|
+
});
|
|
85
293
|
it("declines when the node is missing", () => {
|
|
86
294
|
const result = applyFlowResolution(tree(), {
|
|
87
295
|
target: "sideEffect",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-input.test.js","sourceRoot":"","sources":["../../src/hono/flow-input.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-input.test.js","sourceRoot":"","sources":["../../src/hono/flow-input.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,SAAS,IAAI,CAAC,QAAQ,GAAG,SAAS;IAChC,OAAO;QACL,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAC5E,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;gBACvF,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,2BAA2B,CAAC;YAC3C,QAAQ,EAAE;gBACR,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE;gBAC/G,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC1E,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;YACvC;gBACE,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,aAAa;gBAC7B,eAAe,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE;aACjF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtG,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,UAAU,GAAmB;YACjC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE;YACzE,IAAI,EAAE,oBAAoB;SAC3B,CAAC;QACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACzF,0FAA0F;QAC1F,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAA6D,CAAC;QACrG,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,+EAA+E;IAC/E,yEAAyE;IACzE,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,mBAAmB;YACnC,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;SAC7E,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAClE,SAAS,EAAE,GAAG;YACd,aAAa,EAAE,MAAM;YACrB,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE;SAC1E,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC9F,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7E,IAAI,EAAE,2BAA2B;SAClC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAmE,EAAC,IAAI,EAAE,QAAQ,CAAC;QACpH,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,4EAA4E;IAC5E,8EAA8E;IAC9E,4CAA4C;IAC5C,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE;gBACR,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,KAAK;gBACb,sEAAsE;gBACtE,oEAAoE;gBACpE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;aACtE;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAClE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,EAAE;SACxF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACvE,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE;oBACR,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;wBAChD;4BACE,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,KAAK;4BACf,KAAK,EAAE,qBAAqB;4BAC5B,OAAO,EAAE;gCACP,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;gCACzC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;6BACpC;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC7F,wEAAwE;YACxE,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE;oBACR,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;iBAC9F;aACF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE;aACvE,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;gBAClE,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,oCAAoC;oBAC1C,QAAQ,EAAE,eAAe;oBACzB,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;iBAC3E;aACF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,4EAA4E;IAC5E,2BAA2B;IAC3B,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE;YACpC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,mBAAmB;YACnC,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,IAA4B;YAC7C,eAAe,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC3C,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAA6C,CAAC;QACrF,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,aAAa;YAC7B,MAAM,EAAE,WAAW;YACnB,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,WAAW,EAAE;gBACX,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAClF,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAClF,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;aAC1E;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,4 +4,7 @@ export declare function normalizeModel(model: string): string;
|
|
|
4
4
|
export declare function contextWindowForModel(model: string | undefined | null): number | null;
|
|
5
5
|
export declare function betasForModel(model: string | undefined | null): SdkBeta[] | undefined;
|
|
6
6
|
export declare function autoCompactWindowForModel(model: string | undefined | null): number | undefined;
|
|
7
|
+
export declare const AGENT_MODEL_ENV = "BAKER_AGENT_MODEL";
|
|
8
|
+
export declare function agentModelOverride(env?: NodeJS.ProcessEnv): string | undefined;
|
|
9
|
+
export declare function resolveAgentModel(env?: NodeJS.ProcessEnv): string;
|
|
7
10
|
//# sourceMappingURL=model-capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAa9D,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpD;AA2BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrF;AAsCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,SAAS,CAKrF;AA4BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAM9F"}
|
|
1
|
+
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAa9D,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpD;AA2BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrF;AAsCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,SAAS,CAKrF;AA4BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAM9F;AAMD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAcnD,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAO3F;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE9E"}
|
|
@@ -131,4 +131,33 @@ export function autoCompactWindowForModel(model) {
|
|
|
131
131
|
}
|
|
132
132
|
return window;
|
|
133
133
|
}
|
|
134
|
+
// Name of the sandbox environment variable that replaces `DEFAULT_MODEL` for a
|
|
135
|
+
// whole Runtime. The backend sets it on development deployments only
|
|
136
|
+
// (`runtimeSession/nodeActions.ts`), where turnaround matters more than output
|
|
137
|
+
// quality and Opus 5's price is pure waste on a throwaway chat.
|
|
138
|
+
export const AGENT_MODEL_ENV = "BAKER_AGENT_MODEL";
|
|
139
|
+
// The override, or undefined when it is unset or names a model we don't know.
|
|
140
|
+
//
|
|
141
|
+
// Unknown ids are dropped rather than passed through: an id missing from
|
|
142
|
+
// `MODEL_CONTEXT_WINDOW` silently disables the auto-compact pin and makes the
|
|
143
|
+
// context meter fall back to whatever the runtime reports, so a typo in a
|
|
144
|
+
// deployment variable would degrade the session instead of failing loudly.
|
|
145
|
+
//
|
|
146
|
+
// `Object.hasOwn`, not `in`: `MODEL_CONTEXT_WINDOW` is a plain object literal,
|
|
147
|
+
// so `in` walks its prototype and answers true for every `Object.prototype`
|
|
148
|
+
// member name. `normalizeModel` passes an unrecognized string through
|
|
149
|
+
// unchanged, so `BAKER_AGENT_MODEL=constructor` would validate as a known model
|
|
150
|
+
// and be forwarded to both the SDK and the CLI — the exact case this rejects.
|
|
151
|
+
export function agentModelOverride(env = process.env) {
|
|
152
|
+
const raw = env[AGENT_MODEL_ENV]?.trim();
|
|
153
|
+
if (!raw) {
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
const normalized = normalizeModel(raw);
|
|
157
|
+
return Object.hasOwn(MODEL_CONTEXT_WINDOW, normalized) ? normalized : undefined;
|
|
158
|
+
}
|
|
159
|
+
// The model every turn in this Runtime runs on.
|
|
160
|
+
export function resolveAgentModel(env = process.env) {
|
|
161
|
+
return agentModelOverride(env) ?? DEFAULT_MODEL;
|
|
162
|
+
}
|
|
134
163
|
//# sourceMappingURL=model-capabilities.js.map
|