melchizedek-agents 0.16.2 → 0.18.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.
- package/.env.example +40 -3
- package/AGENT_SETUP.md +4 -2
- package/CHANGELOG.md +246 -0
- package/DOCUMENTATION.md +311 -15
- package/QUICKSTART.md +2 -2
- package/README.md +125 -149
- package/config/agents/examples/harness.yaml +135 -0
- package/config/agents/examples/model_zoo.yaml +23 -9
- package/config/agents/examples/pipeline.yaml +120 -0
- package/config/agents/examples/specs/open-meteo-forecast.json +77 -0
- package/config/agents/examples/specs/open-meteo-geocoding.json +53 -0
- package/config/agents/examples/weather.yaml +59 -0
- package/config/agents/syndicateSchema.yaml +125 -1
- package/db/hardening.sql +4 -3
- package/db/migrations/0011_erase_expired.sql +198 -0
- package/db/migrations/0012_audit_log.sql +98 -0
- package/dist/lib/a2a/app.d.ts +27 -0
- package/dist/lib/a2a/app.js +101 -5
- package/dist/lib/a2a/executor.d.ts +34 -4
- package/dist/lib/a2a/executor.js +109 -9
- package/dist/lib/compile.d.ts +41 -3
- package/dist/lib/compile.js +162 -17
- package/dist/lib/config.d.ts +24 -0
- package/dist/lib/config.js +24 -0
- package/dist/lib/doctor.js +17 -4
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/loadEnv.d.ts +5 -0
- package/dist/lib/loadEnv.js +7 -0
- package/dist/lib/loadSyndicate.d.ts +50 -0
- package/dist/lib/loadSyndicate.js +19 -3
- package/dist/lib/memory/erase.d.ts +5 -0
- package/dist/lib/memory/erase.js +5 -0
- package/dist/lib/memory/providers.d.ts +27 -0
- package/dist/lib/memory/providers.js +28 -0
- package/dist/lib/models/capabilities.js +10 -0
- package/dist/lib/models/endpoints.d.ts +1 -1
- package/dist/lib/models/endpoints.js +4 -1
- package/dist/lib/models/fallback.d.ts +41 -0
- package/dist/lib/models/fallback.js +105 -0
- package/dist/lib/models/gateway.d.ts +2 -2
- package/dist/lib/models/gateway.js +4 -4
- package/dist/lib/models/kimiLlm.d.ts +123 -0
- package/dist/lib/models/kimiLlm.js +171 -0
- package/dist/lib/models/providerMap.d.ts +2 -2
- package/dist/lib/models/providerMap.js +4 -1
- package/dist/lib/models/registry.d.ts +1 -1
- package/dist/lib/models/registry.js +11 -3
- package/dist/lib/net/redirects.d.ts +14 -0
- package/dist/lib/net/redirects.js +94 -0
- package/dist/lib/observability/audit.d.ts +21 -0
- package/dist/lib/observability/audit.js +39 -0
- package/dist/lib/observability/metrics.d.ts +6 -0
- package/dist/lib/observability/tracer.d.ts +14 -1
- package/dist/lib/observability/tracer.js +16 -2
- package/dist/lib/persistence/supabaseProvider.d.ts +2 -6
- package/dist/lib/persistence/supabaseProvider.js +2 -31
- package/dist/lib/runtime/questions.d.ts +55 -0
- package/dist/lib/runtime/questions.js +107 -0
- package/dist/lib/runtime/syndicateTurn.d.ts +45 -5
- package/dist/lib/runtime/syndicateTurn.js +165 -17
- package/dist/lib/storage/postgres/index.d.ts +9 -0
- package/dist/lib/storage/postgres/index.js +13 -0
- package/dist/lib/storage/rlsStatus.d.ts +45 -0
- package/dist/lib/storage/rlsStatus.js +69 -0
- package/dist/lib/syndicateSchema.d.ts +177 -0
- package/dist/lib/syndicateSchema.js +343 -3
- package/dist/lib/toolRegistry.js +9 -0
- package/dist/lib/tools/mcpToolFactory.d.ts +26 -0
- package/dist/lib/tools/mcpToolFactory.js +61 -4
- package/dist/lib/tools/openapiTools.d.ts +52 -0
- package/dist/lib/tools/openapiTools.js +225 -0
- package/dist/lib/tools/skillToolset.d.ts +135 -0
- package/dist/lib/tools/skillToolset.js +247 -0
- package/dist/lib/tools/urlContextTool.d.ts +29 -0
- package/dist/lib/tools/urlContextTool.js +39 -0
- package/dist/lib/workflow.d.ts +72 -0
- package/dist/lib/workflow.js +180 -0
- package/dist/lib/workflowConfig.d.ts +95 -0
- package/dist/lib/workflowConfig.js +93 -0
- package/dist/scripts/a2a_server.js +51 -8
- package/dist/scripts/db.d.ts +9 -0
- package/dist/scripts/db.js +30 -15
- package/dist/scripts/syndicate_chat.js +39 -5
- package/package.json +6 -3
- package/skills/briefs/_shared.md +1 -1
- package/skills/briefs/melchizedek-author.md +8 -4
- package/skills/briefs/melchizedek-memory.md +1 -1
- package/skills/briefs/melchizedek-models.md +1 -1
- package/skills/briefs/melchizedek-scribe.md +4 -4
- package/skills/briefs/melchizedek-serve.md +1 -1
- package/skills/briefs/melchizedek.md +4 -1
- package/skills/melchizedek/SKILL.md +4 -1
- package/skills/melchizedek-author/SKILL.md +7 -3
- package/skills/melchizedek-memory/SKILL.md +1 -1
- package/skills/melchizedek-models/SKILL.md +1 -1
- package/skills/melchizedek-scribe/SKILL.md +3 -3
- package/skills/melchizedek-serve/SKILL.md +1 -1
- /package/skills/melchizedek-author/{templates → assets}/minimal.yaml +0 -0
- /package/skills/melchizedek-scribe/{templates → assets}/brief.md +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lib/storage/rlsStatus.ts — is db/hardening.sql in force? One set of rules
|
|
3
|
+
* for both storage paths.
|
|
4
|
+
*
|
|
5
|
+
* WHY: a Supabase project exposes the tables in `public` through its REST
|
|
6
|
+
* API, readable and writable with the published anon key wherever row-level
|
|
7
|
+
* security is off. The server refuses to start on a public deployment
|
|
8
|
+
* without the hardening (ADR 0021). The supabase-js path asked
|
|
9
|
+
* melchizedek_rls_status(); the DATABASE_URL path asked nothing, so a
|
|
10
|
+
* deployment that followed the recommended setup never had the check.
|
|
11
|
+
*
|
|
12
|
+
* Both paths now read the same rows and judge them here:
|
|
13
|
+
* - adk_memory_facts and adk_sessions must have RLS on;
|
|
14
|
+
* - adk_agent_registry, where it exists, must too (anon write access there
|
|
15
|
+
* is agent takeover);
|
|
16
|
+
* - adk_telemetry without RLS is reported but does not fail the check.
|
|
17
|
+
*/
|
|
18
|
+
export interface RlsHardeningStatus {
|
|
19
|
+
/** true when db/hardening.sql is in force, or when nothing exposes the tables. */
|
|
20
|
+
applied: boolean;
|
|
21
|
+
/** Human-readable explanation for logs. */
|
|
22
|
+
detail: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RlsRow {
|
|
25
|
+
table_name: string;
|
|
26
|
+
rls_enabled: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Judge the RLS flags of the shipped tables. */
|
|
29
|
+
export declare function evaluateRlsRows(rows: RlsRow[]): RlsHardeningStatus;
|
|
30
|
+
/** What a direct Postgres connection sees: the API roles, the schema, and the flags. */
|
|
31
|
+
export interface PostgresRlsFacts {
|
|
32
|
+
/** True when the Supabase API roles (anon, authenticated) exist. */
|
|
33
|
+
apiRoles: boolean;
|
|
34
|
+
/** The schema the tables live in (first on the search_path). */
|
|
35
|
+
schema: string;
|
|
36
|
+
rows: RlsRow[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The DATABASE_URL path's judgment. Without the API roles nothing serves the
|
|
40
|
+
* tables over HTTP; in a schema other than `public` the Supabase REST API
|
|
41
|
+
* does not expose them unless someone adds that schema to it.
|
|
42
|
+
*/
|
|
43
|
+
export declare function evaluatePostgresRls(facts: PostgresRlsFacts): RlsHardeningStatus;
|
|
44
|
+
/** The query evaluatePostgresRls reads. */
|
|
45
|
+
export declare const POSTGRES_RLS_QUERY = "\n SELECT\n EXISTS (SELECT 1 FROM pg_roles WHERE rolname IN ('anon', 'authenticated')) AS api_roles,\n current_schema() AS schema,\n coalesce(\n (SELECT json_agg(json_build_object('table_name', c.relname, 'rls_enabled', c.relrowsecurity))\n FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = current_schema()\n AND c.relname IN ('adk_memory_facts', 'adk_sessions', 'adk_agent_registry', 'adk_telemetry')),\n '[]'::json\n ) AS rows";
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lib/storage/rlsStatus.ts — is db/hardening.sql in force? One set of rules
|
|
3
|
+
* for both storage paths.
|
|
4
|
+
*
|
|
5
|
+
* WHY: a Supabase project exposes the tables in `public` through its REST
|
|
6
|
+
* API, readable and writable with the published anon key wherever row-level
|
|
7
|
+
* security is off. The server refuses to start on a public deployment
|
|
8
|
+
* without the hardening (ADR 0021). The supabase-js path asked
|
|
9
|
+
* melchizedek_rls_status(); the DATABASE_URL path asked nothing, so a
|
|
10
|
+
* deployment that followed the recommended setup never had the check.
|
|
11
|
+
*
|
|
12
|
+
* Both paths now read the same rows and judge them here:
|
|
13
|
+
* - adk_memory_facts and adk_sessions must have RLS on;
|
|
14
|
+
* - adk_agent_registry, where it exists, must too (anon write access there
|
|
15
|
+
* is agent takeover);
|
|
16
|
+
* - adk_telemetry without RLS is reported but does not fail the check.
|
|
17
|
+
*/
|
|
18
|
+
/** Judge the RLS flags of the shipped tables. */
|
|
19
|
+
export function evaluateRlsRows(rows) {
|
|
20
|
+
const unprotected = ['adk_memory_facts', 'adk_sessions'].filter((t) => !rows.some((r) => r.table_name === t && r.rls_enabled));
|
|
21
|
+
if (unprotected.length > 0) {
|
|
22
|
+
return { applied: false, detail: `RLS is disabled on: ${unprotected.join(', ')}` };
|
|
23
|
+
}
|
|
24
|
+
const registryRow = rows.find((r) => r.table_name === 'adk_agent_registry');
|
|
25
|
+
if (registryRow && !registryRow.rls_enabled) {
|
|
26
|
+
return {
|
|
27
|
+
applied: false,
|
|
28
|
+
detail: 'RLS is disabled on: adk_agent_registry (agent definitions are '
|
|
29
|
+
+ 'writable with the anon key) — re-run db/hardening.sql',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const telemetryRow = rows.find((r) => r.table_name === 'adk_telemetry');
|
|
33
|
+
if (telemetryRow && !telemetryRow.rls_enabled) {
|
|
34
|
+
return {
|
|
35
|
+
applied: true,
|
|
36
|
+
detail: 'RLS enabled on adk_memory_facts and adk_sessions — but NOT on adk_telemetry; re-run db/hardening.sql',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return { applied: true, detail: 'RLS enabled on adk_memory_facts and adk_sessions' };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The DATABASE_URL path's judgment. Without the API roles nothing serves the
|
|
43
|
+
* tables over HTTP; in a schema other than `public` the Supabase REST API
|
|
44
|
+
* does not expose them unless someone adds that schema to it.
|
|
45
|
+
*/
|
|
46
|
+
export function evaluatePostgresRls(facts) {
|
|
47
|
+
if (!facts.apiRoles) {
|
|
48
|
+
return { applied: true, detail: 'no anon or authenticated role in this database, so no API exposes the tables' };
|
|
49
|
+
}
|
|
50
|
+
if (facts.schema !== 'public') {
|
|
51
|
+
return {
|
|
52
|
+
applied: true,
|
|
53
|
+
detail: `tables live in schema "${facts.schema}", which the Supabase API does not expose unless it is added to the exposed schemas`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return evaluateRlsRows(facts.rows);
|
|
57
|
+
}
|
|
58
|
+
/** The query evaluatePostgresRls reads. */
|
|
59
|
+
export const POSTGRES_RLS_QUERY = `
|
|
60
|
+
SELECT
|
|
61
|
+
EXISTS (SELECT 1 FROM pg_roles WHERE rolname IN ('anon', 'authenticated')) AS api_roles,
|
|
62
|
+
current_schema() AS schema,
|
|
63
|
+
coalesce(
|
|
64
|
+
(SELECT json_agg(json_build_object('table_name', c.relname, 'rls_enabled', c.relrowsecurity))
|
|
65
|
+
FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
66
|
+
WHERE n.nspname = current_schema()
|
|
67
|
+
AND c.relname IN ('adk_memory_facts', 'adk_sessions', 'adk_agent_registry', 'adk_telemetry')),
|
|
68
|
+
'[]'::json
|
|
69
|
+
) AS rows`;
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
import { z } from 'zod';
|
|
25
25
|
import type { SyndicateYamlConfig } from './loadSyndicate.ts';
|
|
26
26
|
export declare const MEMORY_SYSTEMS: readonly ['internal-only', 'session-only', 'long-term'];
|
|
27
|
+
export declare const SKILL_SCRIPT_MODES: readonly ['none', 'local'];
|
|
27
28
|
export declare const agentSchema: z.ZodObject<{
|
|
28
29
|
name: z.ZodString;
|
|
29
30
|
description: z.ZodOptional<z.ZodString>;
|
|
30
31
|
model: z.ZodString;
|
|
32
|
+
fallback_model: z.ZodOptional<z.ZodString>;
|
|
31
33
|
instruction: z.ZodString;
|
|
32
34
|
globalInstruction: z.ZodOptional<z.ZodString>;
|
|
33
35
|
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -61,6 +63,43 @@ export declare const agentSchema: z.ZodObject<{
|
|
|
61
63
|
}, z.core.$loose>>;
|
|
62
64
|
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
63
65
|
mcp_server_url: z.ZodOptional<z.ZodString>;
|
|
66
|
+
mcp_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
skills: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
dir: z.ZodString;
|
|
69
|
+
scripts: z.ZodOptional<z.ZodEnum<{
|
|
70
|
+
local: "local";
|
|
71
|
+
none: "none";
|
|
72
|
+
}>>;
|
|
73
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
}, z.core.$strict>>;
|
|
75
|
+
openapi: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
76
|
+
spec: z.ZodString;
|
|
77
|
+
operations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
78
|
+
base_url: z.ZodOptional<z.ZodString>;
|
|
79
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
80
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
bearer_env: z.ZodOptional<z.ZodString>;
|
|
82
|
+
api_key: z.ZodOptional<z.ZodObject<{
|
|
83
|
+
env: z.ZodString;
|
|
84
|
+
in: z.ZodEnum<{
|
|
85
|
+
header: "header";
|
|
86
|
+
query: "query";
|
|
87
|
+
}>;
|
|
88
|
+
name: z.ZodString;
|
|
89
|
+
}, z.core.$strict>>;
|
|
90
|
+
}, z.core.$strict>>;
|
|
91
|
+
}, z.core.$strict>>>;
|
|
92
|
+
code_execution: z.ZodOptional<z.ZodLiteral<"gemini">>;
|
|
93
|
+
context: z.ZodOptional<z.ZodObject<{
|
|
94
|
+
compact_after_tokens: z.ZodNumber;
|
|
95
|
+
keep_recent_events: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
summary_model: z.ZodOptional<z.ZodString>;
|
|
97
|
+
}, z.core.$strict>>;
|
|
98
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
99
|
+
input: z.ZodString;
|
|
100
|
+
output: z.ZodString;
|
|
101
|
+
}, z.core.$strict>>>;
|
|
102
|
+
mode: z.ZodOptional<z.ZodLiteral<"task">>;
|
|
64
103
|
orchestration: z.ZodOptional<z.ZodObject<{
|
|
65
104
|
role: z.ZodOptional<z.ZodEnum<{
|
|
66
105
|
primary: "primary";
|
|
@@ -77,6 +116,7 @@ export declare const agentSchema: z.ZodObject<{
|
|
|
77
116
|
*/
|
|
78
117
|
export declare const subagentSchema: z.ZodObject<{
|
|
79
118
|
name: z.ZodString;
|
|
119
|
+
fallback_model: z.ZodOptional<z.ZodString>;
|
|
80
120
|
globalInstruction: z.ZodOptional<z.ZodString>;
|
|
81
121
|
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
82
122
|
require_approval: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -109,6 +149,43 @@ export declare const subagentSchema: z.ZodObject<{
|
|
|
109
149
|
}, z.core.$loose>>;
|
|
110
150
|
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
111
151
|
mcp_server_url: z.ZodOptional<z.ZodString>;
|
|
152
|
+
mcp_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
153
|
+
skills: z.ZodOptional<z.ZodObject<{
|
|
154
|
+
dir: z.ZodString;
|
|
155
|
+
scripts: z.ZodOptional<z.ZodEnum<{
|
|
156
|
+
local: "local";
|
|
157
|
+
none: "none";
|
|
158
|
+
}>>;
|
|
159
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
160
|
+
}, z.core.$strict>>;
|
|
161
|
+
openapi: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
162
|
+
spec: z.ZodString;
|
|
163
|
+
operations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
164
|
+
base_url: z.ZodOptional<z.ZodString>;
|
|
165
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
166
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
167
|
+
bearer_env: z.ZodOptional<z.ZodString>;
|
|
168
|
+
api_key: z.ZodOptional<z.ZodObject<{
|
|
169
|
+
env: z.ZodString;
|
|
170
|
+
in: z.ZodEnum<{
|
|
171
|
+
header: "header";
|
|
172
|
+
query: "query";
|
|
173
|
+
}>;
|
|
174
|
+
name: z.ZodString;
|
|
175
|
+
}, z.core.$strict>>;
|
|
176
|
+
}, z.core.$strict>>;
|
|
177
|
+
}, z.core.$strict>>>;
|
|
178
|
+
code_execution: z.ZodOptional<z.ZodLiteral<"gemini">>;
|
|
179
|
+
context: z.ZodOptional<z.ZodObject<{
|
|
180
|
+
compact_after_tokens: z.ZodNumber;
|
|
181
|
+
keep_recent_events: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
summary_model: z.ZodOptional<z.ZodString>;
|
|
183
|
+
}, z.core.$strict>>;
|
|
184
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
185
|
+
input: z.ZodString;
|
|
186
|
+
output: z.ZodString;
|
|
187
|
+
}, z.core.$strict>>>;
|
|
188
|
+
mode: z.ZodOptional<z.ZodLiteral<"task">>;
|
|
112
189
|
orchestration: z.ZodOptional<z.ZodObject<{
|
|
113
190
|
role: z.ZodOptional<z.ZodEnum<{
|
|
114
191
|
primary: "primary";
|
|
@@ -128,6 +205,7 @@ export declare const syndicateSchema: z.ZodObject<{
|
|
|
128
205
|
name: z.ZodString;
|
|
129
206
|
description: z.ZodOptional<z.ZodString>;
|
|
130
207
|
model: z.ZodString;
|
|
208
|
+
fallback_model: z.ZodOptional<z.ZodString>;
|
|
131
209
|
instruction: z.ZodString;
|
|
132
210
|
globalInstruction: z.ZodOptional<z.ZodString>;
|
|
133
211
|
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -161,6 +239,43 @@ export declare const syndicateSchema: z.ZodObject<{
|
|
|
161
239
|
}, z.core.$loose>>;
|
|
162
240
|
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
163
241
|
mcp_server_url: z.ZodOptional<z.ZodString>;
|
|
242
|
+
mcp_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
243
|
+
skills: z.ZodOptional<z.ZodObject<{
|
|
244
|
+
dir: z.ZodString;
|
|
245
|
+
scripts: z.ZodOptional<z.ZodEnum<{
|
|
246
|
+
local: "local";
|
|
247
|
+
none: "none";
|
|
248
|
+
}>>;
|
|
249
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
250
|
+
}, z.core.$strict>>;
|
|
251
|
+
openapi: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
252
|
+
spec: z.ZodString;
|
|
253
|
+
operations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
254
|
+
base_url: z.ZodOptional<z.ZodString>;
|
|
255
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
256
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
257
|
+
bearer_env: z.ZodOptional<z.ZodString>;
|
|
258
|
+
api_key: z.ZodOptional<z.ZodObject<{
|
|
259
|
+
env: z.ZodString;
|
|
260
|
+
in: z.ZodEnum<{
|
|
261
|
+
header: "header";
|
|
262
|
+
query: "query";
|
|
263
|
+
}>;
|
|
264
|
+
name: z.ZodString;
|
|
265
|
+
}, z.core.$strict>>;
|
|
266
|
+
}, z.core.$strict>>;
|
|
267
|
+
}, z.core.$strict>>>;
|
|
268
|
+
code_execution: z.ZodOptional<z.ZodLiteral<"gemini">>;
|
|
269
|
+
context: z.ZodOptional<z.ZodObject<{
|
|
270
|
+
compact_after_tokens: z.ZodNumber;
|
|
271
|
+
keep_recent_events: z.ZodOptional<z.ZodNumber>;
|
|
272
|
+
summary_model: z.ZodOptional<z.ZodString>;
|
|
273
|
+
}, z.core.$strict>>;
|
|
274
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
275
|
+
input: z.ZodString;
|
|
276
|
+
output: z.ZodString;
|
|
277
|
+
}, z.core.$strict>>>;
|
|
278
|
+
mode: z.ZodOptional<z.ZodLiteral<"task">>;
|
|
164
279
|
orchestration: z.ZodOptional<z.ZodObject<{
|
|
165
280
|
role: z.ZodOptional<z.ZodEnum<{
|
|
166
281
|
primary: "primary";
|
|
@@ -171,6 +286,7 @@ export declare const syndicateSchema: z.ZodObject<{
|
|
|
171
286
|
}, z.core.$strict>;
|
|
172
287
|
subagents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
173
288
|
name: z.ZodString;
|
|
289
|
+
fallback_model: z.ZodOptional<z.ZodString>;
|
|
174
290
|
globalInstruction: z.ZodOptional<z.ZodString>;
|
|
175
291
|
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
176
292
|
require_approval: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -203,6 +319,43 @@ export declare const syndicateSchema: z.ZodObject<{
|
|
|
203
319
|
}, z.core.$loose>>;
|
|
204
320
|
outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
205
321
|
mcp_server_url: z.ZodOptional<z.ZodString>;
|
|
322
|
+
mcp_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
323
|
+
skills: z.ZodOptional<z.ZodObject<{
|
|
324
|
+
dir: z.ZodString;
|
|
325
|
+
scripts: z.ZodOptional<z.ZodEnum<{
|
|
326
|
+
local: "local";
|
|
327
|
+
none: "none";
|
|
328
|
+
}>>;
|
|
329
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
330
|
+
}, z.core.$strict>>;
|
|
331
|
+
openapi: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
332
|
+
spec: z.ZodString;
|
|
333
|
+
operations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
334
|
+
base_url: z.ZodOptional<z.ZodString>;
|
|
335
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
336
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
337
|
+
bearer_env: z.ZodOptional<z.ZodString>;
|
|
338
|
+
api_key: z.ZodOptional<z.ZodObject<{
|
|
339
|
+
env: z.ZodString;
|
|
340
|
+
in: z.ZodEnum<{
|
|
341
|
+
header: "header";
|
|
342
|
+
query: "query";
|
|
343
|
+
}>;
|
|
344
|
+
name: z.ZodString;
|
|
345
|
+
}, z.core.$strict>>;
|
|
346
|
+
}, z.core.$strict>>;
|
|
347
|
+
}, z.core.$strict>>>;
|
|
348
|
+
code_execution: z.ZodOptional<z.ZodLiteral<"gemini">>;
|
|
349
|
+
context: z.ZodOptional<z.ZodObject<{
|
|
350
|
+
compact_after_tokens: z.ZodNumber;
|
|
351
|
+
keep_recent_events: z.ZodOptional<z.ZodNumber>;
|
|
352
|
+
summary_model: z.ZodOptional<z.ZodString>;
|
|
353
|
+
}, z.core.$strict>>;
|
|
354
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
355
|
+
input: z.ZodString;
|
|
356
|
+
output: z.ZodString;
|
|
357
|
+
}, z.core.$strict>>>;
|
|
358
|
+
mode: z.ZodOptional<z.ZodLiteral<"task">>;
|
|
206
359
|
orchestration: z.ZodOptional<z.ZodObject<{
|
|
207
360
|
role: z.ZodOptional<z.ZodEnum<{
|
|
208
361
|
primary: "primary";
|
|
@@ -227,6 +380,30 @@ export declare const syndicateSchema: z.ZodObject<{
|
|
|
227
380
|
reason: z.ZodOptional<z.ZodString>;
|
|
228
381
|
}, z.core.$strict>>>;
|
|
229
382
|
}, z.core.$strict>>;
|
|
383
|
+
workflow: z.ZodOptional<z.ZodObject<{
|
|
384
|
+
edges: z.ZodArray<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>]>>>;
|
|
385
|
+
nodes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
386
|
+
ask_user: z.ZodOptional<z.ZodString>;
|
|
387
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
388
|
+
join: z.ZodOptional<z.ZodLiteral<true>>;
|
|
389
|
+
map: z.ZodOptional<z.ZodString>;
|
|
390
|
+
max_parallel: z.ZodOptional<z.ZodNumber>;
|
|
391
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
392
|
+
route_key: z.ZodOptional<z.ZodString>;
|
|
393
|
+
retry: z.ZodOptional<z.ZodObject<{
|
|
394
|
+
max_attempts: z.ZodOptional<z.ZodNumber>;
|
|
395
|
+
initial_delay: z.ZodOptional<z.ZodNumber>;
|
|
396
|
+
max_delay: z.ZodOptional<z.ZodNumber>;
|
|
397
|
+
backoff_factor: z.ZodOptional<z.ZodNumber>;
|
|
398
|
+
}, z.core.$strict>>;
|
|
399
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
400
|
+
}, z.core.$strict>>>;
|
|
401
|
+
max_concurrency: z.ZodOptional<z.ZodNumber>;
|
|
402
|
+
}, z.core.$strict>>;
|
|
403
|
+
retries: z.ZodOptional<z.ZodObject<{
|
|
404
|
+
model_errors: z.ZodOptional<z.ZodNumber>;
|
|
405
|
+
tool_errors: z.ZodOptional<z.ZodNumber>;
|
|
406
|
+
}, z.core.$strict>>;
|
|
230
407
|
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
231
408
|
memory_system: z.ZodOptional<z.ZodEnum<{
|
|
232
409
|
"internal-only": "internal-only";
|