Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 20:48
· 15 commits to main since this release
2148eb4

Changelog

New features

  • 7273547 feat(agents): allow dashboard token override via RC_AGENT_AUTH_TOKEN
  • a929438 feat(api): error-type predicates + fix rate-limit exit code (#122)
  • 1694e03 feat(api): generate types from OpenAPI spec via oapi-codegen
  • 35976c7 feat(api): model store-state response + capture raw_store_status (#125)
  • ac5f6af feat(api): send version + platform in User-Agent on every API request
  • 3777276 feat(apple): ask before touching a fully configured app
  • ec07628 feat(apps): add Apple setup dry run
  • dd770de feat(apps): configure Apple credentials
  • 988c060 feat(apps): confirm before setting the fetched vendor number
  • 36c6840 feat(apps): consume the new App read-model fields
  • 20b9039 feat(apps): explain Apple credential handling
  • 61ac4ed feat(apps): explicit per-key decisions in apple setup
  • 093d9ce feat(apps): export StoreKit configuration
  • b43f200 feat(apps): fetch the vendor number from Apple during setup
  • 78cd9da feat(apps): narrate each key apple setup creates
  • 1973149 feat(apps): offer to create the App Store Connect app in setup
  • e38ba68 feat(apps): plan, narration, and vendor number in apple setup
  • 6c69cac feat(apps): surface Apple credential readiness in list/show
  • 9d25f3f feat(apps): surface the human-only nature of apple setup
  • 3919879 feat(auth): add agentic signup
  • eb7e946 feat(auth): import RevenueCat credential from an agent's MCP config
  • 5b35dac feat(auth): name the active credential's source in auth status (#114)
  • b16ba41 feat(auth): store credentials in the OS keyring, not a plaintext file
  • ee55071 feat(bootstrap): add project creation and richer app setup
  • 9c03486 feat(bootstrap): complete SDK-ready catalog setup
  • e4b60eb feat(cli): add packages list, products create, api passthrough, schema caps
  • 817f01e feat(cli): add rc skills — browsable workflow guides installable as Claude Code commands
  • 93daba6 feat(cli): add requireID pattern for interactive resource pickers
  • bdd480d feat(cli): bare rc shows getting-started help and the full command surface (#59)
  • e738207 feat(cli): decide() primitive for branching choices
  • b188c82 feat(cli): onboarding surface — scoped commands, rc capital, hardened setup
  • 09bd2cd feat(cli): tag v2 API requests with usage-analytics headers (#129)
  • e207e21 feat(cli): wire requireID pickers into packages and products commands
  • 4eceb70 feat(codegen): merge a hand-maintained beta spec overlay for store_state (#64)
  • c172986 feat(config): per-directory project binding via .revenuecat.json (#117)
  • 67e32d9 feat(customers): surface active entitlements from simulate-purchase (#145)
  • 01477a0 feat(design): consolidate the design system and enforce its boundaries
  • 35ad435 feat(dist): publish the CLI to npm
  • f1ceb1f feat(google): OAuth + Cloud/Play bootstrap library (#141)
  • 9c6c447 feat(open): rc open deep-links the dashboard
  • 7e7c8a9 feat(output): RevenueCat brand palette and output rhythm
  • 4ea2a42 feat(output): answer receipts for interactive prompts
  • 6144d59 feat(output): guided-command pattern
  • b829fd7 feat(output): humanize all structured output; audit-driven design pass
  • 2ca808e feat(output): orient guided flows with a Lead paragraph
  • ef74788 feat(output): surface recovery hints to agents in --json errors
  • ce1ad03 feat(paywalls): add --standalone to paywalls generate
  • 52a3efb feat(paywalls): add AI generate/edit via Astra
  • d3c8878 feat(paywalls): add attach and detach commands
  • e7788bb feat(paywalls): add unpublish command
  • 9ce123d feat(paywalls): persist AI designs to the RevenueCat draft
  • 1350d4f feat(paywalls): show an offering picker on generate when omitted in a TTY
  • 226f0ab feat(paywalls): standalone create, duplicate-offering, edit/attachment polish
  • bb47f0c feat(paywalls): store session files and screenshots in the CLI data dir
  • 2c8f986 feat(products): add persisted store plan workflow
  • 8510968 feat(products): live store readiness after apply + price equalization (#126)
  • a11d04a feat(products): read live store state in products show
  • 43f8f20 feat(products): sync store state from CSV
  • 3c46046 feat(rico): absolute clickable dashboard URLs
  • c07c3c1 feat(rico): add --resume conversation picker
  • dde9d6d feat(rico): add Rico AI assistant commands
  • 1560a9b feat(rico): full-screen chat window
  • 8cf4943 feat(rico): linkify bare dashboard paths in chat
  • 5232ce8 feat(rico): polish chat window and add --continue
  • 6d0b16c feat(rico): relative last-activity times in picker and list
  • 308973d feat(schema): rc commands --schemas — whole surface in one call
  • 16935a5 feat(setup): add agentic catalog verification
  • e56db53 feat(setup): complete Test Store bootstrap primitives
  • 149aa6a feat(setup): guided agent-driven onboarding entry point
  • dd64ab8 feat(setup): guided rail + rc setup google on it (#139)
  • 7983d25 feat(setup): platform-aware stages — Android apps get the Play path
  • 84bc281 feat(setup): promote apple setup to rc setup apple (#143)
  • b58511a feat(setup): put rc apps apple on the guided rail tier (#140)
  • 52c1e14 feat(setup): put rc setup on the guided rail (#144)
  • a89003c feat(setup): rc setup google — bootstrap Google Play credentials (#135)
  • 0db3606 feat(setup): stage-aware prompts — rc setup always hands over the next step
  • a1884ff feat(skills): add copy-ready starter prompts
  • 05f5a5a feat(skills): explain discovery and triggering
  • 2aafb64 feat(skills): support branch installs
  • 28ffdc4 feat(specs): add OpenAPI spec snapshots and weekly sync workflow
  • 72b7762 feat(specs): deep diff with severity levels and CLI coverage map
  • b517b04 feat(store-state): plan recovery and error guidance from agent feedback
  • 0b1d4a7 feat(store-state): surface App Store submission requirements
  • 8f3b89c feat(store-state): upload real App Review screenshots
  • fe9da8a feat(tui): brand the browser, prompts, and pickers
  • 0692c00 feat(tui): interactive stack-based browser for list/show commands
  • 76a6953 feat(tui): step ledger primitive (#138)
  • 2b42381 feat(tui): table mode, embedded chart viewer, and browser quality fixes
  • d78f101 feat: add rc update command and install.sh for Xcode-free install
  • 256615e feat: install the command as both rc and revenuecat (#149)

Bug fixes

  • adaba6b fix 409 conflict check when no offering-id
  • 41c4f05 fix api key URL to point to projects page
  • 5ad70a0 fix media asset format fields to use pointers for dimensions
  • b9caaa6 fix media asset format fields to use pointers for dimensions
  • 834b96d fix offering-id hint when Astra echoes null
  • 4e75940 fix(agents): drop the RC_AGENT_AUTH_TOKEN escape hatch
  • f0e0a6d fix(api): align customer and subscription paths with v2 docs
  • a54cbae fix(api): align grant, webhooks, and required inputs with the v2 spec
  • 5c64270 fix(api): correct SetAttributes body shape and OverrideOffering path
  • 634e975 fix(api): correct store-state screenshot upload path (#70)
  • 3221bb0 fix(api): wire --duration flag through to product create subscription field
  • de3169e fix(apple): create ASC apps via the modern iris API
  • d31c685 fix(apple): lead names App Store Connect too
  • fc937e0 fix(apple): make the credential notice name its referents
  • 861db8f fix(apple): make the credential privacy statement unmissable
  • cef85fb fix(apple): name the service — App Store Connect, not 'Apple'
  • fdb3175 fix(apple): register bundle IDs through the Developer Portal
  • cb2bb88 fix(apple): state that Apple credentials are never saved
  • 7bdba28 fix(apple): tighten setup status and plan copy
  • 91f9ffc fix(apple): use the modern portal provisioning API for bundle IDs
  • fc0d47e fix(apps apple): non-fatal key creation that explains Apple's key limits (#112)
  • 28b8f62 fix(apps): --json/--no-input correctness for create + apple setup key labels (#121)
  • 8d3d66c fix(apps): allow verify-only apple setup runs
  • 09dd8e5 fix(apps): don't let App Store app-record setup abort Apple key setup (#98)
  • ba3fd03 fix(apps): drop mac_app_store from create (dashboard-only, no API to enable) (#107)
  • 6f40992 fix(apps): explain when apple setup has nothing to create
  • d2ddb03 fix(apps): human-readable apple setup output
  • 778b2cc fix(auth): bounds-check MCP credential selection index
  • e0eb489 fix(auth): clear saved project when credentials change
  • 16ed663 fix(auth): drop internal "identity is not cached" line from auth status (#104)
  • 59dd6af fix(auth): hide structured output in human mode
  • 17bb73e fix(auth): improve interactive signup UX
  • 0c73e21 fix(auth): polish signup prompts and handoff
  • 5d971f2 fix(auth): recommend Keychain storage
  • 1153037 fix(auth): request full CLI OAuth scope
  • 11c9090 fix(auth): save generated password without prompt
  • bc2db7d fix(auth): send signup CSRF header
  • 4bed4ef fix(auth): show cached account identity
  • e8fdaf8 fix(auth): stop RC_API_KEY from shadowing an OAuth login (DX-940) (#97)
  • 032305d fix(auth): store passwords through Keychain Services
  • 4b4c8e1 fix(auth): use native macOS Keychain API
  • 0dea9d3 fix(auth): validate MCP token before clearing project / move recovery to hint
  • e200f5b fix(auth): validate imported MCP token before saving it
  • aec3894 fix(auth): validate the API key on login before saving
  • de90ada fix(benchmarks): remove rc benchmarks — endpoint deleted from the API (#63)
  • 0e26831 fix(catalog): align package and product endpoints with v2 docs
  • 487c879 fix(ci): add oapi-codegen go.sum entries so make gen runs
  • ce6e1e7 fix(ci): repoint spec-sync at current OpenAPI URLs and regenerate types (#62)
  • c598eb8 fix(cli): --no-input errors instead of silently picking a select's first option (#106)
  • 82690e3 fix(cli): derive capabilities from the command tree (DX-918) (#95)
  • 82c5675 fix(cli): give paywall AI run-failed errors an actionable hint (#87)
  • 9cf6896 fix(cli): guard rc browse against non-interactive contexts
  • a77b973 fix(cli): make customers the canonical command, customer an alias (#108)
  • cf88f48 fix(cli): make products create store-aware (--type / --duration / --title) (DX-920) (#99)
  • 9f5c310 fix(cli): map HTTP 4xx/5xx to semantic exit codes in rc api
  • 786b624 fix(cli): render ISO durations as human text in TTY output (DX-916) (#94)
  • 8448162 fix(cli): stop rico chat from garbling input on launch (#88)
  • 4a8e4a8 fix(cli): strip only the proj prefix in dashboardProjectID (DX-933) (#93)
  • a19dae7 fix(cli): unify --help + home screen grouping (group on the command) (#103)
  • 5bcbdb6 fix(cli): unknown subcommands error with exit 2 instead of silent help (#109)
  • fb443e4 fix(cli): use command context in silentRefresh and pickProjectInteractive
  • e29b252 fix(config): don't persist ephemeral env overrides on save
  • 4474c16 fix(config): reject unsafe profile names
  • 204056a fix(config): scope keyring entry to config dir, not profile name alone
  • 1ac1f84 fix(config): store profiles under ~/.config/revenuecat everywhere
  • a43bd8c fix(lint): remove unused packagePickerItems (U1000)
  • d905d54 fix(output): adopt the terminal color standard
  • 8859b29 fix(output): distribute education onto field annotations
  • 6bb6487 fix(output): don't silently swallow the --json error encode failure
  • c62ab22 fix(paywalls): error on a missing draft revision instead of sending 0 (#123)
  • 3ebf12c fix(paywalls): explain the beta gate on publish/unpublish 404s
  • d5bc68d fix(paywalls): keep one Astra session across edit turns (DX-939) (#96)
  • bcbdfae fix(paywalls): lowercase error strings (staticcheck ST1005)
  • 8119f99 fix(paywalls): make picker labels distinguishable (#78)
  • d7092e3 fix(paywalls): note that restore buttons are hidden in preview screenshots
  • 1b7bc7e fix(paywalls): remove redundant restore note from group help
  • 36bb6eb fix(paywalls): strip the .paywall.json suffix for screenshot base names
  • 7d17aa1 fix(paywalls): working live Astra runs
  • 810828d fix(release): add branch: main to homebrew tap config and fix test syntax
  • 6ab9947 fix(release): fix GoReleaser v2 deprecations for v0.1.0
  • 9b3ce6e fix(release): revert homebrew → brews (homebrew key doesn't exist in v2)
  • 26847b5 fix(rico): altscreen resume picker and live activity indicator
  • 0c71156 fix(rico): list all conversations in --resume picker
  • 11e664c fix(rico): message spacing and live markdown in chat
  • 92d2247 fix(setup): classify the project directory and find a single app one level down (#116)
  • 50a2524 fix(setup): drop dead appName assignment (staticcheck SA4006)
  • 7eb422b fix(setup): reframe account signup as user-consented in the handback note (#115)
  • de8d3bf fix(setup): resolve auth before the agent gets the terminal, pin agents to the CLI
  • 25b5d42 fix(skills): avoid unsupported global targets
  • 79ee165 fix(skills): install for supported agents
  • 7159468 fix(skills): isolate global installs
  • 80968e5 fix(skills): make core install effortless
  • 1a0b0a5 fix(skills): separate install and prompts
  • ce41743 fix(skills): test-store-ready prompt states the user outcome
  • ff41a13 fix(specs): classify type changes as critical in spec diffs
  • f7fab37 fix(store-state): show conflicting values in CSV merge errors
  • 1205641 fix(tui): add project-scoped web URLs to all browser items
  • 9584895 fix(tui): address review findings on the browser
  • b50a120 fix(tui): prompts own their spacing
  • 50fe617 fix(tui): rebuild the form theme from the neutral base
  • 05c5206 fix(tui): replace bordered link buttons with plain cursor-style list
  • a058638 fix(tui): strip proj_ prefix from project ID in dashboard web URLs
  • 50f5e2c fix: add symlink check to install.sh for defense-in-depth
  • a3a9fb7 fix: address Copilot review comments on rc update and install.sh
  • 352c738 fix: address PR review feedback
  • ff4464b fix: address fourth round of Copilot review comments
  • 42661ed fix: address fourth round of Copilot review comments
  • 01af9f3 fix: address remaining Copilot review comments
  • 6d31f9b fix: address second round of Copilot review comments
  • 9d98094 fix: address spec-codegen review findings
  • e02e3eb fix: address third round of Copilot review comments
  • 9e836e6 fix: close error on extracted binary, portable mktemp in install.sh
  • ab98261 fix: correct HTTP status handling, product type validation, and auth comment
  • 6be6d0f fix: foundation robustness (BaseURL, exit codes, pagination)
  • acd96ef fix: gofmt oauth.go and add --project-id global flag
  • a0b44ce fix: linter errors and security vulnerabilities
  • 7823e7f fix: remove unused stream function
  • c894025 fix: wire --quiet, store cmd context in Runtime, remove dead code

Other

  • 5ad04e7 Add Roadmap section to README
  • d158420 Add apps, customer tail, catalog archive/attach/push verbs, packages CRUD
  • 97194a3 Add cookbook, refresh README, lock JSON-error and schema contracts with tests
  • 3de7186 Add docs/plan.md: phased UX plan with decisions locked in
  • 53d54ea Add subscriptions, purchases, invoices, webhooks, paywalls, charts, metrics, audit, benchmarks
  • f16e3c0 Add test foundation, gofmt cleanup, real --no-color fix, and CI checks
  • 4b4281e Apply structured docs template to ~17 destructive + paired verbs
  • b24fcd9 Document release process in README and CONTRIBUTING
  • 29488ff Expand README dev section: setup, dev loop, real-API testing, fixture capture
  • 64dfb36 Fix CI: add --project-id global flag, include inherited flags in schema
  • 89451ea Fix JSON error envelope + complete rc schema + add Long/Example help
  • a5a27f2 Fix code review issues before public launch
  • 349d329 Fix misleading comments and version mismatch
  • a145026 Fix pre-commit hook: activate mise shims so go is in PATH
  • a8fae20 Fix stale /auth/beta/token comment → /oauth2/token
  • 4484ae0 Fix staticcheck failures and switch OAuth to /oauth2/* endpoints
  • a9ffe93 Initial commit
  • c49bb59 Initial commit: hand-crafted RevenueCat v2 CLI scaffold
  • a4096e3 Introduce rc auth namespace: login, logout, status
  • 01b1867 Make rc rico the agent command (drop rc rico chat) (#83)
  • b28b3fb Make rc setup discoverable in help, home, and README (#91)
  • 4e43175 Merge branch 'pr-01-foundation' into pr-02-auth-tui
  • 51bd2c1 Merge branch 'pr-01-foundation' into pr-02-auth-tui
  • 0bac67f Merge branch 'pr-01-foundation' into pr-02-auth-tui
  • d7c6d93 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 280efdb Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 64fcec5 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 045ab26 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 318fdaa Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 4034de1 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
  • 43a0aab Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • 10d02aa Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • 1b5efc1 Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • c2b0a7b Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • 1ea8fc8 Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • 5dfa33b Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
  • e3dcecb Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • af1ed51 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • 80901d1 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • dee4f7c Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • 6b00689 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • e416117 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
  • dc956d0 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • 30ab6fd Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • 73deb53 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • 230fb86 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • d86ce5d Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • b05c949 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
  • 1ac6e6f Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • a6a98fc Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • ac6fd9a Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • afcd727 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • 8648749 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • 30b0a50 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
  • 3811585 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 8e81000 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • c9f3ac3 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • e9fd57d Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • ba9fc7a Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 37ddb66 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 7651209 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • ddc84f2 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • f4a0bbb Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 46079f9 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 64e8cd2 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 0c9e10d Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 4fc10cf Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • fcf7878 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 0b1fe1b Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • d8fbdb1 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 79e8575 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 40496ec Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • cda953a Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • b790b1c Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • d5beccb Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • e6acbfa Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 5ce9050 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 5bb8d88 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 2f47551 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 0cd13f7 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 00186e4 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 77d01ea Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • d40c6c2 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • c15b978 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • c35fdf2 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 390ac80 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • a9f781f Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 6576879 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • d289b51 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 2056aea Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 84c2fcb Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 21c7f87 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • e23d96b Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • d2c7b1a Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
  • c97bbe2 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 8f5eaf3 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 2327918 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 2eaa1cb Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 62d65fc Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 43227dc Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 44bb83b Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • e742c56 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • ca749c7 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
  • 3270098 Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 326605d Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 537d270 Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 916a11c Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 93a37ed Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 439fe2b Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 1eb2769 Merge branch 'pr-14-npm-distribution' into pr-15-design
  • e1c2b1d Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 1ed36a8 Merge branch 'pr-14-npm-distribution' into pr-15-design
  • 95f5a9f Merge branch 'pr-15-design' into pr-16-store-submission
  • 2bbcea9 Merge branch 'pr-15-design' into pr-16-store-submission
  • 02252b9 Merge branch 'pr-15-design' into pr-16-store-submission
  • 73667aa Merge branch 'pr-15-design' into pr-16-store-submission
  • a077c6f Merge branch 'pr-15-design' into pr-16-store-submission
  • 52fc3ed Merge branch 'pr-15-design' into pr-16-store-submission
  • 5d0655b Merge branch 'pr-15-design' into pr-16-store-submission
  • 7e46281 Merge branch 'pr-15-design' into pr-16-store-submission
  • 185d07c Merge branch 'pr-15-design' into pr-16-store-submission
  • a7e926d Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • a813c3f Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • e37e0da Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • 9a623bb Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • ec44769 Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • eeea6b7 Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • 0a206c2 Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • 3dcaf19 Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • 452e9f2 Merge branch 'pr-16-store-submission' into pr-17-store-direct
  • 43d613f Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • f0094a0 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • f526b64 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • d5f8e0c Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 48204c5 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 3d695a4 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • c56c78f Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 3f940e6 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 6b7e329 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 01fa179 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
  • 426cbe4 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • a006190 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 8894e24 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 44d5188 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • ec50376 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • b22c887 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 8a00b41 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 75477fb Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 394ed4a Merge branch 'pr-18-agent-dx' into pr-19-setup
  • 0ad3f22 Merge branch 'pr-18-agent-dx' into pr-19-setup
  • e33b348 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • dc2f9d2 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • 1cc7330 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • 86952b3 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • 5b0eb47 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • af49060 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • a7ef6b2 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • f3baa4a Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • ef7592f Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • a3d1097 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
  • dea79e4 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • ce8490e Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 6263ab5 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • c249d99 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 95c80f3 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 5f46b65 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 4510af0 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 52407d6 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 1e5483b Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • be117b6 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
  • 1318ad5 Merge branch 'pr-21-decide' into pr-22-paywalls
  • d14a958 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 862cba3 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 122d8e8 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 01fb75e Merge branch 'pr-21-decide' into pr-22-paywalls
  • 4f746cc Merge branch 'pr-21-decide' into pr-22-paywalls
  • 3975af9 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 9269613 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 01ad582 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 7d9296b Merge branch 'pr-21-decide' into pr-22-paywalls
  • c6f6b43 Merge branch 'pr-21-decide' into pr-22-paywalls
  • 83ddb6f Merge branch 'pr-23-mcp-import' into pr-24-ci-security
  • ed4ef58 Merge branch 'pr-23-mcp-import' into pr-24-ci-security
  • 50dd3bf Merge branch 'pr-23-mcp-import' into pr-24-ci-security
  • 457883c Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
  • 2e94b64 Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
  • 2885488 Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
  • b80976b Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
  • f0c2ea1 Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
  • 11d4e68 Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
  • 2964399 Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
  • 7c22fa3 Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
  • c804b7a Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
  • faf1753 Merge branch 'tmp-pr100' into popcorn/pwai-348-steer-ai-agents-from-command-descriptions
  • 61b86ea Merge pull request #101 from RevenueCat/popcorn/pwai-348-steer-ai-agents-from-command-descriptions
  • 5f0fc3d Merge pull request #110 from RevenueCat/popcorn/pwai-357-restore-link-visibility
  • 7ec4144 Merge pull request #111 from RevenueCat/pwai-351-allow-attaching-and-detaching-offerings-to-paywalls-via-cli
  • 9ecfe4a Merge pull request #36 from RevenueCat/pr-22-paywalls
  • 3498c7c Merge pull request #41 from RevenueCat/pr-27-doc-cleanup
  • 9f1eae9 Merge pull request #44 from RevenueCat/popcorn/pwai-282-remove-rc-paywalls-create-generate-is-the-only-way-in
  • 5cd8de8 Merge pull request #48 from RevenueCat/dependabot/go_modules/go-dependencies-8e2838caef
  • f3fc130 Merge pull request #49 from RevenueCat/popcorn/pwai-290-land-joshs-dropped-astra-wording-cleanup-on-main
  • 6e65875 Merge pull request #50 from RevenueCat/popcorn/pwai-288-paywalls-edit-cli-silently-clobbers-draft-changes-made-in
  • df704fa Merge pull request #51 from RevenueCat/popcorn/pwai-281-rc-login-points-to-a-dead-api-keys-url
  • f442cda Merge pull request #52 from RevenueCat/popcorn/cli-paywall-screenshot-verify
  • 88be6cc Merge pull request #57 from RevenueCat/joshholtz/dx-860-decide-on-offering-picker-for-paywalls-generate-add-it-or
  • 89a5394 Merge pull request #60 from RevenueCat/dependabot/go_modules/go-dependencies-9eda01c76a
  • 51e61be Merge pull request #65 from RevenueCat/popcorn/pwai-294-upload-media-assets-from-the-cli-via-the-v2-media_assets
  • 74108ef Merge pull request #66 from RevenueCat/popcorn/pwai-297-wire-up-font-upload-in-the-rc-cli
  • 11fae7f Merge pull request #73 from RevenueCat/joshholtz/dx-api-paths-from-spec
  • d959b4e Merge pull request #76 from RevenueCat/popcorn/pwai-346-list-fonts-from-the-cli-rc-fonts-list
  • 9daf741 Merge remote-tracking branch 'origin/main' into tmp-pr100
  • 680a650 Merge remote-tracking branch 'origin/popcorn/pwai-294-upload-media-assets-from-the-cli-via-the-v2-media_assets' into popcorn/pwai-297-wire-up-font-upload-in-the-rc-cli
  • 2470f5f Merge remote-tracking branch 'origin/pr-01-foundation' into pr-02-auth-tui
  • dc1d826 Merge remote-tracking branch 'origin/pr-02-auth-tui' into pr-03-docs-tooling
  • 57b4b1e Merge remote-tracking branch 'origin/pr-03-docs-tooling' into pr-04-release-tooling
  • 06732b3 Merge remote-tracking branch 'origin/pr-04-release-tooling' into pr-05-update-install
  • f0ebeb6 Merge remote-tracking branch 'origin/pr-05-update-install' into pr-06-tui-browser
  • 27a26ea Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
  • 6e087ea Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
  • ad7fb6e Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
  • 3f1036d Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
  • 6cfed27 Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
  • 90086ea Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
  • c7b1a8a Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
  • 6764d40 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 4f0c3d3 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • c5dd1bc Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 2d0bcb4 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • c7e7e6c Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • e59364f Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
  • 6052b16 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 96ea29b Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 79b50b9 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 81d3cb1 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • caf8a4a Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • 4187f9f Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
  • b28fd86 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 89a07cf Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • aab9750 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • ff73492 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 6d280f4 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 98a7888 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • eec0103 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
  • 11610f0 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • c59aaaf Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 9898398 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • b1b0b98 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 3d59085 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • bcf3104 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • c868d56 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
  • 92f8631 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • cd2cf3b Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 9eb6e9f Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 95ccab0 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • d8bb9f1 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • f5855d1 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 81b0d5f Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
  • 6a0c9d6 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 0f7b12c Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 723f252 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 04e5535 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 7cffa5b Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • fbe8276 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • a421ca1 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 9d9009c Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
  • 7ccf7f4 OAuth login, interactive chart TUI, ETag caching, filterable project picker
  • 9abca42 Phase 1: --format via gojq, actionable error hints, rc profiles, pretty customer show
  • 2f9e950 README: clarify rc projects use supports both single and multi-project workflows
  • 8e9afa0 README: number quick start steps to make login+project required
  • 61bbdd1 Redesign rc setup: defer Apple, cleaner stepped flow (#86)
  • 13020d5 Replace manual pre-commit script with lefthook
  • 2a0f9fc Revert "style: gofmt with go1.27 (CI toolchain bumped to 1.27)"
  • 961af2f Rewrite README for public audience; expand CONTRIBUTING with dev setup
  • 3a28c13 Security and correctness fixes for OAuth and agent contract
  • d5f7da8 Send custom HTTP headers on every request via RC_HEADERS (#71)
  • 34e522e Setup quick wins: session name, Auto autonomy, skills nudge (#89)
  • c0142fd Stop listing Rico state files as phantom profiles (#85)
  • 5cf7f5b Style command help and collapse repeated global flags (#82)
  • f2a937f add font upload command
  • eec5dc1 add fonts list command
  • 0a14800 add media-assets list command
  • b25a2bc add media-assets upload command
  • 3a8c3e0 add media-assets upload command
  • 7af59ad align EditorRequest struct fields
  • 52a2551 always seed revision from server in seedSessionFromServer
  • 797fd41 chore(deps): bump github.com/oapi-codegen/runtime (#130)
  • bebbcbd chore(deps): bump github.com/spf13/pflag in the go-dependencies group
  • 56f06f0 chore(deps): bump kin-openapi to v0.144.0 (Wiz critical)
  • dccd2d3 chore(deps): bump the go-dependencies group with 8 updates
  • df9747e chore(spec): resync v2 snapshot to current + regenerate types (#68)
  • e8a3199 chore(specs): update cli-coverage.yaml to match actual implementation
  • 2148eb4 ci(release): harden npm publish (provenance + idempotent skip) (#150)
  • 9a69ce5 clean up agents_test
  • 9055f30 cli: bare rc shows a getting-started screen (#81)
  • efff1e6 cli: shared pagination helper for list commands (#80)
  • a831865 consolidate test helpers and move them to top
  • d70afa2 docs(auth): document agentic Keychain signup
  • 4ed7666 docs(auth): show agentic Keychain signup
  • 45fd2a5 docs(cli): normalize all command help to RevenueCat's product voice (#61)
  • b6c0329 docs(paywalls): honest messaging about design persistence
  • 6ee6de3 docs(previews): render the apple setup golden
  • eb7b7f2 docs(readme): add packages, products, rc api, and rc skills to README
  • a681ec0 docs(skills): explain install and triggering
  • 90801ab drop internal codename from test error message
  • f58ac94 drop null-revision test
  • edcc518 hint to republish after attach if paywall was published
  • 7e318c2 media-assets: simplify asset URL wording in upload help
  • a2f10f7 move confirmOrAbort decline detail to rt.Out hint
  • 675597a move start-fresh hint to rt.Out in loadAstraSession
  • cc3a768 null-revision and generate conflict coverage
  • c8dda83 output full asset URL in upload hint
  • 0fdb229 output full asset URL in upload hint
  • 4028be2 pass projectID into seedSessionFromServer
  • 1a00fd3 pass revision when attaching or detaching an offering
  • 476428c paywalls delete: guard attached/published paywalls behind --force
  • ee64ce4 paywalls edit: clarify screenshot feedback bullet
  • 2dc426d paywalls edit: drop speculative resend warning
  • 451cfc9 paywalls: add agent steering guidance to command descriptions
  • d1246d0 paywalls: add custom font upload guidance to generate/edit
  • ae33475 paywalls: add media asset upload guidance to generate/edit
  • 939eaab paywalls: drop direct-PATCH route for asset wiring, edit prompts only
  • 90f6eeb paywalls: interactive generate/edit picker on npx launches (#74)
  • 75c2844 paywalls: name generate/edit in over-prompting warning
  • a642a1b paywalls: simplify font wiring guidance
  • f376388 paywalls: soften iteration guidance
  • 1526b92 paywalls: survive a dropped editor stream (#79)
  • 7b594f8 paywalls: trim group help to workflow map, defer detail to subcommands
  • 1de94e9 preflight revision check on stale session files
  • 09ee7e8 refactor(api): fail make gen if preprocess fails; note singularize limits
  • fce3fff refactor(api): generate path builders from the spec
  • edbcafd refactor(api): use the generated pathProjects builder in ProjectsService
  • ce5c885 refactor(apps): defer small business dates
  • 9a336b2 refactor(apps): sign in to Apple before asking key decisions
  • 7741b84 refactor(apps): split Apple check and setup
  • 7c0bc6d refactor(auth): api-key recovery to a hint; trim validation comments
  • 52937be refactor(cli): one rt.CanPrompt() for the --json/--no-input/TTY gate (#120)
  • 6afe778 refactor(codegen): make the beta overlay path-only
  • d51e7ef refactor(paywalls): drop --standalone, make standalone the default
  • a356a54 refactor(paywalls): drop the "astra" codename from the Paywall AI CLI
  • 24b4153 refactor(paywalls): drop the reasoning comment on defaultPaywallSessionPath
  • 945ab1b refactor(products): keep workflows in the AI toolkit
  • c16bb4e refactor(rico): drop --continue in favor of --resume
  • d363869 refactor(skills): install toolkit globally by default
  • 67f4724 refactor(skills): one store-agnostic catalog sync prompt
  • 2fbbdae refactor(skills): use the official AI toolkit
  • 571a8d9 refine screenshot UX hints to emphasize iterating on design
  • 5408c0f refresh offering-id from server after persist
  • 126eb78 reject null-revision sessions at load time
  • aa5fb90 remove comment
  • 2729c87 remove paywalls create, generate is the only way in
  • b7a024d remove unnecessary comments
  • b26c02f remove unnecessary comments
  • 87c8b27 rename test to drop internal codename
  • 7a9fb66 revert: pull self-updater and install.sh from the train for now
  • ea3fb4f save result screenshots next to session file after each turn
  • f2d33dc security: pin GitHub Actions to SHA hashes
  • 2a4be01 show 409 hints via rt.Out instead of error message
  • 0ad3d67 simplify media assets tests
  • c70abb1 simplify media assets tests
  • 4942481 style(apple): normalize error messages
  • c38ebc6 test(api): fixture tests for all resources + CI gen idempotency check
  • 1c64ecd test(apple): snapshot the Apple setup opening
  • f10b87f test(apps): prove Apple check is read only
  • 39c98ba test(cli): add coverage for skills, api, schema capabilities, and new commands
  • a600efb test(cli): cover command-surface curation rules
  • b8c3a9b test(cli): cover decide() preset + no-input paths
  • ad80347 test(cli): mock OS keyring so tests never read the real keychain
  • ba8b884 test(output): golden snapshots and SVG preview gallery
  • 5b8d8d5 test(paywalls): cover attach/detach error hints and published-attach confirmation
  • 6d3ede7 test(setup): assert the launched Claude session gets -n (#105)
  • acc0d86 tighten comments
  • 7ab3ee7 tighten comments in screenshot save path
  • c8544d4 track fonts endpoints in spec coverage
  • 90bd492 trim RefreshesOfferingFromServer to just the generate half
  • 36a69b2 unify paywall creation via CreateFromComponents
  • ead466c update fonts spec comment
  • 963d757 use generated media asset types
  • 1e92222 use sentinel deeplink for API keys URL
  • 06f09aa use sentinel error for oversized media asset uploads
  • 8857218 use sentinel error for oversized media asset uploads