veryfront 0.1.933 → 0.1.934

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/deno.d.ts CHANGED
@@ -53,6 +53,7 @@ declare namespace _default {
53
53
  "./integrations": string;
54
54
  "./sandbox": string;
55
55
  "./embedding": string;
56
+ "./knowledge": string;
56
57
  "./extensions": string;
57
58
  "./extensions/llm": string;
58
59
  "./extensions/auth": string;
@@ -94,6 +95,7 @@ declare namespace _default {
94
95
  "veryfront/components/chat": string;
95
96
  "veryfront/sandbox": string;
96
97
  "veryfront/embedding": string;
98
+ "veryfront/knowledge": string;
97
99
  "veryfront/runs": string;
98
100
  "veryfront/eval": string;
99
101
  "veryfront/metrics": string;
@@ -179,6 +181,7 @@ declare namespace _default {
179
181
  "#veryfront/discovery": string;
180
182
  "#veryfront/data": string;
181
183
  "#veryfront/errors": string;
184
+ "#veryfront/knowledge": string;
182
185
  "#veryfront/eval": string;
183
186
  "#veryfront/eval/agent-service": string;
184
187
  "#veryfront/metrics": string;
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.933",
3
+ "version": "0.1.934",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -109,6 +109,7 @@ export default {
109
109
  "./integrations": "./src/integrations/index.ts",
110
110
  "./sandbox": "./src/sandbox/index.ts",
111
111
  "./embedding": "./src/embedding/index.ts",
112
+ "./knowledge": "./src/knowledge/index.ts",
112
113
  "./extensions": "./src/extensions/index.ts",
113
114
  "./extensions/llm": "./src/extensions/llm/index.ts",
114
115
  "./extensions/auth": "./src/extensions/auth/index.ts",
@@ -150,6 +151,7 @@ export default {
150
151
  "veryfront/components/chat": "./src/react/components/chat/index.ts",
151
152
  "veryfront/sandbox": "./src/sandbox/index.ts",
152
153
  "veryfront/embedding": "./src/embedding/index.ts",
154
+ "veryfront/knowledge": "./src/knowledge/index.ts",
153
155
  "veryfront/runs": "./src/runs/index.ts",
154
156
  "veryfront/eval": "./src/eval/index.ts",
155
157
  "veryfront/metrics": "./src/metrics/index.ts",
@@ -235,6 +237,7 @@ export default {
235
237
  "#veryfront/discovery": "./src/discovery/index.ts",
236
238
  "#veryfront/data": "./src/data/index.ts",
237
239
  "#veryfront/errors": "./src/errors/index.ts",
240
+ "#veryfront/knowledge": "./src/knowledge/index.ts",
238
241
  "#veryfront/eval": "./src/eval/index.ts",
239
242
  "#veryfront/eval/agent-service": "./src/eval/agent-service.ts",
240
243
  "#veryfront/metrics": "./src/metrics/index.ts",
@@ -5,7 +5,7 @@
5
5
  * (Deno, Node.js) and handles veryfront package resolution.
6
6
  */
7
7
  import { createFileSystem } from "../platform/compat/fs.js";
8
- export declare const DISCOVERY_GLOBAL_VERYFRONT_MODULES: readonly ["veryfront/agent", "veryfront/tool", "veryfront/platform", "veryfront/prompt", "veryfront/resource", "veryfront/embedding", "veryfront/workflow", "veryfront/work", "veryfront/eval", "veryfront/metrics", "veryfront/schemas"];
8
+ export declare const DISCOVERY_GLOBAL_VERYFRONT_MODULES: readonly ["veryfront/agent", "veryfront/tool", "veryfront/platform", "veryfront/prompt", "veryfront/resource", "veryfront/embedding", "veryfront/knowledge", "veryfront/workflow", "veryfront/work", "veryfront/eval", "veryfront/metrics", "veryfront/schemas"];
9
9
  interface DenoRewriteOptions {
10
10
  compiled?: boolean;
11
11
  resolveSpecifier?: (specifier: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,kCAAkC,2OAYrC,CAAC;AAEX,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAkHD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA2BR;AAqFD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA2PjB"}
1
+ {"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,kCAAkC,kQAarC,CAAC;AAEX,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAkHD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA2BR;AAqFD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA2PjB"}
@@ -14,6 +14,7 @@ export const DISCOVERY_GLOBAL_VERYFRONT_MODULES = [
14
14
  "veryfront/prompt",
15
15
  "veryfront/resource",
16
16
  "veryfront/embedding",
17
+ "veryfront/knowledge",
17
18
  "veryfront/workflow",
18
19
  "veryfront/work",
19
20
  "veryfront/eval",
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/transpiler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAyIvD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/transpiler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2IvD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -19,6 +19,7 @@ import * as platformMod from "../platform/index.js";
19
19
  import * as promptMod from "../prompt/index.js";
20
20
  import * as resourceMod from "../resource/index.js";
21
21
  import * as embeddingMod from "../embedding/index.js";
22
+ import * as knowledgeMod from "../knowledge/index.js";
22
23
  import * as workflowMod from "../workflow/index.js";
23
24
  import * as workMod from "../work/index.js";
24
25
  import * as evalMod from "../eval/index.js";
@@ -40,6 +41,7 @@ async function ensureVeryfrontGlobals() {
40
41
  "veryfront/prompt": promptMod,
41
42
  "veryfront/resource": resourceMod,
42
43
  "veryfront/embedding": embeddingMod,
44
+ "veryfront/knowledge": knowledgeMod,
43
45
  "veryfront/workflow": workflowMod,
44
46
  "veryfront/work": workMod,
45
47
  "veryfront/eval": evalMod,
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Project knowledge retrieval helpers.
3
+ *
4
+ * @module knowledge
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { projectKnowledge } from "veryfront/knowledge";
9
+ *
10
+ * const knowledge = projectKnowledge();
11
+ * await knowledge.index();
12
+ * const result = await knowledge.retrieve("SSO login failure");
13
+ * ```
14
+ */
15
+ import "../../_dnt.polyfills.js";
16
+ import type { RagSearchOptions, RagSearchResult, RagStoreBackend } from "../embedding/index.js";
17
+ /** Configuration for project knowledge indexing and retrieval. */
18
+ export interface ProjectKnowledgeConfig {
19
+ /**
20
+ * Project root used to resolve relative local paths.
21
+ *
22
+ * Hosted Veryfront Cloud request contexts ignore this for release-backed
23
+ * content lookup, but local development uses it to find `knowledge/` and
24
+ * `data/knowledge-index.json`.
25
+ */
26
+ projectDir?: string;
27
+ /**
28
+ * Directory containing source-controlled knowledge files.
29
+ *
30
+ * Defaults to `knowledge`.
31
+ */
32
+ contentDir?: string;
33
+ /**
34
+ * Local JSON index path.
35
+ *
36
+ * Defaults to `data/knowledge-index.json`.
37
+ */
38
+ storagePath?: string;
39
+ contentExtensions?: string[];
40
+ model?: string;
41
+ backend?: RagStoreBackend;
42
+ branch?: string;
43
+ topK?: number;
44
+ threshold?: number;
45
+ maxQueryChars?: number;
46
+ }
47
+ /** Per-call options for project knowledge retrieval. */
48
+ export interface ProjectKnowledgeRetrieveOptions extends RagSearchOptions {
49
+ maxQueryChars?: number;
50
+ }
51
+ /** Result returned from project knowledge retrieval. */
52
+ export interface ProjectKnowledgeResult {
53
+ query: string;
54
+ matches: RagSearchResult[];
55
+ context: string;
56
+ }
57
+ /** Helper for indexing and retrieving project knowledge. */
58
+ export interface ProjectKnowledge {
59
+ /**
60
+ * Index configured project knowledge explicitly.
61
+ *
62
+ * Keep this out of the chat request path. Use it during setup, deploy,
63
+ * ingestion, or another controlled lifecycle step.
64
+ */
65
+ index(): Promise<void>;
66
+ retrieve(query: string, options?: ProjectKnowledgeRetrieveOptions): Promise<ProjectKnowledgeResult>;
67
+ search(query: string, options?: RagSearchOptions): Promise<RagSearchResult[]>;
68
+ }
69
+ /** Normalize a knowledge query before retrieval. */
70
+ export declare function normalizeKnowledgeQuery(query: string, maxChars?: number): string;
71
+ /** Format search results into a deterministic prompt context block. */
72
+ export declare function formatKnowledgeContext(results: RagSearchResult[]): string;
73
+ /** Create a project knowledge helper backed by the configured RAG store. */
74
+ export declare function projectKnowledge(config?: ProjectKnowledgeConfig): ProjectKnowledge;
75
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAEf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAQ/B,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wDAAwD;AACxD,MAAM,WAAW,+BAAgC,SAAQ,gBAAgB;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC/E;AAOD,oDAAoD;AACpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAgC,GACzC,MAAM,CAER;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CAIzE;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,sBAA2B,GAAG,gBAAgB,CAmDtF"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Project knowledge retrieval helpers.
3
+ *
4
+ * @module knowledge
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { projectKnowledge } from "veryfront/knowledge";
9
+ *
10
+ * const knowledge = projectKnowledge();
11
+ * await knowledge.index();
12
+ * const result = await knowledge.retrieve("SSO login failure");
13
+ * ```
14
+ */
15
+ import "../../_dnt.polyfills.js";
16
+ import { ragStore } from "../embedding/index.js";
17
+ import { isAbsolute, join } from "../platform/compat/path/index.js";
18
+ const DEFAULT_CONTENT_DIR = "knowledge";
19
+ const DEFAULT_STORAGE_PATH = "data/knowledge-index.json";
20
+ const DEFAULT_TOP_K = 3;
21
+ const DEFAULT_QUERY_MAX_CHARS = 500;
22
+ function resolveProjectPath(projectDir, path) {
23
+ if (!projectDir || isAbsolute(path))
24
+ return path;
25
+ return join(projectDir, path);
26
+ }
27
+ /** Normalize a knowledge query before retrieval. */
28
+ export function normalizeKnowledgeQuery(query, maxChars = DEFAULT_QUERY_MAX_CHARS) {
29
+ return query.replace(/\s+/g, " ").trim().slice(0, maxChars);
30
+ }
31
+ /** Format search results into a deterministic prompt context block. */
32
+ export function formatKnowledgeContext(results) {
33
+ return results
34
+ .map((result) => `[${result.title}] (score: ${result.score.toFixed(2)})\n${result.text}`)
35
+ .join("\n\n---\n\n");
36
+ }
37
+ /** Create a project knowledge helper backed by the configured RAG store. */
38
+ export function projectKnowledge(config = {}) {
39
+ const store = ragStore({
40
+ model: config.model,
41
+ backend: config.backend,
42
+ branch: config.branch,
43
+ contentDir: resolveProjectPath(config.projectDir, config.contentDir ?? DEFAULT_CONTENT_DIR),
44
+ storagePath: resolveProjectPath(config.projectDir, config.storagePath ?? DEFAULT_STORAGE_PATH),
45
+ contentExtensions: config.contentExtensions,
46
+ });
47
+ async function index() {
48
+ await store.indexContentDir();
49
+ }
50
+ async function search(query, options) {
51
+ const normalizedQuery = normalizeKnowledgeQuery(query, config.maxQueryChars);
52
+ if (!normalizedQuery)
53
+ return [];
54
+ return store.search(normalizedQuery, {
55
+ topK: options?.topK ?? config.topK ?? DEFAULT_TOP_K,
56
+ threshold: options?.threshold ?? config.threshold,
57
+ });
58
+ }
59
+ return {
60
+ index,
61
+ async retrieve(query, options) {
62
+ const normalizedQuery = normalizeKnowledgeQuery(query, options?.maxQueryChars ?? config.maxQueryChars);
63
+ if (!normalizedQuery)
64
+ return { query: "", matches: [], context: "" };
65
+ const matches = await store.search(normalizedQuery, {
66
+ topK: options?.topK ?? config.topK ?? DEFAULT_TOP_K,
67
+ threshold: options?.threshold ?? config.threshold,
68
+ });
69
+ return {
70
+ query: normalizedQuery,
71
+ matches,
72
+ context: formatKnowledgeContext(matches),
73
+ };
74
+ },
75
+ search,
76
+ };
77
+ }
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.933";
2
+ export declare const VERSION = "0.1.934";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.933";
4
+ export const VERSION = "0.1.934";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.933",
3
+ "version": "0.1.934",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -193,6 +193,10 @@
193
193
  "import": "./esm/src/embedding/index.js",
194
194
  "types": "./esm/src/embedding/index.d.ts"
195
195
  },
196
+ "./knowledge": {
197
+ "import": "./esm/src/knowledge/index.js",
198
+ "types": "./esm/src/knowledge/index.d.ts"
199
+ },
196
200
  "./extensions": {
197
201
  "import": "./esm/src/extensions/index.js",
198
202
  "types": "./esm/src/extensions/index.d.ts"