veryfront 0.1.200 → 0.1.201
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/esm/cli/commands/knowledge/command.d.ts +13 -0
- package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
- package/esm/cli/commands/knowledge/command.js +52 -19
- package/esm/deno.js +1 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/cli/commands/knowledge/command.ts +77 -21
- package/src/deno.js +1 -1
- package/src/src/utils/version-constant.ts +1 -1
|
@@ -6,6 +6,7 @@ type SafeParseResult<T> = {
|
|
|
6
6
|
success: false;
|
|
7
7
|
error: z.ZodError;
|
|
8
8
|
};
|
|
9
|
+
import { type CommandResult } from "../../../src/platform/compat/process.js";
|
|
9
10
|
import { type ApiClient } from "../../shared/config.js";
|
|
10
11
|
import type { ParsedArgs } from "../../shared/types.js";
|
|
11
12
|
import { type Logger } from "../../../src/utils/index.js";
|
|
@@ -89,6 +90,18 @@ export declare function runKnowledgeParser(input: {
|
|
|
89
90
|
sourceReference?: string;
|
|
90
91
|
env?: Record<string, string>;
|
|
91
92
|
}): Promise<KnowledgeParserResult>;
|
|
93
|
+
export declare function executeKnowledgeParserCommand(input: {
|
|
94
|
+
scriptPath: string;
|
|
95
|
+
inputJsonPath: string;
|
|
96
|
+
outputJsonPath: string;
|
|
97
|
+
env?: Record<string, string>;
|
|
98
|
+
}, deps?: {
|
|
99
|
+
runCommandFn?: (cmd: string, options: {
|
|
100
|
+
args: string[];
|
|
101
|
+
env?: Record<string, string>;
|
|
102
|
+
capture: true;
|
|
103
|
+
}) => Promise<CommandResult>;
|
|
104
|
+
}): Promise<void>;
|
|
92
105
|
export declare function runKnowledgeParsers(input: {
|
|
93
106
|
files: KnowledgeParserInput[];
|
|
94
107
|
outputDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,KAAK,eAAe,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as dntShim from "../../../_dnt.shims.js";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { createFileSystem, getEnv } from "../../../src/platform/index.js";
|
|
4
4
|
import { basename, extname, join, normalize, relative } from "../../../src/platform/compat/path/index.js";
|
|
5
|
+
import { runCommand } from "../../../src/platform/compat/process.js";
|
|
5
6
|
import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
|
|
6
7
|
import { cliLogger } from "../../utils/index.js";
|
|
7
8
|
import { createApiClient, resolveConfigWithAuth } from "../../shared/config.js";
|
|
@@ -356,6 +357,51 @@ export async function runKnowledgeParser(input) {
|
|
|
356
357
|
}
|
|
357
358
|
return result;
|
|
358
359
|
}
|
|
360
|
+
function isMissingPythonExecutableError(error) {
|
|
361
|
+
if (!(error instanceof Error)) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
const errorWithCode = error;
|
|
365
|
+
if (errorWithCode.code === "ENOENT") {
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
return error.name === "NotFound" ||
|
|
369
|
+
/\bENOENT\b/i.test(error.message) ||
|
|
370
|
+
/not found/i.test(error.message) ||
|
|
371
|
+
/no such file or directory/i.test(error.message);
|
|
372
|
+
}
|
|
373
|
+
export async function executeKnowledgeParserCommand(input, deps = {}) {
|
|
374
|
+
const runCommandFn = deps.runCommandFn ?? runCommand;
|
|
375
|
+
let result;
|
|
376
|
+
try {
|
|
377
|
+
result = await runCommandFn("python3", {
|
|
378
|
+
args: [
|
|
379
|
+
input.scriptPath,
|
|
380
|
+
"--input-json",
|
|
381
|
+
input.inputJsonPath,
|
|
382
|
+
"--output-json",
|
|
383
|
+
input.outputJsonPath,
|
|
384
|
+
],
|
|
385
|
+
...(input.env ? { env: input.env } : {}),
|
|
386
|
+
capture: true,
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
if (isMissingPythonExecutableError(error)) {
|
|
391
|
+
throw new Error("python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.");
|
|
392
|
+
}
|
|
393
|
+
throw error;
|
|
394
|
+
}
|
|
395
|
+
if (result.success) {
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
const stderr = result.stderr?.trim();
|
|
399
|
+
const stdout = result.stdout?.trim();
|
|
400
|
+
if (result.code === 1 && !stderr && !stdout) {
|
|
401
|
+
throw new Error("python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.");
|
|
402
|
+
}
|
|
403
|
+
throw new Error(stderr || stdout || "parser exited unsuccessfully");
|
|
404
|
+
}
|
|
359
405
|
export async function runKnowledgeParsers(input) {
|
|
360
406
|
if (!input.files.length) {
|
|
361
407
|
return [];
|
|
@@ -376,25 +422,12 @@ export async function runKnowledgeParsers(input) {
|
|
|
376
422
|
output_dir: input.outputDir,
|
|
377
423
|
}));
|
|
378
424
|
await dntShim.Deno.writeTextFile(scriptPath, knowledgeIngestPythonSource);
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
stderr: "piped",
|
|
386
|
-
}).output();
|
|
387
|
-
}
|
|
388
|
-
catch (error) {
|
|
389
|
-
if (error instanceof dntShim.Deno.errors.NotFound) {
|
|
390
|
-
throw new Error("python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.");
|
|
391
|
-
}
|
|
392
|
-
throw error;
|
|
393
|
-
}
|
|
394
|
-
if (result.code !== 0) {
|
|
395
|
-
const stderr = new TextDecoder().decode(result.stderr).trim();
|
|
396
|
-
throw new Error(stderr || "parser exited unsuccessfully");
|
|
397
|
-
}
|
|
425
|
+
await executeKnowledgeParserCommand({
|
|
426
|
+
scriptPath,
|
|
427
|
+
inputJsonPath,
|
|
428
|
+
outputJsonPath,
|
|
429
|
+
env: input.env,
|
|
430
|
+
});
|
|
398
431
|
const raw = await dntShim.Deno.readTextFile(outputJsonPath);
|
|
399
432
|
const parsed = JSON.parse(raw);
|
|
400
433
|
return Array.isArray(parsed) ? parsed : [parsed];
|
package/esm/deno.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.201";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
type SafeParseResult<T> = { success: true; data: T } | { success: false; error: z.ZodError };
|
|
4
4
|
import { createFileSystem, getEnv } from "../../../src/platform/index.js";
|
|
5
5
|
import { basename, extname, join, normalize, relative } from "../../../src/platform/compat/path/index.js";
|
|
6
|
+
import { type CommandResult, runCommand } from "../../../src/platform/compat/process.js";
|
|
6
7
|
import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
|
|
7
8
|
import { cliLogger } from "../../utils/index.js";
|
|
8
9
|
import { type ApiClient, createApiClient, resolveConfigWithAuth } from "../../shared/config.js";
|
|
@@ -485,6 +486,76 @@ export async function runKnowledgeParser(input: {
|
|
|
485
486
|
return result;
|
|
486
487
|
}
|
|
487
488
|
|
|
489
|
+
function isMissingPythonExecutableError(error: unknown): boolean {
|
|
490
|
+
if (!(error instanceof Error)) {
|
|
491
|
+
return false;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
const errorWithCode = error as Error & { code?: unknown };
|
|
495
|
+
if (errorWithCode.code === "ENOENT") {
|
|
496
|
+
return true;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
return error.name === "NotFound" ||
|
|
500
|
+
/\bENOENT\b/i.test(error.message) ||
|
|
501
|
+
/not found/i.test(error.message) ||
|
|
502
|
+
/no such file or directory/i.test(error.message);
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
export async function executeKnowledgeParserCommand(input: {
|
|
506
|
+
scriptPath: string;
|
|
507
|
+
inputJsonPath: string;
|
|
508
|
+
outputJsonPath: string;
|
|
509
|
+
env?: Record<string, string>;
|
|
510
|
+
}, deps: {
|
|
511
|
+
runCommandFn?: (
|
|
512
|
+
cmd: string,
|
|
513
|
+
options: {
|
|
514
|
+
args: string[];
|
|
515
|
+
env?: Record<string, string>;
|
|
516
|
+
capture: true;
|
|
517
|
+
},
|
|
518
|
+
) => Promise<CommandResult>;
|
|
519
|
+
} = {}): Promise<void> {
|
|
520
|
+
const runCommandFn = deps.runCommandFn ?? runCommand;
|
|
521
|
+
let result: CommandResult;
|
|
522
|
+
try {
|
|
523
|
+
result = await runCommandFn("python3", {
|
|
524
|
+
args: [
|
|
525
|
+
input.scriptPath,
|
|
526
|
+
"--input-json",
|
|
527
|
+
input.inputJsonPath,
|
|
528
|
+
"--output-json",
|
|
529
|
+
input.outputJsonPath,
|
|
530
|
+
],
|
|
531
|
+
...(input.env ? { env: input.env } : {}),
|
|
532
|
+
capture: true,
|
|
533
|
+
});
|
|
534
|
+
} catch (error) {
|
|
535
|
+
if (isMissingPythonExecutableError(error)) {
|
|
536
|
+
throw new Error(
|
|
537
|
+
"python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.",
|
|
538
|
+
);
|
|
539
|
+
}
|
|
540
|
+
throw error;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
if (result.success) {
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
const stderr = result.stderr?.trim();
|
|
548
|
+
const stdout = result.stdout?.trim();
|
|
549
|
+
|
|
550
|
+
if (result.code === 1 && !stderr && !stdout) {
|
|
551
|
+
throw new Error(
|
|
552
|
+
"python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.",
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
throw new Error(stderr || stdout || "parser exited unsuccessfully");
|
|
557
|
+
}
|
|
558
|
+
|
|
488
559
|
export async function runKnowledgeParsers(input: {
|
|
489
560
|
files: KnowledgeParserInput[];
|
|
490
561
|
outputDir: string;
|
|
@@ -515,27 +586,12 @@ export async function runKnowledgeParsers(input: {
|
|
|
515
586
|
);
|
|
516
587
|
await dntShim.Deno.writeTextFile(scriptPath, knowledgeIngestPythonSource);
|
|
517
588
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
stderr: "piped",
|
|
525
|
-
}).output();
|
|
526
|
-
} catch (error) {
|
|
527
|
-
if (error instanceof dntShim.Deno.errors.NotFound) {
|
|
528
|
-
throw new Error(
|
|
529
|
-
"python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.",
|
|
530
|
-
);
|
|
531
|
-
}
|
|
532
|
-
throw error;
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
if (result.code !== 0) {
|
|
536
|
-
const stderr = new TextDecoder().decode(result.stderr).trim();
|
|
537
|
-
throw new Error(stderr || "parser exited unsuccessfully");
|
|
538
|
-
}
|
|
589
|
+
await executeKnowledgeParserCommand({
|
|
590
|
+
scriptPath,
|
|
591
|
+
inputJsonPath,
|
|
592
|
+
outputJsonPath,
|
|
593
|
+
env: input.env,
|
|
594
|
+
});
|
|
539
595
|
|
|
540
596
|
const raw = await dntShim.Deno.readTextFile(outputJsonPath);
|
|
541
597
|
const parsed = JSON.parse(raw) as KnowledgeParserResult | KnowledgeParserResult[];
|
package/src/deno.js
CHANGED