Skip to content

fix(credentials): Splunk password sign-in, Snowflake key pair in the CLI, Apollo OAuth people search, and one short SailPoint throttle wait - #9943

Merged
waleedlatif1 merged 2 commits into
stagingfrom
fix/credential-release-audit-1112
Nov 12, 2026
Merged

waleedlatif1 merged 2 commits into
stagingfrom
fix/credential-release-audit-1112

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

Fixes for the four issues a release audit of main..staging confirmed. Each was checked against the code and the vendor's docs before it was fixed. Existing credentials, blocks and CLI calls behave as before.

  • Splunk: username and password sign-in on the saved credential. The legacy splunk block is sunset, and splunk_v2 only took a token, but token sign-in is off by default on Splunk Enterprise.
    • The credential now takes an optional username.
    • With a username, the secret is checked as a password over HTTP Basic against authentication/current-context, and the credential resolves with authStyle: 'basic'. The executor sets authStyle; a caller can't.
    • Without a username, it resolves exactly as a token does today.
    • Follows ServiceNow's saved-login pattern.
  • CLI: Snowflake key pair without keyless. sim credentials create snowflake-service-account refused a key-pair serviceAccountJson on deployments that can't sign keyless tokens, and refused a raw key-pair object everywhere.
    • A supplied serviceAccountJson now stands in for the required fields whenever the catalog offers it as an optional field, which matches what the server accepts.
    • A configuration object with an authType is wrapped for those providers.
    • Keyless and required-field providers are unchanged.
  • Apollo: People Search over OAuth calls /mixed_people/api_search.
    • The only people-search scope Apollo documents (mixed_people_api_search) covers that path, not the legacy /mixed_people/search.
    • API-key calls stay on the legacy path, so their outputs, including emails and phones, are unchanged.
    • Pagination now reads the api_search shape.
  • SailPoint: a saved credential waits out one short token throttle (Retry-After ≤ 5s) before failing.
    • Longer throttles still return at once with their Retry-After.
    • The legacy inline path keeps its retries.
    • Corrected the TSDoc, which said the resolver waits.

Type of Change

  • Bug fix

Testing

  • New tests: each failed before its fix and passes after, with a revert check for each guard. They are in Splunk validator/resolution/executor, CLI credentials, Apollo people_search, and SailPoint minter.
  • Targeted suites: 83 files and 1,845 tests pass (credentials, oauth credential-service, tools/index, Splunk, Apollo, SailPoint, saved-credential contract, provider catalog). The CLI credentials tests (20) pass, and so does tsc for packages/sim-cli.
  • Lint and audits: bun run lint and generate:tool-metadata ran. These pass: check:tool-metadata, check:test-patterns, check:comment-hygiene, check:explicit-any, check:boundaries, check:client-boundary, check:utils, check:file-names, check:api-validation:strict, check:cli-docs, check:docs, check:tool-registry-boundary --check and check-block-registry.ts origin/staging.
  • Review: each fix had two independent reviewers (correctness against vendor docs, and backward compatibility).
  • Known limits:
    • During a blue/green rollout, a Splunk username/password credential saved on a new worker and run on an old one gets a 401 from the user's own Splunk until the rollout finishes.
    • Apollo api_search filters are sent as a JSON body, the same way as the legacy call. This needs one live OAuth check.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

…CLI, Apollo OAuth people search, and one short SailPoint throttle wait
@vercel

vercel Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 12, 2026 7:49pm UTC

Request Review

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 19 files

Confidence score: 4/5

  • people_search.ts can report page 0 when the request used page 1. Use (params?.page || 1) as the fallback.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/sim/tools/apollo/people_search.ts">

<violation number="1" location="apps/sim/tools/apollo/people_search.ts:199">
P3: `transformResponse` can report page 0 even though the request sent page 1. Use `(params?.page || 1)` for the fallback.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/tools/apollo/people_search.ts Resolved
@greptile-apps

greptile-apps Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no new actionable issues were found.

Summary

Adds four credential fixes:

  • Saved Splunk credentials can use a token or a username and password.
  • Apollo people search uses an endpoint that matches the credential type.
  • The credentials CLI accepts optional provider configuration objects.
  • Saved SailPoint token minting retries once after a short throttle.

The latest changes preserve Splunk password spaces and make Apollo’s reported page match the page requested. The earlier, unnumbered Splunk password finding is fully fixed. No new actionable issues were found.

Reviews (2) · Last reviewed commit: "fix(credentials): keep a Splunk password..." · Reviewed by Greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 20 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit f4dcf73 into staging Nov 12, 2026
83 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/credential-release-audit-1112 branch November 12, 2026 20:03

This branch was previously deployed

1 inactive deployment
Preview — 4056ba77 Deployed Nov 12, 2026 by vercel[bot]
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.

1 participant