@versini/sassysaint-common 4.11.0 → 4.12.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/dist/index.d.ts +28 -5
- package/dist/index.js +108 -89
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
|
|
|
23
23
|
*/
|
|
24
24
|
declare const MODEL_GPT5 = "gpt-5";
|
|
25
25
|
declare const MODEL_GPT4_MINI = "gpt-4.1-nano";
|
|
26
|
-
declare const MODEL_O4_MINI = "o4-mini";
|
|
27
26
|
declare const MODEL_CLAUDE_HAIKU = "claude-haiku-4-5-20251001";
|
|
28
27
|
declare const MODEL_CLAUDE_SONNET = "claude-sonnet-4-5-20250929";
|
|
29
28
|
declare const MODEL_GEMINI_FLASH = "gemini-2.5-flash";
|
|
@@ -33,11 +32,17 @@ declare const MODEL_SONAR_PRO = "sonar-pro";
|
|
|
33
32
|
declare const MODEL_DEV = "mistralai/mistral-small-3.2-24b-instruct:free";
|
|
34
33
|
declare const MODEL_MEMORY_INFERENCE = "gpt-4o-mini";
|
|
35
34
|
declare const MODEL_EMBEDDING_TEXT = "text-embedding-3-small";
|
|
35
|
+
/**
|
|
36
|
+
* Maps model constants to user-friendly display names.
|
|
37
|
+
* Used by client UI to show readable model names in plan descriptions and
|
|
38
|
+
* settings.
|
|
39
|
+
*/
|
|
40
|
+
declare const MODEL_DISPLAY_NAMES: Record<string, string>;
|
|
36
41
|
/**
|
|
37
42
|
* List of all models available TODAY.
|
|
38
43
|
* This is used by the client to display the list of models.
|
|
39
44
|
*/
|
|
40
|
-
declare const ALL_MODELS: readonly ["gpt-5", "gpt-4.1-nano", "
|
|
45
|
+
declare const ALL_MODELS: readonly ["gpt-5", "gpt-4.1-nano", "claude-haiku-4-5-20251001", "claude-sonnet-4-5-20250929", "gemini-2.5-flash", "gemini-2.5-pro"];
|
|
41
46
|
declare const ALL_REASONING_MODELS: string[];
|
|
42
47
|
/**
|
|
43
48
|
* List of models available according to the providers.
|
|
@@ -73,6 +78,24 @@ declare const DIGGIDY_CHAT_ID_HEADER = "x-diggidy-chat-id";
|
|
|
73
78
|
*
|
|
74
79
|
*/
|
|
75
80
|
declare const findProvider: (modelName: string) => null | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_OPENAI | typeof PROVIDER_GOOGLE;
|
|
81
|
+
/**
|
|
82
|
+
* Derives the list of available providers from a given list of models.
|
|
83
|
+
* This allows the client to automatically filter provider options based on
|
|
84
|
+
* which models are available in a user's plan.
|
|
85
|
+
*
|
|
86
|
+
* @param models - Array of model names (e.g., from allowedModels in policies).
|
|
87
|
+
* @returns Array of provider names that have at least one model available.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* // If plan only has GPT and Claude models:
|
|
91
|
+
* getProvidersFromModels([MODEL_GPT4_MINI, MODEL_CLAUDE_HAIKU])
|
|
92
|
+
* // returns: [PROVIDER_OPENAI, PROVIDER_ANTHROPIC]
|
|
93
|
+
*
|
|
94
|
+
* // If Gemini models are removed from plan:
|
|
95
|
+
* getProvidersFromModels([MODEL_GPT4_MINI, MODEL_CLAUDE_HAIKU])
|
|
96
|
+
* // Google provider will not be in the result
|
|
97
|
+
*/
|
|
98
|
+
declare const getProvidersFromModels: (models: string[]) => Array<typeof PROVIDER_OPENAI | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_GOOGLE>;
|
|
76
99
|
/**
|
|
77
100
|
* Sort capabilities are shared across client and server.
|
|
78
101
|
*/
|
|
@@ -324,7 +347,7 @@ declare namespace index {
|
|
|
324
347
|
/**
|
|
325
348
|
* List of all plans available.
|
|
326
349
|
*/
|
|
327
|
-
declare const
|
|
350
|
+
declare const PLAN_BASIC = "sassy:basic";
|
|
328
351
|
declare const PLAN_PLUS = "sassy:plus";
|
|
329
352
|
declare const PLAN_PREMIUM = "sassy:advanced";
|
|
330
353
|
/**
|
|
@@ -333,7 +356,7 @@ declare const PLAN_PREMIUM = "sassy:advanced";
|
|
|
333
356
|
* capabilities.
|
|
334
357
|
*/
|
|
335
358
|
declare const POLICY_GRANTS: {
|
|
336
|
-
|
|
359
|
+
PLAN_BASIC: string;
|
|
337
360
|
PLAN_PLUS: string;
|
|
338
361
|
PLAN_PREMIUM: string;
|
|
339
362
|
};
|
|
@@ -385,4 +408,4 @@ declare function isEntitlementLoaded(state: EntitlementStateLike | null | undefi
|
|
|
385
408
|
declare function toCapabilitySet(capabilities: string[] | undefined | null): Set<string> | null;
|
|
386
409
|
declare function isEntitled(capabilitiesOrSet: string[] | Set<string> | null | undefined, required: CapabilityInput, options?: IsEntitledOptions): boolean;
|
|
387
410
|
|
|
388
|
-
export { ALL_MODELS, ALL_PROVIDERS, ALL_REASONING_MODELS, APPLICATION_NAME, CAPABILITIES, type CapabilityInput, DEFAULT_PROVIDER, DIGGIDY_CHAT_ID_HEADER, type EntitlementStateLike, type IsEntitledOptions, MODELS_PER_PROVIDER, MODEL_CLAUDE_HAIKU, MODEL_CLAUDE_SONNET, MODEL_DEV, MODEL_EMBEDDING_TEXT, MODEL_GEMINI_FLASH, MODEL_GEMINI_PRO, MODEL_GPT4_MINI, MODEL_GPT5, MODEL_MEMORY_INFERENCE,
|
|
411
|
+
export { ALL_MODELS, ALL_PROVIDERS, ALL_REASONING_MODELS, APPLICATION_NAME, CAPABILITIES, type CapabilityInput, DEFAULT_PROVIDER, DIGGIDY_CHAT_ID_HEADER, type EntitlementStateLike, type IsEntitledOptions, MODELS_PER_PROVIDER, MODEL_CLAUDE_HAIKU, MODEL_CLAUDE_SONNET, MODEL_DEV, MODEL_DISPLAY_NAMES, MODEL_EMBEDDING_TEXT, MODEL_GEMINI_FLASH, MODEL_GEMINI_PRO, MODEL_GPT4_MINI, MODEL_GPT5, MODEL_MEMORY_INFERENCE, MODEL_SONAR, MODEL_SONAR_PRO, PLAN_BASIC, PLAN_PLUS, PLAN_PREMIUM, POLICY_GRANTS, PROVIDER_ANTHROPIC, PROVIDER_GOOGLE, PROVIDER_MEMORY, PROVIDER_MISTRAL, PROVIDER_OPENAI, PROVIDER_PERPLEXITY, PROVIDER_ROLE_MAP, PROVIDER_SUMMARY, ROLE_ASSISTANT, ROLE_HIDDEN, ROLE_INTERNAL, ROLE_SYSTEM, ROLE_USER, SORT_BY_TIMESTAMP, SORT_BY_TOKEN_USAGE, index as crypto, findProvider, getProvidersFromModels, isEntitled, isEntitlementLoaded, toCapabilitySet };
|
package/dist/index.js
CHANGED
|
@@ -1,62 +1,80 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
], u = "gpt-5", p = "gpt-4.1-nano",
|
|
1
|
+
const L = "system", a = "user", i = "assistant", ne = "hidden", re = "data", c = "OpenAI", y = "Anthropic", d = "Google", M = "Summary", T = "Memory", O = "Perplexity", oe = "Mistral", se = c, m = [
|
|
2
|
+
c,
|
|
3
|
+
y,
|
|
4
|
+
d
|
|
5
|
+
], u = "gpt-5", p = "gpt-4.1-nano", f = "claude-haiku-4-5-20251001", A = "claude-sonnet-4-5-20250929", _ = "gemini-2.5-flash", l = "gemini-2.5-pro", R = "sonar", P = "sonar-pro", ae = "mistralai/mistral-small-3.2-24b-instruct:free", ie = "gpt-4o-mini", ce = "text-embedding-3-small", Ee = {
|
|
6
|
+
[u]: "GPT-5",
|
|
7
|
+
[p]: "GPT-4.1 Nano",
|
|
8
|
+
[f]: "Claude Haiku 4.5",
|
|
9
|
+
[A]: "Claude Sonnet 4.5",
|
|
10
|
+
[_]: "Gemini 2.5 Flash",
|
|
11
|
+
[l]: "Gemini 2.5 Pro",
|
|
12
|
+
[R]: "Sonar",
|
|
13
|
+
[P]: "Sonar Pro"
|
|
14
|
+
}, ye = [
|
|
6
15
|
u,
|
|
7
16
|
p,
|
|
8
|
-
|
|
17
|
+
f,
|
|
18
|
+
A,
|
|
9
19
|
_,
|
|
10
|
-
O,
|
|
11
|
-
R,
|
|
12
20
|
l
|
|
13
|
-
],
|
|
21
|
+
], de = [
|
|
14
22
|
u,
|
|
15
|
-
|
|
23
|
+
A,
|
|
16
24
|
l
|
|
17
|
-
], w = "claude-sonnet-4", h = "claude-3", b = "gpt-", N = "o3", C = "o4",
|
|
18
|
-
[
|
|
25
|
+
], w = "claude-sonnet-4", h = "claude-3", b = "gpt-", N = "o3", C = "o4", v = "gemini", U = "sonar", K = {
|
|
26
|
+
[y]: [
|
|
19
27
|
w,
|
|
20
28
|
h
|
|
21
29
|
],
|
|
22
|
-
[
|
|
30
|
+
[c]: [
|
|
23
31
|
b,
|
|
24
32
|
N,
|
|
25
33
|
C
|
|
26
34
|
],
|
|
27
|
-
[
|
|
28
|
-
[
|
|
29
|
-
},
|
|
30
|
-
[
|
|
31
|
-
[
|
|
32
|
-
[
|
|
33
|
-
[
|
|
34
|
-
},
|
|
35
|
-
[
|
|
36
|
-
[
|
|
37
|
-
[
|
|
38
|
-
[
|
|
39
|
-
[
|
|
40
|
-
[
|
|
41
|
-
},
|
|
35
|
+
[d]: [v],
|
|
36
|
+
[O]: [U]
|
|
37
|
+
}, G = {
|
|
38
|
+
[c]: [p, u],
|
|
39
|
+
[y]: [f, A],
|
|
40
|
+
[d]: [_, l],
|
|
41
|
+
[O]: [R, P]
|
|
42
|
+
}, ue = {
|
|
43
|
+
[c]: [L, a, i],
|
|
44
|
+
[y]: [a, i],
|
|
45
|
+
[M]: [a, i],
|
|
46
|
+
[T]: [a, i],
|
|
47
|
+
[d]: [a, i],
|
|
48
|
+
[O]: [a, i]
|
|
49
|
+
}, Ae = "x-diggidy-chat-id", le = (n) => {
|
|
42
50
|
for (const [e, r] of Object.entries(
|
|
43
51
|
K
|
|
44
52
|
))
|
|
45
53
|
if (r.some((t) => n.startsWith(t)))
|
|
46
54
|
return e;
|
|
47
55
|
return null;
|
|
48
|
-
},
|
|
56
|
+
}, Oe = (n) => {
|
|
57
|
+
if (!n || n.length === 0)
|
|
58
|
+
return [];
|
|
59
|
+
const e = /* @__PURE__ */ new Set();
|
|
60
|
+
for (const r of n)
|
|
61
|
+
for (const [t, E] of Object.entries(
|
|
62
|
+
G
|
|
63
|
+
))
|
|
64
|
+
E.includes(r) && (t === c || t === y || t === d) && e.add(t);
|
|
65
|
+
return m.filter((r) => e.has(r));
|
|
66
|
+
}, pe = "timestamp", fe = "tokenUsage", _e = "Diggidy";
|
|
49
67
|
class s extends Error {
|
|
50
68
|
constructor(e, r, t) {
|
|
51
69
|
super(e), this.code = r, this.originalError = t, this.name = "CryptoError";
|
|
52
70
|
}
|
|
53
71
|
}
|
|
54
|
-
const
|
|
72
|
+
const S = {
|
|
55
73
|
keySize: 4096,
|
|
56
74
|
debug: !1
|
|
57
75
|
};
|
|
58
76
|
async function k(n = {}) {
|
|
59
|
-
const e = { ...
|
|
77
|
+
const e = { ...S, ...n };
|
|
60
78
|
try {
|
|
61
79
|
const r = {
|
|
62
80
|
modulusLength: e.keySize,
|
|
@@ -92,7 +110,7 @@ async function k(n = {}) {
|
|
|
92
110
|
);
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
|
-
async function
|
|
113
|
+
async function F(n) {
|
|
96
114
|
try {
|
|
97
115
|
return {
|
|
98
116
|
jwk: await crypto.subtle.exportKey("jwk", n),
|
|
@@ -107,7 +125,7 @@ async function G(n) {
|
|
|
107
125
|
);
|
|
108
126
|
}
|
|
109
127
|
}
|
|
110
|
-
async function
|
|
128
|
+
async function I(n) {
|
|
111
129
|
try {
|
|
112
130
|
const e = JSON.parse(n);
|
|
113
131
|
return await crypto.subtle.importKey(
|
|
@@ -129,14 +147,14 @@ async function P(n) {
|
|
|
129
147
|
);
|
|
130
148
|
}
|
|
131
149
|
}
|
|
132
|
-
async function
|
|
150
|
+
async function Y(n, e, r) {
|
|
133
151
|
try {
|
|
134
|
-
const
|
|
152
|
+
const E = new TextEncoder().encode(n), o = await crypto.subtle.encrypt(
|
|
135
153
|
{
|
|
136
154
|
name: "RSA-OAEP"
|
|
137
155
|
},
|
|
138
156
|
e,
|
|
139
|
-
|
|
157
|
+
E
|
|
140
158
|
);
|
|
141
159
|
return {
|
|
142
160
|
data: btoa(
|
|
@@ -174,9 +192,9 @@ async function V(n, e) {
|
|
|
174
192
|
);
|
|
175
193
|
}
|
|
176
194
|
}
|
|
177
|
-
async function
|
|
195
|
+
async function H(n, e, r) {
|
|
178
196
|
try {
|
|
179
|
-
const t = await
|
|
197
|
+
const t = await I(
|
|
180
198
|
n.serverPublicKey
|
|
181
199
|
);
|
|
182
200
|
return {
|
|
@@ -194,10 +212,10 @@ async function Y(n, e, r) {
|
|
|
194
212
|
);
|
|
195
213
|
}
|
|
196
214
|
}
|
|
197
|
-
function
|
|
215
|
+
function x(n) {
|
|
198
216
|
return !(!n || !n.clientKeyPair || !n.serverPublicKey);
|
|
199
217
|
}
|
|
200
|
-
function
|
|
218
|
+
function B() {
|
|
201
219
|
const n = Date.now().toString(36), e = new Uint8Array(8);
|
|
202
220
|
if (typeof window < "u" && window.crypto?.getRandomValues)
|
|
203
221
|
window.crypto.getRandomValues(e);
|
|
@@ -207,16 +225,16 @@ function x() {
|
|
|
207
225
|
const r = Array.from(e).map((t) => t.toString(36)).join("");
|
|
208
226
|
return `device_${n}_${r}`;
|
|
209
227
|
}
|
|
210
|
-
function
|
|
228
|
+
function D() {
|
|
211
229
|
return typeof window < "u" && typeof window.crypto < "u" && typeof window.crypto.subtle < "u";
|
|
212
230
|
}
|
|
213
|
-
function
|
|
231
|
+
function g() {
|
|
214
232
|
return typeof window < "u" && (window.isSecureContext || window.location.protocol === "https:");
|
|
215
233
|
}
|
|
216
234
|
function X() {
|
|
217
|
-
return
|
|
235
|
+
return D() && g();
|
|
218
236
|
}
|
|
219
|
-
function
|
|
237
|
+
function j(n) {
|
|
220
238
|
const e = new Uint8Array(n);
|
|
221
239
|
let r = "";
|
|
222
240
|
for (let t = 0; t < e.byteLength; t++)
|
|
@@ -229,28 +247,28 @@ function $(n) {
|
|
|
229
247
|
r[t] = e.charCodeAt(t);
|
|
230
248
|
return r.buffer;
|
|
231
249
|
}
|
|
232
|
-
function
|
|
250
|
+
function z(n) {
|
|
233
251
|
try {
|
|
234
252
|
return JSON.stringify(n);
|
|
235
253
|
} catch {
|
|
236
254
|
return String(n);
|
|
237
255
|
}
|
|
238
256
|
}
|
|
239
|
-
function
|
|
257
|
+
function W(n) {
|
|
240
258
|
try {
|
|
241
259
|
return JSON.parse(n);
|
|
242
260
|
} catch {
|
|
243
261
|
return null;
|
|
244
262
|
}
|
|
245
263
|
}
|
|
246
|
-
function
|
|
264
|
+
function J(n, ...e) {
|
|
247
265
|
typeof process < "u" && process.env && process.env.NODE_ENV === "development" && console.info(`🔐 [Crypto] ${n}`, ...e);
|
|
248
266
|
}
|
|
249
|
-
const Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, CryptoError: s, DEFAULT_CRYPTO_CONFIG:
|
|
250
|
-
|
|
251
|
-
PLAN_PLUS:
|
|
252
|
-
PLAN_PREMIUM:
|
|
253
|
-
},
|
|
267
|
+
const Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, CryptoError: s, DEFAULT_CRYPTO_CONFIG: S, arrayBufferToBase64: j, base64ToArrayBuffer: $, canUseEncryption: X, debugLog: J, decryptFromServer: V, encryptForServer: Y, establishCryptoSession: H, exportPublicKey: F, generateClientKeyPair: k, generateDeviceId: B, importServerPublicKey: I, isCryptoSessionValid: x, isSecureContext: g, isWebCryptoSupported: D, safeParse: W, safeStringify: z }, Symbol.toStringTag, { value: "Module" })), Z = "sassy:basic", Q = "sassy:plus", q = "sassy:advanced", Pe = {
|
|
268
|
+
PLAN_BASIC: Z,
|
|
269
|
+
PLAN_PLUS: Q,
|
|
270
|
+
PLAN_PREMIUM: q
|
|
271
|
+
}, Se = {
|
|
254
272
|
TOOL: {
|
|
255
273
|
DATETIME: "getDateTime",
|
|
256
274
|
IMAGES: "getImages",
|
|
@@ -272,58 +290,59 @@ const Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
272
290
|
function Ie(n) {
|
|
273
291
|
return !!n && Array.isArray(n.capabilities) && n.capabilities.length >= 0;
|
|
274
292
|
}
|
|
275
|
-
function
|
|
293
|
+
function ee(n) {
|
|
276
294
|
return n ? new Set(n) : null;
|
|
277
295
|
}
|
|
278
296
|
function De(n, e, r) {
|
|
279
297
|
if (!e || Array.isArray(e) && e.length === 0)
|
|
280
298
|
return !0;
|
|
281
|
-
const t = n instanceof Set ? n :
|
|
299
|
+
const t = n instanceof Set ? n : ee(n);
|
|
282
300
|
return !t || t.size === 0 ? !1 : typeof e == "string" ? t.has(e) : r?.any === !0 ? e.some((o) => t.has(o)) : e.every((o) => t.has(o));
|
|
283
301
|
}
|
|
284
302
|
export {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
303
|
+
ye as ALL_MODELS,
|
|
304
|
+
m as ALL_PROVIDERS,
|
|
305
|
+
de as ALL_REASONING_MODELS,
|
|
288
306
|
_e as APPLICATION_NAME,
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
307
|
+
Se as CAPABILITIES,
|
|
308
|
+
se as DEFAULT_PROVIDER,
|
|
309
|
+
Ae as DIGGIDY_CHAT_ID_HEADER,
|
|
310
|
+
G as MODELS_PER_PROVIDER,
|
|
311
|
+
f as MODEL_CLAUDE_HAIKU,
|
|
312
|
+
A as MODEL_CLAUDE_SONNET,
|
|
295
313
|
ae as MODEL_DEV,
|
|
296
|
-
|
|
297
|
-
|
|
314
|
+
Ee as MODEL_DISPLAY_NAMES,
|
|
315
|
+
ce as MODEL_EMBEDDING_TEXT,
|
|
316
|
+
_ as MODEL_GEMINI_FLASH,
|
|
298
317
|
l as MODEL_GEMINI_PRO,
|
|
299
318
|
p as MODEL_GPT4_MINI,
|
|
300
319
|
u as MODEL_GPT5,
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
S as ROLE_SYSTEM,
|
|
320
|
+
ie as MODEL_MEMORY_INFERENCE,
|
|
321
|
+
R as MODEL_SONAR,
|
|
322
|
+
P as MODEL_SONAR_PRO,
|
|
323
|
+
Z as PLAN_BASIC,
|
|
324
|
+
Q as PLAN_PLUS,
|
|
325
|
+
q as PLAN_PREMIUM,
|
|
326
|
+
Pe as POLICY_GRANTS,
|
|
327
|
+
y as PROVIDER_ANTHROPIC,
|
|
328
|
+
d as PROVIDER_GOOGLE,
|
|
329
|
+
T as PROVIDER_MEMORY,
|
|
330
|
+
oe as PROVIDER_MISTRAL,
|
|
331
|
+
c as PROVIDER_OPENAI,
|
|
332
|
+
O as PROVIDER_PERPLEXITY,
|
|
333
|
+
ue as PROVIDER_ROLE_MAP,
|
|
334
|
+
M as PROVIDER_SUMMARY,
|
|
335
|
+
i as ROLE_ASSISTANT,
|
|
336
|
+
ne as ROLE_HIDDEN,
|
|
337
|
+
re as ROLE_INTERNAL,
|
|
338
|
+
L as ROLE_SYSTEM,
|
|
321
339
|
a as ROLE_USER,
|
|
322
|
-
|
|
323
|
-
|
|
340
|
+
pe as SORT_BY_TIMESTAMP,
|
|
341
|
+
fe as SORT_BY_TOKEN_USAGE,
|
|
324
342
|
Re as crypto,
|
|
325
|
-
|
|
343
|
+
le as findProvider,
|
|
344
|
+
Oe as getProvidersFromModels,
|
|
326
345
|
De as isEntitled,
|
|
327
346
|
Ie as isEntitlementLoaded,
|
|
328
|
-
|
|
347
|
+
ee as toCapabilitySet
|
|
329
348
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/sassysaint-common",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Arno Versini",
|
|
6
6
|
"publishConfig": {
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"test:watch": "vitest",
|
|
33
33
|
"watch": "npm-run-all dev"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "f7d78abb7a4c8517ab533addf1bfa6cd244439dc"
|
|
36
36
|
}
|