| 123456789101112131415161718192021222324252627 |
- /** Public metadata only. Passwords, private keys and unlock material never belong here. */
- export const CREDENTIAL_VAULT_PROTOCOL = 1
- export type CredentialTarget =
- | { kind: 'website'; origin: string }
- | { kind: 'ssh'; host: string; port: number; hostKey: string }
- export type CredentialOperation = 'website.login' | 'ssh.exec' | 'sftp.read' | 'sftp.write'
- export type CredentialUseSummary =
- | { kind:'website.form';loginPath:string;submitPath:string;successPath:string;logoutPath?:string;formId:string;usernameName:string;passwordName:string;successSelector:string }
- | { kind:'ssh.exec';command:string }
- | { kind:'sftp.read';remotePath:string;maxBytes:number }
- | { kind:'sftp.write';remotePath:string;bytes:number }
- export interface CredentialSummary {
- id: string; name: string; username: string; target: CredentialTarget
- revision: number; updatedAt: number
- usage?: CredentialUseSummary
- }
- export interface CredentialLeaseSummary {
- id: string; credentialRef: string; agentId: string; workId: string
- runnerId: string; operation: CredentialOperation; expiresAt: number
- }
- export interface CredentialVaultStatus {
- protocol: 1; online: boolean; initialized: boolean; unlocked: boolean
- unlockExpiresAt?: number
- storageMode?: 'local'
- execution: 'disabled' | 'dummy-fixture' | 'protected-adapters'; reason: 'executor_not_enabled' | 'vault_offline' | 'dummy_fixture_only' | 'operator_approved' | 'isolation_required'
- entries: CredentialSummary[]; leases: CredentialLeaseSummary[]
- }
|