@koda-sl/baker-cli 0.384.0-dev.4699b7308 → 0.384.0
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
CHANGED
|
@@ -3409,7 +3409,7 @@ baker scheduled-agents templates --delete weekly-posthog-check
|
|
|
3409
3409
|
|
|
3410
3410
|
### Marketing Tags (`baker tags`)
|
|
3411
3411
|
|
|
3412
|
-
Read the client's marketing/analytics tags (Meta pixel,
|
|
3412
|
+
Read the client's marketing/analytics tags (Meta pixel, GA4, Google Ads, GTM, Clarity, Hotjar, PostHog, …) — production tags overlaid with the changes staged in this chat.
|
|
3413
3413
|
|
|
3414
3414
|
**The CLI is read-only.** Every tag change (create, edit, delete) goes through the `request_tag_input` tool (`baker_ui` MCP server): the agent proposes one or more changes — each becomes a tab in one blocking approval form — pre-filling the non-secret fields it knows; the user reviews, edits, fills secret fields, and approves or skips each tab. Approved changes stage on the chat and apply when the chat is published; discarding the chat drops them.
|
|
3415
3415
|
|
|
@@ -3425,7 +3425,6 @@ Notes:
|
|
|
3425
3425
|
- **Both reads restate the write path, on stderr.** `list` and `draft` end with the two lines that say the approval form is the only way to change a tag, that it rides on every turn, and that a tag change is never a Task. They are there because a chat concluded from its tool list alone that the form did not exist, never called it, and filed the change as a Task for the user to carry out by hand. stdout stays the list, so piping it is unaffected; `--json` carries the same lines in the envelope's `hints`.
|
|
3426
3426
|
- **`list` prints each tag's full readable config.** Every non-secret field is shown in full under the tag — the Clarity `projectId`, GA4 `measurementId`, the entire custom `code` snippet, etc. — so the agent reuses a stored value to pre-fill a follow-up change instead of asking the user for something already installed. Secrets are never among these fields. (`--json` emits the same data as the raw envelope.)
|
|
3427
3427
|
- **Secrets never travel through this CLI or the chat.** Secret fields (`accessToken`, `apiSecret`, `authorizationToken`, `apiKey`, `conversionToken`, `oauthProviderId`) are entered only in the dashboard's secure tag form and flow straight into the staged draft; tool responses only ever name which secret fields are set/pending.
|
|
3428
|
-
- A `chatgptAds` tag takes a Pixel ID. Its optional `apiKey` is the Conversions API key and enables the server copy of page and Form events; the key stays out of the CLI and published page.
|
|
3429
3428
|
- Staged creates get a server-generated `tag_temp_*` ref (returned in the tool result and printed by `list`). Use it (or a real tag id) as flow side-effect `tagIds` — the published tag keeps resolving under the temp ref.
|
|
3430
3429
|
- Proposing a delete on a `tag_temp_*` ref drops the staged create instead.
|
|
3431
3430
|
- Single-instance types (`code`, `posthog`, `datafast`) reject a second instance against the chat's effective view.
|
|
@@ -3435,8 +3434,6 @@ Notes:
|
|
|
3435
3434
|
|
|
3436
3435
|
Read and shape this workspace's Forms (flows). Operates on the local `_data.json` files only; no secret values are ever decrypted or printed.
|
|
3437
3436
|
|
|
3438
|
-
For ChatGPT Ads conversions, add a `chatgptAds` side effect to the Form step, choose a supported event name, and use `baker flows map` to map `advancedMatching` and optional `eventParams` (`value` and `currency`).
|
|
3439
|
-
|
|
3440
3437
|
**A Form has two halves, split by a trust boundary.** Its *structure* — steps, conditions, side effects, field mappings — is yours, and the write subcommands below edit exactly that. Its *confidential* half — connection secrets, OAuth accounts, third-party field definitions (HubSpot, Calendly, HighLevel, SavvyCal) — is configured through the `request_flow_input` tool (`baker_ui` MCP server): the agent authors the surrounding structure and references it by `nodeId`/`sideEffectId`, and the user enters secrets, connects accounts, and picks resources in the dashboard. Those values are written (encrypted, where a secret) into the Form on the chat's branch and go live when the chat is published. Nothing any of these commands does touches a live system.
|
|
3441
3438
|
|
|
3442
3439
|
```bash
|
|
@@ -20,9 +20,9 @@ import {
|
|
|
20
20
|
shouldEscalate
|
|
21
21
|
} from "./chunk-HJEMOSPH.js";
|
|
22
22
|
|
|
23
|
-
//
|
|
23
|
+
// ../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/index.js
|
|
24
24
|
var require_safe_stable_stringify = __commonJS({
|
|
25
|
-
"
|
|
25
|
+
"../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/index.js"(exports, module) {
|
|
26
26
|
"use strict";
|
|
27
27
|
var { hasOwnProperty } = Object.prototype;
|
|
28
28
|
var stringify = configure2();
|
|
@@ -1123,7 +1123,7 @@ function resolveAdaptFormats(params) {
|
|
|
1123
1123
|
return params.formats ?? [];
|
|
1124
1124
|
}
|
|
1125
1125
|
|
|
1126
|
-
//
|
|
1126
|
+
// ../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/esm/wrapper.js
|
|
1127
1127
|
var import__ = __toESM(require_safe_stable_stringify(), 1);
|
|
1128
1128
|
var configure = import__.default.configure;
|
|
1129
1129
|
var wrapper_default = import__.default;
|
|
@@ -9986,4 +9986,4 @@ export {
|
|
|
9986
9986
|
defaultRegistry,
|
|
9987
9987
|
createEngineFromEnv
|
|
9988
9988
|
};
|
|
9989
|
-
//# sourceMappingURL=chunk-
|
|
9989
|
+
//# sourceMappingURL=chunk-FGHMWBUD.js.map
|