@koda-sl/baker-bridge 0.108.0 → 0.109.0-dev.9779e8b49

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.
@@ -31,6 +31,7 @@ declare const connectionRequestShape: z.ZodObject<{
31
31
  "x-ads": "x-ads";
32
32
  }>;
33
33
  reason: z.ZodString;
34
+ choose: z.ZodOptional<z.ZodLiteral<"media-folder">>;
34
35
  }, z.core.$strip>;
35
36
  export declare const connectionInputToolShape: {
36
37
  connections: z.ZodArray<z.ZodObject<{
@@ -50,6 +51,7 @@ export declare const connectionInputToolShape: {
50
51
  "x-ads": "x-ads";
51
52
  }>;
52
53
  reason: z.ZodString;
54
+ choose: z.ZodOptional<z.ZodLiteral<"media-folder">>;
53
55
  }, z.core.$strip>>;
54
56
  resolution: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
55
57
  };
@@ -73,6 +75,7 @@ export declare const connectionInputResultSchema: z.ZodDiscriminatedUnion<[z.Zod
73
75
  accountLabel: z.ZodOptional<z.ZodString>;
74
76
  selected: z.ZodArray<z.ZodString>;
75
77
  cannotRead: z.ZodOptional<z.ZodArray<z.ZodString>>;
78
+ mediaSourceKey: z.ZodOptional<z.ZodString>;
76
79
  }, z.core.$strip>, z.ZodObject<{
77
80
  status: z.ZodLiteral<"declined">;
78
81
  platform: z.ZodEnum<{
@@ -114,6 +117,7 @@ export declare const connectionInputResolutionSchema: z.ZodObject<{
114
117
  accountLabel: z.ZodOptional<z.ZodString>;
115
118
  selected: z.ZodArray<z.ZodString>;
116
119
  cannotRead: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
+ mediaSourceKey: z.ZodOptional<z.ZodString>;
117
121
  }, z.core.$strip>, z.ZodObject<{
118
122
  status: z.ZodLiteral<"declined">;
119
123
  platform: z.ZodEnum<{
@@ -163,6 +167,7 @@ export declare function createConnectionInputTool(): import("@anthropic-ai/claud
163
167
  "x-ads": "x-ads";
164
168
  }>;
165
169
  reason: z.ZodString;
170
+ choose: z.ZodOptional<z.ZodLiteral<"media-folder">>;
166
171
  }, z.core.$strip>>;
167
172
  resolution: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
168
173
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"connection-input.d.ts","sourceRoot":"","sources":["../../src/hono/connection-input.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,YAC/B,YAAY,EACZ,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,CACF,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;IACnC,WAAW;;;;;;;;;;;;;;;;;;IAKX,UAAU;CAKX,CAAC;AAIF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgBtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8D,CAAC;AAC3G,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,wFAAwF;AACxF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAG/F;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAgB1F;AASD,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;GAUxC"}
1
+ {"version":3,"file":"connection-input.d.ts","sourceRoot":"","sources":["../../src/hono/connection-input.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,YAC/B,YAAY,EACZ,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,CACF,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iBAW1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;IACnC,WAAW;;;;;;;;;;;;;;;;;;;IAKX,UAAU;CAKX,CAAC;AAIF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAkBtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8D,CAAC;AAC3G,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,wFAAwF;AACxF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAG/F;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAmB1F;AAUD,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;GAUxC"}
@@ -52,6 +52,10 @@ const connectionRequestShape = z.object({
52
52
  reason: z
53
53
  .string()
54
54
  .describe("One short sentence, in the user's terms, saying what you'll be able to do once it's connected"),
55
+ choose: z
56
+ .literal("media-folder")
57
+ .optional()
58
+ .describe("Google Drive only: the user picks a folder whose images and videos Baker imports into the libraries (a media source). Set it whenever the user wants a Drive folder's photos or videos in Baker."),
55
59
  });
56
60
  export const connectionInputToolShape = {
57
61
  connections: z
@@ -76,6 +80,8 @@ export const connectionInputResultSchema = z.discriminatedUnion("status", [
76
80
  selected: z.array(z.string()),
77
81
  /** What the connection still does not allow Baker to read, in the user's words (HubSpot). */
78
82
  cannotRead: z.array(z.string()).optional(),
83
+ /** The media source a `choose: "media-folder"` request added, e.g. `google_drive:1AbC…` — the key `baker media-sources` takes. */
84
+ mediaSourceKey: z.string().optional(),
79
85
  }),
80
86
  z.object({
81
87
  status: z.literal("declined"),
@@ -108,7 +114,10 @@ export function normalizeConnectionInputToolInput(input) {
108
114
  continue;
109
115
  }
110
116
  seen.add(parsed.data.platform);
111
- requests.push(parsed.data);
117
+ // Choosing a folder is a Google Drive thing; on any other platform it would
118
+ // ask the dashboard for a picker that does not exist.
119
+ const { choose, ...request } = parsed.data;
120
+ requests.push(choose && request.platform === "google-drive" ? { ...request, choose } : request);
112
121
  }
113
122
  return requests;
114
123
  }
@@ -116,6 +125,7 @@ const CONNECTION_INPUT_TOOL_DESCRIPTION = [
116
125
  "Ask the user to connect — or reconnect — one of Baker's connections, inside the chat: an ad or data platform (Google Ads, LinkedIn Ads, Meta Ads, X Ads, Google Analytics 4, Google Search Console, Google Tag Manager), where they also pick which accounts Baker may read, or a tool (HubSpot, Google Drive, GoHighLevel, Pipedrive, Calendly, SavvyCal). BLOCKS until they resolve it in the dashboard.",
117
126
  "Use it the moment a command tells you a platform isn't connected, OR that it is connected but does not allow what you asked (a `request_connection` fix, `HUBSPOT_RECONNECT_REQUIRED`, a read-only connection) — the card shows Reconnect when the connection exists. Never tell the user to go to Settings instead. Each entry in `connections` becomes a tab, so ask for everything the task needs in ONE call.",
118
127
  "`reason` is shown to the user: say what connecting unlocks in their terms ('so I can see which campaigns are actually converting', 'so I can count a contact becoming a customer'), never in technical terms.",
128
+ 'When the user wants a Google Drive folder\'s photos or videos in Baker, ask for `google-drive` with `choose: "media-folder"`: the card lets them pick the folder, Baker imports it as a media source (weekly by default), and the result carries its `mediaSourceKey` for `baker media-sources`. A Drive folder is never added by link.',
119
129
  "A declined tab is not an error — carry on with what you can do without it and say what stays unavailable. A connected result may list `cannotRead`: things the connection still does not allow — do not promise those. Results name only the account and what was selected; no credentials ever reach you.",
120
130
  ].join(" ");
121
131
  export function createConnectionInputTool() {
@@ -1 +1 @@
1
- {"version":3,"file":"connection-input.js","sourceRoot":"","sources":["../../src/hono/connection-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-input.js","sourceRoot":"","sources":["../../src/hono/connection-input.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,17 @@ describe("normalizeConnectionInputToolInput", () => {
36
36
  connections: '[{"platform": "google-tag-manager", "reason": "so I can see your tracking setup"}]',
37
37
  })).toEqual([{ platform: "google-tag-manager", reason: "so I can see your tracking setup" }]);
38
38
  });
39
+ it("keeps a Google Drive request for a folder to import, and only for Google Drive", () => {
40
+ expect(normalizeConnectionInputToolInput({
41
+ connections: [
42
+ { platform: "google-drive", reason: "so your brand photos fill the image library", choose: "media-folder" },
43
+ { platform: "hubspot", reason: "so I can read your forms", choose: "media-folder" },
44
+ ],
45
+ })).toEqual([
46
+ { platform: "google-drive", reason: "so your brand photos fill the image library", choose: "media-folder" },
47
+ { platform: "hubspot", reason: "so I can read your forms" },
48
+ ]);
49
+ });
39
50
  it("returns nothing for shapes the model made up", () => {
40
51
  expect(normalizeConnectionInputToolInput({})).toEqual([]);
41
52
  expect(normalizeConnectionInputToolInput({ connections: "google-ads" })).toEqual([]);
@@ -53,6 +64,18 @@ describe("parseConnectionInputResolution", () => {
53
64
  ],
54
65
  })).not.toBeNull();
55
66
  });
67
+ it("hands back the key of the Google Drive folder the user added", () => {
68
+ expect(parseConnectionInputResolution({
69
+ results: [
70
+ {
71
+ status: "connected",
72
+ platform: "google-drive",
73
+ selected: ["Brand photos"],
74
+ mediaSourceKey: "google_drive:1AbCdEfGhIjK",
75
+ },
76
+ ],
77
+ })?.results[0]).toMatchObject({ mediaSourceKey: "google_drive:1AbCdEfGhIjK" });
78
+ });
56
79
  it("rejects a resolution that smuggles anything other than the agreed shape", () => {
57
80
  expect(parseConnectionInputResolution({ results: [{ status: "connected", platform: "tiktok-ads", selected: [] }] })).toBeNull();
58
81
  expect(parseConnectionInputResolution({ results: [{ status: "ok", platform: "google-ads" }] })).toBeNull();
@@ -1 +1 @@
1
- {"version":3,"file":"connection-input.test.js","sourceRoot":"","sources":["../../src/hono/connection-input.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-input.test.js","sourceRoot":"","sources":["../../src/hono/connection-input.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The end-of-turn steps the scaffold's Stop hooks take, run by the bridge.
3
+ *
4
+ * Those hooks skip a Stop given while background work still runs and act on
5
+ * the turn's last Stop instead. A background task can settle without waking the
6
+ * model, and then the turn ends with no further Stop: the markdown edit lock
7
+ * stays held and a stalled background publish is never reported. So once a turn
8
+ * that ran tasks has really ended, the bridge runs the same scripts itself —
9
+ * with no background work in their input, which is now true. Each is
10
+ * idempotent, so a last Stop that did fire costs nothing extra.
11
+ *
12
+ * Not the autorender hook: it asks the model to re-render, and there is no
13
+ * model left to ask. Its marker survives to the next turn's Stop, and the
14
+ * workspace's verify refuses to publish a stale render.
15
+ *
16
+ * Source of truth: __tooling__/hooks/base/flush-format-on-stop.mjs, and
17
+ * recover-stalled-publish.mjs through `recoverStalledPublish`.
18
+ */
19
+ export declare function settleWorkspaceAfterTasks(cwd?: string): Promise<void>;
20
+ //# sourceMappingURL=workspace-settle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-settle.d.ts","sourceRoot":"","sources":["../../src/hono/workspace-settle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,wBAAsB,yBAAyB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The end-of-turn steps the scaffold's Stop hooks take, run by the bridge.
3
+ *
4
+ * Those hooks skip a Stop given while background work still runs and act on
5
+ * the turn's last Stop instead. A background task can settle without waking the
6
+ * model, and then the turn ends with no further Stop: the markdown edit lock
7
+ * stays held and a stalled background publish is never reported. So once a turn
8
+ * that ran tasks has really ended, the bridge runs the same scripts itself —
9
+ * with no background work in their input, which is now true. Each is
10
+ * idempotent, so a last Stop that did fire costs nothing extra.
11
+ *
12
+ * Not the autorender hook: it asks the model to re-render, and there is no
13
+ * model left to ask. Its marker survives to the next turn's Stop, and the
14
+ * workspace's verify refuses to publish a stale render.
15
+ *
16
+ * Source of truth: __tooling__/hooks/base/flush-format-on-stop.mjs, and
17
+ * recover-stalled-publish.mjs through `recoverStalledPublish`.
18
+ */
19
+ import { execFile } from "node:child_process";
20
+ import { existsSync } from "node:fs";
21
+ import { join } from "node:path";
22
+ import { recoverStalledPublish } from "./publish-recovery.js";
23
+ const FLUSH_FORMAT_SCRIPT = "__tooling__/hooks/base/flush-format-on-stop.mjs";
24
+ const SCRIPT_TIMEOUT_MS = 35_000;
25
+ export async function settleWorkspaceAfterTasks(cwd = process.cwd()) {
26
+ await runStopScript(cwd, FLUSH_FORMAT_SCRIPT);
27
+ await recoverStalledPublish(cwd);
28
+ }
29
+ async function runStopScript(cwd, script) {
30
+ const path = join(cwd, script);
31
+ if (!existsSync(path)) {
32
+ return;
33
+ }
34
+ await new Promise((resolve) => {
35
+ const child = execFile("node", [path], { cwd, timeout: SCRIPT_TIMEOUT_MS }, (err) => {
36
+ if (err) {
37
+ console.error(`[workspace-settle] ${script} failed:`, err.message);
38
+ }
39
+ resolve();
40
+ });
41
+ child.stdin?.end(JSON.stringify({ hook_event_name: "Stop", background_tasks: [] }));
42
+ child.stdout?.resume();
43
+ child.stderr?.resume();
44
+ });
45
+ }
46
+ //# sourceMappingURL=workspace-settle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-settle.js","sourceRoot":"","sources":["../../src/hono/workspace-settle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,mBAAmB,GAAG,iDAAiD,CAAC;AAC9E,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC9C,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,MAAc;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,GAAiB,EAAE,EAAE;YAChG,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-bridge",
3
- "version": "0.108.0",
3
+ "version": "0.109.0-dev.9779e8b49",
4
4
  "description": "HTTP server wrapping the Claude Agent SDK. Persists chat events to Convex; the dashboard subscribes via Convex realtime",
5
5
  "license": "MIT",
6
6
  "type": "module",