fable-engine 1.3.1__py3-none-any.whl
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.
- fable_compressor.py +356 -0
- fable_engine/__init__.py +1 -0
- fable_engine/actions/__init__.py +291 -0
- fable_engine/actions/cas.py +182 -0
- fable_engine/actions/deliberation.py +523 -0
- fable_engine/actions/fleet.py +807 -0
- fable_engine/actions/lifecycle.py +298 -0
- fable_engine/actions/scrapers.py +116 -0
- fable_engine/actions/system3.py +815 -0
- fable_engine/browser.py +824 -0
- fable_engine/cas.py +974 -0
- fable_engine/fable_session.json +510 -0
- fable_engine/guards.py +283 -0
- fable_engine/schema.py +714 -0
- fable_engine/scrapers/__init__.py +32 -0
- fable_engine/scrapers/arxiv.py +115 -0
- fable_engine/scrapers/base.py +386 -0
- fable_engine/scrapers/github.py +129 -0
- fable_engine/scrapers/reddit.py +154 -0
- fable_engine/scrapers/web.py +120 -0
- fable_engine/scrapers/x.py +125 -0
- fable_engine/scrapers/youtube.py +132 -0
- fable_engine/server.py +414 -0
- fable_engine/session.py +1819 -0
- fable_engine/test_server.py +1362 -0
- fable_engine/updater.py +541 -0
- fable_engine-1.3.1.dist-info/LICENSE +22 -0
- fable_engine-1.3.1.dist-info/METADATA +173 -0
- fable_engine-1.3.1.dist-info/RECORD +104 -0
- fable_engine-1.3.1.dist-info/WHEEL +5 -0
- fable_engine-1.3.1.dist-info/entry_points.txt +5 -0
- fable_engine-1.3.1.dist-info/top_level.txt +6 -0
- fable_mode/__init__.py +3 -0
- fable_mode/__main__.py +4 -0
- fable_mode/adapters.py +1014 -0
- fable_mode/installer.py +553 -0
- fable_mode/launcher.py +437 -0
- fable_mode/manifest.py +142 -0
- fable_mode/resources.json +114 -0
- fable_mode/safety.py +103 -0
- fable_mode_entry.py +10 -0
- fable_v2/__init__.py +146 -0
- fable_v2/adapters.py +151 -0
- fable_v2/coder_fleet/__init__.py +100 -0
- fable_v2/coder_fleet/ast_tools.py +158 -0
- fable_v2/coder_fleet/compute.py +199 -0
- fable_v2/coder_fleet/design_engine.py +1316 -0
- fable_v2/coder_fleet/diagnostics.py +293 -0
- fable_v2/coder_fleet/fleet_dispatcher.py +214 -0
- fable_v2/coder_fleet/mock_auditor.py +306 -0
- fable_v2/coder_fleet/mutation.py +216 -0
- fable_v2/coder_fleet/property_oracle.py +260 -0
- fable_v2/coder_fleet/receipt_attestor.py +122 -0
- fable_v2/coder_fleet/red_team_swarm.py +908 -0
- fable_v2/coder_fleet/test_harness.py +198 -0
- fable_v2/coder_fleet/vector_engine.py +1287 -0
- fable_v2/coder_fleet/visual.py +357 -0
- fable_v2/coder_fleet/workspace.py +153 -0
- fable_v2/cortical/__init__.py +20 -0
- fable_v2/cortical/plasticity_engine.py +992 -0
- fable_v2/execution_broker.py +811 -0
- fable_v2/proof_engine.py +1141 -0
- fable_v2/protocol.py +485 -0
- fable_v2/runtime.py +1010 -0
- fable_v2/system3/__init__.py +204 -0
- fable_v2/system3/causal.py +558 -0
- fable_v2/system3/dialectical.py +577 -0
- fable_v2/system3/evolution.py +503 -0
- fable_v2/system3/executive.py +338 -0
- fable_v2/system3/free_energy.py +479 -0
- fable_v2/system3/hyperbolic.py +555 -0
- fable_v2/system3/induction.py +336 -0
- fable_v2/system3/kripke.py +548 -0
- fable_v2/system3/oracle.py +745 -0
- fable_v2/verifiers.py +72 -0
- tests/__init__.py +1 -0
- tests/test_anti_loop_circuit_breaker.py +64 -0
- tests/test_auto_updater.py +407 -0
- tests/test_coder_fleet.py +535 -0
- tests/test_delegation_compiler.py +54 -0
- tests/test_descriptor_boundaries.py +126 -0
- tests/test_design_engine.py +603 -0
- tests/test_epistemic_evidence_validator.py +66 -0
- tests/test_execution_broker.py +233 -0
- tests/test_fable_v2.py +406 -0
- tests/test_fleet_transitions.py +116 -0
- tests/test_fsm_redteam_evolution.py +406 -0
- tests/test_goal_rubric_and_pipeline.py +367 -0
- tests/test_hebbian_plasticity.py +585 -0
- tests/test_packaging_runtime.py +194 -0
- tests/test_proof_engine.py +259 -0
- tests/test_red_team_swarm.py +645 -0
- tests/test_redteam_remediation.py +169 -0
- tests/test_registration_transaction.py +375 -0
- tests/test_requested_regressions.py +467 -0
- tests/test_scrapers.py +370 -0
- tests/test_server_actions.py +93 -0
- tests/test_server_frontier_actions.py +269 -0
- tests/test_server_protocol.py +88 -0
- tests/test_stealth_browser.py +970 -0
- tests/test_system3.py +381 -0
- tests/test_system3_deep_integration.py +385 -0
- tests/test_system3_frontier.py +436 -0
- tests/test_vector_engine.py +608 -0
fable_engine/schema.py
ADDED
|
@@ -0,0 +1,714 @@
|
|
|
1
|
+
"""
|
|
2
|
+
MCP Tool Schemas for Fable Engine.
|
|
3
|
+
Defines the JSON Schema contract for the fable_session tool.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from fable_engine.browser import (
|
|
9
|
+
DEFAULT_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
10
|
+
MAX_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
11
|
+
)
|
|
12
|
+
from fable_engine.session import PHASES
|
|
13
|
+
|
|
14
|
+
TOOL_SCHEMA = {
|
|
15
|
+
"name": "fable_session",
|
|
16
|
+
"description": (
|
|
17
|
+
"Fable Cognitive Engine Session & Telemetry Manager for MCP-compatible agent hosts.\n"
|
|
18
|
+
"Enforces DeepThink cognitive rigor, hard mechanical time-lock, anti-rush execution lockout, epistemic truth logging (PROVEN/HYPOTHESIS/UNKNOWN),\n"
|
|
19
|
+
"formal domain invariant modeling, continuous rethink-refine cycles, phased progression gating, subagent delegation contract compilation,\n"
|
|
20
|
+
"live user-controlled time-budgeted pacing telemetry, token compression subsystem (Content-Addressed Storage, 0.003 tokens/character invariant),\n"
|
|
21
|
+
"and System 3 Meta-Cognitive Deliberation & Dialectical Evolutionary Architecture (Pearl do-calculus, TRIZ contradiction synthesis, 10D Pareto genetic search, axiom induction)."
|
|
22
|
+
),
|
|
23
|
+
"inputSchema": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"action": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"enum": [
|
|
29
|
+
"create_session",
|
|
30
|
+
"set_timer",
|
|
31
|
+
"get_status",
|
|
32
|
+
"telemetry",
|
|
33
|
+
"advance_phase",
|
|
34
|
+
"log_epistemic_item",
|
|
35
|
+
"record_invariant",
|
|
36
|
+
"log_refinement_cycle",
|
|
37
|
+
"unlock_execution",
|
|
38
|
+
"checkpoint_session",
|
|
39
|
+
"restore_session",
|
|
40
|
+
"list_sessions",
|
|
41
|
+
"compile_delegation_contract",
|
|
42
|
+
"compress_payload",
|
|
43
|
+
"decompress_payload",
|
|
44
|
+
"view_slice",
|
|
45
|
+
"accumulate_payload",
|
|
46
|
+
"flush_accumulator",
|
|
47
|
+
"get_compression_stats",
|
|
48
|
+
"system3_dialectical_synthesis",
|
|
49
|
+
"system3_causal_simulate",
|
|
50
|
+
"system3_evolve_paradigms",
|
|
51
|
+
"system3_induce_axioms",
|
|
52
|
+
"system3_meta_reflect",
|
|
53
|
+
"system3_tri_level_orchestrate",
|
|
54
|
+
"system3_hyperbolic_embed",
|
|
55
|
+
"system3_kripke_verify",
|
|
56
|
+
"system3_active_inference",
|
|
57
|
+
"system3_proof_oracle",
|
|
58
|
+
"track_file_change",
|
|
59
|
+
"get_session_lineage",
|
|
60
|
+
"inspect_plan",
|
|
61
|
+
"verify_proof",
|
|
62
|
+
"record_visual_mockups",
|
|
63
|
+
"validate_event_history",
|
|
64
|
+
"set_goal_rubric",
|
|
65
|
+
"evaluate_goal_rubric",
|
|
66
|
+
"get_goal_rubric",
|
|
67
|
+
"register_automation_pipeline",
|
|
68
|
+
"red_team_code_review",
|
|
69
|
+
"record_breakage_report",
|
|
70
|
+
"verify_red_team_remediation",
|
|
71
|
+
"cortical_define_lobe",
|
|
72
|
+
"cortical_list_lobes",
|
|
73
|
+
"check_auto_update",
|
|
74
|
+
"apply_auto_update",
|
|
75
|
+
"evolve_cortex",
|
|
76
|
+
"audit_anti_slop",
|
|
77
|
+
"infer_design_brief",
|
|
78
|
+
"generate_design_tokens",
|
|
79
|
+
"generate_awwwards_scaffold",
|
|
80
|
+
"validate_preflight_design",
|
|
81
|
+
"list_design_archetypes",
|
|
82
|
+
"scrape_web",
|
|
83
|
+
"scrape_youtube",
|
|
84
|
+
"scrape_reddit",
|
|
85
|
+
"scrape_x",
|
|
86
|
+
"scrape_github",
|
|
87
|
+
"scrape_arxiv"
|
|
88
|
+
],
|
|
89
|
+
"description": "The Fable session action to perform."
|
|
90
|
+
},
|
|
91
|
+
"session_name": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Unique identifier / name for the Fable session."
|
|
94
|
+
},
|
|
95
|
+
"objective": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"description": "High-level goal or problem statement for the reasoning session."
|
|
98
|
+
},
|
|
99
|
+
"time_budget_minutes": {
|
|
100
|
+
"type": "number",
|
|
101
|
+
"description": "Immutable outer authority budget in minutes. set_timer can only change the internal pacing timer."
|
|
102
|
+
},
|
|
103
|
+
"next_phase": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"enum": PHASES,
|
|
106
|
+
"description": "Target phase to advance the session into."
|
|
107
|
+
},
|
|
108
|
+
"phase_summary": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"description": "Concise summary of findings or deliverables completed in the previous phase."
|
|
111
|
+
},
|
|
112
|
+
"tag": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"enum": ["PROVEN", "HYPOTHESIS", "UNKNOWN"],
|
|
115
|
+
"description": "Epistemic classification tag for truth calibration."
|
|
116
|
+
},
|
|
117
|
+
"claim": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "Fact, hypothesis statement, or unknown parameter to track in epistemic ledger."
|
|
120
|
+
},
|
|
121
|
+
"evidence": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"description": "Source file, command output, line number, or URL supporting the claim."
|
|
124
|
+
},
|
|
125
|
+
"invariant_name": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Identifier or title of the formal invariant (e.g., 'INV-01: Zero-Deadlock Ring Buffer')."
|
|
128
|
+
},
|
|
129
|
+
"formal_statement": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"description": "Mathematical or formal contract specification that must never be violated."
|
|
132
|
+
},
|
|
133
|
+
"proof_or_rationale": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "Proof sketch, rationale, or inductive argument establishing the invariant."
|
|
136
|
+
},
|
|
137
|
+
"domain": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"description": "Domain boundary for the invariant or cortical plasticity consolidation."
|
|
140
|
+
},
|
|
141
|
+
"refinement_type": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Type of rethink-refine cycle (e.g. 'archetype_exploration', 'triz_resolution', 'adversarial_falsification', 'benchmark_probe', 'failure_mode_analysis')."
|
|
144
|
+
},
|
|
145
|
+
"focus_area": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Specific subsystem, component, algorithm, or interface being critically re-evaluated."
|
|
148
|
+
},
|
|
149
|
+
"critique_or_bottleneck": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"description": "Critical flaw, vulnerability, edge case, memory/latency bottleneck, or assumption scrutinized."
|
|
152
|
+
},
|
|
153
|
+
"architectural_refinement": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"description": "Concrete architectural evolution, optimization, or algorithm change derived from the critique."
|
|
156
|
+
},
|
|
157
|
+
"terminal_probe_results": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "Live empirical probe output, benchmark figures, latency numbers, or profiling stats supporting the refinement."
|
|
160
|
+
},
|
|
161
|
+
"artifact_path": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "Absolute filesystem path to blueprint artifact, proof, or benchmark script documenting the refinement."
|
|
164
|
+
},
|
|
165
|
+
"rationale": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"description": "Justification for unlocking code execution after satisfying cognitive gates."
|
|
168
|
+
},
|
|
169
|
+
"subagent_prompt": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "The delegation prompt or contract text for the subagent to validate."
|
|
172
|
+
},
|
|
173
|
+
"content": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Raw text content or payload to store/compress into Content-Addressed Storage (CAS)."
|
|
176
|
+
},
|
|
177
|
+
"payload": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"description": "Micro-payload text for adaptive batch accumulator or CAS storage."
|
|
180
|
+
},
|
|
181
|
+
"cas_ref": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "CAS reference URI (cas://<sha256_hex>) or 64-char hash."
|
|
184
|
+
},
|
|
185
|
+
"start_line": {
|
|
186
|
+
"type": "integer",
|
|
187
|
+
"description": "Starting line number (1-indexed inclusive) for windowed line slice viewing."
|
|
188
|
+
},
|
|
189
|
+
"end_line": {
|
|
190
|
+
"type": "integer",
|
|
191
|
+
"description": "Ending line number (1-indexed inclusive) for windowed line slice viewing."
|
|
192
|
+
},
|
|
193
|
+
"include_line_numbers": {
|
|
194
|
+
"type": "boolean",
|
|
195
|
+
"description": "Whether to format line slice with line numbers."
|
|
196
|
+
},
|
|
197
|
+
"label": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"description": "Optional label or description for compressed CAS node."
|
|
200
|
+
},
|
|
201
|
+
"force_flush": {
|
|
202
|
+
"type": "boolean",
|
|
203
|
+
"description": "Force flush buffered micro-payloads immediately into a composite frame."
|
|
204
|
+
},
|
|
205
|
+
"metadata": {
|
|
206
|
+
"type": "object",
|
|
207
|
+
"description": "Optional metadata dictionary attached to accumulated micro-payload."
|
|
208
|
+
},
|
|
209
|
+
"thesis_title": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"description": "Title of the thesis paradigm for System 3 dialectical synthesis."
|
|
212
|
+
},
|
|
213
|
+
"thesis_description": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "Core architecture description and assumptions for the thesis candidate."
|
|
216
|
+
},
|
|
217
|
+
"antithesis_title": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"description": "Title of the antithesis / adversarial critique."
|
|
220
|
+
},
|
|
221
|
+
"contradictions": {
|
|
222
|
+
"description": "List of parameter trade-offs / contradictions to resolve with TRIZ principles.",
|
|
223
|
+
"type": ["array", "string"]
|
|
224
|
+
},
|
|
225
|
+
"failure_modes": {
|
|
226
|
+
"description": "List of adversarial failure modes identified in critique.",
|
|
227
|
+
"type": ["array", "string"]
|
|
228
|
+
},
|
|
229
|
+
"max_debate_rounds": {
|
|
230
|
+
"type": "integer",
|
|
231
|
+
"description": "Maximum number of dialectical debate rounds for synthesis (default 4)."
|
|
232
|
+
},
|
|
233
|
+
"target_residual_threshold": {
|
|
234
|
+
"type": "number",
|
|
235
|
+
"description": "Target residual contradiction score threshold for convergence (default 0.15)."
|
|
236
|
+
},
|
|
237
|
+
"model_name": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"description": "Name for the causal DAG model in System 3 simulation."
|
|
240
|
+
},
|
|
241
|
+
"nodes": {
|
|
242
|
+
"description": "List of node dictionaries for Causal DAG construction.",
|
|
243
|
+
"type": ["array", "string"]
|
|
244
|
+
},
|
|
245
|
+
"edges": {
|
|
246
|
+
"description": "List of directed edge dictionaries for Causal DAG construction.",
|
|
247
|
+
"type": ["array", "string"]
|
|
248
|
+
},
|
|
249
|
+
"interventions": {
|
|
250
|
+
"description": "Dictionary of Pearl's do-operator interventions: {node_id: value}.",
|
|
251
|
+
"type": ["object", "string"]
|
|
252
|
+
},
|
|
253
|
+
"target_metric": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"description": "Target KPI node ID for sensitivity and structural brittleness analysis."
|
|
256
|
+
},
|
|
257
|
+
"generations": {
|
|
258
|
+
"type": "integer",
|
|
259
|
+
"description": "Number of evolutionary generations to run (default 3)."
|
|
260
|
+
},
|
|
261
|
+
"population_size": {
|
|
262
|
+
"type": "integer",
|
|
263
|
+
"description": "Population size for evolutionary gene pool (default 12)."
|
|
264
|
+
},
|
|
265
|
+
"mutation_rate": {
|
|
266
|
+
"type": "number",
|
|
267
|
+
"description": "Genetic mutation rate probability (default 0.15)."
|
|
268
|
+
},
|
|
269
|
+
"crossover_rate": {
|
|
270
|
+
"type": "number",
|
|
271
|
+
"description": "Genetic crossover rate probability (default 0.80)."
|
|
272
|
+
},
|
|
273
|
+
"seed_paradigms": {
|
|
274
|
+
"description": "Optional list of initial paradigm definitions to seed the gene pool.",
|
|
275
|
+
"type": ["array", "string"]
|
|
276
|
+
},
|
|
277
|
+
"objective_weights": {
|
|
278
|
+
"description": "Optional dictionary of weights across the 10 Pareto dimensions.",
|
|
279
|
+
"type": ["object", "string"]
|
|
280
|
+
},
|
|
281
|
+
"task_complexity": {
|
|
282
|
+
"type": "number",
|
|
283
|
+
"description": "Task complexity index [0.0, 1.0] for tri-level cognitive arbitration."
|
|
284
|
+
},
|
|
285
|
+
"contradiction_density": {
|
|
286
|
+
"type": "number",
|
|
287
|
+
"description": "Contradiction density index [0.0, 1.0] for cognitive gear shifting."
|
|
288
|
+
},
|
|
289
|
+
"failure_count": {
|
|
290
|
+
"type": "integer",
|
|
291
|
+
"description": "Historical failure count for tri-level cognitive gear arbitration."
|
|
292
|
+
},
|
|
293
|
+
"epistemic_uncertainty": {
|
|
294
|
+
"type": "number",
|
|
295
|
+
"description": "Epistemic uncertainty index [0.0, 1.0] for arbitration."
|
|
296
|
+
},
|
|
297
|
+
"tree": {
|
|
298
|
+
"description": "Tree hierarchy adjacency list or nested dict for hyperbolic embedding.",
|
|
299
|
+
"type": ["object", "array", "string"]
|
|
300
|
+
},
|
|
301
|
+
"root_id": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"description": "Root node ID for hyperbolic tree embedding or initial world."
|
|
304
|
+
},
|
|
305
|
+
"dimension": {
|
|
306
|
+
"type": "integer",
|
|
307
|
+
"description": "Dimension of Poincaré ball manifold (default 2)."
|
|
308
|
+
},
|
|
309
|
+
"curvature": {
|
|
310
|
+
"type": "number",
|
|
311
|
+
"description": "Sectional curvature c > 0 of Poincaré manifold (default 1.0)."
|
|
312
|
+
},
|
|
313
|
+
"base_step": {
|
|
314
|
+
"type": "number",
|
|
315
|
+
"description": "Base geodesic step distance for hyperbolic tree embedding (default 1.0)."
|
|
316
|
+
},
|
|
317
|
+
"node_labels": {
|
|
318
|
+
"description": "Optional mapping of node IDs to readable labels.",
|
|
319
|
+
"type": ["object", "string"]
|
|
320
|
+
},
|
|
321
|
+
"worlds": {
|
|
322
|
+
"description": "List of world/state definitions for Kripke structure.",
|
|
323
|
+
"type": ["array", "string"]
|
|
324
|
+
},
|
|
325
|
+
"transitions": {
|
|
326
|
+
"description": "List of transitions or adjacency dictionary for Kripke structure.",
|
|
327
|
+
"type": ["array", "object", "string"]
|
|
328
|
+
},
|
|
329
|
+
"formula": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "CTL / modal formula string to verify against Kripke structure (e.g. 'AG(safe)', 'EF(goal)')."
|
|
332
|
+
},
|
|
333
|
+
"initial_world": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "Initial world ID for Kripke model checking."
|
|
336
|
+
},
|
|
337
|
+
"observation": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "Current sensory observation for Active Inference belief updating."
|
|
340
|
+
},
|
|
341
|
+
"policies": {
|
|
342
|
+
"description": "List of candidate action sequence policies for Expected Free Energy evaluation.",
|
|
343
|
+
"type": ["array", "string"]
|
|
344
|
+
},
|
|
345
|
+
"gamma": {
|
|
346
|
+
"type": "number",
|
|
347
|
+
"description": "Policy precision inverse temperature gamma for Active Inference softmax (default 16.0)."
|
|
348
|
+
},
|
|
349
|
+
"states": {
|
|
350
|
+
"description": "List of hidden state identifiers for Active Inference POMDP.",
|
|
351
|
+
"type": ["array", "string"]
|
|
352
|
+
},
|
|
353
|
+
"observations": {
|
|
354
|
+
"description": "List of observation identifiers for Active Inference POMDP.",
|
|
355
|
+
"type": ["array", "string"]
|
|
356
|
+
},
|
|
357
|
+
"actions": {
|
|
358
|
+
"description": "List of control action identifiers for Active Inference POMDP.",
|
|
359
|
+
"type": ["array", "string"]
|
|
360
|
+
},
|
|
361
|
+
"a_matrix": {
|
|
362
|
+
"description": "Observation likelihood matrix A [O x S] for Active Inference.",
|
|
363
|
+
"type": ["array", "string"]
|
|
364
|
+
},
|
|
365
|
+
"b_matrices": {
|
|
366
|
+
"description": "State transition matrices B [Action -> S x S] for Active Inference.",
|
|
367
|
+
"type": ["object", "string"]
|
|
368
|
+
},
|
|
369
|
+
"c_preferences": {
|
|
370
|
+
"description": "Prior preference distribution C over observations for Active Inference.",
|
|
371
|
+
"type": ["array", "string"]
|
|
372
|
+
},
|
|
373
|
+
"d_prior": {
|
|
374
|
+
"description": "Prior initial state belief distribution D for Active Inference.",
|
|
375
|
+
"type": ["array", "string"]
|
|
376
|
+
},
|
|
377
|
+
"context": {
|
|
378
|
+
"description": "Hypothesis typing context dictionary {name: type} for proof oracle.",
|
|
379
|
+
"type": ["object", "string"]
|
|
380
|
+
},
|
|
381
|
+
"axioms": {
|
|
382
|
+
"description": "List of reference axiom names or strings for proof oracle.",
|
|
383
|
+
"type": ["array", "string"]
|
|
384
|
+
},
|
|
385
|
+
"file_path": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"description": "Target file path for file change tracking or proof verification."
|
|
388
|
+
},
|
|
389
|
+
"change_type": {
|
|
390
|
+
"type": "string",
|
|
391
|
+
"enum": ["modified", "created", "deleted", "slated"],
|
|
392
|
+
"description": "Classification of file change."
|
|
393
|
+
},
|
|
394
|
+
"diff_summary": {
|
|
395
|
+
"type": "string",
|
|
396
|
+
"description": "Concise summary of file changes, diff, or slated edits."
|
|
397
|
+
},
|
|
398
|
+
"affected_invariants": {
|
|
399
|
+
"description": "List or string of invariant names affected by this file change.",
|
|
400
|
+
"type": ["array", "string"]
|
|
401
|
+
},
|
|
402
|
+
"proof_type": {
|
|
403
|
+
"type": "string",
|
|
404
|
+
"enum": ["ast", "receipt", "file_sha256", "formal_logic", "vector_coordinates"],
|
|
405
|
+
"description": "Deterministic proof type."
|
|
406
|
+
},
|
|
407
|
+
"target_resource": {
|
|
408
|
+
"type": "string",
|
|
409
|
+
"description": "Target resource (file path, receipt ID) for proof verification."
|
|
410
|
+
},
|
|
411
|
+
"mockups": {
|
|
412
|
+
"description": "List of concept dictionaries for visual mockup recording.",
|
|
413
|
+
"type": ["array", "string"]
|
|
414
|
+
},
|
|
415
|
+
"selected_concept": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"description": "Identifier of the selected visual concept archetype."
|
|
418
|
+
},
|
|
419
|
+
"task_objective": {
|
|
420
|
+
"type": "string",
|
|
421
|
+
"description": "Task objective or target outcome for goal scoring rubric."
|
|
422
|
+
},
|
|
423
|
+
"criteria": {
|
|
424
|
+
"description": "List of criteria pointers or JSON string of rubric items for goal score evaluation.",
|
|
425
|
+
"type": ["array", "string", "object"]
|
|
426
|
+
},
|
|
427
|
+
"target_score": {
|
|
428
|
+
"type": "number",
|
|
429
|
+
"description": "Target composite goal score threshold (default 0.95, min 0.0, max 1.0)."
|
|
430
|
+
},
|
|
431
|
+
"rubric_id": {
|
|
432
|
+
"type": "string",
|
|
433
|
+
"description": "Identifier of the goal rubric."
|
|
434
|
+
},
|
|
435
|
+
"item_evaluations": {
|
|
436
|
+
"description": "Item evaluations mapping, list, or JSON string with pointer_id, satisfied, score, evidence_receipt_id.",
|
|
437
|
+
"type": ["array", "object", "string"]
|
|
438
|
+
},
|
|
439
|
+
"name": {
|
|
440
|
+
"type": "string",
|
|
441
|
+
"description": "Name identifier for automation pipeline spec."
|
|
442
|
+
},
|
|
443
|
+
"pipeline_name": {
|
|
444
|
+
"type": "string",
|
|
445
|
+
"description": "Alternative alias for automation pipeline name."
|
|
446
|
+
},
|
|
447
|
+
"pipeline_type": {
|
|
448
|
+
"type": "string",
|
|
449
|
+
"description": "Type of autonomous pipeline (default 'closed_loop')."
|
|
450
|
+
},
|
|
451
|
+
"generator_command": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"description": "Shell command or tool invocation for candidate generator."
|
|
454
|
+
},
|
|
455
|
+
"generator_cmd": {
|
|
456
|
+
"type": "string",
|
|
457
|
+
"description": "Alias for generator_command: shell command or tool invocation for candidate generator."
|
|
458
|
+
},
|
|
459
|
+
"evaluator_command": {
|
|
460
|
+
"type": "string",
|
|
461
|
+
"description": "Shell command or tool invocation for candidate evaluator."
|
|
462
|
+
},
|
|
463
|
+
"evaluator_cmd": {
|
|
464
|
+
"type": "string",
|
|
465
|
+
"description": "Alias for evaluator_command: shell command or tool invocation for candidate evaluator."
|
|
466
|
+
},
|
|
467
|
+
"evaluations": {
|
|
468
|
+
"description": "Alias for item_evaluations: list or dict of criterion evaluation updates.",
|
|
469
|
+
"type": ["array", "object", "string"]
|
|
470
|
+
},
|
|
471
|
+
"target_threshold": {
|
|
472
|
+
"type": "number",
|
|
473
|
+
"description": "Target threshold score for pipeline iteration termination (default 0.95)."
|
|
474
|
+
},
|
|
475
|
+
"max_iterations": {
|
|
476
|
+
"type": "integer",
|
|
477
|
+
"description": "Maximum closed-loop iterations before halting (default 10)."
|
|
478
|
+
},
|
|
479
|
+
"target_name": {
|
|
480
|
+
"type": "string",
|
|
481
|
+
"description": "Identifier or name of the target module, class, or function for red-team review."
|
|
482
|
+
},
|
|
483
|
+
"target_code": {
|
|
484
|
+
"type": "string",
|
|
485
|
+
"description": "Source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."
|
|
486
|
+
},
|
|
487
|
+
"code_snippet": {
|
|
488
|
+
"type": "string",
|
|
489
|
+
"description": "Alternative alias for source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."
|
|
490
|
+
},
|
|
491
|
+
"custom_hypotheses": {
|
|
492
|
+
"description": "List or JSON string of custom adversarial hypotheses / attack vectors.",
|
|
493
|
+
"type": ["array", "string"]
|
|
494
|
+
},
|
|
495
|
+
"broken_scenarios": {
|
|
496
|
+
"description": "List or JSON string of broken attack scenarios found during red-team review.",
|
|
497
|
+
"type": ["array", "string"]
|
|
498
|
+
},
|
|
499
|
+
"remediated_code": {
|
|
500
|
+
"type": "string",
|
|
501
|
+
"description": "Remediated source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."
|
|
502
|
+
},
|
|
503
|
+
"prior_report": {
|
|
504
|
+
"description": "Prior red-team breakage report dictionary or JSON string to verify remediation against.",
|
|
505
|
+
"type": ["object", "string"]
|
|
506
|
+
},
|
|
507
|
+
"task_id": {
|
|
508
|
+
"type": "string",
|
|
509
|
+
"description": "Task identifier for cortical plasticity consolidation or session lineage."
|
|
510
|
+
},
|
|
511
|
+
"code": {
|
|
512
|
+
"type": "string",
|
|
513
|
+
"description": "Source code content (HTML, JSX, CSS, or TSX) to audit or validate against anti-slop gates."
|
|
514
|
+
},
|
|
515
|
+
"archetype": {
|
|
516
|
+
"type": "string",
|
|
517
|
+
"enum": [
|
|
518
|
+
"cyber_obsidian_monolith",
|
|
519
|
+
"haute_editorial_modernism",
|
|
520
|
+
"swiss_precision_vignelli",
|
|
521
|
+
"kinetic_spatial_hud",
|
|
522
|
+
"neo_nordic_warmth",
|
|
523
|
+
"cold_chromatic_luxury"
|
|
524
|
+
],
|
|
525
|
+
"description": "Haute aesthetic archetype identifier for design tokens or scaffolding."
|
|
526
|
+
},
|
|
527
|
+
"archetype_override": {
|
|
528
|
+
"type": "string",
|
|
529
|
+
"description": "Optional override for Haute aesthetic archetype."
|
|
530
|
+
},
|
|
531
|
+
"dials_override": {
|
|
532
|
+
"type": "object",
|
|
533
|
+
"description": "Optional discrete dials override: variance (1-10), motion (1-10), density (1-10)."
|
|
534
|
+
},
|
|
535
|
+
"user_prompt": {
|
|
536
|
+
"type": "string",
|
|
537
|
+
"description": "Alias for prompt: high-level design prompt describing desired web experience."
|
|
538
|
+
},
|
|
539
|
+
"target": {
|
|
540
|
+
"type": "string",
|
|
541
|
+
"description": "Target URL, ID, subreddit, repo, paper ID, handle, or search query string for research scraping actions."
|
|
542
|
+
},
|
|
543
|
+
"auto_log_epistemic": {
|
|
544
|
+
"type": "boolean",
|
|
545
|
+
"description": "Whether to automatically record retrieved research findings as a [HYPOTHESIS] candidate item in Fable Session's epistemic ledger for subsequent cross-verification."
|
|
546
|
+
}
|
|
547
|
+
},
|
|
548
|
+
"required": ["action"]
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
BROWSER_TOOL_SCHEMAS = [
|
|
553
|
+
{
|
|
554
|
+
"name": "browser_open",
|
|
555
|
+
"description": "Opens a URL in the stealth agent browser using persistent local logins/profile (<=20 MB RAM ceiling). Supports local dev servers across all languages.",
|
|
556
|
+
"inputSchema": {
|
|
557
|
+
"type": "object",
|
|
558
|
+
"properties": {
|
|
559
|
+
"url": {"type": "string", "description": "Target URL or localhost address to open."},
|
|
560
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."},
|
|
561
|
+
"timeout": {
|
|
562
|
+
"type": "number",
|
|
563
|
+
"minimum": 0,
|
|
564
|
+
"maximum": MAX_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
565
|
+
"default": DEFAULT_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
566
|
+
"description": "Timeout in seconds for page load (maximum 30 seconds).",
|
|
567
|
+
}
|
|
568
|
+
},
|
|
569
|
+
"required": ["url"]
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"name": "browser_navigate",
|
|
574
|
+
"description": "Navigates the browser session to a new URL.",
|
|
575
|
+
"inputSchema": {
|
|
576
|
+
"type": "object",
|
|
577
|
+
"properties": {
|
|
578
|
+
"url": {"type": "string", "description": "Target URL to navigate to."},
|
|
579
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."},
|
|
580
|
+
"timeout": {
|
|
581
|
+
"type": "number",
|
|
582
|
+
"minimum": 0,
|
|
583
|
+
"maximum": MAX_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
584
|
+
"default": DEFAULT_BROWSER_OPEN_TIMEOUT_SECONDS,
|
|
585
|
+
"description": "Timeout in seconds for page load (maximum 30 seconds).",
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"required": ["url"]
|
|
589
|
+
}
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"name": "browser_click",
|
|
593
|
+
"description": "Navigates to the href of a link element by its stable element ID. Elements without an href are unsupported.",
|
|
594
|
+
"inputSchema": {
|
|
595
|
+
"type": "object",
|
|
596
|
+
"properties": {
|
|
597
|
+
"element_id": {"type": "string", "description": "Stable element ID of an href-bearing link."},
|
|
598
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
599
|
+
},
|
|
600
|
+
"required": ["element_id"]
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "browser_type",
|
|
605
|
+
"description": "Types text into an input field identified by its stable element ID.",
|
|
606
|
+
"inputSchema": {
|
|
607
|
+
"type": "object",
|
|
608
|
+
"properties": {
|
|
609
|
+
"element_id": {"type": "string", "description": "Stable element ID to type into."},
|
|
610
|
+
"text": {"type": "string", "description": "Text content to enter into element."},
|
|
611
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
612
|
+
},
|
|
613
|
+
"required": ["element_id", "text"]
|
|
614
|
+
}
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"name": "browser_scroll",
|
|
618
|
+
"description": "Scrolls the page vertically by delta pixels.",
|
|
619
|
+
"inputSchema": {
|
|
620
|
+
"type": "object",
|
|
621
|
+
"properties": {
|
|
622
|
+
"delta_y": {"type": "integer", "description": "Vertical pixel scroll offset."},
|
|
623
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
624
|
+
},
|
|
625
|
+
"required": ["delta_y"]
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "browser_snapshot_layers",
|
|
630
|
+
"description": "Captures N sequential screen-sized viewport PNG snapshots (1 layer = 1 PC viewport height, 1280x800 px).",
|
|
631
|
+
"inputSchema": {
|
|
632
|
+
"type": "object",
|
|
633
|
+
"properties": {
|
|
634
|
+
"max_layers": {"type": "integer", "minimum": 1, "maximum": 10, "description": "Maximum number of screen-sized viewport layers to capture (default 3)."},
|
|
635
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"name": "browser_screenshot",
|
|
641
|
+
"description": "Captures a single viewport PNG snapshot of the current scroll position.",
|
|
642
|
+
"inputSchema": {
|
|
643
|
+
"type": "object",
|
|
644
|
+
"properties": {
|
|
645
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"name": "browser_close",
|
|
651
|
+
"description": "Closes an active browser tab session.",
|
|
652
|
+
"inputSchema": {
|
|
653
|
+
"type": "object",
|
|
654
|
+
"properties": {
|
|
655
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"name": "browser_back",
|
|
661
|
+
"description": "Navigates back in history for the browser session.",
|
|
662
|
+
"inputSchema": {
|
|
663
|
+
"type": "object",
|
|
664
|
+
"properties": {
|
|
665
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"name": "browser_forward",
|
|
671
|
+
"description": "Navigates forward in history for the browser session.",
|
|
672
|
+
"inputSchema": {
|
|
673
|
+
"type": "object",
|
|
674
|
+
"properties": {
|
|
675
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"name": "browser_wait",
|
|
681
|
+
"description": "Waits for a specified duration in seconds.",
|
|
682
|
+
"inputSchema": {
|
|
683
|
+
"type": "object",
|
|
684
|
+
"properties": {
|
|
685
|
+
"seconds": {"type": "number", "minimum": 0, "maximum": 10, "description": "Seconds to wait."},
|
|
686
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
687
|
+
},
|
|
688
|
+
"required": ["seconds"]
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "browser_press",
|
|
693
|
+
"description": "Edits supported text controls, moves focus with Tab, or activates links with Enter.",
|
|
694
|
+
"inputSchema": {
|
|
695
|
+
"type": "object",
|
|
696
|
+
"properties": {
|
|
697
|
+
"key": {"type": "string", "description": "Keyboard key to press (e.g. 'Enter', 'Tab')."},
|
|
698
|
+
"element_id": {"type": "string", "description": "Optional element ID target."},
|
|
699
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
700
|
+
},
|
|
701
|
+
"required": ["key"]
|
|
702
|
+
}
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"name": "browser_reload",
|
|
706
|
+
"description": "Reloads the current page in the browser session.",
|
|
707
|
+
"inputSchema": {
|
|
708
|
+
"type": "object",
|
|
709
|
+
"properties": {
|
|
710
|
+
"session_id": {"type": "string", "description": "Optional browser tab/session identifier."}
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
]
|