@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.
- package/README.md +59 -28
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +39 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +12 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +153 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/actions/claim.d.ts +13 -0
- package/dist/commands/actions/claim.d.ts.map +1 -0
- package/dist/commands/actions/claim.js +45 -0
- package/dist/commands/actions/claim.js.map +1 -0
- package/dist/commands/actions/complete.d.ts +18 -0
- package/dist/commands/actions/complete.d.ts.map +1 -0
- package/dist/commands/actions/complete.js +42 -0
- package/dist/commands/actions/complete.js.map +1 -0
- package/dist/commands/actions/create.d.ts +24 -0
- package/dist/commands/actions/create.d.ts.map +1 -0
- package/dist/commands/actions/create.js +68 -0
- package/dist/commands/actions/create.js.map +1 -0
- package/dist/commands/actions/discard.d.ts +18 -0
- package/dist/commands/actions/discard.d.ts.map +1 -0
- package/dist/commands/actions/discard.js +44 -0
- package/dist/commands/actions/discard.js.map +1 -0
- package/dist/commands/actions/get.d.ts +13 -0
- package/dist/commands/actions/get.d.ts.map +1 -0
- package/dist/commands/actions/get.js +34 -0
- package/dist/commands/actions/get.js.map +1 -0
- package/dist/commands/actions/index.d.ts +2 -0
- package/dist/commands/actions/index.d.ts.map +1 -0
- package/dist/commands/actions/index.js +43 -0
- package/dist/commands/actions/index.js.map +1 -0
- package/dist/commands/actions/link.d.ts +13 -0
- package/dist/commands/actions/link.d.ts.map +1 -0
- package/dist/commands/actions/link.js +43 -0
- package/dist/commands/actions/link.js.map +1 -0
- package/dist/commands/actions/list.d.ts +19 -0
- package/dist/commands/actions/list.d.ts.map +1 -0
- package/dist/commands/actions/list.js +66 -0
- package/dist/commands/actions/list.js.map +1 -0
- package/dist/commands/actions/release.d.ts +13 -0
- package/dist/commands/actions/release.d.ts.map +1 -0
- package/dist/commands/actions/release.js +38 -0
- package/dist/commands/actions/release.js.map +1 -0
- package/dist/commands/actions/shared.d.ts +6 -0
- package/dist/commands/actions/shared.d.ts.map +1 -0
- package/dist/commands/actions/shared.js +28 -0
- package/dist/commands/actions/shared.js.map +1 -0
- package/dist/commands/actions/tag/add.d.ts +18 -0
- package/dist/commands/actions/tag/add.d.ts.map +1 -0
- package/dist/commands/actions/tag/add.js +47 -0
- package/dist/commands/actions/tag/add.js.map +1 -0
- package/dist/commands/actions/tag/create.d.ts +23 -0
- package/dist/commands/actions/tag/create.d.ts.map +1 -0
- package/dist/commands/actions/tag/create.js +50 -0
- package/dist/commands/actions/tag/create.js.map +1 -0
- package/dist/commands/actions/tag/delete.d.ts +13 -0
- package/dist/commands/actions/tag/delete.d.ts.map +1 -0
- package/dist/commands/actions/tag/delete.js +36 -0
- package/dist/commands/actions/tag/delete.js.map +1 -0
- package/dist/commands/actions/tag/index.d.ts +2 -0
- package/dist/commands/actions/tag/index.d.ts.map +1 -0
- package/dist/commands/actions/tag/index.js +32 -0
- package/dist/commands/actions/tag/index.js.map +1 -0
- package/dist/commands/actions/tag/list.d.ts +2 -0
- package/dist/commands/actions/tag/list.d.ts.map +1 -0
- package/dist/commands/actions/tag/list.js +24 -0
- package/dist/commands/actions/tag/list.js.map +1 -0
- package/dist/commands/actions/tag/remove.d.ts +18 -0
- package/dist/commands/actions/tag/remove.d.ts.map +1 -0
- package/dist/commands/actions/tag/remove.js +48 -0
- package/dist/commands/actions/tag/remove.js.map +1 -0
- package/dist/commands/actions/tag/update.d.ts +28 -0
- package/dist/commands/actions/tag/update.d.ts.map +1 -0
- package/dist/commands/actions/tag/update.js +50 -0
- package/dist/commands/actions/tag/update.js.map +1 -0
- package/dist/commands/actions/unlink.d.ts +13 -0
- package/dist/commands/actions/unlink.d.ts.map +1 -0
- package/dist/commands/actions/unlink.js +45 -0
- package/dist/commands/actions/unlink.js.map +1 -0
- package/dist/commands/actions/update.d.ts +23 -0
- package/dist/commands/actions/update.d.ts.map +1 -0
- package/dist/commands/actions/update.js +50 -0
- package/dist/commands/actions/update.js.map +1 -0
- package/dist/commands/ads/cache.d.ts +7 -0
- package/dist/commands/ads/cache.d.ts.map +1 -0
- package/dist/commands/ads/cache.js +73 -0
- package/dist/commands/ads/cache.js.map +1 -0
- package/dist/commands/ads/cache.test.d.ts +2 -0
- package/dist/commands/ads/cache.test.d.ts.map +1 -0
- package/dist/commands/ads/cache.test.js +44 -0
- package/dist/commands/ads/cache.test.js.map +1 -0
- package/dist/commands/ads/field-descriptions.d.ts +2 -0
- package/dist/commands/ads/field-descriptions.d.ts.map +1 -0
- package/dist/commands/ads/field-descriptions.js +91 -0
- package/dist/commands/ads/field-descriptions.js.map +1 -0
- package/dist/commands/ads/google/accounts.d.ts +14 -0
- package/dist/commands/ads/google/accounts.d.ts.map +1 -0
- package/dist/commands/ads/google/accounts.js +76 -0
- package/dist/commands/ads/google/accounts.js.map +1 -0
- package/dist/commands/ads/google/changes.d.ts +34 -0
- package/dist/commands/ads/google/changes.d.ts.map +1 -0
- package/dist/commands/ads/google/changes.js +80 -0
- package/dist/commands/ads/google/changes.js.map +1 -0
- package/dist/commands/ads/google/correction-table.d.ts +3 -0
- package/dist/commands/ads/google/correction-table.d.ts.map +1 -0
- package/dist/commands/ads/google/correction-table.js +352 -0
- package/dist/commands/ads/google/correction-table.js.map +1 -0
- package/dist/commands/ads/google/currency.d.ts +13 -0
- package/dist/commands/ads/google/currency.d.ts.map +1 -0
- package/dist/commands/ads/google/currency.js +68 -0
- package/dist/commands/ads/google/currency.js.map +1 -0
- package/dist/commands/ads/google/error-parser.d.ts +3 -0
- package/dist/commands/ads/google/error-parser.d.ts.map +1 -0
- package/dist/commands/ads/google/error-parser.js +91 -0
- package/dist/commands/ads/google/error-parser.js.map +1 -0
- package/dist/commands/ads/google/error-parser.test.d.ts +2 -0
- package/dist/commands/ads/google/error-parser.test.d.ts.map +1 -0
- package/dist/commands/ads/google/error-parser.test.js +48 -0
- package/dist/commands/ads/google/error-parser.test.js.map +1 -0
- package/dist/commands/ads/google/index.d.ts +2 -0
- package/dist/commands/ads/google/index.d.ts.map +1 -0
- package/dist/commands/ads/google/index.js +34 -0
- package/dist/commands/ads/google/index.js.map +1 -0
- package/dist/commands/ads/google/keywords/discover.d.ts +49 -0
- package/dist/commands/ads/google/keywords/discover.d.ts.map +1 -0
- package/dist/commands/ads/google/keywords/discover.js +151 -0
- package/dist/commands/ads/google/keywords/discover.js.map +1 -0
- package/dist/commands/ads/google/keywords/index.d.ts +2 -0
- package/dist/commands/ads/google/keywords/index.d.ts.map +1 -0
- package/dist/commands/ads/google/keywords/index.js +24 -0
- package/dist/commands/ads/google/keywords/index.js.map +1 -0
- package/dist/commands/ads/google/keywords/languages.d.ts +2 -0
- package/dist/commands/ads/google/keywords/languages.d.ts.map +1 -0
- package/dist/commands/ads/google/keywords/languages.js +23 -0
- package/dist/commands/ads/google/keywords/languages.js.map +1 -0
- package/dist/commands/ads/google/keywords/locations.d.ts +2 -0
- package/dist/commands/ads/google/keywords/locations.d.ts.map +1 -0
- package/dist/commands/ads/google/keywords/locations.js +23 -0
- package/dist/commands/ads/google/keywords/locations.js.map +1 -0
- package/dist/commands/ads/google/keywords/metrics.d.ts +34 -0
- package/dist/commands/ads/google/keywords/metrics.d.ts.map +1 -0
- package/dist/commands/ads/google/keywords/metrics.js +123 -0
- package/dist/commands/ads/google/keywords/metrics.js.map +1 -0
- package/dist/commands/ads/google/library/index.d.ts +3 -0
- package/dist/commands/ads/google/library/index.d.ts.map +1 -0
- package/dist/commands/ads/google/library/index.js +279 -0
- package/dist/commands/ads/google/library/index.js.map +1 -0
- package/dist/commands/ads/google/library/index.test.d.ts +2 -0
- package/dist/commands/ads/google/library/index.test.d.ts.map +1 -0
- package/dist/commands/ads/google/library/index.test.js +26 -0
- package/dist/commands/ads/google/library/index.test.js.map +1 -0
- package/dist/commands/ads/google/preflight.d.ts +3 -0
- package/dist/commands/ads/google/preflight.d.ts.map +1 -0
- package/dist/commands/ads/google/preflight.js +122 -0
- package/dist/commands/ads/google/preflight.js.map +1 -0
- package/dist/commands/ads/google/preflight.test.d.ts +2 -0
- package/dist/commands/ads/google/preflight.test.d.ts.map +1 -0
- package/dist/commands/ads/google/preflight.test.js +50 -0
- package/dist/commands/ads/google/preflight.test.js.map +1 -0
- package/dist/commands/ads/google/presets.d.ts +12 -0
- package/dist/commands/ads/google/presets.d.ts.map +1 -0
- package/dist/commands/ads/google/presets.js +85 -0
- package/dist/commands/ads/google/presets.js.map +1 -0
- package/dist/commands/ads/google/presets.test.d.ts +2 -0
- package/dist/commands/ads/google/presets.test.d.ts.map +1 -0
- package/dist/commands/ads/google/presets.test.js +79 -0
- package/dist/commands/ads/google/presets.test.js.map +1 -0
- package/dist/commands/ads/google/query.d.ts +64 -0
- package/dist/commands/ads/google/query.d.ts.map +1 -0
- package/dist/commands/ads/google/query.js +304 -0
- package/dist/commands/ads/google/query.js.map +1 -0
- package/dist/commands/ads/index.d.ts +2 -0
- package/dist/commands/ads/index.d.ts.map +1 -0
- package/dist/commands/ads/index.js +34 -0
- package/dist/commands/ads/index.js.map +1 -0
- package/dist/commands/ads/linkedin/account.d.ts +20 -0
- package/dist/commands/ads/linkedin/account.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/account.js +39 -0
- package/dist/commands/ads/linkedin/account.js.map +1 -0
- package/dist/commands/ads/linkedin/accounts.d.ts +20 -0
- package/dist/commands/ads/linkedin/accounts.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/accounts.js +56 -0
- package/dist/commands/ads/linkedin/accounts.js.map +1 -0
- package/dist/commands/ads/linkedin/analytics.d.ts +84 -0
- package/dist/commands/ads/linkedin/analytics.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/analytics.js +249 -0
- package/dist/commands/ads/linkedin/analytics.js.map +1 -0
- package/dist/commands/ads/linkedin/audience-size.d.ts +28 -0
- package/dist/commands/ads/linkedin/audience-size.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/audience-size.js +75 -0
- package/dist/commands/ads/linkedin/audience-size.js.map +1 -0
- package/dist/commands/ads/linkedin/audit.d.ts +35 -0
- package/dist/commands/ads/linkedin/audit.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/audit.js +136 -0
- package/dist/commands/ads/linkedin/audit.js.map +1 -0
- package/dist/commands/ads/linkedin/bid-pricing.d.ts +38 -0
- package/dist/commands/ads/linkedin/bid-pricing.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/bid-pricing.js +76 -0
- package/dist/commands/ads/linkedin/bid-pricing.js.map +1 -0
- package/dist/commands/ads/linkedin/campaign-groups.d.ts +32 -0
- package/dist/commands/ads/linkedin/campaign-groups.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/campaign-groups.js +50 -0
- package/dist/commands/ads/linkedin/campaign-groups.js.map +1 -0
- package/dist/commands/ads/linkedin/campaigns.d.ts +36 -0
- package/dist/commands/ads/linkedin/campaigns.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/campaigns.js +57 -0
- package/dist/commands/ads/linkedin/campaigns.js.map +1 -0
- package/dist/commands/ads/linkedin/conversation.d.ts +36 -0
- package/dist/commands/ads/linkedin/conversation.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/conversation.js +77 -0
- package/dist/commands/ads/linkedin/conversation.js.map +1 -0
- package/dist/commands/ads/linkedin/conversions.d.ts +2 -0
- package/dist/commands/ads/linkedin/conversions.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/conversions.js +102 -0
- package/dist/commands/ads/linkedin/conversions.js.map +1 -0
- package/dist/commands/ads/linkedin/creatives.d.ts +36 -0
- package/dist/commands/ads/linkedin/creatives.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/creatives.js +57 -0
- package/dist/commands/ads/linkedin/creatives.js.map +1 -0
- package/dist/commands/ads/linkedin/demographics.d.ts +40 -0
- package/dist/commands/ads/linkedin/demographics.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/demographics.js +117 -0
- package/dist/commands/ads/linkedin/demographics.js.map +1 -0
- package/dist/commands/ads/linkedin/facets.d.ts +2 -0
- package/dist/commands/ads/linkedin/facets.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/facets.js +95 -0
- package/dist/commands/ads/linkedin/facets.js.map +1 -0
- package/dist/commands/ads/linkedin/forecast.d.ts +50 -0
- package/dist/commands/ads/linkedin/forecast.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/forecast.js +83 -0
- package/dist/commands/ads/linkedin/forecast.js.map +1 -0
- package/dist/commands/ads/linkedin/index.d.ts +19 -0
- package/dist/commands/ads/linkedin/index.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/index.js +83 -0
- package/dist/commands/ads/linkedin/index.js.map +1 -0
- package/dist/commands/ads/linkedin/leads.d.ts +40 -0
- package/dist/commands/ads/linkedin/leads.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/leads.js +75 -0
- package/dist/commands/ads/linkedin/leads.js.map +1 -0
- package/dist/commands/ads/linkedin/presets.d.ts +40 -0
- package/dist/commands/ads/linkedin/presets.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/presets.js +193 -0
- package/dist/commands/ads/linkedin/presets.js.map +1 -0
- package/dist/commands/ads/linkedin/presets.test.d.ts +2 -0
- package/dist/commands/ads/linkedin/presets.test.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/presets.test.js +98 -0
- package/dist/commands/ads/linkedin/presets.test.js.map +1 -0
- package/dist/commands/ads/linkedin/schemas.d.ts +2 -0
- package/dist/commands/ads/linkedin/schemas.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/schemas.js +300 -0
- package/dist/commands/ads/linkedin/schemas.js.map +1 -0
- package/dist/commands/ads/linkedin/shared.d.ts +17 -0
- package/dist/commands/ads/linkedin/shared.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/shared.js +116 -0
- package/dist/commands/ads/linkedin/shared.js.map +1 -0
- package/dist/commands/ads/linkedin/top-companies.d.ts +44 -0
- package/dist/commands/ads/linkedin/top-companies.d.ts.map +1 -0
- package/dist/commands/ads/linkedin/top-companies.js +86 -0
- package/dist/commands/ads/linkedin/top-companies.js.map +1 -0
- package/dist/commands/ads/meta/account.d.ts +11 -0
- package/dist/commands/ads/meta/account.d.ts.map +1 -0
- package/dist/commands/ads/meta/account.js +32 -0
- package/dist/commands/ads/meta/account.js.map +1 -0
- package/dist/commands/ads/meta/accounts.d.ts +20 -0
- package/dist/commands/ads/meta/accounts.d.ts.map +1 -0
- package/dist/commands/ads/meta/accounts.js +55 -0
- package/dist/commands/ads/meta/accounts.js.map +1 -0
- package/dist/commands/ads/meta/activities.d.ts +24 -0
- package/dist/commands/ads/meta/activities.d.ts.map +1 -0
- package/dist/commands/ads/meta/activities.js +44 -0
- package/dist/commands/ads/meta/activities.js.map +1 -0
- package/dist/commands/ads/meta/ads.d.ts +36 -0
- package/dist/commands/ads/meta/ads.d.ts.map +1 -0
- package/dist/commands/ads/meta/ads.js +57 -0
- package/dist/commands/ads/meta/ads.js.map +1 -0
- package/dist/commands/ads/meta/adsets.d.ts +32 -0
- package/dist/commands/ads/meta/adsets.d.ts.map +1 -0
- package/dist/commands/ads/meta/adsets.js +50 -0
- package/dist/commands/ads/meta/adsets.js.map +1 -0
- package/dist/commands/ads/meta/audiences.d.ts +20 -0
- package/dist/commands/ads/meta/audiences.d.ts.map +1 -0
- package/dist/commands/ads/meta/audiences.js +41 -0
- package/dist/commands/ads/meta/audiences.js.map +1 -0
- package/dist/commands/ads/meta/businesses.d.ts +12 -0
- package/dist/commands/ads/meta/businesses.d.ts.map +1 -0
- package/dist/commands/ads/meta/businesses.js +35 -0
- package/dist/commands/ads/meta/businesses.js.map +1 -0
- package/dist/commands/ads/meta/campaigns.d.ts +28 -0
- package/dist/commands/ads/meta/campaigns.d.ts.map +1 -0
- package/dist/commands/ads/meta/campaigns.js +51 -0
- package/dist/commands/ads/meta/campaigns.js.map +1 -0
- package/dist/commands/ads/meta/creatives.d.ts +24 -0
- package/dist/commands/ads/meta/creatives.d.ts.map +1 -0
- package/dist/commands/ads/meta/creatives.js +51 -0
- package/dist/commands/ads/meta/creatives.js.map +1 -0
- package/dist/commands/ads/meta/index.d.ts +17 -0
- package/dist/commands/ads/meta/index.d.ts.map +1 -0
- package/dist/commands/ads/meta/index.js +79 -0
- package/dist/commands/ads/meta/index.js.map +1 -0
- package/dist/commands/ads/meta/insights.d.ts +92 -0
- package/dist/commands/ads/meta/insights.d.ts.map +1 -0
- package/dist/commands/ads/meta/insights.js +260 -0
- package/dist/commands/ads/meta/insights.js.map +1 -0
- package/dist/commands/ads/meta/pixels.d.ts +33 -0
- package/dist/commands/ads/meta/pixels.d.ts.map +1 -0
- package/dist/commands/ads/meta/pixels.js +76 -0
- package/dist/commands/ads/meta/pixels.js.map +1 -0
- package/dist/commands/ads/meta/presets.d.ts +30 -0
- package/dist/commands/ads/meta/presets.d.ts.map +1 -0
- package/dist/commands/ads/meta/presets.js +86 -0
- package/dist/commands/ads/meta/presets.js.map +1 -0
- package/dist/commands/ads/meta/preview.d.ts +32 -0
- package/dist/commands/ads/meta/preview.d.ts.map +1 -0
- package/dist/commands/ads/meta/preview.js +90 -0
- package/dist/commands/ads/meta/preview.js.map +1 -0
- package/dist/commands/ads/meta/shared.d.ts +18 -0
- package/dist/commands/ads/meta/shared.d.ts.map +1 -0
- package/dist/commands/ads/meta/shared.js +86 -0
- package/dist/commands/ads/meta/shared.js.map +1 -0
- package/dist/commands/ads/output.d.ts +22 -0
- package/dist/commands/ads/output.d.ts.map +1 -0
- package/dist/commands/ads/output.js +130 -0
- package/dist/commands/ads/output.js.map +1 -0
- package/dist/commands/ads/output.test.d.ts +2 -0
- package/dist/commands/ads/output.test.d.ts.map +1 -0
- package/dist/commands/ads/output.test.js +100 -0
- package/dist/commands/ads/output.test.js.map +1 -0
- package/dist/commands/ads/types.d.ts +69 -0
- package/dist/commands/ads/types.d.ts.map +1 -0
- package/dist/commands/ads/types.js +2 -0
- package/dist/commands/ads/types.js.map +1 -0
- package/dist/commands/ads/x/accounts.d.ts +14 -0
- package/dist/commands/ads/x/accounts.d.ts.map +1 -0
- package/dist/commands/ads/x/accounts.js +73 -0
- package/dist/commands/ads/x/accounts.js.map +1 -0
- package/dist/commands/ads/x/active-entities.d.ts +43 -0
- package/dist/commands/ads/x/active-entities.d.ts.map +1 -0
- package/dist/commands/ads/x/active-entities.js +88 -0
- package/dist/commands/ads/x/active-entities.js.map +1 -0
- package/dist/commands/ads/x/audiences.d.ts +19 -0
- package/dist/commands/ads/x/audiences.d.ts.map +1 -0
- package/dist/commands/ads/x/audiences.js +65 -0
- package/dist/commands/ads/x/audiences.js.map +1 -0
- package/dist/commands/ads/x/campaigns.d.ts +34 -0
- package/dist/commands/ads/x/campaigns.d.ts.map +1 -0
- package/dist/commands/ads/x/campaigns.js +56 -0
- package/dist/commands/ads/x/campaigns.js.map +1 -0
- package/dist/commands/ads/x/cards.d.ts +19 -0
- package/dist/commands/ads/x/cards.d.ts.map +1 -0
- package/dist/commands/ads/x/cards.js +65 -0
- package/dist/commands/ads/x/cards.js.map +1 -0
- package/dist/commands/ads/x/error-parser.d.ts +3 -0
- package/dist/commands/ads/x/error-parser.d.ts.map +1 -0
- package/dist/commands/ads/x/error-parser.js +80 -0
- package/dist/commands/ads/x/error-parser.js.map +1 -0
- package/dist/commands/ads/x/funding.d.ts +19 -0
- package/dist/commands/ads/x/funding.d.ts.map +1 -0
- package/dist/commands/ads/x/funding.js +65 -0
- package/dist/commands/ads/x/funding.js.map +1 -0
- package/dist/commands/ads/x/index.d.ts +2 -0
- package/dist/commands/ads/x/index.d.ts.map +1 -0
- package/dist/commands/ads/x/index.js +50 -0
- package/dist/commands/ads/x/index.js.map +1 -0
- package/dist/commands/ads/x/line-items.d.ts +34 -0
- package/dist/commands/ads/x/line-items.d.ts.map +1 -0
- package/dist/commands/ads/x/line-items.js +55 -0
- package/dist/commands/ads/x/line-items.js.map +1 -0
- package/dist/commands/ads/x/media.d.ts +24 -0
- package/dist/commands/ads/x/media.d.ts.map +1 -0
- package/dist/commands/ads/x/media.js +70 -0
- package/dist/commands/ads/x/media.js.map +1 -0
- package/dist/commands/ads/x/output.d.ts +13 -0
- package/dist/commands/ads/x/output.d.ts.map +1 -0
- package/dist/commands/ads/x/output.js +75 -0
- package/dist/commands/ads/x/output.js.map +1 -0
- package/dist/commands/ads/x/presets.d.ts +15 -0
- package/dist/commands/ads/x/presets.d.ts.map +1 -0
- package/dist/commands/ads/x/presets.js +60 -0
- package/dist/commands/ads/x/presets.js.map +1 -0
- package/dist/commands/ads/x/promoted-tweets.d.ts +29 -0
- package/dist/commands/ads/x/promoted-tweets.d.ts.map +1 -0
- package/dist/commands/ads/x/promoted-tweets.js +74 -0
- package/dist/commands/ads/x/promoted-tweets.js.map +1 -0
- package/dist/commands/ads/x/run-list.d.ts +17 -0
- package/dist/commands/ads/x/run-list.d.ts.map +1 -0
- package/dist/commands/ads/x/run-list.js +60 -0
- package/dist/commands/ads/x/run-list.js.map +1 -0
- package/dist/commands/ads/x/stats/index.d.ts +2 -0
- package/dist/commands/ads/x/stats/index.d.ts.map +1 -0
- package/dist/commands/ads/x/stats/index.js +32 -0
- package/dist/commands/ads/x/stats/index.js.map +1 -0
- package/dist/commands/ads/x/stats/job-create.d.ts +58 -0
- package/dist/commands/ads/x/stats/job-create.d.ts.map +1 -0
- package/dist/commands/ads/x/stats/job-create.js +95 -0
- package/dist/commands/ads/x/stats/job-create.js.map +1 -0
- package/dist/commands/ads/x/stats/job-status.d.ts +18 -0
- package/dist/commands/ads/x/stats/job-status.d.ts.map +1 -0
- package/dist/commands/ads/x/stats/job-status.js +58 -0
- package/dist/commands/ads/x/stats/job-status.js.map +1 -0
- package/dist/commands/ads/x/stats/job.d.ts +63 -0
- package/dist/commands/ads/x/stats/job.d.ts.map +1 -0
- package/dist/commands/ads/x/stats/job.js +183 -0
- package/dist/commands/ads/x/stats/job.js.map +1 -0
- package/dist/commands/ads/x/stats/sync.d.ts +73 -0
- package/dist/commands/ads/x/stats/sync.d.ts.map +1 -0
- package/dist/commands/ads/x/stats/sync.js +151 -0
- package/dist/commands/ads/x/stats/sync.js.map +1 -0
- package/dist/commands/ads/x/targeting-constants.d.ts +34 -0
- package/dist/commands/ads/x/targeting-constants.d.ts.map +1 -0
- package/dist/commands/ads/x/targeting-constants.js +80 -0
- package/dist/commands/ads/x/targeting-constants.js.map +1 -0
- package/dist/commands/ads/x/targeting-criteria.d.ts +24 -0
- package/dist/commands/ads/x/targeting-criteria.d.ts.map +1 -0
- package/dist/commands/ads/x/targeting-criteria.js +69 -0
- package/dist/commands/ads/x/targeting-criteria.js.map +1 -0
- package/dist/commands/ga4/audit.d.ts +13 -0
- package/dist/commands/ga4/audit.d.ts.map +1 -0
- package/dist/commands/ga4/audit.js +67 -0
- package/dist/commands/ga4/audit.js.map +1 -0
- package/dist/commands/ga4/index.d.ts +2 -0
- package/dist/commands/ga4/index.d.ts.map +1 -0
- package/dist/commands/ga4/index.js +26 -0
- package/dist/commands/ga4/index.js.map +1 -0
- package/dist/commands/ga4/presets.d.ts +8 -0
- package/dist/commands/ga4/presets.d.ts.map +1 -0
- package/dist/commands/ga4/presets.js +33 -0
- package/dist/commands/ga4/presets.js.map +1 -0
- package/dist/commands/ga4/properties.d.ts +14 -0
- package/dist/commands/ga4/properties.d.ts.map +1 -0
- package/dist/commands/ga4/properties.js +61 -0
- package/dist/commands/ga4/properties.js.map +1 -0
- package/dist/commands/ga4/query.d.ts +69 -0
- package/dist/commands/ga4/query.d.ts.map +1 -0
- package/dist/commands/ga4/query.js +184 -0
- package/dist/commands/ga4/query.js.map +1 -0
- package/dist/commands/ga4/resolve.d.ts +2 -0
- package/dist/commands/ga4/resolve.d.ts.map +1 -0
- package/dist/commands/ga4/resolve.js +57 -0
- package/dist/commands/ga4/resolve.js.map +1 -0
- package/dist/commands/gsc/index.d.ts +2 -0
- package/dist/commands/gsc/index.d.ts.map +1 -0
- package/dist/commands/gsc/index.js +26 -0
- package/dist/commands/gsc/index.js.map +1 -0
- package/dist/commands/gsc/presets.d.ts +9 -0
- package/dist/commands/gsc/presets.d.ts.map +1 -0
- package/dist/commands/gsc/presets.js +34 -0
- package/dist/commands/gsc/presets.js.map +1 -0
- package/dist/commands/gsc/query.d.ts +79 -0
- package/dist/commands/gsc/query.d.ts.map +1 -0
- package/dist/commands/gsc/query.js +196 -0
- package/dist/commands/gsc/query.js.map +1 -0
- package/dist/commands/gsc/resolve.d.ts +2 -0
- package/dist/commands/gsc/resolve.d.ts.map +1 -0
- package/dist/commands/gsc/resolve.js +57 -0
- package/dist/commands/gsc/resolve.js.map +1 -0
- package/dist/commands/gsc/sitemaps.d.ts +19 -0
- package/dist/commands/gsc/sitemaps.d.ts.map +1 -0
- package/dist/commands/gsc/sitemaps.js +65 -0
- package/dist/commands/gsc/sitemaps.js.map +1 -0
- package/dist/commands/gsc/sites.d.ts +14 -0
- package/dist/commands/gsc/sites.d.ts.map +1 -0
- package/dist/commands/gsc/sites.js +61 -0
- package/dist/commands/gsc/sites.js.map +1 -0
- package/dist/commands/images/delete.d.ts +19 -0
- package/dist/commands/images/delete.d.ts.map +1 -0
- package/dist/commands/images/delete.js +58 -0
- package/dist/commands/images/delete.js.map +1 -0
- package/dist/commands/images/extract.d.ts +28 -0
- package/dist/commands/images/extract.d.ts.map +1 -0
- package/dist/commands/images/extract.js +61 -0
- package/dist/commands/images/extract.js.map +1 -0
- package/dist/commands/images/find.d.ts +38 -0
- package/dist/commands/images/find.d.ts.map +1 -0
- package/dist/commands/images/find.js +78 -0
- package/dist/commands/images/find.js.map +1 -0
- package/dist/commands/images/get.d.ts +30 -0
- package/dist/commands/images/get.d.ts.map +1 -0
- package/dist/commands/images/get.js +42 -0
- package/dist/commands/images/get.js.map +1 -0
- package/dist/commands/images/gif.d.ts +38 -0
- package/dist/commands/images/gif.d.ts.map +1 -0
- package/dist/commands/images/gif.js +89 -0
- package/dist/commands/images/gif.js.map +1 -0
- package/dist/commands/images/google.d.ts +43 -0
- package/dist/commands/images/google.d.ts.map +1 -0
- package/dist/commands/images/google.js +85 -0
- package/dist/commands/images/google.js.map +1 -0
- package/dist/commands/images/icon.d.ts +33 -0
- package/dist/commands/images/icon.d.ts.map +1 -0
- package/dist/commands/images/icon.js +74 -0
- package/dist/commands/images/icon.js.map +1 -0
- package/dist/commands/images/index.d.ts +2 -0
- package/dist/commands/images/index.d.ts.map +1 -0
- package/dist/commands/images/index.js +63 -0
- package/dist/commands/images/index.js.map +1 -0
- package/dist/commands/images/ingest.d.ts +28 -0
- package/dist/commands/images/ingest.d.ts.map +1 -0
- package/dist/commands/images/ingest.js +60 -0
- package/dist/commands/images/ingest.js.map +1 -0
- package/dist/commands/images/library.d.ts +55 -0
- package/dist/commands/images/library.d.ts.map +1 -0
- package/dist/commands/images/library.js +86 -0
- package/dist/commands/images/library.js.map +1 -0
- package/dist/commands/images/logo.d.ts +28 -0
- package/dist/commands/images/logo.d.ts.map +1 -0
- package/dist/commands/images/logo.js +71 -0
- package/dist/commands/images/logo.js.map +1 -0
- package/dist/commands/images/screenshot.d.ts +28 -0
- package/dist/commands/images/screenshot.d.ts.map +1 -0
- package/dist/commands/images/screenshot.js +72 -0
- package/dist/commands/images/screenshot.js.map +1 -0
- package/dist/commands/images/search.d.ts +45 -0
- package/dist/commands/images/search.d.ts.map +1 -0
- package/dist/commands/images/search.js +74 -0
- package/dist/commands/images/search.js.map +1 -0
- package/dist/commands/images/sticker.d.ts +38 -0
- package/dist/commands/images/sticker.d.ts.map +1 -0
- package/dist/commands/images/sticker.js +89 -0
- package/dist/commands/images/sticker.js.map +1 -0
- package/dist/commands/images/stock.d.ts +63 -0
- package/dist/commands/images/stock.d.ts.map +1 -0
- package/dist/commands/images/stock.js +124 -0
- package/dist/commands/images/stock.js.map +1 -0
- package/dist/commands/images/upload.d.ts +39 -0
- package/dist/commands/images/upload.d.ts.map +1 -0
- package/dist/commands/images/upload.js +159 -0
- package/dist/commands/images/upload.js.map +1 -0
- package/dist/commands/images/use.d.ts +23 -0
- package/dist/commands/images/use.d.ts.map +1 -0
- package/dist/commands/images/use.js +66 -0
- package/dist/commands/images/use.js.map +1 -0
- package/dist/commands/research/advertisers.d.ts +34 -0
- package/dist/commands/research/advertisers.d.ts.map +1 -0
- package/dist/commands/research/advertisers.js +78 -0
- package/dist/commands/research/advertisers.js.map +1 -0
- package/dist/commands/research/autocomplete.d.ts +34 -0
- package/dist/commands/research/autocomplete.d.ts.map +1 -0
- package/dist/commands/research/autocomplete.js +73 -0
- package/dist/commands/research/autocomplete.js.map +1 -0
- package/dist/commands/research/countries.d.ts +2 -0
- package/dist/commands/research/countries.d.ts.map +1 -0
- package/dist/commands/research/countries.js +69 -0
- package/dist/commands/research/countries.js.map +1 -0
- package/dist/commands/research/index.d.ts +2 -0
- package/dist/commands/research/index.d.ts.map +1 -0
- package/dist/commands/research/index.js +50 -0
- package/dist/commands/research/index.js.map +1 -0
- package/dist/commands/research/intent.d.ts +24 -0
- package/dist/commands/research/intent.d.ts.map +1 -0
- package/dist/commands/research/intent.js +78 -0
- package/dist/commands/research/intent.js.map +1 -0
- package/dist/commands/research/keyword-gap.d.ts +49 -0
- package/dist/commands/research/keyword-gap.d.ts.map +1 -0
- package/dist/commands/research/keyword-gap.js +107 -0
- package/dist/commands/research/keyword-gap.js.map +1 -0
- package/dist/commands/research/keywords-for-site.d.ts +44 -0
- package/dist/commands/research/keywords-for-site.d.ts.map +1 -0
- package/dist/commands/research/keywords-for-site.js +90 -0
- package/dist/commands/research/keywords-for-site.js.map +1 -0
- package/dist/commands/research/languages.d.ts +2 -0
- package/dist/commands/research/languages.d.ts.map +1 -0
- package/dist/commands/research/languages.js +42 -0
- package/dist/commands/research/languages.js.map +1 -0
- package/dist/commands/research/lighthouse.d.ts +24 -0
- package/dist/commands/research/lighthouse.d.ts.map +1 -0
- package/dist/commands/research/lighthouse.js +60 -0
- package/dist/commands/research/lighthouse.js.map +1 -0
- package/dist/commands/research/output.d.ts +29 -0
- package/dist/commands/research/output.d.ts.map +1 -0
- package/dist/commands/research/output.js +81 -0
- package/dist/commands/research/output.js.map +1 -0
- package/dist/commands/research/relevant-pages.d.ts +34 -0
- package/dist/commands/research/relevant-pages.d.ts.map +1 -0
- package/dist/commands/research/relevant-pages.js +76 -0
- package/dist/commands/research/relevant-pages.js.map +1 -0
- package/dist/commands/research/web.d.ts +19 -0
- package/dist/commands/research/web.d.ts.map +1 -0
- package/dist/commands/research/web.js +112 -0
- package/dist/commands/research/web.js.map +1 -0
- package/dist/commands/scheduled-actions/create.d.ts +50 -0
- package/dist/commands/scheduled-actions/create.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/create.js +83 -0
- package/dist/commands/scheduled-actions/create.js.map +1 -0
- package/dist/commands/scheduled-actions/delete.d.ts +13 -0
- package/dist/commands/scheduled-actions/delete.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/delete.js +41 -0
- package/dist/commands/scheduled-actions/delete.js.map +1 -0
- package/dist/commands/scheduled-actions/get.d.ts +13 -0
- package/dist/commands/scheduled-actions/get.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/get.js +50 -0
- package/dist/commands/scheduled-actions/get.js.map +1 -0
- package/dist/commands/scheduled-actions/index.d.ts +2 -0
- package/dist/commands/scheduled-actions/index.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/index.js +32 -0
- package/dist/commands/scheduled-actions/index.js.map +1 -0
- package/dist/commands/scheduled-actions/list.d.ts +2 -0
- package/dist/commands/scheduled-actions/list.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/list.js +32 -0
- package/dist/commands/scheduled-actions/list.js.map +1 -0
- package/dist/commands/scheduled-actions/shared.d.ts +22 -0
- package/dist/commands/scheduled-actions/shared.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/shared.js +90 -0
- package/dist/commands/scheduled-actions/shared.js.map +1 -0
- package/dist/commands/scheduled-actions/shared.test.d.ts +2 -0
- package/dist/commands/scheduled-actions/shared.test.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/shared.test.js +12 -0
- package/dist/commands/scheduled-actions/shared.test.js.map +1 -0
- package/dist/commands/scheduled-actions/trigger.d.ts +13 -0
- package/dist/commands/scheduled-actions/trigger.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/trigger.js +50 -0
- package/dist/commands/scheduled-actions/trigger.js.map +1 -0
- package/dist/commands/scheduled-actions/update.d.ts +58 -0
- package/dist/commands/scheduled-actions/update.d.ts.map +1 -0
- package/dist/commands/scheduled-actions/update.js +108 -0
- package/dist/commands/scheduled-actions/update.js.map +1 -0
- package/dist/commands/schema.d.ts +8 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +38 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/testimonials/get.d.ts +30 -0
- package/dist/commands/testimonials/get.d.ts.map +1 -0
- package/dist/commands/testimonials/get.js +42 -0
- package/dist/commands/testimonials/get.js.map +1 -0
- package/dist/commands/testimonials/index.d.ts +2 -0
- package/dist/commands/testimonials/index.d.ts.map +1 -0
- package/dist/commands/testimonials/index.js +22 -0
- package/dist/commands/testimonials/index.js.map +1 -0
- package/dist/commands/testimonials/list.d.ts +60 -0
- package/dist/commands/testimonials/list.d.ts.map +1 -0
- package/dist/commands/testimonials/list.js +69 -0
- package/dist/commands/testimonials/list.js.map +1 -0
- package/dist/commands/testimonials/search.d.ts +40 -0
- package/dist/commands/testimonials/search.d.ts.map +1 -0
- package/dist/commands/testimonials/search.js +59 -0
- package/dist/commands/testimonials/search.js.map +1 -0
- package/dist/commands/videos/delete.d.ts +19 -0
- package/dist/commands/videos/delete.d.ts.map +1 -0
- package/dist/commands/videos/delete.js +58 -0
- package/dist/commands/videos/delete.js.map +1 -0
- package/dist/commands/videos/get.d.ts +30 -0
- package/dist/commands/videos/get.d.ts.map +1 -0
- package/dist/commands/videos/get.js +42 -0
- package/dist/commands/videos/get.js.map +1 -0
- package/dist/commands/videos/index.d.ts +2 -0
- package/dist/commands/videos/index.d.ts.map +1 -0
- package/dist/commands/videos/index.js +25 -0
- package/dist/commands/videos/index.js.map +1 -0
- package/dist/commands/videos/search.d.ts +35 -0
- package/dist/commands/videos/search.d.ts.map +1 -0
- package/dist/commands/videos/search.js +54 -0
- package/dist/commands/videos/search.js.map +1 -0
- package/dist/commands/videos/upload.d.ts +19 -0
- package/dist/commands/videos/upload.d.ts.map +1 -0
- package/dist/commands/videos/upload.js +92 -0
- package/dist/commands/videos/upload.js.map +1 -0
- package/dist/env.d.ts +15 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +39 -0
- package/dist/env.js.map +1 -0
- package/dist/error-handler.d.ts +8 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +46 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/geo-context.d.ts +21 -0
- package/dist/geo-context.d.ts.map +1 -0
- package/dist/geo-context.js +208 -0
- package/dist/geo-context.js.map +1 -0
- package/dist/output.d.ts +43 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +182 -0
- package/dist/output.js.map +1 -0
- package/dist/output.test.d.ts +2 -0
- package/dist/output.test.d.ts.map +1 -0
- package/dist/output.test.js +117 -0
- package/dist/output.test.js.map +1 -0
- package/dist/schemas.d.ts +17 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +11 -0
- package/dist/schemas.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const cardsCommand: 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 "no-cache": {
|
|
8
|
+
readonly type: "boolean";
|
|
9
|
+
readonly description: "Skip cache";
|
|
10
|
+
readonly required: false;
|
|
11
|
+
};
|
|
12
|
+
readonly output: {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly description: "Format: json|csv|md";
|
|
15
|
+
readonly required: false;
|
|
16
|
+
readonly default: "json";
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=cards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/cards.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;EA+CvB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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.cards",
|
|
10
|
+
description: "List website cards, video cards, and carousels for an X Ads account.",
|
|
11
|
+
args: {
|
|
12
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
13
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
export const cardsCommand = defineCommand({
|
|
17
|
+
meta: {
|
|
18
|
+
name: "cards",
|
|
19
|
+
description: `List X Ads cards (rich creatives).
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
baker ads x cards --account-id 18ce53xyz`,
|
|
23
|
+
},
|
|
24
|
+
args: {
|
|
25
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
26
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
27
|
+
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" },
|
|
28
|
+
},
|
|
29
|
+
run: async ({ args }) => {
|
|
30
|
+
const accountId = await resolveXAccountId(args);
|
|
31
|
+
const useCache = !args["no-cache"];
|
|
32
|
+
const cacheKey = `cards:${accountId}`;
|
|
33
|
+
if (useCache) {
|
|
34
|
+
const cached = cacheGet("x-account-data", cacheKey);
|
|
35
|
+
if (cached) {
|
|
36
|
+
writeAdsJson({ ok: true, data: cached.data, cached: true });
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const params = { "account-id": accountId };
|
|
42
|
+
if (!useCache)
|
|
43
|
+
params["skip-cache"] = "true";
|
|
44
|
+
const data = await apiGet("/api/ads/x/cards", params);
|
|
45
|
+
if (useCache) {
|
|
46
|
+
cacheSet("x-account-data", cacheKey, data, 6 * 60 * 60 * 1000);
|
|
47
|
+
}
|
|
48
|
+
const format = args.output || "json";
|
|
49
|
+
if (format !== "json") {
|
|
50
|
+
writeAdsOutput(data, format);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
writeAdsJson({ ok: true, data });
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err instanceof ApiError) {
|
|
57
|
+
writeAdsJson(parseXApiError(err.message, accountId));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=cards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cards.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/cards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-parser.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/error-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA6BpD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAsBxF"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
function mapXErrorCode(message) {
|
|
2
|
+
if (/UNAUTHORIZED_ACCESS|authentication/i.test(message))
|
|
3
|
+
return "AUTH_ERROR";
|
|
4
|
+
if (/UNAUTHORIZED_CLIENT_APPLICATION/i.test(message))
|
|
5
|
+
return "PERMISSION_DENIED";
|
|
6
|
+
if (/ACCOUNT_NOT_FOUND|NOT_FOUND/i.test(message))
|
|
7
|
+
return "ACCOUNT_NOT_FOUND";
|
|
8
|
+
if (/CAMPAIGN_NOT_FOUND/i.test(message))
|
|
9
|
+
return "CAMPAIGN_NOT_FOUND";
|
|
10
|
+
if (/LINE_ITEM_NOT_FOUND/i.test(message))
|
|
11
|
+
return "LINE_ITEM_NOT_FOUND";
|
|
12
|
+
if (/MEDIA_NOT_FOUND|TWEET_NOT_FOUND|TAILORED_AUDIENCE_NOT_FOUND/i.test(message))
|
|
13
|
+
return "RESOURCE_NOT_FOUND";
|
|
14
|
+
if (/TOO_MANY_REQUESTS|TWEET_RATE_LIMIT_EXCEEDED|rate.*limit/i.test(message))
|
|
15
|
+
return "QUOTA_EXCEEDED";
|
|
16
|
+
if (/SPEND_EXCEEDS_BUDGET/i.test(message))
|
|
17
|
+
return "BUDGET_EXCEEDED";
|
|
18
|
+
if (/INVALID_PARAMETER|MISSING_PARAMETER|EXCLUSIVE_PARAMETERS|INCLUSIVE_PARAMETERS/i.test(message))
|
|
19
|
+
return "INVALID_PARAMETER";
|
|
20
|
+
if (/SERVICE_UNAVAILABLE|OVER_CAPACITY|INTERNAL_ERROR/i.test(message))
|
|
21
|
+
return "SERVICE_UNAVAILABLE";
|
|
22
|
+
if (/CANCELLED_REQUEST|timeout|DEADLINE_EXCEEDED/i.test(message))
|
|
23
|
+
return "TIMEOUT";
|
|
24
|
+
return "API_ERROR";
|
|
25
|
+
}
|
|
26
|
+
function isRetryable(code) {
|
|
27
|
+
return code === "QUOTA_EXCEEDED" || code === "TIMEOUT" || code === "SERVICE_UNAVAILABLE";
|
|
28
|
+
}
|
|
29
|
+
function getRetryDelay(code) {
|
|
30
|
+
if (code === "QUOTA_EXCEEDED")
|
|
31
|
+
return 60_000;
|
|
32
|
+
if (code === "SERVICE_UNAVAILABLE")
|
|
33
|
+
return 15_000;
|
|
34
|
+
if (code === "TIMEOUT")
|
|
35
|
+
return 5_000;
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
export function parseXApiError(errorMessage, accountId) {
|
|
39
|
+
const code = mapXErrorCode(errorMessage);
|
|
40
|
+
return {
|
|
41
|
+
ok: false,
|
|
42
|
+
error: {
|
|
43
|
+
code,
|
|
44
|
+
message: errorMessage,
|
|
45
|
+
fix: {
|
|
46
|
+
action: code === "AUTH_ERROR"
|
|
47
|
+
? "authenticate"
|
|
48
|
+
: code === "PERMISSION_DENIED"
|
|
49
|
+
? "authenticate"
|
|
50
|
+
: isRetryable(code)
|
|
51
|
+
? "wait_and_retry"
|
|
52
|
+
: "reject",
|
|
53
|
+
explanation: explainFix(code, accountId, errorMessage),
|
|
54
|
+
},
|
|
55
|
+
retryable: isRetryable(code),
|
|
56
|
+
retryAfterMs: getRetryDelay(code),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function explainFix(code, accountId, message) {
|
|
61
|
+
switch (code) {
|
|
62
|
+
case "AUTH_ERROR":
|
|
63
|
+
return "Token rejected by X. Reconnect the X Ads provider in Baker dashboard settings.";
|
|
64
|
+
case "PERMISSION_DENIED":
|
|
65
|
+
return "App not authorized for this resource. Verify Ads API access at ads.x.com/help and reconnect the provider.";
|
|
66
|
+
case "ACCOUNT_NOT_FOUND":
|
|
67
|
+
return `Account ${accountId} not accessible. Run 'baker ads x accounts' to list visible accounts.`;
|
|
68
|
+
case "QUOTA_EXCEEDED":
|
|
69
|
+
return "X Ads rate limit exceeded. Wait until the x-rate-limit-reset window passes and retry.";
|
|
70
|
+
case "INVALID_PARAMETER":
|
|
71
|
+
return `Invalid parameter sent to X Ads API: ${message}`;
|
|
72
|
+
case "BUDGET_EXCEEDED":
|
|
73
|
+
return "Spend exceeds available budget on the funding instrument.";
|
|
74
|
+
case "SERVICE_UNAVAILABLE":
|
|
75
|
+
return "X Ads API is temporarily unavailable. Retry after a short backoff.";
|
|
76
|
+
default:
|
|
77
|
+
return `Unrecognized X Ads error — verify request shape against X Ads API docs (${code}).`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=error-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-parser.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/error-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const fundingCommand: 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 "no-cache": {
|
|
8
|
+
readonly type: "boolean";
|
|
9
|
+
readonly description: "Skip cache";
|
|
10
|
+
readonly required: false;
|
|
11
|
+
};
|
|
12
|
+
readonly output: {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly description: "Format: json|csv|md";
|
|
15
|
+
readonly required: false;
|
|
16
|
+
readonly default: "json";
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=funding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/funding.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;EA+CzB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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.funding",
|
|
10
|
+
description: "List funding instruments for an X Ads account. Returns id, type, currency, credit_limit_local_micro, funded_amount_local_micro, status. Falls back to BAKER_X_ADS_ACCOUNT_ID env var.",
|
|
11
|
+
args: {
|
|
12
|
+
"account-id": { type: "string", description: "X Ads account ID (base36)", required: false },
|
|
13
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
export const fundingCommand = defineCommand({
|
|
17
|
+
meta: {
|
|
18
|
+
name: "funding",
|
|
19
|
+
description: `List funding instruments for an X Ads account.
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
baker ads x funding --account-id 18ce53xyz`,
|
|
23
|
+
},
|
|
24
|
+
args: {
|
|
25
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
26
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
27
|
+
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" },
|
|
28
|
+
},
|
|
29
|
+
run: async ({ args }) => {
|
|
30
|
+
const accountId = await resolveXAccountId(args);
|
|
31
|
+
const useCache = !args["no-cache"];
|
|
32
|
+
const cacheKey = `funding:${accountId}`;
|
|
33
|
+
if (useCache) {
|
|
34
|
+
const cached = cacheGet("x-account-data", cacheKey);
|
|
35
|
+
if (cached) {
|
|
36
|
+
writeAdsJson({ ok: true, data: cached.data, cached: true });
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const params = { "account-id": accountId };
|
|
42
|
+
if (!useCache)
|
|
43
|
+
params["skip-cache"] = "true";
|
|
44
|
+
const data = await apiGet("/api/ads/x/funding-instruments", params);
|
|
45
|
+
if (useCache) {
|
|
46
|
+
cacheSet("x-account-data", cacheKey, data, 60 * 60 * 1000);
|
|
47
|
+
}
|
|
48
|
+
const format = args.output || "json";
|
|
49
|
+
if (format !== "json") {
|
|
50
|
+
writeAdsOutput(data, format);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
writeAdsJson({ ok: true, data });
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err instanceof ApiError) {
|
|
57
|
+
writeAdsJson(parseXApiError(err.message, accountId));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=funding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"funding.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/funding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,QAAQ,qDAmCnB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
import { accountsCommand } from "./accounts.js";
|
|
3
|
+
import { activeEntitiesCommand } from "./active-entities.js";
|
|
4
|
+
import { audiencesCommand } from "./audiences.js";
|
|
5
|
+
import { campaignsCommand } from "./campaigns.js";
|
|
6
|
+
import { cardsCommand } from "./cards.js";
|
|
7
|
+
import { fundingCommand } from "./funding.js";
|
|
8
|
+
import { lineItemsCommand } from "./line-items.js";
|
|
9
|
+
import { mediaCommand } from "./media.js";
|
|
10
|
+
import { promotedTweetsCommand } from "./promoted-tweets.js";
|
|
11
|
+
import { statsCommand } from "./stats/index.js";
|
|
12
|
+
import { targetingConstantsCommand } from "./targeting-constants.js";
|
|
13
|
+
import { targetingCriteriaCommand } from "./targeting-criteria.js";
|
|
14
|
+
export const xCommand = defineCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "x",
|
|
17
|
+
description: `X (Twitter) Ads commands. Read campaigns, line items, promoted tweets, creatives, audiences, and analytics.
|
|
18
|
+
|
|
19
|
+
Start here:
|
|
20
|
+
baker ads x accounts — list accessible X Ads accounts
|
|
21
|
+
baker ads x stats sync --list-presets — see available stats presets
|
|
22
|
+
baker ads x targeting-constants --constant locations --q "Madrid"
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
baker ads x campaigns --account-id 18ce53xyz
|
|
26
|
+
baker ads x line-items --account-id 18ce53xyz --campaign-ids abc
|
|
27
|
+
baker ads x promoted-tweets --account-id 18ce53xyz
|
|
28
|
+
baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def
|
|
29
|
+
baker ads x stats job-create --entity CAMPAIGN --entity-ids abc \\
|
|
30
|
+
--start-time 2026-04-01T00:00:00Z --end-time 2026-05-01T00:00:00Z \\
|
|
31
|
+
--metric-groups ENGAGEMENT,BILLING --segmentation-type LOCATIONS
|
|
32
|
+
|
|
33
|
+
The CLI auto-detects --account-id when exactly one X Ads account is connected, or via BAKER_X_ADS_ACCOUNT_ID.`,
|
|
34
|
+
},
|
|
35
|
+
subCommands: {
|
|
36
|
+
accounts: accountsCommand,
|
|
37
|
+
funding: fundingCommand,
|
|
38
|
+
campaigns: campaignsCommand,
|
|
39
|
+
"line-items": lineItemsCommand,
|
|
40
|
+
"promoted-tweets": promotedTweetsCommand,
|
|
41
|
+
cards: cardsCommand,
|
|
42
|
+
media: mediaCommand,
|
|
43
|
+
audiences: audiencesCommand,
|
|
44
|
+
"targeting-criteria": targetingCriteriaCommand,
|
|
45
|
+
"targeting-constants": targetingConstantsCommand,
|
|
46
|
+
"active-entities": activeEntitiesCommand,
|
|
47
|
+
stats: statsCommand,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG;QACT,WAAW,EAAE;;;;;;;;;;;;;;;;8GAgB6F;KAC3G;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,gBAAgB;QAC9B,iBAAiB,EAAE,qBAAqB;QACxC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,gBAAgB;QAC3B,oBAAoB,EAAE,wBAAwB;QAC9C,qBAAqB,EAAE,yBAAyB;QAChD,iBAAiB,EAAE,qBAAqB;QACxC,KAAK,EAAE,YAAY;KACpB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const lineItemsCommand: 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 "campaign-ids": {
|
|
8
|
+
readonly type: "string";
|
|
9
|
+
readonly description: "CSV of campaign IDs";
|
|
10
|
+
readonly required: false;
|
|
11
|
+
};
|
|
12
|
+
readonly "line-item-ids": {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly description: "CSV of line item IDs";
|
|
15
|
+
readonly required: false;
|
|
16
|
+
};
|
|
17
|
+
readonly "with-deleted": {
|
|
18
|
+
readonly type: "boolean";
|
|
19
|
+
readonly description: "Include deleted";
|
|
20
|
+
readonly required: false;
|
|
21
|
+
};
|
|
22
|
+
readonly "no-cache": {
|
|
23
|
+
readonly type: "boolean";
|
|
24
|
+
readonly description: "Skip cache";
|
|
25
|
+
readonly required: false;
|
|
26
|
+
};
|
|
27
|
+
readonly output: {
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
readonly description: "Format: json|csv|md";
|
|
30
|
+
readonly required: false;
|
|
31
|
+
readonly default: "json";
|
|
32
|
+
};
|
|
33
|
+
}>;
|
|
34
|
+
//# sourceMappingURL=line-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-items.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/line-items.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC3B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
import { registerSchema } from "../../../schemas.js";
|
|
3
|
+
import { resolveXAccountId } from "./output.js";
|
|
4
|
+
import { runListCommand } from "./run-list.js";
|
|
5
|
+
registerSchema({
|
|
6
|
+
command: "ads.x.lineItems",
|
|
7
|
+
description: "List line items (ad groups) for an X Ads account. Returns bid, product_type, objective, placements, schedule. Filter by campaign-ids or line-item-ids (CSV).",
|
|
8
|
+
args: {
|
|
9
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
10
|
+
"campaign-ids": { type: "string", description: "CSV of campaign IDs", required: false },
|
|
11
|
+
"line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
|
|
12
|
+
"with-deleted": { type: "boolean", description: "Include deleted", required: false },
|
|
13
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
export const lineItemsCommand = defineCommand({
|
|
17
|
+
meta: {
|
|
18
|
+
name: "line-items",
|
|
19
|
+
description: `List X Ads line items (ad groups).
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
baker ads x line-items --account-id 18ce53xyz --campaign-ids abc
|
|
23
|
+
baker ads x line-items --account-id 18ce53xyz --with-deleted`,
|
|
24
|
+
},
|
|
25
|
+
args: {
|
|
26
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
27
|
+
"campaign-ids": { type: "string", description: "CSV of campaign IDs", required: false },
|
|
28
|
+
"line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
|
|
29
|
+
"with-deleted": { type: "boolean", description: "Include deleted", required: false },
|
|
30
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
31
|
+
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" },
|
|
32
|
+
},
|
|
33
|
+
run: async ({ args }) => {
|
|
34
|
+
const accountId = await resolveXAccountId(args);
|
|
35
|
+
const useCache = !args["no-cache"];
|
|
36
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
37
|
+
const cacheKey = `line-items:${accountId}:${today}:${args["campaign-ids"] ?? ""}:${args["line-item-ids"] ?? ""}:${args["with-deleted"] ? "1" : "0"}`;
|
|
38
|
+
await runListCommand({
|
|
39
|
+
path: "/api/ads/x/line-items",
|
|
40
|
+
cacheCategory: "x-account-data",
|
|
41
|
+
cacheKey,
|
|
42
|
+
cacheTtlMs: 60 * 60 * 1000,
|
|
43
|
+
params: {
|
|
44
|
+
"account-id": accountId,
|
|
45
|
+
"campaign-ids": args["campaign-ids"],
|
|
46
|
+
"line-item-ids": args["line-item-ids"],
|
|
47
|
+
"with-deleted": args["with-deleted"] ? "true" : undefined,
|
|
48
|
+
},
|
|
49
|
+
format: args.output || "json",
|
|
50
|
+
accountId,
|
|
51
|
+
useCache,
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=line-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-items.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/line-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const mediaCommand: 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 "media-type": {
|
|
8
|
+
readonly type: "string";
|
|
9
|
+
readonly description: "IMAGE | GIF | VIDEO";
|
|
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=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/media.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAkDvB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
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.media",
|
|
10
|
+
description: "List media assets in the X Ads media library (images, GIFs, videos). Filter by media-type (IMAGE, GIF, VIDEO).",
|
|
11
|
+
args: {
|
|
12
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
13
|
+
"media-type": { type: "string", description: "IMAGE | GIF | VIDEO", required: false },
|
|
14
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
export const mediaCommand = defineCommand({
|
|
18
|
+
meta: {
|
|
19
|
+
name: "media",
|
|
20
|
+
description: `List media assets in the X Ads media library.
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
baker ads x media --account-id 18ce53xyz
|
|
24
|
+
baker ads x media --account-id 18ce53xyz --media-type VIDEO`,
|
|
25
|
+
},
|
|
26
|
+
args: {
|
|
27
|
+
"account-id": { type: "string", description: "X Ads account ID", required: false },
|
|
28
|
+
"media-type": { type: "string", description: "IMAGE | GIF | VIDEO", required: false },
|
|
29
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false },
|
|
30
|
+
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" },
|
|
31
|
+
},
|
|
32
|
+
run: async ({ args }) => {
|
|
33
|
+
const accountId = await resolveXAccountId(args);
|
|
34
|
+
const useCache = !args["no-cache"];
|
|
35
|
+
const cacheKey = `media:${accountId}:${args["media-type"] ?? "ALL"}`;
|
|
36
|
+
if (useCache) {
|
|
37
|
+
const cached = cacheGet("x-account-data", cacheKey);
|
|
38
|
+
if (cached) {
|
|
39
|
+
writeAdsJson({ ok: true, data: cached.data, cached: true });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const params = { "account-id": accountId };
|
|
45
|
+
if (args["media-type"])
|
|
46
|
+
params["media-type"] = args["media-type"];
|
|
47
|
+
if (!useCache)
|
|
48
|
+
params["skip-cache"] = "true";
|
|
49
|
+
const data = await apiGet("/api/ads/x/media-library", params);
|
|
50
|
+
if (useCache) {
|
|
51
|
+
cacheSet("x-account-data", cacheKey, data, 6 * 60 * 60 * 1000);
|
|
52
|
+
}
|
|
53
|
+
const format = args.output || "json";
|
|
54
|
+
if (format !== "json") {
|
|
55
|
+
writeAdsOutput(data, format);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
writeAdsJson({ ok: true, data });
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
if (err instanceof ApiError) {
|
|
62
|
+
writeAdsJson(parseXApiError(err.message, accountId));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../../src/commands/ads/x/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface XAccountInfo {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
approval_status?: string;
|
|
5
|
+
timezone?: string;
|
|
6
|
+
currency?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Resolve an X Ads account_id from either --account-id, BAKER_X_ADS_ACCOUNT_ID, or
|
|
10
|
+
* (if exactly one account is connected) auto-detect.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveXAccountId(args: Record<string, unknown>): Promise<string>;
|
|
13
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/x/output.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiBD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDtF"}
|