gauss-ts 1.1.0

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 (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +499 -0
  3. package/dist/agent-CHrSUkPz.d.ts +485 -0
  4. package/dist/agent-CMp1wFzs.d.cts +485 -0
  5. package/dist/agent.cjs +2 -0
  6. package/dist/agent.cjs.map +1 -0
  7. package/dist/agent.d.cts +144 -0
  8. package/dist/agent.d.ts +144 -0
  9. package/dist/agent.js +2 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/index.cjs +21 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.d.cts +492 -0
  14. package/dist/index.d.ts +492 -0
  15. package/dist/index.js +21 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/mcp.cjs +2 -0
  18. package/dist/mcp.cjs.map +1 -0
  19. package/dist/mcp.d.cts +282 -0
  20. package/dist/mcp.d.ts +282 -0
  21. package/dist/mcp.js +2 -0
  22. package/dist/mcp.js.map +1 -0
  23. package/dist/middleware.cjs +2 -0
  24. package/dist/middleware.cjs.map +1 -0
  25. package/dist/middleware.d.cts +46 -0
  26. package/dist/middleware.d.ts +46 -0
  27. package/dist/middleware.js +2 -0
  28. package/dist/middleware.js.map +1 -0
  29. package/dist/orchestration.cjs +2 -0
  30. package/dist/orchestration.cjs.map +1 -0
  31. package/dist/orchestration.d.cts +94 -0
  32. package/dist/orchestration.d.ts +94 -0
  33. package/dist/orchestration.js +2 -0
  34. package/dist/orchestration.js.map +1 -0
  35. package/dist/rag.cjs +2 -0
  36. package/dist/rag.cjs.map +1 -0
  37. package/dist/rag.d.cts +43 -0
  38. package/dist/rag.d.ts +43 -0
  39. package/dist/rag.js +2 -0
  40. package/dist/rag.js.map +1 -0
  41. package/dist/tools.cjs +2 -0
  42. package/dist/tools.cjs.map +1 -0
  43. package/dist/tools.d.cts +48 -0
  44. package/dist/tools.d.ts +48 -0
  45. package/dist/tools.js +2 -0
  46. package/dist/tools.js.map +1 -0
  47. package/dist/types-BkwC4s1P.d.cts +239 -0
  48. package/dist/types-BkwC4s1P.d.ts +239 -0
  49. package/package.json +132 -0
@@ -0,0 +1,46 @@
1
+ import { D as Disposable, H as Handle, o as PiiAction } from './types-BkwC4s1P.js';
2
+
3
+ declare class MiddlewareChain implements Disposable {
4
+ private readonly _handle;
5
+ private disposed;
6
+ constructor();
7
+ get handle(): Handle;
8
+ useLogging(): this;
9
+ useCaching(ttlMs: number): this;
10
+ useRateLimit(requestsPerMinute: number, burst?: number): this;
11
+ destroy(): void;
12
+ [Symbol.dispose](): void;
13
+ private assertNotDisposed;
14
+ }
15
+
16
+ declare class PluginRegistry implements Disposable {
17
+ private readonly _handle;
18
+ private disposed;
19
+ constructor();
20
+ get handle(): Handle;
21
+ addTelemetry(): this;
22
+ addMemory(): this;
23
+ list(): string[];
24
+ emit(event: Record<string, unknown>): void;
25
+ destroy(): void;
26
+ [Symbol.dispose](): void;
27
+ private assertNotDisposed;
28
+ }
29
+
30
+ declare class GuardrailChain implements Disposable {
31
+ private readonly _handle;
32
+ private disposed;
33
+ constructor();
34
+ get handle(): Handle;
35
+ addContentModeration(blockPatterns: string[], warnPatterns?: string[]): this;
36
+ addPiiDetection(action: PiiAction): this;
37
+ addTokenLimit(maxInput?: number, maxOutput?: number): this;
38
+ addRegexFilter(blockRules: string[], warnRules?: string[]): this;
39
+ addSchema(schema: Record<string, unknown>): this;
40
+ list(): string[];
41
+ destroy(): void;
42
+ [Symbol.dispose](): void;
43
+ private assertNotDisposed;
44
+ }
45
+
46
+ export { GuardrailChain, MiddlewareChain, PluginRegistry };
@@ -0,0 +1,2 @@
1
+ import{create_middleware_chain as a,middleware_use_logging as o,middleware_use_caching as n,middleware_use_rate_limit as h,destroy_middleware_chain as l}from"gauss-napi";var t=class{_handle;disposed=!1;constructor(){this._handle=a()}get handle(){return this._handle}useLogging(){return this.assertNotDisposed(),o(this._handle),this}useCaching(s){return this.assertNotDisposed(),n(this._handle,s),this}useRateLimit(s,e){return this.assertNotDisposed(),h(this._handle,s,e),this}destroy(){if(!this.disposed){this.disposed=!0;try{l(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("MiddlewareChain has been destroyed")}};import{create_guardrail_chain as _,guardrail_chain_add_content_moderation as p,guardrail_chain_add_pii_detection as u,guardrail_chain_add_token_limit as m,guardrail_chain_add_regex_filter as g,guardrail_chain_add_schema as c,guardrail_chain_list as y,destroy_guardrail_chain as D}from"gauss-napi";var i=class{_handle;disposed=!1;constructor(){this._handle=_()}get handle(){return this._handle}addContentModeration(s,e=[]){return this.assertNotDisposed(),p(this._handle,s,e),this}addPiiDetection(s){return this.assertNotDisposed(),u(this._handle,s),this}addTokenLimit(s,e){return this.assertNotDisposed(),m(this._handle,s,e),this}addRegexFilter(s,e=[]){return this.assertNotDisposed(),g(this._handle,s,e),this}addSchema(s){return this.assertNotDisposed(),c(this._handle,JSON.stringify(s)),this}list(){return this.assertNotDisposed(),y(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{D(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("GuardrailChain has been destroyed")}};import{create_plugin_registry as f,plugin_registry_add_telemetry as v,plugin_registry_add_memory as N,plugin_registry_list as b,plugin_registry_emit as w,destroy_plugin_registry as H}from"gauss-napi";var r=class{_handle;disposed=!1;constructor(){this._handle=f()}get handle(){return this._handle}addTelemetry(){return this.assertNotDisposed(),v(this._handle),this}addMemory(){return this.assertNotDisposed(),N(this._handle),this}list(){return this.assertNotDisposed(),b(this._handle)}emit(s){this.assertNotDisposed(),w(this._handle,JSON.stringify(s))}destroy(){if(!this.disposed){this.disposed=!0;try{H(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("PluginRegistry has been destroyed")}};export{i as GuardrailChain,t as MiddlewareChain,r as PluginRegistry};
2
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/middleware.ts","../src/sdk/guardrail.ts","../src/sdk/plugin.ts"],"sourcesContent":["/**\n * Middleware SDK wrapper — request/response chain backed by Rust core.\n */\nimport {\n create_middleware_chain,\n middleware_use_logging,\n middleware_use_caching,\n middleware_use_rate_limit,\n destroy_middleware_chain,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\n\nexport class MiddlewareChain implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_middleware_chain();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n useLogging(): this {\n this.assertNotDisposed();\n middleware_use_logging(this._handle);\n return this;\n }\n\n useCaching(ttlMs: number): this {\n this.assertNotDisposed();\n middleware_use_caching(this._handle, ttlMs);\n return this;\n }\n\n useRateLimit(requestsPerMinute: number, burst?: number): this {\n this.assertNotDisposed();\n middleware_use_rate_limit(this._handle, requestsPerMinute, burst);\n return this;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_middleware_chain(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"MiddlewareChain has been destroyed\");\n }\n }\n}\n","/**\n * GuardrailChain SDK wrapper — content safety and validation backed by Rust core.\n */\nimport {\n create_guardrail_chain,\n guardrail_chain_add_content_moderation,\n guardrail_chain_add_pii_detection,\n guardrail_chain_add_token_limit,\n guardrail_chain_add_regex_filter,\n guardrail_chain_add_schema,\n guardrail_chain_list,\n destroy_guardrail_chain,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, PiiAction } from \"./types.js\";\n\nexport class GuardrailChain implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_guardrail_chain();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addContentModeration(\n blockPatterns: string[],\n warnPatterns: string[] = []\n ): this {\n this.assertNotDisposed();\n guardrail_chain_add_content_moderation(\n this._handle,\n blockPatterns,\n warnPatterns\n );\n return this;\n }\n\n addPiiDetection(action: PiiAction): this {\n this.assertNotDisposed();\n guardrail_chain_add_pii_detection(this._handle, action);\n return this;\n }\n\n addTokenLimit(maxInput?: number, maxOutput?: number): this {\n this.assertNotDisposed();\n guardrail_chain_add_token_limit(this._handle, maxInput, maxOutput);\n return this;\n }\n\n addRegexFilter(blockRules: string[], warnRules: string[] = []): this {\n this.assertNotDisposed();\n guardrail_chain_add_regex_filter(this._handle, blockRules, warnRules);\n return this;\n }\n\n addSchema(schema: Record<string, unknown>): this {\n this.assertNotDisposed();\n guardrail_chain_add_schema(this._handle, JSON.stringify(schema));\n return this;\n }\n\n list(): string[] {\n this.assertNotDisposed();\n return guardrail_chain_list(this._handle);\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_guardrail_chain(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"GuardrailChain has been destroyed\");\n }\n }\n}\n","/**\n * Plugin SDK wrapper — event-driven plugin system backed by Rust core.\n */\nimport {\n create_plugin_registry,\n plugin_registry_add_telemetry,\n plugin_registry_add_memory,\n plugin_registry_list,\n plugin_registry_emit,\n destroy_plugin_registry,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\n\nexport class PluginRegistry implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_plugin_registry();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addTelemetry(): this {\n this.assertNotDisposed();\n plugin_registry_add_telemetry(this._handle);\n return this;\n }\n\n addMemory(): this {\n this.assertNotDisposed();\n plugin_registry_add_memory(this._handle);\n return this;\n }\n\n list(): string[] {\n this.assertNotDisposed();\n return plugin_registry_list(this._handle);\n }\n\n emit(event: Record<string, unknown>): void {\n this.assertNotDisposed();\n plugin_registry_emit(this._handle, JSON.stringify(event));\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_plugin_registry(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"PluginRegistry has been destroyed\");\n }\n }\n}\n"],"mappings":"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","names":["create_middleware_chain","middleware_use_logging","middleware_use_caching","middleware_use_rate_limit","destroy_middleware_chain","MiddlewareChain","ttlMs","requestsPerMinute","burst","create_guardrail_chain","guardrail_chain_add_content_moderation","guardrail_chain_add_pii_detection","guardrail_chain_add_token_limit","guardrail_chain_add_regex_filter","guardrail_chain_add_schema","guardrail_chain_list","destroy_guardrail_chain","GuardrailChain","blockPatterns","warnPatterns","action","maxInput","maxOutput","blockRules","warnRules","schema","create_plugin_registry","plugin_registry_add_telemetry","plugin_registry_add_memory","plugin_registry_list","plugin_registry_emit","destroy_plugin_registry","PluginRegistry","event"]}
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var f=(o,e)=>{for(var t in e)m(o,t,{get:e[t],enumerable:!0})},c=(o,e,t,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of y(e))!_.call(o,a)&&a!==t&&m(o,a,{get:()=>e[a],enumerable:!(d=u(e,a))||d.enumerable});return o};var w=o=>c(m({},"__esModule",{value:!0}),o);var k={};f(k,{Graph:()=>p,Network:()=>g,Team:()=>l,Workflow:()=>h});module.exports=w(k);var s=require("gauss-napi"),p=class{_handle;disposed=!1;constructor(){this._handle=(0,s.create_graph)()}get handle(){return this._handle}addNode(e){return this.assertNotDisposed(),(0,s.graph_add_node)(this._handle,e.nodeId,e.agent.name,e.agent.handle,e.instructions,e.tools??[]),this}addFork(e){return this.assertNotDisposed(),(0,s.graph_add_fork_node)(this._handle,e.nodeId,e.agents.map(t=>({agentName:t.agent.name,providerHandle:t.agent.handle,instructions:t.instructions})),e.consensus??"concat"),this}addEdge(e,t){return this.assertNotDisposed(),(0,s.graph_add_edge)(this._handle,e,t),this}async run(e){return this.assertNotDisposed(),(0,s.graph_run)(this._handle,e)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,s.destroy_graph)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Graph has been destroyed")}};var n=require("gauss-napi"),h=class{_handle;disposed=!1;constructor(){this._handle=(0,n.create_workflow)()}get handle(){return this._handle}addStep(e){return this.assertNotDisposed(),(0,n.workflow_add_step)(this._handle,e.stepId,e.agent.name,e.agent.handle,e.instructions,e.tools??[]),this}addDependency(e,t){return this.assertNotDisposed(),(0,n.workflow_add_dependency)(this._handle,e,t),this}async run(e){return this.assertNotDisposed(),(0,n.workflow_run)(this._handle,e)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,n.destroy_workflow)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Workflow has been destroyed")}};var i=require("gauss-napi"),l=class{_handle;disposed=!1;agents=[];constructor(e){this._handle=(0,i.create_team)(e)}get handle(){return this._handle}add(e,t){return this.assertNotDisposed(),(0,i.team_add_agent)(this._handle,e.name,e.handle,t),this.agents.push(e),this}strategy(e){return this.assertNotDisposed(),(0,i.team_set_strategy)(this._handle,e),this}async run(e){this.assertNotDisposed();let t=JSON.stringify([{role:"user",content:[{type:"text",text:e}]}]);return(0,i.team_run)(this._handle,t)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,i.destroy_team)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Team has been destroyed")}};var r=require("gauss-napi"),g=class{_handle;disposed=!1;constructor(){this._handle=(0,r.create_network)()}get handle(){return this._handle}addAgent(e,t){return this.assertNotDisposed(),(0,r.network_add_agent)(this._handle,e.name,e.handle,t),this}setSupervisor(e){return this.assertNotDisposed(),(0,r.network_set_supervisor)(this._handle,e),this}async delegate(e,t,d){return this.assertNotDisposed(),(0,r.network_delegate)(this._handle,e,t,d)}agentCards(){return this.assertNotDisposed(),(0,r.network_agent_cards)(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,r.destroy_network)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Network has been destroyed")}};0&&(module.exports={Graph,Network,Team,Workflow});
2
+ //# sourceMappingURL=orchestration.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/orchestration.ts","../src/sdk/graph.ts","../src/sdk/workflow.ts","../src/sdk/team.ts","../src/sdk/network.ts"],"sourcesContent":["export { Graph } from \"./sdk/graph.js\";\nexport type { GraphNodeConfig, ForkNodeConfig, ConsensusStrategy } from \"./sdk/graph.js\";\nexport { Workflow } from \"./sdk/workflow.js\";\nexport type { WorkflowStepConfig } from \"./sdk/workflow.js\";\nexport { Team } from \"./sdk/team.js\";\nexport type { TeamStrategy, TeamResult } from \"./sdk/team.js\";\nexport { Network } from \"./sdk/network.js\";\n","/**\n * Graph — DAG-based multi-agent execution backed by Rust core.\n *\n * @example\n * const researcher = new Agent({ name: \"researcher\", instructions: \"Research topics\" });\n * const writer = new Agent({ name: \"writer\", instructions: \"Write articles\" });\n *\n * const graph = new Graph()\n * .addNode({ nodeId: \"research\", agent: researcher })\n * .addNode({ nodeId: \"write\", agent: writer })\n * .addEdge(\"research\", \"write\");\n *\n * const result = await graph.run(\"Write about quantum computing\");\n * graph.destroy();\n */\nimport {\n create_graph,\n graph_add_node,\n graph_add_edge,\n graph_add_fork_node,\n graph_run,\n destroy_graph,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, ToolDef } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport interface GraphNodeConfig {\n nodeId: string;\n agent: Agent;\n instructions?: string;\n tools?: ToolDef[];\n}\n\nexport type ConsensusStrategy = \"first\" | \"concat\";\n\nexport interface ForkNodeConfig {\n nodeId: string;\n agents: Array<{ agent: Agent; instructions?: string }>;\n consensus?: ConsensusStrategy;\n}\n\nexport class Graph implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_graph();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addNode(config: GraphNodeConfig): this {\n this.assertNotDisposed();\n graph_add_node(\n this._handle,\n config.nodeId,\n config.agent.name,\n config.agent.handle,\n config.instructions,\n config.tools ?? []\n );\n return this;\n }\n\n /** Add a fork node — runs multiple agents in parallel, merging via consensus. */\n addFork(config: ForkNodeConfig): this {\n this.assertNotDisposed();\n graph_add_fork_node(\n this._handle,\n config.nodeId,\n config.agents.map(a => ({\n agentName: a.agent.name,\n providerHandle: a.agent.handle,\n instructions: a.instructions,\n })),\n config.consensus ?? \"concat\"\n );\n return this;\n }\n\n addEdge(from: string, to: string): this {\n this.assertNotDisposed();\n graph_add_edge(this._handle, from, to);\n return this;\n }\n\n async run(prompt: string): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return graph_run(this._handle, prompt) as Promise<Record<string, unknown>>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try { destroy_graph(this._handle); } catch { /* ok */ }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) throw new Error(\"Graph has been destroyed\");\n }\n}\n","/**\n * Workflow SDK wrapper — dependency-based step execution backed by Rust core.\n */\nimport {\n create_workflow,\n workflow_add_step,\n workflow_add_dependency,\n workflow_run,\n destroy_workflow,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, ToolDef } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport interface WorkflowStepConfig {\n stepId: string;\n agent: Agent;\n instructions?: string;\n tools?: ToolDef[];\n}\n\nexport class Workflow implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_workflow();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addStep(config: WorkflowStepConfig): this {\n this.assertNotDisposed();\n workflow_add_step(\n this._handle,\n config.stepId,\n config.agent.name,\n config.agent.handle,\n config.instructions,\n config.tools ?? []\n );\n return this;\n }\n\n addDependency(stepId: string, dependsOn: string): this {\n this.assertNotDisposed();\n workflow_add_dependency(this._handle, stepId, dependsOn);\n return this;\n }\n\n async run(prompt: string): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return workflow_run(this._handle, prompt) as Promise<\n Record<string, unknown>\n >;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_workflow(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Workflow has been destroyed\");\n }\n }\n}\n","/**\n * Team — multi-agent coordination backed by Rust core.\n *\n * @example\n * const researcher = new Agent({ name: \"researcher\", instructions: \"Research topics\" });\n * const writer = new Agent({ name: \"writer\", instructions: \"Write summaries\" });\n *\n * const team = new Team(\"content-team\")\n * .add(researcher)\n * .add(writer)\n * .strategy(\"sequential\");\n *\n * const result = await team.run(\"Explain quantum computing\");\n * console.log(result.finalText);\n * team.destroy();\n */\nimport {\n create_team,\n team_add_agent,\n team_set_strategy,\n team_run,\n destroy_team,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport type TeamStrategy = \"sequential\" | \"parallel\";\n\nexport interface TeamResult {\n finalText: string;\n results: Array<{\n text: string;\n steps: number;\n inputTokens: number;\n outputTokens: number;\n }>;\n}\n\nexport class Team implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n private agents: Agent[] = [];\n\n constructor(name: string) {\n this._handle = create_team(name);\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n /** Add an agent to the team. */\n add(agent: Agent, instructions?: string): this {\n this.assertNotDisposed();\n team_add_agent(this._handle, agent.name, agent.handle, instructions);\n this.agents.push(agent);\n return this;\n }\n\n /** Set the team coordination strategy. */\n strategy(s: TeamStrategy): this {\n this.assertNotDisposed();\n team_set_strategy(this._handle, s);\n return this;\n }\n\n /** Run the team with a prompt or messages. */\n async run(prompt: string): Promise<TeamResult> {\n this.assertNotDisposed();\n const messages = JSON.stringify([\n { role: \"user\", content: [{ type: \"text\", text: prompt }] },\n ]);\n return team_run(this._handle, messages) as Promise<TeamResult>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_team(this._handle);\n } catch {\n /* ok */\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) throw new Error(\"Team has been destroyed\");\n }\n}\n","/**\n * Network SDK wrapper — multi-agent delegation backed by Rust core.\n */\nimport {\n create_network,\n network_add_agent,\n network_set_supervisor,\n network_delegate,\n network_agent_cards,\n destroy_network,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport class Network implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_network();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addAgent(agent: Agent, instructions?: string): this {\n this.assertNotDisposed();\n network_add_agent(\n this._handle,\n agent.name,\n agent.handle,\n instructions\n );\n return this;\n }\n\n setSupervisor(agentName: string): this {\n this.assertNotDisposed();\n network_set_supervisor(this._handle, agentName);\n return this;\n }\n\n async delegate(\n fromAgent: string,\n toAgent: string,\n prompt: string\n ): Promise<unknown> {\n this.assertNotDisposed();\n return network_delegate(this._handle, fromAgent, toAgent, prompt);\n }\n\n agentCards(): unknown {\n this.assertNotDisposed();\n return network_agent_cards(this._handle);\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_network(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Network has been destroyed\");\n }\n }\n}\n"],"mappings":"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","names":["orchestration_exports","__export","Graph","Network","Team","Workflow","__toCommonJS","import_gauss_napi","Graph","config","a","from","to","prompt","import_gauss_napi","Workflow","config","stepId","dependsOn","prompt","import_gauss_napi","Team","name","agent","instructions","s","prompt","messages","import_gauss_napi","Network","agent","instructions","agentName","fromAgent","toAgent","prompt"]}
@@ -0,0 +1,94 @@
1
+ import { D as Disposable, H as Handle, T as ToolDef } from './types-BkwC4s1P.cjs';
2
+ import { a as Agent } from './agent-CMp1wFzs.cjs';
3
+
4
+ interface GraphNodeConfig {
5
+ nodeId: string;
6
+ agent: Agent;
7
+ instructions?: string;
8
+ tools?: ToolDef[];
9
+ }
10
+ type ConsensusStrategy = "first" | "concat";
11
+ interface ForkNodeConfig {
12
+ nodeId: string;
13
+ agents: Array<{
14
+ agent: Agent;
15
+ instructions?: string;
16
+ }>;
17
+ consensus?: ConsensusStrategy;
18
+ }
19
+ declare class Graph implements Disposable {
20
+ private readonly _handle;
21
+ private disposed;
22
+ constructor();
23
+ get handle(): Handle;
24
+ addNode(config: GraphNodeConfig): this;
25
+ /** Add a fork node — runs multiple agents in parallel, merging via consensus. */
26
+ addFork(config: ForkNodeConfig): this;
27
+ addEdge(from: string, to: string): this;
28
+ run(prompt: string): Promise<Record<string, unknown>>;
29
+ destroy(): void;
30
+ [Symbol.dispose](): void;
31
+ private assertNotDisposed;
32
+ }
33
+
34
+ interface WorkflowStepConfig {
35
+ stepId: string;
36
+ agent: Agent;
37
+ instructions?: string;
38
+ tools?: ToolDef[];
39
+ }
40
+ declare class Workflow implements Disposable {
41
+ private readonly _handle;
42
+ private disposed;
43
+ constructor();
44
+ get handle(): Handle;
45
+ addStep(config: WorkflowStepConfig): this;
46
+ addDependency(stepId: string, dependsOn: string): this;
47
+ run(prompt: string): Promise<Record<string, unknown>>;
48
+ destroy(): void;
49
+ [Symbol.dispose](): void;
50
+ private assertNotDisposed;
51
+ }
52
+
53
+ type TeamStrategy = "sequential" | "parallel";
54
+ interface TeamResult {
55
+ finalText: string;
56
+ results: Array<{
57
+ text: string;
58
+ steps: number;
59
+ inputTokens: number;
60
+ outputTokens: number;
61
+ }>;
62
+ }
63
+ declare class Team implements Disposable {
64
+ private readonly _handle;
65
+ private disposed;
66
+ private agents;
67
+ constructor(name: string);
68
+ get handle(): Handle;
69
+ /** Add an agent to the team. */
70
+ add(agent: Agent, instructions?: string): this;
71
+ /** Set the team coordination strategy. */
72
+ strategy(s: TeamStrategy): this;
73
+ /** Run the team with a prompt or messages. */
74
+ run(prompt: string): Promise<TeamResult>;
75
+ destroy(): void;
76
+ [Symbol.dispose](): void;
77
+ private assertNotDisposed;
78
+ }
79
+
80
+ declare class Network implements Disposable {
81
+ private readonly _handle;
82
+ private disposed;
83
+ constructor();
84
+ get handle(): Handle;
85
+ addAgent(agent: Agent, instructions?: string): this;
86
+ setSupervisor(agentName: string): this;
87
+ delegate(fromAgent: string, toAgent: string, prompt: string): Promise<unknown>;
88
+ agentCards(): unknown;
89
+ destroy(): void;
90
+ [Symbol.dispose](): void;
91
+ private assertNotDisposed;
92
+ }
93
+
94
+ export { type ConsensusStrategy, type ForkNodeConfig, Graph, type GraphNodeConfig, Network, Team, type TeamResult, type TeamStrategy, Workflow, type WorkflowStepConfig };
@@ -0,0 +1,94 @@
1
+ import { D as Disposable, H as Handle, T as ToolDef } from './types-BkwC4s1P.js';
2
+ import { a as Agent } from './agent-CHrSUkPz.js';
3
+
4
+ interface GraphNodeConfig {
5
+ nodeId: string;
6
+ agent: Agent;
7
+ instructions?: string;
8
+ tools?: ToolDef[];
9
+ }
10
+ type ConsensusStrategy = "first" | "concat";
11
+ interface ForkNodeConfig {
12
+ nodeId: string;
13
+ agents: Array<{
14
+ agent: Agent;
15
+ instructions?: string;
16
+ }>;
17
+ consensus?: ConsensusStrategy;
18
+ }
19
+ declare class Graph implements Disposable {
20
+ private readonly _handle;
21
+ private disposed;
22
+ constructor();
23
+ get handle(): Handle;
24
+ addNode(config: GraphNodeConfig): this;
25
+ /** Add a fork node — runs multiple agents in parallel, merging via consensus. */
26
+ addFork(config: ForkNodeConfig): this;
27
+ addEdge(from: string, to: string): this;
28
+ run(prompt: string): Promise<Record<string, unknown>>;
29
+ destroy(): void;
30
+ [Symbol.dispose](): void;
31
+ private assertNotDisposed;
32
+ }
33
+
34
+ interface WorkflowStepConfig {
35
+ stepId: string;
36
+ agent: Agent;
37
+ instructions?: string;
38
+ tools?: ToolDef[];
39
+ }
40
+ declare class Workflow implements Disposable {
41
+ private readonly _handle;
42
+ private disposed;
43
+ constructor();
44
+ get handle(): Handle;
45
+ addStep(config: WorkflowStepConfig): this;
46
+ addDependency(stepId: string, dependsOn: string): this;
47
+ run(prompt: string): Promise<Record<string, unknown>>;
48
+ destroy(): void;
49
+ [Symbol.dispose](): void;
50
+ private assertNotDisposed;
51
+ }
52
+
53
+ type TeamStrategy = "sequential" | "parallel";
54
+ interface TeamResult {
55
+ finalText: string;
56
+ results: Array<{
57
+ text: string;
58
+ steps: number;
59
+ inputTokens: number;
60
+ outputTokens: number;
61
+ }>;
62
+ }
63
+ declare class Team implements Disposable {
64
+ private readonly _handle;
65
+ private disposed;
66
+ private agents;
67
+ constructor(name: string);
68
+ get handle(): Handle;
69
+ /** Add an agent to the team. */
70
+ add(agent: Agent, instructions?: string): this;
71
+ /** Set the team coordination strategy. */
72
+ strategy(s: TeamStrategy): this;
73
+ /** Run the team with a prompt or messages. */
74
+ run(prompt: string): Promise<TeamResult>;
75
+ destroy(): void;
76
+ [Symbol.dispose](): void;
77
+ private assertNotDisposed;
78
+ }
79
+
80
+ declare class Network implements Disposable {
81
+ private readonly _handle;
82
+ private disposed;
83
+ constructor();
84
+ get handle(): Handle;
85
+ addAgent(agent: Agent, instructions?: string): this;
86
+ setSupervisor(agentName: string): this;
87
+ delegate(fromAgent: string, toAgent: string, prompt: string): Promise<unknown>;
88
+ agentCards(): unknown;
89
+ destroy(): void;
90
+ [Symbol.dispose](): void;
91
+ private assertNotDisposed;
92
+ }
93
+
94
+ export { type ConsensusStrategy, type ForkNodeConfig, Graph, type GraphNodeConfig, Network, Team, type TeamResult, type TeamStrategy, Workflow, type WorkflowStepConfig };
@@ -0,0 +1,2 @@
1
+ import{create_graph as d,graph_add_node as p,graph_add_edge as h,graph_add_fork_node as l,graph_run as g,destroy_graph as m}from"gauss-napi";var r=class{_handle;disposed=!1;constructor(){this._handle=d()}get handle(){return this._handle}addNode(e){return this.assertNotDisposed(),p(this._handle,e.nodeId,e.agent.name,e.agent.handle,e.instructions,e.tools??[]),this}addFork(e){return this.assertNotDisposed(),l(this._handle,e.nodeId,e.agents.map(t=>({agentName:t.agent.name,providerHandle:t.agent.handle,instructions:t.instructions})),e.consensus??"concat"),this}addEdge(e,t){return this.assertNotDisposed(),h(this._handle,e,t),this}async run(e){return this.assertNotDisposed(),g(this._handle,e)}destroy(){if(!this.disposed){this.disposed=!0;try{m(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Graph has been destroyed")}};import{create_workflow as u,workflow_add_step as y,workflow_add_dependency as _,workflow_run as f,destroy_workflow as c}from"gauss-napi";var o=class{_handle;disposed=!1;constructor(){this._handle=u()}get handle(){return this._handle}addStep(e){return this.assertNotDisposed(),y(this._handle,e.stepId,e.agent.name,e.agent.handle,e.instructions,e.tools??[]),this}addDependency(e,t){return this.assertNotDisposed(),_(this._handle,e,t),this}async run(e){return this.assertNotDisposed(),f(this._handle,e)}destroy(){if(!this.disposed){this.disposed=!0;try{c(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Workflow has been destroyed")}};import{create_team as w,team_add_agent as k,team_set_strategy as D,team_run as v,destroy_team as N}from"gauss-napi";var n=class{_handle;disposed=!1;agents=[];constructor(e){this._handle=w(e)}get handle(){return this._handle}add(e,t){return this.assertNotDisposed(),k(this._handle,e.name,e.handle,t),this.agents.push(e),this}strategy(e){return this.assertNotDisposed(),D(this._handle,e),this}async run(e){this.assertNotDisposed();let t=JSON.stringify([{role:"user",content:[{type:"text",text:e}]}]);return v(this._handle,t)}destroy(){if(!this.disposed){this.disposed=!0;try{N(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Team has been destroyed")}};import{create_network as x,network_add_agent as b,network_set_supervisor as S,network_delegate as T,network_agent_cards as A,destroy_network as C}from"gauss-napi";var i=class{_handle;disposed=!1;constructor(){this._handle=x()}get handle(){return this._handle}addAgent(e,t){return this.assertNotDisposed(),b(this._handle,e.name,e.handle,t),this}setSupervisor(e){return this.assertNotDisposed(),S(this._handle,e),this}async delegate(e,t,a){return this.assertNotDisposed(),T(this._handle,e,t,a)}agentCards(){return this.assertNotDisposed(),A(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{C(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Network has been destroyed")}};export{r as Graph,i as Network,n as Team,o as Workflow};
2
+ //# sourceMappingURL=orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/graph.ts","../src/sdk/workflow.ts","../src/sdk/team.ts","../src/sdk/network.ts"],"sourcesContent":["/**\n * Graph — DAG-based multi-agent execution backed by Rust core.\n *\n * @example\n * const researcher = new Agent({ name: \"researcher\", instructions: \"Research topics\" });\n * const writer = new Agent({ name: \"writer\", instructions: \"Write articles\" });\n *\n * const graph = new Graph()\n * .addNode({ nodeId: \"research\", agent: researcher })\n * .addNode({ nodeId: \"write\", agent: writer })\n * .addEdge(\"research\", \"write\");\n *\n * const result = await graph.run(\"Write about quantum computing\");\n * graph.destroy();\n */\nimport {\n create_graph,\n graph_add_node,\n graph_add_edge,\n graph_add_fork_node,\n graph_run,\n destroy_graph,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, ToolDef } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport interface GraphNodeConfig {\n nodeId: string;\n agent: Agent;\n instructions?: string;\n tools?: ToolDef[];\n}\n\nexport type ConsensusStrategy = \"first\" | \"concat\";\n\nexport interface ForkNodeConfig {\n nodeId: string;\n agents: Array<{ agent: Agent; instructions?: string }>;\n consensus?: ConsensusStrategy;\n}\n\nexport class Graph implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_graph();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addNode(config: GraphNodeConfig): this {\n this.assertNotDisposed();\n graph_add_node(\n this._handle,\n config.nodeId,\n config.agent.name,\n config.agent.handle,\n config.instructions,\n config.tools ?? []\n );\n return this;\n }\n\n /** Add a fork node — runs multiple agents in parallel, merging via consensus. */\n addFork(config: ForkNodeConfig): this {\n this.assertNotDisposed();\n graph_add_fork_node(\n this._handle,\n config.nodeId,\n config.agents.map(a => ({\n agentName: a.agent.name,\n providerHandle: a.agent.handle,\n instructions: a.instructions,\n })),\n config.consensus ?? \"concat\"\n );\n return this;\n }\n\n addEdge(from: string, to: string): this {\n this.assertNotDisposed();\n graph_add_edge(this._handle, from, to);\n return this;\n }\n\n async run(prompt: string): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return graph_run(this._handle, prompt) as Promise<Record<string, unknown>>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try { destroy_graph(this._handle); } catch { /* ok */ }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) throw new Error(\"Graph has been destroyed\");\n }\n}\n","/**\n * Workflow SDK wrapper — dependency-based step execution backed by Rust core.\n */\nimport {\n create_workflow,\n workflow_add_step,\n workflow_add_dependency,\n workflow_run,\n destroy_workflow,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, ToolDef } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport interface WorkflowStepConfig {\n stepId: string;\n agent: Agent;\n instructions?: string;\n tools?: ToolDef[];\n}\n\nexport class Workflow implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_workflow();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addStep(config: WorkflowStepConfig): this {\n this.assertNotDisposed();\n workflow_add_step(\n this._handle,\n config.stepId,\n config.agent.name,\n config.agent.handle,\n config.instructions,\n config.tools ?? []\n );\n return this;\n }\n\n addDependency(stepId: string, dependsOn: string): this {\n this.assertNotDisposed();\n workflow_add_dependency(this._handle, stepId, dependsOn);\n return this;\n }\n\n async run(prompt: string): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return workflow_run(this._handle, prompt) as Promise<\n Record<string, unknown>\n >;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_workflow(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Workflow has been destroyed\");\n }\n }\n}\n","/**\n * Team — multi-agent coordination backed by Rust core.\n *\n * @example\n * const researcher = new Agent({ name: \"researcher\", instructions: \"Research topics\" });\n * const writer = new Agent({ name: \"writer\", instructions: \"Write summaries\" });\n *\n * const team = new Team(\"content-team\")\n * .add(researcher)\n * .add(writer)\n * .strategy(\"sequential\");\n *\n * const result = await team.run(\"Explain quantum computing\");\n * console.log(result.finalText);\n * team.destroy();\n */\nimport {\n create_team,\n team_add_agent,\n team_set_strategy,\n team_run,\n destroy_team,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport type TeamStrategy = \"sequential\" | \"parallel\";\n\nexport interface TeamResult {\n finalText: string;\n results: Array<{\n text: string;\n steps: number;\n inputTokens: number;\n outputTokens: number;\n }>;\n}\n\nexport class Team implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n private agents: Agent[] = [];\n\n constructor(name: string) {\n this._handle = create_team(name);\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n /** Add an agent to the team. */\n add(agent: Agent, instructions?: string): this {\n this.assertNotDisposed();\n team_add_agent(this._handle, agent.name, agent.handle, instructions);\n this.agents.push(agent);\n return this;\n }\n\n /** Set the team coordination strategy. */\n strategy(s: TeamStrategy): this {\n this.assertNotDisposed();\n team_set_strategy(this._handle, s);\n return this;\n }\n\n /** Run the team with a prompt or messages. */\n async run(prompt: string): Promise<TeamResult> {\n this.assertNotDisposed();\n const messages = JSON.stringify([\n { role: \"user\", content: [{ type: \"text\", text: prompt }] },\n ]);\n return team_run(this._handle, messages) as Promise<TeamResult>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_team(this._handle);\n } catch {\n /* ok */\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) throw new Error(\"Team has been destroyed\");\n }\n}\n","/**\n * Network SDK wrapper — multi-agent delegation backed by Rust core.\n */\nimport {\n create_network,\n network_add_agent,\n network_set_supervisor,\n network_delegate,\n network_agent_cards,\n destroy_network,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\nimport type { Agent } from \"./agent.js\";\n\nexport class Network implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_network();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n addAgent(agent: Agent, instructions?: string): this {\n this.assertNotDisposed();\n network_add_agent(\n this._handle,\n agent.name,\n agent.handle,\n instructions\n );\n return this;\n }\n\n setSupervisor(agentName: string): this {\n this.assertNotDisposed();\n network_set_supervisor(this._handle, agentName);\n return this;\n }\n\n async delegate(\n fromAgent: string,\n toAgent: string,\n prompt: string\n ): Promise<unknown> {\n this.assertNotDisposed();\n return network_delegate(this._handle, fromAgent, toAgent, prompt);\n }\n\n agentCards(): unknown {\n this.assertNotDisposed();\n return network_agent_cards(this._handle);\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_network(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Network has been destroyed\");\n }\n }\n}\n"],"mappings":"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","names":["create_graph","graph_add_node","graph_add_edge","graph_add_fork_node","graph_run","destroy_graph","Graph","config","a","from","to","prompt","create_workflow","workflow_add_step","workflow_add_dependency","workflow_run","destroy_workflow","Workflow","config","stepId","dependsOn","prompt","create_team","team_add_agent","team_set_strategy","team_run","destroy_team","Team","name","agent","instructions","s","prompt","messages","create_network","network_add_agent","network_set_supervisor","network_delegate","network_agent_cards","destroy_network","Network","agent","instructions","agentName","fromAgent","toAgent","prompt"]}
package/dist/rag.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var u=(n,e)=>{for(var s in e)m(n,s,{get:e[s],enumerable:!0})},_=(n,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!l.call(n,t)&&t!==s&&m(n,t,{get:()=>e[t],enumerable:!(o=h(e,t))||o.enumerable});return n};var v=n=>_(m({},"__esModule",{value:!0}),n);var g={};u(g,{Memory:()=>d,VectorStore:()=>a});module.exports=v(g);var y=require("crypto"),r=require("gauss-napi"),d=class{_handle;disposed=!1;constructor(){this._handle=(0,r.create_memory)()}get handle(){return this._handle}async store(e,s,o){this.assertNotDisposed();let t=typeof e=="string"?{id:(0,y.randomUUID)(),content:s,entryType:e||"conversation",timestamp:new Date().toISOString(),sessionId:o}:e,p={id:t.id,content:t.content,entry_type:t.entryType,timestamp:t.timestamp,tier:t.tier,metadata:t.metadata,importance:t.importance,session_id:t.sessionId,embedding:t.embedding};return(0,r.memory_store)(this._handle,JSON.stringify(p))}async recall(e){this.assertNotDisposed();let s=e?JSON.stringify(e):void 0;return(0,r.memory_recall)(this._handle,s)}async clear(e){return this.assertNotDisposed(),(0,r.memory_clear)(this._handle,e)}async stats(){return this.assertNotDisposed(),(0,r.memory_stats)(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,r.destroy_memory)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Memory has been destroyed")}};var i=require("gauss-napi"),a=class{_handle;disposed=!1;constructor(e){this._handle=(0,i.create_vector_store)()}get handle(){return this._handle}async upsert(e){this.assertNotDisposed();let s=e.map(o=>({id:o.id,document_id:o.documentId,content:o.content,index:o.index,metadata:o.metadata??{},embedding:o.embedding}));return(0,i.vector_store_upsert)(this._handle,JSON.stringify(s))}async search(e,s){return this.assertNotDisposed(),(0,i.vector_store_search)(this._handle,JSON.stringify(e),s)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,i.destroy_vector_store)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("VectorStore has been destroyed")}static cosineSimilarity(e,s){return(0,i.cosine_similarity)(e,s)}};0&&(module.exports={Memory,VectorStore});
2
+ //# sourceMappingURL=rag.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/rag.ts","../src/sdk/memory.ts","../src/sdk/vector-store.ts"],"sourcesContent":["export { Memory } from \"./sdk/memory.js\";\nexport { VectorStore } from \"./sdk/vector-store.js\";\n","/**\n * Memory SDK wrapper — in-memory conversation/session store backed by Rust core.\n */\nimport { randomUUID } from \"node:crypto\";\nimport {\n create_memory,\n memory_store,\n memory_recall,\n memory_clear,\n memory_stats,\n destroy_memory,\n} from \"gauss-napi\";\n\nimport type {\n Handle,\n Disposable,\n MemoryEntry,\n MemoryEntryType,\n RecallOptions,\n} from \"./types.js\";\n\n/**\n * In-memory conversation store backed by Rust core.\n *\n * @example\n * const mem = new Memory();\n * await mem.store({ id: \"m1\", content: \"Hello\", entryType: \"message\", timestamp: new Date().toISOString() });\n * const entries = await mem.recall();\n * mem.destroy();\n */\nexport class Memory implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_memory();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n /** Store a memory entry. Accepts a full entry or role+content shorthand. */\n async store(entry: MemoryEntry): Promise<void>;\n async store(role: string, content: string, sessionId?: string): Promise<void>;\n async store(\n entryOrRole: MemoryEntry | string,\n content?: string,\n sessionId?: string\n ): Promise<void> {\n this.assertNotDisposed();\n const entry: MemoryEntry =\n typeof entryOrRole === \"string\"\n ? {\n id: randomUUID(),\n content: content!,\n entryType: (entryOrRole as MemoryEntryType) || \"conversation\",\n timestamp: new Date().toISOString(),\n sessionId,\n }\n : entryOrRole;\n // Convert to snake_case for Rust serde\n const rustEntry = {\n id: entry.id,\n content: entry.content,\n entry_type: entry.entryType,\n timestamp: entry.timestamp,\n tier: entry.tier,\n metadata: entry.metadata,\n importance: entry.importance,\n session_id: entry.sessionId,\n embedding: entry.embedding,\n };\n return memory_store(this._handle, JSON.stringify(rustEntry));\n }\n\n async recall(options?: RecallOptions): Promise<MemoryEntry[]> {\n this.assertNotDisposed();\n const json = options ? JSON.stringify(options) : undefined;\n return memory_recall(this._handle, json) as Promise<MemoryEntry[]>;\n }\n\n async clear(sessionId?: string): Promise<void> {\n this.assertNotDisposed();\n return memory_clear(this._handle, sessionId);\n }\n\n async stats(): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return memory_stats(this._handle) as Promise<Record<string, unknown>>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_memory(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Memory has been destroyed\");\n }\n }\n}\n","/**\n * VectorStore SDK wrapper — in-memory RAG vector store backed by Rust core.\n */\nimport {\n create_vector_store,\n vector_store_upsert,\n vector_store_search,\n destroy_vector_store,\n cosine_similarity,\n} from \"gauss-napi\";\n\nimport type {\n Handle,\n Disposable,\n VectorChunk,\n SearchResult,\n} from \"./types.js\";\n\nexport class VectorStore implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor(_options?: { dimensions?: number }) {\n this._handle = create_vector_store();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n async upsert(chunks: VectorChunk[]): Promise<void> {\n this.assertNotDisposed();\n // Convert camelCase to snake_case for Rust serde\n const rustChunks = chunks.map((c) => ({\n id: c.id,\n document_id: c.documentId,\n content: c.content,\n index: c.index,\n metadata: c.metadata ?? {},\n embedding: c.embedding,\n }));\n return vector_store_upsert(this._handle, JSON.stringify(rustChunks));\n }\n\n async search(embedding: number[], topK: number): Promise<SearchResult[]> {\n this.assertNotDisposed();\n return vector_store_search(\n this._handle,\n JSON.stringify(embedding),\n topK\n ) as Promise<SearchResult[]>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_vector_store(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"VectorStore has been destroyed\");\n }\n }\n\n static cosineSimilarity(a: number[], b: number[]): number {\n return cosine_similarity(a, b);\n }\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,gBAAAC,IAAA,eAAAC,EAAAJ,GCGA,IAAAK,EAA2B,kBAC3BC,EAOO,sBAmBMC,EAAN,KAAmC,CACvB,QACT,SAAW,GAEnB,aAAc,CACZ,KAAK,WAAU,iBAAc,CAC/B,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAKA,MAAM,MACJC,EACAC,EACAC,EACe,CACf,KAAK,kBAAkB,EACvB,IAAMC,EACJ,OAAOH,GAAgB,SACnB,CACE,MAAI,cAAW,EACf,QAASC,EACT,UAAYD,GAAmC,eAC/C,UAAW,IAAI,KAAK,EAAE,YAAY,EAClC,UAAAE,CACF,EACAF,EAEAI,EAAY,CAChB,GAAID,EAAM,GACV,QAASA,EAAM,QACf,WAAYA,EAAM,UAClB,UAAWA,EAAM,UACjB,KAAMA,EAAM,KACZ,SAAUA,EAAM,SAChB,WAAYA,EAAM,WAClB,WAAYA,EAAM,UAClB,UAAWA,EAAM,SACnB,EACA,SAAO,gBAAa,KAAK,QAAS,KAAK,UAAUC,CAAS,CAAC,CAC7D,CAEA,MAAM,OAAOC,EAAiD,CAC5D,KAAK,kBAAkB,EACvB,IAAMC,EAAOD,EAAU,KAAK,UAAUA,CAAO,EAAI,OACjD,SAAO,iBAAc,KAAK,QAASC,CAAI,CACzC,CAEA,MAAM,MAAMJ,EAAmC,CAC7C,YAAK,kBAAkB,KAChB,gBAAa,KAAK,QAASA,CAAS,CAC7C,CAEA,MAAM,OAA0C,CAC9C,YAAK,kBAAkB,KAChB,gBAAa,KAAK,OAAO,CAClC,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,IACF,kBAAe,KAAK,OAAO,CAC7B,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,2BAA2B,CAE/C,CACF,EC7GA,IAAAK,EAMO,sBASMC,EAAN,KAAwC,CAC5B,QACT,SAAW,GAEnB,YAAYC,EAAoC,CAC9C,KAAK,WAAU,uBAAoB,CACrC,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAEA,MAAM,OAAOC,EAAsC,CACjD,KAAK,kBAAkB,EAEvB,IAAMC,EAAaD,EAAO,IAAKE,IAAO,CACpC,GAAIA,EAAE,GACN,YAAaA,EAAE,WACf,QAASA,EAAE,QACX,MAAOA,EAAE,MACT,SAAUA,EAAE,UAAY,CAAC,EACzB,UAAWA,EAAE,SACf,EAAE,EACF,SAAO,uBAAoB,KAAK,QAAS,KAAK,UAAUD,CAAU,CAAC,CACrE,CAEA,MAAM,OAAOE,EAAqBC,EAAuC,CACvE,YAAK,kBAAkB,KAChB,uBACL,KAAK,QACL,KAAK,UAAUD,CAAS,EACxBC,CACF,CACF,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,IACF,wBAAqB,KAAK,OAAO,CACnC,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,gCAAgC,CAEpD,CAEA,OAAO,iBAAiBC,EAAaC,EAAqB,CACxD,SAAO,qBAAkBD,EAAGC,CAAC,CAC/B,CACF","names":["rag_exports","__export","Memory","VectorStore","__toCommonJS","import_node_crypto","import_gauss_napi","Memory","entryOrRole","content","sessionId","entry","rustEntry","options","json","import_gauss_napi","VectorStore","_options","chunks","rustChunks","c","embedding","topK","a","b"]}
package/dist/rag.d.cts ADDED
@@ -0,0 +1,43 @@
1
+ import { D as Disposable, H as Handle, l as MemoryEntry, R as RecallOptions, V as VectorChunk, p as SearchResult } from './types-BkwC4s1P.cjs';
2
+
3
+ /**
4
+ * In-memory conversation store backed by Rust core.
5
+ *
6
+ * @example
7
+ * const mem = new Memory();
8
+ * await mem.store({ id: "m1", content: "Hello", entryType: "message", timestamp: new Date().toISOString() });
9
+ * const entries = await mem.recall();
10
+ * mem.destroy();
11
+ */
12
+ declare class Memory implements Disposable {
13
+ private readonly _handle;
14
+ private disposed;
15
+ constructor();
16
+ get handle(): Handle;
17
+ /** Store a memory entry. Accepts a full entry or role+content shorthand. */
18
+ store(entry: MemoryEntry): Promise<void>;
19
+ store(role: string, content: string, sessionId?: string): Promise<void>;
20
+ recall(options?: RecallOptions): Promise<MemoryEntry[]>;
21
+ clear(sessionId?: string): Promise<void>;
22
+ stats(): Promise<Record<string, unknown>>;
23
+ destroy(): void;
24
+ [Symbol.dispose](): void;
25
+ private assertNotDisposed;
26
+ }
27
+
28
+ declare class VectorStore implements Disposable {
29
+ private readonly _handle;
30
+ private disposed;
31
+ constructor(_options?: {
32
+ dimensions?: number;
33
+ });
34
+ get handle(): Handle;
35
+ upsert(chunks: VectorChunk[]): Promise<void>;
36
+ search(embedding: number[], topK: number): Promise<SearchResult[]>;
37
+ destroy(): void;
38
+ [Symbol.dispose](): void;
39
+ private assertNotDisposed;
40
+ static cosineSimilarity(a: number[], b: number[]): number;
41
+ }
42
+
43
+ export { Memory, VectorStore };
package/dist/rag.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ import { D as Disposable, H as Handle, l as MemoryEntry, R as RecallOptions, V as VectorChunk, p as SearchResult } from './types-BkwC4s1P.js';
2
+
3
+ /**
4
+ * In-memory conversation store backed by Rust core.
5
+ *
6
+ * @example
7
+ * const mem = new Memory();
8
+ * await mem.store({ id: "m1", content: "Hello", entryType: "message", timestamp: new Date().toISOString() });
9
+ * const entries = await mem.recall();
10
+ * mem.destroy();
11
+ */
12
+ declare class Memory implements Disposable {
13
+ private readonly _handle;
14
+ private disposed;
15
+ constructor();
16
+ get handle(): Handle;
17
+ /** Store a memory entry. Accepts a full entry or role+content shorthand. */
18
+ store(entry: MemoryEntry): Promise<void>;
19
+ store(role: string, content: string, sessionId?: string): Promise<void>;
20
+ recall(options?: RecallOptions): Promise<MemoryEntry[]>;
21
+ clear(sessionId?: string): Promise<void>;
22
+ stats(): Promise<Record<string, unknown>>;
23
+ destroy(): void;
24
+ [Symbol.dispose](): void;
25
+ private assertNotDisposed;
26
+ }
27
+
28
+ declare class VectorStore implements Disposable {
29
+ private readonly _handle;
30
+ private disposed;
31
+ constructor(_options?: {
32
+ dimensions?: number;
33
+ });
34
+ get handle(): Handle;
35
+ upsert(chunks: VectorChunk[]): Promise<void>;
36
+ search(embedding: number[], topK: number): Promise<SearchResult[]>;
37
+ destroy(): void;
38
+ [Symbol.dispose](): void;
39
+ private assertNotDisposed;
40
+ static cosineSimilarity(a: number[], b: number[]): number;
41
+ }
42
+
43
+ export { Memory, VectorStore };
package/dist/rag.js ADDED
@@ -0,0 +1,2 @@
1
+ import{randomUUID as a}from"crypto";import{create_memory as m,memory_store as y,memory_recall as p,memory_clear as h,memory_stats as c,destroy_memory as l}from"gauss-napi";var o=class{_handle;disposed=!1;constructor(){this._handle=m()}get handle(){return this._handle}async store(e,t,r){this.assertNotDisposed();let s=typeof e=="string"?{id:a(),content:t,entryType:e||"conversation",timestamp:new Date().toISOString(),sessionId:r}:e,d={id:s.id,content:s.content,entry_type:s.entryType,timestamp:s.timestamp,tier:s.tier,metadata:s.metadata,importance:s.importance,session_id:s.sessionId,embedding:s.embedding};return y(this._handle,JSON.stringify(d))}async recall(e){this.assertNotDisposed();let t=e?JSON.stringify(e):void 0;return p(this._handle,t)}async clear(e){return this.assertNotDisposed(),h(this._handle,e)}async stats(){return this.assertNotDisposed(),c(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{l(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("Memory has been destroyed")}};import{create_vector_store as u,vector_store_upsert as _,vector_store_search as v,destroy_vector_store as g,cosine_similarity as f}from"gauss-napi";var i=class{_handle;disposed=!1;constructor(e){this._handle=u()}get handle(){return this._handle}async upsert(e){this.assertNotDisposed();let t=e.map(r=>({id:r.id,document_id:r.documentId,content:r.content,index:r.index,metadata:r.metadata??{},embedding:r.embedding}));return _(this._handle,JSON.stringify(t))}async search(e,t){return this.assertNotDisposed(),v(this._handle,JSON.stringify(e),t)}destroy(){if(!this.disposed){this.disposed=!0;try{g(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("VectorStore has been destroyed")}static cosineSimilarity(e,t){return f(e,t)}};export{o as Memory,i as VectorStore};
2
+ //# sourceMappingURL=rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/memory.ts","../src/sdk/vector-store.ts"],"sourcesContent":["/**\n * Memory SDK wrapper — in-memory conversation/session store backed by Rust core.\n */\nimport { randomUUID } from \"node:crypto\";\nimport {\n create_memory,\n memory_store,\n memory_recall,\n memory_clear,\n memory_stats,\n destroy_memory,\n} from \"gauss-napi\";\n\nimport type {\n Handle,\n Disposable,\n MemoryEntry,\n MemoryEntryType,\n RecallOptions,\n} from \"./types.js\";\n\n/**\n * In-memory conversation store backed by Rust core.\n *\n * @example\n * const mem = new Memory();\n * await mem.store({ id: \"m1\", content: \"Hello\", entryType: \"message\", timestamp: new Date().toISOString() });\n * const entries = await mem.recall();\n * mem.destroy();\n */\nexport class Memory implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = create_memory();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n /** Store a memory entry. Accepts a full entry or role+content shorthand. */\n async store(entry: MemoryEntry): Promise<void>;\n async store(role: string, content: string, sessionId?: string): Promise<void>;\n async store(\n entryOrRole: MemoryEntry | string,\n content?: string,\n sessionId?: string\n ): Promise<void> {\n this.assertNotDisposed();\n const entry: MemoryEntry =\n typeof entryOrRole === \"string\"\n ? {\n id: randomUUID(),\n content: content!,\n entryType: (entryOrRole as MemoryEntryType) || \"conversation\",\n timestamp: new Date().toISOString(),\n sessionId,\n }\n : entryOrRole;\n // Convert to snake_case for Rust serde\n const rustEntry = {\n id: entry.id,\n content: entry.content,\n entry_type: entry.entryType,\n timestamp: entry.timestamp,\n tier: entry.tier,\n metadata: entry.metadata,\n importance: entry.importance,\n session_id: entry.sessionId,\n embedding: entry.embedding,\n };\n return memory_store(this._handle, JSON.stringify(rustEntry));\n }\n\n async recall(options?: RecallOptions): Promise<MemoryEntry[]> {\n this.assertNotDisposed();\n const json = options ? JSON.stringify(options) : undefined;\n return memory_recall(this._handle, json) as Promise<MemoryEntry[]>;\n }\n\n async clear(sessionId?: string): Promise<void> {\n this.assertNotDisposed();\n return memory_clear(this._handle, sessionId);\n }\n\n async stats(): Promise<Record<string, unknown>> {\n this.assertNotDisposed();\n return memory_stats(this._handle) as Promise<Record<string, unknown>>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_memory(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"Memory has been destroyed\");\n }\n }\n}\n","/**\n * VectorStore SDK wrapper — in-memory RAG vector store backed by Rust core.\n */\nimport {\n create_vector_store,\n vector_store_upsert,\n vector_store_search,\n destroy_vector_store,\n cosine_similarity,\n} from \"gauss-napi\";\n\nimport type {\n Handle,\n Disposable,\n VectorChunk,\n SearchResult,\n} from \"./types.js\";\n\nexport class VectorStore implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor(_options?: { dimensions?: number }) {\n this._handle = create_vector_store();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n async upsert(chunks: VectorChunk[]): Promise<void> {\n this.assertNotDisposed();\n // Convert camelCase to snake_case for Rust serde\n const rustChunks = chunks.map((c) => ({\n id: c.id,\n document_id: c.documentId,\n content: c.content,\n index: c.index,\n metadata: c.metadata ?? {},\n embedding: c.embedding,\n }));\n return vector_store_upsert(this._handle, JSON.stringify(rustChunks));\n }\n\n async search(embedding: number[], topK: number): Promise<SearchResult[]> {\n this.assertNotDisposed();\n return vector_store_search(\n this._handle,\n JSON.stringify(embedding),\n topK\n ) as Promise<SearchResult[]>;\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_vector_store(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"VectorStore has been destroyed\");\n }\n }\n\n static cosineSimilarity(a: number[], b: number[]): number {\n return cosine_similarity(a, b);\n }\n}\n"],"mappings":"AAGA,OAAS,cAAAA,MAAkB,SAC3B,OACE,iBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,kBAAAC,MACK,aAmBA,IAAMC,EAAN,KAAmC,CACvB,QACT,SAAW,GAEnB,aAAc,CACZ,KAAK,QAAUN,EAAc,CAC/B,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAKA,MAAM,MACJO,EACAC,EACAC,EACe,CACf,KAAK,kBAAkB,EACvB,IAAMC,EACJ,OAAOH,GAAgB,SACnB,CACE,GAAIR,EAAW,EACf,QAASS,EACT,UAAYD,GAAmC,eAC/C,UAAW,IAAI,KAAK,EAAE,YAAY,EAClC,UAAAE,CACF,EACAF,EAEAI,EAAY,CAChB,GAAID,EAAM,GACV,QAASA,EAAM,QACf,WAAYA,EAAM,UAClB,UAAWA,EAAM,UACjB,KAAMA,EAAM,KACZ,SAAUA,EAAM,SAChB,WAAYA,EAAM,WAClB,WAAYA,EAAM,UAClB,UAAWA,EAAM,SACnB,EACA,OAAOT,EAAa,KAAK,QAAS,KAAK,UAAUU,CAAS,CAAC,CAC7D,CAEA,MAAM,OAAOC,EAAiD,CAC5D,KAAK,kBAAkB,EACvB,IAAMC,EAAOD,EAAU,KAAK,UAAUA,CAAO,EAAI,OACjD,OAAOV,EAAc,KAAK,QAASW,CAAI,CACzC,CAEA,MAAM,MAAMJ,EAAmC,CAC7C,YAAK,kBAAkB,EAChBN,EAAa,KAAK,QAASM,CAAS,CAC7C,CAEA,MAAM,OAA0C,CAC9C,YAAK,kBAAkB,EAChBL,EAAa,KAAK,OAAO,CAClC,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,CACFC,EAAe,KAAK,OAAO,CAC7B,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,2BAA2B,CAE/C,CACF,EC7GA,OACE,uBAAAS,EACA,uBAAAC,EACA,uBAAAC,EACA,wBAAAC,EACA,qBAAAC,MACK,aASA,IAAMC,EAAN,KAAwC,CAC5B,QACT,SAAW,GAEnB,YAAYC,EAAoC,CAC9C,KAAK,QAAUN,EAAoB,CACrC,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAEA,MAAM,OAAOO,EAAsC,CACjD,KAAK,kBAAkB,EAEvB,IAAMC,EAAaD,EAAO,IAAKE,IAAO,CACpC,GAAIA,EAAE,GACN,YAAaA,EAAE,WACf,QAASA,EAAE,QACX,MAAOA,EAAE,MACT,SAAUA,EAAE,UAAY,CAAC,EACzB,UAAWA,EAAE,SACf,EAAE,EACF,OAAOR,EAAoB,KAAK,QAAS,KAAK,UAAUO,CAAU,CAAC,CACrE,CAEA,MAAM,OAAOE,EAAqBC,EAAuC,CACvE,YAAK,kBAAkB,EAChBT,EACL,KAAK,QACL,KAAK,UAAUQ,CAAS,EACxBC,CACF,CACF,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,CACFR,EAAqB,KAAK,OAAO,CACnC,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,gCAAgC,CAEpD,CAEA,OAAO,iBAAiBS,EAAaC,EAAqB,CACxD,OAAOT,EAAkBQ,EAAGC,CAAC,CAC/B,CACF","names":["randomUUID","create_memory","memory_store","memory_recall","memory_clear","memory_stats","destroy_memory","Memory","entryOrRole","content","sessionId","entry","rustEntry","options","json","create_vector_store","vector_store_upsert","vector_store_search","destroy_vector_store","cosine_similarity","VectorStore","_options","chunks","rustChunks","c","embedding","topK","a","b"]}
package/dist/tools.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var d=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var g=(s,t)=>{for(var o in t)d(s,o,{get:t[o],enumerable:!0})},c=(s,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h(t))!y.call(s,i)&&i!==o&&d(s,i,{get:()=>t[i],enumerable:!(l=p(t,i))||l.enumerable});return s};var u=s=>c(d({},"__esModule",{value:!0}),s);var m={};g(m,{ToolRegistry:()=>n,ToolValidator:()=>a});module.exports=u(m);var r=require("gauss-napi"),a=class{_handle;disposed=!1;constructor(t){this._handle=(0,r.create_tool_validator)(t)}get handle(){return this._handle}validate(t,o){return this.assertNotDisposed(),JSON.parse((0,r.tool_validator_validate)(this._handle,JSON.stringify(t),JSON.stringify(o)))}destroy(){if(!this.disposed){this.disposed=!0;try{(0,r.destroy_tool_validator)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("ToolValidator has been destroyed")}};var e=require("gauss-napi"),n=class{_handle;disposed=!1;constructor(){this._handle=(0,e.createToolRegistry)()}get handle(){return this._handle}add(t){return this.assertNotDisposed(),(0,e.toolRegistryAdd)(this._handle,JSON.stringify(t)),this}search(t){return this.assertNotDisposed(),(0,e.toolRegistrySearch)(this._handle,t)}byTag(t){return this.assertNotDisposed(),(0,e.toolRegistryByTag)(this._handle,t)}list(){return this.assertNotDisposed(),(0,e.toolRegistryList)(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{(0,e.destroyToolRegistry)(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("ToolRegistry has been destroyed")}};0&&(module.exports={ToolRegistry,ToolValidator});
2
+ //# sourceMappingURL=tools.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tools.ts","../src/sdk/tool-validator.ts","../src/sdk/tool-registry.ts"],"sourcesContent":["export { ToolValidator } from \"./sdk/tool-validator.js\";\nexport { ToolRegistry, type ToolExample, type ToolRegistryEntry, type ToolSearchResult } from \"./sdk/tool-registry.js\";\n","/**\n * Tool Validator SDK wrapper, backed by Rust core.\n */\nimport {\n create_tool_validator,\n tool_validator_validate,\n destroy_tool_validator,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable, CoercionStrategy } from \"./types.js\";\n\nexport class ToolValidator implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor(strategies?: CoercionStrategy[]) {\n this._handle = create_tool_validator(strategies);\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n validate(\n input: Record<string, unknown>,\n schema: Record<string, unknown>\n ): unknown {\n this.assertNotDisposed();\n return JSON.parse(\n tool_validator_validate(\n this._handle,\n JSON.stringify(input),\n JSON.stringify(schema)\n )\n );\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroy_tool_validator(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"ToolValidator has been destroyed\");\n }\n }\n}\n","/**\n * ToolRegistry SDK — searchable tool registry with tags, examples, and batch execution.\n */\nimport {\n createToolRegistry,\n toolRegistryAdd,\n toolRegistrySearch,\n toolRegistryByTag,\n toolRegistryList,\n destroyToolRegistry,\n} from \"gauss-napi\";\n\nimport type { Handle, Disposable } from \"./types.js\";\n\n// ── Types ───────────────────────────────────────────────────────\n\nexport interface ToolExample {\n description: string;\n input: unknown;\n expectedOutput?: unknown;\n}\n\nexport interface ToolRegistryEntry {\n name: string;\n description: string;\n tags?: string[];\n examples?: ToolExample[];\n}\n\nexport interface ToolSearchResult {\n name: string;\n description: string;\n tags: string[];\n}\n\n// ── ToolRegistry Class ──────────────────────────────────────────\n\nexport class ToolRegistry implements Disposable {\n private readonly _handle: Handle;\n private disposed = false;\n\n constructor() {\n this._handle = createToolRegistry();\n }\n\n get handle(): Handle {\n return this._handle;\n }\n\n /** Register a tool with optional tags and examples. */\n add(entry: ToolRegistryEntry): this {\n this.assertNotDisposed();\n toolRegistryAdd(this._handle, JSON.stringify(entry));\n return this;\n }\n\n /** Search tools by query (matches name, description, tags). */\n search(query: string): ToolSearchResult[] {\n this.assertNotDisposed();\n return toolRegistrySearch(this._handle, query) as ToolSearchResult[];\n }\n\n /** Find tools by tag. */\n byTag(tag: string): ToolSearchResult[] {\n this.assertNotDisposed();\n return toolRegistryByTag(this._handle, tag) as ToolSearchResult[];\n }\n\n /** List all registered tools. */\n list(): ToolRegistryEntry[] {\n this.assertNotDisposed();\n return toolRegistryList(this._handle) as ToolRegistryEntry[];\n }\n\n destroy(): void {\n if (!this.disposed) {\n this.disposed = true;\n try {\n destroyToolRegistry(this._handle);\n } catch {\n // Already destroyed.\n }\n }\n }\n\n [Symbol.dispose](): void {\n this.destroy();\n }\n\n private assertNotDisposed(): void {\n if (this.disposed) {\n throw new Error(\"ToolRegistry has been destroyed\");\n }\n }\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,kBAAAC,IAAA,eAAAC,EAAAJ,GCGA,IAAAK,EAIO,sBAIMC,EAAN,KAA0C,CAC9B,QACT,SAAW,GAEnB,YAAYC,EAAiC,CAC3C,KAAK,WAAU,yBAAsBA,CAAU,CACjD,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAEA,SACEC,EACAC,EACS,CACT,YAAK,kBAAkB,EAChB,KAAK,SACV,2BACE,KAAK,QACL,KAAK,UAAUD,CAAK,EACpB,KAAK,UAAUC,CAAM,CACvB,CACF,CACF,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,IACF,0BAAuB,KAAK,OAAO,CACrC,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,kCAAkC,CAEtD,CACF,ECtDA,IAAAC,EAOO,sBA2BMC,EAAN,KAAyC,CAC7B,QACT,SAAW,GAEnB,aAAc,CACZ,KAAK,WAAU,sBAAmB,CACpC,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAK,OACd,CAGA,IAAIC,EAAgC,CAClC,YAAK,kBAAkB,KACvB,mBAAgB,KAAK,QAAS,KAAK,UAAUA,CAAK,CAAC,EAC5C,IACT,CAGA,OAAOC,EAAmC,CACxC,YAAK,kBAAkB,KAChB,sBAAmB,KAAK,QAASA,CAAK,CAC/C,CAGA,MAAMC,EAAiC,CACrC,YAAK,kBAAkB,KAChB,qBAAkB,KAAK,QAASA,CAAG,CAC5C,CAGA,MAA4B,CAC1B,YAAK,kBAAkB,KAChB,oBAAiB,KAAK,OAAO,CACtC,CAEA,SAAgB,CACd,GAAI,CAAC,KAAK,SAAU,CAClB,KAAK,SAAW,GAChB,GAAI,IACF,uBAAoB,KAAK,OAAO,CAClC,MAAQ,CAER,CACF,CACF,CAEA,CAAC,OAAO,OAAO,GAAU,CACvB,KAAK,QAAQ,CACf,CAEQ,mBAA0B,CAChC,GAAI,KAAK,SACP,MAAM,IAAI,MAAM,iCAAiC,CAErD,CACF","names":["tools_exports","__export","ToolRegistry","ToolValidator","__toCommonJS","import_gauss_napi","ToolValidator","strategies","input","schema","import_gauss_napi","ToolRegistry","entry","query","tag"]}
@@ -0,0 +1,48 @@
1
+ import { D as Disposable, h as CoercionStrategy, H as Handle } from './types-BkwC4s1P.cjs';
2
+
3
+ declare class ToolValidator implements Disposable {
4
+ private readonly _handle;
5
+ private disposed;
6
+ constructor(strategies?: CoercionStrategy[]);
7
+ get handle(): Handle;
8
+ validate(input: Record<string, unknown>, schema: Record<string, unknown>): unknown;
9
+ destroy(): void;
10
+ [Symbol.dispose](): void;
11
+ private assertNotDisposed;
12
+ }
13
+
14
+ interface ToolExample {
15
+ description: string;
16
+ input: unknown;
17
+ expectedOutput?: unknown;
18
+ }
19
+ interface ToolRegistryEntry {
20
+ name: string;
21
+ description: string;
22
+ tags?: string[];
23
+ examples?: ToolExample[];
24
+ }
25
+ interface ToolSearchResult {
26
+ name: string;
27
+ description: string;
28
+ tags: string[];
29
+ }
30
+ declare class ToolRegistry implements Disposable {
31
+ private readonly _handle;
32
+ private disposed;
33
+ constructor();
34
+ get handle(): Handle;
35
+ /** Register a tool with optional tags and examples. */
36
+ add(entry: ToolRegistryEntry): this;
37
+ /** Search tools by query (matches name, description, tags). */
38
+ search(query: string): ToolSearchResult[];
39
+ /** Find tools by tag. */
40
+ byTag(tag: string): ToolSearchResult[];
41
+ /** List all registered tools. */
42
+ list(): ToolRegistryEntry[];
43
+ destroy(): void;
44
+ [Symbol.dispose](): void;
45
+ private assertNotDisposed;
46
+ }
47
+
48
+ export { type ToolExample, ToolRegistry, type ToolRegistryEntry, type ToolSearchResult, ToolValidator };
@@ -0,0 +1,48 @@
1
+ import { D as Disposable, h as CoercionStrategy, H as Handle } from './types-BkwC4s1P.js';
2
+
3
+ declare class ToolValidator implements Disposable {
4
+ private readonly _handle;
5
+ private disposed;
6
+ constructor(strategies?: CoercionStrategy[]);
7
+ get handle(): Handle;
8
+ validate(input: Record<string, unknown>, schema: Record<string, unknown>): unknown;
9
+ destroy(): void;
10
+ [Symbol.dispose](): void;
11
+ private assertNotDisposed;
12
+ }
13
+
14
+ interface ToolExample {
15
+ description: string;
16
+ input: unknown;
17
+ expectedOutput?: unknown;
18
+ }
19
+ interface ToolRegistryEntry {
20
+ name: string;
21
+ description: string;
22
+ tags?: string[];
23
+ examples?: ToolExample[];
24
+ }
25
+ interface ToolSearchResult {
26
+ name: string;
27
+ description: string;
28
+ tags: string[];
29
+ }
30
+ declare class ToolRegistry implements Disposable {
31
+ private readonly _handle;
32
+ private disposed;
33
+ constructor();
34
+ get handle(): Handle;
35
+ /** Register a tool with optional tags and examples. */
36
+ add(entry: ToolRegistryEntry): this;
37
+ /** Search tools by query (matches name, description, tags). */
38
+ search(query: string): ToolSearchResult[];
39
+ /** Find tools by tag. */
40
+ byTag(tag: string): ToolSearchResult[];
41
+ /** List all registered tools. */
42
+ list(): ToolRegistryEntry[];
43
+ destroy(): void;
44
+ [Symbol.dispose](): void;
45
+ private assertNotDisposed;
46
+ }
47
+
48
+ export { type ToolExample, ToolRegistry, type ToolRegistryEntry, type ToolSearchResult, ToolValidator };
package/dist/tools.js ADDED
@@ -0,0 +1,2 @@
1
+ import{create_tool_validator as i,tool_validator_validate as a,destroy_tool_validator as n}from"gauss-napi";var e=class{_handle;disposed=!1;constructor(t){this._handle=i(t)}get handle(){return this._handle}validate(t,r){return this.assertNotDisposed(),JSON.parse(a(this._handle,JSON.stringify(t),JSON.stringify(r)))}destroy(){if(!this.disposed){this.disposed=!0;try{n(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("ToolValidator has been destroyed")}};import{createToolRegistry as d,toolRegistryAdd as l,toolRegistrySearch as p,toolRegistryByTag as h,toolRegistryList as y,destroyToolRegistry as g}from"gauss-napi";var s=class{_handle;disposed=!1;constructor(){this._handle=d()}get handle(){return this._handle}add(t){return this.assertNotDisposed(),l(this._handle,JSON.stringify(t)),this}search(t){return this.assertNotDisposed(),p(this._handle,t)}byTag(t){return this.assertNotDisposed(),h(this._handle,t)}list(){return this.assertNotDisposed(),y(this._handle)}destroy(){if(!this.disposed){this.disposed=!0;try{g(this._handle)}catch{}}}[Symbol.dispose](){this.destroy()}assertNotDisposed(){if(this.disposed)throw new Error("ToolRegistry has been destroyed")}};export{s as ToolRegistry,e as ToolValidator};
2
+ //# sourceMappingURL=tools.js.map