@id-wispera/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +268 -0
  2. package/dist/audit.d.ts +68 -0
  3. package/dist/audit.d.ts.map +1 -0
  4. package/dist/audit.js +252 -0
  5. package/dist/audit.js.map +1 -0
  6. package/dist/auth/index.d.ts +8 -0
  7. package/dist/auth/index.d.ts.map +1 -0
  8. package/dist/auth/index.js +8 -0
  9. package/dist/auth/index.js.map +1 -0
  10. package/dist/auth/keychainProvider.d.ts +40 -0
  11. package/dist/auth/keychainProvider.d.ts.map +1 -0
  12. package/dist/auth/keychainProvider.js +98 -0
  13. package/dist/auth/keychainProvider.js.map +1 -0
  14. package/dist/auth/passphraseProvider.d.ts +80 -0
  15. package/dist/auth/passphraseProvider.d.ts.map +1 -0
  16. package/dist/auth/passphraseProvider.js +188 -0
  17. package/dist/auth/passphraseProvider.js.map +1 -0
  18. package/dist/auth/sessionTokenManager.d.ts +106 -0
  19. package/dist/auth/sessionTokenManager.d.ts.map +1 -0
  20. package/dist/auth/sessionTokenManager.js +263 -0
  21. package/dist/auth/sessionTokenManager.js.map +1 -0
  22. package/dist/delegation.d.ts +81 -0
  23. package/dist/delegation.d.ts.map +1 -0
  24. package/dist/delegation.js +299 -0
  25. package/dist/delegation.js.map +1 -0
  26. package/dist/detection.d.ts +35 -0
  27. package/dist/detection.d.ts.map +1 -0
  28. package/dist/detection.js +474 -0
  29. package/dist/detection.js.map +1 -0
  30. package/dist/exec/execManager.d.ts +60 -0
  31. package/dist/exec/execManager.d.ts.map +1 -0
  32. package/dist/exec/execManager.js +226 -0
  33. package/dist/exec/execManager.js.map +1 -0
  34. package/dist/exec/index.d.ts +6 -0
  35. package/dist/exec/index.d.ts.map +1 -0
  36. package/dist/exec/index.js +5 -0
  37. package/dist/exec/index.js.map +1 -0
  38. package/dist/index.d.ts +35 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +98 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/integrations/base.d.ts +64 -0
  43. package/dist/integrations/base.d.ts.map +1 -0
  44. package/dist/integrations/base.js +173 -0
  45. package/dist/integrations/base.js.map +1 -0
  46. package/dist/integrations/envMapping.d.ts +47 -0
  47. package/dist/integrations/envMapping.d.ts.map +1 -0
  48. package/dist/integrations/envMapping.js +174 -0
  49. package/dist/integrations/envMapping.js.map +1 -0
  50. package/dist/integrations/google-a2a.d.ts +48 -0
  51. package/dist/integrations/google-a2a.d.ts.map +1 -0
  52. package/dist/integrations/google-a2a.js +108 -0
  53. package/dist/integrations/google-a2a.js.map +1 -0
  54. package/dist/integrations/index.d.ts +14 -0
  55. package/dist/integrations/index.d.ts.map +1 -0
  56. package/dist/integrations/index.js +14 -0
  57. package/dist/integrations/index.js.map +1 -0
  58. package/dist/integrations/langchain.d.ts +38 -0
  59. package/dist/integrations/langchain.d.ts.map +1 -0
  60. package/dist/integrations/langchain.js +45 -0
  61. package/dist/integrations/langchain.js.map +1 -0
  62. package/dist/integrations/openai-agents.d.ts +76 -0
  63. package/dist/integrations/openai-agents.d.ts.map +1 -0
  64. package/dist/integrations/openai-agents.js +95 -0
  65. package/dist/integrations/openai-agents.js.map +1 -0
  66. package/dist/integrations/slack.d.ts +59 -0
  67. package/dist/integrations/slack.d.ts.map +1 -0
  68. package/dist/integrations/slack.js +113 -0
  69. package/dist/integrations/slack.js.map +1 -0
  70. package/dist/integrations/types.d.ts +107 -0
  71. package/dist/integrations/types.d.ts.map +1 -0
  72. package/dist/integrations/types.js +6 -0
  73. package/dist/integrations/types.js.map +1 -0
  74. package/dist/locations.d.ts +157 -0
  75. package/dist/locations.d.ts.map +1 -0
  76. package/dist/locations.js +733 -0
  77. package/dist/locations.js.map +1 -0
  78. package/dist/passport.d.ts +70 -0
  79. package/dist/passport.d.ts.map +1 -0
  80. package/dist/passport.js +429 -0
  81. package/dist/passport.js.map +1 -0
  82. package/dist/policy.d.ts +80 -0
  83. package/dist/policy.d.ts.map +1 -0
  84. package/dist/policy.js +392 -0
  85. package/dist/policy.js.map +1 -0
  86. package/dist/providers/openclaw.d.ts +80 -0
  87. package/dist/providers/openclaw.d.ts.map +1 -0
  88. package/dist/providers/openclaw.js +712 -0
  89. package/dist/providers/openclaw.js.map +1 -0
  90. package/dist/provisioning/adminPassport.d.ts +51 -0
  91. package/dist/provisioning/adminPassport.d.ts.map +1 -0
  92. package/dist/provisioning/adminPassport.js +101 -0
  93. package/dist/provisioning/adminPassport.js.map +1 -0
  94. package/dist/provisioning/index.d.ts +81 -0
  95. package/dist/provisioning/index.d.ts.map +1 -0
  96. package/dist/provisioning/index.js +141 -0
  97. package/dist/provisioning/index.js.map +1 -0
  98. package/dist/provisioning/provider.d.ts +59 -0
  99. package/dist/provisioning/provider.d.ts.map +1 -0
  100. package/dist/provisioning/provider.js +52 -0
  101. package/dist/provisioning/provider.js.map +1 -0
  102. package/dist/provisioning/providers/anthropic.d.ts +32 -0
  103. package/dist/provisioning/providers/anthropic.d.ts.map +1 -0
  104. package/dist/provisioning/providers/anthropic.js +116 -0
  105. package/dist/provisioning/providers/anthropic.js.map +1 -0
  106. package/dist/provisioning/providers/aws.d.ts +29 -0
  107. package/dist/provisioning/providers/aws.d.ts.map +1 -0
  108. package/dist/provisioning/providers/aws.js +455 -0
  109. package/dist/provisioning/providers/aws.js.map +1 -0
  110. package/dist/provisioning/providers/azure-entra.d.ts +32 -0
  111. package/dist/provisioning/providers/azure-entra.d.ts.map +1 -0
  112. package/dist/provisioning/providers/azure-entra.js +312 -0
  113. package/dist/provisioning/providers/azure-entra.js.map +1 -0
  114. package/dist/provisioning/providers/github.d.ts +24 -0
  115. package/dist/provisioning/providers/github.d.ts.map +1 -0
  116. package/dist/provisioning/providers/github.js +219 -0
  117. package/dist/provisioning/providers/github.js.map +1 -0
  118. package/dist/provisioning/providers/google-cloud.d.ts +34 -0
  119. package/dist/provisioning/providers/google-cloud.d.ts.map +1 -0
  120. package/dist/provisioning/providers/google-cloud.js +366 -0
  121. package/dist/provisioning/providers/google-cloud.js.map +1 -0
  122. package/dist/provisioning/providers/openai.d.ts +29 -0
  123. package/dist/provisioning/providers/openai.d.ts.map +1 -0
  124. package/dist/provisioning/providers/openai.js +263 -0
  125. package/dist/provisioning/providers/openai.js.map +1 -0
  126. package/dist/provisioning/providers/sendgrid.d.ts +27 -0
  127. package/dist/provisioning/providers/sendgrid.d.ts.map +1 -0
  128. package/dist/provisioning/providers/sendgrid.js +186 -0
  129. package/dist/provisioning/providers/sendgrid.js.map +1 -0
  130. package/dist/provisioning/providers/twilio.d.ts +27 -0
  131. package/dist/provisioning/providers/twilio.d.ts.map +1 -0
  132. package/dist/provisioning/providers/twilio.js +194 -0
  133. package/dist/provisioning/providers/twilio.js.map +1 -0
  134. package/dist/provisioning/types.d.ts +274 -0
  135. package/dist/provisioning/types.d.ts.map +1 -0
  136. package/dist/provisioning/types.js +6 -0
  137. package/dist/provisioning/types.js.map +1 -0
  138. package/dist/sharing.d.ts +60 -0
  139. package/dist/sharing.d.ts.map +1 -0
  140. package/dist/sharing.js +305 -0
  141. package/dist/sharing.js.map +1 -0
  142. package/dist/types.d.ts +396 -0
  143. package/dist/types.d.ts.map +1 -0
  144. package/dist/types.js +88 -0
  145. package/dist/types.js.map +1 -0
  146. package/dist/utils.d.ts +45 -0
  147. package/dist/utils.d.ts.map +1 -0
  148. package/dist/utils.js +110 -0
  149. package/dist/utils.js.map +1 -0
  150. package/dist/vault.d.ts +151 -0
  151. package/dist/vault.d.ts.map +1 -0
  152. package/dist/vault.js +499 -0
  153. package/dist/vault.js.map +1 -0
  154. package/package.json +117 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locations.js","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * ID Wispera Passport Management
3
+ * CRUD operations for credential passports
4
+ */
5
+ import { Passport, PassportStatus, CreatePassportInput, PassportFilters } from './types.js';
6
+ import { Vault } from './vault.js';
7
+ /**
8
+ * Calculate the current status of a passport based on its dates
9
+ */
10
+ export declare function calculateStatus(passport: Passport): PassportStatus;
11
+ /**
12
+ * Update passport status based on current time
13
+ */
14
+ export declare function refreshStatus(passport: Passport): Passport;
15
+ /**
16
+ * Create a new passport
17
+ */
18
+ export declare function createPassport(vault: Vault, input: CreatePassportInput): Promise<Passport>;
19
+ /**
20
+ * Get a passport by ID
21
+ */
22
+ export declare function getPassport(vault: Vault, id: string): Promise<Passport>;
23
+ /**
24
+ * List passports with optional filters
25
+ */
26
+ export declare function listPassports(vault: Vault, filters?: PassportFilters): Promise<Passport[]>;
27
+ /**
28
+ * Update a passport
29
+ */
30
+ export declare function updatePassport(vault: Vault, id: string, updates: Partial<Omit<Passport, 'id' | 'version' | 'createdAt'>>, actor: string): Promise<Passport>;
31
+ /**
32
+ * Revoke a passport
33
+ */
34
+ export declare function revokePassport(vault: Vault, id: string, reason: string, actor: string): Promise<Passport>;
35
+ /**
36
+ * Renew a passport (extend validity)
37
+ */
38
+ export declare function renewPassport(vault: Vault, id: string, newValidUntil: string, actor: string): Promise<Passport>;
39
+ /**
40
+ * Duplicate a passport (create copy with new ID)
41
+ */
42
+ export declare function duplicatePassport(vault: Vault, id: string, actor: string, overrides?: Partial<CreatePassportInput>): Promise<Passport>;
43
+ /**
44
+ * Delete a passport permanently
45
+ */
46
+ export declare function deletePassport(vault: Vault, id: string, actor: string): Promise<void>;
47
+ /**
48
+ * Access a credential value (logs the access)
49
+ */
50
+ export declare function accessCredential(vault: Vault, id: string, actor: string, platform?: string, purpose?: string): Promise<string>;
51
+ /**
52
+ * Mask a credential for display
53
+ * Re-exports maskValue from utils for backward compatibility
54
+ */
55
+ export { maskValue as maskCredential } from './utils.js';
56
+ /**
57
+ * Get passports that are expiring soon
58
+ */
59
+ export declare function getExpiringPassports(vault: Vault, daysThreshold?: number): Promise<Passport[]>;
60
+ /**
61
+ * Get statistics about passports in the vault
62
+ */
63
+ export declare function getPassportStats(vault: Vault): Promise<{
64
+ total: number;
65
+ byStatus: Record<PassportStatus, number>;
66
+ byVisaType: Record<string, number>;
67
+ byPlatform: Record<string, number>;
68
+ expiringCount: number;
69
+ }>;
70
+ //# sourceMappingURL=passport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,eAAe,EAIhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQnC;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CA6BlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAM1D;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAgEnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgB7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoErB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,EAChE,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAgCnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAgCnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAiCnB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACvC,OAAO,CAAC,QAAQ,CAAC,CAyCnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAgBf;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAMD;;;GAGG;AACH,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAgC,GAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAUrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CA6BD"}
@@ -0,0 +1,429 @@
1
+ /**
2
+ * ID Wispera Passport Management
3
+ * CRUD operations for credential passports
4
+ */
5
+ import { PassportError, PASSPORT_SCHEMA_VERSION, EXPIRING_THRESHOLD_DAYS, } from './types.js';
6
+ import { logAction } from './audit.js';
7
+ import { classifyCredential } from './detection.js';
8
+ // ============================================================================
9
+ // Passport Status Helpers
10
+ // ============================================================================
11
+ /**
12
+ * Calculate the current status of a passport based on its dates
13
+ */
14
+ export function calculateStatus(passport) {
15
+ // Explicit statuses take precedence
16
+ if (passport.status === 'revoked' || passport.status === 'suspended') {
17
+ return passport.status;
18
+ }
19
+ const now = new Date();
20
+ const validFrom = new Date(passport.validFrom);
21
+ const validUntil = passport.validUntil ? new Date(passport.validUntil) : null;
22
+ // Not yet valid
23
+ if (now < validFrom) {
24
+ return 'suspended';
25
+ }
26
+ // Expired
27
+ if (validUntil && now > validUntil) {
28
+ return 'expired';
29
+ }
30
+ // Expiring soon
31
+ if (validUntil) {
32
+ const daysUntilExpiry = (validUntil.getTime() - now.getTime()) / (1000 * 60 * 60 * 24);
33
+ if (daysUntilExpiry <= EXPIRING_THRESHOLD_DAYS) {
34
+ return 'expiring';
35
+ }
36
+ }
37
+ return 'active';
38
+ }
39
+ /**
40
+ * Update passport status based on current time
41
+ */
42
+ export function refreshStatus(passport) {
43
+ const newStatus = calculateStatus(passport);
44
+ if (newStatus !== passport.status) {
45
+ return { ...passport, status: newStatus, updatedAt: new Date().toISOString() };
46
+ }
47
+ return passport;
48
+ }
49
+ // ============================================================================
50
+ // Passport CRUD Operations
51
+ // ============================================================================
52
+ /**
53
+ * Create a new passport
54
+ */
55
+ export async function createPassport(vault, input) {
56
+ const now = new Date().toISOString();
57
+ const id = crypto.randomUUID();
58
+ // Auto-detect credential type if not specified correctly
59
+ const detectedType = classifyCredential(input.credentialValue);
60
+ const credentialType = input.credentialType === 'custom' && detectedType !== 'custom'
61
+ ? detectedType
62
+ : input.credentialType;
63
+ const passport = {
64
+ id,
65
+ version: PASSPORT_SCHEMA_VERSION,
66
+ // Identity
67
+ name: input.name,
68
+ agentId: input.agentId,
69
+ credentialType,
70
+ credentialValue: input.credentialValue,
71
+ // Visa
72
+ visaType: input.visaType,
73
+ issuingAuthority: input.issuingAuthority ?? 'Manual',
74
+ scope: input.scope,
75
+ platforms: input.platforms,
76
+ // Lifecycle
77
+ status: 'active',
78
+ issuedAt: now,
79
+ validFrom: input.validFrom ?? now,
80
+ validUntil: input.validUntil,
81
+ // Delegation
82
+ delegationChain: input.delegationChain,
83
+ humanOwner: input.humanOwner,
84
+ // Metadata
85
+ tags: input.tags ?? [],
86
+ notes: input.notes,
87
+ // Timestamps
88
+ createdAt: now,
89
+ updatedAt: now,
90
+ };
91
+ // Calculate actual status
92
+ passport.status = calculateStatus(passport);
93
+ // Store in vault
94
+ await vault.storePassport(passport);
95
+ // Log creation
96
+ await logAction(vault, {
97
+ passportId: passport.id,
98
+ action: 'created',
99
+ actor: passport.humanOwner,
100
+ details: `Created passport "${passport.name}" for ${passport.credentialType}`,
101
+ metadata: {
102
+ visaType: passport.visaType,
103
+ platforms: passport.platforms,
104
+ },
105
+ });
106
+ return passport;
107
+ }
108
+ /**
109
+ * Get a passport by ID
110
+ */
111
+ export async function getPassport(vault, id) {
112
+ const passport = await vault.retrievePassport(id);
113
+ if (!passport) {
114
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
115
+ }
116
+ // Log view action
117
+ await logAction(vault, {
118
+ passportId: id,
119
+ action: 'viewed',
120
+ actor: 'system',
121
+ details: 'Passport retrieved',
122
+ });
123
+ // Return with refreshed status
124
+ return refreshStatus(passport);
125
+ }
126
+ /**
127
+ * List passports with optional filters
128
+ */
129
+ export async function listPassports(vault, filters) {
130
+ let passports = await vault.getAllPassports();
131
+ // Refresh statuses
132
+ passports = passports.map(refreshStatus);
133
+ if (!filters) {
134
+ return passports;
135
+ }
136
+ // Apply filters
137
+ return passports.filter((p) => {
138
+ // Status filter
139
+ if (filters.status) {
140
+ const statuses = Array.isArray(filters.status) ? filters.status : [filters.status];
141
+ if (!statuses.includes(p.status))
142
+ return false;
143
+ }
144
+ // Visa type filter
145
+ if (filters.visaType) {
146
+ const types = Array.isArray(filters.visaType) ? filters.visaType : [filters.visaType];
147
+ if (!types.includes(p.visaType))
148
+ return false;
149
+ }
150
+ // Platform filter
151
+ if (filters.platform) {
152
+ const platforms = Array.isArray(filters.platform) ? filters.platform : [filters.platform];
153
+ if (!p.platforms.some((pp) => platforms.includes(pp)))
154
+ return false;
155
+ }
156
+ // Credential type filter
157
+ if (filters.credentialType) {
158
+ const types = Array.isArray(filters.credentialType)
159
+ ? filters.credentialType
160
+ : [filters.credentialType];
161
+ if (!types.includes(p.credentialType))
162
+ return false;
163
+ }
164
+ // Human owner filter
165
+ if (filters.humanOwner && p.humanOwner !== filters.humanOwner) {
166
+ return false;
167
+ }
168
+ // Tags filter (any match)
169
+ if (filters.tags && filters.tags.length > 0) {
170
+ if (!filters.tags.some((t) => p.tags.includes(t)))
171
+ return false;
172
+ }
173
+ // Search filter (name, notes, tags)
174
+ if (filters.search) {
175
+ const search = filters.search.toLowerCase();
176
+ const searchable = [
177
+ p.name,
178
+ p.notes ?? '',
179
+ p.agentId ?? '',
180
+ ...p.tags,
181
+ ].join(' ').toLowerCase();
182
+ if (!searchable.includes(search))
183
+ return false;
184
+ }
185
+ // Expiring filter
186
+ if (filters.isExpiring !== undefined) {
187
+ const isExpiring = p.status === 'expiring';
188
+ if (filters.isExpiring !== isExpiring)
189
+ return false;
190
+ }
191
+ return true;
192
+ });
193
+ }
194
+ /**
195
+ * Update a passport
196
+ */
197
+ export async function updatePassport(vault, id, updates, actor) {
198
+ const existing = await vault.retrievePassport(id);
199
+ if (!existing) {
200
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
201
+ }
202
+ const updated = {
203
+ ...existing,
204
+ ...updates,
205
+ id: existing.id, // Ensure ID cannot be changed
206
+ version: existing.version, // Ensure version cannot be changed
207
+ createdAt: existing.createdAt, // Ensure createdAt cannot be changed
208
+ updatedAt: new Date().toISOString(),
209
+ };
210
+ // Recalculate status if dates changed
211
+ if (updates.validFrom || updates.validUntil) {
212
+ updated.status = calculateStatus(updated);
213
+ }
214
+ await vault.storePassport(updated);
215
+ // Log modification
216
+ await logAction(vault, {
217
+ passportId: id,
218
+ action: 'modified',
219
+ actor,
220
+ details: `Updated passport fields: ${Object.keys(updates).join(', ')}`,
221
+ metadata: { updatedFields: Object.keys(updates) },
222
+ });
223
+ return updated;
224
+ }
225
+ /**
226
+ * Revoke a passport
227
+ */
228
+ export async function revokePassport(vault, id, reason, actor) {
229
+ const existing = await vault.retrievePassport(id);
230
+ if (!existing) {
231
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
232
+ }
233
+ if (existing.status === 'revoked') {
234
+ throw new PassportError('Passport is already revoked', 'ALREADY_REVOKED', { id });
235
+ }
236
+ const now = new Date().toISOString();
237
+ const revoked = {
238
+ ...existing,
239
+ status: 'revoked',
240
+ revokedAt: now,
241
+ revokedBy: actor,
242
+ revokedReason: reason,
243
+ updatedAt: now,
244
+ };
245
+ await vault.storePassport(revoked);
246
+ // Log revocation
247
+ await logAction(vault, {
248
+ passportId: id,
249
+ action: 'revoked',
250
+ actor,
251
+ details: `Revoked passport: ${reason}`,
252
+ metadata: { reason },
253
+ });
254
+ return revoked;
255
+ }
256
+ /**
257
+ * Renew a passport (extend validity)
258
+ */
259
+ export async function renewPassport(vault, id, newValidUntil, actor) {
260
+ const existing = await vault.retrievePassport(id);
261
+ if (!existing) {
262
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
263
+ }
264
+ if (existing.status === 'revoked') {
265
+ throw new PassportError('Cannot renew a revoked passport', 'PASSPORT_REVOKED', { id });
266
+ }
267
+ const now = new Date().toISOString();
268
+ const renewed = {
269
+ ...existing,
270
+ validUntil: newValidUntil,
271
+ updatedAt: now,
272
+ };
273
+ renewed.status = calculateStatus(renewed);
274
+ await vault.storePassport(renewed);
275
+ // Log renewal
276
+ await logAction(vault, {
277
+ passportId: id,
278
+ action: 'renewed',
279
+ actor,
280
+ details: `Extended validity to ${newValidUntil}`,
281
+ metadata: {
282
+ previousValidUntil: existing.validUntil,
283
+ newValidUntil,
284
+ },
285
+ });
286
+ return renewed;
287
+ }
288
+ /**
289
+ * Duplicate a passport (create copy with new ID)
290
+ */
291
+ export async function duplicatePassport(vault, id, actor, overrides) {
292
+ const existing = await vault.retrievePassport(id);
293
+ if (!existing) {
294
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
295
+ }
296
+ const input = {
297
+ name: overrides?.name ?? `${existing.name} (copy)`,
298
+ agentId: overrides?.agentId ?? existing.agentId,
299
+ credentialType: overrides?.credentialType ?? existing.credentialType,
300
+ credentialValue: overrides?.credentialValue ?? existing.credentialValue,
301
+ visaType: overrides?.visaType ?? existing.visaType,
302
+ issuingAuthority: overrides?.issuingAuthority ?? existing.issuingAuthority,
303
+ scope: overrides?.scope ?? existing.scope,
304
+ platforms: overrides?.platforms ?? existing.platforms,
305
+ validFrom: overrides?.validFrom,
306
+ validUntil: overrides?.validUntil ?? existing.validUntil,
307
+ humanOwner: overrides?.humanOwner ?? existing.humanOwner,
308
+ tags: overrides?.tags ?? existing.tags,
309
+ notes: overrides?.notes ?? existing.notes,
310
+ };
311
+ const duplicate = await createPassport(vault, input);
312
+ // Add delegation chain showing origin
313
+ if (existing.delegationChain) {
314
+ duplicate.delegationChain = [...existing.delegationChain];
315
+ }
316
+ await vault.storePassport(duplicate);
317
+ // Log duplication
318
+ await logAction(vault, {
319
+ passportId: duplicate.id,
320
+ action: 'created',
321
+ actor,
322
+ details: `Duplicated from passport ${id}`,
323
+ metadata: { sourcePassportId: id },
324
+ });
325
+ return duplicate;
326
+ }
327
+ /**
328
+ * Delete a passport permanently
329
+ */
330
+ export async function deletePassport(vault, id, actor) {
331
+ const existing = await vault.retrievePassport(id);
332
+ if (!existing) {
333
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
334
+ }
335
+ await vault.deletePassport(id);
336
+ // Log deletion (note: passport is gone, but audit entry remains)
337
+ await logAction(vault, {
338
+ passportId: id,
339
+ action: 'modified',
340
+ actor,
341
+ details: `Permanently deleted passport "${existing.name}"`,
342
+ metadata: { deleted: true, name: existing.name },
343
+ });
344
+ }
345
+ // ============================================================================
346
+ // Credential Access
347
+ // ============================================================================
348
+ /**
349
+ * Access a credential value (logs the access)
350
+ */
351
+ export async function accessCredential(vault, id, actor, platform, purpose) {
352
+ const passport = await vault.retrievePassport(id);
353
+ if (!passport) {
354
+ throw new PassportError(`Passport not found: ${id}`, 'PASSPORT_NOT_FOUND', { id });
355
+ }
356
+ // Check status
357
+ const currentStatus = calculateStatus(passport);
358
+ if (currentStatus === 'revoked') {
359
+ throw new PassportError('Passport has been revoked', 'PASSPORT_REVOKED', { id });
360
+ }
361
+ if (currentStatus === 'expired') {
362
+ throw new PassportError('Passport has expired', 'PASSPORT_EXPIRED', { id });
363
+ }
364
+ if (currentStatus === 'suspended') {
365
+ throw new PassportError('Passport is suspended', 'PASSPORT_SUSPENDED', { id });
366
+ }
367
+ // Log the access
368
+ await logAction(vault, {
369
+ passportId: id,
370
+ action: 'accessed',
371
+ actor,
372
+ platform: platform,
373
+ details: purpose ?? 'Credential accessed',
374
+ metadata: { platform, purpose },
375
+ });
376
+ return passport.credentialValue;
377
+ }
378
+ // ============================================================================
379
+ // Utility Functions
380
+ // ============================================================================
381
+ /**
382
+ * Mask a credential for display
383
+ * Re-exports maskValue from utils for backward compatibility
384
+ */
385
+ export { maskValue as maskCredential } from './utils.js';
386
+ /**
387
+ * Get passports that are expiring soon
388
+ */
389
+ export async function getExpiringPassports(vault, daysThreshold = EXPIRING_THRESHOLD_DAYS) {
390
+ const passports = await vault.getAllPassports();
391
+ const now = new Date();
392
+ return passports.filter((p) => {
393
+ if (p.status === 'revoked' || !p.validUntil)
394
+ return false;
395
+ const validUntil = new Date(p.validUntil);
396
+ const daysUntilExpiry = (validUntil.getTime() - now.getTime()) / (1000 * 60 * 60 * 24);
397
+ return daysUntilExpiry > 0 && daysUntilExpiry <= daysThreshold;
398
+ }).map(refreshStatus);
399
+ }
400
+ /**
401
+ * Get statistics about passports in the vault
402
+ */
403
+ export async function getPassportStats(vault) {
404
+ const passports = (await vault.getAllPassports()).map(refreshStatus);
405
+ const byStatus = {
406
+ active: 0,
407
+ expiring: 0,
408
+ expired: 0,
409
+ revoked: 0,
410
+ suspended: 0,
411
+ };
412
+ const byVisaType = {};
413
+ const byPlatform = {};
414
+ for (const p of passports) {
415
+ byStatus[p.status]++;
416
+ byVisaType[p.visaType] = (byVisaType[p.visaType] ?? 0) + 1;
417
+ for (const platform of p.platforms) {
418
+ byPlatform[platform] = (byPlatform[platform] ?? 0) + 1;
419
+ }
420
+ }
421
+ return {
422
+ total: passports.length,
423
+ byStatus,
424
+ byVisaType,
425
+ byPlatform,
426
+ expiringCount: byStatus.expiring,
427
+ };
428
+ }
429
+ //# sourceMappingURL=passport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport.js","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * ID Wispera Policy Engine
3
+ * Cedar-inspired declarative policy evaluation
4
+ */
5
+ import { Passport, PolicyRule, PolicyDecision, ValidationResult } from './types.js';
6
+ /**
7
+ * Default policy rules for credential governance
8
+ */
9
+ export declare const DEFAULT_POLICY_RULES: PolicyRule[];
10
+ /**
11
+ * Evaluate policies for a passport and action
12
+ * Returns the policy decision
13
+ */
14
+ export declare function evaluatePolicy(passport: Passport, action: string, rules?: PolicyRule[]): PolicyDecision;
15
+ /**
16
+ * Validate a passport against all policy rules
17
+ * Returns list of violations
18
+ */
19
+ export declare function validatePassport(passport: Passport, rules?: PolicyRule[]): ValidationResult[];
20
+ /**
21
+ * Create a custom policy rule
22
+ */
23
+ export declare function createPolicyRule(input: Omit<PolicyRule, 'id'> & {
24
+ id?: string;
25
+ }): PolicyRule;
26
+ /**
27
+ * Merge policy rules, with later rules overriding earlier ones by ID
28
+ */
29
+ export declare function mergePolicyRules(...ruleSets: PolicyRule[][]): PolicyRule[];
30
+ /**
31
+ * Filter rules by enabled status
32
+ */
33
+ export declare function getEnabledRules(rules: PolicyRule[]): PolicyRule[];
34
+ /**
35
+ * Check if passport has valid human owner
36
+ */
37
+ export declare function hasValidHumanOwner(passport: Passport): boolean;
38
+ /**
39
+ * Check if passport is within validity period
40
+ */
41
+ export declare function isWithinValidityPeriod(passport: Passport): boolean;
42
+ /**
43
+ * Check if passport has excessive delegation
44
+ */
45
+ export declare function hasExcessiveDelegation(passport: Passport, maxDepth?: number): boolean;
46
+ /**
47
+ * Check if passport scope is too broad
48
+ */
49
+ export declare function hasBroadScope(passport: Passport, maxScopes?: number): boolean;
50
+ /**
51
+ * Check if passport has privileged access
52
+ */
53
+ export declare function hasPrivilegedAccess(passport: Passport): boolean;
54
+ /**
55
+ * Builder for creating policy rules fluently
56
+ */
57
+ export declare class PolicyBuilder {
58
+ private rule;
59
+ constructor(id: string);
60
+ name(name: string): PolicyBuilder;
61
+ description(description: string): PolicyBuilder;
62
+ forVisaTypes(...types: string[]): PolicyBuilder;
63
+ forPlatforms(...platforms: string[]): PolicyBuilder;
64
+ forCredentialTypes(...types: string[]): PolicyBuilder;
65
+ requireHumanOwner(): PolicyBuilder;
66
+ maxDelegationDepth(depth: number): PolicyBuilder;
67
+ maxValidityDays(days: number): PolicyBuilder;
68
+ withCustomCondition(fn: (passport: Passport) => boolean): PolicyBuilder;
69
+ deny(): PolicyBuilder;
70
+ requireApproval(): PolicyBuilder;
71
+ allow(): PolicyBuilder;
72
+ priority(priority: number): PolicyBuilder;
73
+ disabled(): PolicyBuilder;
74
+ build(): PolicyRule;
75
+ }
76
+ /**
77
+ * Start building a policy rule
78
+ */
79
+ export declare function policy(id: string): PolicyBuilder;
80
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,cAAc,EAEd,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA6C5C,CAAC;AAoGF;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,UAAU,EAAyB,GACzC,cAAc,CAgChB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,UAAU,EAAyB,GACzC,gBAAgB,EAAE,CA2DpB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,UAAU,CAUZ;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,CAU1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEjE;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAQlE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAE,MAAU,GAAG,OAAO,CAExF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAEjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE/D;AAMD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAIV;gBAEU,EAAE,EAAE,MAAM;IAItB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAKjC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAK/C,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa;IAK/C,YAAY,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,aAAa;IAKnD,kBAAkB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa;IAKrD,iBAAiB,IAAI,aAAa;IAKlC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAKhD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAK5C,mBAAmB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,GAAG,aAAa;IAKvE,IAAI,IAAI,aAAa;IAKrB,eAAe,IAAI,aAAa;IAKhC,KAAK,IAAI,aAAa;IAKtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAKzC,QAAQ,IAAI,aAAa;IAKzB,KAAK,IAAI,UAAU;CASpB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAEhD"}