@qnsp/storage-sdk 0.3.0 → 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.
@@ -0,0 +1,474 @@
1
+ /**
2
+ * Type definitions for storage-sdk advanced features:
3
+ * - Data Classification
4
+ * - Retention Policies
5
+ * - Cross-Region Replication
6
+ * - Intelligent Tiering
7
+ */
8
+ export type PiiType = "email" | "phone" | "ssn" | "credit_card" | "passport" | "driver_license" | "date_of_birth" | "address" | "ip_address" | "medical_record" | "financial_account" | "biometric" | "genetic" | "ethnic_origin" | "political_opinion" | "religious_belief" | "sexual_orientation" | "trade_union_membership" | "custom";
9
+ export type ClassificationLevel = "public" | "internal" | "confidential" | "restricted" | "top_secret";
10
+ export type ClassificationSource = "manual" | "automatic" | "policy" | "ml_model";
11
+ export interface ClassificationPattern {
12
+ readonly name: string;
13
+ readonly regex: string;
14
+ readonly piiType?: PiiType;
15
+ readonly weight?: number;
16
+ }
17
+ export interface ClassificationKeyword {
18
+ readonly term: string;
19
+ readonly caseSensitive?: boolean;
20
+ readonly weight?: number;
21
+ }
22
+ export interface ClassificationMetadataRule {
23
+ readonly field: string;
24
+ readonly operator: "equals" | "contains" | "starts_with" | "ends_with" | "matches";
25
+ readonly value: string;
26
+ readonly classificationLevel?: ClassificationLevel;
27
+ }
28
+ export interface ClassificationActions {
29
+ readonly notifyOnDetection?: boolean;
30
+ readonly notifyRecipients?: readonly string[];
31
+ readonly applyEncryption?: boolean;
32
+ readonly restrictAccess?: boolean;
33
+ readonly auditAllAccess?: boolean;
34
+ }
35
+ export interface CreateClassificationPolicyRequest {
36
+ readonly name: string;
37
+ readonly description?: string;
38
+ readonly classificationLevel: ClassificationLevel;
39
+ readonly sensitivityScore?: number;
40
+ readonly piiDetectionEnabled?: boolean;
41
+ readonly autoClassify?: boolean;
42
+ readonly patterns?: readonly ClassificationPattern[];
43
+ readonly keywords?: readonly ClassificationKeyword[];
44
+ readonly fileTypes?: readonly string[];
45
+ readonly metadataRules?: readonly ClassificationMetadataRule[];
46
+ readonly actions?: ClassificationActions;
47
+ }
48
+ export interface ClassificationPolicy {
49
+ readonly id: string;
50
+ readonly tenantId: string;
51
+ readonly name: string;
52
+ readonly description: string | null;
53
+ readonly classificationLevel: ClassificationLevel;
54
+ readonly sensitivityScore: number;
55
+ readonly piiDetectionEnabled: boolean;
56
+ readonly autoClassify: boolean;
57
+ readonly patterns: readonly ClassificationPattern[];
58
+ readonly keywords: readonly ClassificationKeyword[];
59
+ readonly fileTypes: readonly string[];
60
+ readonly metadataRules: readonly ClassificationMetadataRule[];
61
+ readonly actions: ClassificationActions;
62
+ readonly enabled: boolean;
63
+ readonly createdAt: string;
64
+ readonly updatedAt: string;
65
+ }
66
+ export interface ClassificationPolicySummary {
67
+ readonly id: string;
68
+ readonly name: string;
69
+ readonly description: string | null;
70
+ readonly classificationLevel: ClassificationLevel;
71
+ readonly sensitivityScore: number;
72
+ readonly piiDetectionEnabled: boolean;
73
+ readonly autoClassify: boolean;
74
+ readonly patternsCount: number;
75
+ readonly keywordsCount: number;
76
+ readonly enabled: boolean;
77
+ readonly createdAt: string;
78
+ readonly updatedAt: string;
79
+ }
80
+ export interface PiiLocation {
81
+ readonly type: PiiType;
82
+ readonly location: string;
83
+ readonly start?: number;
84
+ readonly end?: number;
85
+ readonly masked?: boolean;
86
+ }
87
+ export interface ClassifyObjectRequest {
88
+ readonly objectId: string;
89
+ readonly objectPath?: string;
90
+ readonly classificationLevel: ClassificationLevel;
91
+ readonly sensitivityScore?: number;
92
+ readonly confidenceScore?: number;
93
+ readonly classificationSource?: ClassificationSource;
94
+ readonly policyId?: string;
95
+ readonly piiDetected?: boolean;
96
+ readonly piiTypes?: readonly PiiType[];
97
+ readonly piiLocations?: readonly PiiLocation[];
98
+ readonly tags?: readonly string[];
99
+ readonly metadata?: Record<string, unknown>;
100
+ readonly expiresAt?: string;
101
+ }
102
+ export interface ObjectClassification {
103
+ readonly id: string;
104
+ readonly objectId: string;
105
+ readonly objectPath: string | null;
106
+ readonly classificationLevel: ClassificationLevel;
107
+ readonly sensitivityScore: number;
108
+ readonly confidenceScore: number;
109
+ readonly classificationSource: ClassificationSource;
110
+ readonly policyId: string | null;
111
+ readonly piiDetected: boolean;
112
+ readonly piiTypes: readonly PiiType[];
113
+ readonly piiLocations: readonly PiiLocation[];
114
+ readonly tags: readonly string[];
115
+ readonly metadata: Record<string, unknown>;
116
+ readonly lastScannedAt: string;
117
+ readonly expiresAt: string | null;
118
+ readonly createdAt: string;
119
+ readonly updatedAt: string;
120
+ }
121
+ export interface ClassificationScanScope {
122
+ readonly pathPrefix?: string;
123
+ readonly fileTypes?: readonly string[];
124
+ readonly modifiedSince?: string;
125
+ readonly excludePaths?: readonly string[];
126
+ readonly maxObjects?: number;
127
+ }
128
+ export interface StartClassificationScanRequest {
129
+ readonly scanType: "full" | "incremental" | "pii_only" | "reclassify";
130
+ readonly scope?: ClassificationScanScope;
131
+ readonly policies?: readonly string[];
132
+ }
133
+ export interface ClassificationScan {
134
+ readonly id: string;
135
+ readonly scanType: "full" | "incremental" | "pii_only" | "reclassify";
136
+ readonly scope: ClassificationScanScope;
137
+ readonly status: "pending" | "in_progress" | "completed" | "failed";
138
+ readonly objectsScanned: number;
139
+ readonly objectsClassified: number;
140
+ readonly piiDetections: number;
141
+ readonly errors: number;
142
+ readonly startedAt: string;
143
+ readonly completedAt: string | null;
144
+ }
145
+ export interface PiiDetection {
146
+ readonly type: string;
147
+ readonly name: string;
148
+ readonly count: number;
149
+ readonly samples: readonly string[];
150
+ }
151
+ export interface DetectPiiResult {
152
+ readonly piiDetected: boolean;
153
+ readonly detectionCount: number;
154
+ readonly detections: readonly PiiDetection[];
155
+ readonly contentType: string;
156
+ readonly analyzedLength: number;
157
+ }
158
+ export interface ClassificationStats {
159
+ readonly totalClassifiedObjects: number;
160
+ readonly levelDistribution: Record<string, number>;
161
+ readonly piiStatistics: {
162
+ readonly objectsWithPii: number;
163
+ readonly piiPercentage: number;
164
+ readonly topPiiTypes: readonly {
165
+ readonly type: string;
166
+ readonly count: number;
167
+ }[];
168
+ };
169
+ readonly scansLast7Days: Record<string, number>;
170
+ }
171
+ export type RetentionType = "time_based" | "access_based" | "event_based" | "indefinite" | "legal_hold";
172
+ export type DeletionType = "soft" | "hard" | "secure_erase";
173
+ export type LegalHoldType = "litigation" | "regulatory" | "investigation" | "preservation";
174
+ export interface RetentionPolicyAppliesTo {
175
+ readonly pathPatterns?: readonly string[];
176
+ readonly fileTypes?: readonly string[];
177
+ readonly classificationLevels?: readonly string[];
178
+ readonly tags?: readonly string[];
179
+ readonly metadata?: Record<string, string>;
180
+ }
181
+ export interface CreateRetentionPolicyRequest {
182
+ readonly name: string;
183
+ readonly description?: string;
184
+ readonly retentionDays?: number;
185
+ readonly retentionType: RetentionType;
186
+ readonly appliesTo?: RetentionPolicyAppliesTo;
187
+ readonly legalHoldEnabled?: boolean;
188
+ readonly deletionType?: DeletionType;
189
+ readonly archiveBeforeDelete?: boolean;
190
+ readonly notifyBeforeDeletionDays?: number;
191
+ readonly requireApprovalForDeletion?: boolean;
192
+ readonly approvers?: readonly string[];
193
+ readonly priority?: number;
194
+ }
195
+ export interface RetentionPolicy {
196
+ readonly id: string;
197
+ readonly tenantId: string;
198
+ readonly name: string;
199
+ readonly description: string | null;
200
+ readonly retentionDays: number | null;
201
+ readonly retentionType: RetentionType;
202
+ readonly appliesTo: RetentionPolicyAppliesTo;
203
+ readonly legalHoldEnabled: boolean;
204
+ readonly deletionType: DeletionType;
205
+ readonly archiveBeforeDelete: boolean;
206
+ readonly notifyBeforeDeletionDays: number | null;
207
+ readonly requireApprovalForDeletion: boolean;
208
+ readonly approvers: readonly string[];
209
+ readonly priority: number;
210
+ readonly enabled: boolean;
211
+ readonly createdAt: string;
212
+ readonly updatedAt: string;
213
+ }
214
+ export interface RetentionPolicySummary {
215
+ readonly id: string;
216
+ readonly name: string;
217
+ readonly description: string | null;
218
+ readonly retentionDays: number | null;
219
+ readonly retentionType: RetentionType;
220
+ readonly appliesTo: RetentionPolicyAppliesTo;
221
+ readonly legalHoldEnabled: boolean;
222
+ readonly deletionType: DeletionType;
223
+ readonly archiveBeforeDelete: boolean;
224
+ readonly requireApprovalForDeletion: boolean;
225
+ readonly priority: number;
226
+ readonly enabled: boolean;
227
+ readonly createdAt: string;
228
+ readonly updatedAt: string;
229
+ }
230
+ export interface PlaceHoldRequest {
231
+ readonly objectId: string;
232
+ readonly holdType: LegalHoldType;
233
+ readonly holdReason: string;
234
+ readonly legalCaseId?: string;
235
+ readonly expiresAt?: string;
236
+ }
237
+ export interface LegalHold {
238
+ readonly id: string;
239
+ readonly objectId: string;
240
+ readonly holdType: LegalHoldType;
241
+ readonly holdReason: string;
242
+ readonly legalCaseId: string | null;
243
+ readonly expiresAt: string | null;
244
+ readonly releasedAt: string | null;
245
+ readonly releasedBy: string | null;
246
+ readonly releaseReason: string | null;
247
+ readonly createdBy: string;
248
+ readonly createdAt: string;
249
+ }
250
+ export interface ScheduleDeleteRequest {
251
+ readonly objectId: string;
252
+ readonly objectPath?: string;
253
+ readonly objectMetadata?: Record<string, unknown>;
254
+ readonly scheduledAt: string;
255
+ readonly policyId?: string;
256
+ readonly deletionType?: DeletionType;
257
+ readonly archiveTo?: string;
258
+ }
259
+ export interface ScheduledDeletion {
260
+ readonly id: string;
261
+ readonly policyId: string | null;
262
+ readonly objectId: string;
263
+ readonly objectPath: string | null;
264
+ readonly deletionType: DeletionType;
265
+ readonly status: "pending" | "pending_approval" | "cancelled" | "executed" | "failed";
266
+ readonly scheduledAt: string;
267
+ readonly executedAt: string | null;
268
+ readonly archivedTo: string | null;
269
+ readonly approvalRequired: boolean;
270
+ readonly approvedBy: string | null;
271
+ readonly approvedAt: string | null;
272
+ readonly errorMessage: string | null;
273
+ readonly createdAt: string;
274
+ }
275
+ export interface EvaluateRetentionResult {
276
+ readonly objectId: string;
277
+ readonly canDelete: boolean;
278
+ readonly reason: "legal_hold" | "retention_policy" | "no_retention_policy_applies";
279
+ readonly holdId?: string;
280
+ readonly holdType?: LegalHoldType;
281
+ readonly policyId?: string;
282
+ readonly policyName?: string;
283
+ readonly retentionType?: RetentionType;
284
+ readonly retentionDays?: number;
285
+ }
286
+ export type ReplicationMode = "sync" | "async" | "near_sync";
287
+ export interface ReplicationFilterRule {
288
+ readonly type: "include" | "exclude";
289
+ readonly field: "path" | "size" | "content_type" | "classification" | "tag";
290
+ readonly operator: "equals" | "contains" | "starts_with" | "ends_with" | "greater_than" | "less_than";
291
+ readonly value: string | number;
292
+ }
293
+ export interface CreateReplicationConfigRequest {
294
+ readonly name: string;
295
+ readonly description?: string;
296
+ readonly sourceRegion: string;
297
+ readonly targetRegions: readonly string[];
298
+ readonly replicationMode?: ReplicationMode;
299
+ readonly filterRules?: readonly ReplicationFilterRule[];
300
+ readonly priority?: number;
301
+ readonly bandwidthLimitMbps?: number;
302
+ readonly encryptionInTransit?: boolean;
303
+ readonly verifyChecksum?: boolean;
304
+ }
305
+ export interface ReplicationConfig {
306
+ readonly id: string;
307
+ readonly tenantId: string;
308
+ readonly name: string;
309
+ readonly description: string | null;
310
+ readonly sourceRegion: string;
311
+ readonly targetRegions: readonly string[];
312
+ readonly replicationMode: ReplicationMode;
313
+ readonly filterRules: readonly ReplicationFilterRule[];
314
+ readonly priority: number;
315
+ readonly bandwidthLimitMbps: number | null;
316
+ readonly encryptionInTransit: boolean;
317
+ readonly verifyChecksum: boolean;
318
+ readonly enabled: boolean;
319
+ readonly createdAt: string;
320
+ readonly updatedAt: string;
321
+ }
322
+ export interface ReplicationConfigSummary {
323
+ readonly id: string;
324
+ readonly name: string;
325
+ readonly description: string | null;
326
+ readonly sourceRegion: string;
327
+ readonly targetRegions: readonly string[];
328
+ readonly replicationMode: ReplicationMode;
329
+ readonly filterRulesCount: number;
330
+ readonly priority: number;
331
+ readonly bandwidthLimitMbps: number | null;
332
+ readonly encryptionInTransit: boolean;
333
+ readonly verifyChecksum: boolean;
334
+ readonly enabled: boolean;
335
+ readonly createdAt: string;
336
+ readonly updatedAt: string;
337
+ }
338
+ export interface ObjectReplicationStatus {
339
+ readonly id: string;
340
+ readonly sourceRegion: string;
341
+ readonly targetRegion: string;
342
+ readonly status: "pending" | "in_progress" | "completed" | "failed";
343
+ readonly sizeBytes: number;
344
+ readonly bytesReplicated: number;
345
+ readonly sourceChecksum: string | null;
346
+ readonly targetChecksum: string | null;
347
+ readonly replicationStartedAt: string;
348
+ readonly replicationCompletedAt: string | null;
349
+ readonly lastVerifiedAt: string | null;
350
+ readonly retryCount: number;
351
+ readonly errorMessage: string | null;
352
+ }
353
+ export interface ReplicationMetricsSummary {
354
+ readonly sourceRegion: string;
355
+ readonly targetRegion: string;
356
+ readonly totalObjectsReplicated: number;
357
+ readonly totalBytesReplicated: number;
358
+ readonly totalObjectsFailed: number;
359
+ readonly averageLatencyMs: number;
360
+ }
361
+ export interface ReplicationMetrics {
362
+ readonly periodDays: number;
363
+ readonly metrics: readonly {
364
+ readonly sourceRegion: string;
365
+ readonly targetRegion: string;
366
+ readonly periodStart: string;
367
+ readonly periodEnd: string;
368
+ readonly objectsReplicated: number;
369
+ readonly bytesReplicated: number;
370
+ readonly objectsFailed: number;
371
+ readonly averageLatencyMs: number;
372
+ readonly p95LatencyMs: number;
373
+ readonly p99LatencyMs: number;
374
+ }[];
375
+ readonly summary: readonly ReplicationMetricsSummary[];
376
+ }
377
+ export interface RegionHealth {
378
+ readonly status: "healthy" | "degraded" | "unhealthy";
379
+ readonly failedCount: number;
380
+ readonly avgLagMs: number;
381
+ readonly maxLagMs: number;
382
+ }
383
+ export interface ReplicationHealth {
384
+ readonly status: "healthy" | "degraded" | "unhealthy";
385
+ readonly regions: Record<string, RegionHealth>;
386
+ readonly checkedAt: string;
387
+ }
388
+ export type StorageTier = "hot" | "warm" | "cold" | "archive" | "glacier";
389
+ export interface TieringRuleCondition {
390
+ readonly lastAccessedDaysAgo?: number;
391
+ readonly lastModifiedDaysAgo?: number;
392
+ readonly sizeGreaterThanMb?: number;
393
+ readonly sizeLessThanMb?: number;
394
+ readonly fileTypes?: readonly string[];
395
+ readonly excludePaths?: readonly string[];
396
+ }
397
+ export interface TieringRuleAction {
398
+ readonly targetTier: StorageTier;
399
+ readonly deleteAfterDays?: number;
400
+ }
401
+ export interface TieringRule {
402
+ readonly name: string;
403
+ readonly condition: TieringRuleCondition;
404
+ readonly action: TieringRuleAction;
405
+ readonly priority?: number;
406
+ }
407
+ export interface TieringPolicyScope {
408
+ readonly includePaths?: readonly string[];
409
+ readonly excludePaths?: readonly string[];
410
+ readonly includeFileTypes?: readonly string[];
411
+ }
412
+ export interface CreateTieringPolicyRequest {
413
+ readonly name: string;
414
+ readonly description?: string | null;
415
+ readonly enabled?: boolean;
416
+ readonly rules: readonly TieringRule[];
417
+ readonly scope?: TieringPolicyScope;
418
+ }
419
+ export interface TieringPolicy {
420
+ readonly id: string;
421
+ readonly tenantId: string;
422
+ readonly name: string;
423
+ readonly description: string | null;
424
+ readonly enabled: boolean;
425
+ readonly rules: readonly TieringRule[];
426
+ readonly scope: TieringPolicyScope;
427
+ readonly lastRunAt: string | null;
428
+ readonly createdAt: string;
429
+ readonly updatedAt: string;
430
+ }
431
+ export interface TieringTransition {
432
+ readonly objectId: string;
433
+ readonly currentTier: string;
434
+ readonly targetTier: string;
435
+ readonly rule: string;
436
+ readonly sizeMb: number;
437
+ }
438
+ export interface EvaluateTieringResult {
439
+ readonly transitionId?: string;
440
+ readonly dryRun: boolean;
441
+ readonly objectsMatched: number;
442
+ readonly totalSizeMb: number;
443
+ readonly transitions?: readonly TieringTransition[];
444
+ readonly potentialTransitions?: readonly TieringTransition[];
445
+ readonly estimatedSavingsPercent?: number;
446
+ readonly status?: "in_progress";
447
+ }
448
+ export interface TieringStats {
449
+ readonly tierDistribution: Record<string, {
450
+ readonly count: number;
451
+ readonly sizeGb: number;
452
+ }>;
453
+ readonly totalPolicies: number;
454
+ readonly enabledPolicies: number;
455
+ readonly recentTransitions: readonly {
456
+ readonly id: string;
457
+ readonly policyId: string;
458
+ readonly status: string;
459
+ readonly objectsCount: number;
460
+ readonly totalSizeMb: number;
461
+ readonly startedAt: string;
462
+ readonly completedAt: string | null;
463
+ }[];
464
+ }
465
+ export interface TieringRecommendation {
466
+ readonly type: "move_to_cold" | "move_to_archive" | "move_to_glacier";
467
+ readonly title: string;
468
+ readonly description: string;
469
+ readonly objectsCount: number;
470
+ readonly sizeGb: number;
471
+ readonly estimatedSavingsPercent: number;
472
+ readonly priority: "low" | "medium" | "high";
473
+ }
474
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Type definitions for storage-sdk advanced features:
3
+ * - Data Classification
4
+ * - Retention Policies
5
+ * - Cross-Region Replication
6
+ * - Intelligent Tiering
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/package.json CHANGED
@@ -1,40 +1,76 @@
1
1
  {
2
- "name": "@qnsp/storage-sdk",
3
- "version": "0.3.0",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "type": "module",
8
- "license": "Apache-2.0",
9
- "description": "TypeScript SDK client for the QNSP storage-service API.",
10
- "exports": {
11
- "./package.json": "./package.json",
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "default": "./dist/index.js"
15
- }
16
- },
17
- "scripts": {
18
- "build": "tsc --project tsconfig.build.json",
19
- "dev": "tsx watch src/index.ts",
20
- "lint": "biome check .",
21
- "test": "vitest run",
22
- "typecheck": "tsc --project tsconfig.json --noEmit"
23
- },
24
- "dependencies": {
25
- "@opentelemetry/api": "^1.9.0",
26
- "@opentelemetry/exporter-metrics-otlp-http": "^0.210.0",
27
- "@opentelemetry/resources": "^2.4.0",
28
- "@opentelemetry/sdk-metrics": "^2.4.0",
29
- "undici": "^7.18.2",
30
- "zod": "^4.3.5"
31
- },
32
- "devDependencies": {
33
- "@types/node": "^25.0.9",
34
- "tsx": "^4.21.0",
35
- "vitest": "4.0.17"
36
- },
37
- "engines": {
38
- "node": "24.12.0"
39
- }
40
- }
2
+ "name": "@qnsp/storage-sdk",
3
+ "version": "0.3.2",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "type": "module",
8
+ "license": "Apache-2.0",
9
+ "description": "TypeScript SDK client for the QNSP storage-service API.",
10
+ "exports": {
11
+ "./package.json": "./package.json",
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "dependencies": {
18
+ "@opentelemetry/api": "^1.9.1",
19
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.214.0",
20
+ "@opentelemetry/resources": "^2.6.1",
21
+ "@opentelemetry/sdk-metrics": "^2.6.1",
22
+ "undici": "^7.24.6",
23
+ "zod": "^4.3.6",
24
+ "@qnsp/sdk-activation": "0.1.1"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "^25.5.0",
28
+ "tsx": "^4.21.0",
29
+ "vitest": "4.1.2"
30
+ },
31
+ "engines": {
32
+ "node": ">=24.12.0"
33
+ },
34
+ "keywords": [
35
+ "qnsp",
36
+ "pqc",
37
+ "post-quantum",
38
+ "post-quantum-cryptography",
39
+ "storage",
40
+ "sse-x",
41
+ "encrypted-storage",
42
+ "object-storage",
43
+ "s3-compatible",
44
+ "encryption-at-rest",
45
+ "ml-kem",
46
+ "nist",
47
+ "fips-203",
48
+ "quantum-safe",
49
+ "zero-trust",
50
+ "typescript",
51
+ "nodejs",
52
+ "sdk"
53
+ ],
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/cuilabs/qnsp",
57
+ "directory": "packages/storage-sdk"
58
+ },
59
+ "homepage": "https://cloud.qnsp.cuilabs.io",
60
+ "bugs": {
61
+ "url": "https://github.com/cuilabs/qnsp/issues"
62
+ },
63
+ "files": [
64
+ "dist/**/*",
65
+ "README.md",
66
+ "LICENSE",
67
+ "CHANGELOG.md"
68
+ ],
69
+ "scripts": {
70
+ "build": "tsc --project tsconfig.build.json",
71
+ "dev": "tsx watch src/index.ts",
72
+ "lint": "biome check .",
73
+ "test": "vitest run",
74
+ "typecheck": "tsc --project tsconfig.json --noEmit"
75
+ }
76
+ }