@liquidmetal-ai/drizzle 0.1.1 → 0.1.3
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/.changeset/real-forks-smile.md +6 -0
- package/.turbo/turbo-build.log +26 -2
- package/dist/appify/build.d.ts +1 -1
- package/dist/appify/build.d.ts.map +1 -1
- package/dist/appify/build.js +3 -3
- package/dist/appify/validate.js +7 -7
- package/dist/logging.d.ts +38 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +63 -0
- package/dist/logging.test.d.ts +2 -0
- package/dist/logging.test.d.ts.map +1 -0
- package/dist/logging.test.js +84 -0
- package/package.json +7 -5
- package/src/appify/build.ts +3 -3
- package/src/appify/validate.ts +7 -7
- package/src/logging.test.ts +95 -0
- package/src/logging.ts +94 -0
- package/tsconfig.json +0 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/.turbo/turbo-lint.log +0 -6
- package/.turbo/turbo-test.log +0 -211
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @liquidmetal-ai/drizzle@0.
|
|
3
|
+
> @liquidmetal-ai/drizzle@0.1.2 prebuild
|
|
4
|
+
> npm install --ignore-scripts
|
|
5
|
+
|
|
6
|
+
[1G[0K[1G[0K⠙[1G[0K⠹[1G[0K⠸[1G[0K⠼[1G[0K⠴[1G[0K⠦[1G[0K⠧[1G[0K⠇[1G[0K⠏[1G[0K⠋[1G[0K⠙[1G[0K
|
|
7
|
+
> @liquidmetal-ai/drizzle@0.1.2 prepare
|
|
8
|
+
> npm run build
|
|
9
|
+
|
|
10
|
+
[1G[0K⠙[1G[0K
|
|
11
|
+
> @liquidmetal-ai/drizzle@0.1.2 build
|
|
12
|
+
> shx rm -rf dist && tsc -b
|
|
13
|
+
|
|
14
|
+
[1G[0K[1G[0K⠙[1G[0K[1G[0K⠙[1G[0K⠹[1G[0K⠸[1G[0K⠼[1G[0K⠴[1G[0K⠦[1G[0K⠧[1G[0K⠇[1G[0K⠏[1G[0K⠋[1G[0K
|
|
15
|
+
up to date, audited 2474 packages in 6s
|
|
16
|
+
[1G[0K⠋[1G[0K
|
|
17
|
+
[1G[0K⠋[1G[0K402 packages are looking for funding
|
|
18
|
+
[1G[0K⠋[1G[0K run `npm fund` for details
|
|
19
|
+
[1G[0K⠋[1G[0K
|
|
20
|
+
[31m[1m6[22m[39m vulnerabilities (1 [1mlow[22m, 1 [33m[1mmoderate[22m[39m, 4 [31m[1mhigh[22m[39m)
|
|
21
|
+
|
|
22
|
+
To address all issues, run:
|
|
23
|
+
npm audit fix
|
|
24
|
+
|
|
25
|
+
Run `npm audit` for details.
|
|
26
|
+
[1G[0K⠋[1G[0K[1G[0K⠙[1G[0K
|
|
27
|
+
> @liquidmetal-ai/drizzle@0.1.2 build
|
|
4
28
|
> shx rm -rf dist && tsc -b
|
|
5
29
|
|
|
6
|
-
[1G[0K[1G[0K⠙[1G[0K
|
|
30
|
+
[1G[0K⠙[1G[0K[1G[0K⠙[1G[0K
|
package/dist/appify/build.d.ts
CHANGED
|
@@ -114,7 +114,7 @@ export declare class Queue {
|
|
|
114
114
|
export declare class VectorIndex {
|
|
115
115
|
name: TokenString;
|
|
116
116
|
visibility?: TokenString;
|
|
117
|
-
|
|
117
|
+
dimensions?: TokenNumber;
|
|
118
118
|
metric?: TokenString;
|
|
119
119
|
obj: ConfigObject;
|
|
120
120
|
constructor(name: TokenString, obj: ConfigObject);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"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"}
|
package/dist/appify/build.js
CHANGED
|
@@ -271,8 +271,8 @@ function buildVectorIndex(stanza) {
|
|
|
271
271
|
case 'visibility':
|
|
272
272
|
buildAssignment(bucket, 'visibility', 'string', child, errors);
|
|
273
273
|
break;
|
|
274
|
-
case '
|
|
275
|
-
buildAssignment(bucket, '
|
|
274
|
+
case 'dimensions':
|
|
275
|
+
buildAssignment(bucket, 'dimensions', 'number', child, errors);
|
|
276
276
|
break;
|
|
277
277
|
case 'metric':
|
|
278
278
|
buildAssignment(bucket, 'metric', 'string', child, errors);
|
|
@@ -683,7 +683,7 @@ export class Queue {
|
|
|
683
683
|
export class VectorIndex {
|
|
684
684
|
name;
|
|
685
685
|
visibility;
|
|
686
|
-
|
|
686
|
+
dimensions;
|
|
687
687
|
metric;
|
|
688
688
|
obj;
|
|
689
689
|
constructor(name, obj) {
|
package/dist/appify/validate.js
CHANGED
|
@@ -304,7 +304,7 @@ const nameValidator = {
|
|
|
304
304
|
const vectorIndexValidator = {
|
|
305
305
|
onVectorIndex: async (app, vectorIndex) => {
|
|
306
306
|
const errors = [];
|
|
307
|
-
if (vectorIndex.
|
|
307
|
+
if (vectorIndex.dimensions === undefined) {
|
|
308
308
|
errors.push({
|
|
309
309
|
message: 'vector index must have a dimension',
|
|
310
310
|
severity: 'error',
|
|
@@ -323,23 +323,23 @@ const vectorIndexValidator = {
|
|
|
323
323
|
return errors;
|
|
324
324
|
}
|
|
325
325
|
// We have to re-check because the above is too complex for TS.
|
|
326
|
-
if (vectorIndex.
|
|
326
|
+
if (vectorIndex.dimensions === undefined) {
|
|
327
327
|
return errors;
|
|
328
328
|
}
|
|
329
|
-
const dimension = valueOf(vectorIndex.
|
|
329
|
+
const dimension = valueOf(vectorIndex.dimensions);
|
|
330
330
|
if (!Number.isInteger(dimension)) {
|
|
331
331
|
errors.push({
|
|
332
|
-
message: 'vector index
|
|
332
|
+
message: 'vector index dimensions must be an integer',
|
|
333
333
|
severity: 'error',
|
|
334
|
-
...vectorIndex.
|
|
334
|
+
...vectorIndex.dimensions,
|
|
335
335
|
});
|
|
336
336
|
return errors;
|
|
337
337
|
}
|
|
338
338
|
if (dimension < 1 || dimension > 1536) {
|
|
339
339
|
errors.push({
|
|
340
|
-
message: 'vector index
|
|
340
|
+
message: 'vector index dimensions must be between 1 and 1536',
|
|
341
341
|
severity: 'error',
|
|
342
|
-
...vectorIndex.
|
|
342
|
+
...vectorIndex.dimensions,
|
|
343
343
|
});
|
|
344
344
|
}
|
|
345
345
|
return errors;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = "DEBUG",
|
|
3
|
+
INFO = "INFO",
|
|
4
|
+
WARN = "WARN",
|
|
5
|
+
ERROR = "ERROR"
|
|
6
|
+
}
|
|
7
|
+
export interface Fields {
|
|
8
|
+
[key: string]: number | string | boolean | object | undefined | null | Error | Fields;
|
|
9
|
+
}
|
|
10
|
+
export interface Error {
|
|
11
|
+
cause?: string;
|
|
12
|
+
stack?: string;
|
|
13
|
+
message: string;
|
|
14
|
+
}
|
|
15
|
+
export interface Message {
|
|
16
|
+
level: LogLevel;
|
|
17
|
+
message: string;
|
|
18
|
+
fields: Fields;
|
|
19
|
+
}
|
|
20
|
+
interface LogSink {
|
|
21
|
+
(m: Message): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class Logger {
|
|
24
|
+
#private;
|
|
25
|
+
constructor(sink: LogSink, fields?: Fields, defaultLogLevel?: LogLevel);
|
|
26
|
+
with(fields?: Fields): Logger;
|
|
27
|
+
log(message: string, fields?: Fields): void;
|
|
28
|
+
logAtLevel(level: LogLevel, message: string, fields?: Fields): void;
|
|
29
|
+
message(message: string, fields?: Fields): Message;
|
|
30
|
+
messageAtLevel(level: LogLevel, message: string, fields?: Fields): Message;
|
|
31
|
+
debug(message: string, fields?: Fields): void;
|
|
32
|
+
info(message: string, fields?: Fields): void;
|
|
33
|
+
warn(message: string, fields?: Fields): void;
|
|
34
|
+
withError(error: unknown, fields?: Fields): Logger;
|
|
35
|
+
error(message: string, fields?: Fields): void;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;CACvF;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpB;AAED,qBAAa,MAAM;;gBAKL,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ;IAMtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAInE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlD,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ1E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAgBlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAG9C"}
|
package/dist/logging.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export var LogLevel;
|
|
2
|
+
(function (LogLevel) {
|
|
3
|
+
LogLevel["DEBUG"] = "DEBUG";
|
|
4
|
+
LogLevel["INFO"] = "INFO";
|
|
5
|
+
LogLevel["WARN"] = "WARN";
|
|
6
|
+
LogLevel["ERROR"] = "ERROR";
|
|
7
|
+
})(LogLevel || (LogLevel = {}));
|
|
8
|
+
export class Logger {
|
|
9
|
+
#sink;
|
|
10
|
+
#fields;
|
|
11
|
+
#defaultLogLevel;
|
|
12
|
+
constructor(sink, fields, defaultLogLevel) {
|
|
13
|
+
this.#sink = sink;
|
|
14
|
+
this.#fields = fields || {};
|
|
15
|
+
this.#defaultLogLevel = defaultLogLevel || LogLevel.INFO;
|
|
16
|
+
}
|
|
17
|
+
with(fields) {
|
|
18
|
+
return new Logger(this.#sink, { ...this.#fields, ...fields });
|
|
19
|
+
}
|
|
20
|
+
log(message, fields) {
|
|
21
|
+
this.logAtLevel(this.#defaultLogLevel, message, fields);
|
|
22
|
+
}
|
|
23
|
+
logAtLevel(level, message, fields) {
|
|
24
|
+
this.#sink(this.messageAtLevel(level, message, fields));
|
|
25
|
+
}
|
|
26
|
+
message(message, fields) {
|
|
27
|
+
return this.messageAtLevel(this.#defaultLogLevel, message, fields);
|
|
28
|
+
}
|
|
29
|
+
messageAtLevel(level, message, fields) {
|
|
30
|
+
return {
|
|
31
|
+
level,
|
|
32
|
+
message,
|
|
33
|
+
fields: { ...this.#fields, ...fields },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
debug(message, fields) {
|
|
37
|
+
this.logAtLevel(LogLevel.DEBUG, message, fields);
|
|
38
|
+
}
|
|
39
|
+
info(message, fields) {
|
|
40
|
+
this.logAtLevel(LogLevel.INFO, message, fields);
|
|
41
|
+
}
|
|
42
|
+
warn(message, fields) {
|
|
43
|
+
this.logAtLevel(LogLevel.WARN, message, fields);
|
|
44
|
+
}
|
|
45
|
+
withError(error, fields) {
|
|
46
|
+
let err;
|
|
47
|
+
if (typeof error === 'object' && error !== null) {
|
|
48
|
+
err = error;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
err = {};
|
|
52
|
+
}
|
|
53
|
+
const errFields = {
|
|
54
|
+
message: 'message' in err && typeof err.message === 'string' ? err.message : 'Unknown error',
|
|
55
|
+
stack: 'stack' in err && typeof err.stack === 'string' ? err.stack : undefined,
|
|
56
|
+
cause: 'cause' in err && typeof err.cause === 'string' ? err.cause : undefined,
|
|
57
|
+
};
|
|
58
|
+
return this.with({ error: errFields, ...fields, logLevel: LogLevel.ERROR });
|
|
59
|
+
}
|
|
60
|
+
error(message, fields) {
|
|
61
|
+
this.logAtLevel(LogLevel.ERROR, message, fields);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.test.d.ts","sourceRoot":"","sources":["../src/logging.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { afterAll, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { Logger, LogLevel } from './logging.js';
|
|
3
|
+
describe('Logger', () => {
|
|
4
|
+
const consoleSpy = vi.spyOn(console, 'log');
|
|
5
|
+
afterAll(() => {
|
|
6
|
+
consoleSpy.mockReset();
|
|
7
|
+
});
|
|
8
|
+
it('can be created with default fields and log level', () => {
|
|
9
|
+
const logger = new Logger(console.log, { foo: 'bar' });
|
|
10
|
+
const message = logger.message('just a test message');
|
|
11
|
+
expect(message).toEqual({
|
|
12
|
+
level: LogLevel.INFO,
|
|
13
|
+
message: 'just a test message',
|
|
14
|
+
fields: { foo: 'bar' },
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
it('can be composed with additional fields', () => {
|
|
18
|
+
const logger1 = new Logger(console.log, { foo: 'bar' });
|
|
19
|
+
const logger2 = logger1.with({ baz: 'qux' });
|
|
20
|
+
const message1 = logger1.message('just a test message');
|
|
21
|
+
const message2 = logger2.message('just another test message');
|
|
22
|
+
expect(message1).toEqual({
|
|
23
|
+
level: LogLevel.INFO,
|
|
24
|
+
message: 'just a test message',
|
|
25
|
+
fields: { foo: 'bar' },
|
|
26
|
+
});
|
|
27
|
+
expect(message2).toEqual({
|
|
28
|
+
level: LogLevel.INFO,
|
|
29
|
+
message: 'just another test message',
|
|
30
|
+
fields: { foo: 'bar', baz: 'qux' },
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('can log messages at a debug level', () => {
|
|
34
|
+
const logger = new Logger(console.log);
|
|
35
|
+
logger.debug('debug message');
|
|
36
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
37
|
+
fields: {},
|
|
38
|
+
level: 'DEBUG',
|
|
39
|
+
message: 'debug message',
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
it('can log messages at a info level', () => {
|
|
43
|
+
const logger = new Logger(console.log);
|
|
44
|
+
logger.info('info message');
|
|
45
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
46
|
+
fields: {},
|
|
47
|
+
level: 'INFO',
|
|
48
|
+
message: 'info message',
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it('can log messages at a warn level', () => {
|
|
52
|
+
const logger = new Logger(console.log);
|
|
53
|
+
logger.warn('warn message');
|
|
54
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
55
|
+
fields: {},
|
|
56
|
+
level: 'WARN',
|
|
57
|
+
message: 'warn message',
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
it('can log messages at an error level', () => {
|
|
61
|
+
const logger = new Logger(console.log);
|
|
62
|
+
logger.error('error message');
|
|
63
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
64
|
+
fields: {},
|
|
65
|
+
level: 'ERROR',
|
|
66
|
+
message: 'error message',
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
it('can log Error objects', () => {
|
|
70
|
+
const logger = new Logger(console.log);
|
|
71
|
+
const error = new Error('test error');
|
|
72
|
+
const message = logger.withError(error).messageAtLevel(LogLevel.ERROR, 'error message');
|
|
73
|
+
expect(message).toMatchObject({
|
|
74
|
+
level: LogLevel.ERROR,
|
|
75
|
+
message: 'error message',
|
|
76
|
+
fields: {
|
|
77
|
+
error: {
|
|
78
|
+
message: 'test error',
|
|
79
|
+
cause: undefined,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liquidmetal-ai/drizzle",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Raindrop core operational libraries",
|
|
5
|
+
"main": "dist/index.js",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"scripts": {
|
|
8
|
+
"prebuild": "npm install --ignore-scripts",
|
|
9
|
+
"prepare": "npm run build",
|
|
7
10
|
"build": "shx rm -rf dist && tsc -b",
|
|
8
11
|
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
|
9
12
|
"lint": "eslint . --max-warnings=0",
|
|
10
|
-
"prepare": "npm run build",
|
|
11
13
|
"posttest": "npm run lint",
|
|
12
14
|
"test": "vitest run",
|
|
13
15
|
"test:watch": "vitest"
|
|
@@ -29,6 +31,9 @@
|
|
|
29
31
|
"typescript-eslint": "^8.7.0",
|
|
30
32
|
"vitest": "^2.1.1"
|
|
31
33
|
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"jszip": "^3.10.1"
|
|
36
|
+
},
|
|
32
37
|
"exports": {
|
|
33
38
|
".": {
|
|
34
39
|
"import": "./dist/index.js",
|
|
@@ -38,8 +43,5 @@
|
|
|
38
43
|
"import": "./dist/*.js",
|
|
39
44
|
"types": "./dist/*.d.ts"
|
|
40
45
|
}
|
|
41
|
-
},
|
|
42
|
-
"dependencies": {
|
|
43
|
-
"jszip": "^3.10.1"
|
|
44
46
|
}
|
|
45
47
|
}
|
package/src/appify/build.ts
CHANGED
|
@@ -310,8 +310,8 @@ function buildVectorIndex(stanza: StanzaNode): [Bucket, ConfigError[]] {
|
|
|
310
310
|
case 'visibility':
|
|
311
311
|
buildAssignment(bucket, 'visibility', 'string', child, errors);
|
|
312
312
|
break;
|
|
313
|
-
case '
|
|
314
|
-
buildAssignment(bucket, '
|
|
313
|
+
case 'dimensions':
|
|
314
|
+
buildAssignment(bucket, 'dimensions', 'number', child, errors);
|
|
315
315
|
break;
|
|
316
316
|
case 'metric':
|
|
317
317
|
buildAssignment(bucket, 'metric', 'string', child, errors);
|
|
@@ -758,7 +758,7 @@ export class Queue {
|
|
|
758
758
|
export class VectorIndex {
|
|
759
759
|
name: TokenString;
|
|
760
760
|
visibility?: TokenString;
|
|
761
|
-
|
|
761
|
+
dimensions?: TokenNumber;
|
|
762
762
|
metric?: TokenString;
|
|
763
763
|
obj: ConfigObject;
|
|
764
764
|
|
package/src/appify/validate.ts
CHANGED
|
@@ -395,7 +395,7 @@ const nameValidator: Validator = {
|
|
|
395
395
|
const vectorIndexValidator: Validator = {
|
|
396
396
|
onVectorIndex: async (app: Application, vectorIndex: VectorIndex): Promise<ValidationError[]> => {
|
|
397
397
|
const errors: ValidationError[] = [];
|
|
398
|
-
if (vectorIndex.
|
|
398
|
+
if (vectorIndex.dimensions === undefined) {
|
|
399
399
|
errors.push({
|
|
400
400
|
message: 'vector index must have a dimension',
|
|
401
401
|
severity: 'error',
|
|
@@ -416,23 +416,23 @@ const vectorIndexValidator: Validator = {
|
|
|
416
416
|
return errors;
|
|
417
417
|
}
|
|
418
418
|
// We have to re-check because the above is too complex for TS.
|
|
419
|
-
if (vectorIndex.
|
|
419
|
+
if (vectorIndex.dimensions === undefined) {
|
|
420
420
|
return errors;
|
|
421
421
|
}
|
|
422
|
-
const dimension = valueOf(vectorIndex.
|
|
422
|
+
const dimension = valueOf(vectorIndex.dimensions);
|
|
423
423
|
if (!Number.isInteger(dimension)) {
|
|
424
424
|
errors.push({
|
|
425
|
-
message: 'vector index
|
|
425
|
+
message: 'vector index dimensions must be an integer',
|
|
426
426
|
severity: 'error',
|
|
427
|
-
...vectorIndex.
|
|
427
|
+
...vectorIndex.dimensions,
|
|
428
428
|
});
|
|
429
429
|
return errors;
|
|
430
430
|
}
|
|
431
431
|
if (dimension < 1 || dimension > 1536) {
|
|
432
432
|
errors.push({
|
|
433
|
-
message: 'vector index
|
|
433
|
+
message: 'vector index dimensions must be between 1 and 1536',
|
|
434
434
|
severity: 'error',
|
|
435
|
-
...vectorIndex.
|
|
435
|
+
...vectorIndex.dimensions,
|
|
436
436
|
});
|
|
437
437
|
}
|
|
438
438
|
return errors;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { afterAll, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { Logger, LogLevel } from './logging.js';
|
|
3
|
+
|
|
4
|
+
describe('Logger', () => {
|
|
5
|
+
const consoleSpy = vi.spyOn(console, 'log');
|
|
6
|
+
|
|
7
|
+
afterAll(() => {
|
|
8
|
+
consoleSpy.mockReset();
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it('can be created with default fields and log level', () => {
|
|
12
|
+
const logger = new Logger(console.log, { foo: 'bar' });
|
|
13
|
+
const message = logger.message('just a test message');
|
|
14
|
+
expect(message).toEqual({
|
|
15
|
+
level: LogLevel.INFO,
|
|
16
|
+
message: 'just a test message',
|
|
17
|
+
fields: { foo: 'bar' },
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('can be composed with additional fields', () => {
|
|
22
|
+
const logger1 = new Logger(console.log, { foo: 'bar' });
|
|
23
|
+
const logger2 = logger1.with({ baz: 'qux' });
|
|
24
|
+
const message1 = logger1.message('just a test message');
|
|
25
|
+
const message2 = logger2.message('just another test message');
|
|
26
|
+
|
|
27
|
+
expect(message1).toEqual({
|
|
28
|
+
level: LogLevel.INFO,
|
|
29
|
+
message: 'just a test message',
|
|
30
|
+
fields: { foo: 'bar' },
|
|
31
|
+
});
|
|
32
|
+
expect(message2).toEqual({
|
|
33
|
+
level: LogLevel.INFO,
|
|
34
|
+
message: 'just another test message',
|
|
35
|
+
fields: { foo: 'bar', baz: 'qux' },
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('can log messages at a debug level', () => {
|
|
40
|
+
const logger = new Logger(console.log);
|
|
41
|
+
logger.debug('debug message');
|
|
42
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
43
|
+
fields: {},
|
|
44
|
+
level: 'DEBUG',
|
|
45
|
+
message: 'debug message',
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('can log messages at a info level', () => {
|
|
50
|
+
const logger = new Logger(console.log);
|
|
51
|
+
logger.info('info message');
|
|
52
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
53
|
+
fields: {},
|
|
54
|
+
level: 'INFO',
|
|
55
|
+
message: 'info message',
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it('can log messages at a warn level', () => {
|
|
60
|
+
const logger = new Logger(console.log);
|
|
61
|
+
logger.warn('warn message');
|
|
62
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
63
|
+
fields: {},
|
|
64
|
+
level: 'WARN',
|
|
65
|
+
message: 'warn message',
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('can log messages at an error level', () => {
|
|
70
|
+
const logger = new Logger(console.log);
|
|
71
|
+
logger.error('error message');
|
|
72
|
+
expect(consoleSpy).toHaveBeenCalledWith({
|
|
73
|
+
fields: {},
|
|
74
|
+
level: 'ERROR',
|
|
75
|
+
message: 'error message',
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('can log Error objects', () => {
|
|
80
|
+
const logger = new Logger(console.log);
|
|
81
|
+
const error = new Error('test error');
|
|
82
|
+
const message = logger.withError(error).messageAtLevel(LogLevel.ERROR, 'error message');
|
|
83
|
+
|
|
84
|
+
expect(message).toMatchObject({
|
|
85
|
+
level: LogLevel.ERROR,
|
|
86
|
+
message: 'error message',
|
|
87
|
+
fields: {
|
|
88
|
+
error: {
|
|
89
|
+
message: 'test error',
|
|
90
|
+
cause: undefined,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
package/src/logging.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export enum LogLevel {
|
|
2
|
+
DEBUG = 'DEBUG',
|
|
3
|
+
INFO = 'INFO',
|
|
4
|
+
WARN = 'WARN',
|
|
5
|
+
ERROR = 'ERROR',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface Fields {
|
|
9
|
+
[key: string]: number | string | boolean | object | undefined | null | Error | Fields;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface Error {
|
|
13
|
+
cause?: string;
|
|
14
|
+
stack?: string;
|
|
15
|
+
message: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface Message {
|
|
19
|
+
level: LogLevel;
|
|
20
|
+
message: string;
|
|
21
|
+
fields: Fields;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface LogSink {
|
|
25
|
+
(m: Message): void;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export class Logger {
|
|
29
|
+
#sink: (m: Message) => void;
|
|
30
|
+
#fields: Fields;
|
|
31
|
+
#defaultLogLevel: LogLevel;
|
|
32
|
+
|
|
33
|
+
constructor(sink: LogSink, fields?: Fields, defaultLogLevel?: LogLevel) {
|
|
34
|
+
this.#sink = sink;
|
|
35
|
+
this.#fields = fields || {};
|
|
36
|
+
this.#defaultLogLevel = defaultLogLevel || LogLevel.INFO;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
with(fields?: Fields): Logger {
|
|
40
|
+
return new Logger(this.#sink, { ...this.#fields, ...fields });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
log(message: string, fields?: Fields): void {
|
|
44
|
+
this.logAtLevel(this.#defaultLogLevel, message, fields);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
logAtLevel(level: LogLevel, message: string, fields?: Fields): void {
|
|
48
|
+
this.#sink(this.messageAtLevel(level, message, fields));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
message(message: string, fields?: Fields): Message {
|
|
52
|
+
return this.messageAtLevel(this.#defaultLogLevel, message, fields);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
messageAtLevel(level: LogLevel, message: string, fields?: Fields): Message {
|
|
56
|
+
return {
|
|
57
|
+
level,
|
|
58
|
+
message,
|
|
59
|
+
fields: { ...this.#fields, ...fields },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
debug(message: string, fields?: Fields): void {
|
|
64
|
+
this.logAtLevel(LogLevel.DEBUG, message, fields);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
info(message: string, fields?: Fields): void {
|
|
68
|
+
this.logAtLevel(LogLevel.INFO, message, fields);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
warn(message: string, fields?: Fields): void {
|
|
72
|
+
this.logAtLevel(LogLevel.WARN, message, fields);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
withError(error: unknown, fields?: Fields): Logger {
|
|
76
|
+
let err: object;
|
|
77
|
+
if (typeof error === 'object' && error !== null) {
|
|
78
|
+
err = error;
|
|
79
|
+
} else {
|
|
80
|
+
err = {};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const errFields = {
|
|
84
|
+
message: 'message' in err && typeof err.message === 'string' ? err.message : 'Unknown error',
|
|
85
|
+
stack: 'stack' in err && typeof err.stack === 'string' ? err.stack : undefined,
|
|
86
|
+
cause: 'cause' in err && typeof err.cause === 'string' ? err.cause : undefined,
|
|
87
|
+
};
|
|
88
|
+
return this.with({ error: errFields, ...fields, logLevel: LogLevel.ERROR });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
error(message: string, fields?: Fields): void {
|
|
92
|
+
this.logAtLevel(LogLevel.ERROR, message, fields);
|
|
93
|
+
}
|
|
94
|
+
}
|
package/tsconfig.json
CHANGED
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/codestore.test.ts","./src/codestore.ts","./src/appify/build.test.ts","./src/appify/build.ts","./src/appify/index.test.ts","./src/appify/index.ts","./src/appify/parse.test.ts","./src/appify/parse.ts","./src/appify/validate.test.ts","./src/appify/validate.ts","./src/liquidmetal/v1alpha1/catalog_connect.ts","./src/liquidmetal/v1alpha1/catalog_pb.ts","./src/liquidmetal/v1alpha1/rainbow_auth_connect.ts","./src/liquidmetal/v1alpha1/rainbow_auth_pb.ts","./src/liquidmetal/v1alpha1/rainbow_public_connect.ts","./src/liquidmetal/v1alpha1/rainbow_public_pb.ts","./src/liquidmetal/v1alpha1/raindrop_pb.ts","./src/raindrop/index.test.ts","./src/raindrop/index.ts","./src/unsafe/codestore.test.ts","./src/unsafe/codestore.ts","./src/unsafe/framework.test.ts","./src/unsafe/framework.ts"],"version":"5.6.3"}
|
|
1
|
+
{"root":["./src/codestore.test.ts","./src/codestore.ts","./src/logging.test.ts","./src/logging.ts","./src/appify/build.test.ts","./src/appify/build.ts","./src/appify/index.test.ts","./src/appify/index.ts","./src/appify/parse.test.ts","./src/appify/parse.ts","./src/appify/validate.test.ts","./src/appify/validate.ts","./src/liquidmetal/v1alpha1/catalog_connect.ts","./src/liquidmetal/v1alpha1/catalog_pb.ts","./src/liquidmetal/v1alpha1/rainbow_auth_connect.ts","./src/liquidmetal/v1alpha1/rainbow_auth_pb.ts","./src/liquidmetal/v1alpha1/rainbow_public_connect.ts","./src/liquidmetal/v1alpha1/rainbow_public_pb.ts","./src/liquidmetal/v1alpha1/raindrop_pb.ts","./src/raindrop/index.test.ts","./src/raindrop/index.ts","./src/unsafe/codestore.test.ts","./src/unsafe/codestore.ts","./src/unsafe/framework.test.ts","./src/unsafe/framework.ts"],"version":"5.6.3"}
|
package/.turbo/turbo-lint.log
DELETED
package/.turbo/turbo-test.log
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
> @liquidmetal-ai/drizzle@0.0.4 test
|
|
4
|
-
> vitest run
|
|
5
|
-
|
|
6
|
-
[1G[0K
|
|
7
|
-
[7m[1m[36m RUN [39m[22m[27m [36mv2.1.1[39m [90m/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle[39m
|
|
8
|
-
|
|
9
|
-
[?25l [90m·[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
10
|
-
[90m·[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
11
|
-
[?25l[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
12
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
13
|
-
[?25l[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
14
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
15
|
-
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
16
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
17
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
18
|
-
[?25l[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
19
|
-
[90m·[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
20
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
21
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
22
|
-
[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
23
|
-
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
24
|
-
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
25
|
-
[33m⠙[39m should detect npm package version
|
|
26
|
-
[90m·[39m should detect yarn package version
|
|
27
|
-
[90m·[39m should detect pnpm package version
|
|
28
|
-
[90m·[39m should handle nested dependencies
|
|
29
|
-
[90m·[39m should return null when package is not found
|
|
30
|
-
[90m·[39m should search parent directories for package manager files
|
|
31
|
-
[90m·[39m should handle command execution errors
|
|
32
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
33
|
-
[90m·[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
34
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
35
|
-
[90m·[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
36
|
-
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
37
|
-
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
38
|
-
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
39
|
-
[33m⠹[39m should detect npm package version
|
|
40
|
-
[90m·[39m should detect yarn package version
|
|
41
|
-
[90m·[39m should detect pnpm package version
|
|
42
|
-
[90m·[39m should handle nested dependencies
|
|
43
|
-
[90m·[39m should return null when package is not found
|
|
44
|
-
[90m·[39m should search parent directories for package manager files
|
|
45
|
-
[90m·[39m should handle command execution errors
|
|
46
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
47
|
-
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
48
|
-
[33m⠙[39m archive and unarchive
|
|
49
|
-
[90m·[39m list bundle with files
|
|
50
|
-
[90m·[39m read file from bundle
|
|
51
|
-
[90m·[39m read missing file from bundle
|
|
52
|
-
[90m·[39m delete file from bundle
|
|
53
|
-
[90m·[39m for await of bundle
|
|
54
|
-
[90m·[39m stat file from bundle
|
|
55
|
-
[90m·[39m stat missing file from bundle
|
|
56
|
-
[90m·[39m hash bundle
|
|
57
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
58
|
-
[33m❯[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
59
|
-
[33m⠙[39m FileSystemBundle maps to local files and their contents
|
|
60
|
-
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould return null when package is not found[22m[39m
|
|
61
|
-
Error reading package version: Error: Package version not found
|
|
62
|
-
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
|
|
63
|
-
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:151:21
|
|
64
|
-
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
65
|
-
at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:982:11)
|
|
66
|
-
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
67
|
-
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
68
|
-
at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1188:5)
|
|
69
|
-
at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1197:3)
|
|
70
|
-
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
|
|
71
|
-
at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
|
|
72
|
-
|
|
73
|
-
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
74
|
-
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
75
|
-
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
76
|
-
[33m⠸[39m should detect npm package version
|
|
77
|
-
[90m·[39m should detect yarn package version
|
|
78
|
-
[90m·[39m should detect pnpm package version
|
|
79
|
-
[90m·[39m should handle nested dependencies
|
|
80
|
-
[90m·[39m should return null when package is not found
|
|
81
|
-
[90m·[39m should search parent directories for package manager files
|
|
82
|
-
[90m·[39m should handle command execution errors
|
|
83
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
84
|
-
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
85
|
-
[33m⠹[39m archive and unarchive
|
|
86
|
-
[90m·[39m list bundle with files
|
|
87
|
-
[90m·[39m read file from bundle
|
|
88
|
-
[90m·[39m read missing file from bundle
|
|
89
|
-
[90m·[39m delete file from bundle
|
|
90
|
-
[90m·[39m for await of bundle
|
|
91
|
-
[90m·[39m stat file from bundle
|
|
92
|
-
[90m·[39m stat missing file from bundle
|
|
93
|
-
[90m·[39m hash bundle
|
|
94
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
95
|
-
[33m❯[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
96
|
-
[33m⠹[39m FileSystemBundle maps to local files and their contents
|
|
97
|
-
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould handle command execution errors[22m[39m
|
|
98
|
-
Error executing npm list command: Error: Command failed
|
|
99
|
-
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:192:9
|
|
100
|
-
at mockCall (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/node_modules/[4m@vitest[24m/spy/dist/index.js:61:17)
|
|
101
|
-
at spy (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mtinyspy[24m/dist/index.js:45:80)
|
|
102
|
-
[90m at node:internal/util:447:21[39m
|
|
103
|
-
at new Promise (<anonymous>)
|
|
104
|
-
[90m at spy (node:internal/util:433:12)[39m
|
|
105
|
-
at getVersionFromCommand (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:69:30)
|
|
106
|
-
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:102:31)
|
|
107
|
-
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
|
|
108
|
-
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
109
|
-
|
|
110
|
-
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
111
|
-
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
112
|
-
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
113
|
-
[32m✓[39m should detect npm package version
|
|
114
|
-
[32m✓[39m should detect yarn package version
|
|
115
|
-
[32m✓[39m should detect pnpm package version
|
|
116
|
-
[32m✓[39m should handle nested dependencies
|
|
117
|
-
[32m✓[39m should return null when package is not found
|
|
118
|
-
[33m⠙[39m should search parent directories for package manager files
|
|
119
|
-
[90m·[39m should handle command execution errors
|
|
120
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
121
|
-
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
122
|
-
[33m⠸[39m archive and unarchive
|
|
123
|
-
[90m·[39m list bundle with files
|
|
124
|
-
[90m·[39m read file from bundle
|
|
125
|
-
[90m·[39m read missing file from bundle
|
|
126
|
-
[90m·[39m delete file from bundle
|
|
127
|
-
[90m·[39m for await of bundle
|
|
128
|
-
[90m·[39m stat file from bundle
|
|
129
|
-
[90m·[39m stat missing file from bundle
|
|
130
|
-
[90m·[39m hash bundle
|
|
131
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
132
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
133
|
-
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould handle command execution errors[22m[39m
|
|
134
|
-
Error reading package version: Error: Package version not found
|
|
135
|
-
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
|
|
136
|
-
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
|
|
137
|
-
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
138
|
-
at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:982:11)
|
|
139
|
-
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
140
|
-
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
141
|
-
at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1188:5)
|
|
142
|
-
at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1197:3)
|
|
143
|
-
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
|
|
144
|
-
at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
|
|
145
|
-
|
|
146
|
-
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
147
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
148
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
149
|
-
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
150
|
-
[33m⠼[39m archive and unarchive
|
|
151
|
-
[90m·[39m list bundle with files
|
|
152
|
-
[90m·[39m read file from bundle
|
|
153
|
-
[90m·[39m read missing file from bundle
|
|
154
|
-
[90m·[39m delete file from bundle
|
|
155
|
-
[90m·[39m for await of bundle
|
|
156
|
-
[90m·[39m stat file from bundle
|
|
157
|
-
[90m·[39m stat missing file from bundle
|
|
158
|
-
[90m·[39m hash bundle
|
|
159
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
160
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
161
|
-
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
162
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
163
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
164
|
-
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
165
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
166
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
167
|
-
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
168
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
169
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
170
|
-
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
171
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
172
|
-
[90m·[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
173
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
174
|
-
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
175
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
176
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
177
|
-
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
178
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
179
|
-
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
180
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
181
|
-
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
182
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
183
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
184
|
-
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
185
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
186
|
-
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
187
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
188
|
-
[32m✓[39m [2msrc/raindrop/[22mindex[2m.test.ts[22m[2m (1)[22m
|
|
189
|
-
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
190
|
-
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
191
|
-
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
192
|
-
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
193
|
-
[32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
194
|
-
[32m✓[39m [2msrc/raindrop/[22mindex[2m.test.ts[22m[2m (1)[22m
|
|
195
|
-
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
196
|
-
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
197
|
-
|
|
198
|
-
[2m Test Files [22m [1m[32m8 passed[39m[22m[90m (8)[39m
|
|
199
|
-
[2m Tests [22m [1m[32m52 passed[39m[22m[90m (52)[39m
|
|
200
|
-
[2m Start at [22m 18:26:33
|
|
201
|
-
[2m Duration [22m 5.88s[2m (transform 3.35s, setup 0ms, collect 7.85s, tests 702ms, environment 1ms, prepare 6.03s)[22m
|
|
202
|
-
|
|
203
|
-
[?25h[?25h[1G[0K⠙[1G[0K
|
|
204
|
-
> @liquidmetal-ai/drizzle@0.0.4 posttest
|
|
205
|
-
> npm run lint
|
|
206
|
-
|
|
207
|
-
[1G[0K⠙[1G[0K
|
|
208
|
-
> @liquidmetal-ai/drizzle@0.0.4 lint
|
|
209
|
-
> eslint . --max-warnings=0
|
|
210
|
-
|
|
211
|
-
[1G[0K[1G[0K⠙[1G[0K[1G[0K⠙[1G[0K
|