mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-13 22:37:29 +00:00
feat(credential-sharing): implement the Credential Sharing OpenSpec (M1-M3)
New @logicsrc/plugin-credential-sharing: a provider-neutral secret-sync engine with env/.env, Doppler, Railway, and GitHub Secrets adapters behind one CredentialProvider contract. - engine: inspect -> diff -> plan -> approve -> sync -> rollback -> audit/export - dry-run is the default for sync; --approve writes; destructive changes gated - fingerprint-based diffs (salted SHA-256); raw values never printed or stored in plans/runs/audit; rollback pre-image kept in a 0600 .logicsrc vault (gitignored) - github-secrets is write-only for values (sealed-box via libsodium), so it cannot be a sync source or value-restoring rollback target - CLI: real `logicsrc credentials <providers|inspect|diff|plan|approve|sync| rollback|audit|export>` (replaces the prior stub) - 4 JSON schemas registered in @logicsrc/validators - flip logicsrc.com/credential-sharing band from coming-soon to available - 37 tests pass; full env->env lifecycle verified; artifacts schema-validate Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
6e7f44612a
commit
cf73fe5af2
30 changed files with 1849 additions and 38 deletions
|
|
@ -18,6 +18,10 @@ import agentadAdResponseSchema from "../../schemas/schemas/agentad-ad-response.s
|
|||
import agentadImpressionSchema from "../../schemas/schemas/agentad-impression.schema.json" with { type: "json" };
|
||||
import agentadClickSchema from "../../schemas/schemas/agentad-click.schema.json" with { type: "json" };
|
||||
import agentadCampaignSchema from "../../schemas/schemas/agentad-campaign.schema.json" with { type: "json" };
|
||||
import credentialProviderSchema from "../../schemas/schemas/logicsrc-credential-provider.schema.json" with { type: "json" };
|
||||
import credentialSyncPlanSchema from "../../schemas/schemas/logicsrc-credential-sync-plan.schema.json" with { type: "json" };
|
||||
import credentialSyncRunSchema from "../../schemas/schemas/logicsrc-credential-sync-run.schema.json" with { type: "json" };
|
||||
import credentialAuditEventSchema from "../../schemas/schemas/logicsrc-credential-audit-event.schema.json" with { type: "json" };
|
||||
|
||||
export const schemas = {
|
||||
agent: agentSchema,
|
||||
|
|
@ -39,7 +43,11 @@ export const schemas = {
|
|||
"agentad-ad-response": agentadAdResponseSchema,
|
||||
"agentad-impression": agentadImpressionSchema,
|
||||
"agentad-click": agentadClickSchema,
|
||||
"agentad-campaign": agentadCampaignSchema
|
||||
"agentad-campaign": agentadCampaignSchema,
|
||||
"credential-provider": credentialProviderSchema,
|
||||
"credential-sync-plan": credentialSyncPlanSchema,
|
||||
"credential-sync-run": credentialSyncRunSchema,
|
||||
"credential-audit-event": credentialAuditEventSchema
|
||||
} as const;
|
||||
|
||||
export type SchemaKind = keyof typeof schemas;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue