mindexec-ai 0.2.385
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/README.md +354 -0
- package/codex-runtime.js +1339 -0
- package/launch-bridge.cjs +236 -0
- package/package.json +77 -0
- package/port-guard.cjs +232 -0
- package/remote-fast/osx-arm64/mindexec-remote-fast +0 -0
- package/remote-fast/osx-arm64/mindexec-remote-fast.deps.json +24 -0
- package/remote-fast/osx-arm64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/osx-arm64/mindexec-remote-fast.runtimeconfig.json +13 -0
- package/remote-fast/osx-x64/mindexec-remote-fast +0 -0
- package/remote-fast/osx-x64/mindexec-remote-fast.deps.json +24 -0
- package/remote-fast/osx-x64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/osx-x64/mindexec-remote-fast.runtimeconfig.json +13 -0
- package/remote-fast/win-x64/mindexec-remote-fast.deps.json +24 -0
- package/remote-fast/win-x64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/win-x64/mindexec-remote-fast.exe +0 -0
- package/remote-fast/win-x64/mindexec-remote-fast.runtimeconfig.json +20 -0
- package/remote-hub.js +3106 -0
- package/scripts/auth-session-smoke.mjs +262 -0
- package/scripts/remote-agent-managed-smoke.mjs +291 -0
- package/scripts/remote-agent-package-smoke.mjs +64 -0
- package/scripts/remote-agent-ws-smoke.mjs +202 -0
- package/scripts/remote-fast-live-rate-smoke.mjs +355 -0
- package/scripts/remote-fast-mdm-browser-smoke.mjs +476 -0
- package/scripts/remote-fleet-render-smoke.mjs +1491 -0
- package/scripts/remote-frame-ws-smoke.mjs +234 -0
- package/scripts/remote-http-smoke.mjs +592 -0
- package/scripts/remote-hub-identity-smoke.mjs +146 -0
- package/scripts/remote-hub-scale-smoke.mjs +124 -0
- package/scripts/remote-hub-smoke.mjs +631 -0
- package/scripts/remote-input-ws-smoke.mjs +263 -0
- package/scripts/remote-registry-follower-smoke.mjs +752 -0
- package/scripts/setup-tree-sitter-grammars.mjs +80 -0
- package/server.js +15709 -0
- package/start-bridge.bat +32 -0
- package/start-bridge.sh +81 -0
- package/tree-sitter-grammars/README.md +18 -0
- package/tree-sitter-grammars/tree-sitter-c_sharp.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-go.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-java.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-javascript.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-python.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-rust.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-tsx.wasm +0 -0
- package/tree-sitter-grammars/tree-sitter-typescript.wasm +0 -0
- package/wwwroot/_headers +73 -0
- package/wwwroot/_redirects +1 -0
- package/wwwroot/appsettings.json +83 -0
- package/wwwroot/assets/AdminDashboardPage-B2vz2Px9.css +1 -0
- package/wwwroot/assets/AdminDashboardPage-DnuCHywn.js +1 -0
- package/wwwroot/assets/AppSidebar-DU2OgSiv.js +2 -0
- package/wwwroot/assets/AuthPages-BrH6kRcv.css +1 -0
- package/wwwroot/assets/AuthPages-Dgezl7Vj.js +1 -0
- package/wwwroot/assets/CodePage-7kgZlB3O.js +87 -0
- package/wwwroot/assets/CodePage-Bncc352E.css +1 -0
- package/wwwroot/assets/CompanyCorePage-ChBnq1ve.css +1 -0
- package/wwwroot/assets/CompanyCorePage-CzIZIIU_.js +13 -0
- package/wwwroot/assets/ExecutionModePage-B-etp_mc.js +18 -0
- package/wwwroot/assets/ExecutionModePage-TLuld9l3.css +1 -0
- package/wwwroot/assets/LaunchLeadCapture-Bx9LM0IX.js +1 -0
- package/wwwroot/assets/LaunchLeadCapture-CiRI1shz.css +1 -0
- package/wwwroot/assets/MarketingHome-BsyerRpe.js +1 -0
- package/wwwroot/assets/MarketingHome-DPzaYzA_.css +1 -0
- package/wwwroot/assets/MindCanvas-DtqOZnoW.css +1 -0
- package/wwwroot/assets/MindCanvas-zEDXzaxW.js +49 -0
- package/wwwroot/assets/PlanMasterPage-CJ36rep-.css +1 -0
- package/wwwroot/assets/PlanMasterPage-NZ_mPvaE.js +4 -0
- package/wwwroot/assets/PricingPage-Cg_0i_ZR.css +1 -0
- package/wwwroot/assets/PricingPage-Ylrn8l2g.js +1 -0
- package/wwwroot/assets/ToolPages-3M2KqA9k.js +28 -0
- package/wwwroot/assets/ToolPages-DIB187pZ.css +1 -0
- package/wwwroot/assets/YouTubeSearchPage-COv1oAA7.js +4 -0
- package/wwwroot/assets/YouTubeSearchPage-IPPa_BIH.css +1 -0
- package/wwwroot/assets/app-runtime-xD2Z3NdN.js +1 -0
- package/wwwroot/assets/canvas-runtime-BbicBcOj.js +44 -0
- package/wwwroot/assets/code-agent-runtime-B5PPZd1t.js +74 -0
- package/wwwroot/assets/executionModeSettings-NJqurj-o.js +1 -0
- package/wwwroot/assets/index-CQMKCp-t.js +2 -0
- package/wwwroot/assets/index-yNpEK-gp.css +1 -0
- package/wwwroot/assets/marketingTools-DN_rnHeB.js +4 -0
- package/wwwroot/assets/mindCanvasSearchWorker-BzPMsHOB.js +1 -0
- package/wwwroot/assets/mindexecution-mindcanvas.png +0 -0
- package/wwwroot/assets/mindexecution-prod-home-current.png +0 -0
- package/wwwroot/assets/mindexecution-prod-pricing-current.png +0 -0
- package/wwwroot/assets/pricingCheckoutShell-O-DnwmbU.js +1 -0
- package/wwwroot/assets/productionAdapterConfig-C5jfk6oG.js +1 -0
- package/wwwroot/assets/runtimeSettingsPersistenceProjection-BoNWmYjU.js +1 -0
- package/wwwroot/assets/storage-TM3YrWaj.js +1 -0
- package/wwwroot/assets/supabaseAuthAdapter-DA43DeSY.js +44 -0
- package/wwwroot/assets/toolHandoff-D5e5f7t5.js +4 -0
- package/wwwroot/assets/vendor-icons-DE3gIReG.js +681 -0
- package/wwwroot/assets/vendor-msgpack-BE8aAsr3.js +1 -0
- package/wwwroot/assets/vendor-react-BXzpOyCS.js +40 -0
- package/wwwroot/favicon.svg +7 -0
- package/wwwroot/index.html +22 -0
- package/wwwroot/manifest.webmanifest +19 -0
- package/wwwroot/robots.txt +4 -0
- package/wwwroot/service-worker.js +7 -0
- package/wwwroot/sitemap.xml +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.code-actionbook-hint{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid rgba(37,99,235,.18);border-radius:8px;color:#334155;background:#f8fbff}.code-actionbook-hint__rail{min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid rgba(37,99,235,.22);border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:10px;font-weight:900;white-space:nowrap}.code-actionbook-hint strong,.code-actionbook-hint span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis}.code-actionbook-hint strong{color:#0f172a;font-size:12px;line-height:1.3}.code-actionbook-hint span{margin-top:2px;color:#64748b;font-size:11px;line-height:1.35}.code-exploration-phase{min-width:0;display:grid;gap:8px;padding:12px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:linear-gradient(180deg,#eef2ffd1,#f8fafcf2)}.code-exploration-phase__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-exploration-phase__head span{color:#4338ca;font-size:11px;font-weight:900;text-transform:uppercase}.code-exploration-phase__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-exploration-phase__head code,.code-exploration-phase__candidates code{min-width:0;padding:4px 6px;border-radius:999px;color:#4338ca;background:#e0e7ff;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-exploration-phase p,.code-exploration-phase small,.code-exploration-phase__gap{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-exploration-phase p{color:#1e293b;font-weight:760}.code-exploration-phase__gap{padding:7px 8px;border:1px solid rgba(79,70,229,.14);border-radius:7px;background:#ffffffbd}.code-exploration-phase__candidates{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-progress-digest{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(15,118,110,.22);border-radius:8px;background:linear-gradient(180deg,#f0fdfaf5,#f8fafce6)}.code-progress-digest__head{min-width:0;display:flex;align-items:center;gap:8px}.code-progress-digest__head span{flex:0 0 auto;color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-progress-digest__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-progress-digest pre{min-width:0;max-height:220px;margin:0;overflow:auto;padding:10px;border:1px solid rgba(20,184,166,.18);border-radius:7px;color:#1e293b;background:#ffffffbd;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.5}.code-progress-digest__meta{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-progress-digest__meta code{min-width:0;padding:4px 6px;border-radius:6px;color:#0f766e;background:#ccfbf194;font-size:10px;white-space:normal;overflow-wrap:anywhere}.code-agent-mind-console{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:linear-gradient(180deg,#f8fbfffa,#ffffffeb)}.code-agent-mind-console__head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.code-agent-mind-console__head span{flex:0 0 auto;color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-mind-console__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-mind-console__metrics,.code-agent-scope-feed{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-mind-console__metrics code{min-width:0;padding:4px 7px;border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-mind-console__lines{min-width:0;display:grid;gap:5px}.code-agent-mind-console__lines p{min-width:0;margin:0;overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35}.code-agent-scope-feed span{min-width:0;display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 7px;border:1px solid rgba(203,213,225,.84);border-radius:7px;color:#475569;background:#f8fafcd1;font-size:10px;font-weight:760;white-space:normal;overflow-wrap:anywhere}.code-agent-scope-feed strong{flex:0 0 auto;color:#0f172a;font-size:9px;font-weight:950;text-transform:uppercase}.code-agent-scope-feed [data-scope-kind=decision]{border-color:#2563eb3d;color:#1e3a8a;background:#eff6ff}.code-agent-scope-feed [data-scope-kind=toolloop]{border-color:#14b8a647;color:#0f766e;background:#f0fdfa}.code-objective-kernel{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(180,83,9,.2);border-radius:8px;background:linear-gradient(180deg,#fffbebe6,#f8fafcf0)}.code-objective-kernel__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-objective-kernel__head span{color:#92400e;font-size:11px;font-weight:900;text-transform:uppercase}.code-objective-kernel__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-objective-kernel__head code,.code-objective-kernel__metrics code,.code-objective-kernel__candidates code{min-width:0;padding:4px 6px;border-radius:999px;color:#92400e;background:#fef3c7db;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-objective-kernel__top{min-width:0;display:grid;gap:6px}.code-objective-kernel__top span{min-width:0;overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35}.code-objective-kernel__top code{min-width:0;padding:7px 8px;border:1px solid rgba(180,83,9,.16);border-radius:7px;color:#475569;background:#ffffffb8;font-size:10px;white-space:normal;overflow-wrap:anywhere}.code-objective-kernel__metrics,.code-objective-kernel__candidates{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-objective-kernel__candidates span{min-width:0;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 7px;border:1px solid rgba(203,213,225,.85);border-radius:7px;color:#475569;background:#ffffffb8;font-size:10px;font-weight:760;white-space:normal;overflow-wrap:anywhere}.code-objective-kernel__candidates strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.code-objective-kernel__candidates .is-accepted{border-color:#16a34a47;background:#f0fdf4d1}.code-objective-kernel__candidates .is-rejected{border-color:#ef44442e;color:#991b1b;background:#fef2f2c2}.code-agent-mind-packet{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(71,85,105,.18);border-radius:8px;background:#f8fafcf0}.code-agent-mind-packet__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-mind-packet__head span{color:#475569;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-mind-packet__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-mind-packet__head code{padding:4px 6px;border-radius:999px;color:#334155;background:#e2e8f0;font-size:10px;font-weight:850}.code-agent-mind-packet pre{min-width:0;max-height:260px;margin:0;overflow:auto;padding:10px;border:1px solid rgba(148,163,184,.26);border-radius:7px;color:#334155;background:#ffffffbd;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.5}.code-agent-reflection-replan{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:linear-gradient(180deg,#eef2ffd1,#f8fafcf2)}.code-agent-reflection-replan__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-reflection-replan__head span{color:#4338ca;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-reflection-replan__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-reflection-replan__head code{padding:4px 6px;border-radius:999px;color:#4338ca;background:#e0e7ff;font-size:10px;font-weight:850}.code-agent-reflection-replan pre{min-width:0;max-height:220px;margin:0;overflow:auto;padding:10px;border:1px solid rgba(99,102,241,.18);border-radius:7px;color:#334155;background:#ffffffb8;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.5}.code-agent-reflection-replan__actions{min-width:0;display:grid;gap:6px}.code-agent-reflection-replan__actions span{min-width:0;padding:7px 8px;border:1px solid rgba(99,102,241,.18);border-radius:7px;color:#334155;background:#ffffffbd;font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.code-agent-mission-registry{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(2,132,199,.18);border-radius:8px;background:linear-gradient(180deg,#f0f9ffc7,#f8fafcf5)}.code-agent-mission-registry__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-mission-registry__head span{color:#0369a1;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-mission-registry__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-mission-registry__head code,.code-agent-mission-registry__items code{min-width:0;padding:4px 6px;border-radius:999px;color:#075985;background:#e0f2fe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-mission-registry p,.code-agent-mission-registry small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-mission-registry small{color:#475569}.code-agent-mission-registry__metrics,.code-agent-mission-registry__items{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-mission-registry__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(2,132,199,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-mission-registry__items code{border:1px solid rgba(2,132,199,.18);background:#f0f9ff}.code-agent-artifact-projection{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:linear-gradient(180deg,#eef2ffc2,#f8fafcf5)}.code-agent-artifact-projection__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-artifact-projection__head span{color:#4338ca;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-artifact-projection__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-artifact-projection__head code,.code-agent-artifact-projection__records code{min-width:0;padding:4px 6px;border-radius:999px;color:#3730a3;background:#e0e7ff;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-artifact-projection p,.code-agent-artifact-projection small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-artifact-projection small{color:#475569}.code-agent-artifact-projection__metrics,.code-agent-artifact-projection__records{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-artifact-projection__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(79,70,229,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-artifact-projection__records code{border:1px solid rgba(79,70,229,.18);background:#eef2ff}.code-agent-execution-observatory{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(13,148,136,.2);border-radius:8px;background:linear-gradient(180deg,#f0fdfacc,#f8fafcf5)}.code-agent-execution-observatory__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-execution-observatory__head span{color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-execution-observatory__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-execution-observatory__head code,.code-agent-execution-observatory__reports code{min-width:0;padding:4px 6px;border-radius:999px;color:#0f766e;background:#ccfbf1;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-execution-observatory small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-agent-execution-observatory__metrics,.code-agent-execution-observatory__reports{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-execution-observatory__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(13,148,136,.16);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-execution-observatory__reports code{border:1px solid rgba(13,148,136,.18);background:#f0fdfa}.code-agent-fleet-runtime{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(15,118,110,.2);border-radius:8px;background:linear-gradient(180deg,#f0fdfad6,#f8fafcf5)}.code-agent-fleet-runtime__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-fleet-runtime__head span{color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-fleet-runtime__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-fleet-runtime__head code,.code-agent-fleet-runtime__metrics code{min-width:0;padding:4px 6px;border-radius:999px;color:#0f766e;background:#ccfbf1;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-fleet-runtime p,.code-agent-fleet-runtime small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-fleet-runtime small{color:#475569}.code-agent-fleet-runtime__metrics,.code-agent-fleet-runtime__mailbox{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-fleet-runtime__mailbox span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(15,118,110,.18);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-mailbox-hydration{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(14,116,144,.18);border-radius:8px;background:linear-gradient(180deg,#ecfeffb8,#f8fafcf5)}.code-agent-mailbox-hydration__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-mailbox-hydration__head span{color:#0e7490;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-mailbox-hydration__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-mailbox-hydration__head code,.code-agent-mailbox-hydration__accepted code{min-width:0;padding:4px 6px;border-radius:999px;color:#155e75;background:#cffafe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-mailbox-hydration p,.code-agent-mailbox-hydration small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-mailbox-hydration small{color:#475569}.code-agent-mailbox-hydration__metrics,.code-agent-mailbox-hydration__accepted{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-mailbox-hydration__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(14,116,144,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-mailbox-hydration__accepted code{border:1px solid rgba(14,116,144,.18);background:#ecfeff}.code-agent-heartbeat{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:linear-gradient(180deg,#eff6ffc7,#f8fafcf5)}.code-agent-heartbeat__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-heartbeat__head span{color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-heartbeat__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-heartbeat__head code,.code-agent-heartbeat__agents code{min-width:0;padding:4px 6px;border-radius:999px;color:#1e3a8a;background:#dbeafe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-heartbeat p,.code-agent-heartbeat small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-heartbeat small{color:#475569}.code-agent-heartbeat__metrics,.code-agent-heartbeat__agents{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-heartbeat__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(37,99,235,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-heartbeat__agents code{border:1px solid rgba(37,99,235,.18);background:#eff6ff}.code-agent-runtime-recovery{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(124,58,237,.18);border-radius:8px;background:linear-gradient(180deg,#f5f3ffc7,#f8fafcf5)}.code-agent-runtime-recovery__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-runtime-recovery__head span{color:#6d28d9;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-runtime-recovery__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-runtime-recovery__head code,.code-agent-runtime-recovery__agents code{min-width:0;padding:4px 6px;border-radius:999px;color:#4c1d95;background:#ede9fe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-runtime-recovery p,.code-agent-runtime-recovery small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-runtime-recovery small{color:#475569}.code-agent-runtime-recovery__metrics,.code-agent-runtime-recovery__agents{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-runtime-recovery__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(124,58,237,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-runtime-recovery__agents code{border:1px solid rgba(124,58,237,.18);background:#f5f3ff}.code-agent-budget-guard{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(217,119,6,.22);border-radius:8px;background:linear-gradient(180deg,#fffbebd1,#f8fafcf5)}.code-agent-budget-guard__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-budget-guard__head span{color:#92400e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-budget-guard__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-budget-guard__head code,.code-agent-budget-guard__metrics code{min-width:0;padding:4px 6px;border-radius:999px;color:#92400e;background:#fef3c7;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-budget-guard p,.code-agent-budget-guard small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-budget-guard small{color:#475569}.code-agent-budget-guard__status{min-width:0;display:grid;gap:4px;padding:8px;border:1px solid rgba(217,119,6,.14);border-radius:7px;background:#ffffffb8}.code-agent-budget-guard__status strong{min-width:0;color:#0f172a;font-size:12px;overflow-wrap:anywhere}.code-agent-budget-guard__metrics{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-budget-guard__metrics span{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:6px 7px;border:1px solid rgba(217,119,6,.16);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-budget-guard__metrics strong{flex:0 0 auto;color:#0f172a;text-transform:uppercase}.code-agent-budget-guard__metrics [data-budget-metric-state=warning]{border-color:#f59e0b57;background:#fffbeb}.code-agent-budget-guard__metrics [data-budget-metric-state=exceeded]{border-color:#ef444447;color:#991b1b;background:#fef2f2}.code-agent-dispatch-queue{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(37,99,235,.2);border-radius:8px;background:linear-gradient(180deg,#eff6ffcc,#f8fafcf5)}.code-agent-dispatch-queue__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-dispatch-queue__head span{color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-dispatch-queue__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-dispatch-queue__head code,.code-agent-dispatch-queue__skips code{min-width:0;padding:4px 6px;border-radius:999px;color:#1e3a8a;background:#dbeafe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-dispatch-queue p,.code-agent-dispatch-queue small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-dispatch-queue small{color:#475569}.code-agent-dispatch-queue__metrics,.code-agent-dispatch-queue__skips{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-dispatch-queue__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(37,99,235,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-dispatch-queue__skips code{border:1px solid rgba(14,165,233,.18);background:#eff6ff}.code-agent-direct-instruction{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(15,118,110,.2);border-radius:8px;background:linear-gradient(180deg,#f0fdfad1,#f8fafcf5)}.code-agent-direct-instruction__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-direct-instruction__head span{color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-direct-instruction__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-direct-instruction__head code,.code-agent-direct-instruction__targets code{min-width:0;padding:4px 6px;border-radius:999px;color:#115e59;background:#ccfbf1;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-direct-instruction p,.code-agent-direct-instruction small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-direct-instruction small{color:#475569}.code-agent-direct-instruction__metrics,.code-agent-direct-instruction__targets{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-direct-instruction__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(15,118,110,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-direct-instruction__targets code{border:1px solid rgba(20,184,166,.18);background:#f0fdfa}.code-agent-lease-retry{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:linear-gradient(180deg,#eef2ffc7,#f8fafcf5)}.code-agent-lease-retry__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-lease-retry__head span{color:#4338ca;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-lease-retry__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-lease-retry__head code{min-width:0;padding:4px 6px;border-radius:999px;color:#3730a3;background:#e0e7ff;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-lease-retry p,.code-agent-lease-retry small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-lease-retry small{color:#475569}.code-agent-lease-retry__metrics{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-lease-retry__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(79,70,229,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-lease-handoff{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(13,148,136,.2);border-radius:8px;background:linear-gradient(180deg,#f0fdfacc,#f8fafcf5)}.code-agent-lease-handoff__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-agent-lease-handoff__head span{color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-lease-handoff__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-lease-handoff__head code,.code-agent-lease-handoff__candidates code{min-width:0;padding:4px 6px;border-radius:999px;color:#115e59;background:#ccfbf1;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-agent-lease-handoff p,.code-agent-lease-handoff small{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.45}.code-agent-lease-handoff small{color:#475569}.code-agent-lease-handoff__metrics,.code-agent-lease-handoff__candidates{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-lease-handoff__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(13,148,136,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-lease-handoff__candidates code{border:1px solid rgba(13,148,136,.18);background:#f0fdfa}.clipboard-tool{display:grid;gap:10px}.clipboard-tool .btn{width:fit-content}.snippet-list{display:grid;gap:8px}.snippet-item{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;padding:10px;border:1px solid rgba(203,213,225,.75);border-radius:8px;background:#f8fafc}.snippet-item button{width:34px;height:34px;border-radius:8px;color:#64748b;background:#fff;cursor:pointer}.related-tool-card{cursor:pointer}.related-tool-card:hover,.tools-directory-card:hover{border-color:#2563eb57;transform:translateY(-1px)}.ops-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bridge-panel,.codegraph-main,.codegraph-side{border:1px solid rgba(203,213,225,.76);border-radius:10px;background:#ffffffe6;box-shadow:var(--soft-shadow)}.bridge-panel{display:grid;gap:14px;margin-top:28px;padding:16px}.code-lens-panel{display:grid;gap:14px;margin-top:18px;padding:16px;border:1px solid rgba(203,213,225,.76);border-radius:10px;background:#ffffffe6;box-shadow:var(--soft-shadow)}.code-lens-head,.code-lens-toolbar,.code-lens-card-head,.code-lens-source,.code-lens-message{min-width:0;display:flex;align-items:center;gap:12px}.code-lens-head{justify-content:space-between;align-items:flex-start}.code-lens-head h2{margin:4px 0 3px;color:#0f172a;font-size:24px;line-height:1.15}.code-lens-head p{max-width:760px;margin:0;color:#64748b;font-size:13px;line-height:1.5}.code-lens-source{flex:0 0 auto;align-items:flex-end;flex-direction:column;gap:3px;padding:9px 11px;border-radius:9px;background:#f8fafc;box-shadow:inset 0 0 0 1px #e2e8f0eb}.code-lens-source span{color:#64748b;font-size:11px;font-weight:820}.code-lens-source strong{color:#0f172a;font-size:13px}.code-lens-toolbar{flex-wrap:wrap;align-items:stretch}.code-lens-tabs{display:inline-grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:4px;padding:4px;border-radius:10px;background:#f1f5f9}.code-lens-tabs button{min-height:36px;padding:0 12px;border-radius:8px;color:#64748b;background:transparent;cursor:pointer;font-size:12px;font-weight:880}.code-lens-tabs button.is-active{color:#0f172a;background:#fff;box-shadow:0 8px 18px #0f172a14}.code-lens-select,.code-lens-search{display:grid;gap:4px;min-width:160px}.code-lens-search{flex:1 1 240px}.code-lens-select span,.code-lens-search span{color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.code-lens-select select,.code-lens-search input{width:100%;height:38px;border:1px solid rgba(203,213,225,.9);border-radius:9px;padding:0 10px;color:#0f172a;background:#fff;font-size:13px;font-weight:760;outline:none}.code-lens-message{min-height:34px;padding:8px 10px;border-radius:9px;color:#475569;background:#f8fafc;font-size:12px;font-weight:760}.code-lens-message svg{color:#2563eb;flex:0 0 auto}.code-lens-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.code-lens-card-grid--all-class-map{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.code-lens-card-grid--annotated-code-flow{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.code-lens-card{display:grid;gap:10px;min-height:230px;padding:13px;border:1px solid rgba(226,232,240,.95);border-radius:10px;background:#fff}.code-lens-card--active{border-color:#2563eb47;background:#eff6ff}.code-lens-card--hotspot{border-color:#f59e0b59;background:#fffbeb}.code-lens-card-head{justify-content:space-between;align-items:flex-start}.code-lens-card-head div{min-width:0;display:grid;gap:3px}.code-lens-card-head strong{color:#0f172a;font-size:15px;line-height:1.25}.code-lens-card-head span{color:#64748b;font-size:11px;font-weight:840}.code-lens-card-head b{min-width:34px;height:28px;display:grid;place-items:center;border-radius:999px;color:#1d4ed8;background:#dbeafe;font-size:12px}.code-lens-card p{margin:0;color:#334155;font-size:12px;line-height:1.45}.code-lens-chip-row{display:flex;flex-wrap:wrap;gap:6px}.code-lens-chip-row span{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;color:#334155;background:#f1f5f9;font-size:10px;font-weight:820}.code-lens-meta{display:grid;gap:4px;min-width:0}.code-lens-meta small{min-width:0;overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.code-lens-empty{min-height:170px;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed rgba(203,213,225,.9);border-radius:10px;color:#64748b;background:#f8fafc;text-align:center}.code-lens-empty strong{color:#0f172a}.code-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.code-workflow-panel{min-width:0;display:grid;gap:14px;align-content:start;border:1px solid rgba(203,213,225,.76);border-radius:10px;padding:16px;background:#ffffffe6;box-shadow:var(--soft-shadow)}.code-workflow-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.code-workflow-head>div{min-width:0}.code-workflow-head h2{margin:5px 0 0;color:#0f172a;font-size:20px;line-height:1.16}.code-workflow-control{display:grid;gap:10px}.code-workflow-control input,.code-workflow-detail input,.code-workflow-detail select,.code-workflow-detail textarea{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;background:#fff;font:inherit;outline:0}.code-workflow-control input,.code-workflow-detail input,.code-workflow-detail select{height:38px;padding:0 10px}.code-workflow-detail textarea{resize:vertical;padding:9px 10px;line-height:1.45}.code-workflow-control input:focus,.code-workflow-detail input:focus,.code-workflow-detail select:focus,.code-workflow-detail textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.code-workflow-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.code-workflow-actions--wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.code-workflow-actions .btn{min-height:34px;padding-inline:10px;white-space:normal}.code-workflow-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.code-workflow-metrics span{min-width:0;display:grid;gap:3px;border:1px solid rgba(226,232,240,.82);border-radius:8px;padding:8px;color:#64748b;background:#f8fafcc7;font-size:11px;font-weight:780}.code-workflow-metrics strong{color:#0f172a;font-size:15px}.code-workflow-list{display:grid;gap:7px;max-height:190px;overflow:auto}.code-workflow-list button{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(226,232,240,.78);border-radius:8px;padding:8px 10px;color:#334155;background:#f8fafcc2;text-align:left}.code-workflow-list button.is-selected{border-color:#2563eb4d;background:#eff6ff}.code-workflow-list span{min-width:0;display:grid;gap:3px}.code-workflow-list strong,.code-workflow-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-workflow-list strong{color:#0f172a;font-size:13px}.code-workflow-list small{color:#64748b;font-size:11px;font-weight:760;text-transform:uppercase}.code-workflow-list b{flex:0 0 auto;min-width:28px;color:#2563eb;text-align:right}.code-workflow-detail{display:grid;gap:10px}.code-workflow-detail label{min-width:0;display:grid;gap:5px}.code-workflow-detail label>span{color:#475569;font-size:11px;font-weight:840;text-transform:uppercase}.code-workflow-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.code-runtime-profile{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.34);border-radius:8px;background:#f8fafcd1}.code-runtime-profile__head{min-width:0;display:flex;align-items:center;gap:8px}.code-runtime-profile__head span{color:#475569;font-size:11px;font-weight:840;text-transform:uppercase}.code-runtime-profile__head strong{min-width:0;flex:1 1 auto;color:#0f172a;font-size:12px;overflow-wrap:anywhere}.code-runtime-profile__head .btn{flex:0 0 auto;min-height:28px;padding-inline:8px}.code-planned-work{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(8,145,178,.22);border-radius:8px;background:linear-gradient(180deg,#ecfeffc7,#f8fafcf5)}.code-planned-work__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-planned-work__head span{color:#0e7490;font-size:11px;font-weight:900;text-transform:uppercase}.code-planned-work__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-planned-work__head code,.code-planned-work__items code{min-width:0;padding:4px 6px;border-radius:999px;color:#0e7490;background:#cffafe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-planned-work__metrics,.code-planned-work__items{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-planned-work__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(8,145,178,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-planned-work small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-tool-system{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(79,70,229,.22);border-radius:8px;background:linear-gradient(180deg,#eef2ffc7,#f8fafcf5)}.code-tool-system__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-tool-system__head span{color:#4338ca;font-size:11px;font-weight:900;text-transform:uppercase}.code-tool-system__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-tool-system__head code,.code-tool-system__tools code{min-width:0;padding:4px 6px;border-radius:999px;color:#4338ca;background:#e0e7ff;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-tool-system__metrics,.code-tool-system__tools{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-tool-system__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(79,70,229,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-tool-system small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-workflow-tooling{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:linear-gradient(180deg,#eff6ffc7,#f8fafcf5)}.code-workflow-tooling__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-workflow-tooling__head span{color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase}.code-workflow-tooling__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-workflow-tooling__head code,.code-workflow-tooling__plans code{min-width:0;padding:4px 6px;border-radius:999px;color:#1d4ed8;background:#dbeafe;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-workflow-tooling__metrics,.code-workflow-tooling__plans{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-workflow-tooling__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(37,99,235,.14);border-radius:7px;color:#334155;background:#ffffffc2;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-workflow-tooling small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-canvas-agent-tooling{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(15,118,110,.2);border-radius:8px;background:linear-gradient(180deg,#f0fdfacc,#f8fafcf5)}.code-canvas-agent-tooling__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.code-canvas-agent-tooling__head span{color:#0f766e;font-size:11px;font-weight:900;text-transform:uppercase}.code-canvas-agent-tooling__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-canvas-agent-tooling__head code,.code-canvas-agent-tooling__plans code{min-width:0;padding:4px 6px;border-radius:999px;color:#0f766e;background:#ccfbf1;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-canvas-agent-tooling__metrics,.code-canvas-agent-tooling__plans{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-canvas-agent-tooling__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(15,118,110,.14);border-radius:7px;color:#334155;background:#ffffffc7;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-canvas-agent-tooling small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-role-catalog{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(20,184,166,.24);border-radius:8px;background:#f0fdfabd}.code-role-catalog__head{min-width:0;display:flex;align-items:center;gap:9px}.code-role-catalog__head>span{flex:0 0 auto;min-width:32px;border-radius:7px;padding:6px 7px;color:#0f766e;background:#ffffffc7;font-size:10px;font-weight:900;text-align:center}.code-role-catalog__head div{min-width:0;flex:1 1 auto;display:grid;gap:2px}.code-role-catalog__head strong{color:#0f172a;font-size:12px;font-weight:880}.code-role-catalog__head small,.code-skill-catalog>small{min-width:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-role-catalog__head .btn{flex:0 0 auto;min-height:28px;padding-inline:8px}.code-skill-catalog{min-width:0;display:grid;gap:6px}.code-skill-card{min-width:0;display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(20,184,166,.18);border-radius:7px;padding:8px;background:#ffffffa8}.code-skill-card strong{min-width:0;color:#0f172a;font-size:11px;font-weight:860;overflow-wrap:anywhere}.code-skill-card span,.code-skill-card small{min-width:0;color:#475569;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.code-skill-card small{border-radius:999px;padding:3px 7px;background:#0f766e14;color:#0f766e;font-weight:820;white-space:nowrap}.code-skill-execution-hint{max-height:150px;min-width:0;overflow:auto;margin:0;border:1px solid rgba(20,184,166,.16);border-radius:7px;padding:8px;color:#334155;background:#ffffffb8;font-size:10px;line-height:1.45;white-space:pre-wrap}.code-agent-structured-task{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(180,83,9,.18);border-radius:8px;background:linear-gradient(180deg,#fffbebdb,#f8fafcf5)}.code-agent-structured-task__head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.code-agent-structured-task__head span{color:#92400e;font-size:11px;font-weight:900;text-transform:uppercase}.code-agent-structured-task__head strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.code-agent-structured-task__metrics,.code-agent-structured-task__items{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-agent-structured-task__metrics span{min-width:0;max-width:100%;padding:6px 7px;border:1px solid rgba(180,83,9,.14);border-radius:7px;color:#334155;background:#ffffffc2;font-size:10px;font-weight:780;white-space:normal;overflow-wrap:anywhere}.code-agent-structured-task__items code{min-width:0;max-width:100%;padding:4px 6px;border:1px solid rgba(180,83,9,.18);border-radius:999px;color:#92400e;background:#fef3c7;font-size:10px;font-weight:850;white-space:normal;overflow-wrap:anywhere}.code-research-pack{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid rgba(14,165,233,.24);border-radius:8px;background:linear-gradient(180deg,#f0f9fff5,#ecfeffe6)}.code-research-pack__head{min-width:0;display:flex;align-items:center;gap:8px;color:#0f766e}.code-research-pack__head strong{min-width:0;flex:1 1 auto;color:#0f172a;font-size:13px}.code-research-pack__head span{flex:0 0 auto;padding:3px 7px;border-radius:999px;border:1px solid rgba(14,165,233,.24);background:#ffffffc7;color:#0369a1;font-size:10px;font-weight:800;text-transform:uppercase}.code-research-tools{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-research-tools code{min-width:0;padding:5px 7px;border-radius:6px;background:#0f172a0f;color:#0f172a;font-size:11px;white-space:normal;overflow-wrap:anywhere}.code-webcapture-plan{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:7px}.code-webcapture-step{min-width:0;display:grid;gap:3px;border:1px solid rgba(20,184,166,.2);border-radius:7px;padding:8px;background:#f0fdfab8}.code-webcapture-step strong,.code-webcapture-step span{min-width:0;overflow-wrap:anywhere}.code-webcapture-step strong{color:#0f766e;font-size:11px;font-weight:850}.code-webcapture-step span{color:#475569;font-size:11px;line-height:1.45}.code-research-bridge{min-width:0;display:grid;gap:8px}.code-research-bridge__actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.code-research-bridge__actions span{min-height:30px;display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.46);border-radius:999px;padding:0 10px;color:#475569;background:#ffffffc2;font-size:10px;font-weight:850;text-transform:uppercase}.code-research-adapter-result{min-width:0;display:grid;gap:8px;border:1px solid rgba(59,130,246,.18);border-radius:7px;padding:9px;background:#eff6ff9e}.code-research-adapter-result>div:first-child{min-width:0;display:grid;gap:3px}.code-research-adapter-result strong,.code-research-adapter-result span,.code-research-adapter-result p{min-width:0;overflow-wrap:anywhere}.code-research-adapter-result strong{color:#0f172a;font-size:12px;font-weight:850}.code-research-adapter-result span{color:#2563eb;font-size:11px}.code-research-adapter-result p{max-height:118px;overflow:auto;margin:0;color:#475569;font-size:11px;line-height:1.48}.code-browser-adapter-result{min-width:0;display:grid;gap:7px;border:1px solid rgba(99,102,241,.18);border-radius:7px;padding:8px;background:#eef2ffad}.code-browser-adapter-result__head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.code-browser-adapter-result__head strong,.code-browser-adapter-result__head span,.code-browser-adapter-result pre{min-width:0;overflow-wrap:anywhere}.code-browser-adapter-result__head strong{color:#312e81;font-size:11px;font-weight:850}.code-browser-adapter-result__head span{flex:0 0 auto;color:#6366f1;font-size:10px;font-weight:800}.code-browser-adapter-result pre{max-height:132px;overflow:auto;margin:0;border-radius:6px;padding:8px;background:#ffffffb8;color:#334155;font-size:10px;line-height:1.45;white-space:pre-wrap}.code-structured-evidence{min-width:0;display:grid;gap:7px;border:1px solid rgba(15,118,110,.2);border-radius:7px;padding:8px;background:#f0fdfab8}.code-structured-evidence__head{min-width:0;display:flex;align-items:center;gap:7px;color:#0f766e}.code-structured-evidence__head strong{min-width:0;flex:1 1 auto;color:#134e4a;font-size:11px;font-weight:880;overflow-wrap:anywhere}.code-structured-evidence__head span{flex:0 0 auto;border:1px solid rgba(20,184,166,.24);border-radius:999px;padding:2px 6px;color:#0f766e;background:#ffffffd1;font-size:9px;font-weight:850;text-transform:uppercase}.code-structured-evidence p,.code-structured-evidence li,.code-structured-evidence blockquote{min-width:0;margin:0;color:#334155;font-size:11px;line-height:1.46;overflow-wrap:anywhere}.code-structured-evidence ul{display:grid;gap:4px;margin:0;padding-left:17px}.code-structured-evidence blockquote{max-height:104px;overflow:auto;border-left:3px solid rgba(20,184,166,.36);padding:7px 8px;border-radius:0 6px 6px 0;background:#ffffffb8}.code-parallel-scout{min-width:0;display:grid;gap:8px;border:1px solid rgba(245,158,11,.22);border-radius:7px;padding:8px;background:#fffbebb8}.code-parallel-scout__head,.code-parallel-scout__actions{min-width:0;display:flex;align-items:center;gap:7px}.code-parallel-scout__head{color:#b45309}.code-parallel-scout__head strong{color:#78350f;font-size:11px;font-weight:880}.code-parallel-scout__head span{margin-left:auto;color:#92400e;font-size:10px;font-weight:820}.code-parallel-scout__actions{flex-wrap:wrap}.code-parallel-scout__actions code,.code-parallel-scout__card code{border-radius:999px;padding:3px 7px;background:#fffc;color:#92400e;font-size:10px;font-weight:800}.code-parallel-scout__grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.code-parallel-scout__card{min-width:0;display:grid;gap:6px;border:1px solid rgba(245,158,11,.2);border-radius:7px;padding:8px;background:#ffffffa8}.code-parallel-scout__card div{min-width:0;display:grid;gap:2px}.code-parallel-scout__card span{color:#b45309;font-size:9px;font-weight:850;text-transform:uppercase}.code-parallel-scout__card strong{min-width:0;color:#78350f;font-size:11px;font-weight:850;overflow-wrap:anywhere}.code-parallel-scout p,.code-parallel-scout__card p{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-research-pearls{min-width:0;display:grid;gap:8px;border:1px solid rgba(124,58,237,.18);border-radius:7px;padding:8px;background:#f5f3ffb8}.code-research-pearls__head,.code-research-pearls__actions{min-width:0;display:flex;align-items:center;gap:7px}.code-research-pearls__head{color:#7c3aed}.code-research-pearls__head strong{color:#4c1d95;font-size:11px;font-weight:880}.code-research-pearls__head span{margin-left:auto;color:#6d28d9;font-size:10px;font-weight:820}.code-research-pearls__actions{flex-wrap:wrap}.code-research-pearls__actions code,.code-research-pearl-card code{border-radius:999px;padding:3px 7px;background:#ffffffd1;color:#6d28d9;font-size:10px;font-weight:800}.code-research-pearls__grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}.code-research-pearl-card{min-width:0;display:grid;gap:6px;border:1px solid rgba(124,58,237,.16);border-radius:7px;padding:8px;background:#ffffffad}.code-research-pearl-card div{min-width:0;display:grid;gap:2px}.code-research-pearl-card span{color:#7c3aed;font-size:9px;font-weight:850;text-transform:uppercase}.code-research-pearl-card strong{min-width:0;color:#4c1d95;font-size:11px;font-weight:850;overflow-wrap:anywhere}.code-research-pearls p,.code-research-pearl-card p,.code-research-pearl-card small{min-width:0;margin:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-research-pearl-card small{color:#64748b}.code-research-adapter-meta{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.code-research-adapter-meta code{min-width:0;border-radius:6px;padding:4px 6px;background:#0f172a0f;color:#334155;font-size:10px;overflow-wrap:anywhere}.code-research-pack p{margin:0;color:#475569;font-size:12px;line-height:1.5}.code-artifact-list{min-width:0;display:grid;gap:6px;border:1px dashed rgba(148,163,184,.72);border-radius:8px;padding:10px;background:#f8fafca8}.code-artifact-list code,.code-artifact-list small{min-width:0;overflow:hidden;color:#475569;text-overflow:ellipsis;white-space:nowrap}.code-review-gate{min-width:0;display:grid;gap:5px;border:1px solid rgba(203,213,225,.82);border-radius:8px;padding:10px;background:#f8fafc}.code-review-gate strong{color:#0f172a;font-size:12px;font-weight:850}.code-review-gate small{min-width:0;color:#475569;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.code-review-gate.is-ready{border-color:#14b8a657;background:#f0fdfa}.code-review-gate.is-deferred{border-color:#f59e0b6b;background:#fffbeb}.code-note-planner,.code-note-sync,.code-agent-execution{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;border:1px solid rgba(59,130,246,.24);border-radius:8px;padding:10px;background:#eff6ff}.code-note-planner .card-label,.code-note-planner small,.code-note-sync .card-label,.code-note-sync small,.code-agent-execution .card-label,.code-agent-execution small{grid-column:1 / -1}.code-note-planner strong,.code-note-sync strong,.code-agent-execution strong{min-width:0;color:#1d4ed8;font-size:12px;font-weight:900;text-transform:capitalize}.code-note-planner small,.code-note-sync small,.code-agent-execution small{color:#475569;font-size:11px;line-height:1.45}.code-project-write-readiness{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(148,163,184,.34);border-radius:8px;background:#f8fafce0}.code-project-write-readiness--opt-in-required{border-color:#10b98152;background:#f0fdf4}.code-project-write-readiness--adapter-gated{border-color:#f59e0b57;background:#fffbeb}.code-project-write-readiness__head{min-width:0;display:flex;align-items:flex-start;gap:9px}.code-project-write-readiness__head svg{flex:0 0 auto;color:#2563eb}.code-project-write-readiness__head div{min-width:0;display:grid;gap:2px}.code-project-write-readiness__head span{color:#64748b;font-size:10px;font-weight:900;letter-spacing:0;text-transform:uppercase}.code-project-write-readiness__head strong{min-width:0;color:#0f172a;font-size:13px;font-weight:900;overflow-wrap:anywhere}.code-project-write-readiness p,.code-project-write-readiness small{margin:0;color:#475569;font-size:11px;font-weight:650;line-height:1.45}.code-project-write-readiness__policy,.code-project-write-readiness__checks,.code-project-write-readiness__actions{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.code-project-write-readiness__policy code,.code-project-write-readiness__checks span{min-width:0;border:1px solid rgba(226,232,240,.86);border-radius:8px;padding:7px 8px;background:#ffffffb8}.code-project-write-readiness__policy code{color:#1e293b;font-size:10px;font-weight:800;overflow-wrap:anywhere}.code-project-write-readiness__checks span{display:grid;gap:2px}.code-project-write-readiness__checks span[data-project-write-check-state=pass]{border-color:#14b8a63d}.code-project-write-readiness__checks span[data-project-write-check-state=blocked]{border-color:#f59e0b52}.code-project-write-readiness__checks strong{color:#334155;font-size:10px;font-weight:900;text-transform:uppercase}.code-project-write-readiness__checks em{min-width:0;color:#0f172a;font-size:11px;font-style:normal;font-weight:760;overflow-wrap:anywhere}.code-project-write-readiness__actions .btn{min-height:30px;justify-content:center}.code-project-write-readiness__actions code{min-width:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(226,232,240,.86);border-radius:8px;padding:6px 8px;color:#334155;background:#ffffffbd;font-size:10px;font-weight:900}.code-project-write-draft{min-width:0;display:grid;gap:9px;padding:12px;border:1px solid rgba(37,99,235,.22);border-radius:8px;background:#f8fafc}.code-project-write-draft__head,.code-project-write-draft__meta,.code-project-write-draft__review{min-width:0;display:flex;align-items:center;gap:8px}.code-project-write-draft__head span{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.code-project-write-draft__head strong{min-width:0;flex:1 1 auto;color:#0f172a;font-size:12px;font-weight:900}.code-project-write-draft__head code,.code-project-write-draft__meta code,.code-project-write-draft__files code,.code-project-write-draft__smoke{min-width:0;border:1px solid rgba(226,232,240,.86);border-radius:8px;padding:6px 8px;color:#334155;background:#ffffffc2;font-size:10px;font-weight:850;overflow-wrap:anywhere}.code-project-write-draft__review{flex-wrap:wrap}.code-project-write-draft__review span{min-height:28px;display:inline-flex;align-items:center;border:1px solid rgba(226,232,240,.86);border-radius:8px;padding:0 8px;color:#334155;background:#ffffffc2;font-size:10px;font-weight:900;text-transform:uppercase}.code-project-write-draft__review .btn{min-height:28px;padding-inline:8px}.code-project-write-draft__meta,.code-project-write-draft__files,.code-project-write-draft__manifest,.code-project-write-draft__checklist,.code-project-write-draft__blockers,.code-project-write-draft__apply-plan,.code-project-write-draft__diff{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.code-project-write-draft__checklist span,.code-project-write-draft__blockers span,.code-project-write-draft__manifest span,.code-project-write-draft__apply-plan span,.code-project-write-draft__diff span{min-width:0;border:1px solid rgba(226,232,240,.86);border-radius:8px;padding:7px 8px;color:#334155;background:#ffffffb8;font-size:11px;font-weight:720;line-height:1.35}.code-project-write-draft__manifest span{display:grid;gap:5px;border-color:#14b8a638}.code-project-write-draft__manifest strong{color:#0f766e;font-size:10px;font-weight:900;text-transform:uppercase}.code-project-write-draft__manifest code{min-width:0;color:#0f172a;font-size:10px;font-weight:850;overflow-wrap:anywhere}.code-project-write-draft__diff span{display:grid;gap:3px}.code-project-write-draft__diff strong{min-width:0;color:#0f172a;font-size:11px;font-weight:900;overflow-wrap:anywhere}.code-project-write-draft__diff em,.code-project-write-draft__diff small{color:#475569;font-size:10px;font-style:normal;font-weight:680;line-height:1.35}.code-project-write-draft__apply-plan span{border-color:#2563eb33}.code-project-write-draft__blockers span{border-color:#f59e0b52;background:#fffbeb}.code-project-write-draft pre{min-width:0;max-height:180px;margin:0;overflow:auto;border:1px solid rgba(203,213,225,.7);border-radius:8px;padding:10px;color:#1e293b;background:#fff;font-size:11px;line-height:1.45;white-space:pre-wrap}.code-project-write-draft__smoke{display:block}.code-workflow-status{min-height:38px;display:inline-flex;align-items:center;gap:8px;margin-top:14px;border:1px solid rgba(203,213,225,.78);border-radius:10px;padding:0 12px;color:#475569;background:#f8fafcdb;box-shadow:var(--soft-shadow);font-size:12px;font-weight:780}.bridge-command-row,.project-command-row{display:flex;align-items:end;gap:10px}.bridge-url-field,.project-path-field{min-width:0;display:grid;gap:6px}.bridge-url-field{width:260px;flex:0 0 260px}.project-path-field{flex:1}.bridge-url-field span,.project-path-field span{color:#64748b;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.bridge-url-field input,.project-path-field input{width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid rgba(203,213,225,.9);border-radius:8px;color:#0f172a;background:#fff;outline:none}.bridge-status-strip{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;color:#475569;background:#f8fafc;border:1px solid rgba(203,213,225,.72)}.bridge-status-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bridge-status-strip--connected{color:#047857;border-color:#10b98147;background:#ecfdf5}.bridge-status-strip--unavailable{color:#b45309;border-color:#f59e0b47;background:#fffbeb}.bridge-status-strip--blocked{color:#1d4ed8;border-color:#3b82f640;background:#eff6ff}.bridge-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bridge-metric{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 8px;padding:12px;border:1px solid rgba(226,232,240,.85);border-radius:8px;background:#f8fafcd1}.bridge-metric svg{grid-row:1 / span 2;color:#2563eb}.bridge-metric span{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase}.bridge-metric strong{min-width:0;overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.codex-capabilities{display:grid;gap:12px;padding:12px;border:1px solid rgba(203,213,225,.76);border-radius:8px;background:#fff}.codex-capabilities--ready{border-color:#10b98142;background:#f0fdf4}.codex-capabilities--blocked,.codex-capabilities--unavailable{background:#f8fafc}.codex-capabilities--error{border-color:#ef444442;background:#fff7ed}.codex-capabilities__head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.codex-capabilities__head h2{margin:4px 0;font-size:17px;line-height:1.25}.codex-capabilities__head p{margin:0;color:#64748b;font-size:13px;font-weight:650;line-height:1.45}.codex-capabilities__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.codex-capabilities__grid span{min-width:0;display:grid;gap:4px;padding:9px 10px;border:1px solid rgba(226,232,240,.8);border-radius:8px;color:#64748b;background:#ffffffc7;font-size:11px;font-weight:850;text-transform:uppercase}.codex-capabilities__grid strong{min-width:0;overflow:hidden;color:#0f172a;font-size:13px;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.bridge-error{min-height:40px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(220,38,38,.2);border-radius:8px;color:#991b1b;background:#fef2f2;font-size:13px;font-weight:720}.codegraph-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;margin-top:18px;align-items:stretch}.codegraph-main,.codegraph-side{min-width:0;padding:16px}.codegraph-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.codegraph-head>div:first-child{min-width:0}.codegraph-head h2{min-width:0;margin:6px 0 0;overflow-wrap:anywhere;font-size:22px;line-height:1.2}.status-pill{flex:0 0 auto;min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(203,213,225,.8);border-radius:999px;color:#475569;background:#f8fafc;font-size:12px;font-weight:850}.codegraph-map{width:100%;min-height:360px;display:block;border-radius:10px;background:#f8fafc}.codegraph-map rect{fill:#f8fafc;stroke:#cbd5e1cc}.codegraph-edge{stroke:#64748b47;stroke-width:1.5}.codegraph-edge--import,.codegraph-edge--inherits,.codegraph-edge--implements{stroke:#2563eb61}.codegraph-edge--contains{stroke:#0f766e47}.codegraph-node-dot circle{stroke:#fffffff2;stroke-width:2;filter:drop-shadow(0 4px 8px rgba(15,23,42,.16))}.codegraph-node-dot text{fill:#334155;font-size:10px;font-weight:760;paint-order:stroke;stroke:#f8fafceb;stroke-width:3px}.codegraph-empty{min-height:360px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed rgba(148,163,184,.62);border-radius:10px;color:#64748b;background:#f8fafc;text-align:center}.codegraph-empty strong{color:#0f172a}.codegraph-stat-row,.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.codegraph-stat-row{min-height:38px;border-bottom:1px solid rgba(226,232,240,.78);color:#64748b}.codegraph-stat-row strong{color:#0f172a}.file-list-head{margin:18px 0 8px}.bridge-file-list{display:grid;gap:8px}.file-row{padding:10px;border:1px solid rgba(226,232,240,.78);border-radius:8px;background:#f8fafcc2}.file-row div{min-width:0;display:grid;gap:4px}.file-row strong,.file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row strong{color:#0f172a;font-size:13px}.file-row span{color:#64748b;font-size:11px;font-weight:780;text-transform:uppercase}.file-row b{flex:0 0 auto;color:#1d4ed8;font-size:13px}.empty-state{min-height:90px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed rgba(148,163,184,.5);border-radius:8px;color:#64748b;font-size:13px;text-align:center}@media(max-width:960px){.bridge-metric-grid,.codex-capabilities__grid,.code-workflow-grid,.codegraph-layout{grid-template-columns:1fr}.code-lens-head,.code-lens-toolbar{align-items:stretch;flex-direction:column}.code-lens-source{align-items:flex-start}.code-lens-tabs{grid-template-columns:1fr}.bridge-command-row,.project-command-row{align-items:stretch;flex-direction:column}.code-workflow-actions,.code-workflow-actions--wrap{grid-template-columns:1fr}.bridge-url-field{width:100%;flex-basis:auto}}@media(max-width:640px){.code-workflow-two,.code-workflow-metrics{grid-template-columns:1fr}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.company-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:10px}.company-hero h1{margin:12px 0 0;max-width:840px;font-size:clamp(38px,5vw,64px);line-height:1;font-weight:920;letter-spacing:0}.company-hero p{max-width:760px;margin:18px 0 0;color:var(--copy);font-size:17px;line-height:1.75}.company-hero-actions,.company-action-row,.company-mini-actions{display:flex;flex-wrap:wrap;gap:10px}.company-banner{display:flex;align-items:center;gap:10px;margin-top:22px;padding:14px 16px;border:1px solid rgba(14,165,233,.22);border-radius:9px;color:#075985;background:#f0f9ffe6;font-weight:760;line-height:1.45}.company-banner--connected{border-color:#10b98147;color:#047857;background:#ecfdf5eb}.company-banner--blocked{border-color:#f59e0b5c;color:#92400e;background:#fffbebf0}.company-banner--error{border-color:#f871714d;color:#b91c1c;background:#fef2f2f0}.company-top-grid,.company-action-grid,.company-loop-grid,.company-ops-grid,.company-bottom-grid{display:grid;gap:18px;margin-top:18px}.company-top-grid{grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);align-items:start}.company-action-grid,.company-loop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-ops-grid{grid-template-columns:minmax(0,.95fr) minmax(320px,.55fr)}.company-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:18px}.company-panel{min-width:0;padding:20px;border:1px solid rgba(203,213,225,.82);border-radius:9px;background:#ffffffe6;box-shadow:var(--soft-shadow)}.company-panel--amber{border-color:#f59e0b4d;background:#fffbebeb}.company-panel--cyan{border-color:#0ea5e942;background:#f0f9ffeb}.company-panel--blueprint{border-color:#6366f13d;background:#eef2ffeb}.company-blueprint-preview{display:grid;gap:10px;margin-top:14px}.company-blueprint-option{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid rgba(99,102,241,.22);border-radius:9px;background:#ffffffd1}.company-blueprint-option div:first-child{display:grid;gap:5px}.company-blueprint-option span{color:#4f46e5;font-size:11px;font-weight:860;text-transform:uppercase;letter-spacing:.08em}.company-blueprint-option strong{min-width:0;color:#111827;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.company-blueprint-option p{margin:0;color:#475569;font-size:13px;line-height:1.5}.company-blueprint-option ul{display:grid;gap:6px;margin:0;padding-left:18px;color:#334155;font-size:12px;line-height:1.45}.company-blueprint-impact{display:flex;flex-wrap:wrap;gap:6px}.company-blueprint-impact span{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid rgba(99,102,241,.18);border-radius:999px;color:#3730a3;background:#eef2ffc7;letter-spacing:0;text-transform:none}.company-panel h2,.company-panel h3{margin:0;color:#0f172a}.company-panel p{margin:8px 0 0;color:#475569;line-height:1.6}.company-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.company-launch-panel,.company-panel form{display:grid;gap:14px}.company-panel label,.company-select-label,.company-field-button{display:grid;gap:7px;min-width:0;color:#475569;font-size:12px;font-weight:830;text-transform:uppercase;letter-spacing:.06em}.company-panel input,.company-panel textarea,.company-panel select{width:100%;min-height:42px;border:1px solid rgba(148,163,184,.46);border-radius:9px;padding:10px 12px;color:#0f172a;background:#fff;outline:none}.company-panel textarea{min-height:104px;resize:vertical;line-height:1.55}.company-panel input:focus,.company-panel textarea:focus,.company-panel select:focus{border-color:#2563ebb3;box-shadow:0 0 0 4px #2563eb1a}.company-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(203,213,225,.78);border-radius:9px;color:#334155;background:#f8fafc;text-transform:none;letter-spacing:0}.company-toggle input{width:20px;min-height:20px;accent-color:#2563eb}.company-kpi-grid,.company-mini-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.company-mini-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.company-kpi-card{min-width:0;min-height:86px;display:grid;align-content:center;gap:6px;padding:14px;border:1px solid rgba(203,213,225,.8);border-radius:9px;background:#f8fafcf2}.company-kpi-card--compact{min-height:68px}.company-kpi-card span,.company-metric-line span,.company-count-pill{color:#64748b;font-size:12px;font-weight:780}.company-kpi-card strong{color:#0f172a;font-size:24px;line-height:1.08;overflow-wrap:anywhere}.company-kpi-card--compact strong{font-size:18px}.company-list,.company-scroll-list,.company-graph-list,.company-stat-list{display:grid;gap:10px;margin-top:14px}.company-scroll-list{max-height:420px;overflow:auto;padding-right:4px}.company-stat-list{margin-top:12px}.company-metric-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:8px 10px;border-radius:9px;background:#f8fafcd1}.company-metric-line strong{color:#0f172a;text-align:right;overflow-wrap:anywhere}.company-metric-line strong.is-ok{color:#047857}.company-metric-line strong.is-warn{color:#b45309}.company-artifact-row,.company-node-row,.company-signal-card,.company-approval-card,.company-decision-card,.company-publishing-card,.company-reflection-card{min-width:0;padding:14px;border:1px solid rgba(203,213,225,.76);border-radius:9px;background:#fff}.company-artifact-row{display:grid;gap:5px;width:100%;text-align:left;cursor:pointer}.company-artifact-row:hover{border-color:#2563eb70}.company-artifact-row span,.company-signal-card span,.company-approval-card span,.company-decision-card span,.company-publishing-card span,.company-reflection-card span{color:var(--teal);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.company-artifact-row small,.company-node-row small{color:#64748b;overflow-wrap:anywhere}.company-node-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}.company-node-row strong,.company-signal-card strong,.company-approval-card strong,.company-decision-card strong,.company-publishing-card strong,.company-reflection-card strong{color:#0f172a;overflow-wrap:anywhere}.company-node-row p,.company-signal-card p,.company-approval-card p,.company-decision-card p,.company-reflection-card p{font-size:13px}.company-approval-card>div,.company-decision-card>div,.company-publishing-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.company-approval-card b,.company-decision-card b,.company-publishing-card b{padding:4px 8px;border-radius:999px;color:#334155;background:#f1f5f9;font-size:12px}.company-approval-card--pending{border-color:#f59e0b5c}.company-approval-card--approved{border-color:#10b98152;background:#f0fdf4}.company-approval-card--rejected{border-color:#f8717157;background:#fef2f2}.company-decision-card{background:#f8fafc}.company-field-button>div,.company-publish-input,.company-metric-row{display:grid;gap:8px}.company-field-button>div{grid-template-columns:minmax(0,1fr) auto}.company-two-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:10px}.company-metric-row{grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) auto;align-items:end}.company-metric-row--revenue{grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) minmax(0,.5fr) auto}.company-count-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(203,213,225,.78);background:#f8fafc}.company-empty{min-height:56px;display:grid;place-items:center;border:1px dashed rgba(148,163,184,.5);border-radius:9px;color:#64748b;background:#f8fafcb8;font-weight:720}.company-artifact-preview{max-height:220px;overflow:auto;margin:14px 0 0;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:9px;color:#0f172a;background:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere}.company-publish-input{grid-template-columns:minmax(0,1fr) auto;margin-top:10px}@media(max-width:960px){.company-top-grid,.company-action-grid,.company-loop-grid,.company-ops-grid,.company-bottom-grid{grid-template-columns:1fr}.company-hero,.company-panel-head{align-items:stretch;flex-direction:column}.company-kpi-grid,.company-mini-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-field-button>div,.company-two-fields,.company-metric-row,.company-metric-row--revenue,.company-publish-input{grid-template-columns:1fr}}@media(max-width:640px){.company-core-page>*{width:min(100%,calc(100% - 20px))}.company-hero h1{font-size:36px;line-height:1.04}.company-kpi-grid,.company-mini-stat-grid{grid-template-columns:1fr}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{r as o,j as e}from"./vendor-react-BXzpOyCS.js";import{s as pe,z as st,B as rt,aq as ot,ar as ct,as as lt,at as dt,au as pt,av as ut,aw as mt,ax as ht,ay as gt,az as yt}from"./canvas-runtime-BbicBcOj.js";import{R as y}from"./app-runtime-xD2Z3NdN.js";import{an as bt,R as ft,a3 as Be,ad as vt,c as xt,D as wt,h as kt,aA as Ct}from"./vendor-icons-DE3gIReG.js";const ee=[{role:"bootstrap",label:"Low Risk / Bootstrap-Friendly",strategy:"Single-function AI utility with a capped free tier",why:"Ship one painful workflow as a narrow tool before building a broad platform surface.",keyPoints:["Keep the product boundary small enough for one founder to maintain.","Use the free tier as proof of repeated usage, not as vanity traffic.","Convert on saved history, exports, and team review rather than raw access."],executionPlaybook:["Name one repetitive task with clear input and output.","Build a deterministic workflow around that task before adding broad AI chat.","Publish a before-and-after proof page for the workflow.","Add usage caps and one paid upgrade path after repeat usage is visible."],firstProof:"Publish one before-and-after demo and collect five qualified problem statements.",monetization:"Free utility, then USD monthly subscription for saved history, exports, and team review.",expectedImpact:{initialCac:"$0-$25 through niche community demos",monthlyGrowthRate:"5-12% while proof content compounds",requiredCapital:"$0-$500 before paid adapter work"},toolsServices:["LLM APIs","Stripe or Paddle","Product Hunt"],caveats:["The free tier must be capped tightly enough to protect model cost.","A narrow tool can be copied, so proof quality and workflow memory matter."],keywords:["ai","workflow","utility","solo","builder","memory","proof","launch","automation","canvas"],sourcePrinciples:["Single-function AI utility solving repetitive knowledge work","Freemium subscription model with tiered access"]},{role:"bootstrap",label:"Low Risk / Bootstrap-Friendly",strategy:"Expert template library with paid packs",why:"A template pack lets a solo founder validate willingness to pay without heavy runtime infrastructure.",keyPoints:["Package expertise as finished artifacts before building a larger engine.","Sell a narrow outcome instead of a vague productivity promise.","Use pack sales and replies as demand evidence for the later SaaS."],executionPlaybook:["Create three outcome-specific templates from the same product engine.","Publish a free sample and a paid pack with concrete examples.","Collect buyer objections and missing-template requests.","Turn repeated requests into the next automated workflow."],firstProof:"Release three outcome-specific templates and measure completed downloads plus replies.",monetization:"One-time paid packs that can later become a subscription library.",expectedImpact:{initialCac:"$0-$15 from direct creator channels",monthlyGrowthRate:"3-8% until a recurring workflow is added",requiredCapital:"$0-$200 for payment and landing setup"},toolsServices:["Gumroad or Lemon Squeezy","Notion","Email capture"],caveats:["Templates validate appetite, but they do not prove recurring software retention.","The artifact must feel complete enough to buy without a sales call."],keywords:["template","pack","content","prompt","playbook","doc","notion","guide","side project"],sourcePrinciples:["AI-driven frameworks for structured ideation","Simultaneously create validation artifacts during ideation phase"]},{role:"bootstrap",label:"Low Risk / Bootstrap-Friendly",strategy:"Bootstrapped marketplace wedge",why:"Marketplace-native distribution can validate a small paid workflow before paid acquisition or enterprise integrations are needed.",keyPoints:["Borrow demand from a marketplace where the target buyer already searches.","Start with a listing, plug-in, or downloadable asset before a full platform.","Reinvest every early dollar into proof quality and retention evidence."],executionPlaybook:["Pick one marketplace with existing buyer intent.","Publish a tightly scoped first listing with a measurable before-and-after result.","Use marketplace analytics to identify the strongest niche language.","Move repeat buyers into an owned email or workspace loop."],firstProof:"Launch one marketplace listing and track saves, installs, replies, and paid trials.",monetization:"Marketplace sale or lightweight subscription, then owned direct plan after proof.",expectedImpact:{initialCac:"$0-$30 from marketplace search",monthlyGrowthRate:"4-10% while listing rank improves",requiredCapital:"$0-$300 plus marketplace fees"},toolsServices:["Shopify App Store","Chrome Web Store","Etsy","Stripe"],caveats:["Platform policy changes can break distribution.","Marketplace users compare quickly, so positioning must be painfully specific."],keywords:["marketplace","plugin","extension","shopify","chrome","store","distribution","bootstrap"],sourcePrinciples:["Marketplace-native distribution","Bootstrapped revenue reinvestment"]},{role:"growth",label:"High Growth / Viral",strategy:"Community-led proof loop",why:"Make the output easy to share so each user proof becomes distribution for the workflow.",keyPoints:["Every generated result should be useful as a public artifact.","Community posts should teach first and sell second.","The product loop should capture replies as future feature evidence."],executionPlaybook:["Create one shareable proof page for every successful run.","Post the proof in one high-fit community with transparent context.","Add a small badge or fork button that brings viewers back into the workflow.","Turn repeated comments into the next validation prompt."],firstProof:"Generate a public proof page for each run and add a shareable result badge.",monetization:"Free public proofs with paid private workspaces, branding removal, and analytics.",expectedImpact:{initialCac:"$0-$10 from Reddit, Indie Hackers, and X posts",monthlyGrowthRate:"10-25% when proofs travel",requiredCapital:"$0-$500 for hosting and analytics"},toolsServices:["Reddit","Indie Hackers","Product Hunt","Analytics"],caveats:["Communities punish low-effort promotion.","Shareable output must be genuinely useful without signing in."],keywords:["community","viral","share","proof","public","launch","founder","reddit","indie","growth"],sourcePrinciples:["Organic community-driven launch","Simultaneously create validation artifacts during ideation phase"]},{role:"growth",label:"High Growth / Viral",strategy:"Creator-led video proof engine",why:"Video demos make a complex workflow easier to trust and can turn each build session into search-driven distribution.",keyPoints:["Turn the product doing work into content, not a separate marketing chore.","Use repeatable screen recordings to show before-and-after transformation.","Let public demos feed the next workflow backlog."],executionPlaybook:["Record short workflow transformations with one buyer problem per video.","Publish the same proof as YouTube, Shorts, and a written teardown.","Invite viewers to submit their own input for the next public run.","Gate private runs, saved history, and exports behind a paid plan."],firstProof:"Publish three short workflow videos and measure comments, saves, and inbound prompts.",monetization:"Free public video proofs with paid private execution workspace and consulting upgrades.",expectedImpact:{initialCac:"$0-$20 but time-heavy",monthlyGrowthRate:"8-20% after a searchable content base forms",requiredCapital:"$0-$400 for capture, editing, and hosting"},toolsServices:["YouTube","Loom","Screen Studio","Email capture"],caveats:["Audience growth is slower than direct outreach.","The founder must keep publishing consistently enough for the loop to learn."],keywords:["youtube","video","demo","content","creator","tutorial","screen","marketing"],sourcePrinciples:["Build YouTube content as primary distribution channel","Replace text with video messaging"]},{role:"growth",label:"High Growth / Viral",strategy:"Ecosystem wedge for an existing mass-market tool",why:"Attaching to a tool people already use reduces adoption friction and discovery cost.",keyPoints:["Integrate with a tool that already owns the daily habit.","Solve the secondary workflow the platform does not prioritize.","Keep import/export compatibility visible from day one."],executionPlaybook:["Pick one ecosystem with a large installed base and obvious workflow pain.","Build one import/export path before trying deep two-way sync.","Launch in the ecosystem community with a concrete migration example.","Track which imported objects become paid retained workspaces."],firstProof:"Create an import/export flow for one existing tool and launch in that community.",monetization:"Subscription for automation limits, synced history, and advanced integrations.",expectedImpact:{initialCac:"$0-$40 from ecosystem communities",monthlyGrowthRate:"12-30% if the wedge becomes a habit",requiredCapital:"$200-$1,500 for integration polish"},toolsServices:["Chrome extension","Zapier","Notion API","Slack or Discord"],caveats:["Third-party API changes can create urgent maintenance.","The wedge must respect ecosystem conventions or users will reject it."],keywords:["integration","ecosystem","notion","slack","chrome","import","export","sync","agent"],sourcePrinciples:["Tapping established mass-market ecosystems","Accelerated component-based development"]},{role:"premium",label:"Premium / High Margin",strategy:"High-margin operating cockpit",why:"A cockpit can justify higher pricing when it combines decisions, evidence, and repeatable execution.",keyPoints:["Sell a decision system, not a generic AI surface.","Make evidence, approvals, and artifact history visible enough for serious buyers.","Use onboarding and audit trails as premium value, not overhead."],executionPlaybook:["Run the cockpit manually for three qualified buyers.","Document every repeated decision, approval, and artifact handoff.","Productize the repeated path while keeping money and publish actions gated.","Sell annual access after one measurable business outcome is proven."],firstProof:"Run the workflow manually for three buyers and turn each result into a paid case study.",monetization:"Premium monthly seat or annual license with onboarding, priority workflows, and audit trails.",expectedImpact:{initialCac:"$50-$300 through direct outreach",monthlyGrowthRate:"3-10% with high ARPA and referrals",requiredCapital:"$500-$2,500 for onboarding and support bandwidth"},toolsServices:["CRM","Stripe or Paddle","Audit logs","Customer interviews"],caveats:["Premium buyers need trust, proof, and support.","A cockpit must stay calm and operational, not decorative."],keywords:["cockpit","dashboard","operations","execution","approval","audit","company","decision","workspace"],sourcePrinciples:["High-margin operating cockpit","Data-driven UX optimization"]},{role:"premium",label:"Premium / High Margin",strategy:"Done-with-you specialist workflow",why:"Service-assisted delivery can discover the exact product boundary before automating the expensive parts.",keyPoints:["Charge for expert execution while learning which steps deserve software.","Use each sprint as a structured discovery session.","Keep the future product boundary grounded in paid work, not guesses."],executionPlaybook:["Offer a fixed-price sprint with a clear deliverable.","Deliver manually through the React cockpit and record every repeated step.","Convert repeated steps into reusable product modules.","Move satisfied sprint buyers to recurring access."],firstProof:"Offer a fixed-price sprint and capture every repeated step as future product scope.",monetization:"High-ticket setup fee plus recurring platform access after the sprint.",expectedImpact:{initialCac:"$75-$500 from targeted founder outreach",monthlyGrowthRate:"2-8% but high cash efficiency",requiredCapital:"$0-$1,000, mostly founder time"},toolsServices:["Calendly","Stripe invoice","Screen recordings","CRM"],caveats:["Service work can crowd out product building if not bounded.","Every sprint needs a product-learning artifact."],keywords:["consulting","service","sprint","premium","founder","agency","case study"],sourcePrinciples:["Done-with-you specialist workflow","Compressed time entrepreneurship"]},{role:"premium",label:"Premium / High Margin",strategy:"Compliance or policy-shift command center",why:"When external rules change, buyers pay more for a system that turns uncertainty into a tracked action plan.",keyPoints:["Monitor a niche where rule changes create urgent business work.","Translate changes into tasks, evidence, and approval checkpoints.","Price around risk reduction and implementation confidence."],executionPlaybook:["Pick one policy-sensitive niche with visible upcoming changes.","Create a local readiness checklist and evidence graph.","Run one manual audit for a target buyer.","Turn the audit into a recurring monitoring workspace."],firstProof:"Complete one paid readiness audit and identify the repeatable monitoring workflow.",monetization:"Annual license or monitoring retainer with premium onboarding.",expectedImpact:{initialCac:"$100-$600 through targeted expert outreach",monthlyGrowthRate:"2-6% but high retention if the risk persists",requiredCapital:"$500-$3,000 for expert validation"},toolsServices:["Monitoring feeds","CRM","Audit logs","Secure storage"],caveats:["Bad advice can create trust and liability risk.","Expert review should remain explicit until a verified adapter exists."],keywords:["compliance","policy","regulatory","risk","audit","security","finance","health","legal"],sourcePrinciples:["Regulatory shift anticipation","Premium high-margin operating model"]}],jt=["bootstrap","growth","premium"];function St(){return ee.length}function At(a,i){const n=a.trim()||"Untitled company",p=i.trim()||"Untitled SaaS idea",v=`${n} ${p}`,A=jt.map(r=>{const I=ee.filter($=>$.role===r).map($=>Pt($,v)).sort(($,G)=>G.score-$.score||$.strategy.strategy.localeCompare(G.strategy.strategy))[0],{keywords:S,sourcePrinciples:E,...q}=I.strategy;return{...q,matchSignals:I.matchSignals.length>0?I.matchSignals:E.slice(0,2),score:I.score}}),k=Array.from(new Set(A.flatMap(r=>r.matchSignals))).slice(0,8);return{content:["# SaaS Strategy Blueprint","",`Company: ${n}`,`Idea: ${p}`,"","Adapter boundary: this is a deterministic local blueprint generated from the React knowledge base extracted from the original Business plugin. It does not claim live AI, checkout, publishing, CRM, or external execution until a bridge-backed adapter returns evidence.",`Knowledge base: ${ee.length} local strategy entries / ${k.length} matched signals.`,"",...A.flatMap((r,U)=>[`### Option ${U+1}: ${r.strategy} (${r.label})`,"","**Why this fits:**",r.why,"","**Key points:**",...r.keyPoints.map(w=>`- ${w}`),"","**Execution playbook:**",...r.executionPlaybook.map((w,I)=>`${I+1}. ${w}`),"","**Expected impact:**",`- Initial CAC: ${r.expectedImpact.initialCac}`,`- Expected monthly growth rate: ${r.expectedImpact.monthlyGrowthRate}`,`- Required capital: ${r.expectedImpact.requiredCapital}`,"","**First proof:**",r.firstProof,"","**Monetization:**",r.monetization,"","**Knowledge signals:**",...r.matchSignals.map(w=>`- ${w}`),"","**Caveats:**",...r.caveats.map(w=>`- ${w}`),""]),"Next local action: pick one option, produce one proof artifact, and keep every external action approval-gated."].join(`
|
|
2
|
+
`),options:A,sourceStrategyCount:ee.length,knowledgeSignals:k}}function Pt(a,i){const n=i.toLowerCase(),p=a.keywords.filter(g=>n.includes(g.toLowerCase())),v=a.sourcePrinciples.filter(g=>g.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).some(r=>r.length>4&&n.includes(r))),A=Nt(`${i}:${a.strategy}`)%100/1e3,k=Math.min(.99,.42+p.length*.08+v.length*.05+A);return{strategy:a,matchSignals:Array.from(new Set([...p,...v])),score:k}}function Nt(a){let i=2166136261;for(let n=0;n<a.length;n+=1)i^=a.charCodeAt(n),i=Math.imul(i,16777619);return i>>>0}const me="mindexec-react-company-core-v1",N={id:"company-mindexec-global-launch",name:"MindExec Global Launch",goal:"Ship a USD-first execution cockpit for solo builders and prove one paid workflow.",status:"running",enableSubAgents:!0,createdAt:"2026-06-21T00:00:00.000Z"};function x(){return new Date().toISOString()}function f(a){return typeof crypto<"u"&&"randomUUID"in crypto?`${a}-${crypto.randomUUID()}`:`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function te(){return{companies:[N],runs:[{id:"run-local-readiness",companyId:N.id,action:"Prepare React CompanyCore cockpit",status:"completed",createdAt:x()}],approvals:[{id:"approval-pricing-proof",companyId:N.id,riskLevel:"medium",toolName:"PublishingJob.MarkPublished",action:"Publish pricing proof after hosted verification",summary:"External publishing stays human-gated until a real URL and checkout adapter are confirmed.",status:"pending"}],artifacts:[{id:"artifact-launch-contract",companyId:N.id,type:"launch-contract",summary:"USD-first launch contract and verification checklist",path:"company-core/mindexec-global-launch/launch-contract.md",content:`Goal: prove MindExec can turn a free utility workflow into a durable paid MindCanvas workflow.
|
|
3
|
+
|
|
4
|
+
Evidence required: hosted URL, working React route, pricing gate, lead capture, and one reusable execution artifact.`,createdAt:x()}],publishing:[{id:"publish-launch-note",companyId:N.id,channel:"Launch note",action:"Publish hosted proof URL after route verification",status:"draft"}],signals:[{id:"signal-builder-memory",companyId:N.id,community:"solo builders",text:"People lose momentum when AI outputs are scattered across chats and files.",detectedPain:"Reusable context and evidence disappear between work sessions.",relevance:.88,url:"https://mindexec.pages.dev/mindcanvas"}],growthDecisions:[{id:"growth-decision-continue",companyId:N.id,kind:"continue",score:.74,reason:"The free tools to MindCanvas handoff gives a clear low-friction funnel.",next:"Create one English proof asset that shows a tool result becoming a canvas plan."}],revenueDecisions:[{id:"revenue-decision-pilot",companyId:N.id,kind:"continue",score:.68,reason:"The $12 Pro path is plausible once saved boards and launch evidence are visible.",next:"Keep checkout gated until secure payment adapter is wired."}],metrics:[{id:"metric-cta-click",companyId:N.id,name:"cta_click_rate",value:.08,unit:"ratio",createdAt:x()}],reflections:[{id:"reflection-local-shell",companyId:N.id,scope:"CompanyCore React port",summary:"The web cockpit can operate locally while external publish and money actions remain gated.",ruleUpdate:"Never show external actions as completed without adapter evidence.",createdAt:x()}],selectedCompanyId:N.id,lastActionMessage:"Local CompanyCore shell restored.",bridgeProjection:{source:"local"}}}function It(){var a;try{const i=window.localStorage.getItem(me);if(!i){const v=te();return y.emit("companyCore.localState.loaded",{source:"default",companies:v.companies.length}),v}const n=JSON.parse(i);if(!Array.isArray(n.companies)||n.companies.length===0){const v=te();return y.emit("companyCore.localState.loaded",{source:"invalid",companies:v.companies.length}),v}const p={companies:n.companies,runs:Array.isArray(n.runs)?n.runs:[],approvals:Array.isArray(n.approvals)?n.approvals:[],artifacts:Array.isArray(n.artifacts)?n.artifacts:[],publishing:Array.isArray(n.publishing)?n.publishing:[],signals:Array.isArray(n.signals)?n.signals:[],growthDecisions:Array.isArray(n.growthDecisions)?n.growthDecisions:[],revenueDecisions:Array.isArray(n.revenueDecisions)?n.revenueDecisions:[],metrics:Array.isArray(n.metrics)?n.metrics:[],reflections:Array.isArray(n.reflections)?n.reflections:[],selectedCompanyId:n.selectedCompanyId,lastActionMessage:n.lastActionMessage,bridgeProjection:((a=n.bridgeProjection)==null?void 0:a.source)==="bridge"?n.bridgeProjection:{source:"local"}};return y.emit("companyCore.localState.loaded",{source:"stored",companies:p.companies.length,selectedCompanyId:p.selectedCompanyId||""}),p}catch(i){return y.emit("companyCore.localState.failed",{operation:"load",message:i instanceof Error?i.message:String(i)}),te()}}function $t(a){try{window.localStorage.setItem(me,JSON.stringify(a)),y.emit("companyCore.localState.saved",{companies:a.companies.length,selectedCompanyId:a.selectedCompanyId||"",artifacts:a.artifacts.length})}catch(i){y.emit("companyCore.localState.failed",{operation:"save",message:i instanceof Error?i.message:String(i)})}}function he(a){return Math.max(.1,Math.min(.99,a))}function d(a,i){return String(a??"").trim()||i}function Ge(a){const i=String(a||"").toLowerCase();return i.includes("pause")?"paused":i.includes("queue")||i.includes("draft")?"queued":"running"}function Rt(a){const i=String(a||"").toLowerCase();return i.includes("run")||i.includes("progress")?"running":i.includes("queue")||i.includes("pending")?"queued":"completed"}function Mt(a){const i=String(a||"").toLowerCase();return i.includes("reject")||i.includes("deny")?"rejected":i.includes("approve")||i.includes("accept")||i.includes("execut")?"approved":"pending"}function Bt(a){const i=String(a||"").toLowerCase();return i.includes("high")?"high":i.includes("low")?"low":"medium"}function Dt(a){const i=String(a||"").toLowerCase();return i.includes("publish")||i.includes("done")||i.includes("complete")?"published":i.includes("queue")||i.includes("pending")?"queued":"draft"}function ze(a){const i=String(a||"").toLowerCase();return i.includes("scale")?"scale":i.includes("pivot")?"pivot":i.includes("kill")||i.includes("stop")?"kill":"continue"}function Lt(a,i){return{id:d(a.id,`bridge-company-${i+1}`),name:d(a.name,"Unnamed CompanyCore company"),goal:d(a.purpose||a.topGoalId,"Bridge-backed CompanyCore company"),status:Ge(a.status),enableSubAgents:!0,createdAt:x()}}function Gt(a,i){return{id:d(a.id,`bridge-run-${i+1}`),companyId:d(a.companyId,"bridge-company"),action:d(a.summary||a.type,"CompanyCore bridge run"),status:Rt(a.status),createdAt:d(a.createdAt,x())}}function zt(a,i,n){return{id:d(a.id,`bridge-approval-${i+1}`),companyId:d(a.companyId,n),riskLevel:Bt(a.riskLevel),toolName:d(a.toolName,"CompanyCore.Tool"),action:d(a.action,"Review bridge approval"),summary:d(a.summary||a.expectedImpact||a.rollbackPlan,"Bridge approval requires explicit review."),status:Mt(a.status)}}function Tt(a,i,n){const p=d(a.path,`company-core/bridge-artifact-${i+1}.md`);return{id:d(a.id,`bridge-artifact-${i+1}`),companyId:d(a.companyId,n),type:d(a.type,"bridge-artifact"),summary:d(a.summary,p),path:p,content:["# CompanyCore Bridge Artifact","",`Path: ${p}`,`Summary: ${d(a.summary,"No summary provided by bridge.")}`,"","Content preview remains read-only in React until artifact content streaming is wired."].join(`
|
|
5
|
+
`),createdAt:d(a.createdAt,x())}}function Et(a,i,n){return{id:d(a.id,`bridge-publish-${i+1}`),companyId:d(a.companyId,n),channel:d(a.channel,"Bridge publishing"),action:d(a.action,"Review publishing job"),status:Dt(a.status),externalUrl:String(a.externalUrl||"").trim()||void 0}}function qt(a,i,n){return{id:d(a.id,`bridge-signal-${i+1}`),companyId:d(a.companyId,n),community:d(a.community||a.source,"bridge signal"),text:d(a.text,"CompanyCore bridge signal"),detectedPain:d(a.detectedPain,"Bridge evidence needs review."),relevance:he(Number(a.relevance??.5)),url:d(a.url,"https://mindexec.pages.dev/company-core")}}function Ut(a,i,n){var p;return{id:d(a.id,`bridge-growth-decision-${i+1}`),companyId:d(a.companyId,n),kind:ze(a.decision),score:.72,reason:d(a.reason,"Bridge growth decision returned without a reason."),next:((p=a.nextExperimentIdeas)==null?void 0:p[0])||"Review the bridge-backed next experiment."}}function Ot(a,i,n){var p;return{id:d(a.id,`bridge-revenue-decision-${i+1}`),companyId:d(a.companyId,n),kind:ze(a.decision),score:he(Number(a.score??a.confidence??.64)),reason:d(a.reason,"Bridge revenue decision returned without a reason."),next:((p=a.nextExperimentIdeas)==null?void 0:p[0])||"Review the bridge-backed revenue next experiment."}}function Ht(a,i){return((a==null?void 0:a.reflections)??[]).map((n,p)=>({id:d(n.id,`bridge-reflection-${p+1}`),companyId:d(n.companyId,i),scope:d(n.scope,"bridge-reflection"),summary:d(n.summary||n.whatWorked||n.whatFailed,"CompanyCore bridge reflection"),ruleUpdate:String(n.ruleUpdate||"").trim()||void 0,createdAt:d(n.createdAt,x())}))}async function Ft(a,i,n,p){var O,J,H,W,F;const[v,A]=await Promise.all([ct(n,p),lt(20,n,p)]),k=v.map(Lt),g=(a.selectedCompanyId&&k.some(b=>b.id===a.selectedCompanyId)?a.selectedCompanyId:(O=k[0])==null?void 0:O.id)||a.selectedCompanyId||((J=a.companies[0])==null?void 0:J.id);if(!g||k.length===0)return{...a,bridgeProjection:{source:"bridge",syncedAt:x(),healthStatus:d(i.status,"unknown"),baseUrl:p},lastActionMessage:"LocalBridge CompanyCore is reachable, but no companies were returned."};const[r,U,w,I,S,E,q]=await Promise.all([dt(g,n,p).catch(()=>null),pt(g,n,p).catch(()=>[]),ut(g,n,p).catch(()=>[]),mt(g,n,p).catch(()=>({jobs:[]})),ht(g,n,p).catch(()=>null),gt(g,n,p).catch(()=>null),yt(g,n,p).catch(()=>null)]),$=k.find(b=>b.id===g),G=r&&$?k.map(b=>b.id===g?{...b,name:d(r.name,b.name),goal:d(r.topGoal||r.currentStrategy,b.goal),status:Ge(r.status)}:b):k,ae={source:"bridge",syncedAt:x(),healthStatus:d(i.status,"unknown"),snapshotStatus:r==null?void 0:r.status,activeMissionCount:r==null?void 0:r.activeMissionCount,runningAgentCount:r==null?void 0:r.runningAgentCount,waitingApprovalCount:r==null?void 0:r.waitingApprovalCount,totalAgents:(H=r==null?void 0:r.population)==null?void 0:H.totalAgents,nodeCount:(W=r==null?void 0:r.nodes)==null?void 0:W.length,edgeCount:(F=r==null?void 0:r.edges)==null?void 0:F.length,baseUrl:p};return{...a,companies:G,runs:A.map(Gt),approvals:U.map((b,C)=>zt(b,C,g)),artifacts:w.map((b,C)=>Tt(b,C,g)),publishing:(I.jobs??[]).map((b,C)=>Et(b,C,g)),signals:((S==null?void 0:S.signals)??[]).map((b,C)=>qt(b,C,g)),growthDecisions:((S==null?void 0:S.decisions)??[]).map((b,C)=>Ut(b,C,g)),revenueDecisions:((E==null?void 0:E.revenueDecisions)??[]).map((b,C)=>Ot(b,C,g)),reflections:Ht(q,g),selectedCompanyId:g,bridgeProjection:ae,lastActionMessage:`CompanyCore bridge snapshot loaded from ${p}.`}}function Wt(){var ke,Ce,je,Se,Ae,Pe,Ne,Ie,$e,Re,Me;const[a,i]=o.useState(()=>It()),[n,p]=o.useState(()=>({state:pe()?"idle":"blocked",baseUrl:"http://127.0.0.1:5147",message:pe()?void 0:"Hosted LocalBridge access is off."})),[v,A]=o.useState(!1),[k,g]=o.useState("MindExec Launch Cell"),[r,U]=o.useState("Turn one React MindExec workflow into a paid USD launch proof."),[w,I]=o.useState("Create the next launch proof artifact and identify the riskiest missing adapter."),[S,E]=o.useState(!0),[q,$]=o.useState("AI coding workflow memory problem"),[G,ae]=o.useState("solo AI builders"),[O,J]=o.useState("cta_click_rate"),[H,W]=o.useState(.08),[F,b]=o.useState("AI execution workspace for solo founders"),[C,Te]=o.useState("AI execution workspace for solo founders who need proof, memory, and launch discipline."),[ne,Ee]=o.useState("qualified_leads"),[ie,qe]=o.useState(3),[se,Ue]=o.useState("count"),[Oe,ge]=o.useState(null),[re,He]=o.useState({}),oe=o.useRef(),ce=o.useRef(a);o.useEffect(()=>(window.clearTimeout(oe.current),oe.current=window.setTimeout(()=>$t(a),250),()=>window.clearTimeout(oe.current)),[a]),o.useEffect(()=>{ce.current=a},[a]);const u=o.useMemo(()=>a.companies.find(t=>t.id===a.selectedCompanyId)||a.companies[0],[a.companies,a.selectedCompanyId]),s=(u==null?void 0:u.id)||"",Fe=o.useMemo(()=>a.runs.filter(t=>t.companyId===s),[s,a.runs]),le=o.useMemo(()=>a.approvals.filter(t=>t.companyId===s),[s,a.approvals]),R=le.filter(t=>t.status==="pending"),z=o.useMemo(()=>a.artifacts.filter(t=>t.companyId===s),[s,a.artifacts]),ye=o.useMemo(()=>a.publishing.filter(t=>t.companyId===s),[s,a.publishing]),Y=o.useMemo(()=>a.signals.filter(t=>t.companyId===s),[s,a.signals]),Ke=o.useMemo(()=>a.growthDecisions.filter(t=>t.companyId===s),[s,a.growthDecisions]),_=o.useMemo(()=>a.revenueDecisions.filter(t=>t.companyId===s),[s,a.revenueDecisions]),K=o.useMemo(()=>a.metrics.filter(t=>t.companyId===s),[s,a.metrics]),_e=o.useMemo(()=>a.reflections.filter(t=>t.companyId===s),[s,a.reflections]),be=z.find(t=>t.id===Oe)||z[0]||null,fe=o.useMemo(()=>C.trim()||(u==null?void 0:u.goal)||r.trim(),[r,C,u==null?void 0:u.goal]),Q=o.useMemo(()=>At((u==null?void 0:u.name)||"Selected company",fe),[fe,u==null?void 0:u.name]),X=o.useMemo(()=>[{type:"company",title:(u==null?void 0:u.name)||"No company",status:(u==null?void 0:u.status)||"queued",subtitle:(u==null?void 0:u.goal)||""},{type:"mission",title:"Growth loop",status:`${Y.length} signals`,subtitle:"Market and social evidence"},{type:"mission",title:"Revenue loop",status:`${_.length} decisions`,subtitle:"Continue / scale / pivot / kill"},{type:"approval",title:"Approval queue",status:`${R.length} pending`,subtitle:"External actions stay human-gated"},{type:"artifact",title:"Artifacts",status:`${z.length} files`,subtitle:"Reports, drafts, proofs, screenshots"}],[z.length,R.length,_.length,u,Y.length]),Ve=((ke=a.bridgeProjection)==null?void 0:ke.nodeCount)??X.length,Je=((Ce=a.bridgeProjection)==null?void 0:Ce.edgeCount)??Math.max(0,X.length-1),We=(je=a.bridgeProjection)!=null&&je.healthStatus?`${n.state} / ${a.bridgeProjection.healthStatus}`:n.state==="connected"?"reachable":n.state,h=o.useCallback(t=>{i(l=>t(l))},[]),Ye=o.useCallback(t=>{y.emit("companyCore.company.selected",{companyId:t}),h(l=>({...l,selectedCompanyId:t}))},[h]),T=o.useCallback(t=>{y.emit("companyCore.artifact.selected",{artifactId:t}),ge(t)},[]),Qe=o.useCallback(async()=>{var t,l,m;A(!0),y.emit("companyCore.bridge.refresh");try{if(!pe()){p({state:"blocked",baseUrl:"http://127.0.0.1:5147",message:"Hosted LocalBridge access is off."}),y.emit("companyCore.bridge.blocked",{reason:"hosted-localbridge-gated"}),h(M=>({...M,bridgeProjection:{...M.bridgeProjection||{source:"local"},source:"local"},lastActionMessage:"CompanyCore is running in local React shell mode."}));return}const c=await st();if(p(c),c.state!=="connected"){y.emit("companyCore.bridge.snapshot.failed",{state:c.state,message:c.message||""}),h(M=>({...M,bridgeProjection:{...M.bridgeProjection||{source:"local"},source:"local"},lastActionMessage:"LocalBridge is unavailable; local CompanyCore shell remains active."}));return}const j=rt(c.status),P=await ot(j,c.baseUrl),L=await Ft(ce.current,P,j,c.baseUrl);ce.current=L,i(L),y.emit("companyCore.bridge.snapshot.loaded",{companies:L.companies.length,selectedCompanyId:L.selectedCompanyId||"",source:((t=L.bridgeProjection)==null?void 0:t.source)||"local",nodeCount:((l=L.bridgeProjection)==null?void 0:l.nodeCount)??0,edgeCount:((m=L.bridgeProjection)==null?void 0:m.edgeCount)??0})}catch(c){y.emit("companyCore.bridge.snapshot.failed",{message:c instanceof Error?c.message:String(c)}),h(j=>({...j,bridgeProjection:{...j.bridgeProjection||{source:"local"},source:"local"},lastActionMessage:"CompanyCore bridge read failed; local shell remains active."}))}finally{A(!1)}},[h]),ve=o.useCallback(t=>{t==null||t.preventDefault();const l=k.trim(),m=r.trim();if(!l||!m)return;const c=f("company"),j=f("run"),P=f("artifact"),L=f("approval"),M=x(),it={id:c,name:l,goal:m,status:"running",enableSubAgents:S,createdAt:M};h(B=>({...B,companies:[it,...B.companies],selectedCompanyId:c,runs:[{id:j,companyId:c,action:`Create and queue run: ${l}`,status:"running",createdAt:M},...B.runs],approvals:[{id:L,companyId:c,riskLevel:"medium",toolName:"ExternalPublish",action:"Publish first proof asset",summary:"Publishing is prepared locally, but must be approved before any external action is treated as complete.",status:"pending"},...B.approvals],artifacts:[{id:P,companyId:c,type:"launch-brief",summary:`${l} launch brief`,path:`company-core/${c}/launch-brief.md`,content:`# ${l}
|
|
6
|
+
|
|
7
|
+
Goal: ${m}
|
|
8
|
+
|
|
9
|
+
Sub-agents: ${S?"enabled":"disabled"}
|
|
10
|
+
|
|
11
|
+
Next: validate the smallest proof workflow and keep external actions gated.`,createdAt:M},...B.artifacts],publishing:[{id:f("publish"),companyId:c,channel:"Landing proof",action:"Prepare public proof URL",status:"draft"},...B.publishing],signals:[{id:f("signal"),companyId:c,community:"target users",text:`Search for the pain behind: ${m}`,detectedPain:"The buyer needs a faster route from intent to verified output.",relevance:.72,url:"https://mindexec.pages.dev/tools"},...B.signals],growthDecisions:[{id:f("growth-decision"),companyId:c,kind:"continue",score:.66,reason:"A newly created company needs one proof loop before paid conversion can be judged.",next:"Run signal search, create a proof artifact, then review approvals."},...B.growthDecisions],revenueDecisions:B.revenueDecisions,reflections:[{id:f("reflection"),companyId:c,scope:"create-and-run",summary:`Created ${l} in the React CompanyCore shell.`,ruleUpdate:"Treat local shell runs as preparation until bridge-backed execution evidence exists.",createdAt:M},...B.reflections],lastActionMessage:`${l} created and queued in the local CompanyCore shell.`})),T(P),y.emit("companyCore.company.created",{companyId:c,artifactId:P,enableSubAgents:S})},[r,k,S,T,h]),Xe=o.useCallback(()=>{if(!s||!w.trim())return;const t=f("artifact");y.emit("companyCore.task.submitted",{companyId:s}),h(l=>({...l,runs:[{id:f("run"),companyId:s,action:w.trim(),status:"completed",createdAt:x()},...l.runs],artifacts:[{id:t,companyId:s,type:"task-result",summary:"Task result captured in local shell",path:`company-core/${s}/task-result.md`,content:`Instruction: ${w.trim()}
|
|
12
|
+
|
|
13
|
+
Local result: turn this into a bridge-backed CompanyCore task when the adapter is available.`,createdAt:x()},...l.artifacts],reflections:[{id:f("reflection"),companyId:s,scope:"task",summary:"Task submitted and captured as a local artifact.",createdAt:x()},...l.reflections],lastActionMessage:"Task submitted into the local CompanyCore shell."})),T(t)},[T,s,w,h]),Ze=o.useCallback(()=>{s&&(y.emit("companyCore.growth.plan",{companyId:s}),h(t=>({...t,signals:[{id:f("signal"),companyId:s,community:"growth plan",text:"Turn the current proof workflow into one English landing page, one demo clip, and one lead capture CTA.",detectedPain:"Users need to see a complete before/after workflow before trusting a paid canvas.",relevance:.81,url:"https://mindexec.pages.dev/pricing"},...t.signals],lastActionMessage:"Growth plan generated locally."})))},[s,h]),xe=o.useCallback(t=>{if(!s)return;const l=t==="market"?q.trim():G.trim();l&&(y.emit("companyCore.signal.search",{kind:t}),h(m=>({...m,signals:[{id:f("signal"),companyId:s,community:t==="market"?"market evidence":"social niche",text:l,detectedPain:t==="market"?"The market signal should become a concrete proof asset before paid CTA pressure increases.":"Social signals should be converted into one reusable language snippet for the launch page.",relevance:t==="market"?.79:.7,url:"https://mindexec.pages.dev/planmaster"},...m.signals],lastActionMessage:`${t==="market"?"Market":"Social"} signal captured locally.`})))},[s,q,G,h]),we=o.useCallback(t=>{if(!s)return;const l=t==="growth"?O.trim():ne.trim(),m=t==="growth"?H:ie;l&&(y.emit(t==="growth"?"companyCore.growth.metric":"companyCore.revenue.metric",{name:l}),h(c=>({...c,metrics:[{id:f("metric"),companyId:s,name:l,value:m,unit:t==="growth"?"ratio":se,createdAt:x()},...c.metrics],lastActionMessage:`${t==="growth"?"Growth":"Revenue"} metric saved locally.`})))},[O,H,ne,se,ie,s,h]),de=o.useCallback(t=>{var j;if(!s)return;const l=((j=K[0])==null?void 0:j.value)??.5,m=he(t==="growth"?.62+l*.6:.55+l*.08),c={id:f(`${t}-decision`),companyId:s,kind:m>.74?"scale":m>.48?"continue":"pivot",score:m,reason:t==="growth"?"Current signal density supports another proof and distribution experiment before a pivot.":`Revenue niche "${F}" needs checkout adapter evidence before scaling spend.`,next:t==="growth"?"Publish one proof asset and measure lead capture intent.":"Collect one paid-intent signal, then connect secure checkout."};y.emit(t==="growth"?"companyCore.growth.decision":"companyCore.revenue.decision",{kind:c.kind,score:c.score}),h(P=>({...P,growthDecisions:t==="growth"?[c,...P.growthDecisions]:P.growthDecisions,revenueDecisions:t==="revenue"?[c,...P.revenueDecisions]:P.revenueDecisions,lastActionMessage:`${t==="growth"?"Growth":"Revenue"} decision generated locally.`}))},[K,F,s,h]),et=o.useCallback(()=>{if(!s||!u)return;const t=Q,l=f("artifact"),m=x();y.emit("companyCore.saasBlueprint.generated",{companyId:s,optionCount:t.options.length,strategyCount:t.sourceStrategyCount,strategies:t.options.map(c=>c.strategy),knowledgeSignals:t.knowledgeSignals}),h(c=>({...c,artifacts:[{id:l,companyId:s,type:"saas-blueprint",summary:`${u.name} SaaS strategy blueprint`,path:`company-core/${s}/saas-blueprint.md`,content:t.content,createdAt:m},...c.artifacts],publishing:[{id:f("publish"),companyId:s,channel:"Blueprint proof",action:"Turn SaaS Blueprint into a public validation page",status:"draft"},...c.publishing],reflections:[{id:f("reflection"),companyId:s,scope:"saas-blueprint",summary:"Generated exactly three local commercialization strategies from the Business plugin knowledge shape.",ruleUpdate:"Keep SaaS strategy generation local until a bridge-backed AI/business adapter returns evidence.",createdAt:m},...c.reflections],lastActionMessage:"SaaS Blueprint generated locally with three commercialization options."})),T(l)},[Q,T,u,s,h]),tt=o.useCallback(()=>{s&&(y.emit("companyCore.approvals.generated",{companyId:s}),h(t=>({...t,approvals:[{id:f("approval"),companyId:s,riskLevel:"high",toolName:"GrowthPublish",action:"Publish external growth proof",summary:"This would change external reality, so React keeps it pending until a bridge-backed approval adapter runs.",status:"pending"},...t.approvals],lastActionMessage:"Growth approval generated. Review before external publish."})))},[s,h]),Z=o.useCallback((t,l)=>{y.emit("companyCore.approval.status",{status:l}),h(m=>({...m,approvals:m.approvals.map(c=>c.id===t?{...c,status:l}:c),runs:l==="approved"?[{id:f("run"),companyId:s,action:`Approval ${t} accepted in local shell`,status:"completed",createdAt:x()},...m.runs]:m.runs,lastActionMessage:l==="approved"?"Approval accepted locally; external action remains adapter-gated.":"Approval rejected locally."}))},[s,h]),at=o.useCallback(t=>{var m;const l=(m=re[t])==null?void 0:m.trim();l&&(y.emit("companyCore.publishing.marked",{hasUrl:!0}),h(c=>({...c,publishing:c.publishing.map(j=>j.id===t?{...j,externalUrl:l,status:"published"}:j),lastActionMessage:"Publishing job marked locally with external URL evidence."})))},[re,h]),nt=o.useCallback(()=>{const t=te();i(t),ge(null),y.emit("companyCore.local.reset")},[]);return e.jsxs("div",{className:"page company-core-page","data-testid":"company-core-shell","data-company-storage-key":me,"data-company-adapter-state":((Se=a.bridgeProjection)==null?void 0:Se.source)||"local","data-company-bridge-synced-at":((Ae=a.bridgeProjection)==null?void 0:Ae.syncedAt)||"",children:[e.jsxs("section",{className:"company-hero","data-testid":"company-core-hero",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"MindExec Bridge"}),e.jsx("h1",{children:"CompanyCore Control Deck"}),e.jsx("p",{children:"A React cockpit for running a one-founder operating company: launch requests, growth signals, revenue decisions, approvals, artifacts, and publishing evidence without bringing Blazor into the render loop."})]}),e.jsxs("div",{className:"company-hero-actions",children:[e.jsxs("button",{className:"btn btn-secondary",type:"button",onClick:Qe,disabled:v,"data-testid":"company-refresh",children:[v?e.jsx(bt,{size:16,className:"spin-icon"}):e.jsx(ft,{size:16}),"Connect / Refresh"]}),e.jsxs("button",{className:"btn btn-primary",type:"button",onClick:()=>ve(),disabled:v,"data-testid":"company-create-run-hero",children:[e.jsx(Be,{size:16}),"Create + Run"]}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:nt,"data-testid":"company-reset-shell",children:"Reset shell"})]})]}),e.jsxs("section",{className:`company-banner company-banner--${n.state}`,"data-testid":"company-status-banner","data-bridge-state":n.state,"data-company-bridge-source":((Pe=a.bridgeProjection)==null?void 0:Pe.source)||"local",children:[n.state==="connected"?e.jsx(vt,{size:18}):n.state==="blocked"?e.jsx(xt,{size:18}):e.jsx(wt,{size:18}),e.jsx("strong",{children:n.state==="connected"?"LocalBridge reachable":n.state==="blocked"?"Hosted bridge gated":"Local shell active"}),e.jsx("span",{"data-testid":"company-last-action",children:a.lastActionMessage||n.message||"Use the local shell, or run npx mindexec-ai for a bridge-backed CompanyCore adapter."})]}),e.jsxs("section",{className:"company-top-grid",children:[e.jsxs("form",{className:"company-panel company-launch-panel",onSubmit:ve,"data-testid":"company-launch-form",children:[e.jsxs("div",{className:"company-panel-head",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Launch Request"}),e.jsx("p",{children:"Start another company without leaving MindExec."})]}),e.jsxs("label",{className:"company-toggle",children:[e.jsx("input",{"aria-label":"Sub-agents",type:"checkbox",checked:S,onChange:t=>E(t.target.checked),"data-testid":"company-subagents-toggle"}),"Sub-agents"]})]}),e.jsx("input",{"aria-label":"Company name",value:k,onChange:t=>g(t.target.value),placeholder:"Company name","data-testid":"company-name-input"}),e.jsx("textarea",{"aria-label":"Goal",value:r,onChange:t=>U(t.target.value),placeholder:"Goal","data-testid":"company-goal-input"}),e.jsxs("div",{className:"company-action-row",children:[e.jsxs("button",{className:"btn btn-primary",type:"submit","data-testid":"company-create-submit",children:[e.jsx(kt,{size:16}),"Create and queue run"]}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:Xe,disabled:!s,"data-testid":"company-submit-task",children:"Submit task"})]}),e.jsx("textarea",{"aria-label":"Optional task for selected company",value:w,onChange:t=>I(t.target.value),placeholder:"Optional task for selected company","data-testid":"company-task-input"})]}),e.jsxs("aside",{className:"company-panel","data-testid":"company-connection-panel",children:[e.jsx("h2",{children:"Connection"}),e.jsxs("div",{className:"company-stat-list",children:[e.jsx(V,{label:"Bridge / Core",value:We,tone:n.state==="connected"?"ok":"warn"}),e.jsx(V,{label:"Companies",value:String(a.companies.length)}),e.jsx(V,{label:"Recent runs",value:String(Fe.length)})]}),e.jsx("label",{className:"company-select-label",htmlFor:"company-select",children:"Selected company"}),e.jsx("select",{id:"company-select",className:"company-select",value:s,onChange:t=>Ye(t.target.value),"data-testid":"company-select",children:a.companies.map(t=>e.jsxs("option",{value:t.id,children:[t.name," (",t.status,")"]},t.id))})]})]}),e.jsxs("section",{className:"company-kpi-grid","data-testid":"company-kpi-grid",children:[e.jsx(D,{label:"Status",value:((Ne=a.bridgeProjection)==null?void 0:Ne.snapshotStatus)||(u==null?void 0:u.status)||"-"}),e.jsx(D,{label:"Missions",value:String(((Ie=a.bridgeProjection)==null?void 0:Ie.activeMissionCount)??X.length)}),e.jsx(D,{label:"Agents",value:String((($e=a.bridgeProjection)==null?void 0:$e.totalAgents)??((Re=a.bridgeProjection)==null?void 0:Re.runningAgentCount)??(u!=null&&u.enableSubAgents?"sub-agents":"single"))}),e.jsx(D,{label:"Approvals",value:String(((Me=a.bridgeProjection)==null?void 0:Me.waitingApprovalCount)??R.length)})]}),e.jsxs("section",{className:"company-action-grid","data-testid":"company-action-grid",children:[e.jsxs("article",{className:"company-panel company-panel--amber",children:[e.jsx("div",{className:"company-panel-head",children:e.jsxs("div",{children:[e.jsx("div",{className:"card-label",children:"Action Required"}),e.jsx("h2",{children:R.length>0?`${R.length} approval waiting`:"No pending approvals"}),e.jsx("p",{children:R.length>0?"External publish, money, and destructive actions stay gated.":"CompanyCore is up to date."})]})}),R[0]?e.jsx(De,{approval:R[0],surface:"action-required",onApprove:()=>Z(R[0].id,"approved"),onReject:()=>Z(R[0].id,"rejected")}):e.jsx("div",{className:"company-empty",children:"No pending approval."})]}),e.jsxs("article",{className:"company-panel company-panel--cyan",children:[e.jsx("div",{className:"card-label",children:"Latest Artifacts"}),e.jsx("h2",{children:z.length>0?`${z.length} output files created`:"No artifacts yet"}),e.jsx("p",{children:"Reports, landing drafts, screenshots, and inspection outputs show up here first."}),e.jsx("div",{className:"company-list",children:z.slice(0,3).map(t=>e.jsxs("button",{className:"company-artifact-row",type:"button",onClick:()=>T(t.id),"data-testid":"company-artifact-row",children:[e.jsx("span",{children:t.type}),e.jsx("strong",{children:t.summary})]},t.id))})]}),e.jsxs("article",{className:"company-panel company-panel--blueprint","data-testid":"company-blueprint-panel",children:[e.jsx("div",{className:"card-label",children:"Business Plugin"}),e.jsx("h2",{children:"SaaS Blueprint"}),e.jsx("p",{children:"Generate the original Business plugin style: exactly three commercialization strategies from a local knowledge base."}),e.jsxs("label",{className:"company-field-button",children:[e.jsx("span",{children:"Business idea"}),e.jsx("textarea",{"aria-label":"SaaS blueprint idea",value:C,onChange:t=>Te(t.target.value),"data-testid":"company-saas-idea"})]}),e.jsxs("div",{className:"company-action-row",children:[e.jsxs("button",{className:"btn btn-primary",type:"button",onClick:et,disabled:!s,"data-testid":"company-generate-blueprint",children:[e.jsx(Be,{size:16}),"Generate blueprint"]}),e.jsxs("span",{className:"company-count-pill",children:[St()," local strategies"]}),e.jsxs("span",{className:"company-count-pill",children:[Q.knowledgeSignals.length," matched signals"]})]}),e.jsx("div",{className:"company-blueprint-preview","aria-label":"SaaS blueprint preview","data-testid":"company-blueprint-preview",children:Q.options.map((t,l)=>e.jsxs("article",{className:"company-blueprint-option","data-testid":"saas-blueprint-option",children:[e.jsxs("div",{children:[e.jsxs("span",{children:["Option ",l+1," / ",t.label]}),e.jsx("strong",{children:t.strategy})]}),e.jsx("p",{children:t.why}),e.jsxs("div",{className:"company-blueprint-impact",children:[e.jsxs("span",{children:["Score ",Math.round(t.score*100),"%"]}),e.jsx("span",{children:t.expectedImpact.initialCac})]}),e.jsx("ul",{children:t.keyPoints.slice(0,2).map(m=>e.jsx("li",{children:m},m))})]},`${t.role}-${t.strategy}`))})]})]}),e.jsxs("section",{className:"company-loop-grid","data-testid":"company-loop-grid",children:[e.jsxs("article",{className:"company-panel",children:[e.jsxs("div",{className:"company-panel-head",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Growth Signal Lab"}),e.jsx("p",{children:"Collect read-only market evidence, run growth decisions, and generate the next experiment."})]}),e.jsxs("div",{className:"company-mini-actions",children:[e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:Ze,disabled:!s,"data-testid":"company-growth-plan",children:"Growth plan"}),e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>de("growth"),disabled:!s,"data-testid":"company-growth-decision",children:"Decide"})]})]}),e.jsxs("div",{className:"company-two-fields",children:[e.jsx(ue,{label:"Market signal query",value:q,onChange:$,button:"Search",onClick:()=>xe("market")}),e.jsx(ue,{label:"Social signal niche",value:G,onChange:ae,button:"Search",onClick:()=>xe("social")})]}),e.jsxs("div",{className:"company-metric-row",children:[e.jsx("input",{"aria-label":"Growth metric name",value:O,onChange:t=>J(t.target.value),"data-testid":"company-growth-metric-name"}),e.jsx("input",{"aria-label":"Growth metric value",type:"number",step:"0.001",value:H,onChange:t=>W(Number(t.target.value)),"data-testid":"company-growth-metric-value"}),e.jsx("button",{"aria-label":"Add growth metric",className:"btn btn-secondary",type:"button",onClick:()=>we("growth"),"data-testid":"company-add-growth-metric",children:"Add metric"})]}),e.jsxs("div",{className:"company-mini-stat-grid",children:[e.jsx(D,{label:"Signals",value:String(Y.length),compact:!0}),e.jsx(D,{label:"Decisions",value:String(Ke.length),compact:!0}),e.jsx(D,{label:"Metrics",value:String(K.filter(t=>t.unit==="ratio").length),compact:!0})]}),e.jsx("div",{className:"company-stat-list",children:K.filter(t=>t.unit==="ratio").slice(0,4).map(t=>e.jsx(V,{label:t.name,value:`${t.value}${t.unit?` ${t.unit}`:""}`},t.id))}),e.jsx("div",{className:"company-scroll-list",children:Y.slice(0,8).map(t=>e.jsxs("article",{className:"company-signal-card",children:[e.jsxs("div",{children:[e.jsx("span",{children:t.community}),e.jsx("b",{children:t.relevance.toFixed(2)})]}),e.jsx("strong",{children:t.text}),e.jsx("p",{children:t.detectedPain})]},t.id))})]}),e.jsxs("article",{className:"company-panel",children:[e.jsxs("div",{className:"company-panel-head",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Revenue Operating Loop"}),e.jsx("p",{children:"Seed experiments, import metrics later, and run scale / pivot / kill decisions."})]}),e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>de("revenue"),disabled:!s,"data-testid":"company-revenue-decision",children:"Revenue decide"})]}),e.jsx(ue,{label:"Revenue niche",value:F,onChange:b,button:"Plan",onClick:()=>de("revenue")}),e.jsxs("div",{className:"company-metric-row company-metric-row--revenue",children:[e.jsx("input",{"aria-label":"Revenue metric name",value:ne,onChange:t=>Ee(t.target.value),"data-testid":"company-revenue-metric-name"}),e.jsx("input",{"aria-label":"Revenue metric value",type:"number",step:"0.001",value:ie,onChange:t=>qe(Number(t.target.value)),"data-testid":"company-revenue-metric-value"}),e.jsx("input",{"aria-label":"Revenue metric unit",value:se,onChange:t=>Ue(t.target.value),"data-testid":"company-revenue-metric-unit"}),e.jsx("button",{"aria-label":"Add revenue metric",className:"btn btn-secondary",type:"button",onClick:()=>we("revenue"),"data-testid":"company-add-revenue-metric",children:"Add metric"})]}),e.jsxs("div",{className:"company-mini-stat-grid",children:[e.jsx(D,{label:"Content",value:String(ye.length),compact:!0}),e.jsx(D,{label:"Decisions",value:String(_.length),compact:!0}),e.jsx(D,{label:"Revenue metrics",value:String(K.filter(t=>t.unit!=="ratio").length),compact:!0})]}),e.jsx("div",{className:"company-stat-list",children:K.filter(t=>t.unit!=="ratio").slice(0,4).map(t=>e.jsx(V,{label:t.name,value:`${t.value}${t.unit?` ${t.unit}`:""}`},t.id))}),e.jsx("div",{className:"company-scroll-list",children:_.slice(0,8).map(t=>e.jsx(Le,{decision:t},t.id))})]})]}),e.jsxs("section",{className:"company-ops-grid","data-testid":"company-ops-grid",children:[e.jsxs("article",{className:"company-panel",children:[e.jsxs("div",{className:"company-panel-head",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Snapshot Graph"}),e.jsx("p",{children:"CompanyNode-ready nodes and edges from the React CompanyCore shell."})]}),e.jsxs("span",{className:"company-count-pill",children:[Ve," nodes / ",Je," edges"]})]}),e.jsx("div",{className:"company-graph-list",children:X.map(t=>e.jsxs("article",{className:"company-node-row",children:[e.jsx("span",{children:t.type}),e.jsx("b",{children:t.status}),e.jsx("strong",{children:t.title}),e.jsx("p",{children:t.subtitle})]},`${t.type}-${t.title}`))})]}),e.jsxs("article",{className:"company-panel",children:[e.jsxs("div",{className:"company-panel-head",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Approval Queue"}),e.jsx("p",{children:"External publish, money, and destructive actions stay gated."})]}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:tt,disabled:!s,"data-testid":"company-generate-approvals",children:"Generate growth approvals"})]}),e.jsxs("div",{className:"company-scroll-list",children:[le.length===0&&e.jsx("div",{className:"company-empty",children:"No approvals yet."}),le.map(t=>e.jsx(De,{approval:t,surface:"queue",onApprove:()=>Z(t.id,"approved"),onReject:()=>Z(t.id,"rejected")},t.id))]})]})]}),e.jsxs("section",{className:"company-bottom-grid","data-testid":"company-bottom-grid",children:[e.jsxs("article",{className:"company-panel",children:[e.jsx("h2",{children:"Artifacts"}),e.jsx("p",{children:"Open reports, drafts, and browser inspection output by artifact id."}),e.jsx("div",{className:"company-scroll-list",children:z.map(t=>e.jsxs("button",{type:"button",className:"company-artifact-row",onClick:()=>T(t.id),"data-testid":"company-artifact-row",children:[e.jsx("span",{children:t.type}),e.jsx("strong",{children:t.summary}),e.jsx("small",{children:t.path})]},t.id))}),be&&e.jsx("pre",{className:"company-artifact-preview","data-testid":"company-artifact-preview",children:be.content})]}),e.jsxs("article",{className:"company-panel",children:[e.jsx("h2",{children:"Publishing Jobs"}),e.jsx("div",{className:"company-scroll-list",children:ye.map(t=>e.jsxs("article",{className:"company-publishing-card","data-testid":"company-publishing-card","data-job-id":t.id,children:[e.jsxs("div",{children:[e.jsx("span",{children:t.channel}),e.jsx("b",{children:t.status})]}),e.jsx("strong",{children:t.action}),t.externalUrl?e.jsx("a",{href:t.externalUrl,children:t.externalUrl}):e.jsxs("div",{className:"company-publish-input",children:[e.jsx("input",{"aria-label":`Published URL for ${t.action}`,value:re[t.id]||"",onChange:l=>He(m=>({...m,[t.id]:l.target.value})),placeholder:"Published URL","data-testid":"company-publish-url","data-job-id":t.id}),e.jsx("button",{"aria-label":`Mark ${t.action} published`,className:"btn btn-primary",type:"button",onClick:()=>at(t.id),"data-testid":"company-mark-published","data-job-id":t.id,children:"Mark"})]})]},t.id))})]}),e.jsxs("article",{className:"company-panel",children:[e.jsx("h2",{children:"Revenue Decisions"}),e.jsx("div",{className:"company-scroll-list",children:_.map(t=>e.jsx(Le,{decision:t},t.id))})]}),e.jsxs("article",{className:"company-panel",children:[e.jsx("h2",{children:"Reflections"}),e.jsx("div",{className:"company-scroll-list",children:_e.map(t=>e.jsxs("article",{className:"company-reflection-card",children:[e.jsx("span",{children:t.scope}),e.jsx("strong",{children:t.summary}),t.ruleUpdate&&e.jsx("p",{children:t.ruleUpdate})]},t.id))})]})]})]})}function V({label:a,value:i,tone:n}){return e.jsxs("div",{className:"company-metric-line",children:[e.jsx("span",{children:a}),e.jsx("strong",{className:n?`is-${n}`:void 0,children:i})]})}function D({label:a,value:i,compact:n}){return e.jsxs("article",{className:`company-kpi-card ${n?"company-kpi-card--compact":""}`,children:[e.jsx("span",{children:a}),e.jsx("strong",{children:i})]})}function ue({label:a,value:i,button:n,onChange:p,onClick:v}){return e.jsxs("label",{className:"company-field-button",children:[e.jsx("span",{children:a}),e.jsxs("div",{children:[e.jsx("input",{"aria-label":a,value:i,onChange:A=>p(A.target.value)}),e.jsxs("button",{"aria-label":`${n} ${a}`,className:"btn btn-secondary",type:"button",onClick:v,children:[e.jsx(Ct,{size:15}),n]})]})]})}function De({approval:a,surface:i,onApprove:n,onReject:p}){return e.jsxs("article",{className:`company-approval-card company-approval-card--${a.status}`,"data-testid":"company-approval-card","data-approval-id":a.id,"data-approval-status":a.status,"data-approval-surface":i,children:[e.jsxs("div",{children:[e.jsx("span",{children:a.riskLevel}),e.jsx("b",{children:a.status})]}),e.jsxs("strong",{children:[a.toolName," / ",a.action]}),e.jsx("p",{children:a.summary}),a.status==="pending"&&e.jsxs("div",{className:"company-action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:n,"data-testid":"company-approval-approve","data-approval-id":a.id,"data-approval-surface":i,children:"Approve & run"}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:p,"data-testid":"company-approval-reject","data-approval-id":a.id,"data-approval-surface":i,children:"Reject"})]})]})}function Le({decision:a}){return e.jsxs("article",{className:"company-decision-card",children:[e.jsxs("div",{children:[e.jsx("span",{children:a.kind}),e.jsx("b",{children:a.score.toFixed(3)})]}),e.jsx("p",{children:a.reason}),e.jsxs("strong",{children:["Next: ",a.next]})]})}export{Wt as CompanyCorePage};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{r as c,j as t}from"./vendor-react-BXzpOyCS.js";import{g as Ce,z as je,B as Me,aN as Qe,aO as ze,aP as Ge,aQ as _e}from"./canvas-runtime-BbicBcOj.js";import{R as g}from"./app-runtime-xD2Z3NdN.js";import{l as Ve,s as Xe}from"./executionModeSettings-NJqurj-o.js";import{an as Ye,a3 as Ze,R as et,b7 as tt,b5 as nt}from"./vendor-icons-DE3gIReG.js";import"./runtimeSettingsPersistenceProjection-BoNWmYjU.js";const Ee=["Concept.KernelHelp","Concept.Hash64","Concept.DefineComposite","Concept.Embed","Concept.Execute"],ot=0x0000000080000000n,F=11400714785074694791n,Z=14029467366897019727n,ve=1609587929392839161n,Ie=9650029242287828579n,we=2870177450012600261n;function m(e){return BigInt.asUintN(64,e)}function q(e,s){const o=BigInt(s);return m(m(e)<<o|m(e)>>64n-o)}function Y(e,s){let o=0n;for(let a=0;a<8;a+=1)o|=BigInt(e[s+a])<<BigInt(a*8);return m(o)}function st(e,s){return(e[s]|e[s+1]<<8|e[s+2]<<16|e[s+3]<<24)>>>0}function Q(e,s){let o=m(e+m(s*Z));return o=q(o,31),m(o*F)}function oe(e,s){let o=m(e^Q(0n,s));return o=m(o*F+Ie),o}function k(e){const s=e.trim();if(!s)throw new Error("signature is empty");const o=new TextEncoder().encode(s),a=o.length;let i=0,r;if(a>=32){let d=m(F+Z),w=m(Z),y=0n,N=m(-F);const u=a-32;for(;i<=u;)d=Q(d,Y(o,i)),i+=8,w=Q(w,Y(o,i)),i+=8,y=Q(y,Y(o,i)),i+=8,N=Q(N,Y(o,i)),i+=8;r=m(q(d,1)+q(w,7)+q(y,12)+q(N,18)),r=oe(r,d),r=oe(r,w),r=oe(r,y),r=oe(r,N)}else r=m(we);for(r=m(r+BigInt(a));i<=a-8;){const d=Q(0n,Y(o,i));r=m(r^d),r=m(q(r,27)*F+Ie),i+=8}for(i<=a-4&&(r=m(r^BigInt(st(o,i))*F),r=m(q(r,23)*Z+ve),i+=4);i<a;)r=m(r^BigInt(o[i])*we),r=m(q(r,11)*F),i+=1;return r=m(r^r>>33n),r=m(r*Z),r=m(r^r>>29n),r=m(r*ve),r=m(r^r>>32n),`0x${r.toString(16).padStart(16,"0")}`}const le=[{category:"Math.Double",signature:"MindExecution.Kernel.Add(System.Double,System.Double)",summary:"a+b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Sub(System.Double,System.Double)",summary:"a-b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Mul(System.Double,System.Double)",summary:"a*b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Div(System.Double,System.Double)",summary:"a/b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Min(System.Double,System.Double)",summary:"min(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Max(System.Double,System.Double)",summary:"max(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Round(System.Double)",summary:"round(x)",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Add(System.Int64,System.Int64)",summary:"a+b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Sub(System.Int64,System.Int64)",summary:"a-b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Mul(System.Int64,System.Int64)",summary:"a*b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Gt(System.Double,System.Double)",summary:"a>b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Eq(System.Double,System.Double)",summary:"a==b",supported:!0},{category:"Logic",signature:"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)",summary:"cond ? a : b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Concat(System.String,System.String)",summary:"a+b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Length(System.String)",summary:"len(s)",supported:!0},{category:"String",signature:"MindExecution.Kernel.ToString(System.Object)",summary:"x?.ToString()",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToDouble(System.Object)",summary:"Convert.ToDouble",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToInt64(System.Object)",summary:"Convert.ToInt64",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Parse(System.String)",summary:"parse JSON",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Stringify(System.Object)",summary:"serialize JSON",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.GetManifest()",summary:"local manifest subset",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.SignatureToId(System.String)",summary:"signature -> local 0x hash",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.Print(System.Object)",summary:"ToString",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.TypeOf(System.Object)",summary:"JavaScript type name",supported:!0},{category:"Time",signature:"MindExecution.Kernel.UtcNow()",summary:"UTC ISO timestamp",supported:!0},{category:"Hash",signature:"MindExecution.Kernel.Hash.Sha256(System.String)",summary:"adapter-gated in React shell",supported:!1}],Ke=new Map(le.map(e=>[k(e.signature),e]));function x(e){const s=typeof e=="number"?e:Number(e);if(!Number.isFinite(s))throw new Error(`Expected numeric value, got ${A(e)}.`);return s}function J(e){return Math.trunc(x(e))}function O(e,s){if(typeof e=="number"&&Number.isInteger(e)&&e>=0)return`0x${e.toString(16).padStart(16,"0")}`;if(typeof e!="string")throw new Error(`${s} must be a hex slot string or integer.`);const o=e.trim();if(/^0x[0-9a-f]{1,16}$/i.test(o))return`0x${o.slice(2).toLowerCase().padStart(16,"0")}`;if(/^\d+$/.test(o))return`0x${Number(o).toString(16).padStart(16,"0")}`;throw new Error(`${s} must be 0x[0-9a-f]{16}, short hex, or integer.`)}function rt(e){return`0x${(ot+BigInt(e)).toString(16).padStart(16,"0")}`}function Oe(e){const s=JSON.parse(e),o=Array.isArray(s.literals)?s.literals:[],a=Array.isArray(s.instructions)?s.instructions:[];if(a.length===0)throw new Error("IR must include an instructions array.");return{literals:o,instructions:a}}function $e(e){var o;if(typeof e=="string"&&e.trim().startsWith("$")){const a=e.trim().slice(1).trim();if(!a)throw new Error("target signature cannot be empty.");return{id:k(a),signature:a}}const s=O(e,"target");return{id:s,signature:(o=Ke.get(s))==null?void 0:o.signature}}function A(e){if(e===void 0)return"<unset>";if(e===null)return"<null>";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function it(e){if(!e||typeof e!="object")throw new Error("Literal entries must be objects.");const s=e,o=O(s.id??s.slot,"literal.id"),a=String(s.type??"json").toLowerCase(),i=s.value;return a==="null"?{slot:o,value:null}:a==="bool"?{slot:o,value:!!i}:a==="int"?{slot:o,value:J(i)}:a==="double"?{slot:o,value:x(i)}:a==="string"?{slot:o,value:String(i??"")}:{slot:o,value:i}}const at={"MindExecution.Kernel.Add(System.Double,System.Double)":e=>x(e[0])+x(e[1]),"MindExecution.Kernel.Sub(System.Double,System.Double)":e=>x(e[0])-x(e[1]),"MindExecution.Kernel.Mul(System.Double,System.Double)":e=>x(e[0])*x(e[1]),"MindExecution.Kernel.Div(System.Double,System.Double)":e=>x(e[1])===0?Number.NaN:x(e[0])/x(e[1]),"MindExecution.Kernel.Min(System.Double,System.Double)":e=>Math.min(x(e[0]),x(e[1])),"MindExecution.Kernel.Max(System.Double,System.Double)":e=>Math.max(x(e[0]),x(e[1])),"MindExecution.Kernel.Round(System.Double)":e=>Math.round(x(e[0])),"MindExecution.Kernel.Add(System.Int64,System.Int64)":e=>J(e[0])+J(e[1]),"MindExecution.Kernel.Sub(System.Int64,System.Int64)":e=>J(e[0])-J(e[1]),"MindExecution.Kernel.Mul(System.Int64,System.Int64)":e=>J(e[0])*J(e[1]),"MindExecution.Kernel.Gt(System.Double,System.Double)":e=>x(e[0])>x(e[1]),"MindExecution.Kernel.Eq(System.Double,System.Double)":e=>x(e[0])===x(e[1]),"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)":e=>e[0]?e[1]:e[2],"MindExecution.Kernel.Concat(System.String,System.String)":e=>`${e[0]??""}${e[1]??""}`,"MindExecution.Kernel.Length(System.String)":e=>String(e[0]??"").length,"MindExecution.Kernel.ToString(System.Object)":e=>e[0]==null?"":String(e[0]),"MindExecution.Kernel.ToDouble(System.Object)":e=>x(e[0]),"MindExecution.Kernel.ToInt64(System.Object)":e=>J(e[0]),"MindExecution.Kernel.Json.Parse(System.String)":e=>JSON.parse(String(e[0]??"null")),"MindExecution.Kernel.Json.Stringify(System.Object)":e=>JSON.stringify(e[0]),"MindExecution.Kernel.System.GetManifest()":()=>le.map(e=>({...e,id:k(e.signature)})),"MindExecution.Kernel.System.SignatureToId(System.String)":e=>k(String(e[0]??"")),"MindExecution.Kernel.Print(System.Object)":e=>A(e[0]),"MindExecution.Kernel.TypeOf(System.Object)":e=>e[0]===null?"null":Array.isArray(e[0])?"array":typeof e[0],"MindExecution.Kernel.UtcNow()":()=>new Date().toISOString()};function Le(e){const s=e.trim();if(!s)return[];if(s.startsWith("[")){const o=JSON.parse(s);if(!Array.isArray(o))throw new Error("Watch JSON must be an array of slots.");return o.map(a=>O(a,"watch"))}return s.split(/[\s,]+/).filter(Boolean).map(o=>O(o,"watch"))}function Re(e,s,o,a,i,r=0){var N;if(r>8)throw new Error("FLOW recursion limit exceeded.");const d=new Map;for(const[u,l]of a.entries())d.set(u,l);for(const u of e){const{slot:l,value:$}=it(u);d.set(l,$),i.push(`${" ".repeat(r)}literal ${l} = ${A($)}`)}let w,y=!1;for(const[u,l]of s.entries()){const $=String(l.op??"").trim().toUpperCase();if($==="SET"){const f=O(l.dstSlot,`instructions[${u}].dstSlot`),C=O(l.srcSlot,`instructions[${u}].srcSlot`),L=d.get(C);d.set(f,L),i.push(`${" ".repeat(r)}${u}: SET ${f} = ${A(L)} from ${C}`);continue}if($==="CALL"){const f=$e(l.target??l.targetId),C=f.signature??((N=Ke.get(f.id))==null?void 0:N.signature),L=C?at[C]:void 0;if(!C||!L)throw new Error(`CALL target ${f.id} is not supported by the React local kernel.`);const U=(Array.isArray(l.args)?l.args.map(P=>O(P,`instructions[${u}].args`)):[]).map(P=>d.get(P)),I=L(U),R=l.dstSlot==null?null:O(l.dstSlot,`instructions[${u}].dstSlot`);R&&d.set(R,I),i.push(`${" ".repeat(r)}${u}: CALL ${C} -> ${R??"<no dst>"} = ${A(I)}`);continue}if($==="FLOW"){const f=$e(l.target??l.targetId),C=o.get(f.id);if(!C)throw new Error(`FLOW target ${f.id} is not registered in the React local composite registry.`);const L=Array.isArray(l.args)?l.args.map(R=>O(R,`instructions[${u}].args`)):[],j=new Map;for(const[R,P]of L.entries())j.set(rt(R),d.get(P));i.push(`${" ".repeat(r)}${u}: FLOW ${C.signature} (${f.id}) args=${L.length}`);const U=Re(C.literals,C.instructions,o,j,i,r+1),I=l.dstSlot==null?null:O(l.dstSlot,`instructions[${u}].dstSlot`);I&&U.didReturn&&d.set(I,U.returned),i.push(`${" ".repeat(r)}${u}: FLOW return -> ${I??"<no dst>"} = ${A(U.returned)}`);continue}if($==="RETURN"||$==="RET"){const f=l.srcSlot==null?null:O(l.srcSlot,`instructions[${u}].srcSlot`);w=f?d.get(f):void 0,y=!0,i.push(`${" ".repeat(r)}${u}: RETURN ${f??"<void>"} = ${A(w)}`);break}throw new Error(`Unknown op at instructions[${u}]: ${$||"<empty>"}`)}return{memory:d,returned:w,didReturn:y}}function ct(e,s,o=new Map){const{literals:a,instructions:i}=Oe(e),r=[],{memory:d,returned:w}=Re(a,i,o,new Map,r),y=Le(s),u=(y.length>0?y:Array.from(d.keys()).sort().slice(0,64)).map(l=>`- ${l} = ${A(d.get(l))}`);return[`OK: executed locally (atoms=${i.length}, literals=${a.length})`,`return: ${A(w)}`,"","trace:",...r,"",y.length>0?"watch:":"root user-space slots:",...u.length>0?u:["(none)"],"","adapter: local-react-shell"].join(`
|
|
2
|
+
`)}function lt(e,s,o=16){const a=`${e}
|
|
3
|
+
|
|
4
|
+
Description: ${s}`,i=Array.from({length:o},(d,w)=>{const y=BigInt(k(`${a}#${w}`)),N=Number(y&0xffffn)/32767.5-1;return Number(N.toFixed(6))}),r=a.trim().length===0?0:a.trim().split(/\s+/).length;return{input:a,vector:i,tokens:r}}const Ne=JSON.stringify({literals:[{id:"0x0000000000000000",type:"double",value:1},{id:"0x0000000000000001",type:"double",value:10}],instructions:[{op:"CALL",target:"$MindExecution.Kernel.Add(System.Double,System.Double)",args:["0x0000000000000000","0x0000000000000001"],dstSlot:"0x0000000000000002"},{op:"RETURN",srcSlot:"0x0000000000000002"}]},null,2),De=JSON.stringify({literals:[],instructions:[{op:"CALL",target:"$MindExecution.Kernel.Add(System.Double,System.Double)",args:["0x0000000080000000","0x0000000080000001"],dstSlot:"0x0000000000000000"},{op:"RETURN",srcSlot:"0x0000000000000000"}]},null,2);function dt(e,s){var a;const o=((a=e.latestRows)==null?void 0:a[0])||{};return{provider:e.provider||"LocalBridgeJsonConceptStore",adapterState:e.adapterState||"json-row-projection",nativeSqliteAdapterState:e.nativeSqliteAdapterState||"adapter-gated",paidEmbeddingAdapterState:e.paidEmbeddingAdapterState||"adapter-gated",originalTable:e.originalTable||"tbl_concepts",rowCount:Number(e.rowCount||0),indexPath:e.indexPath||"",latestRowId:(s==null?void 0:s.id)||o.id||"",latestRowSqlKey:(s==null?void 0:s.sqlKey)||o.sqlKey||"",latestRowSignature:(s==null?void 0:s.signature)||o.signature||"",sqliteReadyColumns:(e.sqliteReadyColumns||[]).slice(0,16)}}function ht(){const[e,s]=c.useState(Ne),[o,a]=c.useState(()=>Ve()),[i,r]=c.useState("MindExecution.Kernel.Add(System.Double,System.Double)"),[d,w]=c.useState("MindExecution.Dynamic.Sum(System.Double,System.Double)"),[y,N]=c.useState("Adds two double values through a browser-local FLOW composite."),[u,l]=c.useState(De),[$,f]=c.useState("MindExecution.Dynamic.Sum(System.Double,System.Double)"),[C,L]=c.useState("Adds two doubles through a Concept FLOW composite. Browser preview only."),[j,U]=c.useState([]),[I,R]=c.useState("0x0000000000000002"),[P,M]=c.useState(""),[z,de]=c.useState(!1),[H,se]=c.useState("idle"),[ue,pe]=c.useState(""),[Ae,me]=c.useState(""),[ke,ge]=c.useState(""),[h,xe]=c.useState(null),[p,Pe]=c.useState(null),[re,ie]=c.useState("idle"),[Se,he]=c.useState(""),G=c.useRef(0),_=c.useMemo(()=>le.map(n=>({...n,id:k(n.signature)})),[]),be=c.useMemo(()=>new Map(j.map(n=>[n.id,n])),[j]),T=o.executionMode,V=o.directInstructionQueueMode,ye=c.useCallback((n,S)=>{const v=Xe({...o,...n},S);a(v),g.emit("executionMode.settings.changed",{source:S,executionMode:v.executionMode,directInstructionQueueMode:v.directInstructionQueueMode})},[o]),Te=c.useCallback(()=>{de(!0),g.emit("executionMode.tool.run",{toolName:T==="PureLLM"?"PureLLM.AdapterGate":"Concept.Execute"}),g.emit("executionMode.run.local",{hasPrompt:!!e.trim(),mode:T,directInstructionQueueMode:V,adapterGated:T==="PureLLM"}),window.setTimeout(()=>{const n=e.trim();if(T==="PureLLM")M(["PureLLM mode selected.","","Live direct LLM execution is adapter-gated in this React shell.",`Queue mode: ${V}`,"","Use Concept mode for deterministic browser-local JSON IR testing until a verified Agent adapter is connected."].join(`
|
|
5
|
+
`));else if(!n)M("ERROR: Enter a prompt or JSON IR before running.");else if(n.startsWith("{"))try{const S=ct(n,I,be);g.emit("executionMode.ir.executed",{watchSlots:Le(I).length,compositeCount:j.length}),M(S)}catch(S){g.emit("executionMode.ir.failed",{message:S instanceof Error?S.message:String(S)}),M(`ERROR: Invalid JSON IR. ${String(S)}`)}else/1\s+to\s+10/i.test(n)?M(`Concept result: 55
|
|
6
|
+
|
|
7
|
+
This is a local React execution shell. Connect an Agent adapter before treating output as real external execution.`):M(`Concept result:
|
|
8
|
+
- Parsed prompt: ${n}
|
|
9
|
+
- Suggested next action: convert this into JSON IR, then run through a secured Agent adapter.`);de(!1)},220)},[be,j.length,V,e,T,I]),Be=c.useCallback(()=>{g.emit("executionMode.tool.run",{toolName:"Concept.KernelHelp"}),g.emit("executionMode.kernelHelp",{count:_.length,compositeCount:j.length}),M(["Kernel Manifest: react-local@v1",`Tools: ${Ee.join(", ")}`,`Entries: ${_.length}`,"","Native signatures:",..._.map(n=>`- ${n.signature} ${n.id} ${n.supported?n.summary:"adapter-gated"}`),"","Browser-local composites:",...j.length>0?j.map(n=>`- ${n.signature} ${n.id} atoms=${n.instructions.length}`):["(none registered)"],"","Tip: use $<signature> as CALL or FLOW target in JSON IR."].join(`
|
|
10
|
+
`))},[j,_]),qe=c.useCallback(()=>{const n=k(i.trim());g.emit("executionMode.tool.run",{toolName:"Concept.Hash64"}),g.emit("executionMode.hash64",{hasSignature:!!i.trim()}),M(`Concept.Hash64
|
|
11
|
+
signature: ${i.trim()||"<empty>"}
|
|
12
|
+
id: ${n}
|
|
13
|
+
|
|
14
|
+
Note: React uses the original xxHash64(seed=0) signature hash for Concept ID parity.`)},[i]),Je=c.useCallback(async()=>{var S,v;g.emit("executionMode.tool.run",{toolName:"Concept.DefineComposite"});const n=d.trim();if(!n){M("ERROR: Concept.DefineComposite requires a non-empty signature.");return}try{const{literals:K,instructions:B}=Oe(u),E=k(n),fe=j.some(D=>D.id===E),ee={id:E,signature:n,category:"Composite.Dynamic",description:y.trim(),ir:u,literals:K,instructions:B,createdAt:new Date().toISOString()};U(D=>[ee,...D.filter(W=>W.id!==E)].slice(0,16)),g.emit("executionMode.defineComposite",{id:E,atomCount:B.length,literalCount:K.length,replaced:fe});const ae=["Concept.DefineComposite",`OK: composite ${fe?"replaced":"defined"} ${E}`,`signature: ${n}`,`atoms: ${B.length}`,`literals: ${K.length}`,"","Store: saving bridge-backed Concept row projection..."].join(`
|
|
15
|
+
`);M(ae);const te=G.current+1;G.current=te,se("saving"),pe(""),me(""),ge(""),xe(null),g.emit("executionMode.defineComposite.persist.requested",{id:E,hashAlgorithm:"xxHash64(seed=0, utf8-trim)",atomCount:B.length,literalCount:K.length});try{const D=Ce(),W=await je(D),ce=Me(W.status),b=await Qe({id:E,signature:n,category:ee.category,conceptType:"Axiom",description:ee.description,ir:ee.ir,embeddingDimensions:16},ce,D);if(G.current!==te){g.emit("async.staleIgnored",{type:"executionMode.defineComposite.persist",id:E});return}if(!b.success||!b.path)throw new Error(b.error||"Concept store did not return a saved path.");se("saved"),pe(b.path),me(b.sha256||"");const[X,He]=await Promise.all([ze(ce,D),Ge(E,ce,D)]);if(G.current!==te){g.emit("async.staleIgnored",{type:"executionMode.defineComposite.readback",id:E});return}const ne=dt(X,He);xe(ne),g.emit("executionMode.defineComposite.persist.completed",{id:E,path:b.path,sha256:b.sha256,hashAlgorithm:b.hashAlgorithm,vectorDimensions:((S=b.embeddingVector)==null?void 0:S.length)??0,rowCount:ne.rowCount,nativeSqliteAdapterState:ne.nativeSqliteAdapterState,paidEmbeddingAdapterState:ne.paidEmbeddingAdapterState}),M([ae.replace("Store: saving bridge-backed Concept row projection...","Store: saved bridge-backed Concept row projection."),`path: ${b.path}`,b.indexPath?`index: ${b.indexPath}`:"",b.sqlKey?`sqlKey: ${b.sqlKey}`:"",b.sha256?`sha256: ${b.sha256}`:"",X.rowCount!==void 0?`rows: ${X.rowCount}`:"",X.adapterState?`adapter: ${X.adapterState}`:"",(v=b.embeddingVector)!=null&&v.length?`vector[0..3]: ${b.embeddingVector.slice(0,4).join(", ")}`:""].filter(Boolean).join(`
|
|
16
|
+
`))}catch(D){if(G.current!==te){g.emit("async.staleIgnored",{type:"executionMode.defineComposite.persist.failed",id:E});return}const W=D instanceof Error?D.message:String(D);se("error"),ge(W),g.emit("executionMode.defineComposite.persist.failed",{id:E,message:W}),M([ae.replace("Store: saving bridge-backed Concept row projection...","Store: bridge-backed persistence failed."),`error: ${W}`,"","The composite remains registered in the browser-local registry for this session."].join(`
|
|
17
|
+
`))}}catch(K){g.emit("executionMode.ir.failed",{stage:"DefineComposite",message:K instanceof Error?K.message:String(K)}),M(`ERROR: Concept.DefineComposite failed. ${String(K)}`)}},[y,u,d,j]),Ue=c.useCallback(()=>{g.emit("executionMode.tool.run",{toolName:"Concept.Embed"});const n=$.trim(),S=C.trim();if(!n||!S){M("ERROR: Concept.Embed requires signature and description.");return}const v=k(n),{input:K,vector:B,tokens:E}=lt(n,S);g.emit("executionMode.embed.local",{id:v,dimensions:B.length,tokens:E}),M(["Concept.Embed",`OK: local embedding preview ${v}`,`signature: ${n}`,`tokens: ${E}`,`dimensions: ${B.length}`,`vector[0..7]: ${B.slice(0,8).join(", ")}`,"","Input:",K,"","Note: the original tool requires approval because it can call paid embedding APIs and SQLite. React only produces a deterministic preview until an adapter is connected."].join(`
|
|
18
|
+
`))},[C,$]),We=c.useCallback(async()=>{g.emit("executionMode.tool.run",{toolName:"Concept.Embed.Readiness"}),ie("checking"),he("");try{const n=Ce(),S=await je(n),v=await _e(Me(S.status),n);Pe(v),ie("ready"),g.emit("executionMode.embed.readiness",{adapterState:v.adapterState,confirmationState:v.confirmationState,apiKeyState:v.apiKeyState,model:v.model})}catch(n){const S=n instanceof Error?n.message:String(n);ie("error"),he(S),g.emit("executionMode.embed.readiness.failed",{message:S})}},[]),Fe=c.useCallback(()=>{const n=d.trim()||"MindExecution.Dynamic.Sum(System.Double,System.Double)";s(JSON.stringify({literals:[{id:"0x0000000000000000",type:"double",value:4},{id:"0x0000000000000001",type:"double",value:7}],instructions:[{op:"FLOW",target:`$${n}`,args:["0x0000000000000000","0x0000000000000001"],dstSlot:"0x0000000000000002"},{op:"RETURN",srcSlot:"0x0000000000000002"}]},null,2)),R("0x0000000000000002")},[d]);return t.jsx("div",{className:"page execution-mode-page",children:t.jsxs("div",{className:"execution-grid",children:[t.jsxs("section",{className:"execution-panel",children:[t.jsx("div",{className:"eyebrow",children:"Execution Mode"}),t.jsx("h1",{children:"Concept Kernel Test"}),t.jsxs("div",{className:"execution-mode-strip","aria-label":"Resolved execution settings",children:[t.jsxs("span",{"data-testid":"execution-mode-resolved-mode",children:["Mode: ",T]}),t.jsxs("span",{"data-testid":"execution-mode-queue-mode",children:["Queue: ",V]}),t.jsx("span",{children:"Agent: adapter-gated"})]}),t.jsxs("div",{className:"execution-settings-grid",children:[t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Execution mode"}),t.jsxs("select",{value:T,"data-testid":"execution-mode-selector",onChange:n=>ye({executionMode:n.target.value},"execution-mode.page.mode"),children:[t.jsx("option",{value:"Concept",children:"Concept"}),t.jsx("option",{value:"PureLLM",children:"PureLLM"})]})]}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Direct instruction queue"}),t.jsxs("select",{value:V,"data-testid":"execution-mode-queue-selector",onChange:n=>ye({directInstructionQueueMode:n.target.value},"execution-mode.page.queue"),children:[t.jsx("option",{value:"Append",children:"Append"}),t.jsx("option",{value:"Next",children:"Next"}),t.jsx("option",{value:"ReplacePending",children:"ReplacePending"})]})]})]}),t.jsx("p",{children:T==="Concept"?"Mode: Concept local shell. JSON IR can run through a deterministic browser kernel without invoking a live Agent.":"Mode: PureLLM adapter gate. This route shows the selected mode but blocks live direct execution until a verified Agent adapter exists."}),t.jsx("textarea",{"data-testid":"execution-mode-ir-input","aria-label":"Execution prompt",value:e,onChange:n=>s(n.target.value),placeholder:"Enter a prompt or IR (JSON)"}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Watch slots"}),t.jsx("input",{"data-testid":"execution-mode-watch-slots",value:I,onChange:n=>R(n.target.value),placeholder:"0x0000000000000002 or JSON array"})]}),t.jsxs("div",{className:"execution-actions",children:[t.jsxs("button",{className:"btn btn-primary",type:"button","data-testid":"execution-mode-run",onClick:Te,disabled:z,children:[z?t.jsx(Ye,{size:16,className:"spin-icon"}):t.jsx(Ze,{size:16}),"Run IR"]}),t.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"execution-mode-sample",onClick:()=>s(Ne),disabled:z,children:[t.jsx(et,{size:16}),"Sample"]}),t.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"execution-mode-flow-sample",onClick:Fe,disabled:z,children:[t.jsx(tt,{size:16}),"FLOW Sample"]}),t.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>M(""),disabled:z,children:"Clear"})]}),P&&t.jsx("pre",{"data-testid":"execution-mode-output",children:P})]}),t.jsxs("aside",{className:"execution-side","aria-label":"Concept kernel local tools",children:[t.jsxs("div",{className:"execution-toolbox",children:[t.jsx("strong",{children:"Concept tools"}),t.jsx("p",{children:"Local replacements for the original Concept plugin test flow."}),t.jsx("div",{className:"execution-tool-chip-grid",children:Ee.map(n=>t.jsx("span",{"data-testid":"concept-tool-chip",children:n},n))}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Signature"}),t.jsx("input",{value:i,onChange:n=>r(n.target.value)})]}),t.jsxs("div",{className:"execution-actions",children:[t.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"concept-hash64-run",onClick:qe,children:"Hash64"}),t.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"concept-kernel-help-run",onClick:Be,children:"KernelHelp"})]})]}),t.jsxs("div",{className:"execution-toolbox",children:[t.jsx("strong",{children:"DefineComposite"}),t.jsx("p",{children:"Registers a browser-local FLOW target using the original P0/P1 parameter slot convention."}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Composite signature"}),t.jsx("input",{value:d,onChange:n=>w(n.target.value)})]}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Description"}),t.jsx("input",{value:y,onChange:n=>N(n.target.value)})]}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Composite IR"}),t.jsx("textarea",{value:u,onChange:n=>l(n.target.value)})]}),t.jsxs("div",{className:"execution-actions",children:[t.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"concept-define-composite-run",onClick:Je,disabled:H==="saving",children:H==="saving"?"Saving":"DefineComposite"}),t.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>l(De),children:"Composite Sample"})]}),t.jsxs("div",{className:"execution-store-status","data-testid":"concept-store-status","data-concept-store-state":H,"data-concept-store-path":ue,"data-concept-store-sha256":Ae,children:[t.jsx(nt,{size:14}),t.jsx("span",{children:H==="saved"?`Saved ${ue}`:H==="saving"?"Saving Concept row projection":H==="error"?`Store error: ${ke}`:"Concept store ready"})]}),h&&t.jsxs("div",{className:"execution-store-readiness","data-testid":"concept-store-readiness","data-concept-store-provider":h.provider,"data-concept-store-adapter":h.adapterState,"data-concept-store-native-sqlite":h.nativeSqliteAdapterState,"data-concept-store-paid-embedding":h.paidEmbeddingAdapterState,"data-concept-store-row-count":h.rowCount,"data-concept-store-index-path":h.indexPath,children:[t.jsx("strong",{children:"Store readiness"}),t.jsx("span",{"data-testid":"concept-store-readiness-provider",children:h.provider}),t.jsx("span",{"data-testid":"concept-store-readiness-table",children:h.originalTable}),t.jsxs("span",{"data-testid":"concept-store-readiness-row-count",children:["Rows ",h.rowCount]}),t.jsxs("span",{"data-testid":"concept-store-readiness-native-sqlite",children:["SQLite ",h.nativeSqliteAdapterState]}),t.jsxs("span",{"data-testid":"concept-store-readiness-paid-embedding",children:["Embedding ",h.paidEmbeddingAdapterState]}),t.jsx("small",{"data-testid":"concept-store-readiness-index",children:h.indexPath||"Index pending"}),t.jsx("small",{"data-testid":"concept-store-readiness-latest",children:h.latestRowId?`${h.latestRowId} ${h.latestRowSqlKey} ${h.latestRowSignature}`:"No persisted rows yet"}),t.jsx("code",{"data-testid":"concept-store-readiness-columns",children:h.sqliteReadyColumns.join(", ")})]})]}),t.jsxs("div",{className:"execution-toolbox",children:[t.jsx("strong",{children:"Embed Preview"}),t.jsx("p",{children:"Deterministic local vector preview. No network call, no API key, no SQLite write."}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Embed signature"}),t.jsx("input",{value:$,onChange:n=>f(n.target.value)})]}),t.jsxs("label",{className:"execution-input-row",children:[t.jsx("span",{children:"Embed description"}),t.jsx("textarea",{value:C,onChange:n=>L(n.target.value)})]}),t.jsxs("div",{className:"execution-actions",children:[t.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"concept-embed-run",onClick:Ue,children:"Embed"}),t.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"concept-embed-readiness-run",onClick:We,disabled:re==="checking",children:re==="checking"?"Checking":"Bridge Readiness"})]}),t.jsxs("div",{className:"execution-embed-readiness","data-testid":"concept-embed-readiness","data-concept-embed-readiness-state":re,"data-concept-embed-adapter-state":(p==null?void 0:p.adapterState)||"adapter-gated","data-concept-embed-api-key-state":(p==null?void 0:p.apiKeyState)||"unknown","data-concept-embed-confirmation-state":(p==null?void 0:p.confirmationState)||"unknown","data-concept-embed-model":(p==null?void 0:p.model)||"",children:[t.jsx("strong",{children:"Bridge embed adapter"}),t.jsx("span",{"data-testid":"concept-embed-readiness-adapter",children:(p==null?void 0:p.adapterState)||"adapter-gated"}),t.jsxs("span",{"data-testid":"concept-embed-readiness-key",children:["Key ",(p==null?void 0:p.apiKeyState)||"unknown"]}),t.jsxs("span",{"data-testid":"concept-embed-readiness-confirm",children:["Confirm ",(p==null?void 0:p.confirmationState)||"unknown"]}),t.jsx("small",{"data-testid":"concept-embed-readiness-model",children:(p==null?void 0:p.model)||"Model pending"}),t.jsx("small",{"data-testid":"concept-embed-readiness-policy",children:(p==null?void 0:p.inputPolicy)||"Provider call stays blocked until LocalBridge opt-in is confirmed."}),Se&&t.jsx("small",{"data-testid":"concept-embed-readiness-error",children:Se})]})]}),t.jsxs("div",{className:"execution-toolbox",children:[t.jsx("strong",{children:"Composite registry"}),t.jsx("div",{className:"execution-kernel-list",children:j.length>0?j.map(n=>t.jsxs("span",{title:`${n.signature} ${n.id}`,children:[n.signature," - atoms ",n.instructions.length]},n.id)):t.jsx("span",{children:"No browser-local composites yet."})})]}),t.jsxs("div",{className:"execution-toolbox",children:[t.jsx("strong",{children:"Supported subset"}),t.jsx("div",{className:"execution-kernel-list",children:_.slice(0,10).map(n=>t.jsxs("span",{title:n.signature,children:[n.category," · ",n.summary]},n.signature))})]})]})]})})}export{ht as ExecutionModePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.execution-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.execution-panel,.execution-side{min-width:0}.execution-panel{padding:24px;border:1px solid rgba(203,213,225,.82);border-radius:9px;background:#ffffffeb;box-shadow:var(--soft-shadow)}.execution-panel h1{margin:12px 0 0;font-size:clamp(34px,5vw,56px);line-height:1.02;font-weight:920;letter-spacing:0}.execution-panel p{margin:14px 0 0;color:#475569;line-height:1.7}.runtime-error-message{min-width:0;display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 12px;border:1px solid rgba(248,113,113,.28);border-radius:7px;color:#991b1b;background:#fef2f2e0;font-size:13px;font-weight:800}.runtime-error-message span{min-width:0;overflow-wrap:anywhere}.runtime-error-symbol{width:18px;height:18px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:999px;background:#991b1b;color:#fff;font-size:12px;font-weight:900;line-height:1}.execution-mode-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.execution-mode-strip span{min-height:28px;padding:6px 10px;border:1px solid rgba(29,78,216,.14);border-radius:999px;color:#1e3a8a;background:#eff6ff;font-size:12px;font-weight:850}.execution-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.execution-panel textarea{width:100%;min-height:180px;margin-top:18px;padding:12px;border:1px solid rgba(148,163,184,.46);border-radius:9px;color:#0f172a;background:#fff;resize:vertical;outline:none;line-height:1.55}.execution-input-row{display:grid;gap:7px;margin-top:14px;color:#475569;font-size:12px;font-weight:800}.execution-input-row input,.execution-input-row select{width:100%;min-height:42px;padding:0 11px;border:1px solid rgba(148,163,184,.46);border-radius:9px;color:#0f172a;background:#fff;outline:none}.execution-input-row textarea{width:100%;min-height:96px;padding:10px 11px;border:1px solid rgba(148,163,184,.46);border-radius:9px;color:#0f172a;background:#fff;resize:vertical;outline:none;line-height:1.45}.execution-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.execution-store-status{display:flex;align-items:center;gap:7px;min-height:30px;margin-top:12px;padding:7px 9px;border:1px solid rgba(20,184,166,.2);border-radius:8px;color:#0f766e;background:#f0fdfa;font-size:12px;font-weight:800;overflow-wrap:anywhere}.execution-store-status span{min-width:0}.execution-store-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;padding:10px;border:1px solid rgba(59,130,246,.18);border-radius:8px;color:#1e3a8a;background:#eff6ff;font-size:12px}.execution-store-readiness strong,.execution-store-readiness small,.execution-store-readiness code{grid-column:1 / -1}.execution-store-readiness strong{color:#0f172a;font-size:13px;font-weight:900}.execution-store-readiness span{min-width:0;padding:6px 7px;border:1px solid rgba(37,99,235,.13);border-radius:7px;background:#ffffff9e;font-weight:800;overflow-wrap:anywhere}.execution-store-readiness small,.execution-store-readiness code{color:#334155;line-height:1.45;overflow-wrap:anywhere}.execution-store-readiness code{padding:7px;border-radius:7px;background:#ffffffb3;white-space:normal}.execution-embed-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;padding:10px;border:1px solid rgba(168,85,247,.18);border-radius:8px;color:#581c87;background:#faf5ff;font-size:12px}.execution-embed-readiness strong,.execution-embed-readiness small{grid-column:1 / -1}.execution-embed-readiness strong{color:#0f172a;font-size:13px;font-weight:900}.execution-embed-readiness span{min-width:0;padding:6px 7px;border:1px solid rgba(147,51,234,.13);border-radius:7px;background:#ffffffa3;font-weight:800;overflow-wrap:anywhere}.execution-embed-readiness small{color:#475569;line-height:1.45;overflow-wrap:anywhere}.execution-panel pre{margin:16px 0 0;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:9px;color:#0f172a;background:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere}.execution-side{display:grid;gap:14px}.execution-toolbox{padding:18px;border:1px solid rgba(203,213,225,.82);border-radius:9px;background:#ffffffeb;box-shadow:var(--soft-shadow)}.execution-toolbox strong{display:block;color:#0f172a;font-size:16px;font-weight:900}.execution-toolbox p{margin:8px 0 0;color:#475569;font-size:13px;line-height:1.55}.execution-tool-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.execution-tool-chip-grid span{min-width:0;padding:7px 8px;border:1px solid rgba(29,78,216,.14);border-radius:8px;color:#1e3a8a;background:#eff6ff;font-size:11px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-kernel-list{display:grid;gap:7px;margin-top:12px}.execution-kernel-list span{min-width:0;padding:8px 9px;border:1px solid rgba(15,118,110,.12);border-radius:8px;color:#334155;background:#f8fafc;font-size:12px;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:960px){.execution-grid{grid-template-columns:1fr}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,j as e}from"./vendor-react-BXzpOyCS.js";import{R as b}from"./app-runtime-xD2Z3NdN.js";import{aR as A}from"./vendor-icons-DE3gIReG.js";const u="mindexec-react-launch-leads-v1";function R(){const t=window.localStorage.getItem(u);if(!t)return[];const i=JSON.parse(t);return Array.isArray(i)?i.filter(r=>typeof r=="object"&&r!==null):[]}function O(){return navigator.language||"en"}function $({productKey:t="mindexec",eyebrow:i="Launch list",headline:r="Get the launch notes.",body:w="Short English updates for the product launch, payment rollout, and practical workflow examples.",buttonText:y="Join list",sourceTag:a="unknown",compact:L=!1}){const h=s.useId(),[m,p]=s.useState(""),[o,E]=s.useState("solo-builder"),[l,x]=s.useState(!1),[f,c]=s.useState(""),[N,j]=s.useState(!1),k=n=>{if(n.preventDefault(),l)return;const d=m.trim().toLowerCase();if(c(""),j(!1),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)){c("Enter a valid email address.");return}x(!0),window.setTimeout(()=>{const g=window.location.pathname,v=O();try{const C={email:d,productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v,metadata:{source_tag:a,host:window.location.host},capturedAt:new Date().toISOString()},I=R();window.localStorage.setItem(u,JSON.stringify([C,...I.filter(S=>S.email!==d||S.sourceTag!==a).slice(0,49)]))}catch{}b.emit("launchLead.captured",{productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v}),a==="pricing"&&b.emit("pricing.lead.captured",{intent:o,sourceTag:a}),x(!1),j(!0),c("You're on the launch list."),p("")},450)};return e.jsxs("section",{className:`launch-lead ${L?"launch-lead--compact":""}`,"data-testid":"launch-lead","data-lead-storage-key":u,"data-product-key":t,"data-source-tag":a,children:[e.jsxs("div",{className:"launch-lead-copy",children:[e.jsx("div",{className:"eyebrow",children:i}),e.jsx("h2",{children:r}),e.jsx("p",{children:w})]}),e.jsxs("form",{className:"launch-lead-form",onSubmit:k,"data-testid":"launch-lead-form",children:[e.jsx("label",{htmlFor:h,children:"Email"}),e.jsxs("div",{className:"launch-lead-controls",children:[e.jsxs("div",{className:"launch-lead-input",children:[e.jsx(A,{size:17}),e.jsx("input",{id:h,value:m,onChange:n=>p(n.target.value),type:"email",autoComplete:"email",placeholder:"you@example.com",disabled:l,"data-testid":"launch-lead-email"})]}),e.jsxs("select",{value:o,onChange:n=>E(n.target.value),"aria-label":"Launch interest",disabled:l,"data-testid":"launch-lead-intent",children:[e.jsx("option",{value:"solo-builder",children:"Solo builder"}),e.jsx("option",{value:"researcher",children:"Researcher"}),e.jsx("option",{value:"developer",children:"Developer"}),e.jsx("option",{value:"creator",children:"Creator"})]}),e.jsx("button",{type:"submit",disabled:l,"data-testid":"launch-lead-submit",children:l?"Saving...":y})]}),f&&e.jsx("p",{className:`launch-lead-status ${N?"is-ok":""}`,role:"status","data-testid":"launch-lead-status",children:f})]})]})}export{$ as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.launch-lead{width:min(1180px,calc(100% - 40px));margin:34px auto 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:18px;align-items:center;padding:24px;border:1px solid rgba(203,213,225,.76);border-radius:9px;background:#ffffffe0;box-shadow:var(--soft-shadow)}.launch-lead h2{margin:12px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:0}.launch-lead p{color:#334155;line-height:1.7}.launch-lead-copy p{margin-bottom:0}.launch-lead-form{display:grid;gap:10px}.launch-lead-form label{color:#475569;font-size:13px;font-weight:800}.launch-lead-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.55fr) auto;gap:10px}.launch-lead-input{position:relative}.launch-lead-input svg{position:absolute;left:12px;top:50%;color:#64748b;transform:translateY(-50%);pointer-events:none}.launch-lead input,.launch-lead select,.launch-lead button{min-height:46px;border-radius:9px;font-size:14px}.launch-lead input,.launch-lead select{width:100%;border:1px solid rgba(148,163,184,.42);color:#0f172a;background:#fff}.launch-lead input{padding:0 12px 0 38px}.launch-lead select{padding:0 12px}.launch-lead button{padding:0 18px;color:#fff;background:#0f172a;cursor:pointer;font-weight:850}.launch-lead button:disabled,.launch-lead input:disabled,.launch-lead select:disabled{opacity:.7;cursor:default}.launch-lead-status{margin:0;color:#b45309;font-size:13px;font-weight:760}.launch-lead-status.is-ok{color:#0f766e}@media(max-width:960px){.launch-lead,.launch-lead-controls{grid-template-columns:1fr}}@media(max-width:640px){.launch-lead{width:min(100%,calc(100% - 20px))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as f,j as e}from"./vendor-react-BXzpOyCS.js";import{L as v}from"./LaunchLeadCapture-Bx9LM0IX.js";import{m as b}from"./marketingTools-DN_rnHeB.js";import{g as j}from"./vendor-icons-DE3gIReG.js";import"./app-runtime-xD2Z3NdN.js";const w=b.slice(0,6),k=[["Researchers","Move from reading notes and loose fragments into a board that can hold context and structure."],["Writers","Preview docs and README content quickly, then collect the related work in one saved project."],["Developers","Use local-first utility pages without upload friction, then expand into a canvas when the work becomes multi-file or collaborative."]];function g(r){switch(r.key){case"markdown-viewer":return"Markdown";case"bulk-markdown-viewer":return"Bulk";case"markdown-outline":return"Outline";case"markdown-table-formatter":return"Tables";case"markdown-link-checker":return"Links";case"readme-previewer":return"README";case"markdown-to-html":return"HTML";case"browser-notepad":return"Notes";case"clipboard-board":return"Clipboard";default:return r.chip||"Tool"}}function l(r,t,o){const a=document.head.querySelector(r),s=a??t(),i=s.getAttribute("content"),c=!a;return c&&document.head.appendChild(s),s.setAttribute("content",o),()=>{c?s.remove():i===null?s.removeAttribute("content"):s.setAttribute("content",i)}}function y(r){const t=document.createElement("meta");return t.setAttribute("name",r),t}function d(r){const t=document.createElement("meta");return t.setAttribute("property",r),t}function N(){const r=document.title,t="MindExec | Run your ideas as AI task graphs",o="MindExec is an AI execution canvas for solo builders, researchers, developers, and creators. Start with free browser tools, then move serious work into saved MindCanvas projects.",a="https://mindexec.pages.dev/",s=document.head.querySelector('link[rel="canonical"]')??document.createElement("link"),i=!s.parentElement,c=s.getAttribute("href");s.setAttribute("rel","canonical"),s.setAttribute("href",a),i&&document.head.appendChild(s);const h={"@context":"https://schema.org","@type":"SoftwareApplication",name:"MindExec",applicationCategory:"ProductivityApplication",operatingSystem:"Web",description:"AI execution canvas for markdown, notes, research, and technical planning.",url:a,offers:{"@type":"Offer",price:"9",priceCurrency:"USD"}},n=document.head.querySelector("#platform-home-structured-data")??document.createElement("script"),p=!n.parentElement,u=n.textContent;n.id="platform-home-structured-data",n.type="application/ld+json",n.setAttribute("data-testid","platform-home-structured-data"),n.textContent=JSON.stringify(h),p&&document.head.appendChild(n),document.title=t;const m=[l('meta[name="description"]',()=>y("description"),o),l('meta[property="og:title"]',()=>d("og:title"),t),l('meta[property="og:description"]',()=>d("og:description"),"Use free markdown, notes, and clipboard tools instantly, then move larger work into MindCanvas for saved projects, AI task graphs, and visual organization."),l('meta[property="og:type"]',()=>d("og:type"),"website"),l('meta[property="og:url"]',()=>d("og:url"),a)];return()=>{document.title=r,m.forEach(x=>x()),i?s.remove():c===null?s.removeAttribute("href"):s.setAttribute("href",c),p?n.remove():n.textContent=u}}function I({navigate:r}){return f.useEffect(()=>N(),[]),e.jsxs("div",{className:"page platform-page","data-testid":"platform-home",children:[e.jsxs("section",{className:"platform-hero",children:[e.jsx("div",{className:"eyebrow",children:"AI business execution canvas"}),e.jsxs("div",{className:"platform-hero-grid",children:[e.jsxs("div",{className:"platform-copy",children:[e.jsx("h1",{children:"MindExec"}),e.jsx("p",{children:"Run your ideas as AI task graphs. Start with quick browser tools, then keep serious work in MindCanvas where notes, assets, AI runs, and execution evidence stay visible."}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>r("/tools"),children:"Browse free tools"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]}),e.jsxs("div",{className:"trust-row",children:[e.jsx("span",{children:"English-first global launch"}),e.jsx("span",{children:"Local-first by default"}),e.jsx("span",{children:"USD paid path"}),e.jsx("span",{children:"Built for solo builders"})]})]}),e.jsxs("div",{className:"hero-product-panel","aria-label":"MindExec workflow preview",children:[e.jsxs("div",{className:"preview-toolbar",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsxs("div",{className:"preview-canvas",children:[e.jsxs("article",{className:"preview-node preview-node--note",children:[e.jsx("strong",{children:"Context"}),e.jsx("p",{children:"Audience, offer, proof, and reusable launch notes."})]}),e.jsxs("article",{className:"preview-node preview-node--task",children:[e.jsx(j,{size:16}),e.jsx("strong",{children:"AI Task"}),e.jsx("p",{children:"Create launch plan"})]}),e.jsx("svg",{className:"preview-edge",viewBox:"0 0 360 210","aria-hidden":"true",children:e.jsx("path",{d:"M130 92 C180 70 205 70 250 100"})})]})]})]})]}),e.jsx(v,{eyebrow:"Global launch list",headline:"Get the English launch notes before the paid rollout.",body:"Short product updates, practical MindCanvas examples, and launch pricing notices for builders who want a durable visual workspace.",sourceTag:"home"}),e.jsxs("section",{className:"page-section",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"How it fits"}),e.jsx("h2",{children:"Use the light tool first. Keep the bigger work in one place."}),e.jsx("p",{children:"The React port keeps MindExec canvas-first: fast utility work stays quick, and durable project work moves into a saved board."})]}),e.jsx("div",{className:"step-grid",children:[["01","Open a tool instantly","Markdown, notes, snippets, and quick review without login friction."],["02","Find the point where it matters","When work needs structure, compare, evidence, or repeatability."],["03","Continue in MindCanvas","Connect context, run AI tasks, and keep the output reusable."]].map(([t,o,a])=>e.jsxs("article",{className:"step-card",children:[e.jsx("span",{children:t}),e.jsx("h3",{children:o}),e.jsx("p",{children:a})]},t))})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-featured-tools",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Free entry points"}),e.jsx("h2",{children:"Start with the tool that matches the job"}),e.jsx("p",{children:"Each tool is meant to solve one narrow problem quickly, then hand larger work off to MindCanvas at the right moment."})]}),e.jsx("div",{className:"platform-tool-grid",children:w.map(t=>e.jsxs("article",{className:"platform-tool-card","data-testid":"platform-featured-tool-card","data-tool-key":t.key,children:[e.jsx("div",{className:"platform-tool-chip",children:g(t)}),e.jsx("h3",{children:t.title}),e.jsx("p",{children:t.description}),e.jsx("a",{href:t.liveUrl,target:"_blank",rel:"noreferrer","data-live-url":t.liveUrl,children:"Open tool"})]},t.key))}),e.jsx("div",{className:"platform-section-link",children:e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/tools"),children:"See the full tools directory"})})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-audience",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Best fit"}),e.jsx("h2",{children:"Built for researchers, writers, developers, and solo builders"}),e.jsx("p",{children:"If your work begins as markdown, snippets, notes, links, or loose planning artifacts, MindExec gives you a cleaner path into a persistent AI execution canvas."})]}),e.jsx("div",{className:"platform-audience-grid",children:k.map(([t,o])=>e.jsxs("article",{children:[e.jsx("h3",{children:t}),e.jsx("p",{children:o})]},t))})]}),e.jsxs("section",{className:"platform-closing","data-testid":"platform-closing",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"Next step"}),e.jsx("h2",{children:"Start free. Upgrade when the work becomes worth keeping."}),e.jsx("p",{children:"Use the free entry points first, then keep the work that deserves persistence, cloud access, and AI support."})]}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]})]})]})}export{I as MarketingHome};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.platform-page{background:radial-gradient(circle at top left,rgba(8,145,178,.14),transparent 30%),radial-gradient(circle at top right,rgba(245,158,11,.12),transparent 28%),linear-gradient(180deg,#f8fafc,#eef6ff 54%,#f8fafc)}.platform-hero,.page-section{width:min(1180px,calc(100% - 40px));margin-inline:auto}.platform-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:26px;margin-top:18px;align-items:stretch}.platform-copy h1{margin:12px 0 0;max-width:900px;font-size:clamp(40px,7vw,76px);line-height:.98;font-weight:920;letter-spacing:0}.platform-copy p{max-width:780px;margin:20px 0 0;color:var(--copy);font-size:18px;line-height:1.8}.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.trust-row span{padding:7px 10px;border:1px solid rgba(148,163,184,.25);border-radius:999px;color:#475569;background:#ffffffb3;font-size:12px;font-weight:720}.hero-product-panel{position:relative;min-height:440px;overflow:hidden;border:1px solid rgba(203,213,225,.72);border-radius:10px;background:radial-gradient(circle,rgba(148,163,184,.36) 1px,transparent 1px) 0 0 / 18px 18px,linear-gradient(135deg,#f8fafc,#e2e8f0);box-shadow:var(--shadow)}.preview-toolbar{position:absolute;top:16px;left:50%;display:flex;gap:16px;padding:14px 20px;border:1px solid rgba(203,213,225,.76);border-radius:7px;background:#ffffffdb;transform:translate(-50%);box-shadow:var(--soft-shadow)}.preview-toolbar span{width:18px;height:18px;border-radius:5px;background:#64748b}.preview-canvas{position:absolute;top:84px;right:24px;bottom:24px;left:24px}.preview-node{position:absolute;width:155px;min-height:112px;padding:16px;border:1px solid rgba(226,232,240,.9);border-radius:8px;background:#ffffffeb;box-shadow:0 14px 32px #0f172a1f}.preview-node p{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.45}.preview-node--note{top:82px;left:42px}.preview-node--task{top:112px;right:42px;border-color:#f9731657;background:#fff7ed}.preview-edge{position:absolute;inset:45px 20px auto;width:calc(100% - 40px);height:220px;fill:none;stroke:#f97316;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 8}.page-section{margin-top:44px}.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.step-card{padding:24px;border:1px solid rgba(203,213,225,.76);border-radius:9px;background:#ffffffdb;box-shadow:var(--soft-shadow)}.step-card span{color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.step-card h3{margin:12px 0 8px}.step-card p{color:#475569;line-height:1.65}.platform-tool-grid,.platform-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.platform-tool-card,.platform-audience-grid article{min-height:210px;padding:22px;border:1px solid rgba(203,213,225,.76);border-radius:8px;background:#ffffffdb;box-shadow:var(--soft-shadow)}.platform-tool-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid rgba(15,118,110,.16);border-radius:999px;color:var(--teal);background:#f0fdfad1;font-size:11px;font-weight:850;text-transform:uppercase}.platform-tool-card h3,.platform-audience-grid h3{margin:14px 0 8px;color:var(--ink)}.platform-tool-card p,.platform-audience-grid p,.platform-closing p{color:#475569;line-height:1.65}.platform-tool-card a{display:inline-flex;align-items:center;margin-top:14px;color:#0f766e;font-weight:850;text-decoration:none}.platform-tool-card a:hover{text-decoration:underline}.platform-section-link{display:flex;justify-content:center;margin-top:22px}.platform-closing{display:flex;align-items:center;justify-content:space-between;gap:22px;width:min(1180px,calc(100% - 40px));margin:50px auto 0;padding:28px 0;border-top:1px solid rgba(148,163,184,.26);border-bottom:1px solid rgba(148,163,184,.26)}.platform-closing h2{margin:12px 0 0;max-width:780px;color:var(--ink);font-size:clamp(28px,4vw,44px);line-height:1.08}.platform-closing p{max-width:720px;margin:14px 0 0}@media(max-width:960px){.platform-hero-grid,.step-grid,.platform-tool-grid,.platform-audience-grid{grid-template-columns:1fr}.platform-closing{align-items:stretch;flex-direction:column}.hero-product-panel{min-height:360px}}@media(max-width:640px){.platform-copy h1{font-size:36px;line-height:1.04}.platform-copy p{font-size:15px}.platform-closing{width:min(100%,calc(100% - 20px))}}
|