@mcoda/mswarm 0.1.108 → 0.1.109

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 (157) hide show
  1. package/dist/codali-executor.d.ts.map +1 -1
  2. package/dist/codali-executor.js +17 -3
  3. package/dist/codali-executor.js.map +1 -1
  4. package/dist/runtime.d.ts.map +1 -1
  5. package/dist/runtime.js +55 -2
  6. package/dist/runtime.js.map +1 -1
  7. package/dist/vendor/codali/agents/AgentInventory.d.ts +56 -0
  8. package/dist/vendor/codali/agents/AgentInventory.d.ts.map +1 -0
  9. package/dist/vendor/codali/agents/AgentInventory.js +131 -0
  10. package/dist/vendor/codali/agents/RoleResolution.d.ts +49 -0
  11. package/dist/vendor/codali/agents/RoleResolution.d.ts.map +1 -0
  12. package/dist/vendor/codali/agents/RoleResolution.js +166 -0
  13. package/dist/vendor/codali/api/ChatCompletionsAdapter.d.ts +76 -0
  14. package/dist/vendor/codali/api/ChatCompletionsAdapter.d.ts.map +1 -0
  15. package/dist/vendor/codali/api/ChatCompletionsAdapter.js +54 -0
  16. package/dist/vendor/codali/api/CodaliApi.d.ts +78 -0
  17. package/dist/vendor/codali/api/CodaliApi.d.ts.map +1 -0
  18. package/dist/vendor/codali/api/CodaliApi.js +273 -0
  19. package/dist/vendor/codali/api/CodaliServer.d.ts +42 -0
  20. package/dist/vendor/codali/api/CodaliServer.d.ts.map +1 -0
  21. package/dist/vendor/codali/api/CodaliServer.js +118 -0
  22. package/dist/vendor/codali/cli/AskCommand.d.ts +66 -0
  23. package/dist/vendor/codali/cli/AskCommand.d.ts.map +1 -0
  24. package/dist/vendor/codali/cli/AskCommand.js +536 -0
  25. package/dist/vendor/codali/cli/AuthCommand.d.ts +19 -0
  26. package/dist/vendor/codali/cli/AuthCommand.d.ts.map +1 -0
  27. package/dist/vendor/codali/cli/AuthCommand.js +161 -0
  28. package/dist/vendor/codali/cli/ServeCommand.d.ts +5 -0
  29. package/dist/vendor/codali/cli/ServeCommand.d.ts.map +1 -0
  30. package/dist/vendor/codali/cli/ServeCommand.js +87 -0
  31. package/dist/vendor/codali/cli/ToolsCommand.d.ts +22 -0
  32. package/dist/vendor/codali/cli/ToolsCommand.d.ts.map +1 -0
  33. package/dist/vendor/codali/cli/ToolsCommand.js +208 -0
  34. package/dist/vendor/codali/cli.d.ts.map +1 -1
  35. package/dist/vendor/codali/cli.js +29 -1
  36. package/dist/vendor/codali/connectors/http/HttpToolDefinition.d.ts +74 -0
  37. package/dist/vendor/codali/connectors/http/HttpToolDefinition.d.ts.map +1 -0
  38. package/dist/vendor/codali/connectors/http/HttpToolDefinition.js +190 -0
  39. package/dist/vendor/codali/connectors/http/HttpToolSource.d.ts +18 -0
  40. package/dist/vendor/codali/connectors/http/HttpToolSource.d.ts.map +1 -0
  41. package/dist/vendor/codali/connectors/http/HttpToolSource.js +29 -0
  42. package/dist/vendor/codali/connectors/mcp/McpClient.d.ts +132 -0
  43. package/dist/vendor/codali/connectors/mcp/McpClient.d.ts.map +1 -0
  44. package/dist/vendor/codali/connectors/mcp/McpClient.js +215 -0
  45. package/dist/vendor/codali/connectors/mcp/McpServerRegistry.d.ts +75 -0
  46. package/dist/vendor/codali/connectors/mcp/McpServerRegistry.d.ts.map +1 -0
  47. package/dist/vendor/codali/connectors/mcp/McpServerRegistry.js +180 -0
  48. package/dist/vendor/codali/connectors/mcp/McpToolAdapter.d.ts +48 -0
  49. package/dist/vendor/codali/connectors/mcp/McpToolAdapter.d.ts.map +1 -0
  50. package/dist/vendor/codali/connectors/mcp/McpToolAdapter.js +101 -0
  51. package/dist/vendor/codali/connectors/mcp/McpToolSource.d.ts +27 -0
  52. package/dist/vendor/codali/connectors/mcp/McpToolSource.d.ts.map +1 -0
  53. package/dist/vendor/codali/connectors/mcp/McpToolSource.js +33 -0
  54. package/dist/vendor/codali/connectors/media/ImageGenerationTool.d.ts +43 -0
  55. package/dist/vendor/codali/connectors/media/ImageGenerationTool.d.ts.map +1 -0
  56. package/dist/vendor/codali/connectors/media/ImageGenerationTool.js +122 -0
  57. package/dist/vendor/codali/connectors/oauth/DeviceCodeAuth.d.ts +74 -0
  58. package/dist/vendor/codali/connectors/oauth/DeviceCodeAuth.d.ts.map +1 -0
  59. package/dist/vendor/codali/connectors/oauth/DeviceCodeAuth.js +153 -0
  60. package/dist/vendor/codali/docdex/DocdexClient.d.ts +2 -0
  61. package/dist/vendor/codali/docdex/DocdexClient.d.ts.map +1 -1
  62. package/dist/vendor/codali/docdex/DocdexClient.js +4 -0
  63. package/dist/vendor/codali/gateway/CodaliGateway.d.ts +51 -3
  64. package/dist/vendor/codali/gateway/CodaliGateway.d.ts.map +1 -1
  65. package/dist/vendor/codali/gateway/CodaliGateway.js +226 -2
  66. package/dist/vendor/codali/gateway/CodaliGatewayTypes.d.ts +34 -0
  67. package/dist/vendor/codali/gateway/CodaliGatewayTypes.d.ts.map +1 -1
  68. package/dist/vendor/codali/gateway/EvidenceNormalizer.d.ts.map +1 -1
  69. package/dist/vendor/codali/gateway/EvidenceNormalizer.js +90 -1
  70. package/dist/vendor/codali/gateway/Finalizer.d.ts +50 -0
  71. package/dist/vendor/codali/gateway/Finalizer.d.ts.map +1 -0
  72. package/dist/vendor/codali/gateway/Finalizer.js +79 -0
  73. package/dist/vendor/codali/gateway/GatewayPlanner.d.ts +13 -0
  74. package/dist/vendor/codali/gateway/GatewayPlanner.d.ts.map +1 -1
  75. package/dist/vendor/codali/gateway/GatewayPlanner.js +81 -16
  76. package/dist/vendor/codali/gateway/GatewayStateMachine.d.ts.map +1 -1
  77. package/dist/vendor/codali/gateway/GatewayStateMachine.js +6 -0
  78. package/dist/vendor/codali/gateway/GatewayTracer.d.ts +93 -0
  79. package/dist/vendor/codali/gateway/GatewayTracer.d.ts.map +1 -0
  80. package/dist/vendor/codali/gateway/GatewayTracer.js +214 -0
  81. package/dist/vendor/codali/gateway/LocalGatewayProvider.d.ts +46 -0
  82. package/dist/vendor/codali/gateway/LocalGatewayProvider.d.ts.map +1 -0
  83. package/dist/vendor/codali/gateway/LocalGatewayProvider.js +161 -0
  84. package/dist/vendor/codali/gateway/LocalGatewayTaskRunner.d.ts +79 -0
  85. package/dist/vendor/codali/gateway/LocalGatewayTaskRunner.d.ts.map +1 -0
  86. package/dist/vendor/codali/gateway/LocalGatewayTaskRunner.js +354 -0
  87. package/dist/vendor/codali/gateway/RelevanceJudge.d.ts +14 -0
  88. package/dist/vendor/codali/gateway/RelevanceJudge.d.ts.map +1 -0
  89. package/dist/vendor/codali/gateway/RelevanceJudge.js +87 -0
  90. package/dist/vendor/codali/gateway/ResponseSchema.d.ts +32 -0
  91. package/dist/vendor/codali/gateway/ResponseSchema.d.ts.map +1 -0
  92. package/dist/vendor/codali/gateway/ResponseSchema.js +120 -0
  93. package/dist/vendor/codali/gateway/TemporalContext.d.ts +36 -0
  94. package/dist/vendor/codali/gateway/TemporalContext.d.ts.map +1 -0
  95. package/dist/vendor/codali/gateway/TemporalContext.js +115 -0
  96. package/dist/vendor/codali/gateway/ToolCapabilityCompiler.d.ts +5 -0
  97. package/dist/vendor/codali/gateway/ToolCapabilityCompiler.d.ts.map +1 -1
  98. package/dist/vendor/codali/gateway/ToolCapabilityCompiler.js +27 -2
  99. package/dist/vendor/codali/gateway/ToolDescriptorSource.d.ts +6 -0
  100. package/dist/vendor/codali/gateway/ToolDescriptorSource.d.ts.map +1 -0
  101. package/dist/vendor/codali/gateway/ToolDescriptorSource.js +30 -0
  102. package/dist/vendor/codali/gateway/ToolExposure.d.ts +36 -0
  103. package/dist/vendor/codali/gateway/ToolExposure.d.ts.map +1 -0
  104. package/dist/vendor/codali/gateway/ToolExposure.js +154 -0
  105. package/dist/vendor/codali/index.d.ts +57 -0
  106. package/dist/vendor/codali/index.d.ts.map +1 -1
  107. package/dist/vendor/codali/index.js +45 -0
  108. package/dist/vendor/codali/providers/ClaudeCliProvider.d.ts +2 -0
  109. package/dist/vendor/codali/providers/ClaudeCliProvider.d.ts.map +1 -1
  110. package/dist/vendor/codali/providers/ClaudeCliProvider.js +2 -0
  111. package/dist/vendor/codali/providers/CodexCliProvider.d.ts +2 -0
  112. package/dist/vendor/codali/providers/CodexCliProvider.d.ts.map +1 -1
  113. package/dist/vendor/codali/providers/CodexCliProvider.js +2 -0
  114. package/dist/vendor/codali/providers/MswarmWorkerProvider.d.ts +2 -0
  115. package/dist/vendor/codali/providers/MswarmWorkerProvider.d.ts.map +1 -1
  116. package/dist/vendor/codali/providers/MswarmWorkerProvider.js +2 -0
  117. package/dist/vendor/codali/providers/OllamaRemoteProvider.d.ts +2 -0
  118. package/dist/vendor/codali/providers/OllamaRemoteProvider.d.ts.map +1 -1
  119. package/dist/vendor/codali/providers/OllamaRemoteProvider.js +2 -0
  120. package/dist/vendor/codali/providers/OpenAiCompatibleProvider.d.ts +2 -0
  121. package/dist/vendor/codali/providers/OpenAiCompatibleProvider.d.ts.map +1 -1
  122. package/dist/vendor/codali/providers/OpenAiCompatibleProvider.js +2 -0
  123. package/dist/vendor/codali/providers/ProviderTypes.d.ts +13 -0
  124. package/dist/vendor/codali/providers/ProviderTypes.d.ts.map +1 -1
  125. package/dist/vendor/codali/providers/ProviderTypes.js +1 -1
  126. package/dist/vendor/codali/runcontext/CredentialFile.d.ts +12 -0
  127. package/dist/vendor/codali/runcontext/CredentialFile.d.ts.map +1 -0
  128. package/dist/vendor/codali/runcontext/CredentialFile.js +81 -0
  129. package/dist/vendor/codali/runcontext/RunContextResolver.d.ts +126 -0
  130. package/dist/vendor/codali/runcontext/RunContextResolver.d.ts.map +1 -0
  131. package/dist/vendor/codali/runcontext/RunContextResolver.js +389 -0
  132. package/dist/vendor/codali/storage/CodaliDatasetPrivacyEngine.d.ts +1 -1
  133. package/dist/vendor/codali/storage/CodaliDatasetPrivacyEngine.d.ts.map +1 -1
  134. package/dist/vendor/codali/storage/CodaliDatasetPrivacyEngine.js +12 -0
  135. package/dist/vendor/codali/tools/ToolRegistry.d.ts +14 -1
  136. package/dist/vendor/codali/tools/ToolRegistry.d.ts.map +1 -1
  137. package/dist/vendor/codali/tools/ToolRegistry.js +38 -1
  138. package/dist/vendor/codali/tools/ToolTypes.d.ts +35 -0
  139. package/dist/vendor/codali/tools/ToolTypes.d.ts.map +1 -1
  140. package/dist/vendor/codali/tools/ToolTypes.js +21 -0
  141. package/dist/vendor/codali/tools/TruncateResult.d.ts +29 -0
  142. package/dist/vendor/codali/tools/TruncateResult.d.ts.map +1 -0
  143. package/dist/vendor/codali/tools/TruncateResult.js +91 -0
  144. package/dist/vendor/codali/tools/diff/DiffTool.d.ts.map +1 -1
  145. package/dist/vendor/codali/tools/diff/DiffTool.js +2 -0
  146. package/dist/vendor/codali/tools/docdex/DocdexTools.d.ts +21 -1
  147. package/dist/vendor/codali/tools/docdex/DocdexTools.d.ts.map +1 -1
  148. package/dist/vendor/codali/tools/docdex/DocdexTools.js +108 -16
  149. package/dist/vendor/codali/tools/filesystem/FileTools.d.ts.map +1 -1
  150. package/dist/vendor/codali/tools/filesystem/FileTools.js +8 -0
  151. package/dist/vendor/codali/tools/search/SearchTool.d.ts.map +1 -1
  152. package/dist/vendor/codali/tools/search/SearchTool.js +3 -1
  153. package/dist/vendor/codali/tools/shell/ShellTool.d.ts.map +1 -1
  154. package/dist/vendor/codali/tools/shell/ShellTool.js +2 -0
  155. package/package.json +3 -3
  156. package/scripts/stable-diffusion-cpp-auth-guard.py +475 -0
  157. package/scripts/stable-diffusion-cpp-openai-server.py +44 -0
package/dist/runtime.js CHANGED
@@ -2282,6 +2282,41 @@ function mcodaAgentDefaultModel(agent) {
2282
2282
  optionalText(agent.models?.find((model) => model.isDefault === true || model.is_default === true)?.model_name) ||
2283
2283
  null);
2284
2284
  }
2285
+ /**
2286
+ * The agent's base URL, but only when it names a runner on this machine.
2287
+ *
2288
+ * The catalogue publishes a mirror of each self-hosted agent back to the node,
2289
+ * and that mirror's base URL is the gateway. Serving a job from it sends the
2290
+ * request back out instead of to the model running here, so a loopback address
2291
+ * is what distinguishes the real runner from its reflection.
2292
+ */
2293
+ function mcodaAgentLocalRunnerBaseUrl(agent) {
2294
+ const config = isRecord(agent.config) ? agent.config : {};
2295
+ const localRunner = isRecord(config.localRunner) ? config.localRunner : {};
2296
+ const baseUrl = readConfigString({ ...localRunner, ...config }, [
2297
+ "baseUrl",
2298
+ "base_url",
2299
+ "endpoint",
2300
+ "apiBaseUrl",
2301
+ "api_base_url"
2302
+ ]);
2303
+ if (!baseUrl) {
2304
+ return null;
2305
+ }
2306
+ let host;
2307
+ try {
2308
+ host = new URL(baseUrl).hostname.toLowerCase();
2309
+ }
2310
+ catch {
2311
+ return null;
2312
+ }
2313
+ const isLoopback = host === "localhost" ||
2314
+ host === "::1" ||
2315
+ host === "0.0.0.0" ||
2316
+ host.endsWith(".localhost") ||
2317
+ /^127\./.test(host);
2318
+ return isLoopback ? baseUrl : null;
2319
+ }
2285
2320
  function resolveCodaliProviderForAgent(agent) {
2286
2321
  const adapter = optionalText(agent.adapter);
2287
2322
  if (isLocalOpenAiCompatibleAdapter(adapter)) {
@@ -4825,7 +4860,16 @@ export class SelfHostedNodeRuntime {
4825
4860
  async executeOpenAiToolPassthrough(job, agent) {
4826
4861
  const baseUrl = optionalText(agent.baseUrl);
4827
4862
  if (!baseUrl) {
4828
- throw new SelfHostedPreStartJobError("selected_agent_unavailable", "agent has no local runner base URL for OpenAI tool pass-through");
4863
+ /*
4864
+ * Name the agent. "agent has no local runner base URL" alone cannot be
4865
+ * acted on: a node holds several entries per model - the local runner and
4866
+ * the gateway's mirror of it - and this says nothing about which one was
4867
+ * resolved or whether it carried a config at all.
4868
+ */
4869
+ throw new SelfHostedPreStartJobError("selected_agent_unavailable", `agent has no local runner base URL for OpenAI tool pass-through ` +
4870
+ `(slug=${optionalText(agent.slug) || "?"} adapter=${optionalText(agent.adapter) || "?"} ` +
4871
+ `runnerKind=${optionalText(agent.runnerKind) || "?"} ` +
4872
+ `localRunner=${agent.localRunner ? "yes" : "no"} model=${optionalText(agent.model) || "?"})`);
4829
4873
  }
4830
4874
  const headers = { "content-type": "application/json" };
4831
4875
  const bearer = agent.authMode === "bearer"
@@ -5218,7 +5262,7 @@ export class SelfHostedNodeRuntime {
5218
5262
  }
5219
5263
  const rawAgents = await this.mcoda.listRawAgents();
5220
5264
  const strictSelectedAgent = selectedSourceAgentSlug || selectedAgentSlug;
5221
- const agent = rawAgents.find((entry) => {
5265
+ const matches = rawAgents.filter((entry) => {
5222
5266
  const slug = optionalText(entry.slug);
5223
5267
  if (strictSelectedAgent) {
5224
5268
  return slug === strictSelectedAgent;
@@ -5226,6 +5270,15 @@ export class SelfHostedNodeRuntime {
5226
5270
  const defaultModel = mcodaAgentDefaultModel(entry);
5227
5271
  return slug === selected || defaultModel === selected;
5228
5272
  });
5273
+ /*
5274
+ * A node carries two entries for the same model: the local runner, and the
5275
+ * gateway mirror that the catalogue publishes back to it. The mirror's base
5276
+ * URL is the gateway itself, so serving a job from it sends the request back
5277
+ * out to the gateway instead of to the model sitting on this machine - which
5278
+ * is why OpenAI tool pass-through reported having no local runner to call.
5279
+ * Take the entry that actually points at a runner here.
5280
+ */
5281
+ const agent = matches.find((entry) => Boolean(mcodaAgentLocalRunnerBaseUrl(entry))) ?? matches[0];
5229
5282
  if (!agent) {
5230
5283
  throw new SelfHostedPreStartJobError("selected_agent_unavailable", `selected local mcoda agent ${selected} is not available on this node`);
5231
5284
  }