veryfront 0.1.159 → 0.1.162

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 (51) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/agent/index.d.ts +1 -1
  3. package/esm/src/agent/index.d.ts.map +1 -1
  4. package/esm/src/agent/runtime/index.d.ts +2 -12
  5. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  6. package/esm/src/agent/runtime/index.js +62 -25
  7. package/esm/src/agent/types.d.ts +37 -0
  8. package/esm/src/agent/types.d.ts.map +1 -1
  9. package/esm/src/mcp/http-transport.d.ts +33 -0
  10. package/esm/src/mcp/http-transport.d.ts.map +1 -0
  11. package/esm/src/mcp/http-transport.js +97 -0
  12. package/esm/src/mcp/server.d.ts.map +1 -1
  13. package/esm/src/mcp/server.js +14 -107
  14. package/esm/src/platform/adapters/fs/veryfront/base-operations.d.ts +1 -1
  15. package/esm/src/platform/adapters/fs/veryfront/base-operations.d.ts.map +1 -1
  16. package/esm/src/platform/adapters/fs/veryfront/directory-operations.d.ts.map +1 -1
  17. package/esm/src/platform/adapters/fs/veryfront/directory-operations.js +9 -52
  18. package/esm/src/platform/adapters/fs/veryfront/file-list-access.d.ts +33 -0
  19. package/esm/src/platform/adapters/fs/veryfront/file-list-access.d.ts.map +1 -0
  20. package/esm/src/platform/adapters/fs/veryfront/file-list-access.js +49 -0
  21. package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts +1 -20
  22. package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts.map +1 -1
  23. package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
  24. package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +21 -94
  25. package/esm/src/tool/factory.d.ts +3 -5
  26. package/esm/src/tool/factory.d.ts.map +1 -1
  27. package/esm/src/tool/factory.js +2 -1
  28. package/esm/src/tool/index.d.ts +2 -0
  29. package/esm/src/tool/index.d.ts.map +1 -1
  30. package/esm/src/tool/index.js +1 -0
  31. package/esm/src/tool/remote-source-tools.d.ts +8 -0
  32. package/esm/src/tool/remote-source-tools.d.ts.map +1 -0
  33. package/esm/src/tool/remote-source-tools.js +33 -0
  34. package/esm/src/utils/version-constant.d.ts +1 -1
  35. package/esm/src/utils/version-constant.js +1 -1
  36. package/package.json +1 -1
  37. package/src/deno.js +1 -1
  38. package/src/src/agent/index.ts +6 -0
  39. package/src/src/agent/runtime/index.ts +118 -11
  40. package/src/src/agent/types.ts +47 -0
  41. package/src/src/mcp/http-transport.ts +163 -0
  42. package/src/src/mcp/server.ts +15 -123
  43. package/src/src/platform/adapters/fs/veryfront/base-operations.ts +1 -1
  44. package/src/src/platform/adapters/fs/veryfront/directory-operations.ts +10 -75
  45. package/src/src/platform/adapters/fs/veryfront/file-list-access.ts +109 -0
  46. package/src/src/platform/adapters/fs/veryfront/read-operations.ts +1 -22
  47. package/src/src/platform/adapters/fs/veryfront/stat-operations.ts +27 -120
  48. package/src/src/tool/factory.ts +4 -6
  49. package/src/src/tool/index.ts +5 -0
  50. package/src/src/tool/remote-source-tools.ts +54 -0
  51. package/src/src/utils/version-constant.ts +1 -1
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ import { dynamicTool } from "./factory.js";
3
+ import type { RemoteToolSource, Tool, ToolDefinition, ToolExecutionContext } from "./types.js";
4
+
5
+ export interface RemoteToolMaterializationOptions {
6
+ context?: ToolExecutionContext;
7
+ toolNameAliases?: Record<string, string>;
8
+ }
9
+
10
+ function toToolInputRecord(input: unknown): Record<string, unknown> {
11
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
12
+ return {};
13
+ }
14
+
15
+ return Object.fromEntries(Object.entries(input));
16
+ }
17
+
18
+ export function createToolsFromRemoteDefinitions(
19
+ source: RemoteToolSource,
20
+ definitions: readonly ToolDefinition[],
21
+ options: Omit<RemoteToolMaterializationOptions, "context"> = {},
22
+ ): Record<string, Tool<unknown, unknown>> {
23
+ return Object.fromEntries(
24
+ definitions.map((definition) => {
25
+ const toolName = options.toolNameAliases?.[definition.name] ?? definition.name;
26
+
27
+ return [
28
+ toolName,
29
+ dynamicTool({
30
+ id: toolName,
31
+ description: definition.description,
32
+ inputSchema: z.object({}).passthrough(),
33
+ inputSchemaJson: definition.parameters,
34
+ mcp: {
35
+ title: definition.title,
36
+ annotations: definition.annotations,
37
+ },
38
+ execute: async (input, context) =>
39
+ await source.executeTool(definition.name, toToolInputRecord(input), context),
40
+ }),
41
+ ];
42
+ }),
43
+ );
44
+ }
45
+
46
+ export async function loadRemoteToolsFromSource(
47
+ source: RemoteToolSource,
48
+ options: RemoteToolMaterializationOptions = {},
49
+ ): Promise<Record<string, Tool<unknown, unknown>>> {
50
+ const definitions = await source.listTools(options.context);
51
+ return createToolsFromRemoteDefinitions(source, definitions, {
52
+ toolNameAliases: options.toolNameAliases,
53
+ });
54
+ }
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.159";
3
+ export const VERSION = "0.1.162";