-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Scope3 SDK v2.0.0 - Persona-based API rebuild #114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
EmmaLouise2018
wants to merge
12
commits into
main
Choose a base branch
from
EmmaLouise2018/scope3-sdk-rebuild
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Complete rewrite of the Scope3 SDK to match the live v2 Agentic Platform API. - 3 persona-based APIs (buyer, brand, partner) with unified Scope3Client - REST and MCP adapters with Bearer token auth - 13 resource classes with full CRUD operations - 3 campaign types (bundle, performance, audience) - Bundle-based product discovery workflow - skill.md parser with bundled fallback for all 3 personas - CLI with --persona flag and commander.js - Webhook server with timing-safe auth and body validation - Input validation (validateResourceId) on all URL path parameters - 225 tests across 14 suites, all passing - Comprehensive docs (getting-started, buyer, brand, partner, CLI reference)
Remove old platform/partner workflow scripts and update-schemas.sh. Add new test scripts for buyer, brand, partner personas and a TypeScript SDK integration test. Update scripts README for v2.
Examples were using non-existent PlatformClient and outdated methods. Updated to use Scope3Client with persona-based configuration and correct resource methods. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `scope3 commands` to list all available commands at once - Add documentation link to main help output - Fix cli-reference.md to match actual CLI syntax (positional args, kebab-case) - Add Quick Start section to docs - Add YAML output format documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The build script now runs chmod +x on dist/cli/index.js so users can run ./dist/cli/index.js directly during development. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Group commands in `scope3 commands` by persona (buyer, brand, partner) with descriptions for each persona type and visual separators. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove Commander default values so config file settings take precedence - CLI flags still override config when explicitly passed - Add Quick Start section to help output - Show helpful hint when options passed without a command - Improve option descriptions to show defaults in help text Fixes issue where `scope3 config set environment staging` was ignored because Commander's default 'production' always took precedence. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix table output to properly parse API response structure
- Handle { data: [...], meta: { pagination } } responses
- Handle nested responses { data: { campaigns: [...], total } }
- Show item columns (id, name, status, etc.) instead of raw JSON
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Handle API responses like { data: {...}, error } from create/update
operations by extracting and displaying the data object fields.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace outdated changesets (referencing PlatformClient/PartnerClient) with accurate changeset describing the actual v2.0.0 architecture: - Unified Scope3Client with persona parameter - CLI with config, commands, and persona support - Migration guide from v1 Scope3AgenticClient Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rewrite TESTING.md to match v2.0.0 architecture (removed stale Simple Media Agent references) - Fix brand-guide.md pagination example to use take/skip instead of non-existent cursor API Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CLI demo: https://www.loom.com/share/2d81ef722e71484d978de208f08bffd5
Summary
Complete rebuild of the Scope3 SDK to match the live v2 Agentic Platform API. Replaces the old OpenAPI-generated code with a hand-crafted, persona-based TypeScript client.
Scope3Clientapi_calltool--personaflag, config management, and all resource commandsvalidateResourceIdon all URL path params,sanitizeForLoggingwith depth limits and proto-key filtering, Promise caching for race conditionsBreaking Changes
personain client configAuthorization: Bearerheader (wasx-scope3-api-key){ data, pagination, error }(was flat)api_calltool (was per-resource tools)Test plan
npm run type-check— 0 errorsnpm run lint— 0 errorsnpm run build— cleannpm test— 14 suites, 225 tests, all passingscope3 --persona buyer advertisers listscope3 --persona brand brands listscope3 --persona partner health