@koda-sl/baker-cli 0.23.0 → 0.25.0-dev.f89d9a60

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.
Files changed (98) hide show
  1. package/README.md +73 -0
  2. package/dist/cli.js +1 -1
  3. package/dist/commands/ads/index.d.ts.map +1 -1
  4. package/dist/commands/ads/index.js +8 -3
  5. package/dist/commands/ads/index.js.map +1 -1
  6. package/dist/commands/ads/x/accounts.d.ts +14 -0
  7. package/dist/commands/ads/x/accounts.d.ts.map +1 -0
  8. package/dist/commands/ads/x/accounts.js +73 -0
  9. package/dist/commands/ads/x/accounts.js.map +1 -0
  10. package/dist/commands/ads/x/active-entities.d.ts +43 -0
  11. package/dist/commands/ads/x/active-entities.d.ts.map +1 -0
  12. package/dist/commands/ads/x/active-entities.js +88 -0
  13. package/dist/commands/ads/x/active-entities.js.map +1 -0
  14. package/dist/commands/ads/x/audiences.d.ts +19 -0
  15. package/dist/commands/ads/x/audiences.d.ts.map +1 -0
  16. package/dist/commands/ads/x/audiences.js +65 -0
  17. package/dist/commands/ads/x/audiences.js.map +1 -0
  18. package/dist/commands/ads/x/campaigns.d.ts +34 -0
  19. package/dist/commands/ads/x/campaigns.d.ts.map +1 -0
  20. package/dist/commands/ads/x/campaigns.js +56 -0
  21. package/dist/commands/ads/x/campaigns.js.map +1 -0
  22. package/dist/commands/ads/x/cards.d.ts +19 -0
  23. package/dist/commands/ads/x/cards.d.ts.map +1 -0
  24. package/dist/commands/ads/x/cards.js +65 -0
  25. package/dist/commands/ads/x/cards.js.map +1 -0
  26. package/dist/commands/ads/x/error-parser.d.ts +3 -0
  27. package/dist/commands/ads/x/error-parser.d.ts.map +1 -0
  28. package/dist/commands/ads/x/error-parser.js +80 -0
  29. package/dist/commands/ads/x/error-parser.js.map +1 -0
  30. package/dist/commands/ads/x/funding.d.ts +19 -0
  31. package/dist/commands/ads/x/funding.d.ts.map +1 -0
  32. package/dist/commands/ads/x/funding.js +65 -0
  33. package/dist/commands/ads/x/funding.js.map +1 -0
  34. package/dist/commands/ads/x/index.d.ts +2 -0
  35. package/dist/commands/ads/x/index.d.ts.map +1 -0
  36. package/dist/commands/ads/x/index.js +50 -0
  37. package/dist/commands/ads/x/index.js.map +1 -0
  38. package/dist/commands/ads/x/line-items.d.ts +34 -0
  39. package/dist/commands/ads/x/line-items.d.ts.map +1 -0
  40. package/dist/commands/ads/x/line-items.js +55 -0
  41. package/dist/commands/ads/x/line-items.js.map +1 -0
  42. package/dist/commands/ads/x/media.d.ts +24 -0
  43. package/dist/commands/ads/x/media.d.ts.map +1 -0
  44. package/dist/commands/ads/x/media.js +70 -0
  45. package/dist/commands/ads/x/media.js.map +1 -0
  46. package/dist/commands/ads/x/output.d.ts +13 -0
  47. package/dist/commands/ads/x/output.d.ts.map +1 -0
  48. package/dist/commands/ads/x/output.js +75 -0
  49. package/dist/commands/ads/x/output.js.map +1 -0
  50. package/dist/commands/ads/x/presets.d.ts +15 -0
  51. package/dist/commands/ads/x/presets.d.ts.map +1 -0
  52. package/dist/commands/ads/x/presets.js +60 -0
  53. package/dist/commands/ads/x/presets.js.map +1 -0
  54. package/dist/commands/ads/x/promoted-tweets.d.ts +29 -0
  55. package/dist/commands/ads/x/promoted-tweets.d.ts.map +1 -0
  56. package/dist/commands/ads/x/promoted-tweets.js +74 -0
  57. package/dist/commands/ads/x/promoted-tweets.js.map +1 -0
  58. package/dist/commands/ads/x/run-list.d.ts +17 -0
  59. package/dist/commands/ads/x/run-list.d.ts.map +1 -0
  60. package/dist/commands/ads/x/run-list.js +60 -0
  61. package/dist/commands/ads/x/run-list.js.map +1 -0
  62. package/dist/commands/ads/x/stats/index.d.ts +2 -0
  63. package/dist/commands/ads/x/stats/index.d.ts.map +1 -0
  64. package/dist/commands/ads/x/stats/index.js +32 -0
  65. package/dist/commands/ads/x/stats/index.js.map +1 -0
  66. package/dist/commands/ads/x/stats/job-create.d.ts +58 -0
  67. package/dist/commands/ads/x/stats/job-create.d.ts.map +1 -0
  68. package/dist/commands/ads/x/stats/job-create.js +95 -0
  69. package/dist/commands/ads/x/stats/job-create.js.map +1 -0
  70. package/dist/commands/ads/x/stats/job-status.d.ts +18 -0
  71. package/dist/commands/ads/x/stats/job-status.d.ts.map +1 -0
  72. package/dist/commands/ads/x/stats/job-status.js +58 -0
  73. package/dist/commands/ads/x/stats/job-status.js.map +1 -0
  74. package/dist/commands/ads/x/stats/job.d.ts +63 -0
  75. package/dist/commands/ads/x/stats/job.d.ts.map +1 -0
  76. package/dist/commands/ads/x/stats/job.js +183 -0
  77. package/dist/commands/ads/x/stats/job.js.map +1 -0
  78. package/dist/commands/ads/x/stats/sync.d.ts +73 -0
  79. package/dist/commands/ads/x/stats/sync.d.ts.map +1 -0
  80. package/dist/commands/ads/x/stats/sync.js +151 -0
  81. package/dist/commands/ads/x/stats/sync.js.map +1 -0
  82. package/dist/commands/ads/x/targeting-constants.d.ts +34 -0
  83. package/dist/commands/ads/x/targeting-constants.d.ts.map +1 -0
  84. package/dist/commands/ads/x/targeting-constants.js +80 -0
  85. package/dist/commands/ads/x/targeting-constants.js.map +1 -0
  86. package/dist/commands/ads/x/targeting-criteria.d.ts +24 -0
  87. package/dist/commands/ads/x/targeting-criteria.d.ts.map +1 -0
  88. package/dist/commands/ads/x/targeting-criteria.js +69 -0
  89. package/dist/commands/ads/x/targeting-criteria.js.map +1 -0
  90. package/dist/env.d.ts +1 -0
  91. package/dist/env.d.ts.map +1 -1
  92. package/dist/env.js +4 -0
  93. package/dist/env.js.map +1 -1
  94. package/dist/error-handler.d.ts +1 -1
  95. package/dist/error-handler.d.ts.map +1 -1
  96. package/dist/error-handler.js +3 -0
  97. package/dist/error-handler.js.map +1 -1
  98. package/package.json +1 -1
@@ -0,0 +1,24 @@
1
+ export declare const targetingCriteriaCommand: import("citty").CommandDef<{
2
+ readonly "account-id": {
3
+ readonly type: "string";
4
+ readonly description: "X Ads account ID";
5
+ readonly required: false;
6
+ };
7
+ readonly "line-item-ids": {
8
+ readonly type: "string";
9
+ readonly description: "CSV of line item IDs";
10
+ readonly required: false;
11
+ };
12
+ readonly "no-cache": {
13
+ readonly type: "boolean";
14
+ readonly description: "Skip cache";
15
+ readonly required: false;
16
+ };
17
+ readonly output: {
18
+ readonly type: "string";
19
+ readonly description: "Format: json|csv|md";
20
+ readonly required: false;
21
+ readonly default: "json";
22
+ };
23
+ }>;
24
+ //# sourceMappingURL=targeting-criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targeting-criteria.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/targeting-criteria.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;EAiDnC,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { defineCommand } from "citty";
2
+ import { ApiError, apiGet } from "../../../client.js";
3
+ import { registerSchema } from "../../../schemas.js";
4
+ import { cacheGet, cacheSet } from "../cache.js";
5
+ import { writeAdsJson, writeAdsOutput } from "../output.js";
6
+ import { parseXApiError } from "./error-parser.js";
7
+ import { resolveXAccountId } from "./output.js";
8
+ registerSchema({
9
+ command: "ads.x.targetingCriteria",
10
+ description: "List targeting criteria attached to line items in an X Ads account. Returns targeting_type, targeting_value, name, operator_type per criterion. Filter by line-item-ids.",
11
+ args: {
12
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
13
+ "line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
14
+ "no-cache": { type: "boolean", description: "Skip cache", required: false },
15
+ },
16
+ });
17
+ export const targetingCriteriaCommand = defineCommand({
18
+ meta: {
19
+ name: "targeting-criteria",
20
+ description: `List targeting criteria attached to line items.
21
+
22
+ Examples:
23
+ baker ads x targeting-criteria --account-id 18ce53xyz --line-item-ids abc`,
24
+ },
25
+ args: {
26
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
27
+ "line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
28
+ "no-cache": { type: "boolean", description: "Skip cache", required: false },
29
+ output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" },
30
+ },
31
+ run: async ({ args }) => {
32
+ const accountId = await resolveXAccountId(args);
33
+ const useCache = !args["no-cache"];
34
+ const cacheKey = `targeting-criteria:${accountId}:${args["line-item-ids"] ?? ""}`;
35
+ if (useCache) {
36
+ const cached = cacheGet("x-account-data", cacheKey);
37
+ if (cached) {
38
+ writeAdsJson({ ok: true, data: cached.data, cached: true });
39
+ return;
40
+ }
41
+ }
42
+ try {
43
+ const params = { "account-id": accountId };
44
+ if (args["line-item-ids"])
45
+ params["line-item-ids"] = args["line-item-ids"];
46
+ if (!useCache)
47
+ params["skip-cache"] = "true";
48
+ const data = await apiGet("/api/ads/x/targeting-criteria", params);
49
+ if (useCache) {
50
+ cacheSet("x-account-data", cacheKey, data, 60 * 60 * 1000);
51
+ }
52
+ const format = args.output || "json";
53
+ if (format !== "json") {
54
+ writeAdsOutput(data, format);
55
+ return;
56
+ }
57
+ writeAdsJson({ ok: true, data });
58
+ }
59
+ catch (err) {
60
+ if (err instanceof ApiError) {
61
+ writeAdsJson(parseXApiError(err.message, accountId));
62
+ process.exit(1);
63
+ }
64
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
65
+ process.exit(1);
66
+ }
67
+ },
68
+ });
69
+ //# sourceMappingURL=targeting-criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targeting-criteria.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/targeting-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,CAAC;IACb,OAAO,EAAE,yBAAyB;IAClC,WAAW,EACT,0KAA0K;IAC5K,IAAI,EAAE;QACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClF,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzF,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC5E;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACpD,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;;;4EAG2D;KACzE;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClF,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzF,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;KACjG;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,sBAAsB,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QAElF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAY,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;YACnE,IAAI,IAAI,CAAC,eAAe,CAAC;gBAAE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAW,CAAC;YACrF,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAY,+BAA+B,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,MAAM,CAAC;YACjD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,cAAc,CAAC,IAAsC,EAAE,MAAM,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
package/dist/env.d.ts CHANGED
@@ -5,6 +5,7 @@ type Env = {
5
5
  BAKER_GOOGLE_ADS_CUSTOMER_ID?: string;
6
6
  BAKER_GA4_PROPERTY_ID?: string;
7
7
  BAKER_GSC_SITE_URL?: string;
8
+ BAKER_X_ADS_ACCOUNT_ID?: string;
8
9
  };
9
10
  export declare function getEnv(): Env;
10
11
  export declare function requireChatId(): string;
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,KAAK,GAAG,GAAG;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,wBAAgB,MAAM,IAAI,GAAG,CAkB5B;AAED,wBAAgB,aAAa,IAAI,MAAM,CAQtC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,KAAK,GAAG,GAAG;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAIF,wBAAgB,MAAM,IAAI,GAAG,CAsB5B;AAED,wBAAgB,aAAa,IAAI,MAAM,CAQtC"}
package/dist/env.js CHANGED
@@ -14,6 +14,10 @@ export function getEnv() {
14
14
  .optional(),
15
15
  BAKER_GA4_PROPERTY_ID: z.string().optional(),
16
16
  BAKER_GSC_SITE_URL: z.string().optional(),
17
+ BAKER_X_ADS_ACCOUNT_ID: z
18
+ .string()
19
+ .regex(/^[a-z0-9]+$/, "X Ads account ID must be a base36 string")
20
+ .optional(),
17
21
  },
18
22
  runtimeEnv: process.env,
19
23
  });
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,IAAI,MAAuB,CAAC;AAE5B,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,SAAS,CAAC;YACjB,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC;gBAC5E,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC;gBACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACpC,4BAA4B,EAAE,CAAC;qBAC5B,MAAM,EAAE;qBACR,KAAK,CAAC,UAAU,CAAC;qBACjB,QAAQ,EAAE;gBACb,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1C;YACD,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,IAAI,MAAuB,CAAC;AAE5B,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,SAAS,CAAC;YACjB,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC;gBAC5E,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC;gBACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACpC,4BAA4B,EAAE,CAAC;qBAC5B,MAAM,EAAE;qBACR,KAAK,CAAC,UAAU,CAAC;qBACjB,QAAQ,EAAE;gBACb,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACzC,sBAAsB,EAAE,CAAC;qBACtB,MAAM,EAAE;qBACR,KAAK,CAAC,aAAa,EAAE,0CAA0C,CAAC;qBAChE,QAAQ,EAAE;aACd;YACD,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC;AAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- type ConnectionPlatform = "google_ads" | "ga4" | "gsc";
1
+ type ConnectionPlatform = "google_ads" | "ga4" | "gsc" | "x_ads";
2
2
  /**
3
3
  * Shared error handler for "No Connection" scenarios.
4
4
  * Provides a structured error for AI agents with a suggested fix and alternative commands.
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAkCnG"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAqCnG"}
@@ -8,16 +8,19 @@ export function handleConnectionError(platform, originalMessage) {
8
8
  google_ads: "Google Ads",
9
9
  ga4: "Google Analytics 4",
10
10
  gsc: "Google Search Console",
11
+ x_ads: "X Ads",
11
12
  }[platform];
12
13
  const alternative = {
13
14
  google_ads: "keywords-for-site or research advertisers",
14
15
  ga4: "lighthouse for page performance",
15
16
  gsc: "keywords-for-site or research keyword-gap",
17
+ x_ads: "research advertisers",
16
18
  }[platform];
17
19
  const code = {
18
20
  google_ads: "NO_GOOGLE_ADS_CONNECTION",
19
21
  ga4: "NO_GA4_CONNECTION",
20
22
  gsc: "NO_GSC_CONNECTION",
23
+ x_ads: "NO_X_ADS_CONNECTION",
21
24
  }[platform];
22
25
  const envelope = {
23
26
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA4B,EAAE,eAAwB;IAC1F,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,YAAY;QACxB,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,uBAAuB;KAC7B,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,2CAA2C;QACvD,GAAG,EAAE,iCAAiC;QACtC,GAAG,EAAE,2CAA2C;KACjD,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,0BAA0B;QACtC,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,mBAAmB;KACzB,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI;YACJ,OAAO,EAAE,eAAe,IAAI,MAAM,YAAY,qCAAqC;YACnF,GAAG,EAAE;gBACH,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,uGAAuG,YAAY,4DAA4D,YAAY,8PAA8P,WAAW,qCAAqC;aACvf;YACD,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;IAEF,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA4B,EAAE,eAAwB;IAC1F,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,YAAY;QACxB,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,uBAAuB;QAC5B,KAAK,EAAE,OAAO;KACf,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,2CAA2C;QACvD,GAAG,EAAE,iCAAiC;QACtC,GAAG,EAAE,2CAA2C;QAChD,KAAK,EAAE,sBAAsB;KAC9B,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,0BAA0B;QACtC,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,mBAAmB;QACxB,KAAK,EAAE,qBAAqB;KAC7B,CAAC,QAAQ,CAAC,CAAC;IAEZ,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI;YACJ,OAAO,EAAE,eAAe,IAAI,MAAM,YAAY,qCAAqC;YACnF,GAAG,EAAE;gBACH,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,uGAAuG,YAAY,4DAA4D,YAAY,8PAA8P,WAAW,qCAAqC;aACvf;YACD,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;IAEF,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-cli",
3
- "version": "0.23.0",
3
+ "version": "0.25.0-dev.f89d9a60",
4
4
  "description": "AI-agent-first CLI for interacting with Baker",
5
5
  "type": "module",
6
6
  "bin": {