@alpic-ai/api 0.0.0-staging.a0c1343 → 0.0.0-staging.a19b079

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/dist/index.d.mts CHANGED
@@ -283,6 +283,38 @@ declare const contract: {
283
283
  BAD_REQUEST: {};
284
284
  }>, Record<never, never>>;
285
285
  };
286
+ getLatestLogs: {
287
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
288
+ environmentId: z.ZodString;
289
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
290
+ level: z.ZodOptional<z.ZodArray<z.ZodEnum<{
291
+ INFO: "INFO";
292
+ ERROR: "ERROR";
293
+ WARNING: "WARNING";
294
+ DEBUG: "DEBUG";
295
+ }>>>;
296
+ search: z.ZodOptional<z.ZodString>;
297
+ }, z.core.$strip>, z.ZodObject<{
298
+ logs: z.ZodArray<z.ZodObject<{
299
+ timestamp: z.ZodCoercedDate<unknown>;
300
+ type: z.ZodEnum<{
301
+ INFO: "INFO";
302
+ ERROR: "ERROR";
303
+ WARNING: "WARNING";
304
+ DEBUG: "DEBUG";
305
+ START: "START";
306
+ END: "END";
307
+ }>;
308
+ requestId: z.ZodString;
309
+ content: z.ZodOptional<z.ZodString>;
310
+ method: z.ZodOptional<z.ZodString>;
311
+ durationInMs: z.ZodOptional<z.ZodNumber>;
312
+ }, z.core.$strip>>;
313
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
314
+ NOT_FOUND: {};
315
+ BAD_REQUEST: {};
316
+ }>, Record<never, never>>;
317
+ };
286
318
  };
287
319
  environmentVariables: {
288
320
  list: {
@@ -318,7 +350,7 @@ declare const contract: {
318
350
  environmentVariableId: z.ZodString;
319
351
  key: z.ZodString;
320
352
  value: z.ZodOptional<z.ZodString>;
321
- isSecret: z.ZodDefault<z.ZodBoolean>;
353
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
322
354
  }, z.core.$strip>, z.ZodObject<{
323
355
  success: z.ZodLiteral<true>;
324
356
  }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
@@ -637,6 +669,68 @@ declare const contract: {
637
669
  }>, Record<never, never>>;
638
670
  };
639
671
  };
672
+ playground: {
673
+ get: {
674
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
675
+ environmentId: z.ZodString;
676
+ }, z.core.$strip>, z.ZodObject<{
677
+ isPlaygroundEnabled: z.ZodBoolean;
678
+ serverMetadata: z.ZodNullable<z.ZodObject<{
679
+ name: z.ZodString;
680
+ description: z.ZodString;
681
+ headers: z.ZodArray<z.ZodObject<{
682
+ name: z.ZodString;
683
+ description: z.ZodString;
684
+ isRequired: z.ZodBoolean;
685
+ isSecret: z.ZodBoolean;
686
+ }, z.core.$strip>>;
687
+ examplePrompts: z.ZodArray<z.ZodObject<{
688
+ title: z.ZodString;
689
+ prompt: z.ZodString;
690
+ }, z.core.$strip>>;
691
+ }, z.core.$strip>>;
692
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
693
+ NOT_FOUND: {};
694
+ }>, Record<never, never>>;
695
+ };
696
+ upsert: {
697
+ v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
698
+ environmentId: z.ZodString;
699
+ isPlaygroundEnabled: z.ZodOptional<z.ZodBoolean>;
700
+ name: z.ZodOptional<z.ZodString>;
701
+ description: z.ZodOptional<z.ZodString>;
702
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
703
+ name: z.ZodString;
704
+ description: z.ZodString;
705
+ isRequired: z.ZodDefault<z.ZodBoolean>;
706
+ isSecret: z.ZodDefault<z.ZodBoolean>;
707
+ }, z.core.$strip>>>;
708
+ examplePrompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
709
+ title: z.ZodString;
710
+ prompt: z.ZodString;
711
+ }, z.core.$strip>>>;
712
+ }, z.core.$strip>, z.ZodObject<{
713
+ isPlaygroundEnabled: z.ZodBoolean;
714
+ serverMetadata: z.ZodNullable<z.ZodObject<{
715
+ name: z.ZodString;
716
+ description: z.ZodString;
717
+ headers: z.ZodArray<z.ZodObject<{
718
+ name: z.ZodString;
719
+ description: z.ZodString;
720
+ isRequired: z.ZodBoolean;
721
+ isSecret: z.ZodBoolean;
722
+ }, z.core.$strip>>;
723
+ examplePrompts: z.ZodArray<z.ZodObject<{
724
+ title: z.ZodString;
725
+ prompt: z.ZodString;
726
+ }, z.core.$strip>>;
727
+ }, z.core.$strip>>;
728
+ }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
729
+ NOT_FOUND: {};
730
+ BAD_REQUEST: {};
731
+ }>, Record<never, never>>;
732
+ };
733
+ };
640
734
  tunnels: {
641
735
  getTicket: {
642
736
  v1: _$_orpc_contract0.ContractProcedureBuilderWithOutput<_$_orpc_contract0.Schema<unknown, unknown>, z.ZodObject<{
@@ -725,6 +819,13 @@ declare const contract: {
725
819
  targetUrl: z.ZodString;
726
820
  teamId: z.ZodOptional<z.ZodString>;
727
821
  projectId: z.ZodOptional<z.ZodString>;
822
+ excludeCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
823
+ connectivity: "connectivity";
824
+ "tool-metadata": "tool-metadata";
825
+ "resource-metadata": "resource-metadata";
826
+ performance: "performance";
827
+ e2e: "e2e";
828
+ }>>>;
728
829
  }, z.core.$strip>, z.ZodObject<{
729
830
  id: z.ZodString;
730
831
  }, z.core.$strip>, _$_orpc_contract0.MergedErrorMap<Record<never, never>, {
@@ -734,7 +835,7 @@ declare const contract: {
734
835
  };
735
836
  get: {
736
837
  v1: _$_orpc_contract0.ContractProcedureBuilderWithInputOutput<z.ZodObject<{
737
- analysisId: z.ZodString;
838
+ auditId: z.ZodString;
738
839
  }, z.core.$strip>, z.ZodObject<{
739
840
  id: z.ZodString;
740
841
  targetUrl: z.ZodString;
@@ -755,6 +856,8 @@ declare const contract: {
755
856
  durationMs: z.ZodNumber;
756
857
  results: z.ZodArray<z.ZodObject<{
757
858
  checkId: z.ZodString;
859
+ checkName: z.ZodString;
860
+ description: z.ZodString;
758
861
  status: z.ZodEnum<{
759
862
  pending: "pending";
760
863
  pass: "pass";
@@ -835,6 +938,11 @@ declare const environmentVariablesSchema: z.ZodArray<z.ZodObject<{
835
938
  value: z.ZodString;
836
939
  isSecret: z.ZodDefault<z.ZodBoolean>;
837
940
  }, z.core.$strip>>;
941
+ declare const updateEnvironmentVariableSchema: z.ZodObject<{
942
+ key: z.ZodString;
943
+ value: z.ZodOptional<z.ZodString>;
944
+ isSecret: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
945
+ }, z.core.$strip>;
838
946
  declare const buildSettingsSchema: z.ZodObject<{
839
947
  installCommand: z.ZodOptional<z.ZodString>;
840
948
  buildCommand: z.ZodOptional<z.ZodString>;
@@ -854,7 +962,7 @@ declare const transportSchema: z.ZodEnum<{
854
962
  streamablehttp: "streamablehttp";
855
963
  }>;
856
964
  type Transport = z.infer<typeof transportSchema>;
857
- declare const analysisStatusSchema: z.ZodEnum<{
965
+ declare const auditStatusSchema: z.ZodEnum<{
858
966
  pending: "pending";
859
967
  partial: "partial";
860
968
  completed: "completed";
@@ -891,6 +999,8 @@ declare const checkDetailSchema: z.ZodObject<{
891
999
  type CheckDetail = z.infer<typeof checkDetailSchema>;
892
1000
  declare const checkResultSchema: z.ZodObject<{
893
1001
  checkId: z.ZodString;
1002
+ checkName: z.ZodString;
1003
+ description: z.ZodString;
894
1004
  status: z.ZodEnum<{
895
1005
  pending: "pending";
896
1006
  pass: "pass";
@@ -938,6 +1048,8 @@ declare const auditReportSchema: z.ZodObject<{
938
1048
  durationMs: z.ZodNumber;
939
1049
  results: z.ZodArray<z.ZodObject<{
940
1050
  checkId: z.ZodString;
1051
+ checkName: z.ZodString;
1052
+ description: z.ZodString;
941
1053
  status: z.ZodEnum<{
942
1054
  pending: "pending";
943
1055
  pass: "pass";
@@ -999,6 +1111,16 @@ declare const auditReportSchema: z.ZodObject<{
999
1111
  }, z.core.$strip>>;
1000
1112
  }, z.core.$strip>;
1001
1113
  type AuditReport = z.infer<typeof auditReportSchema>;
1114
+ declare const playgroundHeaderSchema: z.ZodObject<{
1115
+ name: z.ZodString;
1116
+ description: z.ZodString;
1117
+ isRequired: z.ZodDefault<z.ZodBoolean>;
1118
+ isSecret: z.ZodDefault<z.ZodBoolean>;
1119
+ }, z.core.$strip>;
1120
+ declare const playgroundExamplePromptSchema: z.ZodObject<{
1121
+ title: z.ZodString;
1122
+ prompt: z.ZodString;
1123
+ }, z.core.$strip>;
1002
1124
  declare const serverFieldsSchema: z.ZodObject<{
1003
1125
  $schema: z.ZodString;
1004
1126
  name: z.ZodString;
@@ -1023,4 +1145,4 @@ declare const serverFieldsSchema: z.ZodObject<{
1023
1145
  }, z.core.$strip>>>;
1024
1146
  }, z.core.$strip>;
1025
1147
  //#endregion
1026
- export { ApiContext, AuditReport, CheckCategory, CheckDetail, CheckResult, CheckScope, CheckSeverity, Platform, RouterInput, RouterOutput, Runtime, Transport, analysisStatusSchema, auditReportSchema, buildSettingsSchema, checkDetailSchema, checkResultSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, platformSchema, runtimeSchema, serverFieldsSchema, transportSchema };
1148
+ export { ApiContext, AuditReport, CheckCategory, CheckDetail, CheckResult, CheckScope, CheckSeverity, Platform, RouterInput, RouterOutput, Runtime, Transport, auditReportSchema, auditStatusSchema, buildSettingsSchema, checkCategorySchema, checkDetailSchema, checkResultSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, platformSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
package/dist/index.mjs CHANGED
@@ -35,7 +35,8 @@ const RESERVED_KEYS = [
35
35
  "BUILD_ARG_BUILD_OUTPUT_DIR",
36
36
  "BUILD_ARG_START_COMMAND",
37
37
  "ALPIC_HOST",
38
- "ALPIC_CUSTOM_DOMAINS"
38
+ "ALPIC_CUSTOM_DOMAINS",
39
+ "ALPIC_PROMPT_META_KEY"
39
40
  ];
40
41
  const environmentVariableSchema = z.object({
41
42
  key: z.string().min(2, "Key must be at least 2 characters").regex(/^[a-zA-Z]([a-zA-Z0-9_])+$/, "Key must start with a letter and contain only letters, numbers, and underscores").refine((key) => !RESERVED_KEYS.includes(key), "This key is reserved and cannot be used as an environment variable key"),
@@ -43,6 +44,10 @@ const environmentVariableSchema = z.object({
43
44
  isSecret: z.boolean().default(false)
44
45
  });
45
46
  const environmentVariablesSchema = z.array(environmentVariableSchema);
47
+ const updateEnvironmentVariableSchema = environmentVariableSchema.partial({
48
+ value: true,
49
+ isSecret: true
50
+ });
46
51
  const buildSettingsSchema = z.object({
47
52
  installCommand: z.string().optional(),
48
53
  buildCommand: z.string().optional(),
@@ -60,7 +65,7 @@ const transportSchema = z.enum([
60
65
  "sse",
61
66
  "streamablehttp"
62
67
  ]);
63
- const analysisStatusSchema = z.enum([
68
+ const auditStatusSchema = z.enum([
64
69
  "pending",
65
70
  "partial",
66
71
  "completed",
@@ -86,6 +91,8 @@ const checkDetailSchema = z.object({
86
91
  });
87
92
  const checkResultSchema = z.object({
88
93
  checkId: z.string(),
94
+ checkName: z.string(),
95
+ description: z.string(),
89
96
  status: z.enum([
90
97
  "pass",
91
98
  "fail",
@@ -123,6 +130,16 @@ const auditReportSchema = z.object({
123
130
  claudeai: z.object({ url: z.string() }).optional()
124
131
  }).optional()
125
132
  });
133
+ const playgroundHeaderSchema = z.object({
134
+ name: z.string().min(1).max(100),
135
+ description: z.string().max(200),
136
+ isRequired: z.boolean().default(false),
137
+ isSecret: z.boolean().default(false)
138
+ });
139
+ const playgroundExamplePromptSchema = z.object({
140
+ title: z.string().min(1).max(100),
141
+ prompt: z.string().min(1).max(500)
142
+ });
126
143
  const serverFieldsSchema = z.object({
127
144
  $schema: z.string(),
128
145
  name: z.string(),
@@ -361,7 +378,7 @@ const updateEnvironmentVariableContractV1 = oc.route({
361
378
  environmentVariableId: z.string().describe("The ID of the environment variable"),
362
379
  key: environmentVariableSchema.shape.key,
363
380
  value: environmentVariableSchema.shape.value.optional(),
364
- isSecret: environmentVariableSchema.shape.isSecret
381
+ isSecret: environmentVariableSchema.shape.isSecret.optional()
365
382
  })).output(z.object({ success: z.literal(true) }));
366
383
  const deleteEnvironmentVariableContractV1 = oc.route({
367
384
  path: "/v1/environment-variables/{environmentVariableId}",
@@ -481,6 +498,41 @@ const getLogsContractV1 = oc.route({
481
498
  })),
482
499
  nextToken: z.string().nullable()
483
500
  }));
501
+ const getLatestLogsContractV1 = oc.route({
502
+ path: "/v1/environments/{environmentId}/latest-logs",
503
+ method: "GET",
504
+ summary: "Get latest logs",
505
+ description: "Get the N most recent logs for an environment",
506
+ tags: ["environments"],
507
+ successDescription: "The latest logs"
508
+ }).errors({
509
+ NOT_FOUND: {},
510
+ BAD_REQUEST: {}
511
+ }).input(z.object({
512
+ environmentId: z.string().describe("The ID of the environment"),
513
+ limit: z.coerce.number().int().min(1).max(1e3).default(100).describe("Number of most recent log entries to return"),
514
+ level: z.array(z.enum([
515
+ "INFO",
516
+ "ERROR",
517
+ "WARNING",
518
+ "DEBUG"
519
+ ])).optional().describe("Filter by log level"),
520
+ search: z.string().optional().describe("Filter pattern to search for in log content")
521
+ })).output(z.object({ logs: z.array(z.object({
522
+ timestamp: z.coerce.date(),
523
+ type: z.enum([
524
+ "START",
525
+ "END",
526
+ "INFO",
527
+ "ERROR",
528
+ "WARNING",
529
+ "DEBUG"
530
+ ]),
531
+ requestId: z.string(),
532
+ content: z.string().optional(),
533
+ method: z.string().optional(),
534
+ durationInMs: z.number().optional()
535
+ })) }));
484
536
  const getDeploymentLogsContractV1 = oc.route({
485
537
  path: "/v1/deployments/{deploymentId}/logs",
486
538
  method: "GET",
@@ -590,32 +642,74 @@ const getServerInfoContractV1 = oc.route({
590
642
  projectId: z.string(),
591
643
  domain: z.string()
592
644
  })).output(z.object({ serverFields: serverFieldsSchema }));
645
+ const playgroundServerMetadataOutputSchema = z.object({
646
+ name: z.string(),
647
+ description: z.string(),
648
+ headers: z.array(z.object({
649
+ name: z.string(),
650
+ description: z.string(),
651
+ isRequired: z.boolean(),
652
+ isSecret: z.boolean()
653
+ })),
654
+ examplePrompts: z.array(playgroundExamplePromptSchema)
655
+ });
656
+ const playgroundOutputSchema = z.object({
657
+ isPlaygroundEnabled: z.boolean(),
658
+ serverMetadata: playgroundServerMetadataOutputSchema.nullable()
659
+ });
660
+ const getPlaygroundContractV1 = oc.route({
661
+ path: "/v1/environments/{environmentId}/playground",
662
+ method: "GET",
663
+ summary: "Get playground configuration",
664
+ description: "Get the playground configuration for an environment",
665
+ tags: ["environments"],
666
+ successDescription: "The playground configuration"
667
+ }).errors({ NOT_FOUND: {} }).input(z.object({ environmentId: z.string().describe("The ID of the environment") })).output(playgroundOutputSchema);
668
+ const upsertPlaygroundContractV1 = oc.route({
669
+ path: "/v1/environments/{environmentId}/playground",
670
+ method: "PUT",
671
+ summary: "Update playground configuration",
672
+ description: "Update the playground configuration for an environment. All fields are optional — only provided fields are updated.",
673
+ tags: ["environments"],
674
+ successDescription: "The updated playground configuration"
675
+ }).errors({
676
+ NOT_FOUND: {},
677
+ BAD_REQUEST: {}
678
+ }).input(z.object({
679
+ environmentId: z.string().describe("The ID of the environment"),
680
+ isPlaygroundEnabled: z.boolean().optional(),
681
+ name: z.string().min(1).max(100).optional(),
682
+ description: z.string().min(1).max(500).optional(),
683
+ headers: z.array(playgroundHeaderSchema).optional(),
684
+ examplePrompts: z.array(playgroundExamplePromptSchema).max(3).optional()
685
+ })).output(playgroundOutputSchema);
593
686
  const createBeaconContractV1 = oc.route({
594
- path: "/v1/beacon/analyses",
687
+ path: "/v1/beacon/audits",
595
688
  method: "POST",
596
- summary: "Create a beacon analysis",
597
- description: "Analyze an MCP server for spec compliance and AI client compatibility",
689
+ summary: "Create a beacon audit",
690
+ description: "Audit an MCP server for spec compliance and AI client compatibility",
598
691
  tags: ["beacon"],
599
- successDescription: "The analysis has been created"
692
+ successDescription: "The audit has been created"
600
693
  }).errors({
601
694
  NOT_FOUND: {},
602
695
  BAD_REQUEST: {}
603
696
  }).input(z.object({
604
- targetUrl: z.string().url().describe("The HTTPS URL of the MCP server to analyze"),
605
- teamId: z.string().optional().describe("The team ID to associate the analysis with"),
606
- projectId: z.string().optional().describe("The project ID to associate the analysis with")
697
+ targetUrl: z.string().url().describe("The HTTPS URL of the MCP server to audit"),
698
+ teamId: z.string().optional().describe("The team ID to associate the audit with"),
699
+ projectId: z.string().optional().describe("The project ID to associate the audit with"),
700
+ excludeCategories: z.array(checkCategorySchema).optional().describe("Check categories to exclude from the audit")
607
701
  })).output(z.object({ id: z.string() }));
608
702
  const getBeaconContractV1 = oc.route({
609
- path: "/v1/beacon/analyses/{analysisId}",
703
+ path: "/v1/beacon/audits/{auditId}",
610
704
  method: "GET",
611
- summary: "Get a beacon analysis",
612
- description: "Get a beacon analysis by ID, including the report if completed",
705
+ summary: "Get a beacon audit",
706
+ description: "Get a beacon audit by ID, including the report if completed",
613
707
  tags: ["beacon"],
614
- successDescription: "The analysis details"
615
- }).errors({ NOT_FOUND: {} }).input(z.object({ analysisId: z.string().describe("The ID of the analysis") })).output(z.object({
708
+ successDescription: "The audit details"
709
+ }).errors({ NOT_FOUND: {} }).input(z.object({ auditId: z.string().describe("The ID of the audit") })).output(z.object({
616
710
  id: z.string(),
617
711
  targetUrl: z.string(),
618
- status: analysisStatusSchema,
712
+ status: auditStatusSchema,
619
713
  durationMs: z.number().nullable(),
620
714
  createdAt: z.coerce.date(),
621
715
  report: auditReportSchema.nullable()
@@ -633,7 +727,8 @@ const contract = {
633
727
  create: { v1: createEnvironmentContractV1 },
634
728
  get: { v1: getEnvironmentContractV1 },
635
729
  deploy: { v1: deployEnvironmentContractV1 },
636
- getLogs: { v1: getLogsContractV1 }
730
+ getLogs: { v1: getLogsContractV1 },
731
+ getLatestLogs: { v1: getLatestLogsContractV1 }
637
732
  },
638
733
  environmentVariables: {
639
734
  list: { v1: listEnvironmentVariablesContractV1 },
@@ -648,6 +743,10 @@ const contract = {
648
743
  create: { v1: createProjectContractV1 },
649
744
  delete: { v1: deleteProjectContractV1 }
650
745
  },
746
+ playground: {
747
+ get: { v1: getPlaygroundContractV1 },
748
+ upsert: { v1: upsertPlaygroundContractV1 }
749
+ },
651
750
  tunnels: { getTicket: { v1: getTunnelTicketContractV1 } },
652
751
  distribution: {
653
752
  publish: { v1: publishServerContractV1 },
@@ -659,4 +758,4 @@ const contract = {
659
758
  }
660
759
  };
661
760
  //#endregion
662
- export { analysisStatusSchema, auditReportSchema, buildSettingsSchema, checkDetailSchema, checkResultSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, platformSchema, runtimeSchema, serverFieldsSchema, transportSchema };
761
+ export { auditReportSchema, auditStatusSchema, buildSettingsSchema, checkCategorySchema, checkDetailSchema, checkResultSchema, contract, createEnvironmentContractV1, deploymentStatusSchema, environmentVariableSchema, environmentVariablesSchema, platformSchema, playgroundExamplePromptSchema, playgroundHeaderSchema, runtimeSchema, serverFieldsSchema, transportSchema, updateEnvironmentVariableSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/api",
3
- "version": "0.0.0-staging.a0c1343",
3
+ "version": "0.0.0-staging.a19b079",
4
4
  "description": "Contract for the Alpic API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",
@@ -17,7 +17,7 @@
17
17
  "author": "Alpic",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@orpc/contract": "^1.13.13",
20
+ "@orpc/contract": "^1.13.14",
21
21
  "ms": "^2.1.3",
22
22
  "zod": "^4.3.6"
23
23
  },
@@ -25,9 +25,9 @@
25
25
  "@total-typescript/tsconfig": "^1.0.4",
26
26
  "@types/ms": "^2.1.0",
27
27
  "shx": "^0.4.0",
28
- "tsdown": "^0.21.7",
29
- "typescript": "^6.0.2",
30
- "vitest": "^4.1.2"
28
+ "tsdown": "^0.21.9",
29
+ "typescript": "^6.0.3",
30
+ "vitest": "^4.1.4"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "shx rm -rf dist && tsdown",