keating 0.3.9 → 0.3.10
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/dist/src/core/benchmark.js +37 -31
- package/dist/src/core/pi-agent.js +1 -1
- package/dist/src/pi/hyperteacher-extension.js +30 -4
- package/dist/src/runtime/pi.js +4 -3
- package/package.json +4 -3
- package/web/.output/nitro.json +17 -0
- package/web/.output/public/.well-known/llms.txt +44 -0
- package/web/.output/public/apple-touch-icon.svg +10 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/web/.output/public/assets/anthropic-D8J8em9_.js +39 -0
- package/web/{dist/assets/arc-BgYOxBdg.js → .output/public/assets/arc-oTgBOc9h.js} +1 -1
- package/web/.output/public/assets/architecture-YZFGNWBL-DZ_Ec0kf.js +1 -0
- package/web/{dist/assets/architectureDiagram-Q4EWVU46-Yh6i8NsV.js → .output/public/assets/architectureDiagram-Q4EWVU46-BkX3k5GJ.js} +1 -1
- package/web/.output/public/assets/azure-openai-responses-BllE29wk.js +1 -0
- package/web/{dist/assets/band-mY0qgSES.js → .output/public/assets/band-w5KgYWOj.js} +1 -1
- package/web/{dist/assets/blockDiagram-DXYQGD6D-DUOEnS09.js → .output/public/assets/blockDiagram-DXYQGD6D-DQcL9Ujg.js} +1 -1
- package/web/{dist/assets/c4Diagram-AHTNJAMY-XzNOUnLt.js → .output/public/assets/c4Diagram-AHTNJAMY-D-IePZqI.js} +1 -1
- package/web/.output/public/assets/channel-CYyKOAtV.js +1 -0
- package/web/{dist/assets/chunk-2KRD3SAO-mLbXjVje.js → .output/public/assets/chunk-2KRD3SAO-B6zL3K_-.js} +1 -1
- package/web/{dist/assets/chunk-336JU56O-CQcnUKNW.js → .output/public/assets/chunk-336JU56O-c7e9XQL0.js} +2 -2
- package/web/.output/public/assets/chunk-426QAEUC-BjSoaXb2.js +1 -0
- package/web/{dist/assets/chunk-4BX2VUAB-DRZjGMDM.js → .output/public/assets/chunk-4BX2VUAB-C-QwaF8o.js} +1 -1
- package/web/{dist/assets/chunk-4TB4RGXK-CAwQq2uM.js → .output/public/assets/chunk-4TB4RGXK-BPHoxzPs.js} +1 -1
- package/web/{dist/assets/chunk-55IACEB6-C19HKnvd.js → .output/public/assets/chunk-55IACEB6-B1zv33Gi.js} +1 -1
- package/web/{dist/assets/chunk-5FUZZQ4R-Bw3BFJJs.js → .output/public/assets/chunk-5FUZZQ4R-Ca04rGKU.js} +1 -1
- package/web/{dist/assets/chunk-5PVQY5BW-Ciel-YVc.js → .output/public/assets/chunk-5PVQY5BW-B-37rcM6.js} +1 -1
- package/web/{dist/assets/chunk-67CJDMHE-DNZKE79k.js → .output/public/assets/chunk-67CJDMHE-HdGQv4Jx.js} +1 -1
- package/web/{dist/assets/chunk-7N4EOEYR-BGZXIfBD.js → .output/public/assets/chunk-7N4EOEYR-DqXAO0Gi.js} +1 -1
- package/web/{dist/assets/chunk-AA7GKIK3-CLWjm_Gk.js → .output/public/assets/chunk-AA7GKIK3-DDm8EH48.js} +1 -1
- package/web/{dist/assets/chunk-BSJP7CBP-DwT1eVSc.js → .output/public/assets/chunk-BSJP7CBP-c6iSgQvG.js} +1 -1
- package/web/.output/public/assets/chunk-Bj-mKKzh.js +1 -0
- package/web/{dist/assets/chunk-CIAEETIT-DaQsGVwH.js → .output/public/assets/chunk-CIAEETIT-CJ1fnWwS.js} +1 -1
- package/web/{dist/assets/chunk-EDXVE4YY-DNeRJTiS.js → .output/public/assets/chunk-EDXVE4YY-BAD3qlf8.js} +1 -1
- package/web/{dist/assets/chunk-ENJZ2VHE-Crfow0Ab.js → .output/public/assets/chunk-ENJZ2VHE-CygEaEHK.js} +1 -1
- package/web/{dist/assets/chunk-FMBD7UC4-BWSstEYx.js → .output/public/assets/chunk-FMBD7UC4-DtK74FNN.js} +1 -1
- package/web/{dist/assets/chunk-FOC6F5B3-BrTsf5ix.js → .output/public/assets/chunk-FOC6F5B3-B1tJYVCE.js} +1 -1
- package/web/{dist/assets/chunk-ICPOFSXX-C04NFfJk.js → .output/public/assets/chunk-ICPOFSXX-Cx8pjnoR.js} +3 -3
- package/web/{dist/assets/chunk-K5T4RW27-C6ErEFB0.js → .output/public/assets/chunk-K5T4RW27-BwFJlMGX.js} +1 -1
- package/web/{dist/assets/chunk-KGLVRYIC-DWgMrjZr.js → .output/public/assets/chunk-KGLVRYIC-mZuEP_SX.js} +1 -1
- package/web/{dist/assets/chunk-LIHQZDEY-D3DWGnJT.js → .output/public/assets/chunk-LIHQZDEY-kAIrsC_z.js} +1 -1
- package/web/{dist/assets/chunk-ORNJ4GCN-D0nhq27e.js → .output/public/assets/chunk-ORNJ4GCN-B5sPpxPr.js} +1 -1
- package/web/{dist/assets/chunk-OYMX7WX6-CQLx0cU3.js → .output/public/assets/chunk-OYMX7WX6-793CQBwp.js} +1 -1
- package/web/.output/public/assets/chunk-QZHKN3VN-BeLnIYwL.js +1 -0
- package/web/{dist/assets/chunk-U2HBQHQK-FqDOW_Dq.js → .output/public/assets/chunk-U2HBQHQK-ffKeXnV6.js} +1 -1
- package/web/{dist/assets/chunk-X2U36JSP-DiSftNGg.js → .output/public/assets/chunk-X2U36JSP-DntoY71A.js} +1 -1
- package/web/{dist/assets/chunk-XPW4576I-CTCFDURY.js → .output/public/assets/chunk-XPW4576I-DuNk6l5T.js} +1 -1
- package/web/{dist/assets/chunk-YZCP3GAM-BhxShnp0.js → .output/public/assets/chunk-YZCP3GAM-C6cD67UW.js} +1 -1
- package/web/{dist/assets/chunk-ZZ45TVLE-DMfGJuPz.js → .output/public/assets/chunk-ZZ45TVLE-C-NXiDgG.js} +1 -1
- package/web/.output/public/assets/classDiagram-6PBFFD2Q-B0p5BvS5.js +1 -0
- package/web/.output/public/assets/classDiagram-v2-HSJHXN6E-CNV1kogp.js +1 -0
- package/web/.output/public/assets/clone-t_jPG6Vp.js +1 -0
- package/web/{dist/assets/cose-bilkent-S5V4N54A-BWrDpSLZ.js → .output/public/assets/cose-bilkent-S5V4N54A-B_r8CGOq.js} +1 -1
- package/web/{dist/assets/custom-tts-DA7XkgNJ.js → .output/public/assets/custom-tts-6caJdeJH.js} +1 -1
- package/web/{dist/assets/dagre-C_Y5Jrtl.js → .output/public/assets/dagre-B6LvKZOC.js} +1 -1
- package/web/{dist/assets/dagre-KV5264BT-DcrvRRX1.js → .output/public/assets/dagre-KV5264BT-kmbpW2Qa.js} +1 -1
- package/web/.output/public/assets/diagnostics-Dir03GES.js +1 -0
- package/web/{dist/assets/diagram-5BDNPKRD-BsChRck6.js → .output/public/assets/diagram-5BDNPKRD-jScdzoma.js} +1 -1
- package/web/{dist/assets/diagram-G4DWMVQ6-raeAsgoe.js → .output/public/assets/diagram-G4DWMVQ6-DpX26eSz.js} +1 -1
- package/web/{dist/assets/diagram-MMDJMWI5-CuKsP84I.js → .output/public/assets/diagram-MMDJMWI5-C9dVTkG7.js} +1 -1
- package/web/{dist/assets/diagram-TYMM5635-T7ILcS3d.js → .output/public/assets/diagram-TYMM5635-DRTAOPO-.js} +1 -1
- package/web/{dist/assets/dist-oYdMaa1U.js → .output/public/assets/dist-mae6wHLp.js} +3 -3
- package/web/.output/public/assets/env-api-keys-7u9jMM5_.js +1 -0
- package/web/{dist/assets/erDiagram-SMLLAGMA-C9z6kYxH.js → .output/public/assets/erDiagram-SMLLAGMA-Coj28jXq.js} +1 -1
- package/web/.output/public/assets/event-stream-DcqAlaOm.js +1 -0
- package/web/{dist/assets/flatten-n72VCU_F.js → .output/public/assets/flatten-U6HPKYck.js} +1 -1
- package/web/{dist/assets/flowDiagram-DWJPFMVM-BA3HBIvp.js → .output/public/assets/flowDiagram-DWJPFMVM-CrvcpZkH.js} +1 -1
- package/web/{dist/assets/ganttDiagram-T4ZO3ILL-BXKKRsbk.js → .output/public/assets/ganttDiagram-T4ZO3ILL-C_IKmfo1.js} +1 -1
- package/web/.output/public/assets/gemini-live-yGyuxMZL.js +2 -0
- package/web/.output/public/assets/gitGraph-7Q5UKJZL-CqSUwktU.js +1 -0
- package/web/{dist/assets/gitGraphDiagram-UUTBAWPF-CfGAccI8.js → .output/public/assets/gitGraphDiagram-UUTBAWPF-BI4Z-mQ2.js} +1 -1
- package/web/.output/public/assets/github-copilot-headers-B6Fvsk-Y.js +1 -0
- package/web/.output/public/assets/google-Nkegp1GZ.js +1 -0
- package/web/.output/public/assets/google-shared-DGeOO0KQ.js +11 -0
- package/web/.output/public/assets/google-vertex-g5NuaSdk.js +1 -0
- package/web/{dist/assets/graphlib-sK54_wxh.js → .output/public/assets/graphlib-5VtJ2oig.js} +1 -1
- package/web/.output/public/assets/headers-DkHU-pcw.js +1 -0
- package/web/{dist/assets/index-BgWMse5j.js → .output/public/assets/index-BqQW1iWw.js} +807 -775
- package/web/.output/public/assets/index-CGn8E70R.css +2 -0
- package/web/.output/public/assets/info-OMHHGYJF-CuBqqD0E.js +1 -0
- package/web/{dist/assets/infoDiagram-42DDH7IO-CXoykyfr.js → .output/public/assets/infoDiagram-42DDH7IO-DJwPib2w.js} +1 -1
- package/web/{dist/assets/isEmpty-Lz_aOZWI.js → .output/public/assets/isEmpty-Bz-lCaCA.js} +1 -1
- package/web/{dist/assets/ishikawaDiagram-UXIWVN3A-BJieXVMt.js → .output/public/assets/ishikawaDiagram-UXIWVN3A-Bm0Zg0-C.js} +1 -1
- package/web/{dist/assets/journeyDiagram-VCZTEJTY-CwCyrnqT.js → .output/public/assets/journeyDiagram-VCZTEJTY-7KIiN_Ei.js} +1 -1
- package/web/{dist/assets/json-parse-C6tSeIxX.js → .output/public/assets/json-parse-MTOUHjU0.js} +2 -1
- package/web/{dist/assets/kanban-definition-6JOO6SKY-8ACmDHsl.js → .output/public/assets/kanban-definition-6JOO6SKY-CWSQfP5S.js} +1 -1
- package/web/{dist/assets/line-BqZCcbso.js → .output/public/assets/line-DrNncrSe.js} +1 -1
- package/web/{dist/assets/linear-CXf5Bx3D.js → .output/public/assets/linear-BwflsB10.js} +1 -1
- package/web/{dist/assets/mermaid-parser.core-C8ylgsWV.js → .output/public/assets/mermaid-parser.core-DMxe11ol.js} +2 -2
- package/web/{dist/assets/mermaid.core-BHCT6V24.js → .output/public/assets/mermaid.core-CzgDa8OF.js} +3 -3
- package/web/{dist/assets/mindmap-definition-QFDTVHPH-DrDAZL9Q.js → .output/public/assets/mindmap-definition-QFDTVHPH-D-lNkDnE.js} +1 -1
- package/web/.output/public/assets/mistral-Ba31w8rV.js +69 -0
- package/web/.output/public/assets/openai-codex-responses-X5oqdT0v.js +7 -0
- package/web/.output/public/assets/openai-completions-DYxG7eWy.js +5 -0
- package/web/.output/public/assets/openai-prompt-cache-9tCK10l1.js +1 -0
- package/web/{dist/assets/openai-realtime-BCZmIToJ.js → .output/public/assets/openai-realtime-D1gbzEEc.js} +1 -1
- package/web/.output/public/assets/openai-responses-BzceW3eb.js +1 -0
- package/web/.output/public/assets/openai-responses-shared-B9_LiyEY.js +12 -0
- package/web/{dist/assets/openai-tts-BRg2goic.js → .output/public/assets/openai-tts-DG5Ys3k9.js} +1 -1
- package/web/.output/public/assets/openrouter-C9VgLw1K.js +1 -0
- package/web/{dist/assets/ordinal-CHOvK70a.js → .output/public/assets/ordinal-Cw77dVkR.js} +1 -1
- package/web/.output/public/assets/ort-wasm-simd-threaded.jsep-B0T3yYHD.wasm +0 -0
- package/web/.output/public/assets/p-retry-mEzMPax9.js +1 -0
- package/web/.output/public/assets/packet-4T2RLAQJ-D2x4nN0-.js +1 -0
- package/web/.output/public/assets/pdf.worker.min-Cpi8b8z3.mjs +28 -0
- package/web/.output/public/assets/pie-ZZUOXDRM-kWPr2BJV.js +1 -0
- package/web/{dist/assets/pieDiagram-DEJITSTG-CSnulv9o.js → .output/public/assets/pieDiagram-DEJITSTG-C7FwzQS5.js} +1 -1
- package/web/.output/public/assets/preload-helper-DSXbuxSR.js +1 -0
- package/web/{dist/assets/quadrantDiagram-34T5L4WZ-DiM-1bw4.js → .output/public/assets/quadrantDiagram-34T5L4WZ-CY7HoVD8.js} +1 -1
- package/web/.output/public/assets/radar-PYXPWWZC-C95fU_MN.js +1 -0
- package/web/{dist/assets/reduce-r7gP4wdg.js → .output/public/assets/reduce-DQIdC_mC.js} +1 -1
- package/web/{dist/assets/renderer-BHoCfdWO-BFpsm4dw.js → .output/public/assets/renderer-BHoCfdWO-COcEnbx-.js} +1 -1
- package/web/{dist/assets/requirementDiagram-MS252O5E-CunJUnIN.js → .output/public/assets/requirementDiagram-MS252O5E-paEmPBuX.js} +1 -1
- package/web/.output/public/assets/sanitize-unicode-BD2XKRoV.js +1 -0
- package/web/{dist/assets/sankeyDiagram-XADWPNL6-DaA_56zq.js → .output/public/assets/sankeyDiagram-XADWPNL6-Ext_g4Ox.js} +1 -1
- package/web/{dist/assets/sequenceDiagram-FGHM5R23-CG_SeqVO.js → .output/public/assets/sequenceDiagram-FGHM5R23-CTLnxFUj.js} +1 -1
- package/web/{dist/assets/speech-ZNExxXBR.js → .output/public/assets/speech-D3C-KRDP.js} +2 -2
- package/web/{dist/assets/src-BfaOho0B.js → .output/public/assets/src-BOZISNbw.js} +1 -1
- package/web/{dist/assets/stateDiagram-FHFEXIEX-CSUigMtP.js → .output/public/assets/stateDiagram-FHFEXIEX-B3an23Pn.js} +1 -1
- package/web/.output/public/assets/stateDiagram-v2-QKLJ7IA2-D_cYSwJU.js +1 -0
- package/web/{dist/assets/supertonic-hDdNdgtO.js → .output/public/assets/supertonic-DzwILFbx.js} +2 -2
- package/web/{dist/assets/time-DaCo2z7n.js → .output/public/assets/time-HnfVL2-O.js} +1 -1
- package/web/{dist/assets/timeline-definition-GMOUNBTQ-DcMiH-gG.js → .output/public/assets/timeline-definition-GMOUNBTQ-D_chE-0s.js} +1 -1
- package/web/.output/public/assets/transform-messages-BQ4ruKay.js +1 -0
- package/web/{dist/assets/transformers.web-R9eWI1xg.js → .output/public/assets/transformers.web-Bopumv3I.js} +1 -1
- package/web/.output/public/assets/treeView-SZITEDCU-BaJsJYGU.js +1 -0
- package/web/.output/public/assets/treemap-W4RFUUIX-CZyrM93a.js +1 -0
- package/web/{dist/assets/vennDiagram-DHZGUBPP-C6A75Q3q.js → .output/public/assets/vennDiagram-DHZGUBPP-CVDiEdUR.js} +1 -1
- package/web/.output/public/assets/wardley-RL74JXVD-CF0AcTcr.js +1 -0
- package/web/{dist/assets/wardleyDiagram-NUSXRM2D-XmYD0oYm.js → .output/public/assets/wardleyDiagram-NUSXRM2D-CroPrw7r.js} +1 -1
- package/web/.output/public/assets/web-CVLwkmjx.js +10 -0
- package/web/{dist/assets/xychartDiagram-5P7HB3ND-BgSoKcS9.js → .output/public/assets/xychartDiagram-5P7HB3ND-C0_hkOEJ.js} +1 -1
- package/web/.output/public/assets/zodToJsonSchema-CS8B3iBY.js +3 -0
- package/web/.output/public/favicon.svg +10 -0
- package/web/.output/public/index.html +118 -0
- package/web/.output/public/keating-metaharness.pdf +10557 -3
- package/web/.output/public/llms.txt +44 -0
- package/web/.output/public/logo.png +0 -0
- package/web/.output/public/manifest.webmanifest +1 -0
- package/web/.output/public/og-image.png +0 -0
- package/web/.output/public/pwa-192x192.svg +10 -0
- package/web/.output/public/pwa-512x512.svg +10 -0
- package/web/.output/public/registerSW.js +1 -0
- package/web/.output/public/robots.txt +8 -0
- package/web/.output/public/sitemap.xml +39 -0
- package/web/.output/public/sw.js +665 -0
- package/web/.output/public/tapes/doctor.mp4 +0 -0
- package/web/.output/public/tapes/feedback-flow.mp4 +0 -0
- package/web/.output/public/tapes/improve-flow.mp4 +0 -0
- package/web/.output/public/tapes/intro.mp4 +0 -0
- package/web/.output/public/tapes/learning-flow.mp4 +0 -0
- package/web/.output/public/tapes/session-flow.mp4 +0 -0
- package/web/.output/public/tapes/teacher-flow.mp4 +0 -0
- package/web/.output/public/tapes/tests.mp4 +0 -0
- package/web/.output/public/workbox-2ae722a1.js +4390 -0
- package/web/.output/server/_chunks/renderer-template.mjs +10 -0
- package/web/.output/server/_libs/h3+rou3+srvx.mjs +1383 -0
- package/web/.output/server/_libs/hookable.mjs +41 -0
- package/web/.output/server/_libs/ufo.mjs +64 -0
- package/web/.output/server/index.mjs +2095 -0
- package/web/dist/assets/_baseFor-B4pl5CmD.js +1 -0
- package/web/dist/assets/anthropic-D8J8em9_.js +39 -0
- package/web/dist/assets/arc-oTgBOc9h.js +1 -0
- package/web/dist/assets/architecture-YZFGNWBL-DZ_Ec0kf.js +1 -0
- package/web/dist/assets/architectureDiagram-Q4EWVU46-BkX3k5GJ.js +36 -0
- package/web/dist/assets/array-DKReyB4R.js +1 -0
- package/web/dist/assets/azure-openai-responses-BllE29wk.js +1 -0
- package/web/dist/assets/band-w5KgYWOj.js +1 -0
- package/web/dist/assets/blockDiagram-DXYQGD6D-DQcL9Ujg.js +132 -0
- package/web/dist/assets/c4Diagram-AHTNJAMY-D-IePZqI.js +10 -0
- package/web/dist/assets/channel-CYyKOAtV.js +1 -0
- package/web/dist/assets/chunk-2KRD3SAO-B6zL3K_-.js +1 -0
- package/web/dist/assets/chunk-336JU56O-c7e9XQL0.js +2 -0
- package/web/dist/assets/chunk-426QAEUC-BjSoaXb2.js +1 -0
- package/web/dist/assets/chunk-4BX2VUAB-C-QwaF8o.js +1 -0
- package/web/dist/assets/chunk-4TB4RGXK-BPHoxzPs.js +206 -0
- package/web/dist/assets/chunk-55IACEB6-B1zv33Gi.js +1 -0
- package/web/dist/assets/chunk-5FUZZQ4R-Ca04rGKU.js +62 -0
- package/web/dist/assets/chunk-5PVQY5BW-B-37rcM6.js +2 -0
- package/web/dist/assets/chunk-67CJDMHE-HdGQv4Jx.js +1 -0
- package/web/dist/assets/chunk-7N4EOEYR-DqXAO0Gi.js +1 -0
- package/web/dist/assets/chunk-AA7GKIK3-DDm8EH48.js +1 -0
- package/web/dist/assets/chunk-BSJP7CBP-c6iSgQvG.js +1 -0
- package/web/dist/assets/chunk-CIAEETIT-CJ1fnWwS.js +1 -0
- package/web/dist/assets/chunk-EDXVE4YY-BAD3qlf8.js +1 -0
- package/web/dist/assets/chunk-ENJZ2VHE-CygEaEHK.js +10 -0
- package/web/dist/assets/chunk-FMBD7UC4-DtK74FNN.js +15 -0
- package/web/dist/assets/chunk-FOC6F5B3-B1tJYVCE.js +1 -0
- package/web/dist/assets/chunk-ICPOFSXX-Cx8pjnoR.js +123 -0
- package/web/dist/assets/chunk-K5T4RW27-BwFJlMGX.js +94 -0
- package/web/dist/assets/chunk-KGLVRYIC-mZuEP_SX.js +1 -0
- package/web/dist/assets/chunk-LIHQZDEY-kAIrsC_z.js +1 -0
- package/web/dist/assets/chunk-ORNJ4GCN-B5sPpxPr.js +1 -0
- package/web/dist/assets/chunk-OYMX7WX6-793CQBwp.js +231 -0
- package/web/dist/assets/chunk-QZHKN3VN-BeLnIYwL.js +1 -0
- package/web/dist/assets/chunk-U2HBQHQK-ffKeXnV6.js +70 -0
- package/web/dist/assets/chunk-X2U36JSP-DntoY71A.js +1 -0
- package/web/dist/assets/chunk-XPW4576I-DuNk6l5T.js +32 -0
- package/web/dist/assets/chunk-YZCP3GAM-C6cD67UW.js +1 -0
- package/web/dist/assets/chunk-ZZ45TVLE-C-NXiDgG.js +1 -0
- package/web/dist/assets/classDiagram-6PBFFD2Q-B0p5BvS5.js +1 -0
- package/web/dist/assets/classDiagram-v2-HSJHXN6E-CNV1kogp.js +1 -0
- package/web/dist/assets/clone-t_jPG6Vp.js +1 -0
- package/web/dist/assets/cose-bilkent-S5V4N54A-B_r8CGOq.js +1 -0
- package/web/dist/assets/custom-tts-6caJdeJH.js +1 -0
- package/web/dist/assets/cytoscape.esm-CIAhqqev.js +321 -0
- package/web/dist/assets/dagre-B6LvKZOC.js +1 -0
- package/web/dist/assets/dagre-KV5264BT-kmbpW2Qa.js +4 -0
- package/web/dist/assets/defaultLocale-CzQOUpbn.js +1 -0
- package/web/dist/assets/diagnostics-Dir03GES.js +1 -0
- package/web/dist/assets/diagram-5BDNPKRD-jScdzoma.js +10 -0
- package/web/dist/assets/diagram-G4DWMVQ6-DpX26eSz.js +24 -0
- package/web/dist/assets/diagram-MMDJMWI5-C9dVTkG7.js +43 -0
- package/web/dist/assets/diagram-TYMM5635-DRTAOPO-.js +24 -0
- package/web/dist/assets/dist-DzRHszr6.js +1 -0
- package/web/dist/assets/dist-mae6wHLp.js +10 -0
- package/web/dist/assets/env-api-keys-7u9jMM5_.js +1 -0
- package/web/dist/assets/erDiagram-SMLLAGMA-Coj28jXq.js +85 -0
- package/web/dist/assets/event-stream-DcqAlaOm.js +1 -0
- package/web/dist/assets/flatten-U6HPKYck.js +1 -0
- package/web/dist/assets/flowDiagram-DWJPFMVM-CrvcpZkH.js +162 -0
- package/web/dist/assets/ganttDiagram-T4ZO3ILL-C_IKmfo1.js +292 -0
- package/web/dist/assets/gemini-live-yGyuxMZL.js +2 -0
- package/web/dist/assets/gitGraph-7Q5UKJZL-CqSUwktU.js +1 -0
- package/web/dist/assets/gitGraphDiagram-UUTBAWPF-BI4Z-mQ2.js +106 -0
- package/web/dist/assets/github-copilot-headers-B6Fvsk-Y.js +1 -0
- package/web/dist/assets/google-Nkegp1GZ.js +1 -0
- package/web/dist/assets/google-shared-DGeOO0KQ.js +11 -0
- package/web/dist/assets/google-vertex-g5NuaSdk.js +1 -0
- package/web/dist/assets/graphlib-5VtJ2oig.js +1 -0
- package/web/dist/assets/hash-K0cSe8jy.js +1 -0
- package/web/dist/assets/headers-DkHU-pcw.js +1 -0
- package/web/dist/assets/index-BqQW1iWw.js +3219 -0
- package/web/dist/assets/index-CGn8E70R.css +2 -0
- package/web/dist/assets/info-OMHHGYJF-CuBqqD0E.js +1 -0
- package/web/dist/assets/infoDiagram-42DDH7IO-DJwPib2w.js +2 -0
- package/web/dist/assets/init-BPUAOWDF.js +1 -0
- package/web/dist/assets/isEmpty-Bz-lCaCA.js +1 -0
- package/web/dist/assets/ishikawaDiagram-UXIWVN3A-Bm0Zg0-C.js +70 -0
- package/web/dist/assets/journeyDiagram-VCZTEJTY-7KIiN_Ei.js +139 -0
- package/web/dist/assets/json-parse-MTOUHjU0.js +3 -0
- package/web/dist/assets/kanban-definition-6JOO6SKY-CWSQfP5S.js +89 -0
- package/web/dist/assets/katex-C_VFEy8p.js +265 -0
- package/web/dist/assets/line-DrNncrSe.js +1 -0
- package/web/dist/assets/linear-BwflsB10.js +1 -0
- package/web/dist/assets/math-CqsWNv0u.js +1 -0
- package/web/dist/assets/mermaid-parser.core-DMxe11ol.js +4 -0
- package/web/dist/assets/mermaid.core-CzgDa8OF.js +11 -0
- package/web/dist/assets/mindmap-definition-QFDTVHPH-D-lNkDnE.js +96 -0
- package/web/dist/assets/mistral-Ba31w8rV.js +69 -0
- package/web/dist/assets/openai-DAtqabcb.js +16 -0
- package/web/dist/assets/openai-codex-responses-X5oqdT0v.js +7 -0
- package/web/dist/assets/openai-completions-DYxG7eWy.js +5 -0
- package/web/dist/assets/openai-prompt-cache-9tCK10l1.js +1 -0
- package/web/dist/assets/openai-realtime-D1gbzEEc.js +1 -0
- package/web/dist/assets/openai-responses-BzceW3eb.js +1 -0
- package/web/dist/assets/openai-responses-shared-B9_LiyEY.js +12 -0
- package/web/dist/assets/openai-tts-DG5Ys3k9.js +1 -0
- package/web/dist/assets/openrouter-C9VgLw1K.js +1 -0
- package/web/dist/assets/ordinal-Cw77dVkR.js +1 -0
- package/web/dist/assets/ort.bundle.min-CE4lKfUe.js +2805 -0
- package/web/dist/assets/p-retry-mEzMPax9.js +1 -0
- package/web/dist/assets/packet-4T2RLAQJ-D2x4nN0-.js +1 -0
- package/web/dist/assets/path-DceIr1s7.js +1 -0
- package/web/dist/assets/pie-ZZUOXDRM-kWPr2BJV.js +1 -0
- package/web/dist/assets/pieDiagram-DEJITSTG-C7FwzQS5.js +30 -0
- package/web/dist/assets/quadrantDiagram-34T5L4WZ-CY7HoVD8.js +7 -0
- package/web/dist/assets/radar-PYXPWWZC-C95fU_MN.js +1 -0
- package/web/dist/assets/reduce-DQIdC_mC.js +1 -0
- package/web/dist/assets/renderer-BHoCfdWO-COcEnbx-.js +1 -0
- package/web/dist/assets/requirementDiagram-MS252O5E-paEmPBuX.js +84 -0
- package/web/dist/assets/rough.esm-zabqYs6f.js +1 -0
- package/web/dist/assets/sanitize-unicode-BD2XKRoV.js +1 -0
- package/web/dist/assets/sankeyDiagram-XADWPNL6-Ext_g4Ox.js +10 -0
- package/web/dist/assets/sequenceDiagram-FGHM5R23-CTLnxFUj.js +157 -0
- package/web/dist/assets/speech-D3C-KRDP.js +2 -0
- package/web/dist/assets/src-BOZISNbw.js +1 -0
- package/web/dist/assets/state-CrA0YVPh-CbRahjhd.js +27 -0
- package/web/dist/assets/stateDiagram-FHFEXIEX-B3an23Pn.js +1 -0
- package/web/dist/assets/stateDiagram-v2-QKLJ7IA2-D_cYSwJU.js +1 -0
- package/web/dist/assets/step-Dm9As71j.js +1 -0
- package/web/dist/assets/string-DAtruGuJ.js +1 -0
- package/web/dist/assets/supertonic-DzwILFbx.js +2 -0
- package/web/dist/assets/time-HnfVL2-O.js +1 -0
- package/web/dist/assets/timeline-definition-GMOUNBTQ-D_chE-0s.js +120 -0
- package/web/dist/assets/transform-messages-BQ4ruKay.js +1 -0
- package/web/dist/assets/transformers.web-Bopumv3I.js +14 -0
- package/web/dist/assets/treeView-SZITEDCU-BaJsJYGU.js +1 -0
- package/web/dist/assets/treemap-W4RFUUIX-CZyrM93a.js +1 -0
- package/web/dist/assets/vennDiagram-DHZGUBPP-CVDiEdUR.js +34 -0
- package/web/dist/assets/wardley-RL74JXVD-CF0AcTcr.js +1 -0
- package/web/dist/assets/wardleyDiagram-NUSXRM2D-CroPrw7r.js +20 -0
- package/web/dist/assets/web-CVLwkmjx.js +10 -0
- package/web/dist/assets/xychartDiagram-5P7HB3ND-C0_hkOEJ.js +7 -0
- package/web/dist/assets/zodToJsonSchema-CS8B3iBY.js +3 -0
- package/web/dist/index.html +20 -19
- package/web/dist/sw.js +148 -130
- package/web/dist/assets/anthropic-mDOoXVZn.js +0 -36
- package/web/dist/assets/architecture-YZFGNWBL-MLoSDt-a.js +0 -1
- package/web/dist/assets/azure-openai-responses-lDjfaDoj.js +0 -1
- package/web/dist/assets/channel-BumC_1wb.js +0 -1
- package/web/dist/assets/chunk-426QAEUC-AjoT_j_q.js +0 -1
- package/web/dist/assets/chunk-QZHKN3VN-X2zPgEFk.js +0 -1
- package/web/dist/assets/classDiagram-6PBFFD2Q-qESk_xyE.js +0 -1
- package/web/dist/assets/classDiagram-v2-HSJHXN6E-BM1nmtfm.js +0 -1
- package/web/dist/assets/clone-CVy2b825.js +0 -1
- package/web/dist/assets/env-api-keys-BNlMKqxw.js +0 -1
- package/web/dist/assets/event-stream-D33K9rpL.js +0 -1
- package/web/dist/assets/gemini-live-dK40vCc5.js +0 -2
- package/web/dist/assets/gitGraph-7Q5UKJZL-Cy0KloCM.js +0 -1
- package/web/dist/assets/github-copilot-headers-BuUn5v2j.js +0 -1
- package/web/dist/assets/google-BdS4iTyC.js +0 -1
- package/web/dist/assets/google-gemini-cli-ECA0sP3z.js +0 -2
- package/web/dist/assets/google-shared-DFv4ubOG.js +0 -2
- package/web/dist/assets/google-vertex-Duei77qD.js +0 -1
- package/web/dist/assets/index-C_k9n6xi.css +0 -2
- package/web/dist/assets/info-OMHHGYJF-DiTlPM51.js +0 -1
- package/web/dist/assets/mistral-BCIirCkW.js +0 -7
- package/web/dist/assets/openai-codex-responses-BgRTWVD_.js +0 -7
- package/web/dist/assets/openai-completions-D5AUQEua.js +0 -5
- package/web/dist/assets/openai-responses-CTlQ1a-G.js +0 -1
- package/web/dist/assets/openai-responses-shared-CLzQyVyy.js +0 -10
- package/web/dist/assets/packet-4T2RLAQJ-EXgAtQjm.js +0 -1
- package/web/dist/assets/pie-ZZUOXDRM-dKU8mzlj.js +0 -1
- package/web/dist/assets/radar-PYXPWWZC-B4d2wh2H.js +0 -1
- package/web/dist/assets/stateDiagram-v2-QKLJ7IA2-CgpYzp7D.js +0 -1
- package/web/dist/assets/transform-messages-DXDWLrnO.js +0 -1
- package/web/dist/assets/treeView-SZITEDCU-V29H5f16.js +0 -1
- package/web/dist/assets/treemap-W4RFUUIX-DsAU74TP.js +0 -1
- package/web/dist/assets/wardley-RL74JXVD-lGAI4Cps.js +0 -1
- package/web/dist/assets/web-jLdm8a1-.js +0 -10
- /package/web/{dist/assets/_baseFor-2QgQJAzW.js → .output/public/assets/_baseFor-B4pl5CmD.js} +0 -0
- /package/web/{dist/assets/array-B4O_ir3H.js → .output/public/assets/array-DKReyB4R.js} +0 -0
- /package/web/{dist/assets/cytoscape.esm-CdzdaUMP.js → .output/public/assets/cytoscape.esm-CIAhqqev.js} +0 -0
- /package/web/{dist/assets/defaultLocale-Bhb3osZR.js → .output/public/assets/defaultLocale-CzQOUpbn.js} +0 -0
- /package/web/{dist/assets/dist-DQ41Rxbw.js → .output/public/assets/dist-DzRHszr6.js} +0 -0
- /package/web/{dist/assets/hash-CQjDwcjR.js → .output/public/assets/hash-K0cSe8jy.js} +0 -0
- /package/web/{dist/assets/init-DugVGdkd.js → .output/public/assets/init-BPUAOWDF.js} +0 -0
- /package/web/{dist/assets/katex-CyM-5LlM.js → .output/public/assets/katex-C_VFEy8p.js} +0 -0
- /package/web/{dist/assets/math-Csj_9zpx.js → .output/public/assets/math-CqsWNv0u.js} +0 -0
- /package/web/{dist/assets/openai-CRGaNv9i.js → .output/public/assets/openai-DAtqabcb.js} +0 -0
- /package/web/{dist/assets/ort.bundle.min-Drf2fDrC.js → .output/public/assets/ort.bundle.min-CE4lKfUe.js} +0 -0
- /package/web/{dist/assets/path-BVVvcbiy.js → .output/public/assets/path-DceIr1s7.js} +0 -0
- /package/web/{dist/assets/rough.esm-D5NinLFK.js → .output/public/assets/rough.esm-zabqYs6f.js} +0 -0
- /package/web/{dist/assets/state-CrA0YVPh-wJ4Rmm6M.js → .output/public/assets/state-CrA0YVPh-CbRahjhd.js} +0 -0
- /package/web/{dist/assets/step-qalMyYGy.js → .output/public/assets/step-Dm9As71j.js} +0 -0
- /package/web/{dist/assets/string-DPssBiak.js → .output/public/assets/string-DAtruGuJ.js} +0 -0
|
@@ -2,6 +2,7 @@ import { Prng } from "./random.js";
|
|
|
2
2
|
import { benchmarkTopics } from "./topics.js";
|
|
3
3
|
import { clamp, mean } from "./util.js";
|
|
4
4
|
import { DEFAULT_WEIGHTS, clampWeights } from "./policy.js";
|
|
5
|
+
import { piCompleteJson } from "./pi-agent.js";
|
|
5
6
|
function buildLearnerPopulation(seed, count) {
|
|
6
7
|
const prng = new Prng(seed);
|
|
7
8
|
const learners = [];
|
|
@@ -20,7 +21,6 @@ function buildLearnerPopulation(seed, count) {
|
|
|
20
21
|
}
|
|
21
22
|
return learners;
|
|
22
23
|
}
|
|
23
|
-
import { piCompleteJson } from "./pi-agent.js";
|
|
24
24
|
export async function simulateTeaching(cwd, policy, topic, learner, weights = DEFAULT_WEIGHTS) {
|
|
25
25
|
// Use pure math to calculate initial constraints as baseline context
|
|
26
26
|
const intuitionFit = 1 - Math.abs(policy.analogyDensity - learner.analogyNeed);
|
|
@@ -38,6 +38,41 @@ export async function simulateTeaching(cwd, policy, topic, learner, weights = DE
|
|
|
38
38
|
learner.persistence * 0.2 +
|
|
39
39
|
learner.anxiety * 0.25 -
|
|
40
40
|
learner.priorKnowledge * 0.15);
|
|
41
|
+
const deterministicBaseline = () => {
|
|
42
|
+
const masteryGain = clamp(0.14 + intuitionFit * 0.18 + rigorFit * 0.2 + dialogueFit * 0.12 + diagramFit * 0.09 + practiceFit * 0.12 + (1 - overload) * 0.18);
|
|
43
|
+
const retention = clamp(masteryGain * (0.55 + policy.retrievalPractice * 0.45));
|
|
44
|
+
const engagement = clamp(0.12 + intuitionFit * 0.16 + dialogueFit * 0.16 + diagramFit * 0.1 + reflectionFit * 0.14 + (1 - overload) * 0.18);
|
|
45
|
+
const transfer = clamp(masteryGain * (0.55 + policy.interdisciplinaryBias * 0.25 + learner.transferDesire * 0.2));
|
|
46
|
+
const confusion = clamp(0.04 + overload * 0.55 + Math.abs(policy.formalism - learner.abstractionComfort) * 0.18 + Math.abs(policy.challengeRate - learner.persistence) * 0.12);
|
|
47
|
+
const score = clamp(masteryGain * weights.masteryGain +
|
|
48
|
+
retention * weights.retention +
|
|
49
|
+
engagement * weights.engagement +
|
|
50
|
+
transfer * weights.transfer -
|
|
51
|
+
confusion * weights.confusion, 0, 1);
|
|
52
|
+
return {
|
|
53
|
+
learner,
|
|
54
|
+
topic,
|
|
55
|
+
masteryGain,
|
|
56
|
+
retention,
|
|
57
|
+
engagement,
|
|
58
|
+
transfer,
|
|
59
|
+
confusion,
|
|
60
|
+
score,
|
|
61
|
+
breakdown: {
|
|
62
|
+
intuitionFit,
|
|
63
|
+
rigorFit,
|
|
64
|
+
dialogueFit,
|
|
65
|
+
diagramFit,
|
|
66
|
+
practiceFit,
|
|
67
|
+
reflectionFit,
|
|
68
|
+
overload
|
|
69
|
+
},
|
|
70
|
+
explanation: ["Deterministic algebraic baseline."]
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
if (process.env.KEATING_LLM_BENCHMARK !== "1") {
|
|
74
|
+
return deterministicBaseline();
|
|
75
|
+
}
|
|
41
76
|
const prompt = `Simulate an educational interaction based on the following context.
|
|
42
77
|
Teacher Policy: ${JSON.stringify(policy, null, 2)}
|
|
43
78
|
Topic: ${topic.title} (${topic.domain}) - ${topic.summary}
|
|
@@ -83,36 +118,7 @@ Respond ONLY as a JSON matching:
|
|
|
83
118
|
}
|
|
84
119
|
catch (error) {
|
|
85
120
|
console.error("LLM simulation failed, falling back to algebraic baseline", error);
|
|
86
|
-
|
|
87
|
-
const retention = clamp(masteryGain * (0.55 + policy.retrievalPractice * 0.45));
|
|
88
|
-
const engagement = clamp(0.12 + intuitionFit * 0.16 + dialogueFit * 0.16 + diagramFit * 0.1 + reflectionFit * 0.14 + (1 - overload) * 0.18);
|
|
89
|
-
const transfer = clamp(masteryGain * (0.55 + policy.interdisciplinaryBias * 0.25 + learner.transferDesire * 0.2));
|
|
90
|
-
const confusion = clamp(0.04 + overload * 0.55 + Math.abs(policy.formalism - learner.abstractionComfort) * 0.18 + Math.abs(policy.challengeRate - learner.persistence) * 0.12);
|
|
91
|
-
const score = clamp(masteryGain * weights.masteryGain +
|
|
92
|
-
retention * weights.retention +
|
|
93
|
-
engagement * weights.engagement +
|
|
94
|
-
transfer * weights.transfer -
|
|
95
|
-
confusion * weights.confusion, 0, 1);
|
|
96
|
-
return {
|
|
97
|
-
learner,
|
|
98
|
-
topic,
|
|
99
|
-
masteryGain,
|
|
100
|
-
retention,
|
|
101
|
-
engagement,
|
|
102
|
-
transfer,
|
|
103
|
-
confusion,
|
|
104
|
-
score,
|
|
105
|
-
breakdown: {
|
|
106
|
-
intuitionFit,
|
|
107
|
-
rigorFit,
|
|
108
|
-
dialogueFit,
|
|
109
|
-
diagramFit,
|
|
110
|
-
practiceFit,
|
|
111
|
-
reflectionFit,
|
|
112
|
-
overload
|
|
113
|
-
},
|
|
114
|
-
explanation: ["Fallback deterministic explanation."]
|
|
115
|
-
};
|
|
121
|
+
return deterministicBaseline();
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
function classifyDominantSignal(simulations, kind) {
|
|
@@ -10,7 +10,7 @@ export async function piComplete(cwd, prompt, options = {}) {
|
|
|
10
10
|
const config = await loadKeatingConfig(cwd);
|
|
11
11
|
const runtime = await detectAiRuntime(cwd);
|
|
12
12
|
if (!runtime.selected) {
|
|
13
|
-
throw new Error("No AI runtime found. Install `pi` with `npm install -g @
|
|
13
|
+
throw new Error("No AI runtime found. Install `pi` with `npm install -g @earendil-works/pi-coding-agent`, or reinstall Keating so its embedded runtime dependency is present.");
|
|
14
14
|
}
|
|
15
15
|
const args = ["-p", "--no-session", "--no-tools", "--no-extensions", "--no-skills"];
|
|
16
16
|
if (options.systemPrompt) {
|
|
@@ -7,14 +7,40 @@ import { loadKeatingConfig } from "../core/config.js";
|
|
|
7
7
|
import { shellCommandSections } from "../core/commands.js";
|
|
8
8
|
import { KEATING_VOICE_TOOL_NAME, VOICE_TAGS, normalizeVoiceUtterance, speechStrategySummary, voiceTagLine } from "../core/speech.js";
|
|
9
9
|
import { KEATING_ASCII_LOGO, KEATING_SUBTITLE_LINES } from "../core/terminal.js";
|
|
10
|
-
const KEATING_VERSION = "0.3.
|
|
10
|
+
const KEATING_VERSION = "0.3.10";
|
|
11
11
|
const ANSI_RE = /\x1b\[[0-9;]*[a-zA-Z]/g;
|
|
12
12
|
function visibleWidth(text) {
|
|
13
13
|
return text.replace(ANSI_RE, "").length;
|
|
14
14
|
}
|
|
15
|
+
function truncateVisible(text, width) {
|
|
16
|
+
const limit = Math.max(0, width);
|
|
17
|
+
if (visibleWidth(text) <= limit)
|
|
18
|
+
return text;
|
|
19
|
+
if (limit === 0)
|
|
20
|
+
return "";
|
|
21
|
+
const suffix = limit > 1 ? "…" : "";
|
|
22
|
+
const contentLimit = Math.max(0, limit - visibleWidth(suffix));
|
|
23
|
+
let visible = 0;
|
|
24
|
+
let output = "";
|
|
25
|
+
for (let index = 0; index < text.length;) {
|
|
26
|
+
const ansi = text.slice(index).match(/^\x1b\[[0-9;]*[a-zA-Z]/);
|
|
27
|
+
if (ansi) {
|
|
28
|
+
output += ansi[0];
|
|
29
|
+
index += ansi[0].length;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (visible >= contentLimit)
|
|
33
|
+
break;
|
|
34
|
+
output += text[index];
|
|
35
|
+
visible += 1;
|
|
36
|
+
index += 1;
|
|
37
|
+
}
|
|
38
|
+
return `${output}${suffix}`;
|
|
39
|
+
}
|
|
15
40
|
function padVisible(text, width) {
|
|
16
|
-
const
|
|
17
|
-
|
|
41
|
+
const fitted = truncateVisible(text, width);
|
|
42
|
+
const vw = visibleWidth(fitted);
|
|
43
|
+
return vw >= width ? fitted : fitted + " ".repeat(width - vw);
|
|
18
44
|
}
|
|
19
45
|
function truncatePlain(text, width) {
|
|
20
46
|
if (text.length <= width)
|
|
@@ -101,7 +127,7 @@ function topicFromArgs(args) {
|
|
|
101
127
|
function info(ctx, message) {
|
|
102
128
|
ctx.ui.notify(message, "info");
|
|
103
129
|
}
|
|
104
|
-
function createKeatingHeaderComponent(pi, ctx) {
|
|
130
|
+
export function createKeatingHeaderComponent(pi, ctx) {
|
|
105
131
|
const sections = shellCommandSections();
|
|
106
132
|
const commandCount = sections.reduce((sum, section) => sum + section.commands.length, 0);
|
|
107
133
|
return (_tui, theme) => {
|
package/dist/src/runtime/pi.js
CHANGED
|
@@ -23,7 +23,7 @@ function missingRuntimeMessage(report) {
|
|
|
23
23
|
"Keating is configured for standalone-only but no `pi` AI agent binary was found on PATH.",
|
|
24
24
|
"",
|
|
25
25
|
"Recover with one of:",
|
|
26
|
-
" npm install -g @
|
|
26
|
+
" npm install -g @earendil-works/pi-coding-agent",
|
|
27
27
|
" keating setup",
|
|
28
28
|
" edit keating.config.json and set pi.runtimePreference to prefer-standalone"
|
|
29
29
|
].join("\n");
|
|
@@ -33,7 +33,7 @@ function missingRuntimeMessage(report) {
|
|
|
33
33
|
"Keating is configured for embedded-only but no embedded AI agent was found.",
|
|
34
34
|
"",
|
|
35
35
|
"Recover with one of:",
|
|
36
|
-
" npm install -g @
|
|
36
|
+
" npm install -g @earendil-works/pi-coding-agent",
|
|
37
37
|
" keating setup",
|
|
38
38
|
" npm install -g keating"
|
|
39
39
|
].join("\n");
|
|
@@ -42,7 +42,7 @@ function missingRuntimeMessage(report) {
|
|
|
42
42
|
"Could not find an AI runtime.",
|
|
43
43
|
"",
|
|
44
44
|
"Recover with one of:",
|
|
45
|
-
" npm install -g @
|
|
45
|
+
" npm install -g @earendil-works/pi-coding-agent",
|
|
46
46
|
" npm install -g keating",
|
|
47
47
|
" curl -fsSL https://raw.githubusercontent.com/Diogenesoftoronto/keating/main/scripts/install/install.sh | bash"
|
|
48
48
|
].join("\n");
|
|
@@ -62,6 +62,7 @@ function resolveStandaloneAgent() {
|
|
|
62
62
|
return null;
|
|
63
63
|
}
|
|
64
64
|
const CLI_AGENT_PACKAGES = [
|
|
65
|
+
["@earendil-works", "pi-coding-agent"],
|
|
65
66
|
["@interleavelove", "keating-coding-agent"],
|
|
66
67
|
["@mariozechner", "pi-coding-agent"],
|
|
67
68
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keating",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A Pi-powered hyperteacher package with self-improving teaching policies, lesson maps, and animated visual teaching artifacts.",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
"pi/",
|
|
35
35
|
"scripts/install/",
|
|
36
36
|
"SYSTEM.md",
|
|
37
|
-
"web/dist/"
|
|
37
|
+
"web/dist/",
|
|
38
|
+
"web/.output/"
|
|
38
39
|
],
|
|
39
40
|
"pi": {
|
|
40
41
|
"extensions": [
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
"dependencies": {
|
|
57
58
|
"@ax-llm/ax": "^19.0.43",
|
|
58
59
|
"@google/generative-ai": "^0.24.1",
|
|
59
|
-
"@
|
|
60
|
+
"@earendil-works/pi-coding-agent": "^0.75.4",
|
|
60
61
|
"dotenv": "^17.4.0",
|
|
61
62
|
"h3": "^2.0.1-rc.20",
|
|
62
63
|
"ink": "^7.0.3",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"date": "2026-05-21T19:05:26.549Z",
|
|
3
|
+
"preset": "node-server",
|
|
4
|
+
"framework": {
|
|
5
|
+
"name": "nitro",
|
|
6
|
+
"version": "3.0.260311-beta"
|
|
7
|
+
},
|
|
8
|
+
"versions": {
|
|
9
|
+
"nitro": "3.0.260311-beta"
|
|
10
|
+
},
|
|
11
|
+
"serverEntry": "server/index.mjs",
|
|
12
|
+
"publicDir": "public",
|
|
13
|
+
"commands": {
|
|
14
|
+
"preview": "node ./server/index.mjs"
|
|
15
|
+
},
|
|
16
|
+
"config": {}
|
|
17
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Keating
|
|
2
|
+
|
|
3
|
+
> A Pi-powered hyperteacher scaffold designed to ensure that humans remain the authors of their own understanding. Keating uses the most advanced AI models not to provide answers, but to force the rigorous reconstruction of ideas within the learner's own identity — Socratic method, powered by silicon.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Open source (MIT), runs in the browser or CLI. Supports local inference via WebGPU (Gemma 4 E4B), cloud providers (Google, Anthropic, OpenAI), and custom endpoints (Ollama, llama.cpp, LiteLLM). Includes speech, automated lesson planning, concept maps, animations, quizzes, flashcards, benchmarked self-improvement, and a persistent engagement timeline.
|
|
8
|
+
|
|
9
|
+
## Get Started
|
|
10
|
+
|
|
11
|
+
- Website: https://keating.help
|
|
12
|
+
- GitHub: https://github.com/Diogenesoftoronto/keating
|
|
13
|
+
- Paper PDF: https://keating.help/keating-metaharness.pdf
|
|
14
|
+
- Install: https://keating.help/#install
|
|
15
|
+
|
|
16
|
+
## Documentation
|
|
17
|
+
|
|
18
|
+
- Architecture: https://github.com/Diogenesoftoronto/keating/blob/main/docs/ARCHITECTURE.md
|
|
19
|
+
- Visual Architecture: https://github.com/Diogenesoftoronto/keating/blob/main/docs/VISUAL-ARCHITECTURE.md
|
|
20
|
+
- Testing Strategy: https://github.com/Diogenesoftoronto/keating/blob/main/docs/TESTING.md
|
|
21
|
+
- Oxdraw Tutorial: https://github.com/Diogenesoftoronto/keating/blob/main/docs/OXDRAW-TUTORIAL.md
|
|
22
|
+
- Changelog: https://github.com/Diogenesoftoronto/keating/blob/main/CHANGELOG.md
|
|
23
|
+
|
|
24
|
+
## Core Prompts
|
|
25
|
+
|
|
26
|
+
- Learn workflow: https://github.com/Diogenesoftoronto/keating/blob/main/pi/prompts/learn.md
|
|
27
|
+
- Diagnose workflow: https://github.com/Diogenesoftoronto/keating/blob/main/pi/prompts/diagnose.md
|
|
28
|
+
- Quiz workflow: https://github.com/Diogenesoftoronto/keating/blob/main/pi/prompts/quiz.md
|
|
29
|
+
- Bridge workflow: https://github.com/Diogenesoftoronto/keating/blob/main/pi/prompts/bridge.md
|
|
30
|
+
- Improve workflow: https://github.com/Diogenesoftoronto/keating/blob/main/pi/prompts/improve.md
|
|
31
|
+
|
|
32
|
+
## Key Modules
|
|
33
|
+
|
|
34
|
+
- Core types and domain model: `src/core/types.ts`
|
|
35
|
+
- Teaching policy and benchmark simulation: `src/core/benchmark.ts`
|
|
36
|
+
- Policy evolution with safety gates: `src/core/evolution.ts`
|
|
37
|
+
- Prompt evolution with multi-objective selection: `src/core/prompt-evolution.ts`
|
|
38
|
+
- Lesson plan generator: `src/core/lesson-plan.ts`
|
|
39
|
+
- Animation bundle generator (manim-web): `src/core/animation.ts`
|
|
40
|
+
- Concept map generator (Mermaid / oxdraw): `src/core/map.ts`
|
|
41
|
+
- CLI shell and commands: `src/cli/main.ts`
|
|
42
|
+
- Pi extension entrypoint: `src/pi/hyperteacher-extension.ts`
|
|
43
|
+
- Web chat runtime: `web/src/hooks/useKeatingAgent.ts`
|
|
44
|
+
- Web app entry: `web/src/App.tsx`
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#6366f1"/>
|
|
5
|
+
<stop offset="100%" style="stop-color:#8b5cf6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="180" height="180" rx="32" fill="url(#grad)"/>
|
|
9
|
+
<text x="90" y="125" font-family="Georgia, serif" font-size="90" font-weight="bold" fill="white" text-anchor="middle">K</text>
|
|
10
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|