Repository navigation
feat: install independent program agent credentials - #45
Merged
Merged
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
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.
Adds independent program-scoped credentials to agent setup for linked projects or an explicit
--program-id. The existing user login authorizes owner-only mint/list/revoke; each selected client gets a private, ignored credential file and a launcher selector. Application live keys remain unchanged. Matching active keys are reused without making readiness/status calls or claiming a connected agent.Preflight and explicit consent precede minting. Credentials participate in the existing atomic local transaction. A partial failure revokes known newly minted keys; lost responses are never retried and report an uncertain Waiting row for dashboard cleanup. Output/config omit credentials and server error bodies. Static doctor supports per-client keys; existing local-only setups retain their documented flow.
Validation: all-workspace build/lint and 316 tests pass locally (three Windows tests deferred to real Windows CI). A fresh real Strapi/SQLite fixture runs the built CLI through independent mint, idempotent reuse, revoke/remint and application/other-client preservation. HTTP fixtures cover partial failures, rollback, redirects, unsafe/tracked paths and credential isolation. Windows CI exercises the actual generated launcher and client selector. Repository audit passes.
Requires the program-agent CMS API before release. No package version increment, npm publish or live agent verification is included. Codex configuration remains a manual command/settings step. Filesystem protection handles ordinary concurrent edits; local project code/PATH remain trusted.
Git preflight hardening at 873cf35: Git errors/timeouts/unknown results now block before HTTP or credential writes; no-repo is accepted only after an exact Git diagnostic plus no ancestor .git marker. Four regressions reproduce the original tracked-secret overwrite and verify zero requests/unchanged bytes after the fix. Doctor reports credential_check_failed. Agent scope notes now specify test-only leads. Current validation:320 tests passed,3 Windows tests skipped locally; workspace build/lint and actual built CLI against fresh Strapi/SQLite passed. Exact-head CI/Windows checks pending.