@happyvertical/smrt-prompts 0.30.0
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/AGENTS.md +36 -0
- package/CLAUDE.md +1 -0
- package/LICENSE +7 -0
- package/README.md +49 -0
- package/dist/index.d.ts +169 -0
- package/dist/index.js +784 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.json +369 -0
- package/dist/smrt-knowledge.json +286 -0
- package/dist/types.d.ts +106 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"generatedAt": "2026-06-23T01:11:22.818Z",
|
|
4
|
+
"packageName": "@happyvertical/smrt-prompts",
|
|
5
|
+
"packageVersion": "0.30.0",
|
|
6
|
+
"sourceManifestPath": "dist/manifest.json",
|
|
7
|
+
"agentDocPath": "AGENTS.md",
|
|
8
|
+
"sourceHashes": {
|
|
9
|
+
"manifest": "a65f6d38d67dbca8428cb4fadde884ef153a95660fa648bf80d99008ddbfcc5e",
|
|
10
|
+
"packageJson": "b4a8e343bff88dacc5ad42dee2acaf71c20a7abf4a6af00150fb8781e898590f",
|
|
11
|
+
"agents": "13aa7057261beb5701f5526dcdf85b859e743565c250a39e14ab73f0d8aef8ee"
|
|
12
|
+
},
|
|
13
|
+
"exports": [
|
|
14
|
+
".",
|
|
15
|
+
"./manifest",
|
|
16
|
+
"./manifest.json"
|
|
17
|
+
],
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@happyvertical/smrt-config": "workspace:*",
|
|
20
|
+
"@happyvertical/smrt-core": "workspace:*",
|
|
21
|
+
"@happyvertical/smrt-tenancy": "workspace:*",
|
|
22
|
+
"@happyvertical/sql": "catalog:",
|
|
23
|
+
"@happyvertical/smrt-vitest": "workspace:*",
|
|
24
|
+
"@types/node": "25.0.9",
|
|
25
|
+
"typescript": "^5.9.3",
|
|
26
|
+
"vite": "^7.3.1",
|
|
27
|
+
"vitest": "^4.0.17"
|
|
28
|
+
},
|
|
29
|
+
"smrtDependencies": [
|
|
30
|
+
"@happyvertical/smrt-config",
|
|
31
|
+
"@happyvertical/smrt-core",
|
|
32
|
+
"@happyvertical/smrt-tenancy",
|
|
33
|
+
"@happyvertical/smrt-vitest"
|
|
34
|
+
],
|
|
35
|
+
"sdkDependencies": [
|
|
36
|
+
"@happyvertical/sql"
|
|
37
|
+
],
|
|
38
|
+
"tags": [],
|
|
39
|
+
"risks": [],
|
|
40
|
+
"objects": [
|
|
41
|
+
{
|
|
42
|
+
"name": "PromptOverride",
|
|
43
|
+
"qualifiedName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
44
|
+
"collection": "promptoverrides",
|
|
45
|
+
"tableName": "_smrt_prompt_overrides",
|
|
46
|
+
"packageName": "@happyvertical/smrt-prompts",
|
|
47
|
+
"extends": "SmrtObject",
|
|
48
|
+
"fields": [
|
|
49
|
+
{
|
|
50
|
+
"name": "key",
|
|
51
|
+
"type": "text",
|
|
52
|
+
"required": true,
|
|
53
|
+
"columnType": "TEXT"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "tenantId",
|
|
57
|
+
"type": "text",
|
|
58
|
+
"required": false,
|
|
59
|
+
"columnType": "TEXT"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "template",
|
|
63
|
+
"type": "text",
|
|
64
|
+
"required": false,
|
|
65
|
+
"columnType": "TEXT"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "profile",
|
|
69
|
+
"type": "text",
|
|
70
|
+
"required": false,
|
|
71
|
+
"columnType": "TEXT"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "model",
|
|
75
|
+
"type": "text",
|
|
76
|
+
"required": false,
|
|
77
|
+
"columnType": "TEXT"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "params",
|
|
81
|
+
"type": "text",
|
|
82
|
+
"required": false,
|
|
83
|
+
"columnType": "TEXT"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"relationships": [],
|
|
87
|
+
"methods": [
|
|
88
|
+
"delete",
|
|
89
|
+
"getParams",
|
|
90
|
+
"save",
|
|
91
|
+
"setParams",
|
|
92
|
+
"toPromptLayer"
|
|
93
|
+
],
|
|
94
|
+
"surfaces": [
|
|
95
|
+
{
|
|
96
|
+
"kind": "api",
|
|
97
|
+
"name": "promptoverrides.list",
|
|
98
|
+
"operation": "list",
|
|
99
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
100
|
+
"path": "/promptoverrides",
|
|
101
|
+
"method": "GET"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"kind": "api",
|
|
105
|
+
"name": "promptoverrides.get",
|
|
106
|
+
"operation": "get",
|
|
107
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
108
|
+
"path": "/promptoverrides/[id]",
|
|
109
|
+
"method": "GET"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"kind": "api",
|
|
113
|
+
"name": "promptoverrides.create",
|
|
114
|
+
"operation": "create",
|
|
115
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
116
|
+
"path": "/promptoverrides",
|
|
117
|
+
"method": "POST"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"kind": "api",
|
|
121
|
+
"name": "promptoverrides.update",
|
|
122
|
+
"operation": "update",
|
|
123
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
124
|
+
"path": "/promptoverrides/[id]",
|
|
125
|
+
"method": "PATCH"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"kind": "api",
|
|
129
|
+
"name": "promptoverrides.delete",
|
|
130
|
+
"operation": "delete",
|
|
131
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
132
|
+
"path": "/promptoverrides/[id]",
|
|
133
|
+
"method": "DELETE"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"kind": "cli",
|
|
137
|
+
"name": "promptoverride_list",
|
|
138
|
+
"operation": "list",
|
|
139
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"kind": "cli",
|
|
143
|
+
"name": "promptoverride_get",
|
|
144
|
+
"operation": "get",
|
|
145
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"kind": "cli",
|
|
149
|
+
"name": "promptoverride_create",
|
|
150
|
+
"operation": "create",
|
|
151
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"kind": "cli",
|
|
155
|
+
"name": "promptoverride_update",
|
|
156
|
+
"operation": "update",
|
|
157
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"kind": "cli",
|
|
161
|
+
"name": "promptoverride_delete",
|
|
162
|
+
"operation": "delete",
|
|
163
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"relationshipFeatures": [
|
|
167
|
+
"uuidColumns"
|
|
168
|
+
],
|
|
169
|
+
"tags": [],
|
|
170
|
+
"risks": []
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "PromptOverrideCollection",
|
|
174
|
+
"qualifiedName": "@happyvertical/smrt-prompts:PromptOverrideCollection",
|
|
175
|
+
"collection": "promptoverrides",
|
|
176
|
+
"tableName": "_smrt_prompt_overrides",
|
|
177
|
+
"packageName": "@happyvertical/smrt-prompts",
|
|
178
|
+
"extends": "SmrtCollection",
|
|
179
|
+
"fields": [],
|
|
180
|
+
"relationships": [],
|
|
181
|
+
"methods": [
|
|
182
|
+
"getAppOverride",
|
|
183
|
+
"getResolutionLayers",
|
|
184
|
+
"getTenantOverride"
|
|
185
|
+
],
|
|
186
|
+
"surfaces": [],
|
|
187
|
+
"relationshipFeatures": [
|
|
188
|
+
"uuidColumns"
|
|
189
|
+
],
|
|
190
|
+
"tags": [],
|
|
191
|
+
"risks": []
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"surfaces": [
|
|
195
|
+
{
|
|
196
|
+
"kind": "api",
|
|
197
|
+
"name": "promptoverrides.list",
|
|
198
|
+
"operation": "list",
|
|
199
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
200
|
+
"path": "/promptoverrides",
|
|
201
|
+
"method": "GET"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"kind": "api",
|
|
205
|
+
"name": "promptoverrides.get",
|
|
206
|
+
"operation": "get",
|
|
207
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
208
|
+
"path": "/promptoverrides/[id]",
|
|
209
|
+
"method": "GET"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"kind": "api",
|
|
213
|
+
"name": "promptoverrides.create",
|
|
214
|
+
"operation": "create",
|
|
215
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
216
|
+
"path": "/promptoverrides",
|
|
217
|
+
"method": "POST"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"kind": "api",
|
|
221
|
+
"name": "promptoverrides.update",
|
|
222
|
+
"operation": "update",
|
|
223
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
224
|
+
"path": "/promptoverrides/[id]",
|
|
225
|
+
"method": "PATCH"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"kind": "api",
|
|
229
|
+
"name": "promptoverrides.delete",
|
|
230
|
+
"operation": "delete",
|
|
231
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride",
|
|
232
|
+
"path": "/promptoverrides/[id]",
|
|
233
|
+
"method": "DELETE"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"kind": "cli",
|
|
237
|
+
"name": "promptoverride_list",
|
|
238
|
+
"operation": "list",
|
|
239
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"kind": "cli",
|
|
243
|
+
"name": "promptoverride_get",
|
|
244
|
+
"operation": "get",
|
|
245
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"kind": "cli",
|
|
249
|
+
"name": "promptoverride_create",
|
|
250
|
+
"operation": "create",
|
|
251
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"kind": "cli",
|
|
255
|
+
"name": "promptoverride_update",
|
|
256
|
+
"operation": "update",
|
|
257
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"kind": "cli",
|
|
261
|
+
"name": "promptoverride_delete",
|
|
262
|
+
"operation": "delete",
|
|
263
|
+
"objectName": "@happyvertical/smrt-prompts:PromptOverride"
|
|
264
|
+
}
|
|
265
|
+
],
|
|
266
|
+
"prompts": [
|
|
267
|
+
{
|
|
268
|
+
"filePath": "src/index.ts"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"filePath": "src/prompt-registry.ts"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"filePath": "src/prompt-resolver.test.ts"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"relationshipsV2": {
|
|
278
|
+
"foreignKeyFields": 0,
|
|
279
|
+
"crossPackageRefFields": 0,
|
|
280
|
+
"junctionCollections": 0,
|
|
281
|
+
"hierarchicalObjects": 0,
|
|
282
|
+
"polymorphicAssociations": 0,
|
|
283
|
+
"uuidColumns": 2
|
|
284
|
+
},
|
|
285
|
+
"agentDoc": "# smrt-prompts\n\nSMRT prompt registry and tenant-aware prompt override package. Code defines defaults; config layers and DB-stored overrides personalize at app and tenant levels.\n\n## Core pieces\n\n- `definePrompt()` registers code defaults in a global process registry (`globalThis.__smrtPromptRegistry`)\n- `resolvePrompt()` merges code defaults, file/config overrides (via `@happyvertical/smrt-config`), stored app-level overrides, stored tenant-level overrides, and a runtime override\n- `PromptOverride` (`_smrt_prompt_overrides` table) stores partial app-level and tenant-level overrides with write-time validation\n- `PromptOverrideCollection` exposes the standard SmrtCollection CRUD surface\n\n## Resolution layers (priority low → high)\n\n1. Code default — registered via `definePrompt({ key, template, ai })`\n2. File/config override — `getPackageConfig<PromptPackageConfig>('prompts', defaults)`\n3. App-level stored override — `PromptOverride` row with `tenantId = null`\n4. Tenant-level stored override — `PromptOverride` row with current tenant\n5. Runtime override — passed to `resolvePrompt({ overrides })`\n\nEach layer can override any subset of fields (template, profile, model, params). Inheritance is field-by-field.\n\n## Conventions\n\n- **Namespace prompt keys** by package or domain: `projects.issue.incorporateFeedback`, `content.summarize.headline`\n- **Stored overrides use nullable fields** so inheritance stays field-by-field — null means \"use the lower layer\"\n- **Provider selection is indirect** in v1: prompts select named profiles, and profiles resolve to provider/model in `smrt-config`\n- **`editable` flags are enforced on `PromptOverride.save()`** — definitions can lock specific fields against tenant override\n\n## Caching\n\n`resolvePrompt()` results are cached per `(key, tenantId)` with a TTL. The cache is invalidated on `PromptOverride.save()` and `.delete()`. Use `clearPromptCache()` for manual invalidation in tests.\n\n## Related\n\n- `@happyvertical/smrt-languages` — parallel package for language strings (uses the same architecture pattern)\n- `@happyvertical/smrt-features` — parallel package for feature flags\n"
|
|
286
|
+
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { SmrtClassOptions } from '@happyvertical/smrt-core';
|
|
2
|
+
|
|
3
|
+
export declare interface NormalizedPromptAI {
|
|
4
|
+
profile?: string;
|
|
5
|
+
model?: string;
|
|
6
|
+
params: PromptParams;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export declare interface PromptAIInput {
|
|
10
|
+
profile?: string | null;
|
|
11
|
+
model?: string | null;
|
|
12
|
+
params?: PromptParams | null;
|
|
13
|
+
temperature?: number;
|
|
14
|
+
maxTokens?: number;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export declare interface PromptCacheValue {
|
|
19
|
+
key: string;
|
|
20
|
+
template: string;
|
|
21
|
+
ai: NormalizedPromptAI;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export declare interface PromptConfigOverrideInput {
|
|
25
|
+
template?: string | null;
|
|
26
|
+
profile?: string | null;
|
|
27
|
+
model?: string | null;
|
|
28
|
+
params?: PromptParams | null;
|
|
29
|
+
ai?: PromptAIInput | null;
|
|
30
|
+
temperature?: number;
|
|
31
|
+
maxTokens?: number;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export declare interface PromptDefinition {
|
|
36
|
+
key: string;
|
|
37
|
+
template: string;
|
|
38
|
+
ai: NormalizedPromptAI;
|
|
39
|
+
editable: PromptEditableConfig;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export declare interface PromptDefinitionInput {
|
|
43
|
+
key: string;
|
|
44
|
+
template: string;
|
|
45
|
+
ai?: PromptAIInput;
|
|
46
|
+
editable?: Partial<PromptEditableConfig>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export declare interface PromptEditableConfig {
|
|
50
|
+
template: boolean;
|
|
51
|
+
profile: boolean;
|
|
52
|
+
model: boolean;
|
|
53
|
+
params: boolean;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export declare interface PromptLayer {
|
|
57
|
+
template?: string | null;
|
|
58
|
+
profile?: string | null;
|
|
59
|
+
model?: string | null;
|
|
60
|
+
params?: PromptParams | null;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export declare interface PromptPackageConfig {
|
|
64
|
+
profiles?: Record<string, PromptProfileConfig>;
|
|
65
|
+
prompts?: Record<string, PromptConfigOverrideInput>;
|
|
66
|
+
allowedProfileNames?: string[];
|
|
67
|
+
allowedModels?: string[];
|
|
68
|
+
[key: string]: unknown;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export declare type PromptParams = Record<string, unknown>;
|
|
72
|
+
|
|
73
|
+
export declare interface PromptProfileConfig {
|
|
74
|
+
provider: string;
|
|
75
|
+
model: string;
|
|
76
|
+
params?: PromptParams | null;
|
|
77
|
+
temperature?: number;
|
|
78
|
+
maxTokens?: number;
|
|
79
|
+
[key: string]: unknown;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export declare interface ResolvedPrompt {
|
|
83
|
+
key: string;
|
|
84
|
+
template: string;
|
|
85
|
+
text: string;
|
|
86
|
+
ai: ResolvedPromptAI;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export declare interface ResolvedPromptAI extends PromptParams {
|
|
90
|
+
profile?: string;
|
|
91
|
+
provider?: string;
|
|
92
|
+
model?: string;
|
|
93
|
+
allowedModels?: string[];
|
|
94
|
+
params: PromptParams;
|
|
95
|
+
temperature?: number;
|
|
96
|
+
maxTokens?: number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export declare interface ResolvePromptOptions {
|
|
100
|
+
db?: SmrtClassOptions['db'];
|
|
101
|
+
tenantId?: string | null;
|
|
102
|
+
variables?: Record<string, unknown>;
|
|
103
|
+
override?: PromptConfigOverrideInput;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export { }
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@happyvertical/smrt-prompts",
|
|
3
|
+
"version": "0.30.0",
|
|
4
|
+
"description": "Typed prompt registry, override resolution, and tenant-aware prompt settings for SMRT",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"CLAUDE.md",
|
|
11
|
+
"AGENTS.md"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./manifest": "./dist/manifest.json",
|
|
19
|
+
"./manifest.json": "./dist/manifest.json"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@happyvertical/sql": "^0.74.7",
|
|
23
|
+
"@happyvertical/smrt-config": "0.30.0",
|
|
24
|
+
"@happyvertical/smrt-core": "0.30.0",
|
|
25
|
+
"@happyvertical/smrt-tenancy": "0.30.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "25.0.9",
|
|
29
|
+
"typescript": "^5.9.3",
|
|
30
|
+
"vite": "^7.3.1",
|
|
31
|
+
"vitest": "^4.0.17",
|
|
32
|
+
"@happyvertical/smrt-vitest": "0.30.0"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"smrt",
|
|
36
|
+
"prompts",
|
|
37
|
+
"ai",
|
|
38
|
+
"multi-tenancy",
|
|
39
|
+
"configuration"
|
|
40
|
+
],
|
|
41
|
+
"author": "HappyVertical",
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"registry": "https://registry.npmjs.org",
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "https://github.com/happyvertical/smrt.git",
|
|
50
|
+
"directory": "packages/prompts"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "vite build --mode library",
|
|
54
|
+
"build:watch": "vite build --mode library --watch",
|
|
55
|
+
"clean": "rm -rf dist",
|
|
56
|
+
"dev": "vite dev",
|
|
57
|
+
"test": "vitest run",
|
|
58
|
+
"test:watch": "vitest",
|
|
59
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
60
|
+
"verify:pack": "node ../../scripts/verify-package-types-exports.js ."
|
|
61
|
+
}
|
|
62
|
+
}
|