@koda-sl/baker-cli 0.34.1 → 0.34.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.
Files changed (682) hide show
  1. package/README.md +59 -28
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +39 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/client.d.ts +12 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +153 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/commands/actions/claim.d.ts +13 -0
  11. package/dist/commands/actions/claim.d.ts.map +1 -0
  12. package/dist/commands/actions/claim.js +45 -0
  13. package/dist/commands/actions/claim.js.map +1 -0
  14. package/dist/commands/actions/complete.d.ts +18 -0
  15. package/dist/commands/actions/complete.d.ts.map +1 -0
  16. package/dist/commands/actions/complete.js +42 -0
  17. package/dist/commands/actions/complete.js.map +1 -0
  18. package/dist/commands/actions/create.d.ts +24 -0
  19. package/dist/commands/actions/create.d.ts.map +1 -0
  20. package/dist/commands/actions/create.js +68 -0
  21. package/dist/commands/actions/create.js.map +1 -0
  22. package/dist/commands/actions/discard.d.ts +18 -0
  23. package/dist/commands/actions/discard.d.ts.map +1 -0
  24. package/dist/commands/actions/discard.js +44 -0
  25. package/dist/commands/actions/discard.js.map +1 -0
  26. package/dist/commands/actions/get.d.ts +13 -0
  27. package/dist/commands/actions/get.d.ts.map +1 -0
  28. package/dist/commands/actions/get.js +34 -0
  29. package/dist/commands/actions/get.js.map +1 -0
  30. package/dist/commands/actions/index.d.ts +2 -0
  31. package/dist/commands/actions/index.d.ts.map +1 -0
  32. package/dist/commands/actions/index.js +43 -0
  33. package/dist/commands/actions/index.js.map +1 -0
  34. package/dist/commands/actions/link.d.ts +13 -0
  35. package/dist/commands/actions/link.d.ts.map +1 -0
  36. package/dist/commands/actions/link.js +43 -0
  37. package/dist/commands/actions/link.js.map +1 -0
  38. package/dist/commands/actions/list.d.ts +19 -0
  39. package/dist/commands/actions/list.d.ts.map +1 -0
  40. package/dist/commands/actions/list.js +66 -0
  41. package/dist/commands/actions/list.js.map +1 -0
  42. package/dist/commands/actions/release.d.ts +13 -0
  43. package/dist/commands/actions/release.d.ts.map +1 -0
  44. package/dist/commands/actions/release.js +38 -0
  45. package/dist/commands/actions/release.js.map +1 -0
  46. package/dist/commands/actions/shared.d.ts +6 -0
  47. package/dist/commands/actions/shared.d.ts.map +1 -0
  48. package/dist/commands/actions/shared.js +28 -0
  49. package/dist/commands/actions/shared.js.map +1 -0
  50. package/dist/commands/actions/tag/add.d.ts +18 -0
  51. package/dist/commands/actions/tag/add.d.ts.map +1 -0
  52. package/dist/commands/actions/tag/add.js +47 -0
  53. package/dist/commands/actions/tag/add.js.map +1 -0
  54. package/dist/commands/actions/tag/create.d.ts +23 -0
  55. package/dist/commands/actions/tag/create.d.ts.map +1 -0
  56. package/dist/commands/actions/tag/create.js +50 -0
  57. package/dist/commands/actions/tag/create.js.map +1 -0
  58. package/dist/commands/actions/tag/delete.d.ts +13 -0
  59. package/dist/commands/actions/tag/delete.d.ts.map +1 -0
  60. package/dist/commands/actions/tag/delete.js +36 -0
  61. package/dist/commands/actions/tag/delete.js.map +1 -0
  62. package/dist/commands/actions/tag/index.d.ts +2 -0
  63. package/dist/commands/actions/tag/index.d.ts.map +1 -0
  64. package/dist/commands/actions/tag/index.js +32 -0
  65. package/dist/commands/actions/tag/index.js.map +1 -0
  66. package/dist/commands/actions/tag/list.d.ts +2 -0
  67. package/dist/commands/actions/tag/list.d.ts.map +1 -0
  68. package/dist/commands/actions/tag/list.js +24 -0
  69. package/dist/commands/actions/tag/list.js.map +1 -0
  70. package/dist/commands/actions/tag/remove.d.ts +18 -0
  71. package/dist/commands/actions/tag/remove.d.ts.map +1 -0
  72. package/dist/commands/actions/tag/remove.js +48 -0
  73. package/dist/commands/actions/tag/remove.js.map +1 -0
  74. package/dist/commands/actions/tag/update.d.ts +28 -0
  75. package/dist/commands/actions/tag/update.d.ts.map +1 -0
  76. package/dist/commands/actions/tag/update.js +50 -0
  77. package/dist/commands/actions/tag/update.js.map +1 -0
  78. package/dist/commands/actions/unlink.d.ts +13 -0
  79. package/dist/commands/actions/unlink.d.ts.map +1 -0
  80. package/dist/commands/actions/unlink.js +45 -0
  81. package/dist/commands/actions/unlink.js.map +1 -0
  82. package/dist/commands/actions/update.d.ts +23 -0
  83. package/dist/commands/actions/update.d.ts.map +1 -0
  84. package/dist/commands/actions/update.js +50 -0
  85. package/dist/commands/actions/update.js.map +1 -0
  86. package/dist/commands/ads/cache.d.ts +7 -0
  87. package/dist/commands/ads/cache.d.ts.map +1 -0
  88. package/dist/commands/ads/cache.js +73 -0
  89. package/dist/commands/ads/cache.js.map +1 -0
  90. package/dist/commands/ads/cache.test.d.ts +2 -0
  91. package/dist/commands/ads/cache.test.d.ts.map +1 -0
  92. package/dist/commands/ads/cache.test.js +44 -0
  93. package/dist/commands/ads/cache.test.js.map +1 -0
  94. package/dist/commands/ads/field-descriptions.d.ts +2 -0
  95. package/dist/commands/ads/field-descriptions.d.ts.map +1 -0
  96. package/dist/commands/ads/field-descriptions.js +91 -0
  97. package/dist/commands/ads/field-descriptions.js.map +1 -0
  98. package/dist/commands/ads/google/accounts.d.ts +14 -0
  99. package/dist/commands/ads/google/accounts.d.ts.map +1 -0
  100. package/dist/commands/ads/google/accounts.js +76 -0
  101. package/dist/commands/ads/google/accounts.js.map +1 -0
  102. package/dist/commands/ads/google/changes.d.ts +34 -0
  103. package/dist/commands/ads/google/changes.d.ts.map +1 -0
  104. package/dist/commands/ads/google/changes.js +80 -0
  105. package/dist/commands/ads/google/changes.js.map +1 -0
  106. package/dist/commands/ads/google/correction-table.d.ts +3 -0
  107. package/dist/commands/ads/google/correction-table.d.ts.map +1 -0
  108. package/dist/commands/ads/google/correction-table.js +352 -0
  109. package/dist/commands/ads/google/correction-table.js.map +1 -0
  110. package/dist/commands/ads/google/currency.d.ts +13 -0
  111. package/dist/commands/ads/google/currency.d.ts.map +1 -0
  112. package/dist/commands/ads/google/currency.js +68 -0
  113. package/dist/commands/ads/google/currency.js.map +1 -0
  114. package/dist/commands/ads/google/error-parser.d.ts +3 -0
  115. package/dist/commands/ads/google/error-parser.d.ts.map +1 -0
  116. package/dist/commands/ads/google/error-parser.js +91 -0
  117. package/dist/commands/ads/google/error-parser.js.map +1 -0
  118. package/dist/commands/ads/google/error-parser.test.d.ts +2 -0
  119. package/dist/commands/ads/google/error-parser.test.d.ts.map +1 -0
  120. package/dist/commands/ads/google/error-parser.test.js +48 -0
  121. package/dist/commands/ads/google/error-parser.test.js.map +1 -0
  122. package/dist/commands/ads/google/index.d.ts +2 -0
  123. package/dist/commands/ads/google/index.d.ts.map +1 -0
  124. package/dist/commands/ads/google/index.js +34 -0
  125. package/dist/commands/ads/google/index.js.map +1 -0
  126. package/dist/commands/ads/google/keywords/discover.d.ts +49 -0
  127. package/dist/commands/ads/google/keywords/discover.d.ts.map +1 -0
  128. package/dist/commands/ads/google/keywords/discover.js +151 -0
  129. package/dist/commands/ads/google/keywords/discover.js.map +1 -0
  130. package/dist/commands/ads/google/keywords/index.d.ts +2 -0
  131. package/dist/commands/ads/google/keywords/index.d.ts.map +1 -0
  132. package/dist/commands/ads/google/keywords/index.js +24 -0
  133. package/dist/commands/ads/google/keywords/index.js.map +1 -0
  134. package/dist/commands/ads/google/keywords/languages.d.ts +2 -0
  135. package/dist/commands/ads/google/keywords/languages.d.ts.map +1 -0
  136. package/dist/commands/ads/google/keywords/languages.js +23 -0
  137. package/dist/commands/ads/google/keywords/languages.js.map +1 -0
  138. package/dist/commands/ads/google/keywords/locations.d.ts +2 -0
  139. package/dist/commands/ads/google/keywords/locations.d.ts.map +1 -0
  140. package/dist/commands/ads/google/keywords/locations.js +23 -0
  141. package/dist/commands/ads/google/keywords/locations.js.map +1 -0
  142. package/dist/commands/ads/google/keywords/metrics.d.ts +34 -0
  143. package/dist/commands/ads/google/keywords/metrics.d.ts.map +1 -0
  144. package/dist/commands/ads/google/keywords/metrics.js +123 -0
  145. package/dist/commands/ads/google/keywords/metrics.js.map +1 -0
  146. package/dist/commands/ads/google/library/index.d.ts +3 -0
  147. package/dist/commands/ads/google/library/index.d.ts.map +1 -0
  148. package/dist/commands/ads/google/library/index.js +279 -0
  149. package/dist/commands/ads/google/library/index.js.map +1 -0
  150. package/dist/commands/ads/google/library/index.test.d.ts +2 -0
  151. package/dist/commands/ads/google/library/index.test.d.ts.map +1 -0
  152. package/dist/commands/ads/google/library/index.test.js +26 -0
  153. package/dist/commands/ads/google/library/index.test.js.map +1 -0
  154. package/dist/commands/ads/google/preflight.d.ts +3 -0
  155. package/dist/commands/ads/google/preflight.d.ts.map +1 -0
  156. package/dist/commands/ads/google/preflight.js +122 -0
  157. package/dist/commands/ads/google/preflight.js.map +1 -0
  158. package/dist/commands/ads/google/preflight.test.d.ts +2 -0
  159. package/dist/commands/ads/google/preflight.test.d.ts.map +1 -0
  160. package/dist/commands/ads/google/preflight.test.js +50 -0
  161. package/dist/commands/ads/google/preflight.test.js.map +1 -0
  162. package/dist/commands/ads/google/presets.d.ts +12 -0
  163. package/dist/commands/ads/google/presets.d.ts.map +1 -0
  164. package/dist/commands/ads/google/presets.js +85 -0
  165. package/dist/commands/ads/google/presets.js.map +1 -0
  166. package/dist/commands/ads/google/presets.test.d.ts +2 -0
  167. package/dist/commands/ads/google/presets.test.d.ts.map +1 -0
  168. package/dist/commands/ads/google/presets.test.js +79 -0
  169. package/dist/commands/ads/google/presets.test.js.map +1 -0
  170. package/dist/commands/ads/google/query.d.ts +64 -0
  171. package/dist/commands/ads/google/query.d.ts.map +1 -0
  172. package/dist/commands/ads/google/query.js +304 -0
  173. package/dist/commands/ads/google/query.js.map +1 -0
  174. package/dist/commands/ads/index.d.ts +2 -0
  175. package/dist/commands/ads/index.d.ts.map +1 -0
  176. package/dist/commands/ads/index.js +34 -0
  177. package/dist/commands/ads/index.js.map +1 -0
  178. package/dist/commands/ads/linkedin/account.d.ts +20 -0
  179. package/dist/commands/ads/linkedin/account.d.ts.map +1 -0
  180. package/dist/commands/ads/linkedin/account.js +39 -0
  181. package/dist/commands/ads/linkedin/account.js.map +1 -0
  182. package/dist/commands/ads/linkedin/accounts.d.ts +20 -0
  183. package/dist/commands/ads/linkedin/accounts.d.ts.map +1 -0
  184. package/dist/commands/ads/linkedin/accounts.js +56 -0
  185. package/dist/commands/ads/linkedin/accounts.js.map +1 -0
  186. package/dist/commands/ads/linkedin/analytics.d.ts +84 -0
  187. package/dist/commands/ads/linkedin/analytics.d.ts.map +1 -0
  188. package/dist/commands/ads/linkedin/analytics.js +249 -0
  189. package/dist/commands/ads/linkedin/analytics.js.map +1 -0
  190. package/dist/commands/ads/linkedin/audience-size.d.ts +28 -0
  191. package/dist/commands/ads/linkedin/audience-size.d.ts.map +1 -0
  192. package/dist/commands/ads/linkedin/audience-size.js +75 -0
  193. package/dist/commands/ads/linkedin/audience-size.js.map +1 -0
  194. package/dist/commands/ads/linkedin/audit.d.ts +35 -0
  195. package/dist/commands/ads/linkedin/audit.d.ts.map +1 -0
  196. package/dist/commands/ads/linkedin/audit.js +136 -0
  197. package/dist/commands/ads/linkedin/audit.js.map +1 -0
  198. package/dist/commands/ads/linkedin/bid-pricing.d.ts +38 -0
  199. package/dist/commands/ads/linkedin/bid-pricing.d.ts.map +1 -0
  200. package/dist/commands/ads/linkedin/bid-pricing.js +76 -0
  201. package/dist/commands/ads/linkedin/bid-pricing.js.map +1 -0
  202. package/dist/commands/ads/linkedin/campaign-groups.d.ts +32 -0
  203. package/dist/commands/ads/linkedin/campaign-groups.d.ts.map +1 -0
  204. package/dist/commands/ads/linkedin/campaign-groups.js +50 -0
  205. package/dist/commands/ads/linkedin/campaign-groups.js.map +1 -0
  206. package/dist/commands/ads/linkedin/campaigns.d.ts +36 -0
  207. package/dist/commands/ads/linkedin/campaigns.d.ts.map +1 -0
  208. package/dist/commands/ads/linkedin/campaigns.js +57 -0
  209. package/dist/commands/ads/linkedin/campaigns.js.map +1 -0
  210. package/dist/commands/ads/linkedin/conversation.d.ts +36 -0
  211. package/dist/commands/ads/linkedin/conversation.d.ts.map +1 -0
  212. package/dist/commands/ads/linkedin/conversation.js +77 -0
  213. package/dist/commands/ads/linkedin/conversation.js.map +1 -0
  214. package/dist/commands/ads/linkedin/conversions.d.ts +2 -0
  215. package/dist/commands/ads/linkedin/conversions.d.ts.map +1 -0
  216. package/dist/commands/ads/linkedin/conversions.js +102 -0
  217. package/dist/commands/ads/linkedin/conversions.js.map +1 -0
  218. package/dist/commands/ads/linkedin/creatives.d.ts +36 -0
  219. package/dist/commands/ads/linkedin/creatives.d.ts.map +1 -0
  220. package/dist/commands/ads/linkedin/creatives.js +57 -0
  221. package/dist/commands/ads/linkedin/creatives.js.map +1 -0
  222. package/dist/commands/ads/linkedin/demographics.d.ts +40 -0
  223. package/dist/commands/ads/linkedin/demographics.d.ts.map +1 -0
  224. package/dist/commands/ads/linkedin/demographics.js +117 -0
  225. package/dist/commands/ads/linkedin/demographics.js.map +1 -0
  226. package/dist/commands/ads/linkedin/facets.d.ts +2 -0
  227. package/dist/commands/ads/linkedin/facets.d.ts.map +1 -0
  228. package/dist/commands/ads/linkedin/facets.js +95 -0
  229. package/dist/commands/ads/linkedin/facets.js.map +1 -0
  230. package/dist/commands/ads/linkedin/forecast.d.ts +50 -0
  231. package/dist/commands/ads/linkedin/forecast.d.ts.map +1 -0
  232. package/dist/commands/ads/linkedin/forecast.js +83 -0
  233. package/dist/commands/ads/linkedin/forecast.js.map +1 -0
  234. package/dist/commands/ads/linkedin/index.d.ts +19 -0
  235. package/dist/commands/ads/linkedin/index.d.ts.map +1 -0
  236. package/dist/commands/ads/linkedin/index.js +83 -0
  237. package/dist/commands/ads/linkedin/index.js.map +1 -0
  238. package/dist/commands/ads/linkedin/leads.d.ts +40 -0
  239. package/dist/commands/ads/linkedin/leads.d.ts.map +1 -0
  240. package/dist/commands/ads/linkedin/leads.js +75 -0
  241. package/dist/commands/ads/linkedin/leads.js.map +1 -0
  242. package/dist/commands/ads/linkedin/presets.d.ts +40 -0
  243. package/dist/commands/ads/linkedin/presets.d.ts.map +1 -0
  244. package/dist/commands/ads/linkedin/presets.js +193 -0
  245. package/dist/commands/ads/linkedin/presets.js.map +1 -0
  246. package/dist/commands/ads/linkedin/presets.test.d.ts +2 -0
  247. package/dist/commands/ads/linkedin/presets.test.d.ts.map +1 -0
  248. package/dist/commands/ads/linkedin/presets.test.js +98 -0
  249. package/dist/commands/ads/linkedin/presets.test.js.map +1 -0
  250. package/dist/commands/ads/linkedin/schemas.d.ts +2 -0
  251. package/dist/commands/ads/linkedin/schemas.d.ts.map +1 -0
  252. package/dist/commands/ads/linkedin/schemas.js +300 -0
  253. package/dist/commands/ads/linkedin/schemas.js.map +1 -0
  254. package/dist/commands/ads/linkedin/shared.d.ts +17 -0
  255. package/dist/commands/ads/linkedin/shared.d.ts.map +1 -0
  256. package/dist/commands/ads/linkedin/shared.js +116 -0
  257. package/dist/commands/ads/linkedin/shared.js.map +1 -0
  258. package/dist/commands/ads/linkedin/top-companies.d.ts +44 -0
  259. package/dist/commands/ads/linkedin/top-companies.d.ts.map +1 -0
  260. package/dist/commands/ads/linkedin/top-companies.js +86 -0
  261. package/dist/commands/ads/linkedin/top-companies.js.map +1 -0
  262. package/dist/commands/ads/meta/account.d.ts +11 -0
  263. package/dist/commands/ads/meta/account.d.ts.map +1 -0
  264. package/dist/commands/ads/meta/account.js +32 -0
  265. package/dist/commands/ads/meta/account.js.map +1 -0
  266. package/dist/commands/ads/meta/accounts.d.ts +20 -0
  267. package/dist/commands/ads/meta/accounts.d.ts.map +1 -0
  268. package/dist/commands/ads/meta/accounts.js +55 -0
  269. package/dist/commands/ads/meta/accounts.js.map +1 -0
  270. package/dist/commands/ads/meta/activities.d.ts +24 -0
  271. package/dist/commands/ads/meta/activities.d.ts.map +1 -0
  272. package/dist/commands/ads/meta/activities.js +44 -0
  273. package/dist/commands/ads/meta/activities.js.map +1 -0
  274. package/dist/commands/ads/meta/ads.d.ts +36 -0
  275. package/dist/commands/ads/meta/ads.d.ts.map +1 -0
  276. package/dist/commands/ads/meta/ads.js +57 -0
  277. package/dist/commands/ads/meta/ads.js.map +1 -0
  278. package/dist/commands/ads/meta/adsets.d.ts +32 -0
  279. package/dist/commands/ads/meta/adsets.d.ts.map +1 -0
  280. package/dist/commands/ads/meta/adsets.js +50 -0
  281. package/dist/commands/ads/meta/adsets.js.map +1 -0
  282. package/dist/commands/ads/meta/audiences.d.ts +20 -0
  283. package/dist/commands/ads/meta/audiences.d.ts.map +1 -0
  284. package/dist/commands/ads/meta/audiences.js +41 -0
  285. package/dist/commands/ads/meta/audiences.js.map +1 -0
  286. package/dist/commands/ads/meta/businesses.d.ts +12 -0
  287. package/dist/commands/ads/meta/businesses.d.ts.map +1 -0
  288. package/dist/commands/ads/meta/businesses.js +35 -0
  289. package/dist/commands/ads/meta/businesses.js.map +1 -0
  290. package/dist/commands/ads/meta/campaigns.d.ts +28 -0
  291. package/dist/commands/ads/meta/campaigns.d.ts.map +1 -0
  292. package/dist/commands/ads/meta/campaigns.js +51 -0
  293. package/dist/commands/ads/meta/campaigns.js.map +1 -0
  294. package/dist/commands/ads/meta/creatives.d.ts +24 -0
  295. package/dist/commands/ads/meta/creatives.d.ts.map +1 -0
  296. package/dist/commands/ads/meta/creatives.js +51 -0
  297. package/dist/commands/ads/meta/creatives.js.map +1 -0
  298. package/dist/commands/ads/meta/index.d.ts +17 -0
  299. package/dist/commands/ads/meta/index.d.ts.map +1 -0
  300. package/dist/commands/ads/meta/index.js +79 -0
  301. package/dist/commands/ads/meta/index.js.map +1 -0
  302. package/dist/commands/ads/meta/insights.d.ts +92 -0
  303. package/dist/commands/ads/meta/insights.d.ts.map +1 -0
  304. package/dist/commands/ads/meta/insights.js +260 -0
  305. package/dist/commands/ads/meta/insights.js.map +1 -0
  306. package/dist/commands/ads/meta/pixels.d.ts +33 -0
  307. package/dist/commands/ads/meta/pixels.d.ts.map +1 -0
  308. package/dist/commands/ads/meta/pixels.js +76 -0
  309. package/dist/commands/ads/meta/pixels.js.map +1 -0
  310. package/dist/commands/ads/meta/presets.d.ts +30 -0
  311. package/dist/commands/ads/meta/presets.d.ts.map +1 -0
  312. package/dist/commands/ads/meta/presets.js +86 -0
  313. package/dist/commands/ads/meta/presets.js.map +1 -0
  314. package/dist/commands/ads/meta/preview.d.ts +32 -0
  315. package/dist/commands/ads/meta/preview.d.ts.map +1 -0
  316. package/dist/commands/ads/meta/preview.js +90 -0
  317. package/dist/commands/ads/meta/preview.js.map +1 -0
  318. package/dist/commands/ads/meta/shared.d.ts +18 -0
  319. package/dist/commands/ads/meta/shared.d.ts.map +1 -0
  320. package/dist/commands/ads/meta/shared.js +86 -0
  321. package/dist/commands/ads/meta/shared.js.map +1 -0
  322. package/dist/commands/ads/output.d.ts +22 -0
  323. package/dist/commands/ads/output.d.ts.map +1 -0
  324. package/dist/commands/ads/output.js +130 -0
  325. package/dist/commands/ads/output.js.map +1 -0
  326. package/dist/commands/ads/output.test.d.ts +2 -0
  327. package/dist/commands/ads/output.test.d.ts.map +1 -0
  328. package/dist/commands/ads/output.test.js +100 -0
  329. package/dist/commands/ads/output.test.js.map +1 -0
  330. package/dist/commands/ads/types.d.ts +69 -0
  331. package/dist/commands/ads/types.d.ts.map +1 -0
  332. package/dist/commands/ads/types.js +2 -0
  333. package/dist/commands/ads/types.js.map +1 -0
  334. package/dist/commands/ads/x/accounts.d.ts +14 -0
  335. package/dist/commands/ads/x/accounts.d.ts.map +1 -0
  336. package/dist/commands/ads/x/accounts.js +73 -0
  337. package/dist/commands/ads/x/accounts.js.map +1 -0
  338. package/dist/commands/ads/x/active-entities.d.ts +43 -0
  339. package/dist/commands/ads/x/active-entities.d.ts.map +1 -0
  340. package/dist/commands/ads/x/active-entities.js +88 -0
  341. package/dist/commands/ads/x/active-entities.js.map +1 -0
  342. package/dist/commands/ads/x/audiences.d.ts +19 -0
  343. package/dist/commands/ads/x/audiences.d.ts.map +1 -0
  344. package/dist/commands/ads/x/audiences.js +65 -0
  345. package/dist/commands/ads/x/audiences.js.map +1 -0
  346. package/dist/commands/ads/x/campaigns.d.ts +34 -0
  347. package/dist/commands/ads/x/campaigns.d.ts.map +1 -0
  348. package/dist/commands/ads/x/campaigns.js +56 -0
  349. package/dist/commands/ads/x/campaigns.js.map +1 -0
  350. package/dist/commands/ads/x/cards.d.ts +19 -0
  351. package/dist/commands/ads/x/cards.d.ts.map +1 -0
  352. package/dist/commands/ads/x/cards.js +65 -0
  353. package/dist/commands/ads/x/cards.js.map +1 -0
  354. package/dist/commands/ads/x/error-parser.d.ts +3 -0
  355. package/dist/commands/ads/x/error-parser.d.ts.map +1 -0
  356. package/dist/commands/ads/x/error-parser.js +80 -0
  357. package/dist/commands/ads/x/error-parser.js.map +1 -0
  358. package/dist/commands/ads/x/funding.d.ts +19 -0
  359. package/dist/commands/ads/x/funding.d.ts.map +1 -0
  360. package/dist/commands/ads/x/funding.js +65 -0
  361. package/dist/commands/ads/x/funding.js.map +1 -0
  362. package/dist/commands/ads/x/index.d.ts +2 -0
  363. package/dist/commands/ads/x/index.d.ts.map +1 -0
  364. package/dist/commands/ads/x/index.js +50 -0
  365. package/dist/commands/ads/x/index.js.map +1 -0
  366. package/dist/commands/ads/x/line-items.d.ts +34 -0
  367. package/dist/commands/ads/x/line-items.d.ts.map +1 -0
  368. package/dist/commands/ads/x/line-items.js +55 -0
  369. package/dist/commands/ads/x/line-items.js.map +1 -0
  370. package/dist/commands/ads/x/media.d.ts +24 -0
  371. package/dist/commands/ads/x/media.d.ts.map +1 -0
  372. package/dist/commands/ads/x/media.js +70 -0
  373. package/dist/commands/ads/x/media.js.map +1 -0
  374. package/dist/commands/ads/x/output.d.ts +13 -0
  375. package/dist/commands/ads/x/output.d.ts.map +1 -0
  376. package/dist/commands/ads/x/output.js +75 -0
  377. package/dist/commands/ads/x/output.js.map +1 -0
  378. package/dist/commands/ads/x/presets.d.ts +15 -0
  379. package/dist/commands/ads/x/presets.d.ts.map +1 -0
  380. package/dist/commands/ads/x/presets.js +60 -0
  381. package/dist/commands/ads/x/presets.js.map +1 -0
  382. package/dist/commands/ads/x/promoted-tweets.d.ts +29 -0
  383. package/dist/commands/ads/x/promoted-tweets.d.ts.map +1 -0
  384. package/dist/commands/ads/x/promoted-tweets.js +74 -0
  385. package/dist/commands/ads/x/promoted-tweets.js.map +1 -0
  386. package/dist/commands/ads/x/run-list.d.ts +17 -0
  387. package/dist/commands/ads/x/run-list.d.ts.map +1 -0
  388. package/dist/commands/ads/x/run-list.js +60 -0
  389. package/dist/commands/ads/x/run-list.js.map +1 -0
  390. package/dist/commands/ads/x/stats/index.d.ts +2 -0
  391. package/dist/commands/ads/x/stats/index.d.ts.map +1 -0
  392. package/dist/commands/ads/x/stats/index.js +32 -0
  393. package/dist/commands/ads/x/stats/index.js.map +1 -0
  394. package/dist/commands/ads/x/stats/job-create.d.ts +58 -0
  395. package/dist/commands/ads/x/stats/job-create.d.ts.map +1 -0
  396. package/dist/commands/ads/x/stats/job-create.js +95 -0
  397. package/dist/commands/ads/x/stats/job-create.js.map +1 -0
  398. package/dist/commands/ads/x/stats/job-status.d.ts +18 -0
  399. package/dist/commands/ads/x/stats/job-status.d.ts.map +1 -0
  400. package/dist/commands/ads/x/stats/job-status.js +58 -0
  401. package/dist/commands/ads/x/stats/job-status.js.map +1 -0
  402. package/dist/commands/ads/x/stats/job.d.ts +63 -0
  403. package/dist/commands/ads/x/stats/job.d.ts.map +1 -0
  404. package/dist/commands/ads/x/stats/job.js +183 -0
  405. package/dist/commands/ads/x/stats/job.js.map +1 -0
  406. package/dist/commands/ads/x/stats/sync.d.ts +73 -0
  407. package/dist/commands/ads/x/stats/sync.d.ts.map +1 -0
  408. package/dist/commands/ads/x/stats/sync.js +151 -0
  409. package/dist/commands/ads/x/stats/sync.js.map +1 -0
  410. package/dist/commands/ads/x/targeting-constants.d.ts +34 -0
  411. package/dist/commands/ads/x/targeting-constants.d.ts.map +1 -0
  412. package/dist/commands/ads/x/targeting-constants.js +80 -0
  413. package/dist/commands/ads/x/targeting-constants.js.map +1 -0
  414. package/dist/commands/ads/x/targeting-criteria.d.ts +24 -0
  415. package/dist/commands/ads/x/targeting-criteria.d.ts.map +1 -0
  416. package/dist/commands/ads/x/targeting-criteria.js +69 -0
  417. package/dist/commands/ads/x/targeting-criteria.js.map +1 -0
  418. package/dist/commands/ga4/audit.d.ts +13 -0
  419. package/dist/commands/ga4/audit.d.ts.map +1 -0
  420. package/dist/commands/ga4/audit.js +67 -0
  421. package/dist/commands/ga4/audit.js.map +1 -0
  422. package/dist/commands/ga4/index.d.ts +2 -0
  423. package/dist/commands/ga4/index.d.ts.map +1 -0
  424. package/dist/commands/ga4/index.js +26 -0
  425. package/dist/commands/ga4/index.js.map +1 -0
  426. package/dist/commands/ga4/presets.d.ts +8 -0
  427. package/dist/commands/ga4/presets.d.ts.map +1 -0
  428. package/dist/commands/ga4/presets.js +33 -0
  429. package/dist/commands/ga4/presets.js.map +1 -0
  430. package/dist/commands/ga4/properties.d.ts +14 -0
  431. package/dist/commands/ga4/properties.d.ts.map +1 -0
  432. package/dist/commands/ga4/properties.js +61 -0
  433. package/dist/commands/ga4/properties.js.map +1 -0
  434. package/dist/commands/ga4/query.d.ts +69 -0
  435. package/dist/commands/ga4/query.d.ts.map +1 -0
  436. package/dist/commands/ga4/query.js +184 -0
  437. package/dist/commands/ga4/query.js.map +1 -0
  438. package/dist/commands/ga4/resolve.d.ts +2 -0
  439. package/dist/commands/ga4/resolve.d.ts.map +1 -0
  440. package/dist/commands/ga4/resolve.js +57 -0
  441. package/dist/commands/ga4/resolve.js.map +1 -0
  442. package/dist/commands/gsc/index.d.ts +2 -0
  443. package/dist/commands/gsc/index.d.ts.map +1 -0
  444. package/dist/commands/gsc/index.js +26 -0
  445. package/dist/commands/gsc/index.js.map +1 -0
  446. package/dist/commands/gsc/presets.d.ts +9 -0
  447. package/dist/commands/gsc/presets.d.ts.map +1 -0
  448. package/dist/commands/gsc/presets.js +34 -0
  449. package/dist/commands/gsc/presets.js.map +1 -0
  450. package/dist/commands/gsc/query.d.ts +79 -0
  451. package/dist/commands/gsc/query.d.ts.map +1 -0
  452. package/dist/commands/gsc/query.js +196 -0
  453. package/dist/commands/gsc/query.js.map +1 -0
  454. package/dist/commands/gsc/resolve.d.ts +2 -0
  455. package/dist/commands/gsc/resolve.d.ts.map +1 -0
  456. package/dist/commands/gsc/resolve.js +57 -0
  457. package/dist/commands/gsc/resolve.js.map +1 -0
  458. package/dist/commands/gsc/sitemaps.d.ts +19 -0
  459. package/dist/commands/gsc/sitemaps.d.ts.map +1 -0
  460. package/dist/commands/gsc/sitemaps.js +65 -0
  461. package/dist/commands/gsc/sitemaps.js.map +1 -0
  462. package/dist/commands/gsc/sites.d.ts +14 -0
  463. package/dist/commands/gsc/sites.d.ts.map +1 -0
  464. package/dist/commands/gsc/sites.js +61 -0
  465. package/dist/commands/gsc/sites.js.map +1 -0
  466. package/dist/commands/images/delete.d.ts +19 -0
  467. package/dist/commands/images/delete.d.ts.map +1 -0
  468. package/dist/commands/images/delete.js +58 -0
  469. package/dist/commands/images/delete.js.map +1 -0
  470. package/dist/commands/images/extract.d.ts +28 -0
  471. package/dist/commands/images/extract.d.ts.map +1 -0
  472. package/dist/commands/images/extract.js +61 -0
  473. package/dist/commands/images/extract.js.map +1 -0
  474. package/dist/commands/images/find.d.ts +38 -0
  475. package/dist/commands/images/find.d.ts.map +1 -0
  476. package/dist/commands/images/find.js +78 -0
  477. package/dist/commands/images/find.js.map +1 -0
  478. package/dist/commands/images/get.d.ts +30 -0
  479. package/dist/commands/images/get.d.ts.map +1 -0
  480. package/dist/commands/images/get.js +42 -0
  481. package/dist/commands/images/get.js.map +1 -0
  482. package/dist/commands/images/gif.d.ts +38 -0
  483. package/dist/commands/images/gif.d.ts.map +1 -0
  484. package/dist/commands/images/gif.js +89 -0
  485. package/dist/commands/images/gif.js.map +1 -0
  486. package/dist/commands/images/google.d.ts +43 -0
  487. package/dist/commands/images/google.d.ts.map +1 -0
  488. package/dist/commands/images/google.js +85 -0
  489. package/dist/commands/images/google.js.map +1 -0
  490. package/dist/commands/images/icon.d.ts +33 -0
  491. package/dist/commands/images/icon.d.ts.map +1 -0
  492. package/dist/commands/images/icon.js +74 -0
  493. package/dist/commands/images/icon.js.map +1 -0
  494. package/dist/commands/images/index.d.ts +2 -0
  495. package/dist/commands/images/index.d.ts.map +1 -0
  496. package/dist/commands/images/index.js +63 -0
  497. package/dist/commands/images/index.js.map +1 -0
  498. package/dist/commands/images/ingest.d.ts +28 -0
  499. package/dist/commands/images/ingest.d.ts.map +1 -0
  500. package/dist/commands/images/ingest.js +60 -0
  501. package/dist/commands/images/ingest.js.map +1 -0
  502. package/dist/commands/images/library.d.ts +55 -0
  503. package/dist/commands/images/library.d.ts.map +1 -0
  504. package/dist/commands/images/library.js +86 -0
  505. package/dist/commands/images/library.js.map +1 -0
  506. package/dist/commands/images/logo.d.ts +28 -0
  507. package/dist/commands/images/logo.d.ts.map +1 -0
  508. package/dist/commands/images/logo.js +71 -0
  509. package/dist/commands/images/logo.js.map +1 -0
  510. package/dist/commands/images/screenshot.d.ts +28 -0
  511. package/dist/commands/images/screenshot.d.ts.map +1 -0
  512. package/dist/commands/images/screenshot.js +72 -0
  513. package/dist/commands/images/screenshot.js.map +1 -0
  514. package/dist/commands/images/search.d.ts +45 -0
  515. package/dist/commands/images/search.d.ts.map +1 -0
  516. package/dist/commands/images/search.js +74 -0
  517. package/dist/commands/images/search.js.map +1 -0
  518. package/dist/commands/images/sticker.d.ts +38 -0
  519. package/dist/commands/images/sticker.d.ts.map +1 -0
  520. package/dist/commands/images/sticker.js +89 -0
  521. package/dist/commands/images/sticker.js.map +1 -0
  522. package/dist/commands/images/stock.d.ts +63 -0
  523. package/dist/commands/images/stock.d.ts.map +1 -0
  524. package/dist/commands/images/stock.js +124 -0
  525. package/dist/commands/images/stock.js.map +1 -0
  526. package/dist/commands/images/upload.d.ts +39 -0
  527. package/dist/commands/images/upload.d.ts.map +1 -0
  528. package/dist/commands/images/upload.js +159 -0
  529. package/dist/commands/images/upload.js.map +1 -0
  530. package/dist/commands/images/use.d.ts +23 -0
  531. package/dist/commands/images/use.d.ts.map +1 -0
  532. package/dist/commands/images/use.js +66 -0
  533. package/dist/commands/images/use.js.map +1 -0
  534. package/dist/commands/research/advertisers.d.ts +34 -0
  535. package/dist/commands/research/advertisers.d.ts.map +1 -0
  536. package/dist/commands/research/advertisers.js +78 -0
  537. package/dist/commands/research/advertisers.js.map +1 -0
  538. package/dist/commands/research/autocomplete.d.ts +34 -0
  539. package/dist/commands/research/autocomplete.d.ts.map +1 -0
  540. package/dist/commands/research/autocomplete.js +73 -0
  541. package/dist/commands/research/autocomplete.js.map +1 -0
  542. package/dist/commands/research/countries.d.ts +2 -0
  543. package/dist/commands/research/countries.d.ts.map +1 -0
  544. package/dist/commands/research/countries.js +69 -0
  545. package/dist/commands/research/countries.js.map +1 -0
  546. package/dist/commands/research/index.d.ts +2 -0
  547. package/dist/commands/research/index.d.ts.map +1 -0
  548. package/dist/commands/research/index.js +50 -0
  549. package/dist/commands/research/index.js.map +1 -0
  550. package/dist/commands/research/intent.d.ts +24 -0
  551. package/dist/commands/research/intent.d.ts.map +1 -0
  552. package/dist/commands/research/intent.js +78 -0
  553. package/dist/commands/research/intent.js.map +1 -0
  554. package/dist/commands/research/keyword-gap.d.ts +49 -0
  555. package/dist/commands/research/keyword-gap.d.ts.map +1 -0
  556. package/dist/commands/research/keyword-gap.js +107 -0
  557. package/dist/commands/research/keyword-gap.js.map +1 -0
  558. package/dist/commands/research/keywords-for-site.d.ts +44 -0
  559. package/dist/commands/research/keywords-for-site.d.ts.map +1 -0
  560. package/dist/commands/research/keywords-for-site.js +90 -0
  561. package/dist/commands/research/keywords-for-site.js.map +1 -0
  562. package/dist/commands/research/languages.d.ts +2 -0
  563. package/dist/commands/research/languages.d.ts.map +1 -0
  564. package/dist/commands/research/languages.js +42 -0
  565. package/dist/commands/research/languages.js.map +1 -0
  566. package/dist/commands/research/lighthouse.d.ts +24 -0
  567. package/dist/commands/research/lighthouse.d.ts.map +1 -0
  568. package/dist/commands/research/lighthouse.js +60 -0
  569. package/dist/commands/research/lighthouse.js.map +1 -0
  570. package/dist/commands/research/output.d.ts +29 -0
  571. package/dist/commands/research/output.d.ts.map +1 -0
  572. package/dist/commands/research/output.js +81 -0
  573. package/dist/commands/research/output.js.map +1 -0
  574. package/dist/commands/research/relevant-pages.d.ts +34 -0
  575. package/dist/commands/research/relevant-pages.d.ts.map +1 -0
  576. package/dist/commands/research/relevant-pages.js +76 -0
  577. package/dist/commands/research/relevant-pages.js.map +1 -0
  578. package/dist/commands/research/web.d.ts +19 -0
  579. package/dist/commands/research/web.d.ts.map +1 -0
  580. package/dist/commands/research/web.js +112 -0
  581. package/dist/commands/research/web.js.map +1 -0
  582. package/dist/commands/scheduled-actions/create.d.ts +50 -0
  583. package/dist/commands/scheduled-actions/create.d.ts.map +1 -0
  584. package/dist/commands/scheduled-actions/create.js +83 -0
  585. package/dist/commands/scheduled-actions/create.js.map +1 -0
  586. package/dist/commands/scheduled-actions/delete.d.ts +13 -0
  587. package/dist/commands/scheduled-actions/delete.d.ts.map +1 -0
  588. package/dist/commands/scheduled-actions/delete.js +41 -0
  589. package/dist/commands/scheduled-actions/delete.js.map +1 -0
  590. package/dist/commands/scheduled-actions/get.d.ts +13 -0
  591. package/dist/commands/scheduled-actions/get.d.ts.map +1 -0
  592. package/dist/commands/scheduled-actions/get.js +50 -0
  593. package/dist/commands/scheduled-actions/get.js.map +1 -0
  594. package/dist/commands/scheduled-actions/index.d.ts +2 -0
  595. package/dist/commands/scheduled-actions/index.d.ts.map +1 -0
  596. package/dist/commands/scheduled-actions/index.js +32 -0
  597. package/dist/commands/scheduled-actions/index.js.map +1 -0
  598. package/dist/commands/scheduled-actions/list.d.ts +2 -0
  599. package/dist/commands/scheduled-actions/list.d.ts.map +1 -0
  600. package/dist/commands/scheduled-actions/list.js +32 -0
  601. package/dist/commands/scheduled-actions/list.js.map +1 -0
  602. package/dist/commands/scheduled-actions/shared.d.ts +22 -0
  603. package/dist/commands/scheduled-actions/shared.d.ts.map +1 -0
  604. package/dist/commands/scheduled-actions/shared.js +90 -0
  605. package/dist/commands/scheduled-actions/shared.js.map +1 -0
  606. package/dist/commands/scheduled-actions/shared.test.d.ts +2 -0
  607. package/dist/commands/scheduled-actions/shared.test.d.ts.map +1 -0
  608. package/dist/commands/scheduled-actions/shared.test.js +12 -0
  609. package/dist/commands/scheduled-actions/shared.test.js.map +1 -0
  610. package/dist/commands/scheduled-actions/trigger.d.ts +13 -0
  611. package/dist/commands/scheduled-actions/trigger.d.ts.map +1 -0
  612. package/dist/commands/scheduled-actions/trigger.js +50 -0
  613. package/dist/commands/scheduled-actions/trigger.js.map +1 -0
  614. package/dist/commands/scheduled-actions/update.d.ts +58 -0
  615. package/dist/commands/scheduled-actions/update.d.ts.map +1 -0
  616. package/dist/commands/scheduled-actions/update.js +108 -0
  617. package/dist/commands/scheduled-actions/update.js.map +1 -0
  618. package/dist/commands/schema.d.ts +8 -0
  619. package/dist/commands/schema.d.ts.map +1 -0
  620. package/dist/commands/schema.js +38 -0
  621. package/dist/commands/schema.js.map +1 -0
  622. package/dist/commands/testimonials/get.d.ts +30 -0
  623. package/dist/commands/testimonials/get.d.ts.map +1 -0
  624. package/dist/commands/testimonials/get.js +42 -0
  625. package/dist/commands/testimonials/get.js.map +1 -0
  626. package/dist/commands/testimonials/index.d.ts +2 -0
  627. package/dist/commands/testimonials/index.d.ts.map +1 -0
  628. package/dist/commands/testimonials/index.js +22 -0
  629. package/dist/commands/testimonials/index.js.map +1 -0
  630. package/dist/commands/testimonials/list.d.ts +60 -0
  631. package/dist/commands/testimonials/list.d.ts.map +1 -0
  632. package/dist/commands/testimonials/list.js +69 -0
  633. package/dist/commands/testimonials/list.js.map +1 -0
  634. package/dist/commands/testimonials/search.d.ts +40 -0
  635. package/dist/commands/testimonials/search.d.ts.map +1 -0
  636. package/dist/commands/testimonials/search.js +59 -0
  637. package/dist/commands/testimonials/search.js.map +1 -0
  638. package/dist/commands/videos/delete.d.ts +19 -0
  639. package/dist/commands/videos/delete.d.ts.map +1 -0
  640. package/dist/commands/videos/delete.js +58 -0
  641. package/dist/commands/videos/delete.js.map +1 -0
  642. package/dist/commands/videos/get.d.ts +30 -0
  643. package/dist/commands/videos/get.d.ts.map +1 -0
  644. package/dist/commands/videos/get.js +42 -0
  645. package/dist/commands/videos/get.js.map +1 -0
  646. package/dist/commands/videos/index.d.ts +2 -0
  647. package/dist/commands/videos/index.d.ts.map +1 -0
  648. package/dist/commands/videos/index.js +25 -0
  649. package/dist/commands/videos/index.js.map +1 -0
  650. package/dist/commands/videos/search.d.ts +35 -0
  651. package/dist/commands/videos/search.d.ts.map +1 -0
  652. package/dist/commands/videos/search.js +54 -0
  653. package/dist/commands/videos/search.js.map +1 -0
  654. package/dist/commands/videos/upload.d.ts +19 -0
  655. package/dist/commands/videos/upload.d.ts.map +1 -0
  656. package/dist/commands/videos/upload.js +92 -0
  657. package/dist/commands/videos/upload.js.map +1 -0
  658. package/dist/env.d.ts +15 -0
  659. package/dist/env.d.ts.map +1 -0
  660. package/dist/env.js +39 -0
  661. package/dist/env.js.map +1 -0
  662. package/dist/error-handler.d.ts +8 -0
  663. package/dist/error-handler.d.ts.map +1 -0
  664. package/dist/error-handler.js +46 -0
  665. package/dist/error-handler.js.map +1 -0
  666. package/dist/geo-context.d.ts +21 -0
  667. package/dist/geo-context.d.ts.map +1 -0
  668. package/dist/geo-context.js +208 -0
  669. package/dist/geo-context.js.map +1 -0
  670. package/dist/output.d.ts +43 -0
  671. package/dist/output.d.ts.map +1 -0
  672. package/dist/output.js +182 -0
  673. package/dist/output.js.map +1 -0
  674. package/dist/output.test.d.ts +2 -0
  675. package/dist/output.test.d.ts.map +1 -0
  676. package/dist/output.test.js +117 -0
  677. package/dist/output.test.js.map +1 -0
  678. package/dist/schemas.d.ts +17 -0
  679. package/dist/schemas.d.ts.map +1 -0
  680. package/dist/schemas.js +11 -0
  681. package/dist/schemas.js.map +1 -0
  682. package/package.json +1 -1
package/README.md CHANGED
@@ -30,7 +30,7 @@ export BAKER_GSC_SITE_URL="https://example.com/"
30
30
  # Optional: default X Ads account ID (base36)
31
31
  export BAKER_X_ADS_ACCOUNT_ID="18ce53xyz"
32
32
 
33
- # Required for `baker actions ...` commands that stage against a chat
33
+ # Required for `baker actions ...` and `baker scheduled-actions create/update/delete` commands that stage against a chat
34
34
  export BAKER_CHAT_ID="<chat-id>"
35
35
  ```
36
36
 
@@ -40,6 +40,7 @@ export BAKER_CHAT_ID="<chat-id>"
40
40
  - `BAKER_GA4_PROPERTY_ID` — default GA4 property ID. Used when `--property-id` is not passed. If neither is set and exactly one property is connected, it is auto-selected.
41
41
  - `BAKER_GSC_SITE_URL` — default GSC site URL. Used when `--site-url` is not passed. If neither is set and exactly one site is verified, it is auto-selected.
42
42
  - `BAKER_X_ADS_ACCOUNT_ID` — default X Ads account ID (base36). Used when `--account-id` is not passed. If neither is set and exactly one X Ads account is connected, it is auto-selected.
43
+ - `BAKER_CHAT_ID` — chat context for staged Work Action commands and staged Scheduled Action create/update/delete. `scheduled-actions trigger` does not require it.
43
44
 
44
45
  ## Output Format
45
46
 
@@ -1575,27 +1576,27 @@ Research data is cached server-side (shared across all callers). No local cache
1575
1576
 
1576
1577
  #### Image sourcing — verb-per-provider overview
1577
1578
 
1578
- Each external source is its own subcommand. Pick the verb that matches the source — license, cost, and result shape are all provider-specific.
1579
-
1580
- | Command | Purpose | Cost | Auto-ingest default |
1581
- |---|---|---|---|
1582
- | `baker images library <q>` | Hybrid library search (replaces `search`) | $0 | n/a |
1583
- | `baker images find <q>` | Fanout: library + opted-in providers | sum of providers | off |
1584
- | `baker images stock <q> [--type photo\|vector\|psd]` | Magnific (Freepik's dev API) — photos, vectors, illustrations, PSDs (~250M assets) | $0.002/req | off |
1585
- | `baker images google <q>` | Google Images via the official Custom Search JSON API | $0 under 100/day, then $0.005/query | off |
1586
- | `baker images logo <domain>` | Brand logo via Brandfetch CDN | $0 | **on** (top 1) |
1587
- | `baker images icon <name>` | Iconify (200+ icon sets, no API key) | $0 | off (CDN URL is stable) |
1588
- | `baker images gif <q>` | Reaction GIFs / memes via Giphy (paid-social creative) | $0 | off |
1589
- | `baker images sticker <q>` | Transparent stickers via Giphy (overlay-friendly for ad creative) | $0 | off |
1590
- | `baker images extract <url>` | Pull every image off a URL via Firecrawl | $0.001/scrape | off |
1591
- | `baker images screenshot <url>` | Website screenshot via ScreenshotOne | $0.009/capture | **on** |
1592
- | `baker images ingest <url>` | Save a remote URL to the library | ~$0.001–$0.002 (describe + embed) | always on |
1593
- | `baker images use <url>` | Sugar over `ingest` — waits until `ready` | same as `ingest` | always on |
1594
- | `baker images get <id>` | Single record | $0 | n/a |
1595
- | `baker images upload <file\|url>` | Upload a local file OR remote URL to the library | $0 (local) / ~$0.001–$0.002 describe+embed (remote) | always on |
1596
- | `baker images delete <id>` | Delete a record | $0 | n/a |
1597
-
1598
- **Auto-ingest** runs the full `processImage` pipeline (Gemini describe + Voyage multimodal embed + OpenRouter text embed, ~$0.001–$0.002/image) on top of the provider cost. Override with `--auto-ingest N` (turn on) or `--no-auto-ingest` (turn off where default is on). After auto-ingest the next `baker images library` query for the same concept hits the local row.
1579
+ Each external source is its own subcommand. Pick the verb that matches the source — license and result shape are provider-specific.
1580
+
1581
+ | Command | Purpose | Auto-ingest default |
1582
+ |---|---|---|
1583
+ | `baker images library <q>` | Hybrid library search (replaces `search`) | n/a |
1584
+ | `baker images find <q>` | Fanout: library + opted-in providers | off |
1585
+ | `baker images stock <q> [--type photo\|vector\|psd]` | Magnific (Freepik's dev API) — photos, vectors, illustrations, PSDs (~250M assets) | off |
1586
+ | `baker images google <q>` | Google Images via the official Custom Search JSON API | off |
1587
+ | `baker images logo <domain>` | Brand logo via Brandfetch CDN | **on** (top 1) |
1588
+ | `baker images icon <name>` | Iconify (200+ icon sets, no API key) | off (CDN URL is stable) |
1589
+ | `baker images gif <q>` | Reaction GIFs / memes via Giphy (paid-social creative) | off |
1590
+ | `baker images sticker <q>` | Transparent stickers via Giphy (overlay-friendly for ad creative) | off |
1591
+ | `baker images extract <url>` | Pull every image off a URL via Firecrawl | off |
1592
+ | `baker images screenshot <url>` | Website screenshot via ScreenshotOne | **on** |
1593
+ | `baker images ingest <url>` | Save a remote URL to the library | always on |
1594
+ | `baker images use <url>` | Sugar over `ingest` — waits until `ready` | always on |
1595
+ | `baker images get <id>` | Single record | n/a |
1596
+ | `baker images upload <file\|url>` | Upload a local file OR remote URL to the library | always on |
1597
+ | `baker images delete <id>` | Delete a record | n/a |
1598
+
1599
+ **Auto-ingest** runs the full `processImage` pipeline (Gemini describe + Voyage multimodal embed + OpenRouter text embed) on every hit. Override with `--auto-ingest N` (turn on) or `--no-auto-ingest` (turn off where default is on). After auto-ingest the next `baker images library` query for the same concept hits the local row.
1599
1600
 
1600
1601
  **Provider context biases the description.** When a hit carries human-readable text (Giphy `alt_text` / `title`, Magnific `title`, Brandfetch type+theme, etc.) it's surfaced on the hit as `descriptionContext` and forwarded to Gemini during auto-ingest as a hint — Gemini still trusts the pixels (e.g. it'll correct a wrong botanical name) but uses the hint for cultural/brand/scene awareness it can't infer from bytes alone.
1601
1602
 
@@ -1676,7 +1677,7 @@ baker images stock "brand pattern" --color "#0a0a0a" --license freemium --auto-i
1676
1677
  baker images stock "office reaction" --people only
1677
1678
  ```
1678
1679
 
1679
- Cost: $0.002/req. Free tier exists but watermarks previews — pass `--license freemium` to filter to clean free assets explicitly.
1680
+ Free tier exists but watermarks previews — pass `--license freemium` to filter to clean free assets explicitly.
1680
1681
 
1681
1682
  **Flags:**
1682
1683
 
@@ -1702,7 +1703,7 @@ Google Images via the official Custom Search JSON API. ⚠ Source is unverified
1702
1703
  baker images google "industrial workshop" --type photo --size large --limit 20
1703
1704
  ```
1704
1705
 
1705
- Cost: $0.005/query above the free tier (100 queries/day free). Custom Search caps at 10 results per call — pagination is automatic and bills per page (`--limit 30` = 3 queries against your daily quota).
1706
+ Custom Search caps at 10 results per call — pagination is automatic (`--limit 30` = 3 calls).
1706
1707
 
1707
1708
  Requires both `GOOGLE_CUSTOM_SEARCH_API_KEY` and `GOOGLE_CUSTOM_SEARCH_ENGINE_ID` (Programmable Search Engine `cx`) set on the Convex deployment, with the engine configured to "Search the entire web" + Image search ON.
1708
1709
 
@@ -1809,7 +1810,7 @@ Pass a prefixed id (`lucide:check`) to pin both set and name explicitly. Without
1809
1810
 
1810
1811
  ### `baker images gif <query>`
1811
1812
 
1812
- Search **Giphy** for GIFs / reaction memes — built for paid-social creative (Meta, TikTok, LinkedIn, X). Free API, no per-request cost. Replaces the discontinued Tenor integration.
1813
+ Search **Giphy** for GIFs / reaction memes — built for paid-social creative (Meta, TikTok, LinkedIn, X). Replaces the discontinued Tenor integration.
1813
1814
 
1814
1815
  ```bash
1815
1816
  baker images gif "this is fine" --limit 10
@@ -1856,8 +1857,6 @@ baker images extract https://example.com --wait-for 1500 --limit 20
1856
1857
 
1857
1858
  Every image extracted from a page shares the scraped-page URL as `externalUrl`. Big pages can return 100+ images — cap auto-ingest at 20.
1858
1859
 
1859
- Cost: $0.001/scrape. JS-rendered pages with `--wait-for` cost the heavier credit bucket.
1860
-
1861
1860
  **Flags:**
1862
1861
 
1863
1862
  | Flag | Description |
@@ -1879,7 +1878,7 @@ baker images screenshot https://stripe.com --format png
1879
1878
 
1880
1879
  Auto-ingests with prefetched bytes (no double-fetch). The screenshot bytes themselves are the artifact — `externalUrl` is the captured URL.
1881
1880
 
1882
- Cost: $0.009/capture. ScreenshotOne caches captures for 30 days, so re-shotting the same URL within that window is cheap.
1881
+ ScreenshotOne caches captures for 30 days, so re-shotting the same URL within that window returns the cached capture.
1883
1882
 
1884
1883
  **Flags:**
1885
1884
 
@@ -2027,6 +2026,38 @@ baker testimonials list --source google --sentiment positive --limit 20
2027
2026
 
2028
2027
  ---
2029
2028
 
2029
+ ### Scheduled Actions (`baker scheduled-actions`)
2030
+
2031
+ Manage company-scoped scheduled recipes that spawn Work Actions later or on a cadence. `create`, `update`, and `delete` stage draft ops on `BAKER_CHAT_ID` and apply when the chat is published. `list` and `get` include draft state when `BAKER_CHAT_ID` is set. `trigger` runs immediately on a published scheduled action and does not require a chat id. Use a regular Work Action instead when there is no date or cadence.
2032
+
2033
+ ```bash
2034
+ baker scheduled-actions list
2035
+ baker scheduled-actions get <id-or-temp_sched_id>
2036
+
2037
+ baker scheduled-actions create --name "Weekly report" --description "Prepare report" --cron "0 9 * * MON" --timezone Europe/Madrid --tag reporting
2038
+ baker scheduled-actions create --name "Launch reminder" --description "Check launch" --run-at "2026-09-01T07:00:00Z" --disabled --no-spawn-agent --prompt "Focus on blockers"
2039
+
2040
+ baker scheduled-actions update <id-or-temp_sched_id> --enabled false
2041
+ baker scheduled-actions update <id-or-temp_sched_id> --run-at "2026-09-02T07:00:00Z" --spawn-agent true --prompt "Use the launch checklist"
2042
+ baker scheduled-actions delete <id-or-temp_sched_id>
2043
+
2044
+ baker scheduled-actions trigger <id>
2045
+ ```
2046
+
2047
+ Rules:
2048
+
2049
+ - `--cron` and `--run-at` are mutually exclusive.
2050
+ - `--run-at` must be an ISO UTC timestamp ending in `Z`.
2051
+ - Draft-created ids use `temp_sched_*`; use them with `get`, `update`, or `delete` before publish.
2052
+ - Staged commands require `BAKER_CHAT_ID` to point to an `in_progress` chat.
2053
+ - `trigger` rejects `temp_sched_*` and only accepts published scheduled-action ids.
2054
+ - Company Timezone is the default; `--timezone` is an explicit IANA override.
2055
+ - Scheduled actions spawn agents by default; create with `--no-spawn-agent` or update with `--spawn-agent false` to disable it.
2056
+ - `--prompt` maps to the scheduled action's additional spawned-agent instructions (`agentPrompt`), not a replacement for Baker's automatic spawned Work Action reference.
2057
+ - `--tag` accepts comma-separated Work Action tag slugs; unknown tag slugs conflict on publish.
2058
+
2059
+ ---
2060
+
2030
2061
  ### Action Items (`baker actions`)
2031
2062
 
2032
2063
  Manage action items for the current chat. Most write operations stage on the chat's draft and apply atomically when the chat is published. Claim/release run live so other chats can see who's working on what.
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ import { defineCommand, runMain } from "citty";
3
+ import { actionsCommand } from "./commands/actions/index.js";
4
+ import { adsCommand } from "./commands/ads/index.js";
5
+ import { ga4Command } from "./commands/ga4/index.js";
6
+ import { gscCommand } from "./commands/gsc/index.js";
7
+ import { imagesCommand } from "./commands/images/index.js";
8
+ import { researchCommand } from "./commands/research/index.js";
9
+ import { scheduledActionsCommand } from "./commands/scheduled-actions/index.js";
10
+ import { schemaCommand } from "./commands/schema.js";
11
+ import { testimonialsCommand } from "./commands/testimonials/index.js";
12
+ import { videosCommand } from "./commands/videos/index.js";
13
+ const main = defineCommand({
14
+ meta: {
15
+ name: "baker",
16
+ version: "0.34.3",
17
+ description: `AI-agent CLI for finding and managing images, videos, testimonials, action items, scheduled actions, and ad platform data in Baker.
18
+
19
+ Auth: Set BAKER_API_KEY (starts with bk_) and BAKER_API_URL environment variables.
20
+ Chat: Set BAKER_CHAT_ID for action and scheduled-action commands that stage changes against a chat.
21
+ Output: All commands return JSON envelopes: { ok: true, data: ... } or { ok: false, error: { code, message } }.
22
+ Formats: Use --output json|csv|jsonl|files|md to control output format. Default: json.
23
+ Introspection: Run 'baker schema <command>' to inspect argument schemas.`,
24
+ },
25
+ subCommands: {
26
+ actions: actionsCommand,
27
+ "scheduled-actions": scheduledActionsCommand,
28
+ ads: adsCommand,
29
+ ga4: ga4Command,
30
+ gsc: gscCommand,
31
+ research: researchCommand,
32
+ images: imagesCommand,
33
+ videos: videosCommand,
34
+ testimonials: testimonialsCommand,
35
+ schema: schemaCommand,
36
+ },
37
+ });
38
+ runMain(main);
39
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE;;;;;;yEAMwD;KACtE;IACD,WAAW,EAAE;QACX,OAAO,EAAE,cAAc;QACvB,mBAAmB,EAAE,uBAAuB;QAC5C,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,aAAa;KACtB;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ type ErrorCode = "UNAUTHORIZED" | "NOT_FOUND" | "VALIDATION_ERROR" | "RATE_LIMITED" | "INTERNAL_ERROR" | "NETWORK_ERROR" | "TIMEOUT";
2
+ export declare class ApiError extends Error {
3
+ code: ErrorCode;
4
+ constructor(code: ErrorCode, message: string);
5
+ }
6
+ export declare function validateConvexId(id: string): void;
7
+ export declare function apiGet<T>(path: string, params?: Record<string, string>): Promise<T>;
8
+ export declare function apiPost<T>(path: string, body: unknown, opts?: {
9
+ timeoutMs?: number;
10
+ }): Promise<T>;
11
+ export {};
12
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AA6BA,KAAK,SAAS,GACV,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,SAAS,CAAC;AAEd,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,SAAS,CAAC;gBAEJ,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;CAK7C;AAqBD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAIjD;AAsDD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA4BzF;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBvG"}
package/dist/client.js ADDED
@@ -0,0 +1,153 @@
1
+ import { getEnv } from "./env.js";
2
+ const MAX_RATE_LIMIT_RETRIES = 3;
3
+ const MAX_TOTAL_WAIT_MS = 2 * 60 * 1000;
4
+ async function fetchWithRateLimitRetry(url, init) {
5
+ let totalWaited = 0;
6
+ for (let attempt = 0; attempt <= MAX_RATE_LIMIT_RETRIES; attempt++) {
7
+ const response = await fetch(url, init);
8
+ if (response.status !== 429 || attempt >= MAX_RATE_LIMIT_RETRIES) {
9
+ return response;
10
+ }
11
+ const retryAfterHeader = response.headers.get("Retry-After");
12
+ const waitMs = retryAfterHeader ? Number(retryAfterHeader) * 1000 : 2000 * 2 ** attempt;
13
+ if (totalWaited + waitMs > MAX_TOTAL_WAIT_MS) {
14
+ return response;
15
+ }
16
+ totalWaited += waitMs;
17
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
18
+ }
19
+ return fetch(url, init);
20
+ }
21
+ export class ApiError extends Error {
22
+ code;
23
+ constructor(code, message) {
24
+ super(message);
25
+ this.name = "ApiError";
26
+ this.code = code;
27
+ }
28
+ }
29
+ const CONVEX_ID_RE = /^[a-zA-Z0-9_]+$/;
30
+ function hasControlCharacters(value) {
31
+ for (let i = 0; i < value.length; i++) {
32
+ const code = value.charCodeAt(i);
33
+ // Allow tab (9), newline (10), carriage return (13)
34
+ if (code < 32 && code !== 9 && code !== 10 && code !== 13) {
35
+ return true;
36
+ }
37
+ }
38
+ return false;
39
+ }
40
+ function validateStringValue(value) {
41
+ if (hasControlCharacters(value)) {
42
+ throw new ApiError("VALIDATION_ERROR", "String value contains invalid control characters");
43
+ }
44
+ }
45
+ export function validateConvexId(id) {
46
+ if (!CONVEX_ID_RE.test(id)) {
47
+ throw new ApiError("VALIDATION_ERROR", `Invalid ID format: "${id}". Expected alphanumeric string.`);
48
+ }
49
+ }
50
+ function sanitizeParams(params) {
51
+ const sanitized = {};
52
+ for (const [key, value] of Object.entries(params)) {
53
+ validateStringValue(value);
54
+ sanitized[key] = value;
55
+ }
56
+ return sanitized;
57
+ }
58
+ function mapHttpError(status) {
59
+ if (status === 401 || status === 403) {
60
+ return "UNAUTHORIZED";
61
+ }
62
+ if (status === 404) {
63
+ return "NOT_FOUND";
64
+ }
65
+ if (status === 422 || status === 400) {
66
+ return "VALIDATION_ERROR";
67
+ }
68
+ if (status === 429) {
69
+ return "RATE_LIMITED";
70
+ }
71
+ return "INTERNAL_ERROR";
72
+ }
73
+ async function handleResponse(response) {
74
+ const body = await response.text();
75
+ if (!response.ok) {
76
+ let message = `HTTP ${response.status}: ${response.statusText}`;
77
+ try {
78
+ const parsed = JSON.parse(body);
79
+ if (typeof parsed.error === "string") {
80
+ message = parsed.error;
81
+ }
82
+ else if (parsed.error?.message) {
83
+ message = parsed.error.message;
84
+ }
85
+ else if (parsed.message) {
86
+ message = parsed.message;
87
+ }
88
+ }
89
+ catch {
90
+ // Use default message
91
+ }
92
+ throw new ApiError(mapHttpError(response.status), message);
93
+ }
94
+ try {
95
+ return JSON.parse(body);
96
+ }
97
+ catch {
98
+ throw new ApiError("INTERNAL_ERROR", "Failed to parse API response as JSON");
99
+ }
100
+ }
101
+ export async function apiGet(path, params) {
102
+ const env = getEnv();
103
+ const url = new URL(path, env.BAKER_API_URL);
104
+ if (params) {
105
+ const clean = sanitizeParams(params);
106
+ for (const [key, value] of Object.entries(clean)) {
107
+ url.searchParams.set(key, value);
108
+ }
109
+ }
110
+ let response;
111
+ try {
112
+ response = await fetchWithRateLimitRetry(url.toString(), {
113
+ method: "GET",
114
+ headers: {
115
+ Authorization: `Bearer ${env.BAKER_API_KEY}`,
116
+ Accept: "application/json",
117
+ },
118
+ signal: AbortSignal.timeout(60_000),
119
+ });
120
+ }
121
+ catch (err) {
122
+ if (err instanceof Error && (err.name === "TimeoutError" || err.name === "AbortError")) {
123
+ throw new ApiError("TIMEOUT", "Request timed out after 60 seconds");
124
+ }
125
+ throw new ApiError("NETWORK_ERROR", `Request failed: ${err instanceof Error ? err.message : "Unknown error"}`);
126
+ }
127
+ return handleResponse(response);
128
+ }
129
+ export async function apiPost(path, body, opts) {
130
+ const env = getEnv();
131
+ const timeoutMs = opts?.timeoutMs ?? 60_000;
132
+ let response;
133
+ try {
134
+ response = await fetchWithRateLimitRetry(new URL(path, env.BAKER_API_URL).toString(), {
135
+ method: "POST",
136
+ headers: {
137
+ Authorization: `Bearer ${env.BAKER_API_KEY}`,
138
+ "Content-Type": "application/json",
139
+ Accept: "application/json",
140
+ },
141
+ body: JSON.stringify(body),
142
+ signal: AbortSignal.timeout(timeoutMs),
143
+ });
144
+ }
145
+ catch (err) {
146
+ if (err instanceof Error && (err.name === "TimeoutError" || err.name === "AbortError")) {
147
+ throw new ApiError("TIMEOUT", `Request timed out after ${Math.round(timeoutMs / 1000)} seconds`);
148
+ }
149
+ throw new ApiError("NETWORK_ERROR", `Request failed: ${err instanceof Error ? err.message : "Unknown error"}`);
150
+ }
151
+ return handleResponse(response);
152
+ }
153
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const claimCommand: import("citty").CommandDef<{
2
+ readonly id: {
3
+ readonly type: "positional";
4
+ readonly description: "Action ID";
5
+ readonly required: false;
6
+ };
7
+ readonly "action-id": {
8
+ readonly type: "string";
9
+ readonly description: "Action ID";
10
+ readonly required: false;
11
+ };
12
+ }>;
13
+ //# sourceMappingURL=claim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../src/commands/actions/claim.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY;;;;;;;;;;;EAgCvB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost, validateConvexId } from "../../client.js";
3
+ import { requireChatId } from "../../env.js";
4
+ import { writeJson } from "../../output.js";
5
+ import { registerSchema } from "../../schemas.js";
6
+ import { failApi, failValidation } from "./shared.js";
7
+ registerSchema({
8
+ command: "actions.claim",
9
+ description: "Claim an action for the current chat (live — visible to other chats immediately). Returns action details with tags and description to help decide which skills to load.",
10
+ args: {
11
+ id: { type: "string", description: "Action ID", required: true },
12
+ },
13
+ });
14
+ export const claimCommand = defineCommand({
15
+ meta: {
16
+ name: "claim",
17
+ description: "Claim an action so other chats see you're working on it. Required before update/complete/discard. Example: baker actions claim <action-id>",
18
+ },
19
+ args: {
20
+ id: { type: "positional", description: "Action ID", required: false },
21
+ "action-id": { type: "string", description: "Action ID", required: false },
22
+ },
23
+ run: async ({ args }) => {
24
+ try {
25
+ const id = args.id || args["action-id"];
26
+ if (!id) {
27
+ failValidation("Action ID is required.");
28
+ }
29
+ validateConvexId(id);
30
+ const chatId = requireChatId();
31
+ const response = await apiPost("/api/actions/claim", {
32
+ actionId: id,
33
+ chatId,
34
+ });
35
+ const hints = [
36
+ "Review the action name, description, and tags above — then load any skills that would help you complete this work.",
37
+ ];
38
+ writeJson({ ...response, hints });
39
+ }
40
+ catch (err) {
41
+ failApi(err);
42
+ }
43
+ },
44
+ });
45
+ //# sourceMappingURL=claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/commands/actions/claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAStD,cAAc,CAAC;IACb,OAAO,EAAE,eAAe;IACxB,WAAW,EACT,yKAAyK;IAC3K,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;KACjE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;IACxC,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,WAAW,EACT,4IAA4I;KAC/I;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;QACrE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC3E;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAI,IAAI,CAAC,EAAyB,IAAK,IAAI,CAAC,WAAW,CAAwB,CAAC;YACxF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,cAAc,CAAC,wBAAwB,CAAC,CAAC;YAC3C,CAAC;YACD,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAA+C,oBAAoB,EAAE;gBACjG,QAAQ,EAAE,EAAE;gBACZ,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,KAAK,GAAa;gBACtB,oHAAoH;aACrH,CAAC;YAEF,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const completeCommand: import("citty").CommandDef<{
2
+ readonly id: {
3
+ readonly type: "positional";
4
+ readonly description: "Action ID or temp ID";
5
+ readonly required: false;
6
+ };
7
+ readonly "action-id": {
8
+ readonly type: "string";
9
+ readonly description: "Action ID or temp ID";
10
+ readonly required: false;
11
+ };
12
+ readonly note: {
13
+ readonly type: "string";
14
+ readonly description: "What was done — context for the team and AI";
15
+ readonly required: false;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../src/commands/actions/complete.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EA2B1B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost, validateConvexId } from "../../client.js";
3
+ import { requireChatId } from "../../env.js";
4
+ import { registerSchema } from "../../schemas.js";
5
+ import { failApi, failValidation, isTempId, writeOk } from "./shared.js";
6
+ registerSchema({
7
+ command: "actions.complete",
8
+ description: "Stage completion of an action. Accepts a real action ID (must be claimed) or a temp ID from the same draft. The action becomes completed when the chat is published.",
9
+ args: {
10
+ id: { type: "string", description: "Action ID or temp ID", required: true },
11
+ note: { type: "string", description: "What was done — context for the team and AI", required: false },
12
+ },
13
+ });
14
+ export const completeCommand = defineCommand({
15
+ meta: {
16
+ name: "complete",
17
+ description: "Stage completion of an action. Accepts real IDs (claimed) or temp IDs (same draft). Example: baker actions complete <id>",
18
+ },
19
+ args: {
20
+ id: { type: "positional", description: "Action ID or temp ID", required: false },
21
+ "action-id": { type: "string", description: "Action ID or temp ID", required: false },
22
+ note: { type: "string", description: "What was done — context for the team and AI", required: false },
23
+ },
24
+ run: async ({ args }) => {
25
+ try {
26
+ const id = args.id || args["action-id"];
27
+ if (!id) {
28
+ failValidation("Action ID is required.");
29
+ }
30
+ if (!isTempId(id)) {
31
+ validateConvexId(id);
32
+ }
33
+ const chatId = requireChatId();
34
+ await apiPost("/api/actions/complete", { chatId, actionRef: id, note: args.note });
35
+ writeOk();
36
+ }
37
+ catch (err) {
38
+ failApi(err);
39
+ }
40
+ },
41
+ });
42
+ //# sourceMappingURL=complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../src/commands/actions/complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzE,cAAc,CAAC;IACb,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EACT,sKAAsK;IACxK,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,KAAK,EAAE;KACtG;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,0HAA0H;KAC7H;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAChF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACrF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,KAAK,EAAE;KACtG;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAI,IAAI,CAAC,EAAyB,IAAK,IAAI,CAAC,WAAW,CAAwB,CAAC;YACxF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,cAAc,CAAC,wBAAwB,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClB,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAe,uBAAuB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjG,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ export declare const createCommand: import("citty").CommandDef<{
2
+ readonly name: {
3
+ readonly type: "string";
4
+ readonly description: "Action name";
5
+ readonly required: false;
6
+ };
7
+ readonly description: {
8
+ readonly type: "string";
9
+ readonly description: "Description";
10
+ readonly required: false;
11
+ readonly default: "";
12
+ };
13
+ readonly tag: {
14
+ readonly type: "string";
15
+ readonly description: "Tag slugs (comma-separated, repeatable)";
16
+ readonly required: false;
17
+ };
18
+ readonly "temp-id": {
19
+ readonly type: "string";
20
+ readonly description: "Optional custom tempId";
21
+ readonly required: false;
22
+ };
23
+ }>;
24
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/actions/create.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAgDxB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost } from "../../client.js";
3
+ import { requireChatId } from "../../env.js";
4
+ import { writeJson } from "../../output.js";
5
+ import { registerSchema } from "../../schemas.js";
6
+ import { failApi, failValidation, generateTempId } from "./shared.js";
7
+ registerSchema({
8
+ command: "actions.create",
9
+ description: "Stage creation of a new action (applies when the chat is published). Returns a tempId you can use to link/tag in the same draft. After creating, check if this action blocks or is blocked by other actions and wire dependencies with `baker actions link`.",
10
+ args: {
11
+ name: { type: "string", description: "Action name (short, action-verb, ≤6 words)", required: true },
12
+ description: {
13
+ type: "string",
14
+ description: "Context-complete description: what / why / where / done-when",
15
+ required: false,
16
+ },
17
+ tag: { type: "string", description: "Tag slugs (comma-separated)", required: false },
18
+ "temp-id": { type: "string", description: "Custom tempId (auto-generated if omitted)", required: false },
19
+ },
20
+ });
21
+ export const createCommand = defineCommand({
22
+ meta: {
23
+ name: "create",
24
+ description: 'Stage a new action. Applies when the chat is published. Example: baker actions create --name "Build hero" --tag copy',
25
+ },
26
+ args: {
27
+ name: { type: "string", description: "Action name", required: false },
28
+ description: { type: "string", description: "Description", required: false, default: "" },
29
+ tag: { type: "string", description: "Tag slugs (comma-separated, repeatable)", required: false },
30
+ "temp-id": { type: "string", description: "Optional custom tempId", required: false },
31
+ },
32
+ run: async ({ args }) => {
33
+ try {
34
+ const name = args.name;
35
+ if (!name || name.trim().length === 0) {
36
+ failValidation("--name is required.");
37
+ }
38
+ const chatId = requireChatId();
39
+ const tempId = args["temp-id"] || generateTempId();
40
+ const tagSlugs = args.tag
41
+ ? args.tag
42
+ .split(",")
43
+ .map((s) => s.trim())
44
+ .filter(Boolean)
45
+ : undefined;
46
+ const response = await apiPost("/api/actions/create", {
47
+ chatId,
48
+ tempId,
49
+ name,
50
+ description: args.description ?? "",
51
+ tagSlugs,
52
+ });
53
+ const hints = [];
54
+ hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);
55
+ if (!tagSlugs || tagSlugs.length === 0) {
56
+ hints.push("Add tags: baker actions tag add <tempId> --slug <tag-slug>");
57
+ }
58
+ if (!args.description) {
59
+ hints.push("Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)");
60
+ }
61
+ writeJson({ ...response, hints });
62
+ }
63
+ catch (err) {
64
+ failApi(err);
65
+ }
66
+ },
67
+ });
68
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/actions/create.ts"],"names":[],"mappings":"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"}