@eir-labs/coltrane 0.4.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/LICENSE +201 -0
- package/README.md +85 -0
- package/agents/anticipation-mapper.json +34 -0
- package/agents/claim-amender.json +34 -0
- package/agents/claim-architect.json +34 -0
- package/agents/claim-rewriter.json +32 -0
- package/agents/delivery-finalizer.json +40 -0
- package/agents/diamond-cutter.json +33 -0
- package/agents/disclosure-analyst.json +26 -0
- package/agents/domain-explorer.json +37 -0
- package/agents/e2e-runner.json +34 -0
- package/agents/e2e-suite-judge.json +26 -0
- package/agents/event-clusterer.json +29 -0
- package/agents/novelty-searcher.json +40 -0
- package/agents/patent-browser-scout.json +49 -0
- package/agents/patent-examiner.json +36 -0
- package/agents/phase_agents/claim-rewriter.md +44 -0
- package/agents/phase_agents/delivery-finalizer.md +30 -0
- package/agents/phase_agents/diamond-cutter.md +47 -0
- package/agents/phase_agents/domain-explorer.md +27 -0
- package/agents/phase_agents/novelty-searcher.md +50 -0
- package/agents/phase_agents/problem-definer.md +32 -0
- package/agents/phase_agents/solution-developer.md +26 -0
- package/agents/phase_agents/verdict-judger.md +70 -0
- package/agents/players/audience-modeler.md +40 -0
- package/agents/players/chain-audit-keeper.md +41 -0
- package/agents/players/illumination-reviewer.md +42 -0
- package/agents/players/methodology-cadence-keeper.md +42 -0
- package/agents/players/substrate-edge-keeper.md +45 -0
- package/agents/prior-art-scout.json +45 -0
- package/agents/problem-definer.json +35 -0
- package/agents/seeds/steve_seed_a.json +12 -0
- package/agents/seeds/steve_seed_b.json +12 -0
- package/agents/seeds/steve_seed_c.json +12 -0
- package/agents/seeds/steve_seed_d.json +12 -0
- package/agents/sensor.json +22 -0
- package/agents/solution-developer.json +35 -0
- package/agents/source-walker.json +38 -0
- package/agents/spec-drafter.json +31 -0
- package/agents/sub_thread_soft_judge.json +26 -0
- package/agents/sub_thread_trace_sensor.json +22 -0
- package/agents/summarizer.json +25 -0
- package/agents/synthesis-writer.json +29 -0
- package/agents/triage-judge.json +39 -0
- package/agents/user_flow_judge.json +26 -0
- package/agents/user_flow_sensor.json +22 -0
- package/agents/verdict-judger.json +39 -0
- package/core_types/artifact.json +17 -0
- package/core_types/interpretation.json +16 -0
- package/core_types/judgment.json +16 -0
- package/core_types/plan.json +16 -0
- package/core_types/signal.json +16 -0
- package/core_types/verdict.json +27 -0
- package/dist/src/access_grant.d.ts +46 -0
- package/dist/src/access_grant.js +76 -0
- package/dist/src/access_grant.js.map +1 -0
- package/dist/src/acoustics.d.ts +9 -0
- package/dist/src/acoustics.js +65 -0
- package/dist/src/acoustics.js.map +1 -0
- package/dist/src/agent_profile.d.ts +36 -0
- package/dist/src/agent_profile.js +57 -0
- package/dist/src/agent_profile.js.map +1 -0
- package/dist/src/bifrost_invoker.d.ts +33 -0
- package/dist/src/bifrost_invoker.js +85 -0
- package/dist/src/bifrost_invoker.js.map +1 -0
- package/dist/src/canonical_core_types.d.ts +2 -0
- package/dist/src/canonical_core_types.js +111 -0
- package/dist/src/canonical_core_types.js.map +1 -0
- package/dist/src/canonical_form.d.ts +55 -0
- package/dist/src/canonical_form.js +93 -0
- package/dist/src/canonical_form.js.map +1 -0
- package/dist/src/charter.d.ts +37 -0
- package/dist/src/charter.js +86 -0
- package/dist/src/charter.js.map +1 -0
- package/dist/src/circle_of_fifths.d.ts +27 -0
- package/dist/src/circle_of_fifths.js +78 -0
- package/dist/src/circle_of_fifths.js.map +1 -0
- package/dist/src/claude_invoker.d.ts +102 -0
- package/dist/src/claude_invoker.js +760 -0
- package/dist/src/claude_invoker.js.map +1 -0
- package/dist/src/coltrane_profile.d.ts +87 -0
- package/dist/src/coltrane_profile.js +132 -0
- package/dist/src/coltrane_profile.js.map +1 -0
- package/dist/src/composition.d.ts +57 -0
- package/dist/src/composition.js +447 -0
- package/dist/src/composition.js.map +1 -0
- package/dist/src/core_types.d.ts +6 -0
- package/dist/src/core_types.js +25 -0
- package/dist/src/core_types.js.map +1 -0
- package/dist/src/document_factory.d.ts +89 -0
- package/dist/src/document_factory.js +176 -0
- package/dist/src/document_factory.js.map +1 -0
- package/dist/src/genome_schema.d.ts +512 -0
- package/dist/src/genome_schema.js +168 -0
- package/dist/src/genome_schema.js.map +1 -0
- package/dist/src/genome_writer.d.ts +67 -0
- package/dist/src/genome_writer.js +179 -0
- package/dist/src/genome_writer.js.map +1 -0
- package/dist/src/gig_song.d.ts +29 -0
- package/dist/src/gig_song.js +56 -0
- package/dist/src/gig_song.js.map +1 -0
- package/dist/src/gig_tracker.d.ts +54 -0
- package/dist/src/gig_tracker.js +109 -0
- package/dist/src/gig_tracker.js.map +1 -0
- package/dist/src/harmonic_validation.d.ts +11 -0
- package/dist/src/harmonic_validation.js +35 -0
- package/dist/src/harmonic_validation.js.map +1 -0
- package/dist/src/hooks.d.ts +27 -0
- package/dist/src/hooks.js +2 -0
- package/dist/src/hooks.js.map +1 -0
- package/dist/src/index.d.ts +36 -0
- package/dist/src/index.js +37 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/jsong.d.ts +47 -0
- package/dist/src/jsong.js +130 -0
- package/dist/src/jsong.js.map +1 -0
- package/dist/src/judges/user_flow_judge.d.ts +89 -0
- package/dist/src/judges/user_flow_judge.js +200 -0
- package/dist/src/judges/user_flow_judge.js.map +1 -0
- package/dist/src/learner.d.ts +37 -0
- package/dist/src/learner.js +30 -0
- package/dist/src/learner.js.map +1 -0
- package/dist/src/ledger.d.ts +225 -0
- package/dist/src/ledger.js +306 -0
- package/dist/src/ledger.js.map +1 -0
- package/dist/src/loader.d.ts +87 -0
- package/dist/src/loader.js +504 -0
- package/dist/src/loader.js.map +1 -0
- package/dist/src/mcp.d.ts +23 -0
- package/dist/src/mcp.js +125 -0
- package/dist/src/mcp.js.map +1 -0
- package/dist/src/modulation_path.d.ts +42 -0
- package/dist/src/modulation_path.js +60 -0
- package/dist/src/modulation_path.js.map +1 -0
- package/dist/src/output_validation.d.ts +19 -0
- package/dist/src/output_validation.js +51 -0
- package/dist/src/output_validation.js.map +1 -0
- package/dist/src/outputs.d.ts +125 -0
- package/dist/src/outputs.js +452 -0
- package/dist/src/outputs.js.map +1 -0
- package/dist/src/overtones.d.ts +42 -0
- package/dist/src/overtones.js +98 -0
- package/dist/src/overtones.js.map +1 -0
- package/dist/src/player_to_claude_code.d.ts +17 -0
- package/dist/src/player_to_claude_code.js +141 -0
- package/dist/src/player_to_claude_code.js.map +1 -0
- package/dist/src/playwright_cage.d.ts +28 -0
- package/dist/src/playwright_cage.js +47 -0
- package/dist/src/playwright_cage.js.map +1 -0
- package/dist/src/polyphony.d.ts +46 -0
- package/dist/src/polyphony.js +91 -0
- package/dist/src/polyphony.js.map +1 -0
- package/dist/src/portfolio.d.ts +52 -0
- package/dist/src/portfolio.js +186 -0
- package/dist/src/portfolio.js.map +1 -0
- package/dist/src/pricing.d.ts +23 -0
- package/dist/src/pricing.js +16 -0
- package/dist/src/pricing.js.map +1 -0
- package/dist/src/registry.d.ts +46 -0
- package/dist/src/registry.js +199 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/runtime.d.ts +304 -0
- package/dist/src/runtime.js +1099 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/server.d.ts +88 -0
- package/dist/src/server.js +1692 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/server_entry.d.ts +2 -0
- package/dist/src/server_entry.js +40 -0
- package/dist/src/server_entry.js.map +1 -0
- package/dist/src/server_relay.d.ts +82 -0
- package/dist/src/server_relay.js +341 -0
- package/dist/src/server_relay.js.map +1 -0
- package/dist/src/simulate.d.ts +60 -0
- package/dist/src/simulate.js +72 -0
- package/dist/src/simulate.js.map +1 -0
- package/dist/src/skill_runner.mjs +34 -0
- package/dist/src/skill_subprocess.d.ts +65 -0
- package/dist/src/skill_subprocess.js +132 -0
- package/dist/src/skill_subprocess.js.map +1 -0
- package/dist/src/skills.d.ts +85 -0
- package/dist/src/skills.js +258 -0
- package/dist/src/skills.js.map +1 -0
- package/dist/src/subthread_recorder.d.ts +68 -0
- package/dist/src/subthread_recorder.js +166 -0
- package/dist/src/subthread_recorder.js.map +1 -0
- package/dist/src/tensor_read.d.ts +38 -0
- package/dist/src/tensor_read.js +60 -0
- package/dist/src/tensor_read.js.map +1 -0
- package/dist/src/test_honest_broker.d.ts +34 -0
- package/dist/src/test_honest_broker.js +155 -0
- package/dist/src/test_honest_broker.js.map +1 -0
- package/dist/src/test_topology.d.ts +22 -0
- package/dist/src/test_topology.js +137 -0
- package/dist/src/test_topology.js.map +1 -0
- package/dist/src/tones.d.ts +20 -0
- package/dist/src/tones.js +81 -0
- package/dist/src/tones.js.map +1 -0
- package/dist/src/tool_providers.d.ts +45 -0
- package/dist/src/tool_providers.js +104 -0
- package/dist/src/tool_providers.js.map +1 -0
- package/dist/src/type_versioning.d.ts +23 -0
- package/dist/src/type_versioning.js +31 -0
- package/dist/src/type_versioning.js.map +1 -0
- package/dist/src/version.d.ts +28 -0
- package/dist/src/version.js +86 -0
- package/dist/src/version.js.map +1 -0
- package/domain_types/claim-draft.json +34 -0
- package/domain_types/coverage-report.json +31 -0
- package/domain_types/draft-agent-profile.json +31 -0
- package/domain_types/draft-domain-type.json +28 -0
- package/domain_types/draft-standard.json +46 -0
- package/domain_types/e2e-observation.json +32 -0
- package/domain_types/e2e-report.json +30 -0
- package/domain_types/e2e-target.json +26 -0
- package/domain_types/e2e-verdict.json +26 -0
- package/domain_types/examine-round-record.json +40 -0
- package/domain_types/examiner-rejection.json +28 -0
- package/domain_types/failure-modes.json +31 -0
- package/domain_types/invention-analysis.json +34 -0
- package/domain_types/invention-spec.json +34 -0
- package/domain_types/novelty-analysis.json +28 -0
- package/domain_types/novelty-verdict.json +35 -0
- package/domain_types/parsed-conversation-trace.json +38 -0
- package/domain_types/pattern-extraction.json +62 -0
- package/domain_types/prior-art-hit.json +50 -0
- package/domain_types/project-charter.json +71 -0
- package/domain_types/provisional-draft.json +34 -0
- package/domain_types/raw-note.json +19 -0
- package/domain_types/repo-survey.json +28 -0
- package/domain_types/seeding-verdict.json +70 -0
- package/domain_types/soft-verdict.json +55 -0
- package/domain_types/summary.json +19 -0
- package/domain_types/triage-verdict.json +59 -0
- package/domain_types/user-flow-transcript.json +43 -0
- package/domain_types/user-flow-verdict.json +60 -0
- package/domain_types/verdict-record.json +39 -0
- package/package.json +82 -0
- package/skills/citation-verify/fixtures/basic.json +14 -0
- package/skills/citation-verify/meta.json +10 -0
- package/skills/citation-verify/skill.mjs +26 -0
- package/skills/claim-element-decompose/fixtures/basic.json +11 -0
- package/skills/claim-element-decompose/meta.json +10 -0
- package/skills/claim-element-decompose/skill.mjs +14 -0
- package/skills/diamond-cutting-discipline/fixtures/basic.json +13 -0
- package/skills/diamond-cutting-discipline/meta.json +19 -0
- package/skills/diamond-cutting-discipline/skill.md +46 -0
- package/skills/element-mapping-matrix/fixtures/basic.json +13 -0
- package/skills/element-mapping-matrix/meta.json +10 -0
- package/skills/element-mapping-matrix/skill.mjs +20 -0
- package/skills/number-adder/fixtures/basic.json +9 -0
- package/skills/number-adder/meta.json +10 -0
- package/skills/number-adder/skill.mjs +12 -0
- package/skills/patent-fetch/fixtures/parse.json +18 -0
- package/skills/patent-fetch/meta.json +11 -0
- package/skills/patent-fetch/skill.mjs +34 -0
- package/skills/query-expand/fixtures/basic.json +14 -0
- package/skills/query-expand/meta.json +10 -0
- package/skills/query-expand/skill.mjs +29 -0
- package/skills/run-vitest-band/fixtures/basic.json +9 -0
- package/skills/run-vitest-band/meta.json +18 -0
- package/skills/run-vitest-band/skill.mjs +22 -0
- package/skills/statutory-checklist/fixtures/basic.json +16 -0
- package/skills/statutory-checklist/meta.json +10 -0
- package/skills/statutory-checklist/skill.mjs +25 -0
- package/skills/summarize-tight/fixtures/basic.json +13 -0
- package/skills/summarize-tight/meta.json +20 -0
- package/skills/summarize-tight/skill.md +1 -0
- package/skills/verdict-gate/fixtures/basic.json +9 -0
- package/skills/verdict-gate/meta.json +10 -0
- package/skills/verdict-gate/skill.mjs +82 -0
- package/standards/e2e-suite-v0.json +44 -0
- package/standards/patent-triage-v0.json +98 -0
- package/standards/patent-triage-v1.json +84 -0
- package/standards/seed-from-local-repos-v0.json +115 -0
- package/standards/sub_thread_invocation.json +50 -0
- package/standards/summarize.json +40 -0
- package/standards/synthesis-walk-v0.json +108 -0
- package/standards/user_flow_correctness.json +57 -0
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const PrimitiveSchema: z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>;
|
|
3
|
+
export declare const BelbinRoleSchema: z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>;
|
|
4
|
+
export declare const CodeToolAccessSchema: z.ZodEnum<["none", "read", "write", "full"]>;
|
|
5
|
+
export declare const ModelTierSchema: z.ZodEnum<["economy", "standard", "premium"]>;
|
|
6
|
+
export declare const DepthSchema: z.ZodEnum<["skim", "quick", "standard", "deep"]>;
|
|
7
|
+
export declare const BrowserGrantSchema: z.ZodObject<{
|
|
8
|
+
allowed_origins: z.ZodArray<z.ZodString, "many">;
|
|
9
|
+
blocked_origins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
trace_dir: z.ZodOptional<z.ZodString>;
|
|
11
|
+
isolated: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
headless: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
allowed_origins: string[];
|
|
15
|
+
blocked_origins?: string[] | undefined;
|
|
16
|
+
trace_dir?: string | undefined;
|
|
17
|
+
isolated?: boolean | undefined;
|
|
18
|
+
headless?: boolean | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
allowed_origins: string[];
|
|
21
|
+
blocked_origins?: string[] | undefined;
|
|
22
|
+
trace_dir?: string | undefined;
|
|
23
|
+
isolated?: boolean | undefined;
|
|
24
|
+
headless?: boolean | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export type BrowserGrant = z.output<typeof BrowserGrantSchema>;
|
|
27
|
+
export declare const AgentSchema: z.ZodObject<{
|
|
28
|
+
slug: z.ZodString;
|
|
29
|
+
primitives: z.ZodReadonly<z.ZodArray<z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>, "many">>;
|
|
30
|
+
input_types: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
31
|
+
output_types: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
32
|
+
domain: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
33
|
+
identity: z.ZodString;
|
|
34
|
+
method: z.ZodString;
|
|
35
|
+
constraints: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
|
|
36
|
+
behavioral_primitives: z.ZodReadonly<z.ZodTuple<[z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>, z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>], null>>;
|
|
37
|
+
allowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
38
|
+
disallowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
39
|
+
skill_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
40
|
+
model_tier: z.ZodOptional<z.ZodEnum<["economy", "standard", "premium"]>>;
|
|
41
|
+
max_tool_calls: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
max_token_budget: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
code_tool_access: z.ZodOptional<z.ZodEnum<["none", "read", "write", "full"]>>;
|
|
44
|
+
depth_profile: z.ZodOptional<z.ZodEnum<["skim", "quick", "standard", "deep"]>>;
|
|
45
|
+
browser_grant: z.ZodOptional<z.ZodObject<{
|
|
46
|
+
allowed_origins: z.ZodArray<z.ZodString, "many">;
|
|
47
|
+
blocked_origins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
48
|
+
trace_dir: z.ZodOptional<z.ZodString>;
|
|
49
|
+
isolated: z.ZodOptional<z.ZodBoolean>;
|
|
50
|
+
headless: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
allowed_origins: string[];
|
|
53
|
+
blocked_origins?: string[] | undefined;
|
|
54
|
+
trace_dir?: string | undefined;
|
|
55
|
+
isolated?: boolean | undefined;
|
|
56
|
+
headless?: boolean | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
allowed_origins: string[];
|
|
59
|
+
blocked_origins?: string[] | undefined;
|
|
60
|
+
trace_dir?: string | undefined;
|
|
61
|
+
isolated?: boolean | undefined;
|
|
62
|
+
headless?: boolean | undefined;
|
|
63
|
+
}>>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
slug: string;
|
|
66
|
+
primitives: readonly ("SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY")[];
|
|
67
|
+
input_types: readonly string[];
|
|
68
|
+
output_types: readonly string[];
|
|
69
|
+
domain: string | null;
|
|
70
|
+
identity: string;
|
|
71
|
+
method: string;
|
|
72
|
+
constraints: readonly string[];
|
|
73
|
+
behavioral_primitives: readonly ["explorer" | "analyst" | "critic" | "synthesizer" | "planner" | "executor" | "audience_modeler", "explorer" | "analyst" | "critic" | "synthesizer" | "planner" | "executor" | "audience_modeler"];
|
|
74
|
+
depth_profile?: "skim" | "quick" | "standard" | "deep" | undefined;
|
|
75
|
+
allowed_tools?: readonly string[] | undefined;
|
|
76
|
+
disallowed_tools?: readonly string[] | undefined;
|
|
77
|
+
skill_slugs?: readonly string[] | undefined;
|
|
78
|
+
model_tier?: "standard" | "economy" | "premium" | undefined;
|
|
79
|
+
max_tool_calls?: number | undefined;
|
|
80
|
+
max_token_budget?: number | undefined;
|
|
81
|
+
code_tool_access?: "none" | "read" | "write" | "full" | undefined;
|
|
82
|
+
browser_grant?: {
|
|
83
|
+
allowed_origins: string[];
|
|
84
|
+
blocked_origins?: string[] | undefined;
|
|
85
|
+
trace_dir?: string | undefined;
|
|
86
|
+
isolated?: boolean | undefined;
|
|
87
|
+
headless?: boolean | undefined;
|
|
88
|
+
} | undefined;
|
|
89
|
+
}, {
|
|
90
|
+
slug: string;
|
|
91
|
+
primitives: readonly ("SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY")[];
|
|
92
|
+
identity: string;
|
|
93
|
+
method: string;
|
|
94
|
+
constraints: readonly string[];
|
|
95
|
+
behavioral_primitives: readonly ["explorer" | "analyst" | "critic" | "synthesizer" | "planner" | "executor" | "audience_modeler", "explorer" | "analyst" | "critic" | "synthesizer" | "planner" | "executor" | "audience_modeler"];
|
|
96
|
+
input_types?: readonly string[] | undefined;
|
|
97
|
+
output_types?: readonly string[] | undefined;
|
|
98
|
+
domain?: string | null | undefined;
|
|
99
|
+
depth_profile?: "skim" | "quick" | "standard" | "deep" | undefined;
|
|
100
|
+
allowed_tools?: readonly string[] | undefined;
|
|
101
|
+
disallowed_tools?: readonly string[] | undefined;
|
|
102
|
+
skill_slugs?: readonly string[] | undefined;
|
|
103
|
+
model_tier?: "standard" | "economy" | "premium" | undefined;
|
|
104
|
+
max_tool_calls?: number | undefined;
|
|
105
|
+
max_token_budget?: number | undefined;
|
|
106
|
+
code_tool_access?: "none" | "read" | "write" | "full" | undefined;
|
|
107
|
+
browser_grant?: {
|
|
108
|
+
allowed_origins: string[];
|
|
109
|
+
blocked_origins?: string[] | undefined;
|
|
110
|
+
trace_dir?: string | undefined;
|
|
111
|
+
isolated?: boolean | undefined;
|
|
112
|
+
headless?: boolean | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
}>;
|
|
115
|
+
export type AgentInput = z.input<typeof AgentSchema>;
|
|
116
|
+
export type AgentOutput = z.output<typeof AgentSchema>;
|
|
117
|
+
export declare const ChairSchema: z.ZodObject<{
|
|
118
|
+
role: z.ZodString;
|
|
119
|
+
agent_slug: z.ZodOptional<z.ZodString>;
|
|
120
|
+
skill_slug: z.ZodOptional<z.ZodString>;
|
|
121
|
+
depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
122
|
+
input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
123
|
+
output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
124
|
+
optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
125
|
+
required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
126
|
+
}, "strip", z.ZodTypeAny, {
|
|
127
|
+
role: string;
|
|
128
|
+
depends_on: string[];
|
|
129
|
+
input_contract: string[];
|
|
130
|
+
output_contract: string[];
|
|
131
|
+
optional_outputs: string[];
|
|
132
|
+
required_skills: string[];
|
|
133
|
+
agent_slug?: string | undefined;
|
|
134
|
+
skill_slug?: string | undefined;
|
|
135
|
+
}, {
|
|
136
|
+
role: string;
|
|
137
|
+
agent_slug?: string | undefined;
|
|
138
|
+
skill_slug?: string | undefined;
|
|
139
|
+
depends_on?: string[] | undefined;
|
|
140
|
+
input_contract?: string[] | undefined;
|
|
141
|
+
output_contract?: string[] | undefined;
|
|
142
|
+
optional_outputs?: string[] | undefined;
|
|
143
|
+
required_skills?: string[] | undefined;
|
|
144
|
+
}>;
|
|
145
|
+
export declare const PhaseSchema: z.ZodObject<{
|
|
146
|
+
name: z.ZodString;
|
|
147
|
+
chairs: z.ZodArray<z.ZodObject<{
|
|
148
|
+
role: z.ZodString;
|
|
149
|
+
agent_slug: z.ZodOptional<z.ZodString>;
|
|
150
|
+
skill_slug: z.ZodOptional<z.ZodString>;
|
|
151
|
+
depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
152
|
+
input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
153
|
+
output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
154
|
+
optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
155
|
+
required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
156
|
+
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
role: string;
|
|
158
|
+
depends_on: string[];
|
|
159
|
+
input_contract: string[];
|
|
160
|
+
output_contract: string[];
|
|
161
|
+
optional_outputs: string[];
|
|
162
|
+
required_skills: string[];
|
|
163
|
+
agent_slug?: string | undefined;
|
|
164
|
+
skill_slug?: string | undefined;
|
|
165
|
+
}, {
|
|
166
|
+
role: string;
|
|
167
|
+
agent_slug?: string | undefined;
|
|
168
|
+
skill_slug?: string | undefined;
|
|
169
|
+
depends_on?: string[] | undefined;
|
|
170
|
+
input_contract?: string[] | undefined;
|
|
171
|
+
output_contract?: string[] | undefined;
|
|
172
|
+
optional_outputs?: string[] | undefined;
|
|
173
|
+
required_skills?: string[] | undefined;
|
|
174
|
+
}>, "many">;
|
|
175
|
+
}, "strip", z.ZodTypeAny, {
|
|
176
|
+
name: string;
|
|
177
|
+
chairs: {
|
|
178
|
+
role: string;
|
|
179
|
+
depends_on: string[];
|
|
180
|
+
input_contract: string[];
|
|
181
|
+
output_contract: string[];
|
|
182
|
+
optional_outputs: string[];
|
|
183
|
+
required_skills: string[];
|
|
184
|
+
agent_slug?: string | undefined;
|
|
185
|
+
skill_slug?: string | undefined;
|
|
186
|
+
}[];
|
|
187
|
+
}, {
|
|
188
|
+
name: string;
|
|
189
|
+
chairs: {
|
|
190
|
+
role: string;
|
|
191
|
+
agent_slug?: string | undefined;
|
|
192
|
+
skill_slug?: string | undefined;
|
|
193
|
+
depends_on?: string[] | undefined;
|
|
194
|
+
input_contract?: string[] | undefined;
|
|
195
|
+
output_contract?: string[] | undefined;
|
|
196
|
+
optional_outputs?: string[] | undefined;
|
|
197
|
+
required_skills?: string[] | undefined;
|
|
198
|
+
}[];
|
|
199
|
+
}>;
|
|
200
|
+
export declare const StandardSchema: z.ZodObject<{
|
|
201
|
+
slug: z.ZodString;
|
|
202
|
+
domain: z.ZodString;
|
|
203
|
+
agents: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
204
|
+
agent_slugs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
205
|
+
phases: z.ZodArray<z.ZodObject<{
|
|
206
|
+
name: z.ZodString;
|
|
207
|
+
chairs: z.ZodArray<z.ZodObject<{
|
|
208
|
+
role: z.ZodString;
|
|
209
|
+
agent_slug: z.ZodOptional<z.ZodString>;
|
|
210
|
+
skill_slug: z.ZodOptional<z.ZodString>;
|
|
211
|
+
depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
212
|
+
input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
213
|
+
output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
214
|
+
optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
215
|
+
required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
216
|
+
}, "strip", z.ZodTypeAny, {
|
|
217
|
+
role: string;
|
|
218
|
+
depends_on: string[];
|
|
219
|
+
input_contract: string[];
|
|
220
|
+
output_contract: string[];
|
|
221
|
+
optional_outputs: string[];
|
|
222
|
+
required_skills: string[];
|
|
223
|
+
agent_slug?: string | undefined;
|
|
224
|
+
skill_slug?: string | undefined;
|
|
225
|
+
}, {
|
|
226
|
+
role: string;
|
|
227
|
+
agent_slug?: string | undefined;
|
|
228
|
+
skill_slug?: string | undefined;
|
|
229
|
+
depends_on?: string[] | undefined;
|
|
230
|
+
input_contract?: string[] | undefined;
|
|
231
|
+
output_contract?: string[] | undefined;
|
|
232
|
+
optional_outputs?: string[] | undefined;
|
|
233
|
+
required_skills?: string[] | undefined;
|
|
234
|
+
}>, "many">;
|
|
235
|
+
}, "strip", z.ZodTypeAny, {
|
|
236
|
+
name: string;
|
|
237
|
+
chairs: {
|
|
238
|
+
role: string;
|
|
239
|
+
depends_on: string[];
|
|
240
|
+
input_contract: string[];
|
|
241
|
+
output_contract: string[];
|
|
242
|
+
optional_outputs: string[];
|
|
243
|
+
required_skills: string[];
|
|
244
|
+
agent_slug?: string | undefined;
|
|
245
|
+
skill_slug?: string | undefined;
|
|
246
|
+
}[];
|
|
247
|
+
}, {
|
|
248
|
+
name: string;
|
|
249
|
+
chairs: {
|
|
250
|
+
role: string;
|
|
251
|
+
agent_slug?: string | undefined;
|
|
252
|
+
skill_slug?: string | undefined;
|
|
253
|
+
depends_on?: string[] | undefined;
|
|
254
|
+
input_contract?: string[] | undefined;
|
|
255
|
+
output_contract?: string[] | undefined;
|
|
256
|
+
optional_outputs?: string[] | undefined;
|
|
257
|
+
required_skills?: string[] | undefined;
|
|
258
|
+
}[];
|
|
259
|
+
}>, "many">;
|
|
260
|
+
eval_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
261
|
+
input_types: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
262
|
+
output_types: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
|
|
263
|
+
max_examine_rounds: z.ZodOptional<z.ZodNumber>;
|
|
264
|
+
description: z.ZodOptional<z.ZodString>;
|
|
265
|
+
}, "strip", z.ZodTypeAny, {
|
|
266
|
+
slug: string;
|
|
267
|
+
domain: string;
|
|
268
|
+
phases: {
|
|
269
|
+
name: string;
|
|
270
|
+
chairs: {
|
|
271
|
+
role: string;
|
|
272
|
+
depends_on: string[];
|
|
273
|
+
input_contract: string[];
|
|
274
|
+
output_contract: string[];
|
|
275
|
+
optional_outputs: string[];
|
|
276
|
+
required_skills: string[];
|
|
277
|
+
agent_slug?: string | undefined;
|
|
278
|
+
skill_slug?: string | undefined;
|
|
279
|
+
}[];
|
|
280
|
+
}[];
|
|
281
|
+
input_types?: readonly string[] | undefined;
|
|
282
|
+
output_types?: readonly string[] | undefined;
|
|
283
|
+
agents?: unknown[] | undefined;
|
|
284
|
+
agent_slugs?: string[] | undefined;
|
|
285
|
+
eval_slugs?: readonly string[] | undefined;
|
|
286
|
+
max_examine_rounds?: number | undefined;
|
|
287
|
+
description?: string | undefined;
|
|
288
|
+
}, {
|
|
289
|
+
slug: string;
|
|
290
|
+
domain: string;
|
|
291
|
+
phases: {
|
|
292
|
+
name: string;
|
|
293
|
+
chairs: {
|
|
294
|
+
role: string;
|
|
295
|
+
agent_slug?: string | undefined;
|
|
296
|
+
skill_slug?: string | undefined;
|
|
297
|
+
depends_on?: string[] | undefined;
|
|
298
|
+
input_contract?: string[] | undefined;
|
|
299
|
+
output_contract?: string[] | undefined;
|
|
300
|
+
optional_outputs?: string[] | undefined;
|
|
301
|
+
required_skills?: string[] | undefined;
|
|
302
|
+
}[];
|
|
303
|
+
}[];
|
|
304
|
+
input_types?: readonly string[] | undefined;
|
|
305
|
+
output_types?: readonly string[] | undefined;
|
|
306
|
+
agents?: unknown[] | undefined;
|
|
307
|
+
agent_slugs?: string[] | undefined;
|
|
308
|
+
eval_slugs?: readonly string[] | undefined;
|
|
309
|
+
max_examine_rounds?: number | undefined;
|
|
310
|
+
description?: string | undefined;
|
|
311
|
+
}>;
|
|
312
|
+
export type StandardInput = z.input<typeof StandardSchema>;
|
|
313
|
+
export type StandardOutput = z.output<typeof StandardSchema>;
|
|
314
|
+
export declare const NetworkGrantSchema: z.ZodObject<{
|
|
315
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
316
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
317
|
+
max_requests: z.ZodOptional<z.ZodNumber>;
|
|
318
|
+
max_bytes: z.ZodOptional<z.ZodNumber>;
|
|
319
|
+
}, "strip", z.ZodTypeAny, {
|
|
320
|
+
allow: string[];
|
|
321
|
+
methods?: string[] | undefined;
|
|
322
|
+
max_requests?: number | undefined;
|
|
323
|
+
max_bytes?: number | undefined;
|
|
324
|
+
}, {
|
|
325
|
+
allow?: string[] | undefined;
|
|
326
|
+
methods?: string[] | undefined;
|
|
327
|
+
max_requests?: number | undefined;
|
|
328
|
+
max_bytes?: number | undefined;
|
|
329
|
+
}>;
|
|
330
|
+
export declare const SkillPermissionSchema: z.ZodObject<{
|
|
331
|
+
tier: z.ZodOptional<z.ZodNumber>;
|
|
332
|
+
network: z.ZodOptional<z.ZodObject<{
|
|
333
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
334
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
335
|
+
max_requests: z.ZodOptional<z.ZodNumber>;
|
|
336
|
+
max_bytes: z.ZodOptional<z.ZodNumber>;
|
|
337
|
+
}, "strip", z.ZodTypeAny, {
|
|
338
|
+
allow: string[];
|
|
339
|
+
methods?: string[] | undefined;
|
|
340
|
+
max_requests?: number | undefined;
|
|
341
|
+
max_bytes?: number | undefined;
|
|
342
|
+
}, {
|
|
343
|
+
allow?: string[] | undefined;
|
|
344
|
+
methods?: string[] | undefined;
|
|
345
|
+
max_requests?: number | undefined;
|
|
346
|
+
max_bytes?: number | undefined;
|
|
347
|
+
}>>;
|
|
348
|
+
}, "strip", z.ZodTypeAny, {
|
|
349
|
+
tier?: number | undefined;
|
|
350
|
+
network?: {
|
|
351
|
+
allow: string[];
|
|
352
|
+
methods?: string[] | undefined;
|
|
353
|
+
max_requests?: number | undefined;
|
|
354
|
+
max_bytes?: number | undefined;
|
|
355
|
+
} | undefined;
|
|
356
|
+
}, {
|
|
357
|
+
tier?: number | undefined;
|
|
358
|
+
network?: {
|
|
359
|
+
allow?: string[] | undefined;
|
|
360
|
+
methods?: string[] | undefined;
|
|
361
|
+
max_requests?: number | undefined;
|
|
362
|
+
max_bytes?: number | undefined;
|
|
363
|
+
} | undefined;
|
|
364
|
+
}>;
|
|
365
|
+
export declare const SkillSchema: z.ZodObject<{
|
|
366
|
+
slug: z.ZodString;
|
|
367
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
368
|
+
skill_type: z.ZodOptional<z.ZodString>;
|
|
369
|
+
input_type: z.ZodOptional<z.ZodString>;
|
|
370
|
+
output_type: z.ZodOptional<z.ZodString>;
|
|
371
|
+
corpus: z.ZodOptional<z.ZodString>;
|
|
372
|
+
determinism_ratio: z.ZodOptional<z.ZodNumber>;
|
|
373
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
374
|
+
tier: z.ZodOptional<z.ZodNumber>;
|
|
375
|
+
network: z.ZodOptional<z.ZodObject<{
|
|
376
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
377
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
378
|
+
max_requests: z.ZodOptional<z.ZodNumber>;
|
|
379
|
+
max_bytes: z.ZodOptional<z.ZodNumber>;
|
|
380
|
+
}, "strip", z.ZodTypeAny, {
|
|
381
|
+
allow: string[];
|
|
382
|
+
methods?: string[] | undefined;
|
|
383
|
+
max_requests?: number | undefined;
|
|
384
|
+
max_bytes?: number | undefined;
|
|
385
|
+
}, {
|
|
386
|
+
allow?: string[] | undefined;
|
|
387
|
+
methods?: string[] | undefined;
|
|
388
|
+
max_requests?: number | undefined;
|
|
389
|
+
max_bytes?: number | undefined;
|
|
390
|
+
}>>;
|
|
391
|
+
}, "strip", z.ZodTypeAny, {
|
|
392
|
+
tier?: number | undefined;
|
|
393
|
+
network?: {
|
|
394
|
+
allow: string[];
|
|
395
|
+
methods?: string[] | undefined;
|
|
396
|
+
max_requests?: number | undefined;
|
|
397
|
+
max_bytes?: number | undefined;
|
|
398
|
+
} | undefined;
|
|
399
|
+
}, {
|
|
400
|
+
tier?: number | undefined;
|
|
401
|
+
network?: {
|
|
402
|
+
allow?: string[] | undefined;
|
|
403
|
+
methods?: string[] | undefined;
|
|
404
|
+
max_requests?: number | undefined;
|
|
405
|
+
max_bytes?: number | undefined;
|
|
406
|
+
} | undefined;
|
|
407
|
+
}>>;
|
|
408
|
+
description: z.ZodOptional<z.ZodString>;
|
|
409
|
+
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
410
|
+
fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
411
|
+
code: z.ZodOptional<z.ZodString>;
|
|
412
|
+
md: z.ZodOptional<z.ZodString>;
|
|
413
|
+
}, "strip", z.ZodTypeAny, {
|
|
414
|
+
slug: string;
|
|
415
|
+
version?: number | undefined;
|
|
416
|
+
code?: string | undefined;
|
|
417
|
+
description?: string | undefined;
|
|
418
|
+
skill_type?: string | undefined;
|
|
419
|
+
input_type?: string | undefined;
|
|
420
|
+
output_type?: string | undefined;
|
|
421
|
+
corpus?: string | undefined;
|
|
422
|
+
determinism_ratio?: number | undefined;
|
|
423
|
+
permission?: {
|
|
424
|
+
tier?: number | undefined;
|
|
425
|
+
network?: {
|
|
426
|
+
allow: string[];
|
|
427
|
+
methods?: string[] | undefined;
|
|
428
|
+
max_requests?: number | undefined;
|
|
429
|
+
max_bytes?: number | undefined;
|
|
430
|
+
} | undefined;
|
|
431
|
+
} | undefined;
|
|
432
|
+
timeout_ms?: number | undefined;
|
|
433
|
+
fixtures?: unknown[] | undefined;
|
|
434
|
+
md?: string | undefined;
|
|
435
|
+
}, {
|
|
436
|
+
slug: string;
|
|
437
|
+
version?: number | undefined;
|
|
438
|
+
code?: string | undefined;
|
|
439
|
+
description?: string | undefined;
|
|
440
|
+
skill_type?: string | undefined;
|
|
441
|
+
input_type?: string | undefined;
|
|
442
|
+
output_type?: string | undefined;
|
|
443
|
+
corpus?: string | undefined;
|
|
444
|
+
determinism_ratio?: number | undefined;
|
|
445
|
+
permission?: {
|
|
446
|
+
tier?: number | undefined;
|
|
447
|
+
network?: {
|
|
448
|
+
allow?: string[] | undefined;
|
|
449
|
+
methods?: string[] | undefined;
|
|
450
|
+
max_requests?: number | undefined;
|
|
451
|
+
max_bytes?: number | undefined;
|
|
452
|
+
} | undefined;
|
|
453
|
+
} | undefined;
|
|
454
|
+
timeout_ms?: number | undefined;
|
|
455
|
+
fixtures?: unknown[] | undefined;
|
|
456
|
+
md?: string | undefined;
|
|
457
|
+
}>;
|
|
458
|
+
export declare const EvalSchema: z.ZodObject<{
|
|
459
|
+
slug: z.ZodString;
|
|
460
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
461
|
+
on_type: z.ZodOptional<z.ZodString>;
|
|
462
|
+
non_empty_fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
463
|
+
asserts: z.ZodOptional<z.ZodString>;
|
|
464
|
+
}, "strip", z.ZodTypeAny, {
|
|
465
|
+
slug: string;
|
|
466
|
+
domain?: string | undefined;
|
|
467
|
+
on_type?: string | undefined;
|
|
468
|
+
non_empty_fields?: string[] | undefined;
|
|
469
|
+
asserts?: string | undefined;
|
|
470
|
+
}, {
|
|
471
|
+
slug: string;
|
|
472
|
+
domain?: string | undefined;
|
|
473
|
+
on_type?: string | undefined;
|
|
474
|
+
non_empty_fields?: string[] | undefined;
|
|
475
|
+
asserts?: string | undefined;
|
|
476
|
+
}>;
|
|
477
|
+
export declare const DomainTypeStatusSchema: z.ZodEnum<["active", "deprecated", "retired"]>;
|
|
478
|
+
export declare const DomainTypeSchema: z.ZodObject<{
|
|
479
|
+
slug: z.ZodString;
|
|
480
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
481
|
+
extends: z.ZodString;
|
|
482
|
+
domain: z.ZodString;
|
|
483
|
+
status: z.ZodDefault<z.ZodEnum<["active", "deprecated", "retired"]>>;
|
|
484
|
+
description: z.ZodOptional<z.ZodString>;
|
|
485
|
+
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
486
|
+
required_fields: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
487
|
+
}, "strip", z.ZodTypeAny, {
|
|
488
|
+
slug: string;
|
|
489
|
+
version: number;
|
|
490
|
+
status: "active" | "retired" | "deprecated";
|
|
491
|
+
domain: string;
|
|
492
|
+
extends: string;
|
|
493
|
+
schema: Record<string, unknown>;
|
|
494
|
+
required_fields: string[];
|
|
495
|
+
description?: string | undefined;
|
|
496
|
+
}, {
|
|
497
|
+
slug: string;
|
|
498
|
+
domain: string;
|
|
499
|
+
extends: string;
|
|
500
|
+
schema: Record<string, unknown>;
|
|
501
|
+
version?: number | undefined;
|
|
502
|
+
status?: "active" | "retired" | "deprecated" | undefined;
|
|
503
|
+
description?: string | undefined;
|
|
504
|
+
required_fields?: string[] | undefined;
|
|
505
|
+
}>;
|
|
506
|
+
export type SkillOutput = z.output<typeof SkillSchema>;
|
|
507
|
+
export type EvalOutput = z.output<typeof EvalSchema>;
|
|
508
|
+
export type DomainTypeOutput = z.output<typeof DomainTypeSchema>;
|
|
509
|
+
type JsonType = "string" | "number" | "boolean" | "array" | "object";
|
|
510
|
+
/** The MCP `properties` map (field → JSON type) for a genome class schema. */
|
|
511
|
+
export declare function zodToMcpProps(schema: z.ZodObject<z.ZodRawShape>): Record<string, JsonType>;
|
|
512
|
+
export {};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// genome_schema.ts — the genome's DNA, defined ONCE in Zod. Every genome class's shape lived in
|
|
2
|
+
// 3-5 hand-maintained places (the TS type, the construction function, the MCP input_schema, the
|
|
3
|
+
// handler, the file format) and they drifted — a field added to the type silently never reached the
|
|
4
|
+
// MCP surface; a constructor quietly dropped a sealed field; the loader validated skills/evals as
|
|
5
|
+
// untyped bags. This module is the single source: from each schema we derive the TYPE (z.infer),
|
|
6
|
+
// the VALIDATOR (.parse), the MCP input_schema (zodToMcpProps), and the loader's file validation.
|
|
7
|
+
// Add a field once here and every restatement follows.
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
// ── Building blocks (the shared sub-schemas the classes compose from) ─────────────
|
|
10
|
+
export const PrimitiveSchema = z.enum(["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]);
|
|
11
|
+
export const BelbinRoleSchema = z.enum(["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]);
|
|
12
|
+
export const CodeToolAccessSchema = z.enum(["none", "read", "write", "full"]);
|
|
13
|
+
export const ModelTierSchema = z.enum(["economy", "standard", "premium"]);
|
|
14
|
+
export const DepthSchema = z.enum(["skim", "quick", "standard", "deep"]);
|
|
15
|
+
// The caged-browser grant (the cage branch adds browser_grant to the agent; the schema is here so
|
|
16
|
+
// the grant is validated like any field). Network grant for skills lives in the skill schema.
|
|
17
|
+
export const BrowserGrantSchema = z.object({
|
|
18
|
+
allowed_origins: z.array(z.string()),
|
|
19
|
+
blocked_origins: z.array(z.string()).optional(),
|
|
20
|
+
trace_dir: z.string().optional(),
|
|
21
|
+
isolated: z.boolean().optional(),
|
|
22
|
+
headless: z.boolean().optional(),
|
|
23
|
+
});
|
|
24
|
+
// ── Agent — the template class, migrated end-to-end. z.input = AgentDef (what you author,
|
|
25
|
+
// optionals allowed); z.output = Agent (defaults applied). One definition, both types. ──
|
|
26
|
+
export const AgentSchema = z.object({
|
|
27
|
+
slug: z.string(),
|
|
28
|
+
primitives: z.array(PrimitiveSchema).readonly(),
|
|
29
|
+
input_types: z.array(z.string()).readonly().default([]),
|
|
30
|
+
output_types: z.array(z.string()).readonly().default([]),
|
|
31
|
+
domain: z.string().nullable().default(null),
|
|
32
|
+
identity: z.string(),
|
|
33
|
+
method: z.string(),
|
|
34
|
+
constraints: z.array(z.string()).readonly(),
|
|
35
|
+
behavioral_primitives: z.tuple([BelbinRoleSchema, BelbinRoleSchema]).readonly(),
|
|
36
|
+
// optional on the OUTPUT type too (defineAgent fills []) — matches the current Agent interface so
|
|
37
|
+
// the ~50 call-sites that build Agent objects don't all break. defineAgent applies the [] default.
|
|
38
|
+
allowed_tools: z.array(z.string()).readonly().optional(),
|
|
39
|
+
disallowed_tools: z.array(z.string()).readonly().optional(),
|
|
40
|
+
skill_slugs: z.array(z.string()).readonly().optional(),
|
|
41
|
+
model_tier: ModelTierSchema.optional(),
|
|
42
|
+
max_tool_calls: z.number().optional(),
|
|
43
|
+
max_token_budget: z.number().optional(),
|
|
44
|
+
code_tool_access: CodeToolAccessSchema.optional(),
|
|
45
|
+
depth_profile: DepthSchema.optional(),
|
|
46
|
+
browser_grant: BrowserGrantSchema.optional(),
|
|
47
|
+
});
|
|
48
|
+
// ── Chair / Phase / Standard — the schema is the DNA; the runtime Standard (resolved agents) is a
|
|
49
|
+
// transform output and stays a derived type in composition.ts. The FILE/compose shape is here. ──
|
|
50
|
+
export const ChairSchema = z.object({
|
|
51
|
+
role: z.string(),
|
|
52
|
+
agent_slug: z.string().optional(),
|
|
53
|
+
skill_slug: z.string().optional(),
|
|
54
|
+
depends_on: z.array(z.string()).default([]),
|
|
55
|
+
input_contract: z.array(z.string()).default([]),
|
|
56
|
+
output_contract: z.array(z.string()).default([]),
|
|
57
|
+
// #243 — which promised outputs may legitimately be absent. Deny-by-default: omitted
|
|
58
|
+
// means every promised type is required. Subset of output_contract, checked at compose.
|
|
59
|
+
optional_outputs: z.array(z.string()).default([]),
|
|
60
|
+
required_skills: z.array(z.string()).default([]),
|
|
61
|
+
});
|
|
62
|
+
export const PhaseSchema = z.object({ name: z.string(), chairs: z.array(ChairSchema) });
|
|
63
|
+
export const StandardSchema = z.object({
|
|
64
|
+
slug: z.string(),
|
|
65
|
+
domain: z.string(),
|
|
66
|
+
agents: z.array(z.unknown()).optional(), // compose input (agent slugs/objects)
|
|
67
|
+
agent_slugs: z.array(z.string()).optional(), // the file shape (resolved to agents on load)
|
|
68
|
+
phases: z.array(PhaseSchema),
|
|
69
|
+
eval_slugs: z.array(z.string()).readonly().optional(),
|
|
70
|
+
input_types: z.array(z.string()).readonly().optional(),
|
|
71
|
+
output_types: z.array(z.string()).readonly().optional(),
|
|
72
|
+
// TODO(#194): plumbed end-to-end but NOT yet enforced — the runtime doesn't read this K-cap.
|
|
73
|
+
// A consumer reading it from the schema must not assume enforcement until #194 (the caller-driven
|
|
74
|
+
// examine⇄amend driver) lands. Tracked, non-blocking.
|
|
75
|
+
max_examine_rounds: z.number().optional(),
|
|
76
|
+
description: z.string().optional(),
|
|
77
|
+
});
|
|
78
|
+
// ── Skill — the package shape. Reconciles the two current shapes (SkillMeta typed + SkillRecord
|
|
79
|
+
// {slug;[k]:unknown} bag) into one. SHAPE-aligned only: determinism_ratio + fixtures are
|
|
80
|
+
// fields/artifacts the schema knows, but the OG rigid "fixtures pass ≥ threshold to PROMOTE"
|
|
81
|
+
// ceremony is deliberately NOT a schema invariant — promotion strictness is a separate, tunable
|
|
82
|
+
// policy. The fixture/determinism runner still enforces "fixtures pass + deterministic" in CI. ──
|
|
83
|
+
export const NetworkGrantSchema = z.object({
|
|
84
|
+
allow: z.array(z.string()).default([]),
|
|
85
|
+
methods: z.array(z.string()).optional(),
|
|
86
|
+
max_requests: z.number().optional(),
|
|
87
|
+
max_bytes: z.number().optional(),
|
|
88
|
+
});
|
|
89
|
+
export const SkillPermissionSchema = z.object({
|
|
90
|
+
tier: z.number().optional(),
|
|
91
|
+
network: NetworkGrantSchema.optional(),
|
|
92
|
+
});
|
|
93
|
+
export const SkillSchema = z.object({
|
|
94
|
+
slug: z.string(),
|
|
95
|
+
version: z.number().optional(),
|
|
96
|
+
skill_type: z.string().optional(),
|
|
97
|
+
input_type: z.string().optional(),
|
|
98
|
+
output_type: z.string().optional(),
|
|
99
|
+
corpus: z.string().optional(),
|
|
100
|
+
determinism_ratio: z.number().optional(),
|
|
101
|
+
permission: SkillPermissionSchema.optional(),
|
|
102
|
+
description: z.string().optional(),
|
|
103
|
+
timeout_ms: z.number().optional(),
|
|
104
|
+
// a package declares fixtures (test suite + determinism meter) + its code. Present so skill_define
|
|
105
|
+
// is package-aware (meta + fixtures + code), not the retired flat {slug, domain, md}.
|
|
106
|
+
fixtures: z.array(z.unknown()).optional(),
|
|
107
|
+
code: z.string().optional(),
|
|
108
|
+
md: z.string().optional(),
|
|
109
|
+
});
|
|
110
|
+
// ── Eval — retire the {slug;[k]:unknown} bag; the loader validates eval files against this. ──
|
|
111
|
+
export const EvalSchema = z.object({
|
|
112
|
+
slug: z.string(),
|
|
113
|
+
domain: z.string().optional(),
|
|
114
|
+
on_type: z.string().optional(),
|
|
115
|
+
non_empty_fields: z.array(z.string()).optional(),
|
|
116
|
+
// free-text description of the assertion the eval encodes (the runtime scores via on_type +
|
|
117
|
+
// non_empty_fields; `asserts` is the human-readable intent, not a machine list).
|
|
118
|
+
asserts: z.string().optional(),
|
|
119
|
+
});
|
|
120
|
+
// ── DomainType — the ONE source for the persisted type record. The loader's DomainTypeRecord and
|
|
121
|
+
// the registry's working projection both derive from this (no more three near-duplicate defs),
|
|
122
|
+
// and type_register's MCP surface is generated from it. version/status default (every on-disk
|
|
123
|
+
// file carries version:1 + status:"active"), so z.output has them present — the loader keys on
|
|
124
|
+
// `slug@version` and reads status — while z.input leaves them optional for the register op. ──
|
|
125
|
+
export const DomainTypeStatusSchema = z.enum(["active", "deprecated", "retired"]);
|
|
126
|
+
export const DomainTypeSchema = z.object({
|
|
127
|
+
slug: z.string(),
|
|
128
|
+
version: z.number().default(1),
|
|
129
|
+
extends: z.string(),
|
|
130
|
+
domain: z.string(),
|
|
131
|
+
status: DomainTypeStatusSchema.default("active"),
|
|
132
|
+
description: z.string().optional(),
|
|
133
|
+
schema: z.record(z.unknown()),
|
|
134
|
+
required_fields: z.array(z.string()).default([]),
|
|
135
|
+
});
|
|
136
|
+
function jsonTypeOf(schema) {
|
|
137
|
+
let s = schema;
|
|
138
|
+
// Unwrap the WRAPPER types (optional/default/nullable/readonly via `innerType`, effects via
|
|
139
|
+
// `schema`) to the inner type. Deliberately NOT `_def.type`: on a ZodArray that key holds the
|
|
140
|
+
// ELEMENT schema, so following it would descend into the array and report the element's scalar
|
|
141
|
+
// type — the bug that advertised `primitives: z.array(enum)` as "string" and broke agent_define.
|
|
142
|
+
// Bound is a deliberate safety cap, not a real limit: the genome's deepest field nests ~3 wrappers
|
|
143
|
+
// (e.g. `.array().readonly().optional()`), so 10 is unreachable in practice — it exists only so a
|
|
144
|
+
// future pathological/cyclic schema can't spin here. Raise it if a real field ever approaches it.
|
|
145
|
+
for (let i = 0; i < 10; i++) {
|
|
146
|
+
const def = s._def;
|
|
147
|
+
const inner = def?.innerType ?? def?.schema;
|
|
148
|
+
if (inner && inner instanceof z.ZodType) {
|
|
149
|
+
s = inner;
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
if (s instanceof z.ZodString || s instanceof z.ZodEnum)
|
|
155
|
+
return "string";
|
|
156
|
+
if (s instanceof z.ZodNumber)
|
|
157
|
+
return "number";
|
|
158
|
+
if (s instanceof z.ZodBoolean)
|
|
159
|
+
return "boolean";
|
|
160
|
+
if (s instanceof z.ZodArray || s instanceof z.ZodTuple)
|
|
161
|
+
return "array";
|
|
162
|
+
return "object";
|
|
163
|
+
}
|
|
164
|
+
/** The MCP `properties` map (field → JSON type) for a genome class schema. */
|
|
165
|
+
export function zodToMcpProps(schema) {
|
|
166
|
+
return Object.fromEntries(Object.entries(schema.shape).map(([k, v]) => [k, jsonTypeOf(v)]));
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=genome_schema.js.map
|