@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,25 @@
1
+ /**
2
+ * QNSP Tenant — tenant CRUD, crypto-policy management, current-health,
3
+ * current-quotas. Wraps `apps/tenant-service` (`/tenant/v1`).
4
+ */
5
+ import type { Internal, RequestOptions } from "./_internal.js";
6
+ export interface CreateTenantRequest {
7
+ readonly name: string;
8
+ readonly slug?: string;
9
+ readonly tier?: string;
10
+ readonly parentTenantId?: string;
11
+ readonly metadata?: Record<string, unknown>;
12
+ }
13
+ export declare class TenantClient {
14
+ private readonly internal;
15
+ constructor(internal: Internal);
16
+ createTenant(req: CreateTenantRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
17
+ getTenant(tenantId: string): Promise<Record<string, unknown>>;
18
+ updateTenant(tenantId: string, body: Record<string, unknown>, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
19
+ listTenants(query?: RequestOptions["query"]): Promise<Record<string, unknown>>;
20
+ getCryptoPolicy(tenantId: string): Promise<Record<string, unknown>>;
21
+ upsertCryptoPolicy(tenantId: string, body: Record<string, unknown>, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
22
+ getCurrentHealth(tenantId: string): Promise<Record<string, unknown>>;
23
+ getCurrentQuotas(tenantId: string): Promise<Record<string, unknown>>;
24
+ }
25
+ //# sourceMappingURL=tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../src/tenant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,qBAAa,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAIpF,SAAS,CAAC,QAAQ,EAAE,MAAM;IAI1B,YAAY,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAK9C,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAI3C,eAAe,CAAC,QAAQ,EAAE,MAAM;IAIhC,kBAAkB,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAU9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAIjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;CAGjC"}
package/dist/tenant.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * QNSP Tenant — tenant CRUD, crypto-policy management, current-health,
3
+ * current-quotas. Wraps `apps/tenant-service` (`/tenant/v1`).
4
+ */
5
+ const PATH_PREFIX = "/proxy/tenant/v1";
6
+ export class TenantClient {
7
+ internal;
8
+ constructor(internal) {
9
+ this.internal = internal;
10
+ }
11
+ createTenant(req, opts) {
12
+ return this.internal.request("POST", `${PATH_PREFIX}/tenants`, req, opts);
13
+ }
14
+ getTenant(tenantId) {
15
+ return this.internal.request("GET", `${PATH_PREFIX}/tenants/${tenantId}`);
16
+ }
17
+ updateTenant(tenantId, body, opts) {
18
+ return this.internal.request("PATCH", `${PATH_PREFIX}/tenants/${tenantId}`, body, opts);
19
+ }
20
+ listTenants(query) {
21
+ return this.internal.request("GET", `${PATH_PREFIX}/tenants`, undefined, { query });
22
+ }
23
+ getCryptoPolicy(tenantId) {
24
+ return this.internal.request("GET", `${PATH_PREFIX}/tenants/${tenantId}/crypto-policy`);
25
+ }
26
+ upsertCryptoPolicy(tenantId, body, opts) {
27
+ return this.internal.request("PUT", `${PATH_PREFIX}/tenants/${tenantId}/crypto-policy`, body, opts);
28
+ }
29
+ getCurrentHealth(tenantId) {
30
+ return this.internal.request("GET", `${PATH_PREFIX}/tenants/${tenantId}/health`);
31
+ }
32
+ getCurrentQuotas(tenantId) {
33
+ return this.internal.request("GET", `${PATH_PREFIX}/tenants/${tenantId}/quotas`);
34
+ }
35
+ }
36
+ //# sourceMappingURL=tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../src/tenant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAUvC,MAAM,OAAO,YAAY;IACK;IAA7B,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,YAAY,CAAC,GAAwB,EAAE,IAA6C;QACnF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY,CACX,QAAgB,EAChB,IAA6B,EAC7B,IAA6C;QAE7C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,WAAW,YAAY,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,WAAW,CAAC,KAA+B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,gBAAgB,CAAC,CAAC;IACzF,CAAC;IAED,kBAAkB,CACjB,QAAgB,EAChB,IAA6B,EAC7B,IAA6C;QAE7C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3B,KAAK,EACL,GAAG,WAAW,YAAY,QAAQ,gBAAgB,EAClD,IAAI,EACJ,IAAI,CACJ,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,SAAS,CAAC,CAAC;IAClF,CAAC;CACD"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * QNSP Vault — PQC-encrypted secret storage with versioning, rotation,
3
+ * and deletion. Wraps `apps/vault-service` (`/vault/v1`).
4
+ */
5
+ import type { Internal, RequestOptions } from "./_internal.js";
6
+ export interface CreateSecretRequest {
7
+ readonly name: string;
8
+ readonly payloadB64: string;
9
+ readonly algorithm?: string;
10
+ readonly metadata?: Record<string, unknown>;
11
+ }
12
+ export declare class VaultClient {
13
+ private readonly internal;
14
+ constructor(internal: Internal);
15
+ createSecret(req: CreateSecretRequest, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
16
+ getSecret(secretId: string): Promise<Record<string, unknown>>;
17
+ getSecretVersion(secretId: string, version: number): Promise<Record<string, unknown>>;
18
+ rotateSecret(secretId: string, payloadB64: string, algorithm?: string, opts?: Pick<RequestOptions, "idempotencyKey">): Promise<Record<string, unknown>>;
19
+ deleteSecret(secretId: string): Promise<Record<string, unknown>>;
20
+ listSecretVersions(secretId: string): Promise<Record<string, unknown>>;
21
+ }
22
+ //# sourceMappingURL=vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,qBAAa,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAYpF,SAAS,CAAC,QAAQ,EAAE,MAAM;IAI1B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIlD,YAAY,CACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAS9C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIhE,kBAAkB,CAAC,QAAQ,EAAE,MAAM;CAGnC"}
package/dist/vault.js ADDED
@@ -0,0 +1,43 @@
1
+ /**
2
+ * QNSP Vault — PQC-encrypted secret storage with versioning, rotation,
3
+ * and deletion. Wraps `apps/vault-service` (`/vault/v1`).
4
+ */
5
+ const PATH_PREFIX = "/proxy/vault/v1";
6
+ export class VaultClient {
7
+ internal;
8
+ constructor(internal) {
9
+ this.internal = internal;
10
+ }
11
+ createSecret(req, opts) {
12
+ // Wire contract: vault createSecretSchema = { tenantId, name(min3), payload,
13
+ // metadata, rotationPolicy(default) }. tenantId is auto-injected by Internal.
14
+ // Map the SDK's payloadB64 -> payload and fold algorithm into metadata.
15
+ const metadata = {
16
+ ...(req.metadata ?? {}),
17
+ ...(req.algorithm ? { algorithm: req.algorithm } : {}),
18
+ };
19
+ const body = { name: req.name, payload: req.payloadB64, metadata };
20
+ return this.internal.request("POST", `${PATH_PREFIX}/secrets`, body, opts);
21
+ }
22
+ getSecret(secretId) {
23
+ return this.internal.request("GET", `${PATH_PREFIX}/secrets/${secretId}`);
24
+ }
25
+ getSecretVersion(secretId, version) {
26
+ return this.internal.request("GET", `${PATH_PREFIX}/secrets/${secretId}/versions/${version}`);
27
+ }
28
+ rotateSecret(secretId, payloadB64, algorithm, opts) {
29
+ // Wire contract: rotateSecretSchema = { tenantId, newPayload?, metadata?,
30
+ // rotationPolicy? }. Map payloadB64 -> newPayload; algorithm into metadata.
31
+ const body = { newPayload: payloadB64 };
32
+ if (algorithm !== undefined)
33
+ body["metadata"] = { algorithm };
34
+ return this.internal.request("POST", `${PATH_PREFIX}/secrets/${secretId}/rotate`, body, opts);
35
+ }
36
+ deleteSecret(secretId) {
37
+ return this.internal.request("DELETE", `${PATH_PREFIX}/secrets/${secretId}`);
38
+ }
39
+ listSecretVersions(secretId) {
40
+ return this.internal.request("GET", `${PATH_PREFIX}/secrets/${secretId}/versions`);
41
+ }
42
+ }
43
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAStC,MAAM,OAAO,WAAW;IACM;IAA7B,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,YAAY,CAAC,GAAwB,EAAE,IAA6C;QACnF,6EAA6E;QAC7E,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,QAAQ,GAAG;YAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,OAAe;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,YAAY,CACX,QAAgB,EAChB,UAAkB,EAClB,SAAkB,EAClB,IAA6C;QAE7C,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACjE,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,YAAY,QAAQ,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,YAAY,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,YAAY,QAAQ,WAAW,CAAC,CAAC;IACpF,CAAC;CACD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * QNSP webhook signature verification + typed event parsing.
3
+ *
4
+ * Every QNSP webhook is signed with HMAC-SHA-256 over the raw request
5
+ * body. Always verify the **raw bytes** before parsing JSON.
6
+ */
7
+ /** Default replay-protection window — 5 minutes. */
8
+ export declare const MAX_WEBHOOK_SKEW_MS: number;
9
+ export interface QnspWebhookEvent {
10
+ readonly eventType: string;
11
+ readonly eventId: string;
12
+ readonly occurredAt: string;
13
+ readonly payload: Record<string, unknown>;
14
+ }
15
+ /**
16
+ * Constant-time HMAC-SHA-256 verification. The header must be of the
17
+ * form `sha256=<hex>`.
18
+ */
19
+ export declare function verifyQnspWebhookSignature(body: Uint8Array | string, signatureHeader: string, secret: string): void;
20
+ /**
21
+ * Verify the HMAC, enforce replay protection, parse the JSON body, and
22
+ * return a typed `QnspWebhookEvent`.
23
+ */
24
+ export declare function parseQnspWebhook(input: {
25
+ readonly body: Uint8Array | string;
26
+ readonly signatureHeader: string;
27
+ readonly timestampHeader?: string;
28
+ readonly secret: string;
29
+ readonly maxSkewMs?: number;
30
+ readonly now?: Date;
31
+ }): QnspWebhookEvent;
32
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,QAAgB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,UAAU,GAAG,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACZ,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;CACpB,GAAG,gBAAgB,CA2CnB"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * QNSP webhook signature verification + typed event parsing.
3
+ *
4
+ * Every QNSP webhook is signed with HMAC-SHA-256 over the raw request
5
+ * body. Always verify the **raw bytes** before parsing JSON.
6
+ */
7
+ import { createHmac, timingSafeEqual } from "node:crypto";
8
+ import { QnspWebhookError } from "./errors.js";
9
+ /** Default replay-protection window — 5 minutes. */
10
+ export const MAX_WEBHOOK_SKEW_MS = 5 * 60 * 1000;
11
+ /**
12
+ * Constant-time HMAC-SHA-256 verification. The header must be of the
13
+ * form `sha256=<hex>`.
14
+ */
15
+ export function verifyQnspWebhookSignature(body, signatureHeader, secret) {
16
+ if (!signatureHeader.startsWith("sha256=")) {
17
+ throw new QnspWebhookError("signature header must start with 'sha256='");
18
+ }
19
+ const expectedHex = signatureHeader.slice("sha256=".length);
20
+ const expected = Buffer.from(expectedHex, "hex");
21
+ if (expected.length === 0) {
22
+ throw new QnspWebhookError("signature is not valid hex");
23
+ }
24
+ const bodyBytes = typeof body === "string" ? Buffer.from(body, "utf8") : Buffer.from(body);
25
+ const actual = createHmac("sha256", secret).update(bodyBytes).digest();
26
+ if (actual.length !== expected.length || !timingSafeEqual(actual, expected)) {
27
+ throw new QnspWebhookError("signature mismatch");
28
+ }
29
+ }
30
+ /**
31
+ * Verify the HMAC, enforce replay protection, parse the JSON body, and
32
+ * return a typed `QnspWebhookEvent`.
33
+ */
34
+ export function parseQnspWebhook(input) {
35
+ verifyQnspWebhookSignature(input.body, input.signatureHeader, input.secret);
36
+ const skewMs = input.maxSkewMs ?? MAX_WEBHOOK_SKEW_MS;
37
+ if (input.timestampHeader !== undefined && input.timestampHeader.length > 0) {
38
+ const ts = Date.parse(input.timestampHeader);
39
+ if (Number.isNaN(ts)) {
40
+ throw new QnspWebhookError("timestamp header is not RFC3339");
41
+ }
42
+ const reference = input.now ? input.now.getTime() : Date.now();
43
+ const delta = reference - ts;
44
+ if (delta > skewMs)
45
+ throw new QnspWebhookError("timestamp is too old");
46
+ if (-delta > skewMs)
47
+ throw new QnspWebhookError("timestamp is in the future");
48
+ }
49
+ const text = typeof input.body === "string" ? input.body : Buffer.from(input.body).toString("utf8");
50
+ let raw;
51
+ try {
52
+ raw = JSON.parse(text);
53
+ }
54
+ catch {
55
+ throw new QnspWebhookError("body is not valid JSON");
56
+ }
57
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
58
+ throw new QnspWebhookError("body is not a JSON object");
59
+ }
60
+ const obj = raw;
61
+ const eventType = obj["event_type"];
62
+ const eventId = obj["event_id"];
63
+ if (typeof eventType !== "string") {
64
+ throw new QnspWebhookError("missing event_type");
65
+ }
66
+ if (typeof eventId !== "string") {
67
+ throw new QnspWebhookError("missing event_id");
68
+ }
69
+ const occurredAtRaw = obj["occurred_at"];
70
+ const occurredAt = typeof occurredAtRaw === "string" ? occurredAtRaw : "";
71
+ const payloadRaw = obj["payload"];
72
+ const payload = payloadRaw && typeof payloadRaw === "object" && !Array.isArray(payloadRaw)
73
+ ? payloadRaw
74
+ : {};
75
+ return { eventType, eventId, occurredAt, payload };
76
+ }
77
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,118 @@
1
+ {
2
+ "name": "@heossi/qnsi",
3
+ "version": "0.3.2",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "type": "module",
8
+ "license": "Apache-2.0",
9
+ "description": "Official Node.js / TypeScript SDK for the QNSI Quantum-Native Security Infrastructure by HEOSSI. Single package covering vault, kms, audit, auth, tenant, access-control, billing, crypto-inventory, storage, search, ai-orchestrator + local PQC primitives + webhook verification. Mirrors the qnsp Python / Go / Rust SDK surface byte-for-byte.",
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ },
17
+ "./activation": {
18
+ "types": "./dist/_activation/index.d.ts",
19
+ "import": "./dist/_activation/index.js"
20
+ },
21
+ "./browser": {
22
+ "types": "./dist/browser/index.d.ts",
23
+ "import": "./dist/browser/index.js"
24
+ },
25
+ "./langchain": {
26
+ "types": "./dist/langchain/index.d.ts",
27
+ "import": "./dist/langchain/index.js"
28
+ },
29
+ "./llamaindex": {
30
+ "types": "./dist/llamaindex/index.d.ts",
31
+ "import": "./dist/llamaindex/index.js"
32
+ },
33
+ "./autogen": {
34
+ "types": "./dist/autogen/index.d.ts",
35
+ "import": "./dist/autogen/index.js"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "bin": {
40
+ "qnsi": "./dist/cli/index.js"
41
+ },
42
+ "dependencies": {
43
+ "@noble/hashes": "^2.0.1",
44
+ "@noble/post-quantum": "^0.6.1",
45
+ "commander": "^14.0.3",
46
+ "dotenv": "^17.4.0",
47
+ "zod": "^4.3.6"
48
+ },
49
+ "peerDependencies": {
50
+ "@langchain/core": ">=0.3.0",
51
+ "autogen": ">=0.0.1",
52
+ "llamaindex": ">=0.5.0"
53
+ },
54
+ "peerDependenciesMeta": {
55
+ "@langchain/core": {
56
+ "optional": true
57
+ },
58
+ "autogen": {
59
+ "optional": true
60
+ },
61
+ "llamaindex": {
62
+ "optional": true
63
+ }
64
+ },
65
+ "devDependencies": {
66
+ "@langchain/core": "^0.3.80",
67
+ "@types/node": "^25.5.2",
68
+ "typescript": "^6.0.2",
69
+ "vitest": "4.1.2"
70
+ },
71
+ "engines": {
72
+ "node": ">=22.0.0"
73
+ },
74
+ "keywords": [
75
+ "qnsp",
76
+ "sdk",
77
+ "post-quantum",
78
+ "pqc",
79
+ "vault",
80
+ "kms",
81
+ "audit",
82
+ "auth",
83
+ "tenant",
84
+ "billing",
85
+ "storage",
86
+ "search",
87
+ "ai",
88
+ "ml-kem",
89
+ "ml-dsa",
90
+ "slh-dsa",
91
+ "fips-203",
92
+ "fips-204",
93
+ "fips-205",
94
+ "quantum-safe",
95
+ "zero-trust"
96
+ ],
97
+ "repository": {
98
+ "type": "git",
99
+ "url": "https://github.com/heossi-hq/qnsp-public",
100
+ "directory": "packages/qnsp"
101
+ },
102
+ "homepage": "https://cloud.qnsp.cuilabs.io",
103
+ "bugs": {
104
+ "url": "https://github.com/heossi-hq/qnsp-public/issues"
105
+ },
106
+ "files": [
107
+ "dist/**/*",
108
+ "README.md",
109
+ "LICENSE",
110
+ "CHANGELOG.md"
111
+ ],
112
+ "scripts": {
113
+ "build": "tsc --project tsconfig.build.json",
114
+ "lint": "biome check .",
115
+ "test": "vitest run",
116
+ "typecheck": "tsc --project tsconfig.json --noEmit"
117
+ }
118
+ }