@microsoft/teams.ai 0.2.7

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 (116) hide show
  1. package/README.md +35 -0
  2. package/dist/citation.d.mts +19 -0
  3. package/dist/citation.d.ts +19 -0
  4. package/dist/citation.js +4 -0
  5. package/dist/citation.js.map +1 -0
  6. package/dist/citation.mjs +3 -0
  7. package/dist/citation.mjs.map +1 -0
  8. package/dist/function.d.mts +18 -0
  9. package/dist/function.d.ts +18 -0
  10. package/dist/function.js +4 -0
  11. package/dist/function.js.map +1 -0
  12. package/dist/function.mjs +3 -0
  13. package/dist/function.mjs.map +1 -0
  14. package/dist/index.d.mts +17 -0
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.js +77 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/index.mjs +12 -0
  19. package/dist/index.mjs.map +1 -0
  20. package/dist/local-memory.d.mts +32 -0
  21. package/dist/local-memory.d.ts +32 -0
  22. package/dist/local-memory.js +78 -0
  23. package/dist/local-memory.js.map +1 -0
  24. package/dist/local-memory.mjs +76 -0
  25. package/dist/local-memory.mjs.map +1 -0
  26. package/dist/memory.d.mts +11 -0
  27. package/dist/memory.d.ts +11 -0
  28. package/dist/memory.js +4 -0
  29. package/dist/memory.js.map +1 -0
  30. package/dist/memory.mjs +3 -0
  31. package/dist/memory.mjs.map +1 -0
  32. package/dist/message.d.mts +76 -0
  33. package/dist/message.d.ts +76 -0
  34. package/dist/message.js +4 -0
  35. package/dist/message.js.map +1 -0
  36. package/dist/message.mjs +3 -0
  37. package/dist/message.mjs.map +1 -0
  38. package/dist/models/audio.d.mts +27 -0
  39. package/dist/models/audio.d.ts +27 -0
  40. package/dist/models/audio.js +4 -0
  41. package/dist/models/audio.js.map +1 -0
  42. package/dist/models/audio.mjs +3 -0
  43. package/dist/models/audio.mjs.map +1 -0
  44. package/dist/models/chat.d.mts +46 -0
  45. package/dist/models/chat.d.ts +46 -0
  46. package/dist/models/chat.js +4 -0
  47. package/dist/models/chat.js.map +1 -0
  48. package/dist/models/chat.mjs +3 -0
  49. package/dist/models/chat.mjs.map +1 -0
  50. package/dist/models/image.d.mts +22 -0
  51. package/dist/models/image.d.ts +22 -0
  52. package/dist/models/image.js +4 -0
  53. package/dist/models/image.js.map +1 -0
  54. package/dist/models/image.mjs +3 -0
  55. package/dist/models/image.mjs.map +1 -0
  56. package/dist/models/index.d.mts +16 -0
  57. package/dist/models/index.d.ts +16 -0
  58. package/dist/models/index.js +28 -0
  59. package/dist/models/index.js.map +1 -0
  60. package/dist/models/index.mjs +5 -0
  61. package/dist/models/index.mjs.map +1 -0
  62. package/dist/prompts/audio.d.mts +54 -0
  63. package/dist/prompts/audio.d.ts +54 -0
  64. package/dist/prompts/audio.js +34 -0
  65. package/dist/prompts/audio.js.map +1 -0
  66. package/dist/prompts/audio.mjs +32 -0
  67. package/dist/prompts/audio.mjs.map +1 -0
  68. package/dist/prompts/chat.d.mts +146 -0
  69. package/dist/prompts/chat.d.ts +146 -0
  70. package/dist/prompts/chat.js +162 -0
  71. package/dist/prompts/chat.js.map +1 -0
  72. package/dist/prompts/chat.mjs +160 -0
  73. package/dist/prompts/chat.mjs.map +1 -0
  74. package/dist/prompts/index.d.mts +18 -0
  75. package/dist/prompts/index.d.ts +18 -0
  76. package/dist/prompts/index.js +21 -0
  77. package/dist/prompts/index.js.map +1 -0
  78. package/dist/prompts/index.mjs +4 -0
  79. package/dist/prompts/index.mjs.map +1 -0
  80. package/dist/prompts/plugin.d.mts +26 -0
  81. package/dist/prompts/plugin.d.ts +26 -0
  82. package/dist/prompts/plugin.js +4 -0
  83. package/dist/prompts/plugin.js.map +1 -0
  84. package/dist/prompts/plugin.mjs +3 -0
  85. package/dist/prompts/plugin.mjs.map +1 -0
  86. package/dist/schema.d.mts +46 -0
  87. package/dist/schema.d.ts +46 -0
  88. package/dist/schema.js +4 -0
  89. package/dist/schema.js.map +1 -0
  90. package/dist/schema.mjs +3 -0
  91. package/dist/schema.mjs.map +1 -0
  92. package/dist/template.d.mts +13 -0
  93. package/dist/template.d.ts +13 -0
  94. package/dist/template.js +4 -0
  95. package/dist/template.js.map +1 -0
  96. package/dist/template.mjs +3 -0
  97. package/dist/template.mjs.map +1 -0
  98. package/dist/templates/index.d.mts +2 -0
  99. package/dist/templates/index.d.ts +2 -0
  100. package/dist/templates/index.js +14 -0
  101. package/dist/templates/index.js.map +1 -0
  102. package/dist/templates/index.mjs +3 -0
  103. package/dist/templates/index.mjs.map +1 -0
  104. package/dist/templates/string.d.mts +9 -0
  105. package/dist/templates/string.d.ts +9 -0
  106. package/dist/templates/string.js +14 -0
  107. package/dist/templates/string.js.map +1 -0
  108. package/dist/templates/string.mjs +12 -0
  109. package/dist/templates/string.mjs.map +1 -0
  110. package/dist/utils/types.d.mts +5 -0
  111. package/dist/utils/types.d.ts +5 -0
  112. package/dist/utils/types.js +4 -0
  113. package/dist/utils/types.js.map +1 -0
  114. package/dist/utils/types.mjs +3 -0
  115. package/dist/utils/types.mjs.map +1 -0
  116. package/package.json +49 -0
@@ -0,0 +1,18 @@
1
+ import { IAudioPrompt } from './audio.mjs';
2
+ export { AudioPrompt, AudioPromptOptions } from './audio.mjs';
3
+ import { IChatPrompt } from './chat.mjs';
4
+ export { ChatPrompt, ChatPromptOptions, ChatPromptPlugin, ChatPromptSendOptions } from './chat.mjs';
5
+ import '../models/audio.mjs';
6
+ import '../function.mjs';
7
+ import '../schema.mjs';
8
+ import '../memory.mjs';
9
+ import '@microsoft/teams.common';
10
+ import '../message.mjs';
11
+ import '../citation.mjs';
12
+ import '../models/chat.mjs';
13
+ import '../template.mjs';
14
+ import './plugin.mjs';
15
+
16
+ type Prompt = IChatPrompt | IAudioPrompt;
17
+
18
+ export { IAudioPrompt, IChatPrompt, type Prompt };
@@ -0,0 +1,18 @@
1
+ import { IAudioPrompt } from './audio.js';
2
+ export { AudioPrompt, AudioPromptOptions } from './audio.js';
3
+ import { IChatPrompt } from './chat.js';
4
+ export { ChatPrompt, ChatPromptOptions, ChatPromptPlugin, ChatPromptSendOptions } from './chat.js';
5
+ import '../models/audio.js';
6
+ import '../function.js';
7
+ import '../schema.js';
8
+ import '../memory.js';
9
+ import '@microsoft/teams.common';
10
+ import '../message.js';
11
+ import '../citation.js';
12
+ import '../models/chat.js';
13
+ import '../template.js';
14
+ import './plugin.js';
15
+
16
+ type Prompt = IChatPrompt | IAudioPrompt;
17
+
18
+ export { IAudioPrompt, IChatPrompt, type Prompt };
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var chat = require('./chat');
4
+ var audio = require('./audio');
5
+
6
+
7
+
8
+ Object.keys(chat).forEach(function (k) {
9
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
10
+ enumerable: true,
11
+ get: function () { return chat[k]; }
12
+ });
13
+ });
14
+ Object.keys(audio).forEach(function (k) {
15
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
16
+ enumerable: true,
17
+ get: function () { return audio[k]; }
18
+ });
19
+ });
20
+ //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,4 @@
1
+ export * from './chat';
2
+ export * from './audio';
3
+ //# sourceMappingURL=index.mjs.map
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
@@ -0,0 +1,26 @@
1
+ interface IAiPlugin<TPluginName extends string = string, TPluginUseArgs extends {} = {}, TBeforeSendParams = unknown, TAfterSendResponse = unknown> {
2
+ /**
3
+ * Unique name of the plugin
4
+ */
5
+ name: TPluginName;
6
+ /**
7
+ * The function is set to initialize the plugin
8
+ * @param args - Arguments to initialize the plugin
9
+ */
10
+ onUsePlugin?: (args: TPluginUseArgs) => void;
11
+ /**
12
+ * Any modifications to the parameter before it is sent to the model
13
+ * @param params the input parameter for the send function
14
+ * @returns the modified parameter for the send function.
15
+ */
16
+ onBeforeSend?: (params: TBeforeSendParams) => TBeforeSendParams | Promise<TBeforeSendParams>;
17
+ /**
18
+ * Any modifications to the output of the send function after the model
19
+ * has finished with it.
20
+ * @param response the output result of the send function
21
+ * @returns the modified output result of the send function
22
+ */
23
+ onAfterSend?: (response: Awaited<TAfterSendResponse>) => Awaited<TAfterSendResponse> | Promise<Awaited<TAfterSendResponse>>;
24
+ }
25
+
26
+ export type { IAiPlugin };
@@ -0,0 +1,26 @@
1
+ interface IAiPlugin<TPluginName extends string = string, TPluginUseArgs extends {} = {}, TBeforeSendParams = unknown, TAfterSendResponse = unknown> {
2
+ /**
3
+ * Unique name of the plugin
4
+ */
5
+ name: TPluginName;
6
+ /**
7
+ * The function is set to initialize the plugin
8
+ * @param args - Arguments to initialize the plugin
9
+ */
10
+ onUsePlugin?: (args: TPluginUseArgs) => void;
11
+ /**
12
+ * Any modifications to the parameter before it is sent to the model
13
+ * @param params the input parameter for the send function
14
+ * @returns the modified parameter for the send function.
15
+ */
16
+ onBeforeSend?: (params: TBeforeSendParams) => TBeforeSendParams | Promise<TBeforeSendParams>;
17
+ /**
18
+ * Any modifications to the output of the send function after the model
19
+ * has finished with it.
20
+ * @param response the output result of the send function
21
+ * @returns the modified output result of the send function
22
+ */
23
+ onAfterSend?: (response: Awaited<TAfterSendResponse>) => Awaited<TAfterSendResponse> | Promise<Awaited<TAfterSendResponse>>;
24
+ }
25
+
26
+ export type { IAiPlugin };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=plugin.js.map
4
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"plugin.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=plugin.mjs.map
3
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"plugin.mjs"}
@@ -0,0 +1,46 @@
1
+ type BaseSchema = {
2
+ readonly $schema?: string;
3
+ readonly $ref?: string;
4
+ readonly id?: string;
5
+ readonly title?: string;
6
+ readonly description?: string;
7
+ readonly type?: 'object' | 'array' | 'string' | 'number' | 'integer' | 'null' | 'boolean';
8
+ readonly enum?: any[];
9
+ };
10
+ type Schema = StringSchema | NumberSchema | BooleanSchema | ObjectSchema | ArraySchema | NullSchema | AnySchema;
11
+ type StringSchema = BaseSchema & {
12
+ readonly type: 'string';
13
+ readonly pattern?: string;
14
+ readonly format?: string;
15
+ readonly minLength?: number;
16
+ readonly maxLength?: number;
17
+ };
18
+ type NumberSchema = BaseSchema & {
19
+ readonly type: 'number' | 'integer';
20
+ readonly min?: number;
21
+ readonly max?: number;
22
+ readonly multipleOf?: number;
23
+ };
24
+ type BooleanSchema = BaseSchema & {
25
+ readonly type: 'boolean';
26
+ };
27
+ type ObjectSchema = BaseSchema & {
28
+ readonly type: 'object';
29
+ readonly properties?: {
30
+ [key: string]: Schema;
31
+ };
32
+ readonly required?: string[] | boolean;
33
+ };
34
+ type ArraySchema = BaseSchema & {
35
+ readonly type: 'array';
36
+ readonly items: Schema | Schema[];
37
+ readonly additionalItems?: Schema | Schema[];
38
+ };
39
+ type NullSchema = BaseSchema & {
40
+ readonly type: 'null';
41
+ };
42
+ type AnySchema = BaseSchema & {
43
+ readonly type?: undefined;
44
+ };
45
+
46
+ export type { AnySchema, ArraySchema, BooleanSchema, NullSchema, NumberSchema, ObjectSchema, Schema, StringSchema };
@@ -0,0 +1,46 @@
1
+ type BaseSchema = {
2
+ readonly $schema?: string;
3
+ readonly $ref?: string;
4
+ readonly id?: string;
5
+ readonly title?: string;
6
+ readonly description?: string;
7
+ readonly type?: 'object' | 'array' | 'string' | 'number' | 'integer' | 'null' | 'boolean';
8
+ readonly enum?: any[];
9
+ };
10
+ type Schema = StringSchema | NumberSchema | BooleanSchema | ObjectSchema | ArraySchema | NullSchema | AnySchema;
11
+ type StringSchema = BaseSchema & {
12
+ readonly type: 'string';
13
+ readonly pattern?: string;
14
+ readonly format?: string;
15
+ readonly minLength?: number;
16
+ readonly maxLength?: number;
17
+ };
18
+ type NumberSchema = BaseSchema & {
19
+ readonly type: 'number' | 'integer';
20
+ readonly min?: number;
21
+ readonly max?: number;
22
+ readonly multipleOf?: number;
23
+ };
24
+ type BooleanSchema = BaseSchema & {
25
+ readonly type: 'boolean';
26
+ };
27
+ type ObjectSchema = BaseSchema & {
28
+ readonly type: 'object';
29
+ readonly properties?: {
30
+ [key: string]: Schema;
31
+ };
32
+ readonly required?: string[] | boolean;
33
+ };
34
+ type ArraySchema = BaseSchema & {
35
+ readonly type: 'array';
36
+ readonly items: Schema | Schema[];
37
+ readonly additionalItems?: Schema | Schema[];
38
+ };
39
+ type NullSchema = BaseSchema & {
40
+ readonly type: 'null';
41
+ };
42
+ type AnySchema = BaseSchema & {
43
+ readonly type?: undefined;
44
+ };
45
+
46
+ export type { AnySchema, ArraySchema, BooleanSchema, NullSchema, NumberSchema, ObjectSchema, Schema, StringSchema };
package/dist/schema.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=schema.js.map
4
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"schema.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=schema.mjs.map
3
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"schema.mjs"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * a component that can
3
+ * render text content
4
+ */
5
+ interface ITemplate {
6
+ /**
7
+ * render the template
8
+ * @param data the context data
9
+ */
10
+ render(data?: Record<string, any>): string | Promise<string>;
11
+ }
12
+
13
+ export type { ITemplate };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * a component that can
3
+ * render text content
4
+ */
5
+ interface ITemplate {
6
+ /**
7
+ * render the template
8
+ * @param data the context data
9
+ */
10
+ render(data?: Record<string, any>): string | Promise<string>;
11
+ }
12
+
13
+ export type { ITemplate };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=template.js.map
4
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"template.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=template.mjs.map
3
+ //# sourceMappingURL=template.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"template.mjs"}
@@ -0,0 +1,2 @@
1
+ export { StringTemplate } from './string.mjs';
2
+ import '../template.mjs';
@@ -0,0 +1,2 @@
1
+ export { StringTemplate } from './string.js';
2
+ import '../template.js';
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var string = require('./string');
4
+
5
+
6
+
7
+ Object.keys(string).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return string[k]; }
11
+ });
12
+ });
13
+ //# sourceMappingURL=index.js.map
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,3 @@
1
+ export * from './string';
2
+ //# sourceMappingURL=index.mjs.map
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
@@ -0,0 +1,9 @@
1
+ import { ITemplate } from '../template.mjs';
2
+
3
+ declare class StringTemplate implements ITemplate {
4
+ readonly src?: string | undefined;
5
+ constructor(src?: string | undefined);
6
+ render(): string;
7
+ }
8
+
9
+ export { StringTemplate };
@@ -0,0 +1,9 @@
1
+ import { ITemplate } from '../template.js';
2
+
3
+ declare class StringTemplate implements ITemplate {
4
+ readonly src?: string | undefined;
5
+ constructor(src?: string | undefined);
6
+ render(): string;
7
+ }
8
+
9
+ export { StringTemplate };
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ class StringTemplate {
4
+ constructor(src) {
5
+ this.src = src;
6
+ }
7
+ render() {
8
+ return this.src || "";
9
+ }
10
+ }
11
+
12
+ exports.StringTemplate = StringTemplate;
13
+ //# sourceMappingURL=string.js.map
14
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/templates/string.ts"],"names":[],"mappings":";;AAEO,MAAM,cAAoC,CAAA;AAAA,EAC/C,YAAqB,GAAc,EAAA;AAAd,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAAA;AAAe,EAEpC,MAAS,GAAA;AACP,IAAA,OAAO,KAAK,GAAO,IAAA,EAAA;AAAA;AAEvB","file":"string.js","sourcesContent":["import { ITemplate } from '../template';\n\nexport class StringTemplate implements ITemplate {\n constructor(readonly src?: string) {}\n\n render() {\n return this.src || '';\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ class StringTemplate {
2
+ constructor(src) {
3
+ this.src = src;
4
+ }
5
+ render() {
6
+ return this.src || "";
7
+ }
8
+ }
9
+
10
+ export { StringTemplate };
11
+ //# sourceMappingURL=string.mjs.map
12
+ //# sourceMappingURL=string.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/templates/string.ts"],"names":[],"mappings":"AAEO,MAAM,cAAoC,CAAA;AAAA,EAC/C,YAAqB,GAAc,EAAA;AAAd,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAAA;AAAe,EAEpC,MAAS,GAAA;AACP,IAAA,OAAO,KAAK,GAAO,IAAA,EAAA;AAAA;AAEvB","file":"string.mjs","sourcesContent":["import { ITemplate } from '../template';\n\nexport class StringTemplate implements ITemplate {\n constructor(readonly src?: string) {}\n\n render() {\n return this.src || '';\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ type WithRequired<T, K extends keyof T> = T & {
2
+ [P in K]-?: Required<T[P]>;
3
+ };
4
+
5
+ export type { WithRequired };
@@ -0,0 +1,5 @@
1
+ type WithRequired<T, K extends keyof T> = T & {
2
+ [P in K]-?: Required<T[P]>;
3
+ };
4
+
5
+ export type { WithRequired };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=types.js.map
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
3
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.mjs"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@microsoft/teams.ai",
3
+ "version": "0.2.7",
4
+ "license": "MIT",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "homepage": "https://github.com/microsoft/teams.js",
9
+ "bugs": "https://github.com/microsoft/teams.js/issues",
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "engines": {
15
+ "node": ">=20"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/microsoft/teams.js.git",
20
+ "directory": "packages/ai"
21
+ },
22
+ "keywords": [
23
+ "microsoft",
24
+ "teams",
25
+ "msteams",
26
+ "copilot",
27
+ "ai"
28
+ ],
29
+ "scripts": {
30
+ "clean": "npx rimraf ./dist",
31
+ "lint": "npx eslint",
32
+ "lint:fix": "npx eslint --fix",
33
+ "build": "npx tsup",
34
+ "test": "npx jest"
35
+ },
36
+ "peerDependencies": {
37
+ "@microsoft/teams.common": "*"
38
+ },
39
+ "devDependencies": {
40
+ "@microsoft/teams.config": "*",
41
+ "@types/jest": "^29.5.12",
42
+ "@types/node": "^22.0.2",
43
+ "jest": "^29.7.0",
44
+ "rimraf": "^6.0.1",
45
+ "ts-jest": "^29.2.5",
46
+ "tsup": "^8.4.0",
47
+ "typescript": "^5.4.5"
48
+ }
49
+ }