2sagaco48 1.0.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/diagnostics.mjs +141 -0
- package/dist/compute.worker-j5ahIpF-.js +1 -0
- package/dist/graph.worker-DG6iGCB9.js +1 -0
- package/dist/index.html +2314 -0
- package/flatten-guide.md +248 -0
- package/index.html +12 -0
- package/package.json +38 -0
- package/src/App.orig.tsx +204 -0
- package/src/App.orig1.tsx +27 -0
- package/src/App.orig2.tsx +25 -0
- package/src/App.tsx +3 -0
- package/src/BaseApp.tsx +18 -0
- package/src/INTEGRATION_LEDGER.md +22 -0
- package/src/PERSIST_CANARY.orig.txt +1 -0
- package/src/PERSIST_CANARY.txt +1 -0
- package/src/REGRESSION_LEDGER.md +651 -0
- package/src/TEMPLATE_PIPELINE_AUDIT.md +208 -0
- package/src/WILLIAMS_PERSONA_GUIDE.md +62 -0
- package/src/chat/VeritasChat.tsx +69 -0
- package/src/chat/synthesis.ts +31 -0
- package/src/chat/tier.ts +45 -0
- package/src/components/AdaptersPage.orig.tsx +99 -0
- package/src/components/AdaptersPage.tsx +3 -0
- package/src/components/AdversarialPanel.tsx +136 -0
- package/src/components/AnchorBaselinePanel.tsx +75 -0
- package/src/components/AnswerPanel.tsx +60 -0
- package/src/components/ArtifactPanel.tsx +43 -0
- package/src/components/ChatApp.orig.tsx +1582 -0
- package/src/components/ChatApp.orig1.tsx +722 -0
- package/src/components/ChatApp.tsx +95 -0
- package/src/components/ChatAugmentPanels.tsx +73 -0
- package/src/components/CitationLedgerPanel.tsx +313 -0
- package/src/components/ComputeSandboxPanel.tsx +130 -0
- package/src/components/ConfigPanel.tsx +110 -0
- package/src/components/ControlPlanePage.tsx +195 -0
- package/src/components/CreativeTreeLifePage.tsx +234 -0
- package/src/components/CreativeTreeOfLifePanel.tsx +149 -0
- package/src/components/DebugTracePanel.tsx +137 -0
- package/src/components/DeepReasoningTrace.tsx +48 -0
- package/src/components/EntitySheetPanel.tsx +51 -0
- package/src/components/FailureModesPanel.tsx +104 -0
- package/src/components/GBSDashboard.tsx +239 -0
- package/src/components/GraphView.tsx +116 -0
- package/src/components/HUD.tsx +125 -0
- package/src/components/HypothesisPanel.tsx +67 -0
- package/src/components/InnovationGenomeEngine.tsx +792 -0
- package/src/components/InnovationPersonaGuide.tsx +348 -0
- package/src/components/InnovationPersonaPanel.tsx +289 -0
- package/src/components/LiveResourceHUD.tsx +109 -0
- package/src/components/LongWriterPanel.tsx +112 -0
- package/src/components/MainPipelineV10Bridge.tsx +72 -0
- package/src/components/MarkdownLite.tsx +63 -0
- package/src/components/MemoryInspector.tsx +38 -0
- package/src/components/MemoryMonitor.tsx +52 -0
- package/src/components/MemoryStressPanel.tsx +176 -0
- package/src/components/ModulesPage.tsx +171 -0
- package/src/components/PipelineDebugConsole.orig.tsx +1856 -0
- package/src/components/PipelineDebugConsole.tsx +3 -0
- package/src/components/PreFlightHUD.tsx +67 -0
- package/src/components/PrismaFetchTracePanel.tsx +87 -0
- package/src/components/ReportOSPanel.tsx +165 -0
- package/src/components/ResourceEstimatorPage.tsx +327 -0
- package/src/components/RichText.tsx +181 -0
- package/src/components/SagaOsPanel.tsx +605 -0
- package/src/components/SagaOsReference.tsx +421 -0
- package/src/components/SagaOsV2Panel.tsx +594 -0
- package/src/components/SagaStyleTab.tsx +382 -0
- package/src/components/SageBlueprintPanel.tsx +416 -0
- package/src/components/SharedChatInput.tsx +77 -0
- package/src/components/StatFinancePanel.tsx +190 -0
- package/src/components/StylePersonaPanel.tsx +128 -0
- package/src/components/TemplatesPage.tsx +300 -0
- package/src/components/TestPanel.tsx +63 -0
- package/src/components/TraceLog.tsx +89 -0
- package/src/components/V15CalibrationAugment.tsx +1134 -0
- package/src/components/V15CalibrationDialog.tsx +1871 -0
- package/src/components/V15Overlay.orig.tsx +120 -0
- package/src/components/V15Overlay.tsx +4 -0
- package/src/components/V15OverlayWrapper.tsx +362 -0
- package/src/components/V15Toggle.tsx +34 -0
- package/src/console/DiagnosticRecoveryPanel.tsx +358 -0
- package/src/console/EngineeringConsole.tsx +103 -0
- package/src/console/FictionSystemPanels.tsx +882 -0
- package/src/console/InspectorPanels.tsx +254 -0
- package/src/console/ManuscriptGraderPanel.tsx +182 -0
- package/src/console/RecursiveReviserPanel.tsx +245 -0
- package/src/console/SeedControlPanel.tsx +135 -0
- package/src/console/StoryControllerPanel.tsx +443 -0
- package/src/console/engineBridge.ts +258 -0
- package/src/console/gemini.ts +106 -0
- package/src/console/grading.ts +250 -0
- package/src/console/util.ts +45 -0
- package/src/fiction/continuity.ts +372 -0
- package/src/fiction/crash-protection.ts +111 -0
- package/src/fiction/diagnostics.ts +208 -0
- package/src/fiction/diff.ts +74 -0
- package/src/fiction/entity-state-machine.ts +214 -0
- package/src/fiction/nive-engine.ts +404 -0
- package/src/fiction/pipeline-selftest.ts +132 -0
- package/src/fiction/seed-control.ts +193 -0
- package/src/fiction/story-engine.ts +326 -0
- package/src/fiction/types.ts +68 -0
- package/src/flatten-guide.md +379 -0
- package/src/index.css +14 -0
- package/src/index.orig.css +13 -0
- package/src/lib/academic-sources.base.ts +188 -0
- package/src/lib/academic-sources.orig.ts +28 -0
- package/src/lib/academic-sources.ts +10 -0
- package/src/lib/advanced-math.ts +119 -0
- package/src/lib/adversarial-engine.base.ts +409 -0
- package/src/lib/adversarial-engine.ts +82 -0
- package/src/lib/ai-revision.ts +623 -0
- package/src/lib/app-state.tsx +426 -0
- package/src/lib/artifact-registry.ts +97 -0
- package/src/lib/artifacts.ts +180 -0
- package/src/lib/atlas-dr.ts +167 -0
- package/src/lib/browser-mtls.ts +127 -0
- package/src/lib/browser-queue.ts +221 -0
- package/src/lib/browser-search-scraper.base.ts +382 -0
- package/src/lib/browser-search-scraper.orig.ts +90 -0
- package/src/lib/browser-search-scraper.ts +10 -0
- package/src/lib/calc-interceptor.ts +82 -0
- package/src/lib/citation-lane-tap.ts +78 -0
- package/src/lib/citation-ledger-store.ts +369 -0
- package/src/lib/citation-ledger.ts +203 -0
- package/src/lib/compute-sandbox.ts +215 -0
- package/src/lib/compute.worker.ts +153 -0
- package/src/lib/connectors/gemini.ts +120 -0
- package/src/lib/connectors/jina.ts +233 -0
- package/src/lib/connectors/marketdata.ts +51 -0
- package/src/lib/connectors/prismafetch.base.ts +175 -0
- package/src/lib/connectors/prismafetch.ts +1 -0
- package/src/lib/connectors/serpapi.ts +65 -0
- package/src/lib/connectors/wikidata.ts +44 -0
- package/src/lib/constraints.ts +331 -0
- package/src/lib/continuation-detector.base.ts +153 -0
- package/src/lib/continuation-detector.ts +48 -0
- package/src/lib/contradraft.ts +168 -0
- package/src/lib/cors-proxy.ts +120 -0
- package/src/lib/coverage.ts +81 -0
- package/src/lib/debug/architecture-prescription.ts +556 -0
- package/src/lib/debug/covea-repair.ts +543 -0
- package/src/lib/debug/helios-ground.ts +319 -0
- package/src/lib/debug/intent-decomposer.ts +281 -0
- package/src/lib/debug/intent-lattice.ts +349 -0
- package/src/lib/debug/pipeline-diagnosis.ts +1149 -0
- package/src/lib/debug/pipeline-trace-bus.ts +424 -0
- package/src/lib/debug/prompt-forge.ts +678 -0
- package/src/lib/debug/repair-sites.ts +513 -0
- package/src/lib/debug/research-phase.ts +266 -0
- package/src/lib/debug/retrieval-context.ts +76 -0
- package/src/lib/debug/retrieval-hardener.ts +142 -0
- package/src/lib/debug/scraper-debug-runner.ts +576 -0
- package/src/lib/debug/scraper-forensics.ts +418 -0
- package/src/lib/debug/scraper-lane-roadmap.ts +136 -0
- package/src/lib/debug/self-test.ts +415 -0
- package/src/lib/debug/step-attribution.ts +211 -0
- package/src/lib/debug/template-rubric.ts +301 -0
- package/src/lib/debug/unified-innovation.ts +126 -0
- package/src/lib/debug/veritas-hybrid-scraper.ts +335 -0
- package/src/lib/defense-registry.ts +104 -0
- package/src/lib/defenses.ts +162 -0
- package/src/lib/deterministic-citation-ledger.ts +174 -0
- package/src/lib/elo-registry.base.ts +117 -0
- package/src/lib/elo-registry.ts +1 -0
- package/src/lib/entity-resolver.ts +291 -0
- package/src/lib/failure-modes.ts +267 -0
- package/src/lib/feature-registry.ts +69 -0
- package/src/lib/flaw-registry.ts +143 -0
- package/src/lib/flaws/_template.ts +52 -0
- package/src/lib/flaws/builtins.ts +63 -0
- package/src/lib/flaws/finance.ts +169 -0
- package/src/lib/flaws/fixers.ts +10 -0
- package/src/lib/flaws/index.ts +32 -0
- package/src/lib/flaws/legal.ts +157 -0
- package/src/lib/flaws/medical.ts +188 -0
- package/src/lib/flaws/original-defenses-pack.ts +81 -0
- package/src/lib/flaws/sample-declarative-pack.json +38 -0
- package/src/lib/flaws/selftest.ts +201 -0
- package/src/lib/flaws/software-extended.ts +125 -0
- package/src/lib/flaws/software-rn-webgl.ts +182 -0
- package/src/lib/flaws/statistics-advanced.ts +46 -0
- package/src/lib/flaws/statistics.ts +61 -0
- package/src/lib/gbse/config.ts +20 -0
- package/src/lib/gbse/engine.ts +226 -0
- package/src/lib/gbse/graph.ts +118 -0
- package/src/lib/gbse/graph.worker.ts +21 -0
- package/src/lib/gbse/tests.ts +117 -0
- package/src/lib/gbse/tiers.ts +65 -0
- package/src/lib/gbse/types.ts +94 -0
- package/src/lib/innovation-genome-engine-v2.orig.ts +1001 -0
- package/src/lib/innovation-genome-engine-v2.ts +3 -0
- package/src/lib/innovation-genome-engine.orig.ts +330 -0
- package/src/lib/innovation-genome-engine.ts +3 -0
- package/src/lib/innovation-genome-v10.orig.ts +314 -0
- package/src/lib/innovation-genome-v10.ts +2 -0
- package/src/lib/innovation-genome-v3.orig.ts +2015 -0
- package/src/lib/innovation-genome-v3.ts +2 -0
- package/src/lib/innovation-genome-v4.orig.ts +1959 -0
- package/src/lib/innovation-genome-v4.ts +2 -0
- package/src/lib/innovation-genome-v5.orig.ts +1210 -0
- package/src/lib/innovation-genome-v5.ts +2 -0
- package/src/lib/innovation-genome-v7.orig.ts +2549 -0
- package/src/lib/innovation-genome-v7.ts +2 -0
- package/src/lib/innovation-genome-v8.orig.ts +1485 -0
- package/src/lib/innovation-genome-v8.ts +2 -0
- package/src/lib/innovation-genome-v9.orig.ts +643 -0
- package/src/lib/innovation-genome-v9.ts +2 -0
- package/src/lib/jina.base.ts +293 -0
- package/src/lib/jina.ts +1 -0
- package/src/lib/live-telemetry.ts +61 -0
- package/src/lib/longwriter.ts +84 -0
- package/src/lib/manuscript-grade-v2.ts +298 -0
- package/src/lib/memory-governor.ts +173 -0
- package/src/lib/memory-stress-tests.ts +248 -0
- package/src/lib/model-intelligence.ts +48 -0
- package/src/lib/model-rotator.ts +75 -0
- package/src/lib/models.orig.ts +513 -0
- package/src/lib/models.ts +151 -0
- package/src/lib/n-deep.base.ts +592 -0
- package/src/lib/n-deep.ts +51 -0
- package/src/lib/nih-simulator.ts +56 -0
- package/src/lib/nih-vulnerability-fixes.ts +460 -0
- package/src/lib/omega-templates.base.ts +294 -0
- package/src/lib/omega-templates.ts +225 -0
- package/src/lib/omni-nexus.ts +64 -0
- package/src/lib/oracle-adapters.ts +67 -0
- package/src/lib/oracle-registry.ts +163 -0
- package/src/lib/orchestrator.ts +357 -0
- package/src/lib/output-boundary.ts +235 -0
- package/src/lib/overrides/vite-native-chaos-harness.ts +154 -0
- package/src/lib/overrides/vite-native-contract-plane.ts +245 -0
- package/src/lib/overrides/vite-native-doctor-plane.ts +208 -0
- package/src/lib/overrides/vite-native-knowledge-store.ts +267 -0
- package/src/lib/overrides/vite-native-policy-plane.ts +190 -0
- package/src/lib/overrides/vite-native-replay-plane.ts +197 -0
- package/src/lib/overrides/vite-native-runtime-plane.ts +106 -0
- package/src/lib/overrides/vite-native-scraper.ts +848 -0
- package/src/lib/overrides/vite-native-selftest-functional.ts +217 -0
- package/src/lib/overrides/vite-native-selftest.ts +183 -0
- package/src/lib/overrides/vite-native-snapshot-plane.ts +123 -0
- package/src/lib/philosophy-toolkit.ts +75 -0
- package/src/lib/pipeline.orig.ts +659 -0
- package/src/lib/pipeline.ts +42 -0
- package/src/lib/precache.ts +128 -0
- package/src/lib/py-sandbox.ts +205 -0
- package/src/lib/quality-score.ts +96 -0
- package/src/lib/quant-engine.ts +231 -0
- package/src/lib/quant-lib.ts +80 -0
- package/src/lib/reportos.ts +175 -0
- package/src/lib/research-os.ts +306 -0
- package/src/lib/resource-estimator.ts +114 -0
- package/src/lib/rpm-governor.ts +93 -0
- package/src/lib/runtime-estimator.ts +135 -0
- package/src/lib/sage/empty-space-v6.ts +560 -0
- package/src/lib/sage/empty-space-v7.ts +222 -0
- package/src/lib/sage/empty-space.ts +733 -0
- package/src/lib/sage/engine.ts +786 -0
- package/src/lib/sage/index.ts +17 -0
- package/src/lib/sage/judge.ts +246 -0
- package/src/lib/sage/prng.ts +53 -0
- package/src/lib/sage/reality-grounding.ts +380 -0
- package/src/lib/sage/repetition.ts +151 -0
- package/src/lib/sage/saga-os-v2-engines.ts +1870 -0
- package/src/lib/sage/saga-os-v2.ts +274 -0
- package/src/lib/sage/saga-os-v3-core.ts +1491 -0
- package/src/lib/sage/saga-os-v3-release.ts +739 -0
- package/src/lib/sage/saga-os-v4-aureate.ts +1161 -0
- package/src/lib/sage/saga-os-v4.ts +212 -0
- package/src/lib/sage/saga-os-v5.ts +205 -0
- package/src/lib/sage/saga-os-v6.ts +346 -0
- package/src/lib/sage/saga-os-v7.ts +314 -0
- package/src/lib/sage/saga-os-v8.ts +505 -0
- package/src/lib/sage/saga-os.ts +329 -0
- package/src/lib/sage/taxonomy.ts +403 -0
- package/src/lib/sage/unified-roll.ts +524 -0
- package/src/lib/sage/worked-sketches.ts +44 -0
- package/src/lib/sage.ts +166 -0
- package/src/lib/scraper-debug-bus.ts +53 -0
- package/src/lib/scraper-enhanced.orig.ts +153 -0
- package/src/lib/scraper-enhanced.ts +10 -0
- package/src/lib/scraper-hardener.base.orig.ts +155 -0
- package/src/lib/scraper-hardener.base.ts +317 -0
- package/src/lib/scraper-hardener.ts +1 -0
- package/src/lib/scraper-palisade/palisade-adjudicator.orig.ts +419 -0
- package/src/lib/scraper-palisade/palisade-adjudicator.ts +13 -0
- package/src/lib/scraper-vnext/arbiter-omega.orig.ts +688 -0
- package/src/lib/scraper-vnext/arbiter-omega.ts +13 -0
- package/src/lib/scraper-vnext/canonical-portfolio-augments.ts +479 -0
- package/src/lib/scraper-vnext/canonical-portfolio-orchestrator.orig.ts +1529 -0
- package/src/lib/scraper-vnext/canonical-portfolio-orchestrator.ts +13 -0
- package/src/lib/scraper-vnext/conclave-omega.ts +1830 -0
- package/src/lib/scraper-vnext/content-extractor-v2.ts +226 -0
- package/src/lib/scraper-vnext/diagnostics-suite.ts +36 -0
- package/src/lib/scraper-vnext/epistemic-packer.ts +97 -0
- package/src/lib/scraper-vnext/fusion-v2.ts +65 -0
- package/src/lib/scraper-vnext/hydra-reader.orig.ts +1216 -0
- package/src/lib/scraper-vnext/hydra-reader.ts +13 -0
- package/src/lib/scraper-vnext/native-scraper-browser-vnext.orig.ts +91 -0
- package/src/lib/scraper-vnext/native-scraper-browser-vnext.ts +13 -0
- package/src/lib/scraper-vnext/nexus-consensus.orig.ts +905 -0
- package/src/lib/scraper-vnext/nexus-consensus.ts +13 -0
- package/src/lib/scraper-vnext/portfolio-consensus-adjudicator.ts +804 -0
- package/src/lib/scraper-vnext/portfolio-consensus-memory.ts +377 -0
- package/src/lib/scraper-vnext/portfolio-terminal-governor.ts +548 -0
- package/src/lib/scraper-vnext/query-strategist.orig.ts +224 -0
- package/src/lib/scraper-vnext/query-strategist.ts +423 -0
- package/src/lib/scraper-vnext/retrieval-accelerator.ts +708 -0
- package/src/lib/scraper-vnext/retrieval-audit-augments.ts +477 -0
- package/src/lib/scraper-vnext/retrieval-control-plane.ts +904 -0
- package/src/lib/scraper-vnext/retrieval-policy-augments.ts +358 -0
- package/src/lib/scraper-vnext/safe-fetch-v2.ts +157 -0
- package/src/lib/scraper-vnext/sentinel-omega.ts +56 -0
- package/src/lib/scraper-vnext/sentinel-orchestrator.ts +69 -0
- package/src/lib/scraper-vnext/sibyl-oracle.orig.ts +413 -0
- package/src/lib/scraper-vnext/sibyl-oracle.ts +13 -0
- package/src/lib/scraper-vnext/smart-read-v2.ts +55 -0
- package/src/lib/scraper-vnext/spa-rescue-bridge.ts +608 -0
- package/src/lib/scraper-vnext/strata-engine.orig.ts +2666 -0
- package/src/lib/scraper-vnext/strata-engine.ts +13 -0
- package/src/lib/scraper-vnext/structured-source-adapter.orig.ts +369 -0
- package/src/lib/scraper-vnext/structured-source-adapter.ts +34 -0
- package/src/lib/scraper-vnext/terminal-complete.ts +224 -0
- package/src/lib/scraper-vnext/terminal-final.ts +277 -0
- package/src/lib/scraper-vnext/terminal-saturation.ts +345 -0
- package/src/lib/scraper-vnext/terminal-wire.ts +425 -0
- package/src/lib/scraper-vnext/vanguard-titanium.orig.ts +467 -0
- package/src/lib/scraper-vnext/vanguard-titanium.ts +17 -0
- package/src/lib/search-cache.ts +138 -0
- package/src/lib/sloop-runner.base.ts +223 -0
- package/src/lib/sloop-runner.ts +104 -0
- package/src/lib/sloop.ts +114 -0
- package/src/lib/small-model-adapters.ts +82 -0
- package/src/lib/sscp.ts +86 -0
- package/src/lib/system-map.ts +54 -0
- package/src/lib/uni-node.ts +86 -0
- package/src/lib/universal-rigor-guard.ts +433 -0
- package/src/lib/v15-gate-testbed.ts +274 -0
- package/src/lib/v15-gemini.base.ts +89 -0
- package/src/lib/v15-gemini.ts +1 -0
- package/src/lib/v15-grounding.orig.ts +241 -0
- package/src/lib/v15-grounding.ts +79 -0
- package/src/lib/v15-pipeline.base.ts +769 -0
- package/src/lib/v15-pipeline.orig.ts +1154 -0
- package/src/lib/v15-pipeline.ts +674 -0
- package/src/lib/v15-questions.ts +64 -0
- package/src/lib/v15-rate-limiter.orig.ts +91 -0
- package/src/lib/v15-rate-limiter.ts +48 -0
- package/src/lib/v15-state.base.ts +87 -0
- package/src/lib/v15-state.ts +28 -0
- package/src/lib/visual-table-generator.tsx +207 -0
- package/src/lib/wasm-runtime.ts +133 -0
- package/src/lib/williams-persona-guide.ts +265 -0
- package/src/lib/williams-style.base.ts +464 -0
- package/src/lib/williams-style.ts +59 -0
- package/src/lib/worker-pool.ts +96 -0
- package/src/lib/writing-tiers.ts +125 -0
- package/src/main.orig.tsx +10 -0
- package/src/main.tsx +10 -0
- package/src/utils/cn.orig.ts +6 -0
- package/src/utils/cn.ts +6 -0
- package/src/vite-env.d.ts +1 -0
- package/tsconfig.json +31 -0
- package/unify.mjs +537 -0
- package/vite.config.ts +18 -0
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type B โ SagaOsReference: the v1โv8 canonical tables + local tools, embedded in the SAGA-OS Studio "Reference" tab.
|
|
3
|
+
* All SAGA-OS v1โv8 systems surfaced with real data and interactive tools.
|
|
4
|
+
* Matches the app's existing Style Persona / Innovation Persona aesthetic.
|
|
5
|
+
*/
|
|
6
|
+
import { useState, useCallback } from "react";
|
|
7
|
+
import {
|
|
8
|
+
SAGA_OS_VERSION, SAGA_THROUGHLINES, SAGA_SCENE_GRAMMARS, SAGA_PACE_DIMENSIONS,
|
|
9
|
+
SAGA_STAKES_AXES, SAGA_PROMISE_SCOPES, SAGA_PROMISE_STATES,
|
|
10
|
+
SAGA_COMPOSITION_OPERATORS, SAGA_AUDIT_RULES, SAGA_ATTACKS,
|
|
11
|
+
SAGA_STOP_CONDITIONS, SAGA_SERIES_MODES, SAGA_PHASES,
|
|
12
|
+
SAGA_REPAIR_OPERATORS,
|
|
13
|
+
SAGA_OS_V2_VERSION, SAGA_SLOT_CLASSES, GENESIS_PATTERNS,
|
|
14
|
+
SAGA_SCREEN_AUDITS, SAGA_PRODUCTION_TESTS,
|
|
15
|
+
auditCastNameConfusion,
|
|
16
|
+
SAGA_OS_V4_VERSION, STYLEBOOK_LAYERS, SYNTAX_FORMS, PARAGRAPH_TYPES,
|
|
17
|
+
AUREATE_REVISION_STACK, STYLE_PACKS, auditWanIntensifiers,
|
|
18
|
+
SAGA_OS_V5_VERSION, STYLE_OPERATORS, ATLAS_INVARIANTS,
|
|
19
|
+
ORCHARD_CONTRACT, QUALITY_MODES,
|
|
20
|
+
SAGA_OS_V6_VERSION, HELIOS_LEX_SUPERSENSES, KINETICON_CLASSES,
|
|
21
|
+
AXIS_FRAME_FAMILIES, GAUNTLET_TAXONOMY, runGauntletA,
|
|
22
|
+
SAGA_OS_V7_VERSION, MEANING_IR_TERMS, SEMANTIC_TYPE_LATTICE,
|
|
23
|
+
DISCOURSE_RELATIONS_V7, CONSTRUCTION_ALGEBRA, METARULES_V7,
|
|
24
|
+
ABSTRACT_GUARD_DOMAINS, GAUNTLET_V2_PROPERTIES,
|
|
25
|
+
SAGA_OS_V8_VERSION, CATEGO_COMBINATORS, CATEGO_POPULATION_RULES,
|
|
26
|
+
ANAPHOR_RULES, RSTORY_RELATIONS, TEMPO_2_REICHENBACH_TENSES,
|
|
27
|
+
SAGA_V8_HARDENING_INVARIANTS,
|
|
28
|
+
parseCategoExpression, analyzeReichenbachTense, buildDriskDrs, runGauntletV2,
|
|
29
|
+
type SagaRow,
|
|
30
|
+
} from '@/lib/sage/index.ts';
|
|
31
|
+
|
|
32
|
+
// โโ Shared sub-components โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
33
|
+
|
|
34
|
+
function SectionHeader({ icon, title, count, version }: { icon: string; title: string; count?: number; version?: string }) {
|
|
35
|
+
return (
|
|
36
|
+
<div className="flex items-center gap-2 border-b border-zinc-100 pb-1.5">
|
|
37
|
+
<span className="text-base">{icon}</span>
|
|
38
|
+
<span className="text-xs font-bold uppercase tracking-wider text-zinc-700">{title}</span>
|
|
39
|
+
{count != null && <span className="rounded bg-zinc-100 px-1.5 py-0.5 font-mono text-[10px] text-zinc-500">{count}</span>}
|
|
40
|
+
{version && <span className="ml-auto text-[10px] text-zinc-400 max-w-[200px] truncate" title={version}>{version}</span>}
|
|
41
|
+
</div>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function CompactTable({ rows, limit = 8 }: { rows: SagaRow[]; limit?: number }) {
|
|
46
|
+
const [expanded, setExpanded] = useState(false);
|
|
47
|
+
const shown = expanded ? rows : rows.slice(0, limit);
|
|
48
|
+
return (
|
|
49
|
+
<div>
|
|
50
|
+
<div className="max-h-48 overflow-y-auto rounded border border-zinc-100 bg-white">
|
|
51
|
+
<table className="w-full text-[11px]">
|
|
52
|
+
<tbody>
|
|
53
|
+
{shown.map((r) => (
|
|
54
|
+
<tr key={r.id} className="border-b border-zinc-50 last:border-0 hover:bg-zinc-50">
|
|
55
|
+
<td className="w-20 shrink-0 whitespace-nowrap px-2 py-1 font-mono text-[10px] text-zinc-500">{r.id}</td>
|
|
56
|
+
<td className="px-2 py-1 font-semibold text-zinc-800">{r.name}</td>
|
|
57
|
+
<td className="px-2 py-1 text-zinc-500">{r.note}</td>
|
|
58
|
+
</tr>
|
|
59
|
+
))}
|
|
60
|
+
</tbody>
|
|
61
|
+
</table>
|
|
62
|
+
</div>
|
|
63
|
+
{rows.length > limit && (
|
|
64
|
+
<button onClick={() => setExpanded(!expanded)} className="mt-1 text-[10px] font-semibold text-indigo-600 hover:text-indigo-800">
|
|
65
|
+
{expanded ? "โด Collapse" : `โพ Show all ${rows.length}`}
|
|
66
|
+
</button>
|
|
67
|
+
)}
|
|
68
|
+
</div>
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function ChipRow({ items, color = "zinc" }: { items: readonly string[]; color?: string }) {
|
|
73
|
+
const cls: Record<string, string> = {
|
|
74
|
+
zinc: "bg-zinc-100 text-zinc-700", indigo: "bg-indigo-50 text-indigo-700",
|
|
75
|
+
amber: "bg-amber-50 text-amber-700", emerald: "bg-emerald-50 text-emerald-700",
|
|
76
|
+
rose: "bg-rose-50 text-rose-700", violet: "bg-violet-50 text-violet-700",
|
|
77
|
+
sky: "bg-sky-50 text-sky-700", teal: "bg-teal-50 text-teal-700",
|
|
78
|
+
};
|
|
79
|
+
return (
|
|
80
|
+
<div className="flex flex-wrap gap-1">
|
|
81
|
+
{items.map((x) => (
|
|
82
|
+
<span key={x} className={`rounded-md px-1.5 py-0.5 text-[10px] font-medium ${cls[color] ?? cls.zinc}`}>{x}</span>
|
|
83
|
+
))}
|
|
84
|
+
</div>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function ToolResult({ label, result }: { label: string; result: string }) {
|
|
89
|
+
return (
|
|
90
|
+
<div className="mt-2 rounded border border-emerald-200 bg-emerald-50 p-2">
|
|
91
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-emerald-700">{label}</div>
|
|
92
|
+
<pre className="mt-1 max-h-60 overflow-auto whitespace-pre-wrap font-mono text-[10px] text-emerald-900">{result}</pre>
|
|
93
|
+
</div>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// โโ V1 Panel โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
98
|
+
|
|
99
|
+
function V1Panel() {
|
|
100
|
+
return (
|
|
101
|
+
<div className="space-y-3">
|
|
102
|
+
<SectionHeader icon="๐" title="Series Architecture" count={SAGA_SERIES_MODES.length} version={SAGA_OS_VERSION} />
|
|
103
|
+
<CompactTable rows={SAGA_SERIES_MODES} />
|
|
104
|
+
<SectionHeader icon="๐" title="Phase Architecture" count={SAGA_PHASES.length} />
|
|
105
|
+
<div className="flex flex-wrap gap-1">
|
|
106
|
+
{SAGA_PHASES.map((p) => (
|
|
107
|
+
<div key={p.phase} className="rounded-md border border-indigo-100 bg-indigo-50 px-2 py-1">
|
|
108
|
+
<div className="text-[9px] font-mono text-indigo-400">{p.range}</div>
|
|
109
|
+
<div className="text-[11px] font-bold text-indigo-700">{p.phase}</div>
|
|
110
|
+
</div>
|
|
111
|
+
))}
|
|
112
|
+
</div>
|
|
113
|
+
<SectionHeader icon="๐งต" title="Throughlines" count={SAGA_THROUGHLINES.length} />
|
|
114
|
+
<CompactTable rows={SAGA_THROUGHLINES} />
|
|
115
|
+
<SectionHeader icon="๐ฌ" title="Scene Grammars" count={SAGA_SCENE_GRAMMARS.length} />
|
|
116
|
+
<CompactTable rows={SAGA_SCENE_GRAMMARS} />
|
|
117
|
+
<SectionHeader icon="๐" title="Pace Vector" count={SAGA_PACE_DIMENSIONS.length} />
|
|
118
|
+
<ChipRow items={SAGA_PACE_DIMENSIONS} color="sky" />
|
|
119
|
+
<SectionHeader icon="โ" title="Stakes Axes" count={SAGA_STAKES_AXES.length} />
|
|
120
|
+
<ChipRow items={SAGA_STAKES_AXES} color="amber" />
|
|
121
|
+
<SectionHeader icon="๐ฏ" title="Promise Lifecycle" />
|
|
122
|
+
<div className="space-y-1">
|
|
123
|
+
<div className="text-[10px] font-bold text-zinc-500">Scopes:</div>
|
|
124
|
+
<ChipRow items={SAGA_PROMISE_SCOPES} color="emerald" />
|
|
125
|
+
<div className="text-[10px] font-bold text-zinc-500">States:</div>
|
|
126
|
+
<ChipRow items={SAGA_PROMISE_STATES} color="violet" />
|
|
127
|
+
</div>
|
|
128
|
+
<SectionHeader icon="โ" title="Composition Operators" count={SAGA_COMPOSITION_OPERATORS.length} />
|
|
129
|
+
<CompactTable rows={SAGA_COMPOSITION_OPERATORS} />
|
|
130
|
+
<SectionHeader icon="๐" title="Logic Audit Rules" count={SAGA_AUDIT_RULES.length} />
|
|
131
|
+
<CompactTable rows={SAGA_AUDIT_RULES} limit={10} />
|
|
132
|
+
<SectionHeader icon="๐ง" title="Repair Operators" count={SAGA_REPAIR_OPERATORS.length} />
|
|
133
|
+
<ChipRow items={SAGA_REPAIR_OPERATORS} color="teal" />
|
|
134
|
+
<SectionHeader icon="๐ฏ" title="Adversarial Tests" count={SAGA_ATTACKS.length} />
|
|
135
|
+
<CompactTable rows={SAGA_ATTACKS} />
|
|
136
|
+
<SectionHeader icon="๐" title="Stop Conditions" count={SAGA_STOP_CONDITIONS.length} />
|
|
137
|
+
<CompactTable rows={SAGA_STOP_CONDITIONS} />
|
|
138
|
+
</div>
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function V2V3Panel() {
|
|
143
|
+
return (
|
|
144
|
+
<div className="space-y-3">
|
|
145
|
+
<SectionHeader icon="๐ฐ" title="Slot Classes (SAGA-WIRE)" count={SAGA_SLOT_CLASSES.length} version={SAGA_OS_V2_VERSION} />
|
|
146
|
+
<CompactTable rows={SAGA_SLOT_CLASSES} />
|
|
147
|
+
<SectionHeader icon="๐" title="Genesis Patterns" count={GENESIS_PATTERNS.length} />
|
|
148
|
+
<CompactTable rows={GENESIS_PATTERNS} />
|
|
149
|
+
<SectionHeader icon="๐" title="Screen Audits" count={SAGA_SCREEN_AUDITS.length} />
|
|
150
|
+
<CompactTable rows={SAGA_SCREEN_AUDITS} />
|
|
151
|
+
<SectionHeader icon="๐งช" title="Production Tests" count={SAGA_PRODUCTION_TESTS.length} />
|
|
152
|
+
<CompactTable rows={SAGA_PRODUCTION_TESTS} />
|
|
153
|
+
</div>
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function V4Panel() {
|
|
158
|
+
return (
|
|
159
|
+
<div className="space-y-3">
|
|
160
|
+
<SectionHeader icon="๐" title="Stylebook Layers" count={STYLEBOOK_LAYERS.length} version={SAGA_OS_V4_VERSION} />
|
|
161
|
+
<CompactTable rows={STYLEBOOK_LAYERS} />
|
|
162
|
+
<SectionHeader icon="โ" title="Syntax Forms" count={SYNTAX_FORMS.length} />
|
|
163
|
+
<CompactTable rows={SYNTAX_FORMS} />
|
|
164
|
+
<SectionHeader icon="๐" title="Paragraph Types" count={PARAGRAPH_TYPES.length} />
|
|
165
|
+
<CompactTable rows={PARAGRAPH_TYPES} />
|
|
166
|
+
<SectionHeader icon="๐" title="AUREATE Revision Stack" count={AUREATE_REVISION_STACK.length} />
|
|
167
|
+
<CompactTable rows={AUREATE_REVISION_STACK} />
|
|
168
|
+
<SectionHeader icon="๐ฆ" title="Style Packs" count={STYLE_PACKS.length} />
|
|
169
|
+
<CompactTable rows={STYLE_PACKS} />
|
|
170
|
+
</div>
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function V5Panel() {
|
|
175
|
+
return (
|
|
176
|
+
<div className="space-y-3">
|
|
177
|
+
<SectionHeader icon="๐ง" title="Style Operators" count={STYLE_OPERATORS.length} version={SAGA_OS_V5_VERSION} />
|
|
178
|
+
<CompactTable rows={STYLE_OPERATORS} />
|
|
179
|
+
<SectionHeader icon="๐ก" title="ATLAS Invariants" count={ATLAS_INVARIANTS.length} />
|
|
180
|
+
<CompactTable rows={ATLAS_INVARIANTS} />
|
|
181
|
+
<SectionHeader icon="๐ณ" title="ORCHARD Contract" count={ORCHARD_CONTRACT.length} />
|
|
182
|
+
<CompactTable rows={ORCHARD_CONTRACT} />
|
|
183
|
+
<SectionHeader icon="๐" title="Quality Modes" count={QUALITY_MODES.length} />
|
|
184
|
+
<CompactTable rows={QUALITY_MODES} />
|
|
185
|
+
</div>
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function V6Panel() {
|
|
190
|
+
return (
|
|
191
|
+
<div className="space-y-3">
|
|
192
|
+
<SectionHeader icon="๐ค" title="HELIOS-LEX Supersenses" count={HELIOS_LEX_SUPERSENSES.length} version={SAGA_OS_V6_VERSION} />
|
|
193
|
+
<CompactTable rows={HELIOS_LEX_SUPERSENSES} />
|
|
194
|
+
<SectionHeader icon="๐" title="KINETICON Classes" count={KINETICON_CLASSES.length} />
|
|
195
|
+
<CompactTable rows={KINETICON_CLASSES} />
|
|
196
|
+
<SectionHeader icon="๐ผ" title="AXIS Frame Families" count={AXIS_FRAME_FAMILIES.length} />
|
|
197
|
+
<CompactTable rows={AXIS_FRAME_FAMILIES} />
|
|
198
|
+
<SectionHeader icon="๐ฏ" title="Gauntlet Taxonomy" count={GAUNTLET_TAXONOMY.length} />
|
|
199
|
+
<CompactTable rows={GAUNTLET_TAXONOMY} />
|
|
200
|
+
</div>
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
function V7Panel() {
|
|
205
|
+
return (
|
|
206
|
+
<div className="space-y-3">
|
|
207
|
+
<SectionHeader icon="๐ง " title="Meaning IR Terms" count={MEANING_IR_TERMS.length} version={SAGA_OS_V7_VERSION} />
|
|
208
|
+
<CompactTable rows={MEANING_IR_TERMS} />
|
|
209
|
+
<SectionHeader icon="๐" title="Semantic Type Lattice" count={SEMANTIC_TYPE_LATTICE.length} />
|
|
210
|
+
<CompactTable rows={SEMANTIC_TYPE_LATTICE} />
|
|
211
|
+
<SectionHeader icon="๐" title="Discourse Relations" count={DISCOURSE_RELATIONS_V7.length} />
|
|
212
|
+
<CompactTable rows={DISCOURSE_RELATIONS_V7} />
|
|
213
|
+
<SectionHeader icon="๐งฎ" title="Construction Algebra" count={CONSTRUCTION_ALGEBRA.length} />
|
|
214
|
+
<CompactTable rows={CONSTRUCTION_ALGEBRA} />
|
|
215
|
+
<SectionHeader icon="๐" title="Metarules" count={METARULES_V7.length} />
|
|
216
|
+
<CompactTable rows={METARULES_V7} />
|
|
217
|
+
<SectionHeader icon="๐ก" title="Abstract Guard Domains" count={ABSTRACT_GUARD_DOMAINS.length} />
|
|
218
|
+
<CompactTable rows={ABSTRACT_GUARD_DOMAINS} />
|
|
219
|
+
<SectionHeader icon="๐งช" title="Gauntlet v2 Properties" count={GAUNTLET_V2_PROPERTIES.length} />
|
|
220
|
+
<CompactTable rows={GAUNTLET_V2_PROPERTIES} />
|
|
221
|
+
</div>
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function V8Panel() {
|
|
226
|
+
return (
|
|
227
|
+
<div className="space-y-3">
|
|
228
|
+
<SectionHeader icon="๐ฌ" title="CATEGO Combinators" count={CATEGO_COMBINATORS.length} version={SAGA_OS_V8_VERSION} />
|
|
229
|
+
<CompactTable rows={CATEGO_COMBINATORS} />
|
|
230
|
+
<SectionHeader icon="๐" title="CATEGO Population Rules" count={CATEGO_POPULATION_RULES.length} />
|
|
231
|
+
<CompactTable rows={CATEGO_POPULATION_RULES} />
|
|
232
|
+
<SectionHeader icon="๐" title="Anaphora Rules" count={ANAPHOR_RULES.length} />
|
|
233
|
+
<CompactTable rows={ANAPHOR_RULES} />
|
|
234
|
+
<SectionHeader icon="๐" title="R-Story Relations" count={RSTORY_RELATIONS.length} />
|
|
235
|
+
<CompactTable rows={RSTORY_RELATIONS} />
|
|
236
|
+
<SectionHeader icon="โฑ" title="Reichenbach Tenses" count={TEMPO_2_REICHENBACH_TENSES.length} />
|
|
237
|
+
<CompactTable rows={TEMPO_2_REICHENBACH_TENSES} />
|
|
238
|
+
<SectionHeader icon="๐ก" title="Hardening Invariants" count={SAGA_V8_HARDENING_INVARIANTS.length} />
|
|
239
|
+
<CompactTable rows={SAGA_V8_HARDENING_INVARIANTS} />
|
|
240
|
+
</div>
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function ToolsPanel() {
|
|
245
|
+
const [categoResult, setCategoResult] = useState("");
|
|
246
|
+
const [reichInput, setReichInput] = useState("past perfect");
|
|
247
|
+
const [reichResult, setReichResult] = useState("");
|
|
248
|
+
const [driskInput, setDriskInput] = useState("A farmer owned a donkey. The donkey was old.");
|
|
249
|
+
const [driskResult, setDriskResult] = useState("");
|
|
250
|
+
const [nameInput, setNameInput] = useState("Alice, Alicia, Alan, Bob");
|
|
251
|
+
const [nameResult, setNameResult] = useState("");
|
|
252
|
+
const [wanInput, setWanInput] = useState("It was really very quite actually literally basically just very much");
|
|
253
|
+
const [wanResult, setWanResult] = useState("");
|
|
254
|
+
const [gauntletAResult, setGauntletAResult] = useState("");
|
|
255
|
+
const [gauntletV2Result, setGauntletV2Result] = useState("");
|
|
256
|
+
|
|
257
|
+
const runCatego = useCallback(() => {
|
|
258
|
+
try {
|
|
259
|
+
const tokens = [{ word: "the", category: "NP/N" }, { word: "cat", category: "N" }, { word: "sat", category: "S\\NP" }];
|
|
260
|
+
setCategoResult(JSON.stringify(parseCategoExpression(tokens), null, 2));
|
|
261
|
+
} catch (e) { setCategoResult(`Error: ${e}`); }
|
|
262
|
+
}, []);
|
|
263
|
+
|
|
264
|
+
const runReich = useCallback(() => {
|
|
265
|
+
try { setReichResult(JSON.stringify(analyzeReichenbachTense(reichInput), null, 2)); }
|
|
266
|
+
catch (e) { setReichResult(`Error: ${e}`); }
|
|
267
|
+
}, [reichInput]);
|
|
268
|
+
|
|
269
|
+
const runDrisk = useCallback(() => {
|
|
270
|
+
try {
|
|
271
|
+
const sentences = driskInput.split(/[.!?]+/).map((s) => s.trim()).filter(Boolean);
|
|
272
|
+
setDriskResult(JSON.stringify(buildDriskDrs(sentences), null, 2));
|
|
273
|
+
} catch (e) { setDriskResult(`Error: ${e}`); }
|
|
274
|
+
}, [driskInput]);
|
|
275
|
+
|
|
276
|
+
const runNames = useCallback(() => {
|
|
277
|
+
try {
|
|
278
|
+
const names = nameInput.split(",").map((n) => n.trim()).filter(Boolean);
|
|
279
|
+
setNameResult(JSON.stringify(auditCastNameConfusion(names), null, 2));
|
|
280
|
+
} catch (e) { setNameResult(`Error: ${e}`); }
|
|
281
|
+
}, [nameInput]);
|
|
282
|
+
|
|
283
|
+
const runWan = useCallback(() => {
|
|
284
|
+
try { setWanResult(JSON.stringify(auditWanIntensifiers(wanInput), null, 2)); }
|
|
285
|
+
catch (e) { setWanResult(`Error: ${e}`); }
|
|
286
|
+
}, [wanInput]);
|
|
287
|
+
|
|
288
|
+
return (
|
|
289
|
+
<div className="space-y-4">
|
|
290
|
+
<SectionHeader icon="๐งช" title="Interactive Tools" version="Local-only ยท No LLM ยท No network" />
|
|
291
|
+
|
|
292
|
+
{/* CATEGO */}
|
|
293
|
+
<div>
|
|
294
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">CATEGO Shift-Reduce Parser (v8)</div>
|
|
295
|
+
<div className="mt-1 flex gap-1">
|
|
296
|
+
<span className="text-[10px] text-zinc-400">the:NP/N ยท cat:N ยท sat:S\NP</span>
|
|
297
|
+
<button onClick={runCatego} className="rounded bg-indigo-600 px-3 py-1 text-[11px] font-bold text-white hover:bg-indigo-700">Parse demo</button>
|
|
298
|
+
</div>
|
|
299
|
+
{categoResult && <ToolResult label="CATEGO output" result={categoResult} />}
|
|
300
|
+
</div>
|
|
301
|
+
|
|
302
|
+
{/* Reichenbach */}
|
|
303
|
+
<div>
|
|
304
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">Reichenbach Temporal Analyzer (v8)</div>
|
|
305
|
+
<div className="mt-1 flex gap-1">
|
|
306
|
+
<input value={reichInput} onChange={(e) => setReichInput(e.target.value)}
|
|
307
|
+
className="flex-1 rounded border border-zinc-200 px-2 py-1 font-mono text-xs" placeholder="past perfect" />
|
|
308
|
+
<button onClick={runReich} className="rounded bg-indigo-600 px-3 py-1 text-[11px] font-bold text-white hover:bg-indigo-700">Analyze</button>
|
|
309
|
+
</div>
|
|
310
|
+
{reichResult && <ToolResult label="Reichenbach output" result={reichResult} />}
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
{/* DRISK DRS */}
|
|
314
|
+
<div>
|
|
315
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">DRISK DRS Builder (v8)</div>
|
|
316
|
+
<div className="mt-1 flex gap-1">
|
|
317
|
+
<input value={driskInput} onChange={(e) => setDriskInput(e.target.value)}
|
|
318
|
+
className="flex-1 rounded border border-zinc-200 px-2 py-1 font-mono text-xs" />
|
|
319
|
+
<button onClick={runDrisk} className="rounded bg-indigo-600 px-3 py-1 text-[11px] font-bold text-white hover:bg-indigo-700">Build</button>
|
|
320
|
+
</div>
|
|
321
|
+
{driskResult && <ToolResult label="DRS output" result={driskResult} />}
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
{/* Name Confusion */}
|
|
325
|
+
<div>
|
|
326
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">Cast Name Confusion Audit (v2)</div>
|
|
327
|
+
<div className="mt-1 flex gap-1">
|
|
328
|
+
<input value={nameInput} onChange={(e) => setNameInput(e.target.value)}
|
|
329
|
+
className="flex-1 rounded border border-zinc-200 px-2 py-1 font-mono text-xs" placeholder="Alice, Alicia, Alan" />
|
|
330
|
+
<button onClick={runNames} className="rounded bg-indigo-600 px-3 py-1 text-[11px] font-bold text-white hover:bg-indigo-700">Audit</button>
|
|
331
|
+
</div>
|
|
332
|
+
{nameResult && <ToolResult label="Name confusion" result={nameResult} />}
|
|
333
|
+
</div>
|
|
334
|
+
|
|
335
|
+
{/* Wan Intensifiers */}
|
|
336
|
+
<div>
|
|
337
|
+
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">Wan-Intensifier Audit (v4)</div>
|
|
338
|
+
<div className="mt-1 flex gap-1">
|
|
339
|
+
<input value={wanInput} onChange={(e) => setWanInput(e.target.value)}
|
|
340
|
+
className="flex-1 rounded border border-zinc-200 px-2 py-1 font-mono text-xs" />
|
|
341
|
+
<button onClick={runWan} className="rounded bg-indigo-600 px-3 py-1 text-[11px] font-bold text-white hover:bg-indigo-700">Audit</button>
|
|
342
|
+
</div>
|
|
343
|
+
{wanResult && <ToolResult label="Wan intensifiers" result={wanResult} />}
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
{/* GAUNTLET suites */}
|
|
347
|
+
<div className="flex gap-2">
|
|
348
|
+
<button onClick={() => { try { setGauntletAResult(JSON.stringify(runGauntletA(), null, 2)); } catch (e) { setGauntletAResult(`Error: ${e}`); } }}
|
|
349
|
+
className="rounded bg-emerald-600 px-3 py-1.5 text-[11px] font-bold text-white hover:bg-emerald-700">
|
|
350
|
+
๐งช GAUNTLET-A (6 tests)
|
|
351
|
+
</button>
|
|
352
|
+
<button onClick={() => { try { setGauntletV2Result(JSON.stringify(runGauntletV2(), null, 2)); } catch (e) { setGauntletV2Result(`Error: ${e}`); } }}
|
|
353
|
+
className="rounded bg-emerald-600 px-3 py-1.5 text-[11px] font-bold text-white hover:bg-emerald-700">
|
|
354
|
+
๐งช GAUNTLET v2 (10 props)
|
|
355
|
+
</button>
|
|
356
|
+
</div>
|
|
357
|
+
{gauntletAResult && <ToolResult label="GAUNTLET-A" result={gauntletAResult} />}
|
|
358
|
+
{gauntletV2Result && <ToolResult label="GAUNTLET v2" result={gauntletV2Result} />}
|
|
359
|
+
</div>
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// โโ Main โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
364
|
+
|
|
365
|
+
type Tab = "v1" | "v2v3" | "v4" | "v5" | "v6" | "v7" | "v8" | "tools";
|
|
366
|
+
const TABS: { id: Tab; label: string; icon: string }[] = [
|
|
367
|
+
{ id: "v1", label: "v1", icon: "๐" },
|
|
368
|
+
{ id: "v2v3", label: "v2/v3", icon: "๐ฐ" },
|
|
369
|
+
{ id: "v4", label: "v4", icon: "โ" },
|
|
370
|
+
{ id: "v5", label: "v5", icon: "โก" },
|
|
371
|
+
{ id: "v6", label: "v6", icon: "๐ค" },
|
|
372
|
+
{ id: "v7", label: "v7", icon: "๐ง " },
|
|
373
|
+
{ id: "v8", label: "v8", icon: "๐ฌ" },
|
|
374
|
+
{ id: "tools", label: "Tools", icon: "๐งช" },
|
|
375
|
+
];
|
|
376
|
+
|
|
377
|
+
export function SagaOsReference() {
|
|
378
|
+
const [open, setOpen] = useState(true);
|
|
379
|
+
const [tab, setTab] = useState<Tab>("v1");
|
|
380
|
+
|
|
381
|
+
return (
|
|
382
|
+
<section className="rounded-xl border border-zinc-200 bg-zinc-50/80">
|
|
383
|
+
<button
|
|
384
|
+
onClick={() => setOpen(!open)}
|
|
385
|
+
className="flex w-full items-center justify-between px-4 py-2.5 text-left"
|
|
386
|
+
>
|
|
387
|
+
<div className="flex items-center gap-2">
|
|
388
|
+
<span className="text-base">๐</span>
|
|
389
|
+
<span className="text-xs font-bold uppercase tracking-wider text-zinc-700">SAGA-OS Composition Architecture</span>
|
|
390
|
+
<span className="rounded bg-zinc-200 px-1.5 py-0.5 font-mono text-[10px] text-zinc-500">v1โv8</span>
|
|
391
|
+
</div>
|
|
392
|
+
<span className="text-zinc-400">{open ? "โพ" : "โธ"}</span>
|
|
393
|
+
</button>
|
|
394
|
+
{open && (
|
|
395
|
+
<div className="border-t border-zinc-200 px-4 py-3">
|
|
396
|
+
<div className="mb-3 flex flex-wrap gap-1">
|
|
397
|
+
{TABS.map((t) => (
|
|
398
|
+
<button
|
|
399
|
+
key={t.id}
|
|
400
|
+
onClick={() => setTab(t.id)}
|
|
401
|
+
className={`rounded-md px-2 py-1 text-[11px] font-semibold transition-colors ${
|
|
402
|
+
tab === t.id ? "bg-indigo-600 text-white" : "bg-zinc-100 text-zinc-600 hover:bg-zinc-200"
|
|
403
|
+
}`}
|
|
404
|
+
>
|
|
405
|
+
{t.icon} {t.label}
|
|
406
|
+
</button>
|
|
407
|
+
))}
|
|
408
|
+
</div>
|
|
409
|
+
{tab === "v1" && <V1Panel />}
|
|
410
|
+
{tab === "v2v3" && <V2V3Panel />}
|
|
411
|
+
{tab === "v4" && <V4Panel />}
|
|
412
|
+
{tab === "v5" && <V5Panel />}
|
|
413
|
+
{tab === "v6" && <V6Panel />}
|
|
414
|
+
{tab === "v7" && <V7Panel />}
|
|
415
|
+
{tab === "v8" && <V8Panel />}
|
|
416
|
+
{tab === "tools" && <ToolsPanel />}
|
|
417
|
+
</div>
|
|
418
|
+
)}
|
|
419
|
+
</section>
|
|
420
|
+
);
|
|
421
|
+
}
|