@vess-id/vess 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 (321) hide show
  1. package/LICENSE +64 -0
  2. package/README.md +215 -0
  3. package/bin/vess.js +2 -0
  4. package/dist/__mocks__/@napi-rs/keyring.d.ts +9 -0
  5. package/dist/__mocks__/@napi-rs/keyring.d.ts.map +1 -0
  6. package/dist/__mocks__/@napi-rs/keyring.js +33 -0
  7. package/dist/__mocks__/@napi-rs/keyring.js.map +1 -0
  8. package/dist/__mocks__/node-mac-auth.d.ts +8 -0
  9. package/dist/__mocks__/node-mac-auth.d.ts.map +1 -0
  10. package/dist/__mocks__/node-mac-auth.js +29 -0
  11. package/dist/__mocks__/node-mac-auth.js.map +1 -0
  12. package/dist/adapter/mcp/http-transport.d.ts +40 -0
  13. package/dist/adapter/mcp/http-transport.d.ts.map +1 -0
  14. package/dist/adapter/mcp/http-transport.js +228 -0
  15. package/dist/adapter/mcp/http-transport.js.map +1 -0
  16. package/dist/adapter/mcp/mcp-adapter.d.ts +43 -0
  17. package/dist/adapter/mcp/mcp-adapter.d.ts.map +1 -0
  18. package/dist/adapter/mcp/mcp-adapter.js +65 -0
  19. package/dist/adapter/mcp/mcp-adapter.js.map +1 -0
  20. package/dist/adapter/mcp/mcp-server.factory.d.ts +44 -0
  21. package/dist/adapter/mcp/mcp-server.factory.d.ts.map +1 -0
  22. package/dist/adapter/mcp/mcp-server.factory.js +311 -0
  23. package/dist/adapter/mcp/mcp-server.factory.js.map +1 -0
  24. package/dist/adapter/mcp/stdio-transport.d.ts +7 -0
  25. package/dist/adapter/mcp/stdio-transport.d.ts.map +1 -0
  26. package/dist/adapter/mcp/stdio-transport.js +13 -0
  27. package/dist/adapter/mcp/stdio-transport.js.map +1 -0
  28. package/dist/adapter/mcp/transport.d.ts +10 -0
  29. package/dist/adapter/mcp/transport.d.ts.map +1 -0
  30. package/dist/adapter/mcp/transport.js +14 -0
  31. package/dist/adapter/mcp/transport.js.map +1 -0
  32. package/dist/approval/approval-token.d.ts +23 -0
  33. package/dist/approval/approval-token.d.ts.map +1 -0
  34. package/dist/approval/approval-token.js +81 -0
  35. package/dist/approval/approval-token.js.map +1 -0
  36. package/dist/audit/audit-dto-mapper.d.ts +29 -0
  37. package/dist/audit/audit-dto-mapper.d.ts.map +1 -0
  38. package/dist/audit/audit-dto-mapper.js +61 -0
  39. package/dist/audit/audit-dto-mapper.js.map +1 -0
  40. package/dist/audit/audit-logger.d.ts +35 -0
  41. package/dist/audit/audit-logger.d.ts.map +1 -0
  42. package/dist/audit/audit-logger.js +67 -0
  43. package/dist/audit/audit-logger.js.map +1 -0
  44. package/dist/audit/audit-sync.d.ts +12 -0
  45. package/dist/audit/audit-sync.d.ts.map +1 -0
  46. package/dist/audit/audit-sync.js +65 -0
  47. package/dist/audit/audit-sync.js.map +1 -0
  48. package/dist/auth/user-authenticator.d.ts +51 -0
  49. package/dist/auth/user-authenticator.d.ts.map +1 -0
  50. package/dist/auth/user-authenticator.js +155 -0
  51. package/dist/auth/user-authenticator.js.map +1 -0
  52. package/dist/bootstrap/sdk-precheck.d.ts +9 -0
  53. package/dist/bootstrap/sdk-precheck.d.ts.map +1 -0
  54. package/dist/bootstrap/sdk-precheck.js +103 -0
  55. package/dist/bootstrap/sdk-precheck.js.map +1 -0
  56. package/dist/cli/claude-config-path.d.ts +17 -0
  57. package/dist/cli/claude-config-path.d.ts.map +1 -0
  58. package/dist/cli/claude-config-path.js +59 -0
  59. package/dist/cli/claude-config-path.js.map +1 -0
  60. package/dist/cli/cli-db.d.ts +12 -0
  61. package/dist/cli/cli-db.d.ts.map +1 -0
  62. package/dist/cli/cli-db.js +20 -0
  63. package/dist/cli/cli-db.js.map +1 -0
  64. package/dist/cli/cli-utils.d.ts +14 -0
  65. package/dist/cli/cli-utils.d.ts.map +1 -0
  66. package/dist/cli/cli-utils.js +57 -0
  67. package/dist/cli/cli-utils.js.map +1 -0
  68. package/dist/cli/daemon-utils.d.ts +30 -0
  69. package/dist/cli/daemon-utils.d.ts.map +1 -0
  70. package/dist/cli/daemon-utils.js +131 -0
  71. package/dist/cli/daemon-utils.js.map +1 -0
  72. package/dist/cli/daemon.d.ts +13 -0
  73. package/dist/cli/daemon.d.ts.map +1 -0
  74. package/dist/cli/daemon.js +207 -0
  75. package/dist/cli/daemon.js.map +1 -0
  76. package/dist/cli/doctor.d.ts +6 -0
  77. package/dist/cli/doctor.d.ts.map +1 -0
  78. package/dist/cli/doctor.js +136 -0
  79. package/dist/cli/doctor.js.map +1 -0
  80. package/dist/cli/env-delete.d.ts +6 -0
  81. package/dist/cli/env-delete.d.ts.map +1 -0
  82. package/dist/cli/env-delete.js +80 -0
  83. package/dist/cli/env-delete.js.map +1 -0
  84. package/dist/cli/env-list.d.ts +5 -0
  85. package/dist/cli/env-list.d.ts.map +1 -0
  86. package/dist/cli/env-list.js +42 -0
  87. package/dist/cli/env-list.js.map +1 -0
  88. package/dist/cli/env-post-integration.d.ts +21 -0
  89. package/dist/cli/env-post-integration.d.ts.map +1 -0
  90. package/dist/cli/env-post-integration.js +300 -0
  91. package/dist/cli/env-post-integration.js.map +1 -0
  92. package/dist/cli/env-restore.d.ts +15 -0
  93. package/dist/cli/env-restore.d.ts.map +1 -0
  94. package/dist/cli/env-restore.js +130 -0
  95. package/dist/cli/env-restore.js.map +1 -0
  96. package/dist/cli/env.d.ts +14 -0
  97. package/dist/cli/env.d.ts.map +1 -0
  98. package/dist/cli/env.js +182 -0
  99. package/dist/cli/env.js.map +1 -0
  100. package/dist/cli/error-handlers.d.ts +13 -0
  101. package/dist/cli/error-handlers.d.ts.map +1 -0
  102. package/dist/cli/error-handlers.js +32 -0
  103. package/dist/cli/error-handlers.js.map +1 -0
  104. package/dist/cli/hook-check-env.d.ts +12 -0
  105. package/dist/cli/hook-check-env.d.ts.map +1 -0
  106. package/dist/cli/hook-check-env.js +117 -0
  107. package/dist/cli/hook-check-env.js.map +1 -0
  108. package/dist/cli/hook-session-project.d.ts +10 -0
  109. package/dist/cli/hook-session-project.d.ts.map +1 -0
  110. package/dist/cli/hook-session-project.js +206 -0
  111. package/dist/cli/hook-session-project.js.map +1 -0
  112. package/dist/cli/index.d.ts +2 -0
  113. package/dist/cli/index.d.ts.map +1 -0
  114. package/dist/cli/index.js +361 -0
  115. package/dist/cli/index.js.map +1 -0
  116. package/dist/cli/init-guard.d.ts +13 -0
  117. package/dist/cli/init-guard.d.ts.map +1 -0
  118. package/dist/cli/init-guard.js +62 -0
  119. package/dist/cli/init-guard.js.map +1 -0
  120. package/dist/cli/init.d.ts +19 -0
  121. package/dist/cli/init.d.ts.map +1 -0
  122. package/dist/cli/init.js +440 -0
  123. package/dist/cli/init.js.map +1 -0
  124. package/dist/cli/install.d.ts +14 -0
  125. package/dist/cli/install.d.ts.map +1 -0
  126. package/dist/cli/install.js +183 -0
  127. package/dist/cli/install.js.map +1 -0
  128. package/dist/cli/login.d.ts +6 -0
  129. package/dist/cli/login.d.ts.map +1 -0
  130. package/dist/cli/login.js +76 -0
  131. package/dist/cli/login.js.map +1 -0
  132. package/dist/cli/logs.d.ts +32 -0
  133. package/dist/cli/logs.d.ts.map +1 -0
  134. package/dist/cli/logs.js +147 -0
  135. package/dist/cli/logs.js.map +1 -0
  136. package/dist/cli/otel-headers.d.ts +12 -0
  137. package/dist/cli/otel-headers.d.ts.map +1 -0
  138. package/dist/cli/otel-headers.js +38 -0
  139. package/dist/cli/otel-headers.js.map +1 -0
  140. package/dist/cli/project.d.ts +8 -0
  141. package/dist/cli/project.d.ts.map +1 -0
  142. package/dist/cli/project.js +102 -0
  143. package/dist/cli/project.js.map +1 -0
  144. package/dist/cli/reset.d.ts +8 -0
  145. package/dist/cli/reset.d.ts.map +1 -0
  146. package/dist/cli/reset.js +137 -0
  147. package/dist/cli/reset.js.map +1 -0
  148. package/dist/cli/run.d.ts +22 -0
  149. package/dist/cli/run.d.ts.map +1 -0
  150. package/dist/cli/run.js +103 -0
  151. package/dist/cli/run.js.map +1 -0
  152. package/dist/cli/start.d.ts +2 -0
  153. package/dist/cli/start.d.ts.map +1 -0
  154. package/dist/cli/start.js +29 -0
  155. package/dist/cli/start.js.map +1 -0
  156. package/dist/cli/status.d.ts +12 -0
  157. package/dist/cli/status.d.ts.map +1 -0
  158. package/dist/cli/status.js +131 -0
  159. package/dist/cli/status.js.map +1 -0
  160. package/dist/cli/telemetry-setup.d.ts +27 -0
  161. package/dist/cli/telemetry-setup.d.ts.map +1 -0
  162. package/dist/cli/telemetry-setup.js +157 -0
  163. package/dist/cli/telemetry-setup.js.map +1 -0
  164. package/dist/cli/uninstall.d.ts +8 -0
  165. package/dist/cli/uninstall.d.ts.map +1 -0
  166. package/dist/cli/uninstall.js +110 -0
  167. package/dist/cli/uninstall.js.map +1 -0
  168. package/dist/cli/version.d.ts +2 -0
  169. package/dist/cli/version.d.ts.map +1 -0
  170. package/dist/cli/version.js +10 -0
  171. package/dist/cli/version.js.map +1 -0
  172. package/dist/config/config.d.ts +10 -0
  173. package/dist/config/config.d.ts.map +1 -0
  174. package/dist/config/config.js +64 -0
  175. package/dist/config/config.js.map +1 -0
  176. package/dist/config/constants.d.ts +11 -0
  177. package/dist/config/constants.d.ts.map +1 -0
  178. package/dist/config/constants.js +14 -0
  179. package/dist/config/constants.js.map +1 -0
  180. package/dist/config/paths.d.ts +9 -0
  181. package/dist/config/paths.d.ts.map +1 -0
  182. package/dist/config/paths.js +58 -0
  183. package/dist/config/paths.js.map +1 -0
  184. package/dist/config/version.d.ts +3 -0
  185. package/dist/config/version.d.ts.map +1 -0
  186. package/dist/config/version.js +80 -0
  187. package/dist/config/version.js.map +1 -0
  188. package/dist/core/execution-engine.d.ts +289 -0
  189. package/dist/core/execution-engine.d.ts.map +1 -0
  190. package/dist/core/execution-engine.js +1931 -0
  191. package/dist/core/execution-engine.js.map +1 -0
  192. package/dist/core/runtime.d.ts +43 -0
  193. package/dist/core/runtime.d.ts.map +1 -0
  194. package/dist/core/runtime.js +147 -0
  195. package/dist/core/runtime.js.map +1 -0
  196. package/dist/core/sync-scheduler.d.ts +42 -0
  197. package/dist/core/sync-scheduler.d.ts.map +1 -0
  198. package/dist/core/sync-scheduler.js +131 -0
  199. package/dist/core/sync-scheduler.js.map +1 -0
  200. package/dist/core/types.d.ts +106 -0
  201. package/dist/core/types.d.ts.map +1 -0
  202. package/dist/core/types.js +7 -0
  203. package/dist/core/types.js.map +1 -0
  204. package/dist/daemon/service-manager.d.ts +68 -0
  205. package/dist/daemon/service-manager.d.ts.map +1 -0
  206. package/dist/daemon/service-manager.js +303 -0
  207. package/dist/daemon/service-manager.js.map +1 -0
  208. package/dist/env/env-classifier.d.ts +14 -0
  209. package/dist/env/env-classifier.d.ts.map +1 -0
  210. package/dist/env/env-classifier.js +94 -0
  211. package/dist/env/env-classifier.js.map +1 -0
  212. package/dist/env/env-parser.d.ts +13 -0
  213. package/dist/env/env-parser.d.ts.map +1 -0
  214. package/dist/env/env-parser.js +33 -0
  215. package/dist/env/env-parser.js.map +1 -0
  216. package/dist/env/env-profile-store.d.ts +15 -0
  217. package/dist/env/env-profile-store.d.ts.map +1 -0
  218. package/dist/env/env-profile-store.js +35 -0
  219. package/dist/env/env-profile-store.js.map +1 -0
  220. package/dist/env/env-reference.d.ts +10 -0
  221. package/dist/env/env-reference.d.ts.map +1 -0
  222. package/dist/env/env-reference.js +33 -0
  223. package/dist/env/env-reference.js.map +1 -0
  224. package/dist/env/env-resolver.d.ts +18 -0
  225. package/dist/env/env-resolver.d.ts.map +1 -0
  226. package/dist/env/env-resolver.js +48 -0
  227. package/dist/env/env-resolver.js.map +1 -0
  228. package/dist/env/fs-utils.d.ts +9 -0
  229. package/dist/env/fs-utils.d.ts.map +1 -0
  230. package/dist/env/fs-utils.js +59 -0
  231. package/dist/env/fs-utils.js.map +1 -0
  232. package/dist/env/secret-backend.d.ts +15 -0
  233. package/dist/env/secret-backend.d.ts.map +1 -0
  234. package/dist/env/secret-backend.js +24 -0
  235. package/dist/env/secret-backend.js.map +1 -0
  236. package/dist/executor/executor-registry.d.ts +22 -0
  237. package/dist/executor/executor-registry.d.ts.map +1 -0
  238. package/dist/executor/executor-registry.js +42 -0
  239. package/dist/executor/executor-registry.js.map +1 -0
  240. package/dist/executor/process-launcher.d.ts +26 -0
  241. package/dist/executor/process-launcher.d.ts.map +1 -0
  242. package/dist/executor/process-launcher.js +98 -0
  243. package/dist/executor/process-launcher.js.map +1 -0
  244. package/dist/executor/secret-file.d.ts +28 -0
  245. package/dist/executor/secret-file.d.ts.map +1 -0
  246. package/dist/executor/secret-file.js +127 -0
  247. package/dist/executor/secret-file.js.map +1 -0
  248. package/dist/gateway/auth.d.ts +26 -0
  249. package/dist/gateway/auth.d.ts.map +1 -0
  250. package/dist/gateway/auth.js +66 -0
  251. package/dist/gateway/auth.js.map +1 -0
  252. package/dist/gateway/gateway-client.d.ts +363 -0
  253. package/dist/gateway/gateway-client.d.ts.map +1 -0
  254. package/dist/gateway/gateway-client.js +611 -0
  255. package/dist/gateway/gateway-client.js.map +1 -0
  256. package/dist/identity/agent-identity.d.ts +29 -0
  257. package/dist/identity/agent-identity.d.ts.map +1 -0
  258. package/dist/identity/agent-identity.js +54 -0
  259. package/dist/identity/agent-identity.js.map +1 -0
  260. package/dist/identity/did-manager.d.ts +17 -0
  261. package/dist/identity/did-manager.d.ts.map +1 -0
  262. package/dist/identity/did-manager.js +29 -0
  263. package/dist/identity/did-manager.js.map +1 -0
  264. package/dist/identity/key-manager.d.ts +21 -0
  265. package/dist/identity/key-manager.d.ts.map +1 -0
  266. package/dist/identity/key-manager.js +126 -0
  267. package/dist/identity/key-manager.js.map +1 -0
  268. package/dist/identity/session-key.d.ts +13 -0
  269. package/dist/identity/session-key.d.ts.map +1 -0
  270. package/dist/identity/session-key.js +17 -0
  271. package/dist/identity/session-key.js.map +1 -0
  272. package/dist/policy/policy-evaluator.d.ts +63 -0
  273. package/dist/policy/policy-evaluator.d.ts.map +1 -0
  274. package/dist/policy/policy-evaluator.js +266 -0
  275. package/dist/policy/policy-evaluator.js.map +1 -0
  276. package/dist/policy/policy-loader.d.ts +10 -0
  277. package/dist/policy/policy-loader.d.ts.map +1 -0
  278. package/dist/policy/policy-loader.js +71 -0
  279. package/dist/policy/policy-loader.js.map +1 -0
  280. package/dist/policy/types.d.ts +21 -0
  281. package/dist/policy/types.d.ts.map +1 -0
  282. package/dist/policy/types.js +3 -0
  283. package/dist/policy/types.js.map +1 -0
  284. package/dist/telemetry/claude-settings.d.ts +67 -0
  285. package/dist/telemetry/claude-settings.d.ts.map +1 -0
  286. package/dist/telemetry/claude-settings.js +191 -0
  287. package/dist/telemetry/claude-settings.js.map +1 -0
  288. package/dist/telemetry/otel-headers.d.ts +27 -0
  289. package/dist/telemetry/otel-headers.d.ts.map +1 -0
  290. package/dist/telemetry/otel-headers.js +33 -0
  291. package/dist/telemetry/otel-headers.js.map +1 -0
  292. package/dist/telemetry/project-key.d.ts +12 -0
  293. package/dist/telemetry/project-key.d.ts.map +1 -0
  294. package/dist/telemetry/project-key.js +113 -0
  295. package/dist/telemetry/project-key.js.map +1 -0
  296. package/dist/utils/credential-errors.d.ts +73 -0
  297. package/dist/utils/credential-errors.d.ts.map +1 -0
  298. package/dist/utils/credential-errors.js +90 -0
  299. package/dist/utils/credential-errors.js.map +1 -0
  300. package/dist/utils/resource-canonicalizer.d.ts +19 -0
  301. package/dist/utils/resource-canonicalizer.d.ts.map +1 -0
  302. package/dist/utils/resource-canonicalizer.js +100 -0
  303. package/dist/utils/resource-canonicalizer.js.map +1 -0
  304. package/dist/utils/vc-utils.d.ts +23 -0
  305. package/dist/utils/vc-utils.d.ts.map +1 -0
  306. package/dist/utils/vc-utils.js +53 -0
  307. package/dist/utils/vc-utils.js.map +1 -0
  308. package/dist/wallet/sqlite.d.ts +4 -0
  309. package/dist/wallet/sqlite.d.ts.map +1 -0
  310. package/dist/wallet/sqlite.js +158 -0
  311. package/dist/wallet/sqlite.js.map +1 -0
  312. package/dist/wallet/vp-builder.d.ts +26 -0
  313. package/dist/wallet/vp-builder.d.ts.map +1 -0
  314. package/dist/wallet/vp-builder.js +55 -0
  315. package/dist/wallet/vp-builder.js.map +1 -0
  316. package/dist/wallet/wallet.d.ts +64 -0
  317. package/dist/wallet/wallet.d.ts.map +1 -0
  318. package/dist/wallet/wallet.js +179 -0
  319. package/dist/wallet/wallet.js.map +1 -0
  320. package/package.json +71 -0
  321. package/required-sdk-symbols.json +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;;;GAIG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAGpB,UAAU,EAAE,MAAM,EACnC,UAAU,CAAC,EAAE,UAAU;IAKzB,eAAe,IAAI,MAAM,GAAG,SAAS;IASrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,eAAe,IAAI,OAAO;IAI1B;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAa/B;;;OAGG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAMtD,aAAa,IAAI,MAAM;CAGxB"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceAuth = void 0;
4
+ const config_1 = require("../config/config");
5
+ const key_manager_1 = require("../identity/key-manager");
6
+ /**
7
+ * Device authentication manager.
8
+ * Session token is stored in OS Keychain (not config file) for security.
9
+ * Falls back to config file for migration from older versions.
10
+ */
11
+ class DeviceAuth {
12
+ configPath;
13
+ keyManager;
14
+ constructor(configPath, keyManager) {
15
+ this.configPath = configPath;
16
+ this.keyManager = keyManager ?? new key_manager_1.KeyManager();
17
+ }
18
+ getSessionToken() {
19
+ // Prefer Keychain, fall back to config for migration
20
+ const keychainToken = this.keyManager.getSessionToken();
21
+ if (keychainToken)
22
+ return keychainToken;
23
+ const config = (0, config_1.loadConfig)(this.configPath);
24
+ return config.deviceSessionToken;
25
+ }
26
+ setSessionToken(token) {
27
+ this.keyManager.storeSessionToken(token);
28
+ }
29
+ isAuthenticated() {
30
+ return !!this.getSessionToken();
31
+ }
32
+ /**
33
+ * Decode the session token JWT and return the `exp` claim (Unix epoch seconds).
34
+ * Returns null if no token is stored or the token is malformed.
35
+ */
36
+ getTokenExpiry() {
37
+ const token = this.getSessionToken();
38
+ if (!token)
39
+ return null;
40
+ try {
41
+ const parts = token.split('.');
42
+ if (parts.length !== 3)
43
+ return null;
44
+ const payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString());
45
+ return payload.exp ?? null;
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ /**
52
+ * Check if the current session token is expiring within the given threshold.
53
+ * Returns true if no token is stored (treat as expired).
54
+ */
55
+ isTokenExpiringSoon(thresholdSeconds) {
56
+ const exp = this.getTokenExpiry();
57
+ if (exp === null)
58
+ return true;
59
+ return exp - Math.floor(Date.now() / 1000) < thresholdSeconds;
60
+ }
61
+ getGatewayUrl() {
62
+ return (0, config_1.loadConfig)(this.configPath).gatewayUrl;
63
+ }
64
+ }
65
+ exports.DeviceAuth = DeviceAuth;
66
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,yDAAoD;AAEpD;;;;GAIG;AACH,MAAa,UAAU;IAIF;IAHF,UAAU,CAAY;IAEvC,YACmB,UAAkB,EACnC,UAAuB;QADN,eAAU,GAAV,UAAU,CAAQ;QAGnC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,wBAAU,EAAE,CAAA;IAClD,CAAC;IAED,eAAe;QACb,qDAAqD;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA;QACvD,IAAI,aAAa;YAAE,OAAO,aAAa,CAAA;QAEvC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,kBAAkB,CAAA;IAClC,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,eAAe;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;IACjC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACzE,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,CAAA;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,gBAAwB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACjC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC7B,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB,CAAA;IAC/D,CAAC;IAED,aAAa;QACX,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAA;IAC/C,CAAC;CACF;AAzDD,gCAyDC"}
@@ -0,0 +1,363 @@
1
+ import { GatewayErrorCode, ApprovalContext } from '@vess-id/ai-identity';
2
+ /**
3
+ * Gateway API client for agentd (spec §10).
4
+ *
5
+ * All requests use X-Device-Session-Token header for authentication.
6
+ *
7
+ * Endpoints:
8
+ * - POST /api/v1/agentd/nonce (nonce for VP replay prevention)
9
+ * - POST /api/v1/agentd/vc/auto-issue (auto-issue VC)
10
+ * - GET /api/v1/agentd/vc/approved (find approved requests)
11
+ * - GET /api/v1/agentd/vc/status/:jti (VC revocation status)
12
+ * - POST /api/v1/agentd/vp/verify-authorize (VP verify + authorize)
13
+ * - POST /api/v1/agentd/approval/request (OOB approval request create)
14
+ * - GET /api/v1/agentd/approval/:id/status (OOB approval status poll)
15
+ * - POST /api/v1/grant/quick-approve (inline Grant + VC issuance)
16
+ * - POST /api/v1/grant/consume (one-time grant consumption)
17
+ * - POST /api/v1/tool/invoke (SaaS tool execution)
18
+ * - POST /api/v1/audit/batch (batch audit event sync)
19
+ * - GET /api/v1/grant/policy/:projectId (org policy sync)
20
+ * - POST /api/v1/agentd/resource/resolve (resolve human-readable resource to canonical ID)
21
+ */
22
+ /** Resource constraint describing a scoped resource (e.g., Slack channel, GitHub repo). */
23
+ export interface ResourceConstraint {
24
+ provider: string;
25
+ type: string;
26
+ id?: string;
27
+ pattern?: string;
28
+ }
29
+ export interface AutoIssueVCParams {
30
+ subjectDid: string;
31
+ projectId: string;
32
+ actions: string[];
33
+ sessionId?: string;
34
+ /**
35
+ * Optional approval context carried on the retry path after the user
36
+ * clicked 承認 in the approval UI (Cedar 一元化 Step 3.5 client side).
37
+ *
38
+ * When present, the API server's `/api/v1/agentd/vc/auto-issue` endpoint
39
+ * consumes the single-use `token` against the approval-token ledger and
40
+ * injects `{ granted: true, request_id, outcome_id }` into the Cedar
41
+ * `context.approval` so a policy that previously returned `auth_required`
42
+ * now returns `permit`.
43
+ *
44
+ * Field names use snake_case to match the server DTO
45
+ * (`ApprovalContextDto` in `packages/api/src/grant/dto/remote-vc.dto.ts` /
46
+ * `AutoIssueVCApprovalContextInternalDto` in the internal controller).
47
+ *
48
+ * Spec ref: docs/specs/2026-05-24-cedar-unification-design.md §6 / §11.1.
49
+ */
50
+ approval_context?: ApprovalContext;
51
+ /**
52
+ * 動作確認 fix-forward (Cedar 一元化 spec rev 5) — raw tool-invocation
53
+ * parameters (e.g. `{to: 'kantaro@vess.id'}` for `gmail.message.send`,
54
+ * `{channel: 'C123'}` for `slack.message.post`). The server uses these
55
+ * to bind `context.recipient.address` on the Cedar pre-check so policies
56
+ * like `recipient.address like "*@vess.id"` evaluate cleanly at the
57
+ * autoIssueVC layer (rather than failing indeterminate → 500).
58
+ *
59
+ * Optional for backward compat: pre-rev-5 servers accept-and-ignore the
60
+ * field; pre-rev-5 clients omit it and continue to work for actions whose
61
+ * policies don't reference `context.recipient`.
62
+ */
63
+ parameters?: Record<string, unknown>;
64
+ }
65
+ export interface AutoIssueVCResult {
66
+ autoIssued: boolean;
67
+ credential: {
68
+ jwt: string;
69
+ expiresAt: number;
70
+ };
71
+ actions: string[];
72
+ resources?: ResourceConstraint[];
73
+ metadata?: Record<string, unknown>;
74
+ }
75
+ export interface ApprovedRequest {
76
+ id: string;
77
+ actions: string[];
78
+ approvalExpiresAt?: string;
79
+ resources?: ResourceConstraint[];
80
+ }
81
+ export interface VerifyAuthorizeResult {
82
+ authorized: boolean;
83
+ reason?: string;
84
+ projectId?: string;
85
+ issuerDid?: string;
86
+ grantId?: string;
87
+ approvalMode?: 'one_time' | 'persistent';
88
+ }
89
+ export interface CreateApprovalRequestParams {
90
+ subjectDid: string;
91
+ projectId: string;
92
+ actions: string[];
93
+ resources?: ResourceConstraint[];
94
+ expiresInHours?: number;
95
+ actionParams?: Record<string, unknown>;
96
+ }
97
+ export interface CreateApprovalRequestResult {
98
+ requestId: string;
99
+ approvalUrl: string;
100
+ status: string;
101
+ expiresAt: string;
102
+ }
103
+ export interface ApprovalStatusResult {
104
+ status: 'pending' | 'approved' | 'denied' | 'expired' | 'consumed';
105
+ actions?: string[];
106
+ resources?: ResourceConstraint[];
107
+ grant?: any;
108
+ approvalExpiresAt?: string;
109
+ approvalUrl?: string;
110
+ requestExpiresAt?: string;
111
+ }
112
+ export interface QuickApproveParams {
113
+ actions: string[];
114
+ resources: Array<{
115
+ type: string;
116
+ pattern?: string;
117
+ id?: string;
118
+ }>;
119
+ normalizedResource?: string;
120
+ resourceFingerprint?: string;
121
+ subjectDid: string;
122
+ projectId: string;
123
+ issueVC: boolean;
124
+ approvalMode: 'one_time' | 'persistent';
125
+ approvalNonce: string;
126
+ expiresInHours?: number;
127
+ }
128
+ export interface QuickApproveResult {
129
+ grant: {
130
+ id: string;
131
+ actions: string[];
132
+ resources: Array<{
133
+ type: string;
134
+ id?: string;
135
+ pattern?: string;
136
+ }>;
137
+ status: string;
138
+ };
139
+ /** The VC credential JWT string (raw JWT, not wrapped in an object) */
140
+ credential: string;
141
+ vcId: string;
142
+ issuerDid: string;
143
+ subjectDid: string;
144
+ actions: string[];
145
+ issuedAt: string;
146
+ /** ISO 8601 expiration timestamp */
147
+ expiresAt: string;
148
+ /** Resources with provider enrichment, ready for wallet storage */
149
+ resources?: ResourceConstraint[];
150
+ }
151
+ export interface ResolveResourceResult {
152
+ canonicalId: string;
153
+ displayName: string;
154
+ provider: string;
155
+ type: string;
156
+ resolved: boolean;
157
+ }
158
+ export interface ReauthRequiredInfo {
159
+ provider: string;
160
+ reason: string;
161
+ message: string;
162
+ authUrl: string;
163
+ projectId?: string;
164
+ metadata?: Record<string, any>;
165
+ }
166
+ export interface InvokeToolResult {
167
+ success: boolean;
168
+ data?: any;
169
+ error?: string;
170
+ errorCode?: GatewayErrorCode;
171
+ allowedResources?: string[];
172
+ requestedResource?: string;
173
+ reauthRequired?: ReauthRequiredInfo;
174
+ }
175
+ export interface ConsumeGrantResult {
176
+ consumed: boolean;
177
+ reason?: string;
178
+ }
179
+ export interface RegisterAgentParams {
180
+ agentDid: string;
181
+ name: string;
182
+ type: string;
183
+ publicKey: {
184
+ kty: string;
185
+ crv: string;
186
+ x: string;
187
+ y: string;
188
+ };
189
+ projectId: string;
190
+ deviceInfo?: {
191
+ platform?: string;
192
+ hostname?: string;
193
+ runtime?: string;
194
+ };
195
+ }
196
+ export interface RegisterAgentResult {
197
+ id: string;
198
+ did: string;
199
+ name: string;
200
+ type: string;
201
+ status: string;
202
+ }
203
+ export interface InvokeToolParams {
204
+ action: string;
205
+ parameters: Record<string, any>;
206
+ holderDid: string;
207
+ vpJwt: string;
208
+ vpChallenge: string;
209
+ vpDomain: string;
210
+ }
211
+ /**
212
+ * Custom error for network-level failures (connection refused, DNS, timeout).
213
+ * Used by ExecutionEngine to distinguish network issues from code bugs.
214
+ */
215
+ export declare class GatewayNetworkError extends Error {
216
+ readonly cause?: unknown | undefined;
217
+ constructor(message: string, cause?: unknown | undefined);
218
+ }
219
+ /**
220
+ * Custom error for HTTP-level failures from the gateway (non-2xx, non-network).
221
+ *
222
+ * Exposes `status` (numeric HTTP status code) so callers can distinguish
223
+ * 409 (idempotent conflict) from 5xx (transient) without string-matching
224
+ * the error message. This makes the agentd-side retry logic robust against
225
+ * any future change in the message format produced by gateway-client.
226
+ */
227
+ export declare class GatewayHttpError extends Error {
228
+ readonly status: number;
229
+ readonly body?: string | undefined;
230
+ constructor(message: string, status: number, body?: string | undefined);
231
+ }
232
+ export declare class AgentdGatewayClient {
233
+ private readonly baseUrl;
234
+ private readonly getSessionToken;
235
+ private readonly onTokenRefreshed?;
236
+ /** Shared promise for deduplicating concurrent token refresh attempts */
237
+ private refreshPromise;
238
+ constructor(baseUrl: string, getSessionToken: () => string, onTokenRefreshed?: ((newToken: string) => void) | undefined);
239
+ private buildHeaders;
240
+ /**
241
+ * Wrap fetch calls to convert network errors into GatewayNetworkError.
242
+ */
243
+ private fetchWithNetworkError;
244
+ /**
245
+ * Wrap fetch calls with automatic retry on 401 (token expired).
246
+ * On 401, attempts to refresh the token and retry the original request.
247
+ * Does NOT apply to refreshToken itself (to avoid infinite loops).
248
+ */
249
+ private fetchWithAuthRetry;
250
+ /**
251
+ * Refresh the device session token.
252
+ * POST /api/v1/device/refresh
253
+ * NOTE: Uses fetchWithNetworkError (not fetchWithAuthRetry) to avoid infinite loops.
254
+ */
255
+ refreshToken(): Promise<{
256
+ deviceSessionToken: string;
257
+ expiresAt: string;
258
+ }>;
259
+ /**
260
+ * Issue nonce for VP replay prevention.
261
+ * POST /api/v1/agentd/nonce
262
+ */
263
+ issueNonce(agentDid: string): Promise<{
264
+ nonce: string;
265
+ }>;
266
+ /**
267
+ * Auto-issue VC when grant has autoApprove enabled.
268
+ * POST /api/v1/agentd/vc/auto-issue
269
+ */
270
+ autoIssueVC(params: AutoIssueVCParams): Promise<AutoIssueVCResult | null>;
271
+ /**
272
+ * Find approved requests by subjectDid.
273
+ * GET /api/v1/agentd/vc/approved?subjectDid=...
274
+ */
275
+ findApprovedRequests(subjectDid: string): Promise<ApprovedRequest[]>;
276
+ /**
277
+ * Claim a VC from an approved request (atomic, one-time).
278
+ * POST /api/v1/agentd/vc/claim
279
+ */
280
+ claimVC(requestId: string, subjectDid: string): Promise<{
281
+ credential: {
282
+ jwt: string;
283
+ expiresAt: number;
284
+ };
285
+ vcId: string;
286
+ actions: string[];
287
+ resources?: ResourceConstraint[];
288
+ actionParams?: Record<string, unknown>;
289
+ }>;
290
+ /**
291
+ * Check VC revocation status by jti.
292
+ * GET /api/v1/agentd/vc/status/:jti
293
+ */
294
+ checkVCStatus(jti: string): Promise<{
295
+ valid: boolean;
296
+ reason?: string;
297
+ }>;
298
+ /**
299
+ * VP verify + grant authorization check (gateway_verified_local).
300
+ * POST /api/v1/agentd/vp/verify-authorize
301
+ */
302
+ verifyAndAuthorize(vpJwt: string, challenge: string, domain: string, action: string, holderDid: string): Promise<VerifyAuthorizeResult>;
303
+ /**
304
+ * Register an agent in the API Agent table so it appears in agents.html / timeline.html.
305
+ * POST /api/v1/agents/create
306
+ *
307
+ * Requires X-Project-Id header for ProjectRoleGuard.
308
+ * Treats 409 Conflict as success (idempotent — agent already exists).
309
+ */
310
+ registerAgent(params: RegisterAgentParams): Promise<RegisterAgentResult>;
311
+ /**
312
+ * Inline Grant + VC issuance (spec §6.2).
313
+ * POST /api/v1/grant/quick-approve
314
+ */
315
+ quickApprove(params: QuickApproveParams): Promise<QuickApproveResult>;
316
+ /**
317
+ * Create an OOB approval request for high-risk actions.
318
+ * POST /api/v1/agentd/approval/request
319
+ */
320
+ createApprovalRequest(params: CreateApprovalRequestParams): Promise<CreateApprovalRequestResult>;
321
+ /**
322
+ * Poll the status of an OOB approval request.
323
+ * GET /api/v1/agentd/approval/:requestId/status
324
+ */
325
+ getApprovalStatus(requestId: string): Promise<ApprovalStatusResult>;
326
+ /**
327
+ * One-time grant atomic consumption (spec §6.2).
328
+ * POST /api/v1/grant/consume
329
+ */
330
+ consumeGrant(grantId: string): Promise<ConsumeGrantResult>;
331
+ /**
332
+ * SaaS tool execution via Gateway (VP in Authorization header).
333
+ * POST /api/v1/tool/invoke
334
+ */
335
+ invokeTool(params: InvokeToolParams): Promise<InvokeToolResult>;
336
+ /**
337
+ * Resolve a human-readable resource identifier to its canonical ID.
338
+ * POST /api/v1/agentd/resource/resolve
339
+ */
340
+ resolveResource(params: {
341
+ provider: string;
342
+ resourceType: string;
343
+ input: string;
344
+ projectId: string;
345
+ }): Promise<ResolveResourceResult>;
346
+ /**
347
+ * Fetch org-level policy for a project (spec §7.6).
348
+ */
349
+ fetchOrgPolicy(projectId: string): Promise<any>;
350
+ /**
351
+ * Verify a VP with the Gateway (spec §7.4 gateway_verified_local).
352
+ * @deprecated Use verifyAndAuthorize instead for full VP+grant check.
353
+ */
354
+ verifyVP(vpJwt: string, nonce: string, domain: string): Promise<{
355
+ valid: boolean;
356
+ reason?: string;
357
+ }>;
358
+ /**
359
+ * Check if Gateway is reachable.
360
+ */
361
+ isReachable(): Promise<boolean>;
362
+ }
363
+ //# sourceMappingURL=gateway-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-client.ts"],"names":[],"mappings":"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"}