@heossi/qnsi 0.3.2

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 (268) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/LICENSE.md +8 -0
  3. package/README.md +200 -0
  4. package/dist/_activation/activation-client.d.ts +65 -0
  5. package/dist/_activation/activation-client.d.ts.map +1 -0
  6. package/dist/_activation/activation-client.js +164 -0
  7. package/dist/_activation/activation-client.js.map +1 -0
  8. package/dist/_activation/index.d.ts +10 -0
  9. package/dist/_activation/index.d.ts.map +1 -0
  10. package/dist/_activation/index.js +10 -0
  11. package/dist/_activation/index.js.map +1 -0
  12. package/dist/_activation/types.d.ts +128 -0
  13. package/dist/_activation/types.d.ts.map +1 -0
  14. package/dist/_activation/types.js +94 -0
  15. package/dist/_activation/types.js.map +1 -0
  16. package/dist/_internal.d.ts +52 -0
  17. package/dist/_internal.d.ts.map +1 -0
  18. package/dist/_internal.js +235 -0
  19. package/dist/_internal.js.map +1 -0
  20. package/dist/access.d.ts +32 -0
  21. package/dist/access.d.ts.map +1 -0
  22. package/dist/access.js +33 -0
  23. package/dist/access.js.map +1 -0
  24. package/dist/ai.d.ts +51 -0
  25. package/dist/ai.d.ts.map +1 -0
  26. package/dist/ai.js +53 -0
  27. package/dist/ai.js.map +1 -0
  28. package/dist/audit.d.ts +18 -0
  29. package/dist/audit.d.ts.map +1 -0
  30. package/dist/audit.js +21 -0
  31. package/dist/audit.js.map +1 -0
  32. package/dist/auth.d.ts +31 -0
  33. package/dist/auth.d.ts.map +1 -0
  34. package/dist/auth.js +69 -0
  35. package/dist/auth.js.map +1 -0
  36. package/dist/autogen/executor.d.ts +200 -0
  37. package/dist/autogen/executor.d.ts.map +1 -0
  38. package/dist/autogen/executor.js +277 -0
  39. package/dist/autogen/executor.js.map +1 -0
  40. package/dist/autogen/index.d.ts +18 -0
  41. package/dist/autogen/index.d.ts.map +1 -0
  42. package/dist/autogen/index.js +17 -0
  43. package/dist/autogen/index.js.map +1 -0
  44. package/dist/billing.d.ts +22 -0
  45. package/dist/billing.d.ts.map +1 -0
  46. package/dist/billing.js +33 -0
  47. package/dist/billing.js.map +1 -0
  48. package/dist/browser/encrypt.d.ts +68 -0
  49. package/dist/browser/encrypt.d.ts.map +1 -0
  50. package/dist/browser/encrypt.js +191 -0
  51. package/dist/browser/encrypt.js.map +1 -0
  52. package/dist/browser/index.d.ts +39 -0
  53. package/dist/browser/index.d.ts.map +1 -0
  54. package/dist/browser/index.js +41 -0
  55. package/dist/browser/index.js.map +1 -0
  56. package/dist/browser/noble-provider.d.ts +10 -0
  57. package/dist/browser/noble-provider.d.ts.map +1 -0
  58. package/dist/browser/noble-provider.js +130 -0
  59. package/dist/browser/noble-provider.js.map +1 -0
  60. package/dist/browser/pqc-types.d.ts +40 -0
  61. package/dist/browser/pqc-types.d.ts.map +1 -0
  62. package/dist/browser/pqc-types.js +2 -0
  63. package/dist/browser/pqc-types.js.map +1 -0
  64. package/dist/browser/provider-setup.d.ts +70 -0
  65. package/dist/browser/provider-setup.d.ts.map +1 -0
  66. package/dist/browser/provider-setup.js +101 -0
  67. package/dist/browser/provider-setup.js.map +1 -0
  68. package/dist/browser/sdk-package-version.d.ts +12 -0
  69. package/dist/browser/sdk-package-version.d.ts.map +1 -0
  70. package/dist/browser/sdk-package-version.js +12 -0
  71. package/dist/browser/sdk-package-version.js.map +1 -0
  72. package/dist/browser/sign.d.ts +65 -0
  73. package/dist/browser/sign.d.ts.map +1 -0
  74. package/dist/browser/sign.js +124 -0
  75. package/dist/browser/sign.js.map +1 -0
  76. package/dist/browser/telemetry.d.ts +98 -0
  77. package/dist/browser/telemetry.d.ts.map +1 -0
  78. package/dist/browser/telemetry.js +93 -0
  79. package/dist/browser/telemetry.js.map +1 -0
  80. package/dist/cli/commands/access-control.d.ts +4 -0
  81. package/dist/cli/commands/access-control.d.ts.map +1 -0
  82. package/dist/cli/commands/access-control.js +183 -0
  83. package/dist/cli/commands/access-control.js.map +1 -0
  84. package/dist/cli/commands/audit.d.ts +4 -0
  85. package/dist/cli/commands/audit.d.ts.map +1 -0
  86. package/dist/cli/commands/audit.js +70 -0
  87. package/dist/cli/commands/audit.js.map +1 -0
  88. package/dist/cli/commands/auth.d.ts +4 -0
  89. package/dist/cli/commands/auth.d.ts.map +1 -0
  90. package/dist/cli/commands/auth.js +46 -0
  91. package/dist/cli/commands/auth.js.map +1 -0
  92. package/dist/cli/commands/billing.d.ts +4 -0
  93. package/dist/cli/commands/billing.d.ts.map +1 -0
  94. package/dist/cli/commands/billing.js +179 -0
  95. package/dist/cli/commands/billing.js.map +1 -0
  96. package/dist/cli/commands/crypto-policy.d.ts +4 -0
  97. package/dist/cli/commands/crypto-policy.d.ts.map +1 -0
  98. package/dist/cli/commands/crypto-policy.js +130 -0
  99. package/dist/cli/commands/crypto-policy.js.map +1 -0
  100. package/dist/cli/commands/kms.d.ts +4 -0
  101. package/dist/cli/commands/kms.d.ts.map +1 -0
  102. package/dist/cli/commands/kms.js +153 -0
  103. package/dist/cli/commands/kms.js.map +1 -0
  104. package/dist/cli/commands/observability.d.ts +4 -0
  105. package/dist/cli/commands/observability.d.ts.map +1 -0
  106. package/dist/cli/commands/observability.js +97 -0
  107. package/dist/cli/commands/observability.js.map +1 -0
  108. package/dist/cli/commands/search.d.ts +4 -0
  109. package/dist/cli/commands/search.d.ts.map +1 -0
  110. package/dist/cli/commands/search.js +66 -0
  111. package/dist/cli/commands/search.js.map +1 -0
  112. package/dist/cli/commands/security.d.ts +4 -0
  113. package/dist/cli/commands/security.d.ts.map +1 -0
  114. package/dist/cli/commands/security.js +136 -0
  115. package/dist/cli/commands/security.js.map +1 -0
  116. package/dist/cli/commands/storage.d.ts +4 -0
  117. package/dist/cli/commands/storage.d.ts.map +1 -0
  118. package/dist/cli/commands/storage.js +85 -0
  119. package/dist/cli/commands/storage.js.map +1 -0
  120. package/dist/cli/commands/tenant.d.ts +4 -0
  121. package/dist/cli/commands/tenant.d.ts.map +1 -0
  122. package/dist/cli/commands/tenant.js +82 -0
  123. package/dist/cli/commands/tenant.js.map +1 -0
  124. package/dist/cli/commands/test-utils.d.ts +15 -0
  125. package/dist/cli/commands/test-utils.d.ts.map +1 -0
  126. package/dist/cli/commands/test-utils.js +72 -0
  127. package/dist/cli/commands/test-utils.js.map +1 -0
  128. package/dist/cli/commands/vault.d.ts +4 -0
  129. package/dist/cli/commands/vault.d.ts.map +1 -0
  130. package/dist/cli/commands/vault.js +111 -0
  131. package/dist/cli/commands/vault.js.map +1 -0
  132. package/dist/cli/config.d.ts +32 -0
  133. package/dist/cli/config.d.ts.map +1 -0
  134. package/dist/cli/config.js +105 -0
  135. package/dist/cli/config.js.map +1 -0
  136. package/dist/cli/index.d.ts +3 -0
  137. package/dist/cli/index.d.ts.map +1 -0
  138. package/dist/cli/index.js +54 -0
  139. package/dist/cli/index.js.map +1 -0
  140. package/dist/cli/utils/audit-logger.d.ts +17 -0
  141. package/dist/cli/utils/audit-logger.d.ts.map +1 -0
  142. package/dist/cli/utils/audit-logger.js +52 -0
  143. package/dist/cli/utils/audit-logger.js.map +1 -0
  144. package/dist/cli/utils/auth.d.ts +4 -0
  145. package/dist/cli/utils/auth.d.ts.map +1 -0
  146. package/dist/cli/utils/auth.js +100 -0
  147. package/dist/cli/utils/auth.js.map +1 -0
  148. package/dist/cli/utils/backend-validator.d.ts +19 -0
  149. package/dist/cli/utils/backend-validator.d.ts.map +1 -0
  150. package/dist/cli/utils/backend-validator.js +72 -0
  151. package/dist/cli/utils/backend-validator.js.map +1 -0
  152. package/dist/cli/utils/command-config.d.ts +4 -0
  153. package/dist/cli/utils/command-config.d.ts.map +1 -0
  154. package/dist/cli/utils/command-config.js +29 -0
  155. package/dist/cli/utils/command-config.js.map +1 -0
  156. package/dist/cli/utils/fetcher.d.ts +3 -0
  157. package/dist/cli/utils/fetcher.d.ts.map +1 -0
  158. package/dist/cli/utils/fetcher.js +30 -0
  159. package/dist/cli/utils/fetcher.js.map +1 -0
  160. package/dist/cli/utils/https-validator.d.ts +9 -0
  161. package/dist/cli/utils/https-validator.d.ts.map +1 -0
  162. package/dist/cli/utils/https-validator.js +35 -0
  163. package/dist/cli/utils/https-validator.js.map +1 -0
  164. package/dist/cli/utils/output.d.ts +6 -0
  165. package/dist/cli/utils/output.d.ts.map +1 -0
  166. package/dist/cli/utils/output.js +29 -0
  167. package/dist/cli/utils/output.js.map +1 -0
  168. package/dist/cli/utils/pqc-validator.d.ts +17 -0
  169. package/dist/cli/utils/pqc-validator.d.ts.map +1 -0
  170. package/dist/cli/utils/pqc-validator.js +62 -0
  171. package/dist/cli/utils/pqc-validator.js.map +1 -0
  172. package/dist/cli/utils/prompt.d.ts +4 -0
  173. package/dist/cli/utils/prompt.d.ts.map +1 -0
  174. package/dist/cli/utils/prompt.js +30 -0
  175. package/dist/cli/utils/prompt.js.map +1 -0
  176. package/dist/cli/utils/rate-limiter.d.ts +15 -0
  177. package/dist/cli/utils/rate-limiter.d.ts.map +1 -0
  178. package/dist/cli/utils/rate-limiter.js +46 -0
  179. package/dist/cli/utils/rate-limiter.js.map +1 -0
  180. package/dist/cli/utils/sanitize.d.ts +3 -0
  181. package/dist/cli/utils/sanitize.d.ts.map +1 -0
  182. package/dist/cli/utils/sanitize.js +44 -0
  183. package/dist/cli/utils/sanitize.js.map +1 -0
  184. package/dist/cli/utils/security-headers.d.ts +18 -0
  185. package/dist/cli/utils/security-headers.d.ts.map +1 -0
  186. package/dist/cli/utils/security-headers.js +32 -0
  187. package/dist/cli/utils/security-headers.js.map +1 -0
  188. package/dist/cli/utils/token-cache.d.ts +4 -0
  189. package/dist/cli/utils/token-cache.d.ts.map +1 -0
  190. package/dist/cli/utils/token-cache.js +22 -0
  191. package/dist/cli/utils/token-cache.js.map +1 -0
  192. package/dist/client.d.ts +52 -0
  193. package/dist/client.d.ts.map +1 -0
  194. package/dist/client.js +78 -0
  195. package/dist/client.js.map +1 -0
  196. package/dist/crypto-inventory.d.ts +21 -0
  197. package/dist/crypto-inventory.d.ts.map +1 -0
  198. package/dist/crypto-inventory.js +28 -0
  199. package/dist/crypto-inventory.js.map +1 -0
  200. package/dist/errors.d.ts +35 -0
  201. package/dist/errors.d.ts.map +1 -0
  202. package/dist/errors.js +64 -0
  203. package/dist/errors.js.map +1 -0
  204. package/dist/index.d.ts +50 -0
  205. package/dist/index.d.ts.map +1 -0
  206. package/dist/index.js +51 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/kms.d.ts +30 -0
  209. package/dist/kms.d.ts.map +1 -0
  210. package/dist/kms.js +92 -0
  211. package/dist/kms.js.map +1 -0
  212. package/dist/langchain/index.d.ts +22 -0
  213. package/dist/langchain/index.d.ts.map +1 -0
  214. package/dist/langchain/index.js +23 -0
  215. package/dist/langchain/index.js.map +1 -0
  216. package/dist/langchain/toolkit.d.ts +85 -0
  217. package/dist/langchain/toolkit.d.ts.map +1 -0
  218. package/dist/langchain/toolkit.js +146 -0
  219. package/dist/langchain/toolkit.js.map +1 -0
  220. package/dist/langchain/tools/audit.d.ts +43 -0
  221. package/dist/langchain/tools/audit.d.ts.map +1 -0
  222. package/dist/langchain/tools/audit.js +78 -0
  223. package/dist/langchain/tools/audit.js.map +1 -0
  224. package/dist/langchain/tools/kms.d.ts +62 -0
  225. package/dist/langchain/tools/kms.d.ts.map +1 -0
  226. package/dist/langchain/tools/kms.js +120 -0
  227. package/dist/langchain/tools/kms.js.map +1 -0
  228. package/dist/langchain/tools/vault.d.ts +69 -0
  229. package/dist/langchain/tools/vault.d.ts.map +1 -0
  230. package/dist/langchain/tools/vault.js +107 -0
  231. package/dist/langchain/tools/vault.js.map +1 -0
  232. package/dist/langchain/vault-client.d.ts +82 -0
  233. package/dist/langchain/vault-client.d.ts.map +1 -0
  234. package/dist/langchain/vault-client.js +133 -0
  235. package/dist/langchain/vault-client.js.map +1 -0
  236. package/dist/llamaindex/index.d.ts +16 -0
  237. package/dist/llamaindex/index.d.ts.map +1 -0
  238. package/dist/llamaindex/index.js +15 -0
  239. package/dist/llamaindex/index.js.map +1 -0
  240. package/dist/llamaindex/sse.d.ts +36 -0
  241. package/dist/llamaindex/sse.d.ts.map +1 -0
  242. package/dist/llamaindex/sse.js +151 -0
  243. package/dist/llamaindex/sse.js.map +1 -0
  244. package/dist/llamaindex/vector-store.d.ts +101 -0
  245. package/dist/llamaindex/vector-store.d.ts.map +1 -0
  246. package/dist/llamaindex/vector-store.js +348 -0
  247. package/dist/llamaindex/vector-store.js.map +1 -0
  248. package/dist/search.d.ts +32 -0
  249. package/dist/search.d.ts.map +1 -0
  250. package/dist/search.js +27 -0
  251. package/dist/search.js.map +1 -0
  252. package/dist/storage.d.ts +32 -0
  253. package/dist/storage.d.ts.map +1 -0
  254. package/dist/storage.js +58 -0
  255. package/dist/storage.js.map +1 -0
  256. package/dist/tenant.d.ts +25 -0
  257. package/dist/tenant.d.ts.map +1 -0
  258. package/dist/tenant.js +36 -0
  259. package/dist/tenant.js.map +1 -0
  260. package/dist/vault.d.ts +22 -0
  261. package/dist/vault.d.ts.map +1 -0
  262. package/dist/vault.js +43 -0
  263. package/dist/vault.js.map +1 -0
  264. package/dist/webhooks.d.ts +32 -0
  265. package/dist/webhooks.d.ts.map +1 -0
  266. package/dist/webhooks.js +77 -0
  267. package/dist/webhooks.js.map +1 -0
  268. package/package.json +118 -0
@@ -0,0 +1,128 @@
1
+ /**
2
+ * SDK Activation Types
3
+ *
4
+ * Shared contract between SDK clients and the billing-service activation endpoint.
5
+ * Browser-compatible — no node: imports.
6
+ *
7
+ * @module
8
+ */
9
+ import { z } from "zod";
10
+ /**
11
+ * SDK identifier sent during activation to identify which package is being used.
12
+ */
13
+ export declare const SdkIdentifierSchema: z.ZodEnum<{
14
+ "browser-sdk": "browser-sdk";
15
+ "vault-sdk": "vault-sdk";
16
+ "storage-sdk": "storage-sdk";
17
+ "search-sdk": "search-sdk";
18
+ "kms-client": "kms-client";
19
+ "ai-sdk": "ai-sdk";
20
+ "tenant-sdk": "tenant-sdk";
21
+ "billing-sdk": "billing-sdk";
22
+ "auth-sdk": "auth-sdk";
23
+ "audit-sdk": "audit-sdk";
24
+ "access-control-sdk": "access-control-sdk";
25
+ "crypto-inventory-sdk": "crypto-inventory-sdk";
26
+ cryptography: "cryptography";
27
+ qnsp: "qnsp";
28
+ "qnsp-python": "qnsp-python";
29
+ "qnsp-go": "qnsp-go";
30
+ "qnsp-rust": "qnsp-rust";
31
+ "qnsp-jvm": "qnsp-jvm";
32
+ "langchain-qnsp": "langchain-qnsp";
33
+ "llamaindex-qnsp": "llamaindex-qnsp";
34
+ "autogen-qnsp": "autogen-qnsp";
35
+ "mcp-server": "mcp-server";
36
+ }>;
37
+ export type SdkIdentifier = z.infer<typeof SdkIdentifierSchema>;
38
+ /**
39
+ * Request body for POST /billing/v1/sdk/activate
40
+ */
41
+ export declare const SdkActivationRequestSchema: z.ZodObject<{
42
+ sdkId: z.ZodEnum<{
43
+ "browser-sdk": "browser-sdk";
44
+ "vault-sdk": "vault-sdk";
45
+ "storage-sdk": "storage-sdk";
46
+ "search-sdk": "search-sdk";
47
+ "kms-client": "kms-client";
48
+ "ai-sdk": "ai-sdk";
49
+ "tenant-sdk": "tenant-sdk";
50
+ "billing-sdk": "billing-sdk";
51
+ "auth-sdk": "auth-sdk";
52
+ "audit-sdk": "audit-sdk";
53
+ "access-control-sdk": "access-control-sdk";
54
+ "crypto-inventory-sdk": "crypto-inventory-sdk";
55
+ cryptography: "cryptography";
56
+ qnsp: "qnsp";
57
+ "qnsp-python": "qnsp-python";
58
+ "qnsp-go": "qnsp-go";
59
+ "qnsp-rust": "qnsp-rust";
60
+ "qnsp-jvm": "qnsp-jvm";
61
+ "langchain-qnsp": "langchain-qnsp";
62
+ "llamaindex-qnsp": "llamaindex-qnsp";
63
+ "autogen-qnsp": "autogen-qnsp";
64
+ "mcp-server": "mcp-server";
65
+ }>;
66
+ sdkVersion: z.ZodString;
67
+ runtime: z.ZodEnum<{
68
+ browser: "browser";
69
+ node: "node";
70
+ edge: "edge";
71
+ python: "python";
72
+ go: "go";
73
+ rust: "rust";
74
+ jvm: "jvm";
75
+ }>;
76
+ }, z.core.$strip>;
77
+ export type SdkActivationRequest = z.infer<typeof SdkActivationRequestSchema>;
78
+ /**
79
+ * Tier limits returned in the activation response.
80
+ * Subset of full TierLimits — only what SDKs need for client-side enforcement.
81
+ */
82
+ export declare const SdkActivationLimitsSchema: z.ZodObject<{
83
+ storageGB: z.ZodNumber;
84
+ apiCalls: z.ZodNumber;
85
+ enclavesEnabled: z.ZodBoolean;
86
+ aiTrainingEnabled: z.ZodBoolean;
87
+ aiInferenceEnabled: z.ZodBoolean;
88
+ sseEnabled: z.ZodBoolean;
89
+ vaultEnabled: z.ZodBoolean;
90
+ }, z.core.$strip>;
91
+ export type SdkActivationLimits = z.infer<typeof SdkActivationLimitsSchema>;
92
+ /**
93
+ * Successful activation response from billing-service.
94
+ */
95
+ export declare const SdkActivationResponseSchema: z.ZodObject<{
96
+ activated: z.ZodLiteral<true>;
97
+ tenantId: z.ZodString;
98
+ tier: z.ZodString;
99
+ limits: z.ZodObject<{
100
+ storageGB: z.ZodNumber;
101
+ apiCalls: z.ZodNumber;
102
+ enclavesEnabled: z.ZodBoolean;
103
+ aiTrainingEnabled: z.ZodBoolean;
104
+ aiInferenceEnabled: z.ZodBoolean;
105
+ sseEnabled: z.ZodBoolean;
106
+ vaultEnabled: z.ZodBoolean;
107
+ }, z.core.$strip>;
108
+ activationToken: z.ZodString;
109
+ expiresInSeconds: z.ZodNumber;
110
+ activatedAt: z.ZodString;
111
+ }, z.core.$strip>;
112
+ export type SdkActivationResponse = z.infer<typeof SdkActivationResponseSchema>;
113
+ /**
114
+ * Error response from the activation endpoint.
115
+ */
116
+ export declare const SdkActivationErrorSchema: z.ZodObject<{
117
+ activated: z.ZodLiteral<false>;
118
+ error: z.ZodString;
119
+ code: z.ZodEnum<{
120
+ INVALID_API_KEY: "INVALID_API_KEY";
121
+ ACCOUNT_SUSPENDED: "ACCOUNT_SUSPENDED";
122
+ TIER_INSUFFICIENT: "TIER_INSUFFICIENT";
123
+ RATE_LIMITED: "RATE_LIMITED";
124
+ SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
125
+ }>;
126
+ }, z.core.$strip>;
127
+ export type SdkActivationError = z.infer<typeof SdkActivationErrorSchema>;
128
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/_activation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;iBAQpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;iBAetC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAUnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * SDK Activation Types
3
+ *
4
+ * Shared contract between SDK clients and the billing-service activation endpoint.
5
+ * Browser-compatible — no node: imports.
6
+ *
7
+ * @module
8
+ */
9
+ import { z } from "zod";
10
+ /**
11
+ * SDK identifier sent during activation to identify which package is being used.
12
+ */
13
+ export const SdkIdentifierSchema = z.enum([
14
+ "browser-sdk",
15
+ "vault-sdk",
16
+ "storage-sdk",
17
+ "search-sdk",
18
+ "kms-client",
19
+ "ai-sdk",
20
+ "tenant-sdk",
21
+ "billing-sdk",
22
+ "auth-sdk",
23
+ "audit-sdk",
24
+ "access-control-sdk",
25
+ "crypto-inventory-sdk",
26
+ "cryptography",
27
+ "qnsp",
28
+ "qnsp-python",
29
+ "qnsp-go",
30
+ "qnsp-rust",
31
+ "qnsp-jvm",
32
+ "langchain-qnsp",
33
+ "llamaindex-qnsp",
34
+ "autogen-qnsp",
35
+ "mcp-server",
36
+ ]);
37
+ /**
38
+ * Request body for POST /billing/v1/sdk/activate
39
+ */
40
+ export const SdkActivationRequestSchema = z.object({
41
+ /** The SDK package requesting activation */
42
+ sdkId: SdkIdentifierSchema,
43
+ /** SDK version string (e.g., "0.1.0") */
44
+ sdkVersion: z.string().min(1).max(32),
45
+ /** Runtime environment. JS family: "browser" | "node" | "edge". Native SDKs: "python" | "go" | "rust" | "jvm". */
46
+ runtime: z.enum(["browser", "node", "edge", "python", "go", "rust", "jvm"]),
47
+ });
48
+ /**
49
+ * Tier limits returned in the activation response.
50
+ * Subset of full TierLimits — only what SDKs need for client-side enforcement.
51
+ */
52
+ export const SdkActivationLimitsSchema = z.object({
53
+ storageGB: z.number(),
54
+ apiCalls: z.number(),
55
+ enclavesEnabled: z.boolean(),
56
+ aiTrainingEnabled: z.boolean(),
57
+ aiInferenceEnabled: z.boolean(),
58
+ sseEnabled: z.boolean(),
59
+ vaultEnabled: z.boolean(),
60
+ });
61
+ /**
62
+ * Successful activation response from billing-service.
63
+ */
64
+ export const SdkActivationResponseSchema = z.object({
65
+ /** Whether activation succeeded */
66
+ activated: z.literal(true),
67
+ /** Tenant ID associated with the API key */
68
+ tenantId: z.string().uuid(),
69
+ /** Current pricing tier */
70
+ tier: z.string().min(1),
71
+ /** Tier limits for client-side enforcement */
72
+ limits: SdkActivationLimitsSchema,
73
+ /** Activation token — opaque string, valid for `expiresInSeconds` */
74
+ activationToken: z.string().min(1),
75
+ /** Token validity in seconds (default: 3600 = 1 hour) */
76
+ expiresInSeconds: z.number().int().positive(),
77
+ /** ISO 8601 timestamp of activation */
78
+ activatedAt: z.string().datetime(),
79
+ });
80
+ /**
81
+ * Error response from the activation endpoint.
82
+ */
83
+ export const SdkActivationErrorSchema = z.object({
84
+ activated: z.literal(false),
85
+ error: z.string(),
86
+ code: z.enum([
87
+ "INVALID_API_KEY",
88
+ "ACCOUNT_SUSPENDED",
89
+ "TIER_INSUFFICIENT",
90
+ "RATE_LIMITED",
91
+ "SERVICE_UNAVAILABLE",
92
+ ]),
93
+ });
94
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/_activation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,aAAa;IACb,WAAW;IACX,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,UAAU;IACV,WAAW;IACX,oBAAoB;IACpB,sBAAsB;IACtB,cAAc;IACd,MAAM;IACN,aAAa;IACb,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,YAAY;CACZ,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,4CAA4C;IAC5C,KAAK,EAAE,mBAAmB;IAC1B,yCAAyC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,kHAAkH;IAClH,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;CAC3E,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,mCAAmC;IACnC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,8CAA8C;IAC9C,MAAM,EAAE,yBAAyB;IACjC,qEAAqE;IACrE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,yDAAyD;IACzD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,uCAAuC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,iBAAiB;QACjB,mBAAmB;QACnB,mBAAmB;QACnB,cAAc;QACd,qBAAqB;KACrB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared HTTP plumbing + activation cache.
3
+ *
4
+ * Internal — consumers should reach this only via `QnspClient`. Each
5
+ * service module (vault, kms, audit, …) takes an `Internal` instance
6
+ * in its constructor and calls `internal.request(method, path, …)`.
7
+ */
8
+ import { type SdkActivationResponse } from "./_activation/index.js";
9
+ export declare const SDK_ID = "qnsp";
10
+ export declare const SDK_VERSION = "0.3.0";
11
+ /** Public configuration accepted by `new QnspClient(opts)`. */
12
+ export interface QnspClientOptions {
13
+ /** API key issued from <https://cloud.qnsp.cuilabs.io/api-keys>. Required. */
14
+ readonly apiKey: string;
15
+ /** Override the QNSP edge-gateway URL. Defaults to https://api.qnsp.cuilabs.io. */
16
+ readonly baseUrl?: string;
17
+ /** Per-request timeout in milliseconds. Defaults to 15 000. */
18
+ readonly timeoutMs?: number;
19
+ }
20
+ /** Optional per-request overrides. */
21
+ export interface RequestOptions {
22
+ readonly idempotencyKey?: string | undefined;
23
+ readonly query?: Record<string, string | number | boolean | undefined> | undefined;
24
+ }
25
+ export declare class Internal {
26
+ readonly baseUrl: string;
27
+ readonly timeoutMs: number;
28
+ readonly apiKey: string;
29
+ private cached;
30
+ private activationPromise;
31
+ constructor(opts: QnspClientOptions);
32
+ /** Force the activation handshake to run now. */
33
+ ensureActivated(): Promise<SdkActivationResponse>;
34
+ /** The activated tenant id (for endpoints that require the tenant in the URL path). */
35
+ resolveTenantId(): Promise<string>;
36
+ /** Drop the cached activation; the next request will re-handshake. */
37
+ invalidateActivation(): void;
38
+ private refreshActivation;
39
+ /**
40
+ * Authenticated request against the QNSP edge gateway. JSON in, JSON
41
+ * out. A 401 invalidates the activation cache and retries once.
42
+ *
43
+ * @param method HTTP method (GET / POST / PUT / PATCH / DELETE)
44
+ * @param path Path under the base URL, including the service prefix
45
+ * (e.g. "/vault/v1/secrets")
46
+ * @param body JSON body for non-GET methods. `undefined` to omit.
47
+ * @param options Per-request options (idempotency key, query string)
48
+ */
49
+ request<T = Record<string, unknown>>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<T>;
50
+ private send;
51
+ }
52
+ //# sourceMappingURL=_internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_internal.d.ts","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAe,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAIjF,eAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,eAAO,MAAM,WAAW,UAAU,CAAC;AAMnC,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACnF;AAED,qBAAa,QAAQ;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,iBAAiB,CAA+C;gBAE5D,IAAI,EAAE,iBAAiB;IASnC,iDAAiD;IAC3C,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAWvD,uFAAuF;IACjF,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxC,sEAAsE;IACtE,oBAAoB,IAAI,IAAI;YAKd,iBAAiB;IAsB/B;;;;;;;;;OASG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,CAAC,CAAC;YAyCC,IAAI;CA8BlB"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Shared HTTP plumbing + activation cache.
3
+ *
4
+ * Internal — consumers should reach this only via `QnspClient`. Each
5
+ * service module (vault, kms, audit, …) takes an `Internal` instance
6
+ * in its constructor and calls `internal.request(method, path, …)`.
7
+ */
8
+ import { activateSdk } from "./_activation/index.js";
9
+ import { QnspApiError, QnspAuthError, QnspNetworkError } from "./errors.js";
10
+ export const SDK_ID = "qnsp";
11
+ // Bump in lockstep with packages/qnsp/package.json `version` (activation
12
+ // telemetry label). Same release contract as browser/sdk-package-version.ts.
13
+ export const SDK_VERSION = "0.3.0";
14
+ const DEFAULT_BASE_URL = "https://api.qnsp.cuilabs.io";
15
+ const DEFAULT_TIMEOUT_MS = 15_000;
16
+ const EXPIRY_BUFFER_MS = 60_000; // refresh 60 s before expiry
17
+ export class Internal {
18
+ baseUrl;
19
+ timeoutMs;
20
+ apiKey;
21
+ cached = null;
22
+ activationPromise = null;
23
+ constructor(opts) {
24
+ if (!opts.apiKey || opts.apiKey.trim().length === 0) {
25
+ throw new QnspAuthError("api key required (sign up at https://cloud.qnsp.cuilabs.io/auth)");
26
+ }
27
+ this.apiKey = opts.apiKey;
28
+ this.baseUrl = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, "");
29
+ this.timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
30
+ }
31
+ /** Force the activation handshake to run now. */
32
+ async ensureActivated() {
33
+ const cached = this.cached;
34
+ if (cached !== null) {
35
+ const expiresAtMs = parseExpiresAt(cached.response);
36
+ if (expiresAtMs - Date.now() > EXPIRY_BUFFER_MS) {
37
+ return cached.response;
38
+ }
39
+ }
40
+ return this.refreshActivation();
41
+ }
42
+ /** The activated tenant id (for endpoints that require the tenant in the URL path). */
43
+ async resolveTenantId() {
44
+ return (await this.ensureActivated()).tenantId;
45
+ }
46
+ /** Drop the cached activation; the next request will re-handshake. */
47
+ invalidateActivation() {
48
+ this.cached = null;
49
+ this.activationPromise = null;
50
+ }
51
+ async refreshActivation() {
52
+ if (this.activationPromise) {
53
+ return this.activationPromise;
54
+ }
55
+ this.activationPromise = activateSdk({
56
+ apiKey: this.apiKey,
57
+ sdkId: SDK_ID,
58
+ sdkVersion: SDK_VERSION,
59
+ platformUrl: this.baseUrl,
60
+ })
61
+ .then((response) => {
62
+ this.cached = { response, cachedAt: Date.now() };
63
+ this.activationPromise = null;
64
+ return response;
65
+ })
66
+ .catch((err) => {
67
+ this.activationPromise = null;
68
+ throw err;
69
+ });
70
+ return this.activationPromise;
71
+ }
72
+ /**
73
+ * Authenticated request against the QNSP edge gateway. JSON in, JSON
74
+ * out. A 401 invalidates the activation cache and retries once.
75
+ *
76
+ * @param method HTTP method (GET / POST / PUT / PATCH / DELETE)
77
+ * @param path Path under the base URL, including the service prefix
78
+ * (e.g. "/vault/v1/secrets")
79
+ * @param body JSON body for non-GET methods. `undefined` to omit.
80
+ * @param options Per-request options (idempotency key, query string)
81
+ */
82
+ async request(method, path, body, options) {
83
+ const activation = await this.ensureActivated();
84
+ // Backend write schemas (vault/kms/...) REQUIRE tenantId (uuid) and scope the
85
+ // request to it. The SDK already knows the activated tenant, so inject it into
86
+ // object bodies centrally rather than per-method. Caller-supplied tenantId wins.
87
+ const effectiveBody = withTenantId(body, activation.tenantId);
88
+ // Backend GET endpoints (e.g. GET /kms/v1/keys/:id, /crypto/v1/assets) read tenantId from
89
+ // the QUERY string, not a body, and 400 without it. The body injection above cannot help a
90
+ // GET (no body), so also inject the activated tenant into the query (reaudit 2026-06-13
91
+ // #29/#31). Caller-supplied query tenantId wins; the edge validates it == the api-key tenant.
92
+ const effectiveOptions = withTenantIdQuery(options, activation.tenantId);
93
+ let response = await this.send(method, path, effectiveBody, effectiveOptions);
94
+ if (response.status === 401) {
95
+ this.invalidateActivation();
96
+ const reactivated = await this.ensureActivated();
97
+ response = await this.send(method, path, withTenantId(body, reactivated.tenantId), withTenantIdQuery(options, reactivated.tenantId));
98
+ }
99
+ const text = await safeReadText(response);
100
+ if (!response.ok) {
101
+ throw parseApiError(response.status, text);
102
+ }
103
+ if (response.status === 204 || text.length === 0) {
104
+ return {};
105
+ }
106
+ try {
107
+ return JSON.parse(text);
108
+ }
109
+ catch {
110
+ throw new QnspApiError("response is not valid JSON", response.status);
111
+ }
112
+ }
113
+ async send(method, path, body, options) {
114
+ const url = buildUrl(this.baseUrl, path, options?.query);
115
+ const headers = {
116
+ authorization: `Bearer ${this.apiKey}`,
117
+ accept: "application/json",
118
+ };
119
+ const init = { method, headers };
120
+ if (body !== undefined) {
121
+ headers["content-type"] = "application/json";
122
+ init.body = JSON.stringify(body);
123
+ }
124
+ if (options?.idempotencyKey) {
125
+ headers["idempotency-key"] = options.idempotencyKey;
126
+ }
127
+ const controller = new AbortController();
128
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
129
+ init.signal = controller.signal;
130
+ try {
131
+ return await fetch(url, init);
132
+ }
133
+ catch (err) {
134
+ throw new QnspNetworkError(method, url, err);
135
+ }
136
+ finally {
137
+ clearTimeout(timer);
138
+ }
139
+ }
140
+ }
141
+ /**
142
+ * Inject the activated tenantId into a plain-object JSON body if not already set.
143
+ * Backend write schemas require tenantId (uuid); leaving it to each method is what
144
+ * let "missing tenantId" 400s ship. Non-object bodies (undefined, arrays, strings)
145
+ * pass through unchanged.
146
+ */
147
+ /**
148
+ * Inject the activated tenantId into the request query string (for GET endpoints that read it
149
+ * from the query and 400 without it). Returns the options unchanged when no tenant is known or the
150
+ * caller already supplied a query tenantId (caller wins). Reaudit 2026-06-13 #29/#31.
151
+ */
152
+ function withTenantIdQuery(options, tenantId) {
153
+ if (!tenantId)
154
+ return options;
155
+ const query = options?.query;
156
+ if (query && query["tenantId"] !== undefined)
157
+ return options;
158
+ return { ...options, query: { ...(query ?? {}), tenantId } };
159
+ }
160
+ function withTenantId(body, tenantId) {
161
+ if (body === undefined ||
162
+ body === null ||
163
+ typeof body !== "object" ||
164
+ Array.isArray(body) ||
165
+ !tenantId) {
166
+ return body;
167
+ }
168
+ const obj = body;
169
+ if (obj["tenantId"] !== undefined)
170
+ return body;
171
+ return { tenantId, ...obj };
172
+ }
173
+ function buildUrl(base, path, query) {
174
+ let url = `${base}${path}`;
175
+ if (query) {
176
+ const usp = new URLSearchParams();
177
+ for (const [key, value] of Object.entries(query)) {
178
+ if (value === undefined)
179
+ continue;
180
+ usp.set(key, String(value));
181
+ }
182
+ const encoded = usp.toString();
183
+ if (encoded.length > 0) {
184
+ url += url.includes("?") ? `&${encoded}` : `?${encoded}`;
185
+ }
186
+ }
187
+ return url;
188
+ }
189
+ async function safeReadText(response) {
190
+ try {
191
+ return await response.text();
192
+ }
193
+ catch {
194
+ return "";
195
+ }
196
+ }
197
+ function parseApiError(status, raw) {
198
+ let body = null;
199
+ try {
200
+ body = JSON.parse(raw);
201
+ }
202
+ catch {
203
+ body = raw;
204
+ }
205
+ let code = null;
206
+ let message = `HTTP ${status}`;
207
+ if (body && typeof body === "object") {
208
+ const obj = body;
209
+ if (typeof obj["code"] === "string")
210
+ code = obj["code"];
211
+ if (typeof obj["message"] === "string") {
212
+ message = obj["message"];
213
+ }
214
+ else if (typeof obj["error"] === "string") {
215
+ message = obj["error"];
216
+ }
217
+ }
218
+ else if (typeof raw === "string" && raw.length > 0) {
219
+ message = raw;
220
+ }
221
+ return new QnspApiError(message, status, code, body);
222
+ }
223
+ function parseExpiresAt(response) {
224
+ const { expiresAt } = response;
225
+ if (typeof expiresAt === "number")
226
+ return expiresAt;
227
+ if (typeof expiresAt === "string") {
228
+ const parsed = Date.parse(expiresAt);
229
+ if (!Number.isNaN(parsed))
230
+ return parsed;
231
+ }
232
+ // Conservative default — 5 minutes from now.
233
+ return Date.now() + 5 * 60_000;
234
+ }
235
+ //# sourceMappingURL=_internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_internal.js","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * QNSP Access-Control — RBAC: roles, permissions, role assignments.
3
+ * Wraps `apps/access-control-service` (`/access/v1`).
4
+ */
5
+ import type { Internal, RequestOptions } from "./_internal.js";
6
+ export interface CreateRoleRequest {
7
+ readonly name: string;
8
+ readonly permissions: readonly string[];
9
+ readonly description?: string;
10
+ }
11
+ export interface AssignRoleRequest {
12
+ readonly roleId: string;
13
+ readonly subjectId: string;
14
+ readonly scope?: string;
15
+ }
16
+ export interface CheckPermissionRequest {
17
+ readonly subjectId: string;
18
+ readonly permission: string;
19
+ readonly scope?: string;
20
+ }
21
+ export declare class AccessClient {
22
+ private readonly internal;
23
+ constructor(internal: Internal);
24
+ createRole(req: CreateRoleRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
25
+ getRole(roleId: string): Promise<Record<string, unknown>>;
26
+ listRoles(query?: RequestOptions["query"]): Promise<Record<string, unknown>>;
27
+ deleteRole(roleId: string): Promise<void>;
28
+ assignRole(req: AssignRoleRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
29
+ revokeRoleAssignment(assignmentId: string): Promise<void>;
30
+ checkPermission(req: CheckPermissionRequest): Promise<Record<string, unknown>>;
31
+ }
32
+ //# sourceMappingURL=access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/D,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAIhF,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAInC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAI1E,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,eAAe,CAAC,GAAG,EAAE,sBAAsB;CAG3C"}
package/dist/access.js ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * QNSP Access-Control — RBAC: roles, permissions, role assignments.
3
+ * Wraps `apps/access-control-service` (`/access/v1`).
4
+ */
5
+ const PATH_PREFIX = "/proxy/access/v1";
6
+ export class AccessClient {
7
+ internal;
8
+ constructor(internal) {
9
+ this.internal = internal;
10
+ }
11
+ createRole(req, opts) {
12
+ return this.internal.request("POST", `${PATH_PREFIX}/roles`, req, opts);
13
+ }
14
+ getRole(roleId) {
15
+ return this.internal.request("GET", `${PATH_PREFIX}/roles/${roleId}`);
16
+ }
17
+ listRoles(query) {
18
+ return this.internal.request("GET", `${PATH_PREFIX}/roles`, undefined, { query });
19
+ }
20
+ async deleteRole(roleId) {
21
+ await this.internal.request("DELETE", `${PATH_PREFIX}/roles/${roleId}`);
22
+ }
23
+ assignRole(req, opts) {
24
+ return this.internal.request("POST", `${PATH_PREFIX}/role-assignments`, req, opts);
25
+ }
26
+ async revokeRoleAssignment(assignmentId) {
27
+ await this.internal.request("DELETE", `${PATH_PREFIX}/role-assignments/${assignmentId}`);
28
+ }
29
+ checkPermission(req) {
30
+ return this.internal.request("POST", `${PATH_PREFIX}/check`, req);
31
+ }
32
+ }
33
+ //# sourceMappingURL=access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAoBvC,MAAM,OAAO,YAAY;IACK;IAA7B,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,UAAU,CAAC,GAAsB,EAAE,IAA6C;QAC/E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,UAAU,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CAAC,KAA+B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,WAAW,UAAU,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,GAAsB,EAAE,IAA6C;QAC/E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,mBAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,WAAW,qBAAqB,YAAY,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,eAAe,CAAC,GAA2B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;CACD"}
package/dist/ai.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * QNSP AI Orchestrator — model registry, AI workloads with enclave
3
+ * attestation, inference, bias / prompt-injection monitoring. Wraps
4
+ * `apps/ai-orchestrator` (`/ai/v1`).
5
+ */
6
+ import type { Internal, RequestOptions } from "./_internal.js";
7
+ export interface RegisterModelRequest {
8
+ readonly name: string;
9
+ readonly version: string;
10
+ readonly provider: string;
11
+ readonly capabilities?: readonly string[];
12
+ readonly metadata?: Record<string, unknown>;
13
+ }
14
+ export interface SubmitWorkloadRequest {
15
+ readonly modelId: string;
16
+ readonly type: string;
17
+ readonly inputRefs?: readonly string[];
18
+ readonly outputBucket?: string;
19
+ readonly enclaveType?: string;
20
+ readonly metadata?: Record<string, unknown>;
21
+ }
22
+ export interface InferenceRequest {
23
+ readonly modelId: string;
24
+ readonly input: Record<string, unknown>;
25
+ readonly stream?: boolean;
26
+ readonly metadata?: Record<string, unknown>;
27
+ }
28
+ export interface RegisterArtifactRequest {
29
+ readonly name: string;
30
+ readonly hash: string;
31
+ readonly storageId: string;
32
+ readonly type?: string;
33
+ readonly metadata?: Record<string, unknown>;
34
+ }
35
+ export declare class AiClient {
36
+ private readonly internal;
37
+ constructor(internal: Internal);
38
+ registerModel(req: RegisterModelRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
39
+ listModels(query?: RequestOptions["query"]): Promise<Record<string, unknown>>;
40
+ getModel(modelId: string): Promise<Record<string, unknown>>;
41
+ updateModel(modelId: string, body: Record<string, unknown>, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
42
+ activateModel(modelId: string, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
43
+ deployModel(body: Record<string, unknown>, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
44
+ submitWorkload(req: SubmitWorkloadRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
45
+ getWorkload(workloadId: string): Promise<Record<string, unknown>>;
46
+ listWorkloads(query?: RequestOptions["query"]): Promise<Record<string, unknown>>;
47
+ cancelWorkload(workloadId: string, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
48
+ invokeInference(req: InferenceRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
49
+ registerArtifact(req: RegisterArtifactRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
50
+ }
51
+ //# sourceMappingURL=ai.d.ts.map