the-citadel 0.4.1 → 0.4.3

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.

Potentially problematic release.


This version of the-citadel might be problematic. Click here for more details.

Files changed (62) hide show
  1. package/dist/{src/core → core}/beads.d.ts +1 -0
  2. package/dist/index.js +35 -2
  3. package/package.json +1 -1
  4. package/dist/citadel +0 -0
  5. package/dist/citadel-forge/App.d.ts +0 -3
  6. package/dist/citadel-forge/components/Sidebar.d.ts +0 -9
  7. package/dist/citadel-forge/components/TextEditor.d.ts +0 -7
  8. package/dist/citadel-forge/components/VisualEditor.d.ts +0 -9
  9. package/dist/citadel-forge/constants.d.ts +0 -4
  10. package/dist/citadel-forge/index.d.ts +0 -1
  11. package/dist/citadel-forge/services/geminiService.d.ts +0 -1
  12. package/dist/citadel-forge/types.d.ts +0 -36
  13. package/dist/citadel-forge/utils/citadelParser.d.ts +0 -11
  14. package/dist/citadel-forge/vite.config.d.ts +0 -2
  15. package/dist/citadel.config.d.ts +0 -71
  16. package/dist/scripts/verify-agents-md.d.ts +0 -1
  17. package/dist/src/index.d.ts +0 -2
  18. package/dist/temp/test_schema.d.ts +0 -6
  19. package/dist/tests/e2e/e2e.test.d.ts +0 -1
  20. package/dist/tests/integration/beads.test.d.ts +0 -1
  21. package/dist/tests/integration/concurrency.test.d.ts +0 -1
  22. package/dist/tests/integration/conductor.test.d.ts +0 -1
  23. package/dist/tests/integration/data_flow.test.d.ts +0 -1
  24. package/dist/tests/integration/ddp.test.d.ts +0 -1
  25. package/dist/tests/integration/hooks.test.d.ts +0 -1
  26. package/dist/tests/integration/queue.test.d.ts +0 -1
  27. package/dist/tests/integration/worker_tools.test.d.ts +0 -1
  28. package/dist/tests/mcp.test.d.ts +0 -1
  29. package/dist/tests/unit/agents.test.d.ts +0 -1
  30. package/dist/tests/unit/config.test.d.ts +0 -1
  31. package/dist/tests/workflow.test.d.ts +0 -1
  32. package/dist/tests/workflow_failure.test.d.ts +0 -1
  33. /package/dist/{src/agents → agents}/evaluator.d.ts +0 -0
  34. /package/dist/{src/agents → agents}/index.d.ts +0 -0
  35. /package/dist/{src/agents → agents}/router.d.ts +0 -0
  36. /package/dist/{src/agents → agents}/worker.d.ts +0 -0
  37. /package/dist/{src/bridge → bridge}/components/Dashboard.d.ts +0 -0
  38. /package/dist/{src/bridge → bridge}/components/MoleculeTree.d.ts +0 -0
  39. /package/dist/{src/bridge → bridge}/index.d.ts +0 -0
  40. /package/dist/{src/config → config}/index.d.ts +0 -0
  41. /package/dist/{src/config → config}/schema.d.ts +0 -0
  42. /package/dist/{src/core → core}/agent.d.ts +0 -0
  43. /package/dist/{src/core → core}/formula.d.ts +0 -0
  44. /package/dist/{src/core → core}/gitignore.d.ts +0 -0
  45. /package/dist/{src/core → core}/hooks.d.ts +0 -0
  46. /package/dist/{src/core → core}/instruction.d.ts +0 -0
  47. /package/dist/{src/core → core}/llm.d.ts +0 -0
  48. /package/dist/{src/core → core}/logger.d.ts +0 -0
  49. /package/dist/{src/core → core}/pool.d.ts +0 -0
  50. /package/dist/{src/core → core}/queue.d.ts +0 -0
  51. /package/dist/{src/core → core}/registry.d.ts +0 -0
  52. /package/dist/{src/core → core}/schema-utils.d.ts +0 -0
  53. /package/dist/{dist/index.d.ts → index.d.ts} +0 -0
  54. /package/dist/{src/services → services}/conductor.d.ts +0 -0
  55. /package/dist/{src/services → services}/mcp.d.ts +0 -0
  56. /package/dist/{src/services → services}/piper.d.ts +0 -0
  57. /package/dist/{src/services → services}/project-context.d.ts +0 -0
  58. /package/dist/{src/services → services}/workflow-engine.d.ts +0 -0
  59. /package/dist/{src/tools → tools}/evaluator.d.ts +0 -0
  60. /package/dist/{src/tools → tools}/router.d.ts +0 -0
  61. /package/dist/{src/tools → tools}/shell.d.ts +0 -0
  62. /package/dist/{src/tools → tools}/worker.d.ts +0 -0
@@ -64,6 +64,7 @@ export declare class BeadsClient {
64
64
  update(id: string, changes: Partial<Bead>): Promise<Bead>;
65
65
  private validateTransition;
66
66
  addDependency(childId: string, parentId: string): Promise<void>;
67
+ addComment(id: string, comment: string): Promise<string>;
67
68
  }
68
69
  export declare function getBeads(basePath?: string): BeadsClient;
69
70
  export declare function setBeadsInstance(beads: BeadsClient): void;
package/dist/index.js CHANGED
@@ -84440,7 +84440,7 @@ class BeadsClient {
84440
84440
  this.binary = binary2 || config2?.beads.binary || "bd";
84441
84441
  }
84442
84442
  async runCommand(args, retryCount = 0) {
84443
- const command = `${this.binary} --sandbox ${args}`;
84443
+ const command = `${this.binary} --sandbox --no-db ${args}`;
84444
84444
  const cwd2 = this.basePath.endsWith(".beads") ? resolve5(this.basePath, "..") : this.basePath;
84445
84445
  try {
84446
84446
  const { stdout, stderr } = await this.execute(command, cwd2);
@@ -84718,6 +84718,10 @@ ${descText}`;
84718
84718
  async addDependency(childId, parentId) {
84719
84719
  await this.runCommand(`dep add ${childId} ${parentId}`);
84720
84720
  }
84721
+ async addComment(id, comment) {
84722
+ const escaped = comment.replace(/"/g, "\\\"");
84723
+ return this.runCommand(`comments add ${id} "${escaped}"`);
84724
+ }
84721
84725
  }
84722
84726
  var BEADS_KEY = "beads_client";
84723
84727
  function getBeads(basePath) {
@@ -93958,6 +93962,11 @@ Request: ${prompt}`
93958
93962
  let finalResult = "";
93959
93963
  let didRemindForCompletion = false;
93960
93964
  let completionToolCalled = false;
93965
+ const totalUsage = {
93966
+ inputTokens: 0,
93967
+ outputTokens: 0,
93968
+ totalTokens: 0
93969
+ };
93961
93970
  for (let i2 = 0;i2 < 50; i2++) {
93962
93971
  const config2 = getConfig();
93963
93972
  const { maxHistoryMessages = 20, maxToolResponseSize = 50000, maxMessageSize = 1e5 } = config2.context || {};
@@ -93981,6 +93990,12 @@ Request: ${prompt}`
93981
93990
  }
93982
93991
  }
93983
93992
  const result = await this.executeGenerateText(messages);
93993
+ console.log("DEBUG: result.usage", JSON.stringify(result.usage));
93994
+ if (result.usage) {
93995
+ totalUsage.inputTokens += result.usage.inputTokens || 0;
93996
+ totalUsage.outputTokens += result.usage.outputTokens || 0;
93997
+ totalUsage.totalTokens += result.usage.totalTokens || 0;
93998
+ }
93984
93999
  const assistantContent = [];
93985
94000
  if (result.text) {
93986
94001
  assistantContent.push({ type: "text", text: result.text });
@@ -94173,6 +94188,20 @@ If you are still working, continue with your next step.`
94173
94188
  break;
94174
94189
  }
94175
94190
  }
94191
+ if (context2?.beadId) {
94192
+ try {
94193
+ const summary = `**Agent Execution Summary**
94194
+ - **Role**: ${this.role}
94195
+ - **Input Tokens**: ${totalUsage.inputTokens}
94196
+ - **Output Tokens**: ${totalUsage.outputTokens}
94197
+ - **Total Tokens**: ${totalUsage.totalTokens}`;
94198
+ getBeads().addComment(context2.beadId, summary).catch((err) => {
94199
+ logger.warn(`[${this.role}] Failed to report token usage to bead ${context2.beadId}`, { error: err });
94200
+ });
94201
+ } catch (err) {
94202
+ logger.warn(`[${this.role}] Error preparing token usage report`, { error: err });
94203
+ }
94204
+ }
94176
94205
  return finalResult;
94177
94206
  }
94178
94207
  }
@@ -96068,7 +96097,7 @@ class BeadsClient2 {
96068
96097
  this.binary = binary2 || config2?.beads.binary || "bd";
96069
96098
  }
96070
96099
  async runCommand(args, retryCount = 0) {
96071
- const command = `${this.binary} --sandbox ${args}`;
96100
+ const command = `${this.binary} --sandbox --no-db ${args}`;
96072
96101
  const cwd2 = this.basePath.endsWith(".beads") ? resolve10(this.basePath, "..") : this.basePath;
96073
96102
  try {
96074
96103
  const { stdout, stderr } = await this.execute(command, cwd2);
@@ -96346,6 +96375,10 @@ ${descText}`;
96346
96375
  async addDependency(childId, parentId) {
96347
96376
  await this.runCommand(`dep add ${childId} ${parentId}`);
96348
96377
  }
96378
+ async addComment(id, comment) {
96379
+ const escaped = comment.replace(/"/g, "\\\"");
96380
+ return this.runCommand(`comments add ${id} "${escaped}"`);
96381
+ }
96349
96382
  }
96350
96383
  var BEADS_KEY2 = "beads_client";
96351
96384
  function getBeads2(basePath) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "the-citadel",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "A deterministic agent orchestration system for Knowledge Work",
5
5
  "module": "src/index.ts",
6
6
  "type": "module",
package/dist/citadel DELETED
Binary file
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare const App: React.FC;
3
- export default App;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { CitadelFormula } from '../types';
3
- interface SidebarProps {
4
- formula: CitadelFormula;
5
- selectedStepId: string | null;
6
- onClose: () => void;
7
- }
8
- declare const Sidebar: React.FC<SidebarProps>;
9
- export default Sidebar;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- interface TextEditorProps {
3
- value: string;
4
- onChange: (val: string) => void;
5
- }
6
- declare const TextEditor: React.FC<TextEditorProps>;
7
- export default TextEditor;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { CitadelFormula } from '../types';
3
- interface VisualEditorProps {
4
- formula: CitadelFormula;
5
- selectedNodeId: string | null;
6
- onNodeSelect: (stepId: string | null) => void;
7
- }
8
- declare const VisualEditor: React.FC<VisualEditorProps>;
9
- export default VisualEditor;
@@ -1,4 +0,0 @@
1
- export declare const INITIAL_FORMULA_TOML = "formula = \"smart_content_pipeline\"\ndescription = \"Research, draft, compliance check, and grade content using chained AI agents\"\n\n[vars.topic]\ndescription = \"The subject to generate content for\"\ndefault = \"The Future of Quantum Computing\"\nrequired = true\n\n# 1. Research Step\n[[steps]]\nid = \"research\"\ntitle = \"Research Agent\"\ndescription = \"Gathers key facts and sources\"\ncontext = { query = \"{{topic}}\", depth = \"detailed\" }\n\n # Define what this step outputs\n [steps.output_schema]\n type = \"object\"\n required = [\"facts\", \"sources\"]\n\n [steps.output_schema.properties.facts]\n type = \"array\"\n [steps.output_schema.properties.facts.items]\n type = \"string\"\n\n [steps.output_schema.properties.sources]\n type = \"array\"\n [steps.output_schema.properties.sources.items]\n type = \"object\"\n properties = { url = { type = \"string\" }, title = { type = \"string\" } }\n\n\n# 2. Drafting Step (Uses output from Research)\n[[steps]]\nid = \"draft\"\ntitle = \"Writer Agent\"\nneeds = [\"research\"]\ncontext = { facts = \"{{steps.research.output.facts}}\", tone = \"professional\" }\n\n [steps.output_schema]\n type = \"object\"\n required = [\"content\", \"word_count\"]\n \n [steps.output_schema.properties.content]\n type = \"string\"\n \n [steps.output_schema.properties.word_count]\n type = \"number\"\n\n\n# 3. Compliance Check (Simulated Failure Point)\n[[steps]]\nid = \"compliance\"\ntitle = \"Legal Compliance Scan\"\nneeds = [\"draft\"]\non_failure = \"sanitize_content\"\ncontext = { text = \"{{steps.draft.output.content}}\" }\n\n# 3b. Recovery Step (Runs only if compliance fails)\n[[steps]]\nid = \"sanitize_content\"\ntitle = \"Sanitize Content\"\ndescription = \"Removes restricted keywords\"\ncontext = { text = \"{{steps.draft.output.content}}\", mode = \"strict\" }\n\n\n# 4. Editing Step (Depends on Compliance)\n[[steps]]\nid = \"editor\"\ntitle = \"Quality Control\"\nneeds = [\"compliance\"]\ncontext = { text = \"{{steps.draft.output.content}}\", min_words = 500 }\n\n [steps.output_schema]\n type = \"object\"\n required = [\"score\", \"approved\", \"feedback\"]\n \n [steps.output_schema.properties.score]\n type = \"number\"\n \n [steps.output_schema.properties.approved]\n type = \"boolean\"\n \n [steps.output_schema.properties.feedback]\n type = \"string\"\n\n\n# 5. Publication (Conditional)\n[[steps]]\nid = \"publish\"\ntitle = \"CMS Publisher\"\ndescription = \"Publishes only if approved\"\nneeds = [\"editor\"]\n# Conditional logic: Skip unless approved\nif = \"{{steps.editor.output.approved}} == true\"\ncontext = { payload = \"{{steps.draft.output.content}}\", tags = [\"ai-generated\", \"{{topic}}\"] }\n";
2
- export declare const CONTENT_EXAMPLE = "formula = \"smart_content_pipeline\"\ndescription = \"Research, draft, compliance check, and grade content using chained AI agents\"\n\n[vars.topic]\ndescription = \"The subject to generate content for\"\ndefault = \"The Future of Quantum Computing\"\nrequired = true\n\n# 1. Research Step\n[[steps]]\nid = \"research\"\ntitle = \"Research Agent\"\ndescription = \"Gathers key facts and sources\"\ncontext = { query = \"{{topic}}\", depth = \"detailed\" }\n\n # Define what this step outputs\n [steps.output_schema]\n type = \"object\"\n required = [\"facts\", \"sources\"]\n\n [steps.output_schema.properties.facts]\n type = \"array\"\n [steps.output_schema.properties.facts.items]\n type = \"string\"\n\n [steps.output_schema.properties.sources]\n type = \"array\"\n [steps.output_schema.properties.sources.items]\n type = \"object\"\n properties = { url = { type = \"string\" }, title = { type = \"string\" } }\n\n\n# 2. Drafting Step (Uses output from Research)\n[[steps]]\nid = \"draft\"\ntitle = \"Writer Agent\"\nneeds = [\"research\"]\ncontext = { facts = \"{{steps.research.output.facts}}\", tone = \"professional\" }\n\n [steps.output_schema]\n type = \"object\"\n required = [\"content\", \"word_count\"]\n \n [steps.output_schema.properties.content]\n type = \"string\"\n \n [steps.output_schema.properties.word_count]\n type = \"number\"\n\n\n# 3. Compliance Check (Simulated Failure Point)\n[[steps]]\nid = \"compliance\"\ntitle = \"Legal Compliance Scan\"\nneeds = [\"draft\"]\non_failure = \"sanitize_content\"\ncontext = { text = \"{{steps.draft.output.content}}\" }\n\n# 3b. Recovery Step (Runs only if compliance fails)\n[[steps]]\nid = \"sanitize_content\"\ntitle = \"Sanitize Content\"\ndescription = \"Removes restricted keywords\"\ncontext = { text = \"{{steps.draft.output.content}}\", mode = \"strict\" }\n\n\n# 4. Editing Step (Depends on Compliance)\n[[steps]]\nid = \"editor\"\ntitle = \"Quality Control\"\nneeds = [\"compliance\"]\ncontext = { text = \"{{steps.draft.output.content}}\", min_words = 500 }\n\n [steps.output_schema]\n type = \"object\"\n required = [\"score\", \"approved\", \"feedback\"]\n \n [steps.output_schema.properties.score]\n type = \"number\"\n \n [steps.output_schema.properties.approved]\n type = \"boolean\"\n \n [steps.output_schema.properties.feedback]\n type = \"string\"\n\n\n# 5. Publication (Conditional)\n[[steps]]\nid = \"publish\"\ntitle = \"CMS Publisher\"\ndescription = \"Publishes only if approved\"\nneeds = [\"editor\"]\n# Conditional logic: Skip unless approved\nif = \"{{steps.editor.output.approved}} == true\"\ncontext = { payload = \"{{steps.draft.output.content}}\", tags = [\"ai-generated\", \"{{topic}}\"] }\n";
3
- export declare const MONOREPO_EXAMPLE = "formula = \"microservices_release\"\ndescription = \"Build, Test, and Deploy multiple services with schema validation\"\n\n[vars.env]\ndescription = \"Target environment (dev/staging/prod)\"\ndefault = \"dev\"\n\n[vars.services]\ndescription = \"Services to deploy\"\ndefault = \"auth,payment,notification\"\n\n# 1. Parallel Build Loop\n[[steps]]\nid = \"build\"\ntitle = \"Build {{svc}}\"\nfor = { items = \"{{services}}\", as = \"svc\" }\ndescription = \"Compiles code and builds docker image\"\n\n [steps.output_schema]\n type = \"object\"\n required = [\"image_hash\", \"status\"]\n properties = { image_hash = { type = \"string\" }, status = { type = \"string\" } }\n\n# 2. Integration Testing (Depends on all builds)\n[[steps]]\nid = \"integration_test\"\ntitle = \"System Integration Tests\"\nneeds = [\"build\"]\ncontext = { target_env = \"ci-sandbox\", modules = \"{{services}}\" }\non_failure = \"notify_slack\"\n\n [steps.output_schema]\n type = \"object\"\n required = [\"passed\", \"coverage\"]\n properties = { passed = { type = \"boolean\" }, coverage = { type = \"number\" } }\n\n# 2b. Failure Notification\n[[steps]]\nid = \"notify_slack\"\ntitle = \"Alert Engineering Team\"\ndescription = \"Triggered if tests fail\"\ncontext = { channel = \"#alerts-{{env}}\", severity = \"high\" }\n\n# 3. Security Scan (Gatekeeper)\n[[steps]]\nid = \"security_scan\"\ntitle = \"Vulnerability Scanner\"\nneeds = [\"build\"]\ncontext = { strict_mode = \"true\" }\n\n [steps.output_schema]\n type = \"object\"\n required = [\"vulnerabilities\"]\n properties = { vulnerabilities = { type = \"number\" } }\n\n# 4. Deploy (Conditional)\n[[steps]]\nid = \"deploy\"\ntitle = \"Deploy to {{env}}\"\nneeds = [\"integration_test\", \"security_scan\"]\nif = \"{{env}} == 'prod' || {{env}} == 'staging'\"\ncontext = { dry_run = \"false\", strategy = \"canary\" }\n\n# 5. Post-Deploy Verification\n[[steps]]\nid = \"verify\"\ntitle = \"Health Check\"\nneeds = [\"deploy\"]\ncontext = { endpoint = \"https://api.{{env}}.acme.com/health\" }\n";
4
- export declare const MIGRATION_EXAMPLE = "formula = \"critical_db_migration\"\ndescription = \"A safe database migration workflow with automatic rollback piping\"\n\n[vars.target_version]\ndescription = \"Schema version to apply\"\nrequired = true\n\n[vars.region]\ndefault = \"us-east-1\"\n\n# 1. Pre-flight Check\n[[steps]]\nid = \"preflight\"\ntitle = \"Check Database Health\"\ncontext = { region = \"{{region}}\" }\n\n# 2. Create Backup\n[[steps]]\nid = \"backup\"\ntitle = \"Snapshot Database\"\nneeds = [\"preflight\"]\ndescription = \"Creates a point-in-time recovery point\"\n\n [steps.output_schema]\n type = \"object\"\n required = [\"snapshot_id\", \"timestamp\"]\n \n [steps.output_schema.properties.snapshot_id]\n type = \"string\"\n description = \"The ID required for rollback\"\n\n# 3. Apply Migration (Dangerous)\n[[steps]]\nid = \"apply_schema\"\ntitle = \"Apply Schema v{{target_version}}\"\nneeds = [\"backup\"]\non_failure = \"rollback\"\ncontext = { version = \"{{target_version}}\", timeout_seconds = 300 }\n\n [steps.output_schema]\n type = \"object\"\n properties = { changes_applied = { type = \"number\" } }\n\n# 3b. Rollback (Recovery)\n# Uses Data Piping to get the EXACT snapshot ID from step 2\n[[steps]]\nid = \"rollback\"\ntitle = \"Emergency Rollback\"\ndescription = \"Restores DB using the snapshot from step 2\"\ncontext = { snapshot_id = \"{{steps.backup.output.snapshot_id}}\", force = true }\n\n# 4. Validation\n[[steps]]\nid = \"validate\"\ntitle = \"Validate Data Integrity\"\nneeds = [\"apply_schema\"]\nif = \"{{steps.apply_schema.output.changes_applied}} > 0\"\n\n# 5. Cleanup\n[[steps]]\nid = \"cleanup_backup\"\ntitle = \"Delete Temporary Snapshot\"\nneeds = [\"validate\"]\ncontext = { snapshot_id = \"{{steps.backup.output.snapshot_id}}\" }\n";
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export declare const generateFormula: (prompt: string) => Promise<string>;
@@ -1,36 +0,0 @@
1
- export interface CitadelVar {
2
- name: string;
3
- description?: string;
4
- required?: boolean;
5
- default?: string;
6
- }
7
- export interface CitadelLoop {
8
- items: string;
9
- as: string;
10
- }
11
- export interface CitadelSchema {
12
- type: string;
13
- description?: string;
14
- required?: string[];
15
- properties?: Record<string, CitadelSchema>;
16
- items?: CitadelSchema;
17
- enum?: string[];
18
- }
19
- export interface CitadelStep {
20
- id: string;
21
- title: string;
22
- description?: string;
23
- if?: string;
24
- for?: CitadelLoop;
25
- needs?: string[];
26
- on_failure?: string;
27
- context?: Record<string, any>;
28
- output_schema?: CitadelSchema;
29
- }
30
- export interface CitadelFormula {
31
- formula: string;
32
- description: string;
33
- vars: CitadelVar[];
34
- steps: CitadelStep[];
35
- }
36
- export type ViewMode = 'split' | 'visual' | 'code';
@@ -1,11 +0,0 @@
1
- import { CitadelFormula } from '../types';
2
- /**
3
- * A lightweight, specific parser for the Citadel TOML subset.
4
- * Handles nested tables for schemas and inline objects for context.
5
- */
6
- export declare const parseCitadelTOML: (toml: string) => CitadelFormula;
7
- /**
8
- * Serializes the Citadel object back to TOML format.
9
- * (Partial implementation for core features, schema serialization is complex and skipped for brevity as app uses text editor primarily)
10
- */
11
- export declare const stringifyCitadelTOML: (data: CitadelFormula) => string;
@@ -1,2 +0,0 @@
1
- declare const _default: import("vite").UserConfigFnObject;
2
- export default _default;
@@ -1,71 +0,0 @@
1
- declare const _default: {
2
- providers: {
3
- openai?: {
4
- apiKey?: string | undefined;
5
- } | undefined;
6
- anthropic?: {
7
- apiKey?: string | undefined;
8
- } | undefined;
9
- ollama?: {
10
- baseURL?: string | undefined;
11
- apiKey?: string | undefined;
12
- } | undefined;
13
- };
14
- agents: {
15
- router: {
16
- provider: "openai" | "anthropic" | "ollama";
17
- model: string;
18
- mcpTools?: string[] | undefined;
19
- };
20
- worker: {
21
- provider: "openai" | "anthropic" | "ollama";
22
- model: string;
23
- mcpTools?: string[] | undefined;
24
- };
25
- supervisor: {
26
- provider: "openai" | "anthropic" | "ollama";
27
- model: string;
28
- mcpTools?: string[] | undefined;
29
- };
30
- gatekeeper: {
31
- provider: "openai" | "anthropic" | "ollama";
32
- model: string;
33
- mcpTools?: string[] | undefined;
34
- };
35
- };
36
- worker: {
37
- timeout?: number | undefined;
38
- maxRetries?: number | undefined;
39
- costLimit?: number | undefined;
40
- min_workers?: number | undefined;
41
- max_workers?: number | undefined;
42
- load_factor?: number | undefined;
43
- };
44
- beads: {
45
- path?: string | undefined;
46
- binary?: string | undefined;
47
- autoSync?: boolean | undefined;
48
- };
49
- env?: "development" | "production" | undefined;
50
- mcpServers?: Record<string, {
51
- command?: string | undefined;
52
- args?: string[] | undefined;
53
- env?: Record<string, string> | undefined;
54
- url?: string | undefined;
55
- headers?: Record<string, string> | undefined;
56
- }> | undefined;
57
- gatekeeper?: {
58
- min_workers?: number | undefined;
59
- max_workers?: number | undefined;
60
- load_factor?: number | undefined;
61
- } | undefined;
62
- bridge?: {
63
- maxLogs?: number | undefined;
64
- } | undefined;
65
- context?: {
66
- maxHistoryMessages?: number | undefined;
67
- maxToolResponseSize?: number | undefined;
68
- maxMessageSize?: number | undefined;
69
- } | undefined;
70
- };
71
- export default _default;
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bun
2
- export {};
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env bun
2
- /**
3
- * Test script to verify JSON schema generation with real Ollama LLM
4
- * This reproduces the production error to identify the root cause
5
- */
6
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes