@vess-id/ai-identity 0.0.0-dev-20260902121045

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 (173) hide show
  1. package/README.md +265 -0
  2. package/dist/agent/agent-did-manager.d.ts +97 -0
  3. package/dist/agent/agent-did-manager.d.ts.map +1 -0
  4. package/dist/auth/auth-provider.d.ts +51 -0
  5. package/dist/auth/auth-provider.d.ts.map +1 -0
  6. package/dist/auth/index.d.ts +2 -0
  7. package/dist/auth/index.d.ts.map +1 -0
  8. package/dist/client.d.ts +63 -0
  9. package/dist/client.d.ts.map +1 -0
  10. package/dist/config/index.d.ts +84 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/constraint/constraint-evaluator.d.ts +103 -0
  13. package/dist/constraint/constraint-evaluator.d.ts.map +1 -0
  14. package/dist/constraint/index.d.ts +5 -0
  15. package/dist/constraint/index.d.ts.map +1 -0
  16. package/dist/did/agent.d.ts +58 -0
  17. package/dist/did/agent.d.ts.map +1 -0
  18. package/dist/did/did-utils.d.ts +82 -0
  19. package/dist/did/did-utils.d.ts.map +1 -0
  20. package/dist/did/key-manager.d.ts +19 -0
  21. package/dist/did/key-manager.d.ts.map +1 -0
  22. package/dist/gateway/gateway-client.d.ts +103 -0
  23. package/dist/gateway/gateway-client.d.ts.map +1 -0
  24. package/dist/gateway/index.d.ts +2 -0
  25. package/dist/gateway/index.d.ts.map +1 -0
  26. package/dist/grant/grant-manager.d.ts +140 -0
  27. package/dist/grant/grant-manager.d.ts.map +1 -0
  28. package/dist/grant/index.d.ts +2 -0
  29. package/dist/grant/index.d.ts.map +1 -0
  30. package/dist/identity/device-enroll-manager.d.ts +117 -0
  31. package/dist/identity/device-enroll-manager.d.ts.map +1 -0
  32. package/dist/identity/user-identity-manager.d.ts +123 -0
  33. package/dist/identity/user-identity-manager.d.ts.map +1 -0
  34. package/dist/identity/user-key-pair-manager.d.ts +22 -0
  35. package/dist/identity/user-key-pair-manager.d.ts.map +1 -0
  36. package/dist/index.d.mts +42685 -0
  37. package/dist/index.d.ts +57 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +19534 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/index.mjs +19347 -0
  42. package/dist/index.mjs.map +1 -0
  43. package/dist/internal-signature/canonical.d.ts +80 -0
  44. package/dist/internal-signature/canonical.d.ts.map +1 -0
  45. package/dist/internal-signature/index.d.ts +17 -0
  46. package/dist/internal-signature/index.d.ts.map +1 -0
  47. package/dist/internal-signature/signer.d.ts +76 -0
  48. package/dist/internal-signature/signer.d.ts.map +1 -0
  49. package/dist/policy/cedar-engine.d.ts +334 -0
  50. package/dist/policy/cedar-engine.d.ts.map +1 -0
  51. package/dist/policy/cedar-entities.d.ts +59 -0
  52. package/dist/policy/cedar-entities.d.ts.map +1 -0
  53. package/dist/policy/decision.d.ts +46 -0
  54. package/dist/policy/decision.d.ts.map +1 -0
  55. package/dist/policy/index.d.ts +15 -0
  56. package/dist/policy/index.d.ts.map +1 -0
  57. package/dist/registry/access-orchestrator.d.ts +184 -0
  58. package/dist/registry/access-orchestrator.d.ts.map +1 -0
  59. package/dist/registry/action-aliases.d.ts +37 -0
  60. package/dist/registry/action-aliases.d.ts.map +1 -0
  61. package/dist/registry/action-input-validator.d.ts +19 -0
  62. package/dist/registry/action-input-validator.d.ts.map +1 -0
  63. package/dist/registry/action-normalizer.d.ts +47 -0
  64. package/dist/registry/action-normalizer.d.ts.map +1 -0
  65. package/dist/registry/action-registry-json.d.ts +35897 -0
  66. package/dist/registry/action-registry-json.d.ts.map +1 -0
  67. package/dist/registry/action-registry.d.ts +101 -0
  68. package/dist/registry/action-registry.d.ts.map +1 -0
  69. package/dist/registry/action-risk.d.ts +109 -0
  70. package/dist/registry/action-risk.d.ts.map +1 -0
  71. package/dist/registry/action-summary.d.ts +16 -0
  72. package/dist/registry/action-summary.d.ts.map +1 -0
  73. package/dist/registry/index.d.ts +14 -0
  74. package/dist/registry/index.d.ts.map +1 -0
  75. package/dist/registry/providers.d.ts +32 -0
  76. package/dist/registry/providers.d.ts.map +1 -0
  77. package/dist/registry/reauth-constants.d.ts +56 -0
  78. package/dist/registry/reauth-constants.d.ts.map +1 -0
  79. package/dist/registry/resource-type-labels.d.ts +15 -0
  80. package/dist/registry/resource-type-labels.d.ts.map +1 -0
  81. package/dist/registry/resource-types.d.ts +47 -0
  82. package/dist/registry/resource-types.d.ts.map +1 -0
  83. package/dist/resolver/approval-time-resolution.d.ts +72 -0
  84. package/dist/resolver/approval-time-resolution.d.ts.map +1 -0
  85. package/dist/resolver/canonical-resource-id.d.ts +37 -0
  86. package/dist/resolver/canonical-resource-id.d.ts.map +1 -0
  87. package/dist/resolver/compare-resource-id.d.ts +37 -0
  88. package/dist/resolver/compare-resource-id.d.ts.map +1 -0
  89. package/dist/resolver/salient-digest.d.ts +48 -0
  90. package/dist/resolver/salient-digest.d.ts.map +1 -0
  91. package/dist/resolver/target-resolver.d.ts +28 -0
  92. package/dist/resolver/target-resolver.d.ts.map +1 -0
  93. package/dist/state/index.d.ts +3 -0
  94. package/dist/state/index.d.ts.map +1 -0
  95. package/dist/state/json-state-store.d.ts +24 -0
  96. package/dist/state/json-state-store.d.ts.map +1 -0
  97. package/dist/state/state-store.interface.d.ts +37 -0
  98. package/dist/state/state-store.interface.d.ts.map +1 -0
  99. package/dist/storage/filesystem-key-storage.d.ts +16 -0
  100. package/dist/storage/filesystem-key-storage.d.ts.map +1 -0
  101. package/dist/storage/index.d.ts +4 -0
  102. package/dist/storage/index.d.ts.map +1 -0
  103. package/dist/storage/key-storage.interface.d.ts +42 -0
  104. package/dist/storage/key-storage.interface.d.ts.map +1 -0
  105. package/dist/storage/memory-key-storage.d.ts +17 -0
  106. package/dist/storage/memory-key-storage.d.ts.map +1 -0
  107. package/dist/tool/tool-manager.d.ts +44 -0
  108. package/dist/tool/tool-manager.d.ts.map +1 -0
  109. package/dist/types/agent.d.ts +139 -0
  110. package/dist/types/agent.d.ts.map +1 -0
  111. package/dist/types/audit.d.ts +23 -0
  112. package/dist/types/audit.d.ts.map +1 -0
  113. package/dist/types/cedar-policy.d.ts +60 -0
  114. package/dist/types/cedar-policy.d.ts.map +1 -0
  115. package/dist/types/connector-plugin.d.ts +252 -0
  116. package/dist/types/connector-plugin.d.ts.map +1 -0
  117. package/dist/types/connectors.d.ts +39 -0
  118. package/dist/types/connectors.d.ts.map +1 -0
  119. package/dist/types/context.d.ts +152 -0
  120. package/dist/types/context.d.ts.map +1 -0
  121. package/dist/types/did.d.ts +18 -0
  122. package/dist/types/did.d.ts.map +1 -0
  123. package/dist/types/errors.d.ts +24 -0
  124. package/dist/types/errors.d.ts.map +1 -0
  125. package/dist/types/grant.d.ts +522 -0
  126. package/dist/types/grant.d.ts.map +1 -0
  127. package/dist/types/index.d.ts +22 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/intent.d.ts +133 -0
  130. package/dist/types/intent.d.ts.map +1 -0
  131. package/dist/types/invitation.d.ts +97 -0
  132. package/dist/types/invitation.d.ts.map +1 -0
  133. package/dist/types/jira.d.ts +348 -0
  134. package/dist/types/jira.d.ts.map +1 -0
  135. package/dist/types/oauth.d.ts +72 -0
  136. package/dist/types/oauth.d.ts.map +1 -0
  137. package/dist/types/organization.d.ts +77 -0
  138. package/dist/types/organization.d.ts.map +1 -0
  139. package/dist/types/permission-mode.d.ts +138 -0
  140. package/dist/types/permission-mode.d.ts.map +1 -0
  141. package/dist/types/permission-vc.d.ts +800 -0
  142. package/dist/types/permission-vc.d.ts.map +1 -0
  143. package/dist/types/receipt.d.ts +133 -0
  144. package/dist/types/receipt.d.ts.map +1 -0
  145. package/dist/types/target-binding.d.ts +163 -0
  146. package/dist/types/target-binding.d.ts.map +1 -0
  147. package/dist/types/tier.d.ts +13 -0
  148. package/dist/types/tier.d.ts.map +1 -0
  149. package/dist/types/vc.d.ts +213 -0
  150. package/dist/types/vc.d.ts.map +1 -0
  151. package/dist/types/vp.d.ts +25 -0
  152. package/dist/types/vp.d.ts.map +1 -0
  153. package/dist/utils/action-classifier.d.ts +13 -0
  154. package/dist/utils/action-classifier.d.ts.map +1 -0
  155. package/dist/utils/crypto.d.ts +22 -0
  156. package/dist/utils/crypto.d.ts.map +1 -0
  157. package/dist/utils/freemail-domains.d.ts +13 -0
  158. package/dist/utils/freemail-domains.d.ts.map +1 -0
  159. package/dist/utils/sdjwt-client.d.ts +415 -0
  160. package/dist/utils/sdjwt-client.d.ts.map +1 -0
  161. package/dist/utils/sdjwt-disclosure.d.ts +13 -0
  162. package/dist/utils/sdjwt-disclosure.d.ts.map +1 -0
  163. package/dist/utils/tier-utils.d.ts +15 -0
  164. package/dist/utils/tier-utils.d.ts.map +1 -0
  165. package/dist/vc/api-vc-manager.d.ts +43 -0
  166. package/dist/vc/api-vc-manager.d.ts.map +1 -0
  167. package/dist/vc/vc-manager.d.ts +55 -0
  168. package/dist/vc/vc-manager.d.ts.map +1 -0
  169. package/dist/vp/kb-jwt-builder.d.ts +89 -0
  170. package/dist/vp/kb-jwt-builder.d.ts.map +1 -0
  171. package/dist/vp/vp-manager.d.ts +75 -0
  172. package/dist/vp/vp-manager.d.ts.map +1 -0
  173. package/package.json +66 -0
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Connector Plugin Types
3
+ *
4
+ * This module defines the interfaces and types for connector plugins,
5
+ * enabling standardized integration with external services like Slack,
6
+ * Jira, GitHub, etc.
7
+ */
8
+ import { ConnectorResponse } from './connectors';
9
+ /**
10
+ * Risk level classification for connector actions.
11
+ * Used to determine required approval levels and audit logging.
12
+ *
13
+ * - 'low': Read-only operations, no side effects
14
+ * - 'medium': Write operations with limited scope
15
+ * - 'high': Destructive or high-impact operations
16
+ */
17
+ export type ActionRiskLevel = 'low' | 'medium' | 'high';
18
+ /**
19
+ * JSON Schema compatible input schema for connector actions.
20
+ * Defines the expected parameters for an action.
21
+ */
22
+ export interface ActionInputSchema {
23
+ /** Must be 'object' for action parameters */
24
+ type: 'object';
25
+ /** Property definitions for each parameter */
26
+ properties: Record<string, {
27
+ /** JSON Schema type (string, number, boolean, array, object) */
28
+ type: string;
29
+ /** Human-readable description of the parameter */
30
+ description?: string;
31
+ /** Whether this parameter is required (deprecated, use top-level required array) */
32
+ required?: boolean;
33
+ /** Default value if not provided */
34
+ default?: unknown;
35
+ /** Allowed values for enum types */
36
+ enum?: unknown[];
37
+ /** Minimum value for numbers */
38
+ minimum?: number;
39
+ /** Maximum value for numbers */
40
+ maximum?: number;
41
+ /** Minimum length for strings */
42
+ minLength?: number;
43
+ /** Maximum length for strings */
44
+ maxLength?: number;
45
+ /** Items schema for arrays */
46
+ items?: {
47
+ type: string;
48
+ [key: string]: unknown;
49
+ };
50
+ /** Additional JSON Schema properties */
51
+ [key: string]: unknown;
52
+ }>;
53
+ /** Array of required property names */
54
+ required?: string[];
55
+ }
56
+ /**
57
+ * Metadata describing a connector action.
58
+ * Used for discovery, validation, and documentation.
59
+ */
60
+ export interface ConnectorAction {
61
+ /** Unique action identifier (e.g., 'send_message', 'create_issue') */
62
+ name: string;
63
+ /** Human-readable description of what the action does */
64
+ description: string;
65
+ /** JSON Schema defining the action's input parameters */
66
+ inputSchema: ActionInputSchema;
67
+ /** Risk classification for approval workflows */
68
+ riskLevel: ActionRiskLevel;
69
+ /** OAuth scopes required to execute this action */
70
+ requiredScopes?: string[];
71
+ }
72
+ /**
73
+ * Token configuration for connector authentication.
74
+ * Encapsulates all authentication-related data in a single object.
75
+ */
76
+ export interface ConnectorTokenConfig {
77
+ /** OAuth access token for API authentication */
78
+ accessToken: string;
79
+ /** OAuth refresh token for token renewal */
80
+ refreshToken?: string;
81
+ /**
82
+ * Provider-specific metadata (e.g., cloudId for Jira, workspace for Slack).
83
+ * This allows connectors to store additional context needed for API calls.
84
+ */
85
+ providerMetadata?: Record<string, unknown>;
86
+ /**
87
+ * OAuth provider this token was issued by (e.g. 'google', 'microsoft').
88
+ *
89
+ * Needed by connectors that one tool name can reach through more than one
90
+ * provider — `calendar` runs on both Google Calendar and Microsoft Graph, and
91
+ * the adapter cannot pick the right API client from the access token alone.
92
+ * Optional so single-provider connectors and older callers are unaffected;
93
+ * a connector that reads it must define its own default when absent.
94
+ */
95
+ provider?: string;
96
+ /**
97
+ * Scopes granted to this token, as stored by the API.
98
+ *
99
+ * Lets a connector report a capability gap itself instead of failing with the
100
+ * provider's raw error. Optional: absent means "unknown", never "none".
101
+ */
102
+ scopes?: string[];
103
+ }
104
+ /**
105
+ * Extended metadata for connector response.
106
+ * Extends Record to allow additional custom fields while providing
107
+ * common metadata properties.
108
+ */
109
+ export interface ConnectorResponseMetadata extends Record<string, unknown> {
110
+ /** Time taken to execute the action in milliseconds */
111
+ executionTime?: number;
112
+ /** Remaining rate limit quota from the provider */
113
+ rateLimitRemaining?: number;
114
+ }
115
+ /**
116
+ * Execution context for thread-safe connector operations.
117
+ * Allows passing authentication and request tracking per-call
118
+ * instead of relying on singleton configuration.
119
+ */
120
+ export interface ConnectorExecutionContext {
121
+ /**
122
+ * Token configuration for this specific execution.
123
+ * When provided, overrides any configured singleton token.
124
+ * This enables thread-safe operation with multiple users/tokens.
125
+ */
126
+ token?: ConnectorTokenConfig;
127
+ /**
128
+ * Unique identifier for request tracing and correlation.
129
+ * Useful for debugging and audit logging.
130
+ */
131
+ requestId?: string;
132
+ /**
133
+ * The acting (caller) identity for this execution.
134
+ *
135
+ * Most connectors are external SaaS integrations that only need an OAuth
136
+ * `token` and therefore ignore this field. Internal connectors (e.g. the
137
+ * Agent Inbox, scheduling-link) have NO external OAuth token; instead they
138
+ * act on behalf of an authenticated user, so they need the caller's
139
+ * identity. The API populates this from the request's AuthContext
140
+ * (`userInfo`) in `ToolAuthService.buildConnectorExecutionContext`.
141
+ *
142
+ * Purely additive: existing connectors that never read `actor` are
143
+ * unaffected.
144
+ */
145
+ actor?: {
146
+ /** Internal user id of the acting caller. */
147
+ userId: string;
148
+ /** Decentralized identifier (DID) of the acting caller. */
149
+ did: string;
150
+ /** Email of the acting caller, when known. */
151
+ email?: string;
152
+ };
153
+ }
154
+ /**
155
+ * Core interface for connector plugins.
156
+ *
157
+ * Connectors implement this interface to provide standardized access
158
+ * to external services. The interface supports both singleton-style
159
+ * configuration (via configureToken) and thread-safe per-call tokens
160
+ * (via ConnectorExecutionContext).
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * class SlackConnector implements IConnectorService {
165
+ * readonly name = 'slack';
166
+ * readonly oauthProvider = 'slack';
167
+ * readonly version = '1.0.0';
168
+ *
169
+ * getSupportedActions(): ConnectorAction[] {
170
+ * return [
171
+ * {
172
+ * name: 'send_message',
173
+ * description: 'Send a message to a Slack channel',
174
+ * inputSchema: { ... },
175
+ * riskLevel: 'low',
176
+ * requiredScopes: ['chat:write']
177
+ * }
178
+ * ];
179
+ * }
180
+ *
181
+ * async executeAction(
182
+ * action: string,
183
+ * params: Record<string, unknown>,
184
+ * context?: ConnectorExecutionContext
185
+ * ): Promise<ConnectorResponse> {
186
+ * const token = context?.token ?? this.configuredToken;
187
+ * // Execute action with token...
188
+ * }
189
+ * }
190
+ * ```
191
+ */
192
+ export interface IConnectorService {
193
+ /** Unique identifier for this connector (e.g., 'slack', 'jira', 'github') */
194
+ readonly name: string;
195
+ /**
196
+ * OAuth provider identifier used for token management.
197
+ * For a connector reachable through several providers this is the DEFAULT
198
+ * one; see {@link IConnectorService.oauthProviders}.
199
+ */
200
+ readonly oauthProvider: string;
201
+ /**
202
+ * Every OAuth provider this connector can execute against, most preferred
203
+ * first, starting with `oauthProvider`.
204
+ *
205
+ * Optional and additive: a connector that omits it is treated as
206
+ * `[oauthProvider]`. Declare it only when one tool name can run on more than
207
+ * one provider (e.g. a calendar connector serving both Google Calendar and
208
+ * Microsoft Graph), so the host can pick the provider from the user's actual
209
+ * connections instead of a fixed tool→provider map.
210
+ */
211
+ readonly oauthProviders?: readonly string[];
212
+ /** Semantic version of the connector implementation */
213
+ readonly version?: string;
214
+ /**
215
+ * Returns the list of actions supported by this connector.
216
+ * Used for capability discovery and validation.
217
+ *
218
+ * @returns Array of action metadata
219
+ */
220
+ getSupportedActions(): ConnectorAction[];
221
+ /**
222
+ * Executes a connector action with the given parameters.
223
+ *
224
+ * For thread-safety, prefer passing token via context rather than
225
+ * relying on configureToken(). This allows concurrent operations
226
+ * with different user tokens.
227
+ *
228
+ * @param action - Action name to execute (must be in getSupportedActions())
229
+ * @param params - Action parameters matching the action's inputSchema
230
+ * @param context - Optional execution context with per-call token and request ID
231
+ * @returns Promise resolving to the action result
232
+ * @throws Error if action is not supported or parameters are invalid
233
+ */
234
+ executeAction(action: string, params: Record<string, unknown>, context?: ConnectorExecutionContext): Promise<ConnectorResponse>;
235
+ /**
236
+ * Configures the default token for this connector instance.
237
+ *
238
+ * @deprecated Prefer passing token via ConnectorExecutionContext for thread-safety.
239
+ * This method is retained for backward compatibility and simple single-user scenarios.
240
+ *
241
+ * @param config - Token configuration object
242
+ */
243
+ configureToken(config: ConnectorTokenConfig): void;
244
+ /**
245
+ * Tests the connection to the external service.
246
+ * Useful for validation during setup and health checks.
247
+ *
248
+ * @returns Promise resolving to true if connection is successful
249
+ */
250
+ testConnection(): Promise<boolean>;
251
+ }
252
+ //# sourceMappingURL=connector-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-plugin.d.ts","sourceRoot":"","sources":["../../src/types/connector-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export interface ConnectorConfig {
2
+ clientId?: string;
3
+ clientSecret?: string;
4
+ accessToken?: string;
5
+ refreshToken?: string;
6
+ scope?: string[];
7
+ baseUrl?: string;
8
+ }
9
+ export interface SlackConfig extends ConnectorConfig {
10
+ workspace?: string;
11
+ }
12
+ export interface GitHubConfig extends ConnectorConfig {
13
+ owner?: string;
14
+ repo?: string;
15
+ }
16
+ export interface GoogleConfig extends ConnectorConfig {
17
+ serviceAccount?: any;
18
+ }
19
+ export interface JiraConfig extends ConnectorConfig {
20
+ /** Atlassian Cloud ID(必須) */
21
+ cloudId: string;
22
+ /** JIRAサイトURL */
23
+ siteUrl?: string;
24
+ /** デフォルトプロジェクトキー */
25
+ projectKey?: string;
26
+ }
27
+ export interface ConnectorResponse<T = any> {
28
+ success: boolean;
29
+ data?: T;
30
+ error?: string;
31
+ metadata?: Record<string, any>;
32
+ }
33
+ export interface ToolInvocation {
34
+ tool: string;
35
+ action: string;
36
+ params: Record<string, any>;
37
+ vcs: string[];
38
+ }
39
+ //# sourceMappingURL=connectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/types/connectors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,cAAc,CAAC,EAAE,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oBAAoB;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,GAAG,EAAE,MAAM,EAAE,CAAA;CACd"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Context(コンテキスト)関連の型定義
3
+ * VESS AI Agent Permission Gateway MVP
4
+ */
5
+ /**
6
+ * リスクレベル
7
+ */
8
+ export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
9
+ /**
10
+ * 評価コンテキスト
11
+ * 判定に使用する状況情報
12
+ */
13
+ export interface EvaluationContext {
14
+ /** タイムスタンプ(ISO 8601) */
15
+ timestamp: string;
16
+ /** 実行者Agent DID */
17
+ executorDid: string;
18
+ /** オーナーUser DID */
19
+ ownerDid?: string;
20
+ /** 対象コネクタ(slack, github, drive等) */
21
+ targetConnector: string;
22
+ /** 当該Grant使用回数 */
23
+ invocationCount: number;
24
+ /** リスクレベル */
25
+ riskLevel: RiskLevel;
26
+ /** リスクスコア(0-100) */
27
+ riskScore?: number;
28
+ /** IPアドレス */
29
+ ipAddress?: string;
30
+ /** ユーザーエージェント */
31
+ userAgent?: string;
32
+ /** セッションID */
33
+ sessionId?: string;
34
+ /** プロジェクトID */
35
+ projectId?: string;
36
+ /** 環境タグ(production, staging等) */
37
+ environmentTags?: string[];
38
+ /** カスタム属性(将来のRAG/組織ルール拡張用) */
39
+ customAttributes?: Record<string, unknown>;
40
+ }
41
+ /**
42
+ * 制約違反
43
+ */
44
+ export interface ConstraintViolation {
45
+ /** 違反タイプ */
46
+ type: 'time_window' | 'max_invocations' | 'ip_allowlist' | 'risk_threshold' | 'expired' | 'resource_scope' | 'action_scope';
47
+ /** エラーメッセージ */
48
+ message: string;
49
+ /** 詳細情報 */
50
+ details?: Record<string, unknown>;
51
+ }
52
+ /**
53
+ * 制約警告
54
+ */
55
+ export interface ConstraintWarning {
56
+ /** 警告タイプ */
57
+ type: 'approaching_limit' | 'high_risk' | 'unusual_time' | 'unusual_location' | 'frequent_access';
58
+ /** 警告メッセージ */
59
+ message: string;
60
+ /** 詳細情報 */
61
+ details?: Record<string, unknown>;
62
+ }
63
+ /**
64
+ * 制約評価結果
65
+ */
66
+ export interface ConstraintEvaluationResult {
67
+ /** 許可されているか */
68
+ allowed: boolean;
69
+ /** 違反一覧 */
70
+ violations: ConstraintViolation[];
71
+ /** 警告一覧 */
72
+ warnings: ConstraintWarning[];
73
+ /** 評価日時 */
74
+ evaluatedAt: string;
75
+ /** 評価に使用したコンテキスト */
76
+ context?: EvaluationContext;
77
+ }
78
+ /**
79
+ * コンテキスト収集リクエスト
80
+ */
81
+ export interface CollectContextRequest {
82
+ /** 実行者DID */
83
+ executorDid: string;
84
+ /** GrantのID */
85
+ grantId?: string;
86
+ /** 対象コネクタ */
87
+ targetConnector: string;
88
+ /** HTTPリクエスト情報 */
89
+ request?: {
90
+ ipAddress?: string;
91
+ userAgent?: string;
92
+ headers?: Record<string, string>;
93
+ };
94
+ /** 追加属性 */
95
+ additionalAttributes?: Record<string, unknown>;
96
+ }
97
+ /**
98
+ * 時間帯チェック結果
99
+ */
100
+ export interface TimeWindowCheckResult {
101
+ /** 許可時間帯内か */
102
+ withinWindow: boolean;
103
+ /** 現在時刻 */
104
+ currentTime: string;
105
+ /** 許可開始時刻 */
106
+ windowStart?: string;
107
+ /** 許可終了時刻 */
108
+ windowEnd?: string;
109
+ /** タイムゾーン */
110
+ timezone: string;
111
+ /** 今日の曜日が許可されているか */
112
+ dayAllowed: boolean;
113
+ }
114
+ /**
115
+ * リスク評価結果
116
+ */
117
+ export interface RiskAssessmentResult {
118
+ /** リスクスコア(0-100) */
119
+ score: number;
120
+ /** リスクレベル */
121
+ level: RiskLevel;
122
+ /** リスク要因 */
123
+ factors: RiskFactor[];
124
+ /** 評価日時 */
125
+ assessedAt: string;
126
+ }
127
+ /**
128
+ * リスク要因
129
+ */
130
+ export interface RiskFactor {
131
+ /** 要因タイプ */
132
+ type: 'new_ip' | 'unusual_time' | 'high_frequency' | 'sensitive_resource' | 'bulk_operation' | 'privilege_escalation';
133
+ /** 重み付け(0-1) */
134
+ weight: number;
135
+ /** 説明 */
136
+ description: string;
137
+ /** 詳細情報 */
138
+ details?: Record<string, unknown>;
139
+ }
140
+ /**
141
+ * コンテキストプロバイダーインターフェース
142
+ * 将来のRAG/外部ルールエンジン統合用
143
+ */
144
+ export interface ContextProvider {
145
+ /** プロバイダー名 */
146
+ name: string;
147
+ /** プロバイダータイプ */
148
+ type: 'internal' | 'rag' | 'policy_engine' | 'custom';
149
+ /** コンテキスト収集 */
150
+ collect(request: CollectContextRequest): Promise<Partial<EvaluationContext>>;
151
+ }
152
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAE9D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa;IACb,SAAS,EAAE,SAAS,CAAA;IACpB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY;IACZ,IAAI,EAAE,aAAa,GAAG,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,cAAc,CAAA;IAC3H,eAAe;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY;IACZ,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;IACjG,cAAc;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,WAAW;IACX,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,WAAW;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,aAAa;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB;IAClB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;IACD,WAAW;IACX,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,cAAc;IACd,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,YAAY;IACZ,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,WAAW;IACX,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,sBAAsB,CAAA;IACrH,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,eAAe,GAAG,QAAQ,CAAA;IACrD,eAAe;IACf,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;CAC7E"}
@@ -0,0 +1,18 @@
1
+ export interface DIDDocument {
2
+ '@context': string | string[];
3
+ id: string;
4
+ verificationMethod?: VerificationMethod[];
5
+ authentication?: (string | VerificationMethod)[];
6
+ assertionMethod?: (string | VerificationMethod)[];
7
+ keyAgreement?: (string | VerificationMethod)[];
8
+ capabilityInvocation?: (string | VerificationMethod)[];
9
+ capabilityDelegation?: (string | VerificationMethod)[];
10
+ }
11
+ export interface VerificationMethod {
12
+ id: string;
13
+ type: string;
14
+ controller: string;
15
+ publicKeyJwk?: any;
16
+ publicKeyMultibase?: string;
17
+ }
18
+ //# sourceMappingURL=did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACzC,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAA;IAChD,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAA;IACjD,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAA;IAC9C,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAA;IACtD,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAA;CACvD;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B"}
@@ -0,0 +1,24 @@
1
+ export declare class AIdentityError extends Error {
2
+ readonly code: string;
3
+ readonly details?: any | undefined;
4
+ constructor(message: string, code: string, details?: any | undefined);
5
+ }
6
+ export declare class VCExpiredError extends AIdentityError {
7
+ constructor(message?: string, details?: any);
8
+ }
9
+ export declare class ScopeUnmatchedError extends AIdentityError {
10
+ constructor(message?: string, details?: any);
11
+ }
12
+ export declare class VCRevokedError extends AIdentityError {
13
+ constructor(message?: string, details?: any);
14
+ }
15
+ export declare class InvalidVPError extends AIdentityError {
16
+ constructor(message?: string, details?: any);
17
+ }
18
+ export declare class AuthenticationError extends AIdentityError {
19
+ constructor(message?: string, details?: any);
20
+ }
21
+ export declare class NetworkError extends AIdentityError {
22
+ constructor(message?: string, details?: any);
23
+ }
24
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,OAAO,CAAC,EAAE,GAAG;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,GAAG,YAAA;CAMhC;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,SAAsC,EAAE,OAAO,CAAC,EAAE,GAAG;CAGzE;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,SAA8C,EAAE,OAAO,CAAC,EAAE,GAAG;CAGjF;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,SAA2C,EAAE,OAAO,CAAC,EAAE,GAAG;CAG9E;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,SAAuC,EAAE,OAAO,CAAC,EAAE,GAAG;CAG1E;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,SAA0B,EAAE,OAAO,CAAC,EAAE,GAAG;CAG7D;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAClC,OAAO,SAA2B,EAAE,OAAO,CAAC,EAAE,GAAG;CAG9D"}