Skip to content

fix: improve organization capabilities detection for plan variants#787

Closed
dacoburn wants to merge 584 commits intomainfrom
doug/fix-plan-detection
Closed

fix: improve organization capabilities detection for plan variants#787
dacoburn wants to merge 584 commits intomainfrom
doug/fix-plan-detection

Conversation

@dacoburn
Copy link
Contributor

Improves the detection with variants in the capabilities for organizations

jdalton and others added 30 commits October 6, 2025 09:02
Convert from setupSdk + handleApiCall mocking pattern to withSdk pattern to
match actual implementation. Add beforeEach hooks for proper mock cleanup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…tern

Convert fetch-scan-metadata and fetch-supported-scan-file-names tests from
setupSdk + handleApiCall mocking to withSdk pattern. Add beforeEach hooks for
proper mock cleanup between tests.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Update test expectations to match actual withSdk description 'looking up package'
instead of incorrect 'batch package fetch'.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change incorrect withSdk imports to setupSdk to match actual implementation and
fix mock errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Convert from setupSdk + handleApiCall mocking to withSdk pattern to match actual
implementation. Add beforeEach hooks for proper mock cleanup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Convert from setupSdk + handleApiCall mocking to withSdk pattern to match actual
implementation. Add beforeEach hooks for proper mock cleanup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change constants mock from simple mock to partial mock using importOriginal to
preserve all required exports like CONFIG_KEY_API_TOKEN. Add beforeEach hook.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove yargs-parser validation logic and use simple filterFlags approach
for cdxgen command. Let cdxgen handle its own flag parsing and validation.

- Remove 200+ lines of yargs config and validation
- Filter Socket CLI flags, forward everything else to cdxgen
- Maintain defensive defaults: --lifecycle pre-build, --output socket-cdx.json
- Users can override defaults by passing their own flags
- cdxgen handles its own --help display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change allowUnknownFlags from false to true to allow users to pass
additional flags to the coana CLI without Socket CLI rejecting them.

- Set allowUnknownFlags: true in meowOrExit
- Unknown flags are captured in unknownFlags array (via meow patch)
- Passed through to coana via spawnCoana call

This allows users to use new coana flags without updating Socket CLI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Ignore custom Node.js build directory to prevent tracking build artifacts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
outputResult calls logger.success for successful text output, not
logger.log. Updated test expectation to match actual behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
External node build files in .custom-node-build directory were causing
biome formatting failures (merge conflict fixtures, reserved keyword usage).
These files are not part of the Socket CLI codebase and should be ignored.

- Add .custom-node-build/ to .oxlintignore
- Add !**/.custom-node-build to biome.json includes

This allows `pnpm test` to pass the check step.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Test files import vitest which is not available during tsc type checking.
The pretest:unit hook runs build which includes type checking, causing failures.

- Exclude test/**/*.mts from tsconfig includes
- Exclude src/test/**/*.mts and src/utils/test-mocks.mts from compilation
- Already had src/**/*.test.mts excluded

This allows `pnpm test` to pass the build step in pretest:unit.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change test:unit scripts to use `pnpm vitest` instead of `vitest` to
ensure vitest is properly resolved from pnpm's dependency tree.

The `vitest` command alone was failing with "Command not found" error
when executed through dotenvx, even though vitest is in devDependencies.
Using `pnpm vitest` ensures the command runs through pnpm's shim system.

- Update test:unit to use `pnpm vitest run`
- Update test:unit:update to use `pnpm vitest run --update`
- Update test:unit:coverage to use `pnpm vitest run --coverage`

This allows test scripts to run successfully via `pnpm test` command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Ahmad Nassri <email@ahmadnassri.com>
Co-authored-by: John-David Dalton <jdalton@users.noreply.github.com>
…meout

- Update ESLint config to exclude test files (src/test/**, src/utils/test-mocks.mts,
  scripts/**/*.d.mts) from TypeScript parser project config to prevent parsing errors
- Fix npm exec issueRules test expectations to match actual behavior: with --dry-run,
  npm exec runs successfully even with fake token (exit code 0 or 1) because issueRules
  filtering happens after execution
- Fix config command timeout by skipping Python CLI forwarding for --dry-run flag,
  similar to --help and --version handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Document 8 failing tests across 7 test files with TODO comments:
- cmd-scan-create.test.mts: scan create with zero timeout
- cmd-analytics.test.mts: analytics with --dry-run
- cmd-yarn.test.mts: yarn install with --dry-run
- cmd-fix.test.mts: fix with CVE ID conversion
- cmd-pnpm.test.mts: pnpm add/install tests (3 tests)
- cmd-login-smoke.test.mts: login --help
- cmd-manifest-cdxgen.test.mts: cdxgen unknown flag forwarding (3 tests)

These tests require further investigation to determine root causes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Exclude compiled pkg binaries from version control.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Enable building standalone binaries of the CLI tool.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Enable commands to run properly on Windows by adding shell:true option.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove tests for flag validation that was intentionally removed in
commit de9fa08 (Simplify cdxgen command forwarding). Command now
forwards all flags directly to cdxgen.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Filter intermediate progress updates and normalize final progress output
for more stable test snapshots.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Add configuration for building standalone binaries and scripts to build
custom/patched Node.js binaries with optimizations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The aliases were incorrectly pointing to 'repos' which doesn't exist, causing them to fail. Updated to point to the correct 'repository' command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Verify that the repo alias correctly resolves to the repository command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Use regConsts.ENV instead of constants.ENV in lazySocketAppDataPath() to avoid circular dependency during initialization
- Inline getApiBaseUrlFromConfig() implementation to prevent circular calls during LAZY_ENV() initialization
- Improve VITEST detection in sdk.mts using envAsBoolean helper

Fixes Maximum call stack size exceeded error that caused 397 test failures

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
jdalton and others added 24 commits October 10, 2025 10:06
- Update markdown exports to match actual function names
- Use mdTable, mdTableOfPairs, mdTableStringNumber instead of non-existent functions
Add @ts-nocheck directive to React component files to prevent
TypeScript errors with verbatimModuleSyntax. These files are
compiled by Babel during build, not TypeScript.
Create dedicated tsconfig.check.json for type checking that
explicitly excludes tsx files to avoid conflicts with
verbatimModuleSyntax settings.
- Create unified code-signing module for all platforms
- Support macOS (codesign/ldid), Windows (signtool), Linux (GPG)
- Add comprehensive documentation for code-signing process
- Add scripts organization documentation
- Update post-process.mjs to use signBinary from code-signing module
- Update build-binary.mjs to use signBinary for SEA binaries
- Update build-stub.mjs to use signMacOSBinary and related functions
- Remove duplicate signing functions from build-stub.mjs
- Add centralized build configuration (build-config.json5)
- Add socket-node build script for custom Node.js builds
- Add yao-pkg patch fetching and management
- Add build utilities (core, download, configure, patches)
- Add config-to-patches converter for build customization
- Add yao-pkg patches for Node v20, v22, v24
- Add socket-node patches for SEA support and V8 paths
- Add patches README with documentation
- Add sync cache for patch management
- Update @types/node dependency
- Add lodash as dependency
- Clean up package.json files array
The scan command was incorrectly imported from index.mts which used buildParentCommand
utility that only shows subcommand lists. Changed import to use cmd-scan.mts which
contains the proper meowWithSubcommands implementation.

This fixes all scan subcommands (create, list, view, del, etc.) that were showing
'Available subcommands' instead of executing properly.

Also updated test snapshots to match the new working behavior.
Restore full implementation with fetch and output modules.
Update command to pass correct parameters to handler.
Restore full implementation with fetch and output modules.
Update command to pass correct parameters to handler.
Add transformer to convert API response format to expected output.
Update command to pass orgSlug parameter.
Remove orgSlug parameter as API is token-based.
Add transformer to calculate usage from quota response.
Add transformer to convert policy format to expected output.
Add transformer to convert policy format to expected output.
Add pagination support with loop protection.
Use meowWithSubcommands instead of buildCommand/buildParentCommand
to properly handle help display and subcommand delegation.
- Update exit code expectations (code 2 for validation errors)
- Fix handler test signatures to match v1.1.23 implementations
- Update snapshot tests for actual output
- Remove translations test file
- Update yarn command implementation
- Update utility functions
- Fix TypeScript configuration
@dacoburn dacoburn requested a review from jdalton October 11, 2025 02:59
@jdalton
Copy link
Contributor

jdalton commented Oct 11, 2025

pulled in 3ac9251

@jdalton jdalton closed this Oct 11, 2025
@jdalton jdalton deleted the doug/fix-plan-detection branch October 30, 2025 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants