melchizedek-agents 0.9.4 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/DOCUMENTATION.md CHANGED
@@ -61,7 +61,7 @@ variables: # bound into {{placeholders}} at load
61
61
 
62
62
  orchestrator:
63
63
  name: "Conductor"
64
- model: "gemini-3.7-flash"
64
+ model: "gemini-3.8-flash"
65
65
  instruction: |
66
66
  You are the Conductor… (persona, objective, workflow contract)
67
67
  tools:
@@ -75,7 +75,7 @@ orchestrator:
75
75
  subagents:
76
76
  - name: "Researcher"
77
77
  description: "Use this subagent to… Pass it one focused query."
78
- model: "gemini-3.7-flash"
78
+ model: "gemini-3.8-flash"
79
79
  instruction: |
80
80
  You are the Researcher…
81
81
  tools: ["google_search"]
@@ -367,7 +367,7 @@ smallest pulled model with reliable tool calling; qwen3-vl:8b adds
367
367
  vision.
368
368
 
369
369
  Model floor: agent transfer (subagent delegation) requires
370
- `gemini-3.7-flash` or newer — older flash models reject it with
370
+ `gemini-3.8-flash` or newer — older flash models reject it with
371
371
  `[400] Tool call context circulation is not enabled`. For `ollama/*`
372
372
  agents the equivalent floor is tool-calling support in the model
373
373
  itself; delegation is exercised through AgentTool function calls.
package/QUICKSTART.md CHANGED
@@ -169,7 +169,7 @@ const config = loadSyndicate('mine.yaml'); // reads <your-repo>/config/agents
169
169
  | Symptom | Cause / fix |
170
170
  |---|---|
171
171
  | `Gemini API Key is not configured` | `.env` missing or key not set — step 2. |
172
- | `[400] Tool call context circulation is not enabled` | The agent's `model:` is too old for agent transfer. Use `gemini-3.7-flash` or newer (all shipped configs already do). |
172
+ | `[400] Tool call context circulation is not enabled` | The agent's `model:` is too old for agent transfer. Use `gemini-3.8-flash` or newer (all shipped configs already do). |
173
173
  | `Model not found` for `claude-*` / `gpt-*` / `grok-*` | The matching provider key (`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `XAI_API_KEY`) is not set in `.env`, so the provider wasn't registered. |
174
174
  | `OLLAMA_UNREACHABLE` for `ollama/*` | Ollama isn't running — start the app or `ollama serve`; then check the model is pulled (`ollama list`). |
175
175
  | `Refusing to connect to private/loopback MCP host` | The SSRF guard is on (correctly). For the local demo set `ALLOW_PRIVATE_MCP=true` in `.env`. |
@@ -77,7 +77,7 @@ variables:
77
77
 
78
78
  orchestrator:
79
79
  name: "Arbiter"
80
- model: "gemini-3.7-flash"
80
+ model: "gemini-3.8-flash"
81
81
  instruction: |
82
82
  <prompt_instructions>
83
83
  <house_voice>
@@ -210,7 +210,7 @@ subagents:
210
210
 
211
211
  - name: "WebResearcher"
212
212
  description: "Web search + source reading: verifies specific claims and establishes the documented record from wire services, primary sources, and diverse outlets. Pass it the user's question verbatim, the [System Context] date line, and the claims XResearcher surfaced. MANDATORY second call for every substantive question."
213
- model: "gemini-3.7-flash"
213
+ model: "gemini-3.8-flash"
214
214
  tools:
215
215
  - "web_search"
216
216
  - "web_extract"
@@ -48,7 +48,7 @@ memory_system: "internal-only"
48
48
  orchestrator:
49
49
  name: "Cosmographer"
50
50
  description: "Maps the knowledge graph: has the Surveyor read prose for relations a parser cannot see, and the Registrar record them with their evidence."
51
- model: "gemini-3.7-flash"
51
+ model: "gemini-3.8-flash"
52
52
  instruction: |
53
53
  <prompt_instructions>
54
54
  <system_identity>
@@ -80,7 +80,7 @@ orchestrator:
80
80
  subagents:
81
81
  - name: "Surveyor"
82
82
  description: "Reads an area of the knowledge bundle and proposes typed relations a parser cannot derive (depends_on, constrains, supersedes, explains, alternative_to, mitigates, contradicts), each with the quotation supporting it and both node ids resolved against the graph. Pass it an area to survey and what to look for. It proposes only; it records nothing."
83
- model: "gemini-3.7-flash"
83
+ model: "gemini-3.8-flash"
84
84
  tools: ["wiki_map", "wiki_search", "wiki_read", "wiki_links", "wiki_graph"]
85
85
  instruction: |
86
86
  You are the Surveyor. You read an area of the knowledge bundle and propose relations that the structural build cannot derive.
@@ -16,7 +16,7 @@ syndicate_name: "Critic Review Workflow"
16
16
 
17
17
  orchestrator:
18
18
  name: "ReviewOrchestrator"
19
- model: "gemini-3.7-flash"
19
+ model: "gemini-3.8-flash"
20
20
  instruction: |
21
21
  You coordinate an iterative review process between a Drafter and a Critic.
22
22
  Your goal is to ensure only HIGH-CONFIDENCE answers reach the user.
@@ -39,7 +39,7 @@ orchestrator:
39
39
 
40
40
  subagents:
41
41
  - name: "DrafterAgent"
42
- model: "gemini-3.7-flash"
42
+ model: "gemini-3.8-flash"
43
43
  description: "Creates comprehensive initial draft answers for any user query. On subsequent rounds, revises its draft based on Critic feedback."
44
44
  instruction: |
45
45
  You are the Drafter. When given a query, produce a thorough initial answer.
@@ -48,7 +48,7 @@ subagents:
48
48
  every concern raised and produce an improved, more accurate revision.
49
49
 
50
50
  - name: "CriticAgent"
51
- model: "gemini-3.7-flash"
51
+ model: "gemini-3.8-flash"
52
52
  description: "Reviews a draft answer for accuracy and returns a structured JSON with the refined message and a confidence score. Low scores trigger re-drafting."
53
53
  generateContentConfig:
54
54
  responseMimeType: "application/json"
@@ -6,7 +6,7 @@ variables:
6
6
 
7
7
  orchestrator:
8
8
  name: "RouterAgent"
9
- model: "gemini-3.7-flash"
9
+ model: "gemini-3.8-flash"
10
10
  instruction: |
11
11
  You are a triage router.
12
12
  You do NOT answer questions directly if they require specialized knowledge.
@@ -17,13 +17,13 @@ orchestrator:
17
17
 
18
18
  subagents:
19
19
  - name: "CodeExpert"
20
- model: "gemini-3.7-flash"
20
+ model: "gemini-3.8-flash"
21
21
  description: "Expert in programming, software development, and debugging."
22
22
  instruction: |
23
23
  You are an expert programmer. Provide clean, correct, and well-documented code answers.
24
24
 
25
25
  - name: "MathExpert"
26
- model: "gemini-3.7-flash"
26
+ model: "gemini-3.8-flash"
27
27
  description: "Expert in mathematics, formulas, and calculations."
28
28
  instruction: |
29
29
  You are a math expert. Solve equations and explain the steps clearly.
@@ -2,7 +2,7 @@ syndicate_name: "Hierarchical Task Decomposition"
2
2
 
3
3
  orchestrator:
4
4
  name: "ProjectManager"
5
- model: "gemini-3.7-flash"
5
+ model: "gemini-3.8-flash"
6
6
  instruction: |
7
7
  You are a Project Manager. When given a complex user goal, you practice hierarchical task decomposition.
8
8
  Instead of answering directly, break the problem into smaller, logical sub-tasks.
@@ -13,14 +13,14 @@ orchestrator:
13
13
 
14
14
  subagents:
15
15
  - name: "ResearcherAgent"
16
- model: "gemini-3.7-flash"
16
+ model: "gemini-3.8-flash"
17
17
  tools: ["google_search"]
18
18
  description: "Responsible for gathering facts, performing calculations, and providing raw analytical data."
19
19
  instruction: |
20
20
  You are a meticulous Researcher. Use your tools to find factual information, analyze data, and return detailed bullet points to the Project Manager.
21
21
 
22
22
  - name: "WriterAgent"
23
- model: "gemini-3.7-flash"
23
+ model: "gemini-3.8-flash"
24
24
  description: "Responsible for taking raw data and formatting it into a beautiful, engaging, and structured narrative."
25
25
  instruction: |
26
26
  You are an expert Copywriter. Take the raw research provided by the Project Manager and transform it into a polished, well-structured, and engaging response.
@@ -21,7 +21,7 @@ memory_system: "session-only"
21
21
 
22
22
  orchestrator:
23
23
  name: "ImageDesigner"
24
- model: "gemini-3.7-flash"
24
+ model: "gemini-3.8-flash"
25
25
  tools:
26
26
  - "generate_image"
27
27
  - "inspect_image"
@@ -67,7 +67,7 @@ orchestrator:
67
67
  subagents:
68
68
  - name: "SpecAuditor"
69
69
  description: "Compares an approved image spec (JSON payload) against a blind visual inventory (text). Pass BOTH verbatim in one message. Returns structured conformance JSON. It must NEVER receive the image itself."
70
- model: "gemini-3.7-flash"
70
+ model: "gemini-3.8-flash"
71
71
  generateContentConfig:
72
72
  responseMimeType: "application/json"
73
73
  maxOutputTokens: 4096
@@ -33,7 +33,7 @@ memory_system: "internal-only"
33
33
 
34
34
  orchestrator:
35
35
  name: "Archivist"
36
- model: "gemini-3.7-flash"
36
+ model: "gemini-3.8-flash"
37
37
  instruction: |
38
38
  <prompt_instructions>
39
39
  <system_identity>
@@ -27,7 +27,7 @@ memory_system: "long-term"
27
27
 
28
28
  orchestrator:
29
29
  name: "Asclepius"
30
- model: "gemini-3.7-flash"
30
+ model: "gemini-3.8-flash"
31
31
  instruction: |
32
32
  <prompt_instructions>
33
33
  <system_identity>
@@ -36,7 +36,7 @@ memory_system: "internal-only"
36
36
  orchestrator:
37
37
  name: "Armarius"
38
38
  description: "Keeper of the knowledge bundle: answers what the house knows via the Seeker, records what it learns via the Illuminator."
39
- model: "gemini-3.7-flash"
39
+ model: "gemini-3.8-flash"
40
40
  instruction: |
41
41
  <prompt_instructions>
42
42
  <system_identity>
@@ -80,14 +80,14 @@ subagents:
80
80
 
81
81
  - name: "Illuminator"
82
82
  description: "Authors or revises one knowledge-bundle document per request, writing through the validated wiki_save gate (tools: wiki_map, wiki_search, wiki_read, wiki_links, wiki_save). Pass it one editorial instruction with all supplied facts. It reports the saved path, or the gate's rejection."
83
- model: "gemini-3.7-flash"
83
+ model: "gemini-3.8-flash"
84
84
  tools: ["wiki_map", "wiki_search", "wiki_read", "wiki_links", "wiki_save"]
85
85
  instruction: |
86
86
  You are the Illuminator. You receive one editorial instruction and fulfil it with your tools.
87
87
  Before writing: wiki_search and wiki_read where the topic lives today. Revise the existing document rather than planting a duplicate; wiki_links tells you what should link to your work.
88
88
  Compose the FULL document: YAML frontmatter (type required — one of: overview, subsystem, syndicate, tool, model-provider, schema, protocol, runbook, guide, decision, doctrine, reference, meta — plus title, description, tags; keep existing status/verified fields when revising), then an H1 and short concrete sections.
89
89
  Links are bundle-absolute markdown links to paths you CONFIRMED exist this run. Link generously — the graph is the product. Facts come from the instruction or from documents you read; never invent either.
90
- Save with wiki_save, actor "melchizedek/gemini-3.7-flash". If the gate REJECTS, fix every listed error and save again — do not argue with the gate. Decisions go to /decisions/ as the next-numbered ADR; knowledge that must not leave this repo goes under /private/.
90
+ Save with wiki_save, actor "melchizedek/gemini-3.8-flash". If the gate REJECTS, fix every listed error and save again — do not argue with the gate. Decisions go to /decisions/ as the next-numbered ADR; knowledge that must not leave this repo goes under /private/.
91
91
  Report back: the path saved, created vs revised, and any advisories the gate listed. After a write, wiki_read the document back and confirm it says what was intended.
92
92
  generateContentConfig:
93
93
  maxOutputTokens: 8192
@@ -18,7 +18,7 @@ memory_system: "session-only"
18
18
 
19
19
  orchestrator:
20
20
  name: "Router"
21
- model: "gemini-3.7-flash"
21
+ model: "gemini-3.8-flash"
22
22
  instruction: |
23
23
  You are the Router of the Style Council.
24
24
  You NEVER answer substantive questions yourself. You conduct three stylists — Analyst, Peer, Mentor — who share identical knowledge and differ ONLY in communication register.
@@ -38,7 +38,7 @@ orchestrator:
38
38
  subagents:
39
39
  - name: "Analyst"
40
40
  description: "Answers in the terse register: telegraphic, dense, zero filler — the analyst's briefing. Pass the user's question verbatim."
41
- model: "gemini-3.7-flash"
41
+ model: "gemini-3.8-flash"
42
42
  instruction: |
43
43
  You are the Analyst, a stylist of the Style Council.
44
44
  Answer the user's question accurately and completely. Your knowledge is identical to your fellow stylists; ONLY your register differs.
@@ -52,7 +52,7 @@ subagents:
52
52
 
53
53
  - name: "Peer"
54
54
  description: "Answers in the structured-peer register: warm, scannable, encouraging, practical. Pass the user's question verbatim."
55
- model: "gemini-3.7-flash"
55
+ model: "gemini-3.8-flash"
56
56
  instruction: |
57
57
  You are the Peer, a stylist of the Style Council.
58
58
  Answer the user's question accurately and completely. Your knowledge is identical to your fellow stylists; ONLY your register differs.
@@ -66,7 +66,7 @@ subagents:
66
66
 
67
67
  - name: "Mentor"
68
68
  description: "Answers in the stoic-mentor register: flowing, reflective, exact. Pass the user's question verbatim."
69
- model: "gemini-3.7-flash"
69
+ model: "gemini-3.8-flash"
70
70
  instruction: |
71
71
  You are the Mentor, a stylist of the Style Council.
72
72
  Answer the user's question accurately and completely. Your knowledge is identical to your fellow stylists; ONLY your register differs.
@@ -20,7 +20,7 @@
20
20
  * in the caller's YAML or request.
21
21
  *
22
22
  * Use gemini-3.1-flash-lite for lightweight/cost-efficient loads (subagents,
23
- * data retrieval). Use gemini-3.7-flash in YAML for production orchestrators.
23
+ * data retrieval). Use gemini-3.8-flash in YAML for production orchestrators.
24
24
  *
25
25
  * NOTE: gemini-2.5-flash is known incompatible with this framework's
26
26
  * includeServerSideToolInvocations flag on AI Studio Tier 1 — do not use it
@@ -71,7 +71,7 @@ export declare const DEFAULT_OLLAMA_MODEL = "ollama/qwen3:8b";
71
71
  *
72
72
  * Must be a text generation model (not an embedding model).
73
73
  */
74
- export declare const MEMORY_EXTRACTION_MODEL = "gemini-3.7-flash";
74
+ export declare const MEMORY_EXTRACTION_MODEL = "gemini-3.8-flash";
75
75
  /**
76
76
  * Default model for wiki agent operations (wiki_query, wiki_garden, and the
77
77
  * gap-fill pass in lib/wiki/fill.ts). Prose quality matters more than
@@ -79,7 +79,7 @@ export declare const MEMORY_EXTRACTION_MODEL = "gemini-3.7-flash";
79
79
  * provider works — override per call or via WIKI_AGENT_MODEL env
80
80
  * ('claude-*', 'ollama/*', …); routing goes through lib/models/registry.ts.
81
81
  */
82
- export declare const WIKI_AGENT_MODEL = "gemini-3.7-flash";
82
+ export declare const WIKI_AGENT_MODEL = "gemini-3.8-flash";
83
83
  /**
84
84
  * Model used by SupabaseVectorMemoryService to produce vector embeddings
85
85
  * for semantic memory storage and retrieval.
@@ -21,7 +21,7 @@
21
21
  * in the caller's YAML or request.
22
22
  *
23
23
  * Use gemini-3.1-flash-lite for lightweight/cost-efficient loads (subagents,
24
- * data retrieval). Use gemini-3.7-flash in YAML for production orchestrators.
24
+ * data retrieval). Use gemini-3.8-flash in YAML for production orchestrators.
25
25
  *
26
26
  * NOTE: gemini-2.5-flash is known incompatible with this framework's
27
27
  * includeServerSideToolInvocations flag on AI Studio Tier 1 — do not use it
@@ -72,7 +72,7 @@ export const DEFAULT_OLLAMA_MODEL = 'ollama/qwen3:8b';
72
72
  *
73
73
  * Must be a text generation model (not an embedding model).
74
74
  */
75
- export const MEMORY_EXTRACTION_MODEL = 'gemini-3.7-flash';
75
+ export const MEMORY_EXTRACTION_MODEL = 'gemini-3.8-flash';
76
76
  /**
77
77
  * Default model for wiki agent operations (wiki_query, wiki_garden, and the
78
78
  * gap-fill pass in lib/wiki/fill.ts). Prose quality matters more than
@@ -80,7 +80,7 @@ export const MEMORY_EXTRACTION_MODEL = 'gemini-3.7-flash';
80
80
  * provider works — override per call or via WIKI_AGENT_MODEL env
81
81
  * ('claude-*', 'ollama/*', …); routing goes through lib/models/registry.ts.
82
82
  */
83
- export const WIKI_AGENT_MODEL = 'gemini-3.7-flash';
83
+ export const WIKI_AGENT_MODEL = 'gemini-3.8-flash';
84
84
  // ── Embedding Models ──────────────────────────────────────────────────────────
85
85
  /**
86
86
  * Model used by SupabaseVectorMemoryService to produce vector embeddings
@@ -13,6 +13,7 @@ import { generateImageTool } from "./tools/generateImageTool.js";
13
13
  import { inspectImageTool } from "./tools/inspectImageTool.js";
14
14
  import { toFunctionTool } from "./tools/toolContract.js";
15
15
  import { WEB_SEARCH } from "./tools/webSearchTool.js";
16
+ import { webExtractTool } from "./tools/webExtractTool.js";
16
17
  import { WIKI_AGENT_TOOL_CONTRACTS } from "./tools/wikiTools.js";
17
18
  import { X_SEARCH } from "./tools/xSearchTool.js";
18
19
  // Knowledge-bundle tools, derived from their contracts so the YAML names
@@ -29,6 +30,10 @@ const TOOL_MAP = {
29
30
  // (Gemini grounding / Anthropic / OpenAI / xAI); omitted with a warning
30
31
  // for local models. Prefer this in new YAMLs.
31
32
  web_search: WEB_SEARCH,
33
+ // Deterministic complement to web_search: client-side URL → clean-text
34
+ // reading (keyless — works on every provider, including local Ollama).
35
+ // augustin.yaml and librarian-style research agents declare it.
36
+ web_extract: webExtractTool,
32
37
  x_search: X_SEARCH,
33
38
  // xAI-only: semantic search over hosted Collections (XAI_COLLECTION_IDS).
34
39
  collections_search: COLLECTIONS_SEARCH,
@@ -20,7 +20,7 @@ import { FunctionTool } from '@google/adk';
20
20
  import { GoogleGenAI } from '@google/genai';
21
21
  import { readFileSync } from 'node:fs';
22
22
  import { resolve, extname, sep } from 'node:path';
23
- const VISION_MODEL = 'gemini-3.7-flash';
23
+ const VISION_MODEL = 'gemini-3.8-flash';
24
24
  const INVENTORY_PROTOCOL = `You are a blind visual inventory agent. You know NOTHING about what this image was supposed to be, who requested it, or why. Enumerate ONLY what is actually present:
25
25
 
26
26
  1. SUBJECTS — every distinct subject and object, with EXACT counts.
@@ -11,7 +11,7 @@
11
11
  * three call sites can't drift.
12
12
  *
13
13
  * Model routing goes through lib/models/registry.ts, so the YAML-style
14
- * model string ('gemini-3.7-flash', 'claude-*', 'ollama/*'…) picks the
14
+ * model string ('gemini-3.8-flash', 'claude-*', 'ollama/*'…) picks the
15
15
  * provider — wiki operations inherit the framework's full model
16
16
  * optionality. A missing provider key degrades to a clear error string;
17
17
  * nothing here throws for want of credentials.
@@ -11,7 +11,7 @@
11
11
  * three call sites can't drift.
12
12
  *
13
13
  * Model routing goes through lib/models/registry.ts, so the YAML-style
14
- * model string ('gemini-3.7-flash', 'claude-*', 'ollama/*'…) picks the
14
+ * model string ('gemini-3.8-flash', 'claude-*', 'ollama/*'…) picks the
15
15
  * provider — wiki operations inherit the framework's full model
16
16
  * optionality. A missing provider key degrades to a clear error string;
17
17
  * nothing here throws for want of credentials.
@@ -82,9 +82,9 @@ export declare const conceptFrontmatterSchema: z.ZodObject<{
82
82
  resource: z.ZodOptional<z.ZodString>;
83
83
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
84
84
  status: z.ZodOptional<z.ZodEnum<{
85
+ deprecated: "deprecated";
85
86
  draft: "draft";
86
87
  stable: "stable";
87
- deprecated: "deprecated";
88
88
  }>>;
89
89
  stale_after: z.ZodOptional<z.ZodString>;
90
90
  generated: z.ZodOptional<z.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melchizedek-agents",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "A multi-model, multi-agent orchestration framework on Google ADK \u2014 YAML-defined syndicates, Supabase session persistence, pgvector long-term memory. Companion repo to the lyceumagents.com curriculum.",
5
5
  "type": "module",
6
6
  "license": "MIT",