@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.
@@ -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;AAsDxE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;6BAA6E,CAAC;AAEzG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAgB1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;6BAchC,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;AAyDzC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,CA6BhG;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"}
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"}
@@ -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
- if (resolution.oauthProviderId !== undefined) {
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 secretFieldsSet = Object.keys(resolution.encryptedConfig ?? {}).filter((k) => secretFields.includes(k));
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: "hubspot", form: { autofilledFields: {}, external: null } },
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":"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"}
@@ -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