veryfront 0.1.623 → 0.1.624

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 (147) hide show
  1. package/README.md +3 -3
  2. package/esm/cli/commands/knowledge/command-help.d.ts.map +1 -1
  3. package/esm/cli/commands/knowledge/command-help.js +2 -3
  4. package/esm/cli/commands/knowledge/command.d.ts +2 -47
  5. package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
  6. package/esm/cli/commands/knowledge/command.js +22 -124
  7. package/esm/cli/commands/knowledge/parser.d.ts +40 -0
  8. package/esm/cli/commands/knowledge/parser.d.ts.map +1 -0
  9. package/esm/cli/commands/knowledge/parser.js +353 -0
  10. package/esm/cli/commands/knowledge/result.d.ts +3 -3
  11. package/esm/cli/commands/knowledge/result.js +1 -1
  12. package/esm/cli/commands/styles/command.js +2 -2
  13. package/esm/cli/commands/task/command.js +4 -4
  14. package/esm/cli/commands/worker/command-help.js +4 -4
  15. package/esm/cli/commands/worker/command.d.ts +1 -1
  16. package/esm/cli/commands/worker/command.js +9 -9
  17. package/esm/cli/commands/workflow/command.js +4 -4
  18. package/esm/cli/utils/sanitize-run-output.d.ts +2 -0
  19. package/esm/cli/utils/sanitize-run-output.d.ts.map +1 -0
  20. package/esm/cli/utils/{sanitize-job-output.js → sanitize-run-output.js} +1 -1
  21. package/esm/cli/utils/write-run-result.d.ts +2 -0
  22. package/esm/cli/utils/write-run-result.d.ts.map +1 -0
  23. package/esm/cli/utils/write-run-result.js +16 -0
  24. package/esm/deno.d.ts +4 -3
  25. package/esm/deno.js +6 -5
  26. package/esm/src/build/production-build/static-generation.d.ts.map +1 -1
  27. package/esm/src/build/production-build/static-generation.js +85 -0
  28. package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
  29. package/esm/src/html/hydration-script-builder/templates/renderer.js +37 -4
  30. package/esm/src/integrations/_data.js +1 -1
  31. package/esm/src/integrations/schema.d.ts +8 -0
  32. package/esm/src/integrations/schema.d.ts.map +1 -1
  33. package/esm/src/integrations/schema.js +3 -0
  34. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  35. package/esm/src/internal-agents/run-stream.js +15 -1
  36. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +2 -2
  37. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
  38. package/esm/src/platform/adapters/veryfront-api-client/operations.js +2 -2
  39. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +1 -1
  40. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +1 -1
  41. package/esm/src/react/components/chat/chat/components/attachment-pill.js +1 -1
  42. package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts +1 -0
  43. package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -1
  44. package/esm/src/react/components/chat/chat/composition/chat-composer.js +27 -11
  45. package/esm/src/react/components/chat/chat/index.d.ts +1 -0
  46. package/esm/src/react/components/chat/chat/index.d.ts.map +1 -1
  47. package/esm/src/react/components/chat/chat/index.js +2 -2
  48. package/esm/src/react/components/chat/theme.js +1 -1
  49. package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
  50. package/esm/src/rendering/layouts/utils/applicator.js +1 -1
  51. package/esm/src/rendering/layouts/utils/component-loader.d.ts +8 -0
  52. package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
  53. package/esm/src/rendering/layouts/utils/component-loader.js +19 -0
  54. package/esm/src/rendering/rsc/client-boot.ts +23 -6
  55. package/esm/src/runs/index.d.ts +27 -0
  56. package/esm/src/runs/index.d.ts.map +1 -0
  57. package/esm/src/runs/index.js +26 -0
  58. package/esm/src/runs/runs-client.d.ts +95 -0
  59. package/esm/src/runs/runs-client.d.ts.map +1 -0
  60. package/esm/src/runs/runs-client.js +181 -0
  61. package/esm/src/{jobs → runs}/runtime-env.d.ts.map +1 -1
  62. package/esm/src/{jobs → runs}/runtime-env.js +2 -2
  63. package/esm/src/runs/schemas.d.ts +236 -0
  64. package/esm/src/runs/schemas.d.ts.map +1 -0
  65. package/esm/src/runs/schemas.js +61 -0
  66. package/esm/src/security/deno-permissions.d.ts +2 -2
  67. package/esm/src/security/deno-permissions.js +2 -2
  68. package/esm/src/security/index.d.ts +1 -1
  69. package/esm/src/security/index.js +1 -1
  70. package/esm/src/server/build-app-route-renderer.d.ts +2 -0
  71. package/esm/src/server/build-app-route-renderer.d.ts.map +1 -1
  72. package/esm/src/server/build-app-route-renderer.js +51 -28
  73. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  74. package/esm/src/server/handlers/dev/framework-candidates.generated.js +54 -8
  75. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
  76. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
  77. package/esm/src/server/services/static/static-file.service.d.ts.map +1 -1
  78. package/esm/src/server/services/static/static-file.service.js +9 -4
  79. package/esm/src/skill/index.d.ts +1 -1
  80. package/esm/src/skill/index.d.ts.map +1 -1
  81. package/esm/src/skill/index.js +1 -1
  82. package/esm/src/skill/prompt-augmentation.js +2 -2
  83. package/esm/src/skill/tools.d.ts +1 -1
  84. package/esm/src/skill/tools.d.ts.map +1 -1
  85. package/esm/src/skill/tools.js +11 -9
  86. package/esm/src/skill/types.d.ts +1 -0
  87. package/esm/src/skill/types.d.ts.map +1 -1
  88. package/esm/src/skill/types.js +1 -0
  89. package/esm/src/task/runner.js +1 -1
  90. package/esm/src/task/types.d.ts +4 -4
  91. package/esm/src/task/types.d.ts.map +1 -1
  92. package/esm/src/task/types.js +1 -1
  93. package/esm/src/utils/index.d.ts +1 -1
  94. package/esm/src/utils/index.js +1 -1
  95. package/esm/src/utils/logger/index.d.ts +1 -1
  96. package/esm/src/utils/logger/index.js +1 -1
  97. package/esm/src/utils/logger/logger.d.ts +6 -6
  98. package/esm/src/utils/logger/logger.d.ts.map +1 -1
  99. package/esm/src/utils/logger/logger.js +10 -10
  100. package/esm/src/utils/version-constant.d.ts +1 -1
  101. package/esm/src/utils/version-constant.js +1 -1
  102. package/esm/src/workflow/executor/workflow-executor.js +3 -3
  103. package/esm/src/workflow/worker/{dynamic-job-entrypoint.d.ts → dynamic-run-entrypoint.d.ts} +2 -2
  104. package/esm/src/workflow/worker/{dynamic-job-entrypoint.d.ts.map → dynamic-run-entrypoint.d.ts.map} +1 -1
  105. package/esm/src/workflow/worker/{dynamic-job-entrypoint.js → dynamic-run-entrypoint.js} +1 -1
  106. package/esm/src/workflow/worker/executors/index.d.ts +8 -8
  107. package/esm/src/workflow/worker/executors/index.d.ts.map +1 -1
  108. package/esm/src/workflow/worker/executors/index.js +5 -5
  109. package/esm/src/workflow/worker/executors/k8s.d.ts +34 -34
  110. package/esm/src/workflow/worker/executors/k8s.d.ts.map +1 -1
  111. package/esm/src/workflow/worker/executors/k8s.js +59 -58
  112. package/esm/src/workflow/worker/executors/process.d.ts +15 -15
  113. package/esm/src/workflow/worker/executors/process.d.ts.map +1 -1
  114. package/esm/src/workflow/worker/executors/process.js +86 -86
  115. package/esm/src/workflow/worker/executors/types.d.ts +38 -39
  116. package/esm/src/workflow/worker/executors/types.d.ts.map +1 -1
  117. package/esm/src/workflow/worker/executors/types.js +9 -10
  118. package/esm/src/workflow/worker/index.d.ts +7 -7
  119. package/esm/src/workflow/worker/index.d.ts.map +1 -1
  120. package/esm/src/workflow/worker/index.js +9 -9
  121. package/esm/src/workflow/worker/{job-entrypoint.d.ts → run-entrypoint.d.ts} +3 -3
  122. package/esm/src/workflow/worker/{job-entrypoint.d.ts.map → run-entrypoint.d.ts.map} +1 -1
  123. package/esm/src/workflow/worker/{job-entrypoint.js → run-entrypoint.js} +2 -2
  124. package/esm/src/workflow/worker/{job-manager.d.ts → run-manager.d.ts} +32 -32
  125. package/esm/src/workflow/worker/run-manager.d.ts.map +1 -0
  126. package/esm/src/workflow/worker/{job-manager.js → run-manager.js} +63 -63
  127. package/esm/src/workflow/worker/shared.js +1 -1
  128. package/package.json +4 -4
  129. package/esm/cli/commands/knowledge/parser-source.d.ts +0 -2
  130. package/esm/cli/commands/knowledge/parser-source.d.ts.map +0 -1
  131. package/esm/cli/commands/knowledge/parser-source.js +0 -641
  132. package/esm/cli/utils/sanitize-job-output.d.ts +0 -2
  133. package/esm/cli/utils/sanitize-job-output.d.ts.map +0 -1
  134. package/esm/cli/utils/write-job-result.d.ts +0 -2
  135. package/esm/cli/utils/write-job-result.d.ts.map +0 -1
  136. package/esm/cli/utils/write-job-result.js +0 -16
  137. package/esm/src/jobs/index.d.ts +0 -25
  138. package/esm/src/jobs/index.d.ts.map +0 -1
  139. package/esm/src/jobs/index.js +0 -24
  140. package/esm/src/jobs/jobs-client.d.ts +0 -182
  141. package/esm/src/jobs/jobs-client.d.ts.map +0 -1
  142. package/esm/src/jobs/jobs-client.js +0 -255
  143. package/esm/src/jobs/schemas.d.ts +0 -1146
  144. package/esm/src/jobs/schemas.d.ts.map +0 -1
  145. package/esm/src/jobs/schemas.js +0 -294
  146. package/esm/src/workflow/worker/job-manager.d.ts.map +0 -1
  147. /package/esm/src/{jobs → runs}/runtime-env.d.ts +0 -0
package/README.md CHANGED
@@ -20,9 +20,9 @@ Purpose-built for TypeScript and React, Veryfront gives you everything you need
20
20
 
21
21
  - [**Skills**](https://veryfront.com/docs/code/guides/skills) - Project-level agent capabilities defined as `SKILL.md` files following the agentskills.io specification. Skills provide prompt augmentation, tool allowlists, and script execution.
22
22
 
23
- - [**Jobs & Cron Jobs**](https://veryfront.com/docs/code/guides/jobs) - Run durable project-scoped background work now or on a schedule through the Veryfront platform.
23
+ - [**Runs**](https://veryfront.com/docs/code/guides/runs) - Run durable project-scoped task and workflow definitions through the Veryfront platform.
24
24
 
25
- - [**Tasks**](https://veryfront.com/docs/code/guides/tasks) - File-based background task definitions discovered automatically and executable via the jobs system.
25
+ - [**Tasks**](https://veryfront.com/docs/code/guides/tasks) - File-based background task definitions discovered automatically and executable as task runs.
26
26
 
27
27
  - [**Multi-Agent**](https://veryfront.com/docs/code/guides/multi-agent) - Compose agents that delegate to each other as tools for complex, coordinated tasks. AG-UI control-plane for hosted agent orchestration.
28
28
 
@@ -83,7 +83,7 @@ veryfront/
83
83
  │ ├── chat/ # Chat UI components and streaming
84
84
  │ ├── discovery/ # Auto-discovery of tools, agents, workflows
85
85
  │ ├── sandbox/ # Ephemeral compute environments
86
- │ ├── jobs/ # Background jobs client
86
+ │ ├── runs/ # Durable runs client
87
87
  │ ├── task/ # Task definitions and runner
88
88
  │ ├── channels/ # Control-plane agent routing
89
89
  │ ├── integrations/ # Third-party connector metadata
@@ -1 +1 @@
1
- {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,WAyC3B,CAAC"}
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,WAwC3B,CAAC"}
@@ -35,8 +35,7 @@ export const knowledgeHelp = {
35
35
  "Primary subcommand: ingest",
36
36
  "`uploads/...` means a remote project upload; use `./uploads/...` or `/workspace/uploads/...` to force a local file",
37
37
  "`ingest` orchestrates upload resolution, parsing, and project file writes",
38
- "Requires python3; install `docling` locally to match the sandbox parsing path for PDF, Office, and HTML sources",
39
- "Supported PDF, Office, and HTML sources are parsed through `docling` when it is available",
40
- "The Veryfront sandbox image includes `docling`, and knowledge ingest falls back to the built-in parser when `docling` is unavailable or extraction fails",
38
+ "Supported PDF, Office, and HTML sources are parsed through the built-in Kreuzberg document extension",
39
+ "Plain text, Markdown, JSON, CSV, TSV, and common code files are converted directly by the CLI",
41
40
  ],
42
41
  };
@@ -8,32 +8,12 @@ type SafeParseResult<T> = {
8
8
  issues: unknown[];
9
9
  };
10
10
  };
11
- import { type CommandResult } from "../../../src/platform/index.js";
12
11
  import { type ApiClient } from "../../shared/config.js";
13
12
  import type { ParsedArgs } from "../../shared/types.js";
14
13
  import * as commandHelpers from "./command-helpers.js";
15
14
  import { type Logger } from "../../../src/utils/index.js";
15
+ import { runKnowledgeParser } from "./parser.js";
16
16
  import { type KnowledgeIngestFailedFileResult, type KnowledgeIngestFileResult, type KnowledgeIngestSkippedFileResult } from "./result.js";
17
- export interface KnowledgeParserResult {
18
- success: true;
19
- source_path: string;
20
- source_filename: string;
21
- source_type: string;
22
- slug: string;
23
- sandbox_output_path: string;
24
- suggested_project_path: string;
25
- description: string;
26
- title: string;
27
- summary: string;
28
- stats: Record<string, unknown>;
29
- warnings: string[];
30
- }
31
- export interface KnowledgeParserInput {
32
- filePath: string;
33
- description?: string;
34
- slug?: string;
35
- sourceReference?: string;
36
- }
37
17
  type KnowledgeSource = {
38
18
  kind: "local";
39
19
  input: string;
@@ -79,31 +59,7 @@ export declare const buildSuggestedSlug: typeof commandHelpers.buildSuggestedSlu
79
59
  export declare const ensureUniqueSlugs: typeof commandHelpers.ensureUniqueSlugs;
80
60
  export declare const deriveKnowledgeRemotePath: typeof commandHelpers.deriveKnowledgeRemotePath;
81
61
  export declare const createKnowledgeIngestResult: typeof commandHelpers.createKnowledgeIngestResult;
82
- export declare function runKnowledgeParser(input: {
83
- filePath: string;
84
- outputDir: string;
85
- description?: string;
86
- slug?: string;
87
- sourceReference?: string;
88
- env?: Record<string, string>;
89
- }): Promise<KnowledgeParserResult>;
90
- export declare function executeKnowledgeParserCommand(input: {
91
- scriptPath: string;
92
- inputJsonPath: string;
93
- outputJsonPath: string;
94
- env?: Record<string, string>;
95
- }, deps?: {
96
- runCommandFn?: (cmd: string, options: {
97
- args: string[];
98
- env?: Record<string, string>;
99
- capture: true;
100
- }) => Promise<CommandResult>;
101
- }): Promise<void>;
102
- export declare function runKnowledgeParsers(input: {
103
- files: KnowledgeParserInput[];
104
- outputDir: string;
105
- env?: Record<string, string>;
106
- }): Promise<KnowledgeParserResult[]>;
62
+ export { type KnowledgeParserInput, type KnowledgeParserResult, runKnowledgeParser, runKnowledgeParsers, } from "./parser.js";
107
63
  export declare function collectKnowledgeSources(options: Pick<KnowledgeIngestOptions, "sources" | "path" | "all" | "recursive">, deps: {
108
64
  client: ApiClient;
109
65
  projectSlug: string;
@@ -123,5 +79,4 @@ export declare function ingestResolvedSources(sources: KnowledgeSource[], option
123
79
  failed: KnowledgeIngestFailedFileResult[];
124
80
  }>;
125
81
  export declare function knowledgeCommand(args: ParsedArgs): Promise<void>;
126
- export {};
127
82
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/command.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as dntShim from "../../../_dnt.shims.js";
2
2
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
3
- import { createFileSystem, getEnv, runCommand } from "../../../src/platform/index.js";
3
+ import { createFileSystem, getEnv } from "../../../src/platform/index.js";
4
4
  import { basename } from "../../../src/platform/compat/path/index.js";
5
5
  import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
6
6
  import { cliLogger } from "../../utils/index.js";
@@ -8,13 +8,13 @@ import { createApiClient, resolveConfigWithAuth } from "../../shared/config.js";
8
8
  import { getStringArg } from "../../shared/parsed-args.js";
9
9
  import { downloadUploadToFile, listAllUploads } from "../uploads/command.js";
10
10
  import { putRemoteFileFromLocal } from "../files/command.js";
11
- import { knowledgeIngestPythonSource } from "./parser-source.js";
12
11
  import * as commandHelpers from "./command-helpers.js";
13
- import { createJobUserLogger, serverLogger } from "../../../src/utils/index.js";
14
- import { writeJobResultIfConfigured } from "../../utils/write-job-result.js";
12
+ import { createRunUserLogger, serverLogger } from "../../../src/utils/index.js";
13
+ import { writeRunResultIfConfigured } from "../../utils/write-run-result.js";
15
14
  import { classifyKnowledgeSourcePath } from "./source-policy.js";
16
- import { buildKnowledgeIngestJobResult, } from "./result.js";
17
- const knowledgeJobLogger = serverLogger.component("knowledge-ingest");
15
+ import { runKnowledgeParser } from "./parser.js";
16
+ import { buildKnowledgeIngestRunResult, } from "./result.js";
17
+ const knowledgeRunLogger = serverLogger.component("knowledge-ingest");
18
18
  const getKnowledgeIngestArgsSchema = defineSchema((v) => v.object({
19
19
  projectSlug: v.string().optional(),
20
20
  projectDir: v.string().optional(),
@@ -71,15 +71,15 @@ function printJson(value) {
71
71
  }
72
72
  function createKnowledgeIngestEventLogger() {
73
73
  const projectId = getEnv("TENANT_PROJECT_ID");
74
- const jobId = getEnv("JOB_ID");
75
- if (!projectId || !jobId) {
74
+ const runExecutionId = getEnv("RUN_EXECUTION_ID");
75
+ if (!projectId || !runExecutionId) {
76
76
  return null;
77
77
  }
78
- return createJobUserLogger(knowledgeJobLogger, {
78
+ return createRunUserLogger(knowledgeRunLogger, {
79
79
  projectId,
80
- jobId,
81
- batchId: getEnv("JOB_BATCH_ID") ?? undefined,
82
- jobTarget: getEnv("JOB_TARGET") ?? undefined,
80
+ runExecutionId: runExecutionId,
81
+ batchId: getEnv("RUN_BATCH_ID") ?? undefined,
82
+ runTarget: getEnv("RUN_TARGET") ?? undefined,
83
83
  task: "knowledge-ingest",
84
84
  });
85
85
  }
@@ -139,6 +139,7 @@ export const buildSuggestedSlug = commandHelpers.buildSuggestedSlug;
139
139
  export const ensureUniqueSlugs = commandHelpers.ensureUniqueSlugs;
140
140
  export const deriveKnowledgeRemotePath = commandHelpers.deriveKnowledgeRemotePath;
141
141
  export const createKnowledgeIngestResult = commandHelpers.createKnowledgeIngestResult;
142
+ export { runKnowledgeParser, runKnowledgeParsers, } from "./parser.js";
142
143
  function resolveExplicitUploadPath(inputPath) {
143
144
  return commandHelpers.resolveExplicitUploadPath(inputPath);
144
145
  }
@@ -171,109 +172,6 @@ function classifyListedUploadsForKnowledge(uploads) {
171
172
  function buildSourceReference(source) {
172
173
  return commandHelpers.buildSourceReference(source);
173
174
  }
174
- export async function runKnowledgeParser(input) {
175
- const [result] = await runKnowledgeParsers({
176
- files: [{
177
- filePath: input.filePath,
178
- description: input.description,
179
- slug: input.slug,
180
- sourceReference: input.sourceReference,
181
- }],
182
- outputDir: input.outputDir,
183
- env: input.env,
184
- });
185
- if (!result) {
186
- throw new Error("knowledge ingest parser returned no results");
187
- }
188
- return result;
189
- }
190
- function isMissingPythonExecutableError(error) {
191
- if (!(error instanceof Error)) {
192
- return false;
193
- }
194
- const errorWithCode = error;
195
- if (errorWithCode.code === "ENOENT") {
196
- return true;
197
- }
198
- return error.name === "NotFound" ||
199
- /\bENOENT\b/i.test(error.message) ||
200
- /not found/i.test(error.message) ||
201
- /no such file or directory/i.test(error.message);
202
- }
203
- export async function executeKnowledgeParserCommand(input, deps = {}) {
204
- const runCommandFn = deps.runCommandFn ?? runCommand;
205
- let result;
206
- try {
207
- result = await runCommandFn("python3", {
208
- args: [
209
- input.scriptPath,
210
- "--input-json",
211
- input.inputJsonPath,
212
- "--output-json",
213
- input.outputJsonPath,
214
- ],
215
- ...(input.env ? { env: input.env } : {}),
216
- capture: true,
217
- });
218
- }
219
- catch (error) {
220
- if (isMissingPythonExecutableError(error)) {
221
- throw new Error("python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.");
222
- }
223
- throw error;
224
- }
225
- if (result.success) {
226
- return;
227
- }
228
- const stderr = result.stderr?.trim();
229
- const stdout = result.stdout?.trim();
230
- if (result.code === 1 && !stderr && !stdout) {
231
- throw new Error("python3 is required. Install python3 and the supported parser packages, or run the command inside the Veryfront sandbox.");
232
- }
233
- throw new Error(stderr || stdout || "parser exited unsuccessfully");
234
- }
235
- export async function runKnowledgeParsers(input) {
236
- if (!input.files.length) {
237
- return [];
238
- }
239
- const tempDir = await dntShim.Deno.makeTempDir({ prefix: "veryfront-knowledge-parser-" });
240
- const inputJsonPath = `${tempDir}/input.json`;
241
- const outputJsonPath = `${tempDir}/output.json`;
242
- const scriptPath = `${tempDir}/ingest_document_to_knowledge.py`;
243
- try {
244
- try {
245
- await dntShim.Deno.writeTextFile(inputJsonPath, JSON.stringify({
246
- files: input.files.map((file) => ({
247
- file_path: file.filePath,
248
- description: file.description,
249
- slug: file.slug,
250
- source_reference: file.sourceReference,
251
- })),
252
- output_dir: input.outputDir,
253
- }));
254
- await dntShim.Deno.writeTextFile(scriptPath, knowledgeIngestPythonSource);
255
- await executeKnowledgeParserCommand({
256
- scriptPath,
257
- inputJsonPath,
258
- outputJsonPath,
259
- env: input.env,
260
- });
261
- const raw = await dntShim.Deno.readTextFile(outputJsonPath);
262
- const parsed = JSON.parse(raw);
263
- return Array.isArray(parsed) ? parsed : [parsed];
264
- }
265
- catch (error) {
266
- if (error instanceof Error && error.message.startsWith("knowledge ingest parser failed")) {
267
- throw error;
268
- }
269
- const message = error instanceof Error ? error.message : String(error);
270
- throw new Error(`knowledge ingest parser failed: ${message}`);
271
- }
272
- }
273
- finally {
274
- await dntShim.Deno.remove(tempDir, { recursive: true }).catch(() => undefined);
275
- }
276
- }
277
175
  export async function collectKnowledgeSources(options, deps) {
278
176
  const fs = createFileSystem();
279
177
  if (options.sources.length > 0) {
@@ -513,7 +411,7 @@ export async function knowledgeCommand(args) {
513
411
  eventLogger,
514
412
  uploadKnowledgeFile: (remotePath, localPath) => putRemoteFileFromLocal(client, config.projectSlug, remotePath, localPath),
515
413
  });
516
- const jobResult = buildKnowledgeIngestJobResult({
414
+ const runResult = buildKnowledgeIngestRunResult({
517
415
  requestedCount,
518
416
  sourceMode,
519
417
  knowledgePath: options.knowledgePath,
@@ -525,28 +423,28 @@ export async function knowledgeCommand(args) {
525
423
  phase: "completed",
526
424
  progress_current: requestedCount,
527
425
  progress_total: requestedCount,
528
- ingested_count: jobResult.summary.ingested_count,
529
- skipped_count: jobResult.summary.skipped_count,
530
- failed_count: jobResult.summary.failed_count,
426
+ ingested_count: runResult.summary.ingested_count,
427
+ skipped_count: runResult.summary.skipped_count,
428
+ failed_count: runResult.summary.failed_count,
531
429
  });
532
- await writeJobResultIfConfigured(jobResult);
430
+ await writeRunResultIfConfigured(runResult);
533
431
  if (options.json) {
534
- printJson(jobResult);
432
+ printJson(runResult);
535
433
  return;
536
434
  }
537
- for (const result of jobResult.ingested) {
435
+ for (const result of runResult.ingested) {
538
436
  if (!options.quiet) {
539
437
  cliLogger.info(`Ingested ${result.source} -> ${result.remotePath}`);
540
438
  cliLogger.info(` ${result.summary}`);
541
439
  }
542
440
  }
543
- for (const skipped of jobResult.skipped) {
441
+ for (const skipped of runResult.skipped) {
544
442
  if (!options.quiet) {
545
443
  cliLogger.warn(`Skipped ${skipped.source}`);
546
444
  cliLogger.warn(` ${skipped.message}`);
547
445
  }
548
446
  }
549
- for (const failure of jobResult.failed) {
447
+ for (const failure of runResult.failed) {
550
448
  if (!options.quiet) {
551
449
  cliLogger.error(`Failed ${failure.source}`);
552
450
  cliLogger.error(` ${failure.message}`);
@@ -0,0 +1,40 @@
1
+ export interface KnowledgeParserResult {
2
+ success: true;
3
+ source_path: string;
4
+ source_filename: string;
5
+ source_type: string;
6
+ slug: string;
7
+ sandbox_output_path: string;
8
+ suggested_project_path: string;
9
+ description: string;
10
+ title: string;
11
+ summary: string;
12
+ stats: Record<string, unknown>;
13
+ warnings: string[];
14
+ }
15
+ export interface KnowledgeParserInput {
16
+ filePath: string;
17
+ description?: string;
18
+ slug?: string;
19
+ sourceReference?: string;
20
+ }
21
+ export type ExtractDocumentText = (input: {
22
+ filePath: string;
23
+ mimeType: string;
24
+ }) => Promise<string>;
25
+ export interface RunKnowledgeParsersDeps {
26
+ extractDocumentText?: ExtractDocumentText;
27
+ }
28
+ export declare function slugifyKnowledgeValue(value: string): string;
29
+ export declare function runKnowledgeParser(input: {
30
+ filePath: string;
31
+ outputDir: string;
32
+ description?: string;
33
+ slug?: string;
34
+ sourceReference?: string;
35
+ }, deps?: RunKnowledgeParsersDeps): Promise<KnowledgeParserResult>;
36
+ export declare function runKnowledgeParsers(input: {
37
+ files: KnowledgeParserInput[];
38
+ outputDir: string;
39
+ }, deps?: RunKnowledgeParsersDeps): Promise<KnowledgeParserResult[]>;
40
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/knowledge/parser.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAqFD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAyPD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,EAAE,IAAI,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgBrE;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,EAAE,IAAI,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAoEvE"}