@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.
- package/CHANGELOG.md +67 -0
- package/LICENSE.md +8 -0
- package/README.md +200 -0
- package/dist/_activation/activation-client.d.ts +65 -0
- package/dist/_activation/activation-client.d.ts.map +1 -0
- package/dist/_activation/activation-client.js +164 -0
- package/dist/_activation/activation-client.js.map +1 -0
- package/dist/_activation/index.d.ts +10 -0
- package/dist/_activation/index.d.ts.map +1 -0
- package/dist/_activation/index.js +10 -0
- package/dist/_activation/index.js.map +1 -0
- package/dist/_activation/types.d.ts +128 -0
- package/dist/_activation/types.d.ts.map +1 -0
- package/dist/_activation/types.js +94 -0
- package/dist/_activation/types.js.map +1 -0
- package/dist/_internal.d.ts +52 -0
- package/dist/_internal.d.ts.map +1 -0
- package/dist/_internal.js +235 -0
- package/dist/_internal.js.map +1 -0
- package/dist/access.d.ts +32 -0
- package/dist/access.d.ts.map +1 -0
- package/dist/access.js +33 -0
- package/dist/access.js.map +1 -0
- package/dist/ai.d.ts +51 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +53 -0
- package/dist/ai.js.map +1 -0
- package/dist/audit.d.ts +18 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +21 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth.d.ts +31 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +69 -0
- package/dist/auth.js.map +1 -0
- package/dist/autogen/executor.d.ts +200 -0
- package/dist/autogen/executor.d.ts.map +1 -0
- package/dist/autogen/executor.js +277 -0
- package/dist/autogen/executor.js.map +1 -0
- package/dist/autogen/index.d.ts +18 -0
- package/dist/autogen/index.d.ts.map +1 -0
- package/dist/autogen/index.js +17 -0
- package/dist/autogen/index.js.map +1 -0
- package/dist/billing.d.ts +22 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +33 -0
- package/dist/billing.js.map +1 -0
- package/dist/browser/encrypt.d.ts +68 -0
- package/dist/browser/encrypt.d.ts.map +1 -0
- package/dist/browser/encrypt.js +191 -0
- package/dist/browser/encrypt.js.map +1 -0
- package/dist/browser/index.d.ts +39 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +41 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/noble-provider.d.ts +10 -0
- package/dist/browser/noble-provider.d.ts.map +1 -0
- package/dist/browser/noble-provider.js +130 -0
- package/dist/browser/noble-provider.js.map +1 -0
- package/dist/browser/pqc-types.d.ts +40 -0
- package/dist/browser/pqc-types.d.ts.map +1 -0
- package/dist/browser/pqc-types.js +2 -0
- package/dist/browser/pqc-types.js.map +1 -0
- package/dist/browser/provider-setup.d.ts +70 -0
- package/dist/browser/provider-setup.d.ts.map +1 -0
- package/dist/browser/provider-setup.js +101 -0
- package/dist/browser/provider-setup.js.map +1 -0
- package/dist/browser/sdk-package-version.d.ts +12 -0
- package/dist/browser/sdk-package-version.d.ts.map +1 -0
- package/dist/browser/sdk-package-version.js +12 -0
- package/dist/browser/sdk-package-version.js.map +1 -0
- package/dist/browser/sign.d.ts +65 -0
- package/dist/browser/sign.d.ts.map +1 -0
- package/dist/browser/sign.js +124 -0
- package/dist/browser/sign.js.map +1 -0
- package/dist/browser/telemetry.d.ts +98 -0
- package/dist/browser/telemetry.d.ts.map +1 -0
- package/dist/browser/telemetry.js +93 -0
- package/dist/browser/telemetry.js.map +1 -0
- package/dist/cli/commands/access-control.d.ts +4 -0
- package/dist/cli/commands/access-control.d.ts.map +1 -0
- package/dist/cli/commands/access-control.js +183 -0
- package/dist/cli/commands/access-control.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +4 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +70 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +4 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +46 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/billing.d.ts +4 -0
- package/dist/cli/commands/billing.d.ts.map +1 -0
- package/dist/cli/commands/billing.js +179 -0
- package/dist/cli/commands/billing.js.map +1 -0
- package/dist/cli/commands/crypto-policy.d.ts +4 -0
- package/dist/cli/commands/crypto-policy.d.ts.map +1 -0
- package/dist/cli/commands/crypto-policy.js +130 -0
- package/dist/cli/commands/crypto-policy.js.map +1 -0
- package/dist/cli/commands/kms.d.ts +4 -0
- package/dist/cli/commands/kms.d.ts.map +1 -0
- package/dist/cli/commands/kms.js +153 -0
- package/dist/cli/commands/kms.js.map +1 -0
- package/dist/cli/commands/observability.d.ts +4 -0
- package/dist/cli/commands/observability.d.ts.map +1 -0
- package/dist/cli/commands/observability.js +97 -0
- package/dist/cli/commands/observability.js.map +1 -0
- package/dist/cli/commands/search.d.ts +4 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +66 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/security.d.ts +4 -0
- package/dist/cli/commands/security.d.ts.map +1 -0
- package/dist/cli/commands/security.js +136 -0
- package/dist/cli/commands/security.js.map +1 -0
- package/dist/cli/commands/storage.d.ts +4 -0
- package/dist/cli/commands/storage.d.ts.map +1 -0
- package/dist/cli/commands/storage.js +85 -0
- package/dist/cli/commands/storage.js.map +1 -0
- package/dist/cli/commands/tenant.d.ts +4 -0
- package/dist/cli/commands/tenant.d.ts.map +1 -0
- package/dist/cli/commands/tenant.js +82 -0
- package/dist/cli/commands/tenant.js.map +1 -0
- package/dist/cli/commands/test-utils.d.ts +15 -0
- package/dist/cli/commands/test-utils.d.ts.map +1 -0
- package/dist/cli/commands/test-utils.js +72 -0
- package/dist/cli/commands/test-utils.js.map +1 -0
- package/dist/cli/commands/vault.d.ts +4 -0
- package/dist/cli/commands/vault.d.ts.map +1 -0
- package/dist/cli/commands/vault.js +111 -0
- package/dist/cli/commands/vault.js.map +1 -0
- package/dist/cli/config.d.ts +32 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +105 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +54 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/audit-logger.d.ts +17 -0
- package/dist/cli/utils/audit-logger.d.ts.map +1 -0
- package/dist/cli/utils/audit-logger.js +52 -0
- package/dist/cli/utils/audit-logger.js.map +1 -0
- package/dist/cli/utils/auth.d.ts +4 -0
- package/dist/cli/utils/auth.d.ts.map +1 -0
- package/dist/cli/utils/auth.js +100 -0
- package/dist/cli/utils/auth.js.map +1 -0
- package/dist/cli/utils/backend-validator.d.ts +19 -0
- package/dist/cli/utils/backend-validator.d.ts.map +1 -0
- package/dist/cli/utils/backend-validator.js +72 -0
- package/dist/cli/utils/backend-validator.js.map +1 -0
- package/dist/cli/utils/command-config.d.ts +4 -0
- package/dist/cli/utils/command-config.d.ts.map +1 -0
- package/dist/cli/utils/command-config.js +29 -0
- package/dist/cli/utils/command-config.js.map +1 -0
- package/dist/cli/utils/fetcher.d.ts +3 -0
- package/dist/cli/utils/fetcher.d.ts.map +1 -0
- package/dist/cli/utils/fetcher.js +30 -0
- package/dist/cli/utils/fetcher.js.map +1 -0
- package/dist/cli/utils/https-validator.d.ts +9 -0
- package/dist/cli/utils/https-validator.d.ts.map +1 -0
- package/dist/cli/utils/https-validator.js +35 -0
- package/dist/cli/utils/https-validator.js.map +1 -0
- package/dist/cli/utils/output.d.ts +6 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +29 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/cli/utils/pqc-validator.d.ts +17 -0
- package/dist/cli/utils/pqc-validator.d.ts.map +1 -0
- package/dist/cli/utils/pqc-validator.js +62 -0
- package/dist/cli/utils/pqc-validator.js.map +1 -0
- package/dist/cli/utils/prompt.d.ts +4 -0
- package/dist/cli/utils/prompt.d.ts.map +1 -0
- package/dist/cli/utils/prompt.js +30 -0
- package/dist/cli/utils/prompt.js.map +1 -0
- package/dist/cli/utils/rate-limiter.d.ts +15 -0
- package/dist/cli/utils/rate-limiter.d.ts.map +1 -0
- package/dist/cli/utils/rate-limiter.js +46 -0
- package/dist/cli/utils/rate-limiter.js.map +1 -0
- package/dist/cli/utils/sanitize.d.ts +3 -0
- package/dist/cli/utils/sanitize.d.ts.map +1 -0
- package/dist/cli/utils/sanitize.js +44 -0
- package/dist/cli/utils/sanitize.js.map +1 -0
- package/dist/cli/utils/security-headers.d.ts +18 -0
- package/dist/cli/utils/security-headers.d.ts.map +1 -0
- package/dist/cli/utils/security-headers.js +32 -0
- package/dist/cli/utils/security-headers.js.map +1 -0
- package/dist/cli/utils/token-cache.d.ts +4 -0
- package/dist/cli/utils/token-cache.d.ts.map +1 -0
- package/dist/cli/utils/token-cache.js +22 -0
- package/dist/cli/utils/token-cache.js.map +1 -0
- package/dist/client.d.ts +52 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +78 -0
- package/dist/client.js.map +1 -0
- package/dist/crypto-inventory.d.ts +21 -0
- package/dist/crypto-inventory.d.ts.map +1 -0
- package/dist/crypto-inventory.js +28 -0
- package/dist/crypto-inventory.js.map +1 -0
- package/dist/errors.d.ts +35 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +64 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/kms.d.ts +30 -0
- package/dist/kms.d.ts.map +1 -0
- package/dist/kms.js +92 -0
- package/dist/kms.js.map +1 -0
- package/dist/langchain/index.d.ts +22 -0
- package/dist/langchain/index.d.ts.map +1 -0
- package/dist/langchain/index.js +23 -0
- package/dist/langchain/index.js.map +1 -0
- package/dist/langchain/toolkit.d.ts +85 -0
- package/dist/langchain/toolkit.d.ts.map +1 -0
- package/dist/langchain/toolkit.js +146 -0
- package/dist/langchain/toolkit.js.map +1 -0
- package/dist/langchain/tools/audit.d.ts +43 -0
- package/dist/langchain/tools/audit.d.ts.map +1 -0
- package/dist/langchain/tools/audit.js +78 -0
- package/dist/langchain/tools/audit.js.map +1 -0
- package/dist/langchain/tools/kms.d.ts +62 -0
- package/dist/langchain/tools/kms.d.ts.map +1 -0
- package/dist/langchain/tools/kms.js +120 -0
- package/dist/langchain/tools/kms.js.map +1 -0
- package/dist/langchain/tools/vault.d.ts +69 -0
- package/dist/langchain/tools/vault.d.ts.map +1 -0
- package/dist/langchain/tools/vault.js +107 -0
- package/dist/langchain/tools/vault.js.map +1 -0
- package/dist/langchain/vault-client.d.ts +82 -0
- package/dist/langchain/vault-client.d.ts.map +1 -0
- package/dist/langchain/vault-client.js +133 -0
- package/dist/langchain/vault-client.js.map +1 -0
- package/dist/llamaindex/index.d.ts +16 -0
- package/dist/llamaindex/index.d.ts.map +1 -0
- package/dist/llamaindex/index.js +15 -0
- package/dist/llamaindex/index.js.map +1 -0
- package/dist/llamaindex/sse.d.ts +36 -0
- package/dist/llamaindex/sse.d.ts.map +1 -0
- package/dist/llamaindex/sse.js +151 -0
- package/dist/llamaindex/sse.js.map +1 -0
- package/dist/llamaindex/vector-store.d.ts +101 -0
- package/dist/llamaindex/vector-store.d.ts.map +1 -0
- package/dist/llamaindex/vector-store.js +348 -0
- package/dist/llamaindex/vector-store.js.map +1 -0
- package/dist/search.d.ts +32 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +27 -0
- package/dist/search.js.map +1 -0
- package/dist/storage.d.ts +32 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +58 -0
- package/dist/storage.js.map +1 -0
- package/dist/tenant.d.ts +25 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +36 -0
- package/dist/tenant.js.map +1 -0
- package/dist/vault.d.ts +22 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +43 -0
- package/dist/vault.js.map +1 -0
- package/dist/webhooks.d.ts +32 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +77 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +118 -0
package/dist/tenant.d.ts
ADDED
|
@@ -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"}
|
package/dist/vault.d.ts
ADDED
|
@@ -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"}
|
package/dist/webhooks.js
ADDED
|
@@ -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
|
+
}
|