@10et/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +79 -0
- package/clawdbot-plugin/clawdbot.plugin.json +20 -0
- package/clawdbot-plugin/index.js +555 -0
- package/clawdbot-plugin/index.ts +582 -0
- package/clawdbot-skill/README.md +328 -0
- package/clawdbot-skill/SKILL.md +59 -0
- package/clawdbot-skill/index.ts +683 -0
- package/clawdbot-skill/package.json +28 -0
- package/clawdbot-skill/skill.json +19 -0
- package/dist/commands/agent.d.ts +7 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +170 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/agents.d.ts +5 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +400 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/ci-setup.d.ts +5 -0
- package/dist/commands/ci-setup.d.ts.map +1 -0
- package/dist/commands/ci-setup.js +82 -0
- package/dist/commands/ci-setup.js.map +1 -0
- package/dist/commands/clawdbot.d.ts +11 -0
- package/dist/commands/clawdbot.d.ts.map +1 -0
- package/dist/commands/clawdbot.js +215 -0
- package/dist/commands/clawdbot.js.map +1 -0
- package/dist/commands/context-hub.d.ts +22 -0
- package/dist/commands/context-hub.d.ts.map +1 -0
- package/dist/commands/context-hub.js +3505 -0
- package/dist/commands/context-hub.js.map +1 -0
- package/dist/commands/deploy.d.ts +5 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +371 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/digest.d.ts +12 -0
- package/dist/commands/digest.d.ts.map +1 -0
- package/dist/commands/digest.js +128 -0
- package/dist/commands/digest.js.map +1 -0
- package/dist/commands/doctor.d.ts +8 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +265 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/eval.d.ts +46 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +427 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/feedback.d.ts +2 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +179 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/findings.d.ts +13 -0
- package/dist/commands/findings.d.ts.map +1 -0
- package/dist/commands/findings.js +203 -0
- package/dist/commands/findings.js.map +1 -0
- package/dist/commands/flows.d.ts +10 -0
- package/dist/commands/flows.d.ts.map +1 -0
- package/dist/commands/flows.js +423 -0
- package/dist/commands/flows.js.map +1 -0
- package/dist/commands/gtm-process-update.d.ts +10 -0
- package/dist/commands/gtm-process-update.d.ts.map +1 -0
- package/dist/commands/gtm-process-update.js +101 -0
- package/dist/commands/gtm-process-update.js.map +1 -0
- package/dist/commands/hooks.d.ts +13 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +304 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/hud.d.ts +4 -0
- package/dist/commands/hud.d.ts.map +1 -0
- package/dist/commands/hud.js +300 -0
- package/dist/commands/hud.js.map +1 -0
- package/dist/commands/ide.d.ts +28 -0
- package/dist/commands/ide.d.ts.map +1 -0
- package/dist/commands/ide.js +628 -0
- package/dist/commands/ide.js.map +1 -0
- package/dist/commands/improve.d.ts +11 -0
- package/dist/commands/improve.d.ts.map +1 -0
- package/dist/commands/improve.js +77 -0
- package/dist/commands/improve.js.map +1 -0
- package/dist/commands/init-from-service.d.ts +15 -0
- package/dist/commands/init-from-service.d.ts.map +1 -0
- package/dist/commands/init-from-service.js +540 -0
- package/dist/commands/init-from-service.js.map +1 -0
- package/dist/commands/init.d.ts +15 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +940 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/kanban.d.ts +34 -0
- package/dist/commands/kanban.d.ts.map +1 -0
- package/dist/commands/kanban.js +225 -0
- package/dist/commands/kanban.js.map +1 -0
- package/dist/commands/linear.d.ts +41 -0
- package/dist/commands/linear.d.ts.map +1 -0
- package/dist/commands/linear.js +740 -0
- package/dist/commands/linear.js.map +1 -0
- package/dist/commands/login.d.ts +12 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +780 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/memory.d.ts +38 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +229 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/migrate-services.d.ts +8 -0
- package/dist/commands/migrate-services.d.ts.map +1 -0
- package/dist/commands/migrate-services.js +182 -0
- package/dist/commands/migrate-services.js.map +1 -0
- package/dist/commands/migrate-tenet.d.ts +25 -0
- package/dist/commands/migrate-tenet.d.ts.map +1 -0
- package/dist/commands/migrate-tenet.js +252 -0
- package/dist/commands/migrate-tenet.js.map +1 -0
- package/dist/commands/onboard.d.ts +24 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +873 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/openclaw.d.ts +59 -0
- package/dist/commands/openclaw.d.ts.map +1 -0
- package/dist/commands/openclaw.js +775 -0
- package/dist/commands/openclaw.js.map +1 -0
- package/dist/commands/orchestrate.d.ts +14 -0
- package/dist/commands/orchestrate.d.ts.map +1 -0
- package/dist/commands/orchestrate.js +270 -0
- package/dist/commands/orchestrate.js.map +1 -0
- package/dist/commands/organize.d.ts +16 -0
- package/dist/commands/organize.d.ts.map +1 -0
- package/dist/commands/organize.js +334 -0
- package/dist/commands/organize.js.map +1 -0
- package/dist/commands/peter.d.ts +21 -0
- package/dist/commands/peter.d.ts.map +1 -0
- package/dist/commands/peter.js +2778 -0
- package/dist/commands/peter.js.map +1 -0
- package/dist/commands/pi-fleet.d.ts +18 -0
- package/dist/commands/pi-fleet.d.ts.map +1 -0
- package/dist/commands/pi-fleet.js +382 -0
- package/dist/commands/pi-fleet.js.map +1 -0
- package/dist/commands/pi.d.ts +25 -0
- package/dist/commands/pi.d.ts.map +1 -0
- package/dist/commands/pi.js +218 -0
- package/dist/commands/pi.js.map +1 -0
- package/dist/commands/pivot.d.ts +28 -0
- package/dist/commands/pivot.d.ts.map +1 -0
- package/dist/commands/pivot.js +216 -0
- package/dist/commands/pivot.js.map +1 -0
- package/dist/commands/portfolio.d.ts +11 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +239 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/commands/predict.d.ts +25 -0
- package/dist/commands/predict.d.ts.map +1 -0
- package/dist/commands/predict.js +234 -0
- package/dist/commands/predict.js.map +1 -0
- package/dist/commands/profile.d.ts +46 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +498 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/ralph.d.ts +11 -0
- package/dist/commands/ralph.d.ts.map +1 -0
- package/dist/commands/ralph.js +102 -0
- package/dist/commands/ralph.js.map +1 -0
- package/dist/commands/repair.d.ts +7 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +356 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/scope.d.ts +8 -0
- package/dist/commands/scope.d.ts.map +1 -0
- package/dist/commands/scope.js +503 -0
- package/dist/commands/scope.js.map +1 -0
- package/dist/commands/service-agent.d.ts +16 -0
- package/dist/commands/service-agent.d.ts.map +1 -0
- package/dist/commands/service-agent.js +375 -0
- package/dist/commands/service-agent.js.map +1 -0
- package/dist/commands/service-manager.d.ts +12 -0
- package/dist/commands/service-manager.d.ts.map +1 -0
- package/dist/commands/service-manager.js +969 -0
- package/dist/commands/service-manager.js.map +1 -0
- package/dist/commands/service-validate.d.ts +12 -0
- package/dist/commands/service-validate.d.ts.map +1 -0
- package/dist/commands/service-validate.js +619 -0
- package/dist/commands/service-validate.js.map +1 -0
- package/dist/commands/services-create.d.ts +15 -0
- package/dist/commands/services-create.d.ts.map +1 -0
- package/dist/commands/services-create.js +1800 -0
- package/dist/commands/services-create.js.map +1 -0
- package/dist/commands/services-scan.d.ts +13 -0
- package/dist/commands/services-scan.d.ts.map +1 -0
- package/dist/commands/services-scan.js +251 -0
- package/dist/commands/services-scan.js.map +1 -0
- package/dist/commands/services-sync-agents.d.ts +23 -0
- package/dist/commands/services-sync-agents.d.ts.map +1 -0
- package/dist/commands/services-sync-agents.js +207 -0
- package/dist/commands/services-sync-agents.js.map +1 -0
- package/dist/commands/services.d.ts +19 -0
- package/dist/commands/services.d.ts.map +1 -0
- package/dist/commands/services.js +906 -0
- package/dist/commands/services.js.map +1 -0
- package/dist/commands/session.d.ts +7 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +597 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +12 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +727 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skills.d.ts +31 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +314 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/start.d.ts +25 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +251 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +163 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/synopsis.d.ts +54 -0
- package/dist/commands/synopsis.d.ts.map +1 -0
- package/dist/commands/synopsis.js +277 -0
- package/dist/commands/synopsis.js.map +1 -0
- package/dist/commands/telemetry-monitor.d.ts +11 -0
- package/dist/commands/telemetry-monitor.d.ts.map +1 -0
- package/dist/commands/telemetry-monitor.js +224 -0
- package/dist/commands/telemetry-monitor.js.map +1 -0
- package/dist/commands/telemetry-test.d.ts +11 -0
- package/dist/commands/telemetry-test.d.ts.map +1 -0
- package/dist/commands/telemetry-test.js +67 -0
- package/dist/commands/telemetry-test.js.map +1 -0
- package/dist/commands/tenet-agents.d.ts +13 -0
- package/dist/commands/tenet-agents.d.ts.map +1 -0
- package/dist/commands/tenet-agents.js +191 -0
- package/dist/commands/tenet-agents.js.map +1 -0
- package/dist/commands/tenet-setup.d.ts +20 -0
- package/dist/commands/tenet-setup.d.ts.map +1 -0
- package/dist/commands/tenet-setup.js +135 -0
- package/dist/commands/tenet-setup.js.map +1 -0
- package/dist/commands/train.d.ts +51 -0
- package/dist/commands/train.d.ts.map +1 -0
- package/dist/commands/train.js +692 -0
- package/dist/commands/train.js.map +1 -0
- package/dist/commands/update.d.ts +12 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +559 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate-settings.d.ts +37 -0
- package/dist/commands/validate-settings.d.ts.map +1 -0
- package/dist/commands/validate-settings.js +197 -0
- package/dist/commands/validate-settings.js.map +1 -0
- package/dist/commands/verify.d.ts +14 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +304 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/viz.d.ts +40 -0
- package/dist/commands/viz.d.ts.map +1 -0
- package/dist/commands/viz.js +877 -0
- package/dist/commands/viz.js.map +1 -0
- package/dist/commands/voice.d.ts +409 -0
- package/dist/commands/voice.d.ts.map +1 -0
- package/dist/commands/voice.js +4765 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/commands/whoami.d.ts +2 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +24 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/dashboard/index.d.ts +11 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +70 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard-static/assets/index-BVrmW-ZI.js +154 -0
- package/dist/dashboard-static/assets/index-DtruPD44.css +1 -0
- package/dist/dashboard-static/index.html +16 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1707 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/advanced-setup.d.ts +78 -0
- package/dist/lib/advanced-setup.d.ts.map +1 -0
- package/dist/lib/advanced-setup.js +433 -0
- package/dist/lib/advanced-setup.js.map +1 -0
- package/dist/lib/agent-config.d.ts +86 -0
- package/dist/lib/agent-config.d.ts.map +1 -0
- package/dist/lib/agent-config.js +281 -0
- package/dist/lib/agent-config.js.map +1 -0
- package/dist/lib/agent-generator.d.ts +36 -0
- package/dist/lib/agent-generator.d.ts.map +1 -0
- package/dist/lib/agent-generator.js +400 -0
- package/dist/lib/agent-generator.js.map +1 -0
- package/dist/lib/agent-guards.d.ts +67 -0
- package/dist/lib/agent-guards.d.ts.map +1 -0
- package/dist/lib/agent-guards.js +229 -0
- package/dist/lib/agent-guards.js.map +1 -0
- package/dist/lib/agent-manifest.d.ts +35 -0
- package/dist/lib/agent-manifest.d.ts.map +1 -0
- package/dist/lib/agent-manifest.js +75 -0
- package/dist/lib/agent-manifest.js.map +1 -0
- package/dist/lib/agent-runtime-api.d.ts +32 -0
- package/dist/lib/agent-runtime-api.d.ts.map +1 -0
- package/dist/lib/agent-runtime-api.js +270 -0
- package/dist/lib/agent-runtime-api.js.map +1 -0
- package/dist/lib/agent-session.d.ts +104 -0
- package/dist/lib/agent-session.d.ts.map +1 -0
- package/dist/lib/agent-session.js +954 -0
- package/dist/lib/agent-session.js.map +1 -0
- package/dist/lib/build-supervisor.d.ts +44 -0
- package/dist/lib/build-supervisor.d.ts.map +1 -0
- package/dist/lib/build-supervisor.js +79 -0
- package/dist/lib/build-supervisor.js.map +1 -0
- package/dist/lib/connectors/index.d.ts +19 -0
- package/dist/lib/connectors/index.d.ts.map +1 -0
- package/dist/lib/connectors/index.js +23 -0
- package/dist/lib/connectors/index.js.map +1 -0
- package/dist/lib/counterfactual-engine.d.ts +136 -0
- package/dist/lib/counterfactual-engine.d.ts.map +1 -0
- package/dist/lib/counterfactual-engine.js +417 -0
- package/dist/lib/counterfactual-engine.js.map +1 -0
- package/dist/lib/counterfactual-training-bridge.d.ts +114 -0
- package/dist/lib/counterfactual-training-bridge.d.ts.map +1 -0
- package/dist/lib/counterfactual-training-bridge.js +322 -0
- package/dist/lib/counterfactual-training-bridge.js.map +1 -0
- package/dist/lib/discovery-agent.d.ts +48 -0
- package/dist/lib/discovery-agent.d.ts.map +1 -0
- package/dist/lib/discovery-agent.js +111 -0
- package/dist/lib/discovery-agent.js.map +1 -0
- package/dist/lib/domain/engine.d.ts +11 -0
- package/dist/lib/domain/engine.d.ts.map +1 -0
- package/dist/lib/domain/engine.js +23 -0
- package/dist/lib/domain/engine.js.map +1 -0
- package/dist/lib/domain/index.d.ts +3 -0
- package/dist/lib/domain/index.d.ts.map +1 -0
- package/dist/lib/domain/index.js +3 -0
- package/dist/lib/domain/index.js.map +1 -0
- package/dist/lib/domain/template-loader.d.ts +9 -0
- package/dist/lib/domain/template-loader.d.ts.map +1 -0
- package/dist/lib/domain/template-loader.js +29 -0
- package/dist/lib/domain/template-loader.js.map +1 -0
- package/dist/lib/domain/types.d.ts +29 -0
- package/dist/lib/domain/types.d.ts.map +1 -0
- package/dist/lib/domain/types.js +2 -0
- package/dist/lib/domain/types.js.map +1 -0
- package/dist/lib/dynamics-model.d.ts +107 -0
- package/dist/lib/dynamics-model.d.ts.map +1 -0
- package/dist/lib/dynamics-model.js +363 -0
- package/dist/lib/dynamics-model.js.map +1 -0
- package/dist/lib/eval-snapshot.d.ts +47 -0
- package/dist/lib/eval-snapshot.d.ts.map +1 -0
- package/dist/lib/eval-snapshot.js +326 -0
- package/dist/lib/eval-snapshot.js.map +1 -0
- package/dist/lib/eval-store.d.ts +20 -0
- package/dist/lib/eval-store.d.ts.map +1 -0
- package/dist/lib/eval-store.js +209 -0
- package/dist/lib/eval-store.js.map +1 -0
- package/dist/lib/findings-engine.d.ts +51 -0
- package/dist/lib/findings-engine.d.ts.map +1 -0
- package/dist/lib/findings-engine.js +338 -0
- package/dist/lib/findings-engine.js.map +1 -0
- package/dist/lib/flow-engine.d.ts +57 -0
- package/dist/lib/flow-engine.d.ts.map +1 -0
- package/dist/lib/flow-engine.js +717 -0
- package/dist/lib/flow-engine.js.map +1 -0
- package/dist/lib/gtm-generator.d.ts +29 -0
- package/dist/lib/gtm-generator.d.ts.map +1 -0
- package/dist/lib/gtm-generator.js +250 -0
- package/dist/lib/gtm-generator.js.map +1 -0
- package/dist/lib/hook-transformer.d.ts +11 -0
- package/dist/lib/hook-transformer.d.ts.map +1 -0
- package/dist/lib/hook-transformer.js +74 -0
- package/dist/lib/hook-transformer.js.map +1 -0
- package/dist/lib/hub-client.d.ts +81 -0
- package/dist/lib/hub-client.d.ts.map +1 -0
- package/dist/lib/hub-client.js +73 -0
- package/dist/lib/hub-client.js.map +1 -0
- package/dist/lib/hub-health.d.ts +40 -0
- package/dist/lib/hub-health.d.ts.map +1 -0
- package/dist/lib/hub-health.js +101 -0
- package/dist/lib/hub-health.js.map +1 -0
- package/dist/lib/ide-panes.d.ts +58 -0
- package/dist/lib/ide-panes.d.ts.map +1 -0
- package/dist/lib/ide-panes.js +508 -0
- package/dist/lib/ide-panes.js.map +1 -0
- package/dist/lib/invariant-monitor.d.ts +54 -0
- package/dist/lib/invariant-monitor.d.ts.map +1 -0
- package/dist/lib/invariant-monitor.js +487 -0
- package/dist/lib/invariant-monitor.js.map +1 -0
- package/dist/lib/journal-analyzer.d.ts +71 -0
- package/dist/lib/journal-analyzer.d.ts.map +1 -0
- package/dist/lib/journal-analyzer.js +306 -0
- package/dist/lib/journal-analyzer.js.map +1 -0
- package/dist/lib/kanban-github.d.ts +81 -0
- package/dist/lib/kanban-github.d.ts.map +1 -0
- package/dist/lib/kanban-github.js +318 -0
- package/dist/lib/kanban-github.js.map +1 -0
- package/dist/lib/kanban.d.ts +131 -0
- package/dist/lib/kanban.d.ts.map +1 -0
- package/dist/lib/kanban.js +340 -0
- package/dist/lib/kanban.js.map +1 -0
- package/dist/lib/kuva.d.ts +45 -0
- package/dist/lib/kuva.d.ts.map +1 -0
- package/dist/lib/kuva.js +131 -0
- package/dist/lib/kuva.js.map +1 -0
- package/dist/lib/linear-client.d.ts +73 -0
- package/dist/lib/linear-client.d.ts.map +1 -0
- package/dist/lib/linear-client.js +112 -0
- package/dist/lib/linear-client.js.map +1 -0
- package/dist/lib/linear-id-map.d.ts +20 -0
- package/dist/lib/linear-id-map.d.ts.map +1 -0
- package/dist/lib/linear-id-map.js +59 -0
- package/dist/lib/linear-id-map.js.map +1 -0
- package/dist/lib/linear-kanban.d.ts +66 -0
- package/dist/lib/linear-kanban.d.ts.map +1 -0
- package/dist/lib/linear-kanban.js +175 -0
- package/dist/lib/linear-kanban.js.map +1 -0
- package/dist/lib/linear-webhook.d.ts +50 -0
- package/dist/lib/linear-webhook.d.ts.map +1 -0
- package/dist/lib/linear-webhook.js +92 -0
- package/dist/lib/linear-webhook.js.map +1 -0
- package/dist/lib/map-event-bus.d.ts +50 -0
- package/dist/lib/map-event-bus.d.ts.map +1 -0
- package/dist/lib/map-event-bus.js +366 -0
- package/dist/lib/map-event-bus.js.map +1 -0
- package/dist/lib/memory-db.d.ts +136 -0
- package/dist/lib/memory-db.d.ts.map +1 -0
- package/dist/lib/memory-db.js +429 -0
- package/dist/lib/memory-db.js.map +1 -0
- package/dist/lib/memory-indexer.d.ts +61 -0
- package/dist/lib/memory-indexer.d.ts.map +1 -0
- package/dist/lib/memory-indexer.js +418 -0
- package/dist/lib/memory-indexer.js.map +1 -0
- package/dist/lib/memory-search.d.ts +185 -0
- package/dist/lib/memory-search.d.ts.map +1 -0
- package/dist/lib/memory-search.js +678 -0
- package/dist/lib/memory-search.js.map +1 -0
- package/dist/lib/meta-orchestrator.d.ts +141 -0
- package/dist/lib/meta-orchestrator.d.ts.map +1 -0
- package/dist/lib/meta-orchestrator.js +552 -0
- package/dist/lib/meta-orchestrator.js.map +1 -0
- package/dist/lib/model-pricing.d.ts +11 -0
- package/dist/lib/model-pricing.d.ts.map +1 -0
- package/dist/lib/model-pricing.js +27 -0
- package/dist/lib/model-pricing.js.map +1 -0
- package/dist/lib/onboarding.d.ts +40 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +213 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/openclaw-registry.d.ts +48 -0
- package/dist/lib/openclaw-registry.d.ts.map +1 -0
- package/dist/lib/openclaw-registry.js +181 -0
- package/dist/lib/openclaw-registry.js.map +1 -0
- package/dist/lib/openclaw-sdk.d.ts +115 -0
- package/dist/lib/openclaw-sdk.d.ts.map +1 -0
- package/dist/lib/openclaw-sdk.js +220 -0
- package/dist/lib/openclaw-sdk.js.map +1 -0
- package/dist/lib/peer-agent-generator.d.ts +44 -0
- package/dist/lib/peer-agent-generator.d.ts.map +1 -0
- package/dist/lib/peer-agent-generator.js +310 -0
- package/dist/lib/peer-agent-generator.js.map +1 -0
- package/dist/lib/peter-parker-bridge.d.ts +70 -0
- package/dist/lib/peter-parker-bridge.d.ts.map +1 -0
- package/dist/lib/peter-parker-bridge.js +345 -0
- package/dist/lib/peter-parker-bridge.js.map +1 -0
- package/dist/lib/peter-parker-config.d.ts +13 -0
- package/dist/lib/peter-parker-config.d.ts.map +1 -0
- package/dist/lib/peter-parker-config.js +86 -0
- package/dist/lib/peter-parker-config.js.map +1 -0
- package/dist/lib/physical-world-model.d.ts +50 -0
- package/dist/lib/physical-world-model.d.ts.map +1 -0
- package/dist/lib/physical-world-model.js +251 -0
- package/dist/lib/physical-world-model.js.map +1 -0
- package/dist/lib/pi-sky/bridge.d.ts +55 -0
- package/dist/lib/pi-sky/bridge.d.ts.map +1 -0
- package/dist/lib/pi-sky/bridge.js +264 -0
- package/dist/lib/pi-sky/bridge.js.map +1 -0
- package/dist/lib/pi-sky/cost-monitor.d.ts +21 -0
- package/dist/lib/pi-sky/cost-monitor.d.ts.map +1 -0
- package/dist/lib/pi-sky/cost-monitor.js +126 -0
- package/dist/lib/pi-sky/cost-monitor.js.map +1 -0
- package/dist/lib/pi-sky/eval-sweep.d.ts +27 -0
- package/dist/lib/pi-sky/eval-sweep.d.ts.map +1 -0
- package/dist/lib/pi-sky/eval-sweep.js +141 -0
- package/dist/lib/pi-sky/eval-sweep.js.map +1 -0
- package/dist/lib/pi-sky/event-router.d.ts +32 -0
- package/dist/lib/pi-sky/event-router.d.ts.map +1 -0
- package/dist/lib/pi-sky/event-router.js +176 -0
- package/dist/lib/pi-sky/event-router.js.map +1 -0
- package/dist/lib/pi-sky/experiment.d.ts +9 -0
- package/dist/lib/pi-sky/experiment.d.ts.map +1 -0
- package/dist/lib/pi-sky/experiment.js +83 -0
- package/dist/lib/pi-sky/experiment.js.map +1 -0
- package/dist/lib/pi-sky/index.d.ts +16 -0
- package/dist/lib/pi-sky/index.d.ts.map +1 -0
- package/dist/lib/pi-sky/index.js +16 -0
- package/dist/lib/pi-sky/index.js.map +1 -0
- package/dist/lib/pi-sky/stratus-gate.d.ts +28 -0
- package/dist/lib/pi-sky/stratus-gate.d.ts.map +1 -0
- package/dist/lib/pi-sky/stratus-gate.js +61 -0
- package/dist/lib/pi-sky/stratus-gate.js.map +1 -0
- package/dist/lib/pi-sky/swarm.d.ts +28 -0
- package/dist/lib/pi-sky/swarm.d.ts.map +1 -0
- package/dist/lib/pi-sky/swarm.js +208 -0
- package/dist/lib/pi-sky/swarm.js.map +1 -0
- package/dist/lib/pi-sky/types.d.ts +139 -0
- package/dist/lib/pi-sky/types.d.ts.map +1 -0
- package/dist/lib/pi-sky/types.js +2 -0
- package/dist/lib/pi-sky/types.js.map +1 -0
- package/dist/lib/pi-sky/voice-bridge.d.ts +20 -0
- package/dist/lib/pi-sky/voice-bridge.d.ts.map +1 -0
- package/dist/lib/pi-sky/voice-bridge.js +91 -0
- package/dist/lib/pi-sky/voice-bridge.js.map +1 -0
- package/dist/lib/planning-loop.d.ts +157 -0
- package/dist/lib/planning-loop.d.ts.map +1 -0
- package/dist/lib/planning-loop.js +537 -0
- package/dist/lib/planning-loop.js.map +1 -0
- package/dist/lib/policy-head.d.ts +53 -0
- package/dist/lib/policy-head.d.ts.map +1 -0
- package/dist/lib/policy-head.js +400 -0
- package/dist/lib/policy-head.js.map +1 -0
- package/dist/lib/predictor.d.ts +109 -0
- package/dist/lib/predictor.d.ts.map +1 -0
- package/dist/lib/predictor.js +433 -0
- package/dist/lib/predictor.js.map +1 -0
- package/dist/lib/replay-buffer.d.ts +93 -0
- package/dist/lib/replay-buffer.d.ts.map +1 -0
- package/dist/lib/replay-buffer.js +302 -0
- package/dist/lib/replay-buffer.js.map +1 -0
- package/dist/lib/resource-optimizer-middleware.d.ts +39 -0
- package/dist/lib/resource-optimizer-middleware.d.ts.map +1 -0
- package/dist/lib/resource-optimizer-middleware.js +228 -0
- package/dist/lib/resource-optimizer-middleware.js.map +1 -0
- package/dist/lib/resource-optimizer.d.ts +71 -0
- package/dist/lib/resource-optimizer.d.ts.map +1 -0
- package/dist/lib/resource-optimizer.js +228 -0
- package/dist/lib/resource-optimizer.js.map +1 -0
- package/dist/lib/rewards/index.d.ts +14 -0
- package/dist/lib/rewards/index.d.ts.map +1 -0
- package/dist/lib/rewards/index.js +15 -0
- package/dist/lib/rewards/index.js.map +1 -0
- package/dist/lib/rl-manager.d.ts +74 -0
- package/dist/lib/rl-manager.d.ts.map +1 -0
- package/dist/lib/rl-manager.js +245 -0
- package/dist/lib/rl-manager.js.map +1 -0
- package/dist/lib/sentinel-rl.d.ts +97 -0
- package/dist/lib/sentinel-rl.d.ts.map +1 -0
- package/dist/lib/sentinel-rl.js +430 -0
- package/dist/lib/sentinel-rl.js.map +1 -0
- package/dist/lib/service-analyzer.d.ts +76 -0
- package/dist/lib/service-analyzer.d.ts.map +1 -0
- package/dist/lib/service-analyzer.js +704 -0
- package/dist/lib/service-analyzer.js.map +1 -0
- package/dist/lib/service-dependencies.d.ts +44 -0
- package/dist/lib/service-dependencies.d.ts.map +1 -0
- package/dist/lib/service-dependencies.js +314 -0
- package/dist/lib/service-dependencies.js.map +1 -0
- package/dist/lib/service-detector.d.ts +61 -0
- package/dist/lib/service-detector.d.ts.map +1 -0
- package/dist/lib/service-detector.js +541 -0
- package/dist/lib/service-detector.js.map +1 -0
- package/dist/lib/service-gtm.d.ts +208 -0
- package/dist/lib/service-gtm.d.ts.map +1 -0
- package/dist/lib/service-gtm.js +1006 -0
- package/dist/lib/service-gtm.js.map +1 -0
- package/dist/lib/service-mcp-base.d.ts +103 -0
- package/dist/lib/service-mcp-base.d.ts.map +1 -0
- package/dist/lib/service-mcp-base.js +263 -0
- package/dist/lib/service-mcp-base.js.map +1 -0
- package/dist/lib/service-questionnaire.d.ts +11 -0
- package/dist/lib/service-questionnaire.d.ts.map +1 -0
- package/dist/lib/service-questionnaire.js +89 -0
- package/dist/lib/service-questionnaire.js.map +1 -0
- package/dist/lib/service-utils.d.ts +103 -0
- package/dist/lib/service-utils.d.ts.map +1 -0
- package/dist/lib/service-utils.js +385 -0
- package/dist/lib/service-utils.js.map +1 -0
- package/dist/lib/session-lock.d.ts +61 -0
- package/dist/lib/session-lock.d.ts.map +1 -0
- package/dist/lib/session-lock.js +438 -0
- package/dist/lib/session-lock.js.map +1 -0
- package/dist/lib/setup/agent-generator.d.ts +25 -0
- package/dist/lib/setup/agent-generator.d.ts.map +1 -0
- package/dist/lib/setup/agent-generator.js +444 -0
- package/dist/lib/setup/agent-generator.js.map +1 -0
- package/dist/lib/setup/context-analyzer.d.ts +16 -0
- package/dist/lib/setup/context-analyzer.d.ts.map +1 -0
- package/dist/lib/setup/context-analyzer.js +112 -0
- package/dist/lib/setup/context-analyzer.js.map +1 -0
- package/dist/lib/setup/doc-auditor.d.ts +54 -0
- package/dist/lib/setup/doc-auditor.d.ts.map +1 -0
- package/dist/lib/setup/doc-auditor.js +629 -0
- package/dist/lib/setup/doc-auditor.js.map +1 -0
- package/dist/lib/setup/domain-generator.d.ts +7 -0
- package/dist/lib/setup/domain-generator.d.ts.map +1 -0
- package/dist/lib/setup/domain-generator.js +58 -0
- package/dist/lib/setup/domain-generator.js.map +1 -0
- package/dist/lib/setup/flow-generator.d.ts +10 -0
- package/dist/lib/setup/flow-generator.d.ts.map +1 -0
- package/dist/lib/setup/flow-generator.js +113 -0
- package/dist/lib/setup/flow-generator.js.map +1 -0
- package/dist/lib/setup/invariant-bridge.d.ts +91 -0
- package/dist/lib/setup/invariant-bridge.d.ts.map +1 -0
- package/dist/lib/setup/invariant-bridge.js +384 -0
- package/dist/lib/setup/invariant-bridge.js.map +1 -0
- package/dist/lib/setup/smart-eval-generator.d.ts +38 -0
- package/dist/lib/setup/smart-eval-generator.d.ts.map +1 -0
- package/dist/lib/setup/smart-eval-generator.js +378 -0
- package/dist/lib/setup/smart-eval-generator.js.map +1 -0
- package/dist/lib/setup/smart-recommender.d.ts +63 -0
- package/dist/lib/setup/smart-recommender.d.ts.map +1 -0
- package/dist/lib/setup/smart-recommender.js +329 -0
- package/dist/lib/setup/smart-recommender.js.map +1 -0
- package/dist/lib/setup/spec-generator.d.ts +99 -0
- package/dist/lib/setup/spec-generator.d.ts.map +1 -0
- package/dist/lib/setup/spec-generator.js +784 -0
- package/dist/lib/setup/spec-generator.js.map +1 -0
- package/dist/lib/setup/starter-intelligence.d.ts +25 -0
- package/dist/lib/setup/starter-intelligence.d.ts.map +1 -0
- package/dist/lib/setup/starter-intelligence.js +309 -0
- package/dist/lib/setup/starter-intelligence.js.map +1 -0
- package/dist/lib/setup/violation-agent-generator.d.ts +32 -0
- package/dist/lib/setup/violation-agent-generator.d.ts.map +1 -0
- package/dist/lib/setup/violation-agent-generator.js +255 -0
- package/dist/lib/setup/violation-agent-generator.js.map +1 -0
- package/dist/lib/skill-generator.d.ts +21 -0
- package/dist/lib/skill-generator.d.ts.map +1 -0
- package/dist/lib/skill-generator.js +253 -0
- package/dist/lib/skill-generator.js.map +1 -0
- package/dist/lib/state-capture.d.ts +36 -0
- package/dist/lib/state-capture.d.ts.map +1 -0
- package/dist/lib/state-capture.js +541 -0
- package/dist/lib/state-capture.js.map +1 -0
- package/dist/lib/stealth-onboarding.d.ts +40 -0
- package/dist/lib/stealth-onboarding.d.ts.map +1 -0
- package/dist/lib/stealth-onboarding.js +213 -0
- package/dist/lib/stealth-onboarding.js.map +1 -0
- package/dist/lib/storage/cloud.d.ts +27 -0
- package/dist/lib/storage/cloud.d.ts.map +1 -0
- package/dist/lib/storage/cloud.js +75 -0
- package/dist/lib/storage/cloud.js.map +1 -0
- package/dist/lib/storage/index.d.ts +15 -0
- package/dist/lib/storage/index.d.ts.map +1 -0
- package/dist/lib/storage/index.js +15 -0
- package/dist/lib/storage/index.js.map +1 -0
- package/dist/lib/storage/interface.d.ts +56 -0
- package/dist/lib/storage/interface.d.ts.map +1 -0
- package/dist/lib/storage/interface.js +2 -0
- package/dist/lib/storage/interface.js.map +1 -0
- package/dist/lib/storage/local.d.ts +26 -0
- package/dist/lib/storage/local.d.ts.map +1 -0
- package/dist/lib/storage/local.js +164 -0
- package/dist/lib/storage/local.js.map +1 -0
- package/dist/lib/stratus-client.d.ts +178 -0
- package/dist/lib/stratus-client.d.ts.map +1 -0
- package/dist/lib/stratus-client.js +739 -0
- package/dist/lib/stratus-client.js.map +1 -0
- package/dist/lib/stratus-rollout-test.d.ts +10 -0
- package/dist/lib/stratus-rollout-test.d.ts.map +1 -0
- package/dist/lib/stratus-rollout-test.js +412 -0
- package/dist/lib/stratus-rollout-test.js.map +1 -0
- package/dist/lib/surface-agent.d.ts +78 -0
- package/dist/lib/surface-agent.d.ts.map +1 -0
- package/dist/lib/surface-agent.js +105 -0
- package/dist/lib/surface-agent.js.map +1 -0
- package/dist/lib/surface-coordination-example.d.ts +30 -0
- package/dist/lib/surface-coordination-example.d.ts.map +1 -0
- package/dist/lib/surface-coordination-example.js +164 -0
- package/dist/lib/surface-coordination-example.js.map +1 -0
- package/dist/lib/telemetry/physical-world-collector.d.ts +15 -0
- package/dist/lib/telemetry/physical-world-collector.d.ts.map +1 -0
- package/dist/lib/telemetry/physical-world-collector.js +177 -0
- package/dist/lib/telemetry/physical-world-collector.js.map +1 -0
- package/dist/lib/telemetry/training-bridge.d.ts +51 -0
- package/dist/lib/telemetry/training-bridge.d.ts.map +1 -0
- package/dist/lib/telemetry/training-bridge.js +185 -0
- package/dist/lib/telemetry/training-bridge.js.map +1 -0
- package/dist/lib/telemetry-agent-v2.d.ts +128 -0
- package/dist/lib/telemetry-agent-v2.d.ts.map +1 -0
- package/dist/lib/telemetry-agent-v2.js +1043 -0
- package/dist/lib/telemetry-agent-v2.js.map +1 -0
- package/dist/lib/telemetry-agent.d.ts +57 -0
- package/dist/lib/telemetry-agent.d.ts.map +1 -0
- package/dist/lib/telemetry-agent.js +289 -0
- package/dist/lib/telemetry-agent.js.map +1 -0
- package/dist/lib/telemetry-digest.d.ts +10 -0
- package/dist/lib/telemetry-digest.d.ts.map +1 -0
- package/dist/lib/telemetry-digest.js +381 -0
- package/dist/lib/telemetry-digest.js.map +1 -0
- package/dist/lib/telemetry.d.ts +37 -0
- package/dist/lib/telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry.js +376 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/lib/tenet-board-agent.d.ts +52 -0
- package/dist/lib/tenet-board-agent.d.ts.map +1 -0
- package/dist/lib/tenet-board-agent.js +226 -0
- package/dist/lib/tenet-board-agent.js.map +1 -0
- package/dist/lib/tenet-ide-agent.d.ts +40 -0
- package/dist/lib/tenet-ide-agent.d.ts.map +1 -0
- package/dist/lib/tenet-ide-agent.js +199 -0
- package/dist/lib/tenet-ide-agent.js.map +1 -0
- package/dist/lib/text-preprocessing.d.ts +83 -0
- package/dist/lib/text-preprocessing.d.ts.map +1 -0
- package/dist/lib/text-preprocessing.js +261 -0
- package/dist/lib/text-preprocessing.js.map +1 -0
- package/dist/lib/tool-schemas.d.ts +35 -0
- package/dist/lib/tool-schemas.d.ts.map +1 -0
- package/dist/lib/tool-schemas.js +246 -0
- package/dist/lib/tool-schemas.js.map +1 -0
- package/dist/lib/training-buffer.d.ts +86 -0
- package/dist/lib/training-buffer.d.ts.map +1 -0
- package/dist/lib/training-buffer.js +139 -0
- package/dist/lib/training-buffer.js.map +1 -0
- package/dist/lib/training-tuples.d.ts +33 -0
- package/dist/lib/training-tuples.d.ts.map +1 -0
- package/dist/lib/training-tuples.js +273 -0
- package/dist/lib/training-tuples.js.map +1 -0
- package/dist/lib/trajectory-loader.d.ts +82 -0
- package/dist/lib/trajectory-loader.d.ts.map +1 -0
- package/dist/lib/trajectory-loader.js +406 -0
- package/dist/lib/trajectory-loader.js.map +1 -0
- package/dist/lib/tuple-miner.d.ts +30 -0
- package/dist/lib/tuple-miner.d.ts.map +1 -0
- package/dist/lib/tuple-miner.js +427 -0
- package/dist/lib/tuple-miner.js.map +1 -0
- package/dist/lib/vm-backend.d.ts +72 -0
- package/dist/lib/vm-backend.d.ts.map +1 -0
- package/dist/lib/vm-backend.js +175 -0
- package/dist/lib/vm-backend.js.map +1 -0
- package/dist/lib/workspace/backend.d.ts +53 -0
- package/dist/lib/workspace/backend.d.ts.map +1 -0
- package/dist/lib/workspace/backend.js +37 -0
- package/dist/lib/workspace/backend.js.map +1 -0
- package/dist/lib/workspace/cmux-adapter.d.ts +46 -0
- package/dist/lib/workspace/cmux-adapter.d.ts.map +1 -0
- package/dist/lib/workspace/cmux-adapter.js +261 -0
- package/dist/lib/workspace/cmux-adapter.js.map +1 -0
- package/dist/lib/workspace/data-pipeline.d.ts +35 -0
- package/dist/lib/workspace/data-pipeline.d.ts.map +1 -0
- package/dist/lib/workspace/data-pipeline.js +494 -0
- package/dist/lib/workspace/data-pipeline.js.map +1 -0
- package/dist/lib/workspace/engine.d.ts +65 -0
- package/dist/lib/workspace/engine.d.ts.map +1 -0
- package/dist/lib/workspace/engine.js +407 -0
- package/dist/lib/workspace/engine.js.map +1 -0
- package/dist/lib/workspace/notifications.d.ts +14 -0
- package/dist/lib/workspace/notifications.d.ts.map +1 -0
- package/dist/lib/workspace/notifications.js +41 -0
- package/dist/lib/workspace/notifications.js.map +1 -0
- package/dist/lib/workspace/sidebar-runner.d.ts +13 -0
- package/dist/lib/workspace/sidebar-runner.d.ts.map +1 -0
- package/dist/lib/workspace/sidebar-runner.js +419 -0
- package/dist/lib/workspace/sidebar-runner.js.map +1 -0
- package/dist/lib/workspace/surface-registry.d.ts +49 -0
- package/dist/lib/workspace/surface-registry.d.ts.map +1 -0
- package/dist/lib/workspace/surface-registry.js +225 -0
- package/dist/lib/workspace/surface-registry.js.map +1 -0
- package/dist/lib/workspace/surface-type.d.ts +153 -0
- package/dist/lib/workspace/surface-type.d.ts.map +1 -0
- package/dist/lib/workspace/surface-type.js +9 -0
- package/dist/lib/workspace/surface-type.js.map +1 -0
- package/dist/lib/workspace/surfaces/agent-overview.d.ts +16 -0
- package/dist/lib/workspace/surfaces/agent-overview.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/agent-overview.js +116 -0
- package/dist/lib/workspace/surfaces/agent-overview.js.map +1 -0
- package/dist/lib/workspace/surfaces/agent.d.ts +16 -0
- package/dist/lib/workspace/surfaces/agent.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/agent.js +112 -0
- package/dist/lib/workspace/surfaces/agent.js.map +1 -0
- package/dist/lib/workspace/surfaces/claude.d.ts +15 -0
- package/dist/lib/workspace/surfaces/claude.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/claude.js +23 -0
- package/dist/lib/workspace/surfaces/claude.js.map +1 -0
- package/dist/lib/workspace/surfaces/dashboard.d.ts +21 -0
- package/dist/lib/workspace/surfaces/dashboard.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/dashboard.js +32 -0
- package/dist/lib/workspace/surfaces/dashboard.js.map +1 -0
- package/dist/lib/workspace/surfaces/eval.d.ts +15 -0
- package/dist/lib/workspace/surfaces/eval.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/eval.js +42 -0
- package/dist/lib/workspace/surfaces/eval.js.map +1 -0
- package/dist/lib/workspace/surfaces/event-stream.d.ts +16 -0
- package/dist/lib/workspace/surfaces/event-stream.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/event-stream.js +40 -0
- package/dist/lib/workspace/surfaces/event-stream.js.map +1 -0
- package/dist/lib/workspace/surfaces/flow.d.ts +16 -0
- package/dist/lib/workspace/surfaces/flow.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/flow.js +49 -0
- package/dist/lib/workspace/surfaces/flow.js.map +1 -0
- package/dist/lib/workspace/surfaces/index.d.ts +19 -0
- package/dist/lib/workspace/surfaces/index.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/index.js +19 -0
- package/dist/lib/workspace/surfaces/index.js.map +1 -0
- package/dist/lib/workspace/surfaces/kanban.d.ts +15 -0
- package/dist/lib/workspace/surfaces/kanban.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/kanban.js +43 -0
- package/dist/lib/workspace/surfaces/kanban.js.map +1 -0
- package/dist/lib/workspace/surfaces/physical-world.d.ts +15 -0
- package/dist/lib/workspace/surfaces/physical-world.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/physical-world.js +37 -0
- package/dist/lib/workspace/surfaces/physical-world.js.map +1 -0
- package/dist/lib/workspace/surfaces/portfolio.d.ts +16 -0
- package/dist/lib/workspace/surfaces/portfolio.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/portfolio.js +102 -0
- package/dist/lib/workspace/surfaces/portfolio.js.map +1 -0
- package/dist/lib/workspace/surfaces/service.d.ts +16 -0
- package/dist/lib/workspace/surfaces/service.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/service.js +45 -0
- package/dist/lib/workspace/surfaces/service.js.map +1 -0
- package/dist/lib/workspace/surfaces/shell.d.ts +15 -0
- package/dist/lib/workspace/surfaces/shell.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/shell.js +19 -0
- package/dist/lib/workspace/surfaces/shell.js.map +1 -0
- package/dist/lib/workspace/surfaces/sidebar.d.ts +22 -0
- package/dist/lib/workspace/surfaces/sidebar.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/sidebar.js +94 -0
- package/dist/lib/workspace/surfaces/sidebar.js.map +1 -0
- package/dist/lib/workspace/surfaces/telemetry.d.ts +16 -0
- package/dist/lib/workspace/surfaces/telemetry.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/telemetry.js +48 -0
- package/dist/lib/workspace/surfaces/telemetry.js.map +1 -0
- package/dist/lib/workspace/surfaces/topology.d.ts +15 -0
- package/dist/lib/workspace/surfaces/topology.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/topology.js +19 -0
- package/dist/lib/workspace/surfaces/topology.js.map +1 -0
- package/dist/lib/workspace/surfaces/training.d.ts +16 -0
- package/dist/lib/workspace/surfaces/training.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/training.js +22 -0
- package/dist/lib/workspace/surfaces/training.js.map +1 -0
- package/dist/lib/workspace/tmux-adapter.d.ts +30 -0
- package/dist/lib/workspace/tmux-adapter.d.ts.map +1 -0
- package/dist/lib/workspace/tmux-adapter.js +137 -0
- package/dist/lib/workspace/tmux-adapter.js.map +1 -0
- package/dist/lib/workspace/tmux-sidebar.d.ts +14 -0
- package/dist/lib/workspace/tmux-sidebar.d.ts.map +1 -0
- package/dist/lib/workspace/tmux-sidebar.js +230 -0
- package/dist/lib/workspace/tmux-sidebar.js.map +1 -0
- package/dist/lib/world-model-store.d.ts +172 -0
- package/dist/lib/world-model-store.d.ts.map +1 -0
- package/dist/lib/world-model-store.js +487 -0
- package/dist/lib/world-model-store.js.map +1 -0
- package/dist/mcp/context-hub-mcp.d.ts +11 -0
- package/dist/mcp/context-hub-mcp.d.ts.map +1 -0
- package/dist/mcp/context-hub-mcp.js +797 -0
- package/dist/mcp/context-hub-mcp.js.map +1 -0
- package/dist/mcp/service-mcp-server.d.ts +12 -0
- package/dist/mcp/service-mcp-server.d.ts.map +1 -0
- package/dist/mcp/service-mcp-server.js +434 -0
- package/dist/mcp/service-mcp-server.js.map +1 -0
- package/dist/mcp/service-peer-mcp.d.ts +36 -0
- package/dist/mcp/service-peer-mcp.d.ts.map +1 -0
- package/dist/mcp/service-peer-mcp.js +220 -0
- package/dist/mcp/service-peer-mcp.js.map +1 -0
- package/dist/mcp/service-registry-mcp.d.ts +13 -0
- package/dist/mcp/service-registry-mcp.d.ts.map +1 -0
- package/dist/mcp/service-registry-mcp.js +330 -0
- package/dist/mcp/service-registry-mcp.js.map +1 -0
- package/dist/telegram/voice.d.ts +146 -0
- package/dist/telegram/voice.d.ts.map +1 -0
- package/dist/telegram/voice.js +351 -0
- package/dist/telegram/voice.js.map +1 -0
- package/dist/types/eval.d.ts +18 -0
- package/dist/types/eval.d.ts.map +1 -0
- package/dist/types/eval.js +5 -0
- package/dist/types/eval.js.map +1 -0
- package/dist/types/flows.d.ts +72 -0
- package/dist/types/flows.d.ts.map +1 -0
- package/dist/types/flows.js +10 -0
- package/dist/types/flows.js.map +1 -0
- package/dist/types/ide.d.ts +49 -0
- package/dist/types/ide.d.ts.map +1 -0
- package/dist/types/ide.js +5 -0
- package/dist/types/ide.js.map +1 -0
- package/dist/types/journal.d.ts +133 -0
- package/dist/types/journal.d.ts.map +1 -0
- package/dist/types/journal.js +59 -0
- package/dist/types/journal.js.map +1 -0
- package/dist/types/map.d.ts +42 -0
- package/dist/types/map.d.ts.map +1 -0
- package/dist/types/map.js +39 -0
- package/dist/types/map.js.map +1 -0
- package/dist/types/physical-world-model.d.ts +65 -0
- package/dist/types/physical-world-model.d.ts.map +1 -0
- package/dist/types/physical-world-model.js +43 -0
- package/dist/types/physical-world-model.js.map +1 -0
- package/dist/types/platform-digest.d.ts +228 -0
- package/dist/types/platform-digest.d.ts.map +1 -0
- package/dist/types/platform-digest.js +5 -0
- package/dist/types/platform-digest.js.map +1 -0
- package/dist/types/skills.d.ts +44 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +5 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/types/telemetry-digest.d.ts +75 -0
- package/dist/types/telemetry-digest.d.ts.map +1 -0
- package/dist/types/telemetry-digest.js +5 -0
- package/dist/types/telemetry-digest.js.map +1 -0
- package/dist/types/telemetry.d.ts +107 -0
- package/dist/types/telemetry.d.ts.map +1 -0
- package/dist/types/telemetry.js +5 -0
- package/dist/types/telemetry.js.map +1 -0
- package/dist/types/world-model.d.ts +478 -0
- package/dist/types/world-model.d.ts.map +1 -0
- package/dist/types/world-model.js +87 -0
- package/dist/types/world-model.js.map +1 -0
- package/dist/ui/banner.d.ts +18 -0
- package/dist/ui/banner.d.ts.map +1 -0
- package/dist/ui/banner.js +323 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/context-hub-logs.d.ts +10 -0
- package/dist/ui/context-hub-logs.d.ts.map +1 -0
- package/dist/ui/context-hub-logs.js +175 -0
- package/dist/ui/context-hub-logs.js.map +1 -0
- package/dist/ui/event-dashboard.d.ts +12 -0
- package/dist/ui/event-dashboard.d.ts.map +1 -0
- package/dist/ui/event-dashboard.js +342 -0
- package/dist/ui/event-dashboard.js.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/prompts.d.ts +52 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +72 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/service-dashboard.d.ts +11 -0
- package/dist/ui/service-dashboard.d.ts.map +1 -0
- package/dist/ui/service-dashboard.js +357 -0
- package/dist/ui/service-dashboard.js.map +1 -0
- package/dist/ui/services-manager.d.ts +11 -0
- package/dist/ui/services-manager.d.ts.map +1 -0
- package/dist/ui/services-manager.js +507 -0
- package/dist/ui/services-manager.js.map +1 -0
- package/dist/ui/theme.d.ts +82 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +142 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/utils/auth-guard.d.ts +66 -0
- package/dist/utils/auth-guard.d.ts.map +1 -0
- package/dist/utils/auth-guard.js +347 -0
- package/dist/utils/auth-guard.js.map +1 -0
- package/dist/utils/auth-status.d.ts +21 -0
- package/dist/utils/auth-status.d.ts.map +1 -0
- package/dist/utils/auth-status.js +53 -0
- package/dist/utils/auth-status.js.map +1 -0
- package/dist/utils/claude-md-generator.d.ts +10 -0
- package/dist/utils/claude-md-generator.d.ts.map +1 -0
- package/dist/utils/claude-md-generator.js +215 -0
- package/dist/utils/claude-md-generator.js.map +1 -0
- package/dist/utils/context-hub-port.d.ts +33 -0
- package/dist/utils/context-hub-port.d.ts.map +1 -0
- package/dist/utils/context-hub-port.js +118 -0
- package/dist/utils/context-hub-port.js.map +1 -0
- package/dist/utils/ensure-context-hub.d.ts +20 -0
- package/dist/utils/ensure-context-hub.d.ts.map +1 -0
- package/dist/utils/ensure-context-hub.js +66 -0
- package/dist/utils/ensure-context-hub.js.map +1 -0
- package/dist/utils/ensure-project.d.ts +12 -0
- package/dist/utils/ensure-project.d.ts.map +1 -0
- package/dist/utils/ensure-project.js +81 -0
- package/dist/utils/ensure-project.js.map +1 -0
- package/dist/utils/git.d.ts +73 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +222 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/github-auth.d.ts +54 -0
- package/dist/utils/github-auth.d.ts.map +1 -0
- package/dist/utils/github-auth.js +376 -0
- package/dist/utils/github-auth.js.map +1 -0
- package/dist/utils/github-repo.d.ts +30 -0
- package/dist/utils/github-repo.d.ts.map +1 -0
- package/dist/utils/github-repo.js +219 -0
- package/dist/utils/github-repo.js.map +1 -0
- package/dist/utils/jfl-config.d.ts +30 -0
- package/dist/utils/jfl-config.d.ts.map +1 -0
- package/dist/utils/jfl-config.js +153 -0
- package/dist/utils/jfl-config.js.map +1 -0
- package/dist/utils/jfl-migration.d.ts +29 -0
- package/dist/utils/jfl-migration.d.ts.map +1 -0
- package/dist/utils/jfl-migration.js +142 -0
- package/dist/utils/jfl-migration.js.map +1 -0
- package/dist/utils/jfl-paths.d.ts +71 -0
- package/dist/utils/jfl-paths.d.ts.map +1 -0
- package/dist/utils/jfl-paths.js +157 -0
- package/dist/utils/jfl-paths.js.map +1 -0
- package/dist/utils/platform-auth.d.ts +81 -0
- package/dist/utils/platform-auth.d.ts.map +1 -0
- package/dist/utils/platform-auth.js +192 -0
- package/dist/utils/platform-auth.js.map +1 -0
- package/dist/utils/project-config.d.ts +43 -0
- package/dist/utils/project-config.d.ts.map +1 -0
- package/dist/utils/project-config.js +97 -0
- package/dist/utils/project-config.js.map +1 -0
- package/dist/utils/provenance.d.ts +65 -0
- package/dist/utils/provenance.d.ts.map +1 -0
- package/dist/utils/provenance.js +213 -0
- package/dist/utils/provenance.js.map +1 -0
- package/dist/utils/settings-validator.d.ts +74 -0
- package/dist/utils/settings-validator.d.ts.map +1 -0
- package/dist/utils/settings-validator.js +241 -0
- package/dist/utils/settings-validator.js.map +1 -0
- package/dist/utils/skill-registry.d.ts +49 -0
- package/dist/utils/skill-registry.d.ts.map +1 -0
- package/dist/utils/skill-registry.js +192 -0
- package/dist/utils/skill-registry.js.map +1 -0
- package/dist/utils/tenet-env.d.ts +34 -0
- package/dist/utils/tenet-env.d.ts.map +1 -0
- package/dist/utils/tenet-env.js +42 -0
- package/dist/utils/tenet-env.js.map +1 -0
- package/dist/utils/wallet.d.ts +62 -0
- package/dist/utils/wallet.d.ts.map +1 -0
- package/dist/utils/wallet.js +253 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/x402-client.d.ts +86 -0
- package/dist/utils/x402-client.d.ts.map +1 -0
- package/dist/utils/x402-client.js +266 -0
- package/dist/utils/x402-client.js.map +1 -0
- package/package.json +105 -0
- package/packages/pi/AGENTS.md +112 -0
- package/packages/pi/assets/boot.mp3 +0 -0
- package/packages/pi/dist/agent-grid.d.ts +24 -0
- package/packages/pi/dist/agent-grid.d.ts.map +1 -0
- package/packages/pi/dist/agent-grid.js +162 -0
- package/packages/pi/dist/agent-grid.js.map +1 -0
- package/packages/pi/dist/agent-names.d.ts +43 -0
- package/packages/pi/dist/agent-names.d.ts.map +1 -0
- package/packages/pi/dist/agent-names.js +156 -0
- package/packages/pi/dist/agent-names.js.map +1 -0
- package/packages/pi/dist/autoresearch.d.ts +15 -0
- package/packages/pi/dist/autoresearch.d.ts.map +1 -0
- package/packages/pi/dist/autoresearch.js +372 -0
- package/packages/pi/dist/autoresearch.js.map +1 -0
- package/packages/pi/dist/bookmarks.d.ts +15 -0
- package/packages/pi/dist/bookmarks.d.ts.map +1 -0
- package/packages/pi/dist/bookmarks.js +77 -0
- package/packages/pi/dist/bookmarks.js.map +1 -0
- package/packages/pi/dist/context.d.ts +17 -0
- package/packages/pi/dist/context.d.ts.map +1 -0
- package/packages/pi/dist/context.js +152 -0
- package/packages/pi/dist/context.js.map +1 -0
- package/packages/pi/dist/crm-tool.d.ts +12 -0
- package/packages/pi/dist/crm-tool.d.ts.map +1 -0
- package/packages/pi/dist/crm-tool.js +58 -0
- package/packages/pi/dist/crm-tool.js.map +1 -0
- package/packages/pi/dist/eval-tool.d.ts +11 -0
- package/packages/pi/dist/eval-tool.d.ts.map +1 -0
- package/packages/pi/dist/eval-tool.js +188 -0
- package/packages/pi/dist/eval-tool.js.map +1 -0
- package/packages/pi/dist/eval.d.ts +12 -0
- package/packages/pi/dist/eval.d.ts.map +1 -0
- package/packages/pi/dist/eval.js +43 -0
- package/packages/pi/dist/eval.js.map +1 -0
- package/packages/pi/dist/footer.d.ts +20 -0
- package/packages/pi/dist/footer.d.ts.map +1 -0
- package/packages/pi/dist/footer.js +222 -0
- package/packages/pi/dist/footer.js.map +1 -0
- package/packages/pi/dist/header.d.ts +17 -0
- package/packages/pi/dist/header.d.ts.map +1 -0
- package/packages/pi/dist/header.js +156 -0
- package/packages/pi/dist/header.js.map +1 -0
- package/packages/pi/dist/hub-resolver.d.ts +11 -0
- package/packages/pi/dist/hub-resolver.d.ts.map +1 -0
- package/packages/pi/dist/hub-resolver.js +58 -0
- package/packages/pi/dist/hub-resolver.js.map +1 -0
- package/packages/pi/dist/hub-tools.d.ts +14 -0
- package/packages/pi/dist/hub-tools.d.ts.map +1 -0
- package/packages/pi/dist/hub-tools.js +266 -0
- package/packages/pi/dist/hub-tools.js.map +1 -0
- package/packages/pi/dist/hud-tool.d.ts +17 -0
- package/packages/pi/dist/hud-tool.d.ts.map +1 -0
- package/packages/pi/dist/hud-tool.js +297 -0
- package/packages/pi/dist/hud-tool.js.map +1 -0
- package/packages/pi/dist/index.d.ts +12 -0
- package/packages/pi/dist/index.d.ts.map +1 -0
- package/packages/pi/dist/index.js +556 -0
- package/packages/pi/dist/index.js.map +1 -0
- package/packages/pi/dist/jfl-resolve.d.ts +29 -0
- package/packages/pi/dist/jfl-resolve.d.ts.map +1 -0
- package/packages/pi/dist/jfl-resolve.js +89 -0
- package/packages/pi/dist/jfl-resolve.js.map +1 -0
- package/packages/pi/dist/journal.d.ts +23 -0
- package/packages/pi/dist/journal.d.ts.map +1 -0
- package/packages/pi/dist/journal.js +250 -0
- package/packages/pi/dist/journal.js.map +1 -0
- package/packages/pi/dist/map-bridge.d.ts +20 -0
- package/packages/pi/dist/map-bridge.d.ts.map +1 -0
- package/packages/pi/dist/map-bridge.js +181 -0
- package/packages/pi/dist/map-bridge.js.map +1 -0
- package/packages/pi/dist/memory-tool.d.ts +11 -0
- package/packages/pi/dist/memory-tool.d.ts.map +1 -0
- package/packages/pi/dist/memory-tool.js +162 -0
- package/packages/pi/dist/memory-tool.js.map +1 -0
- package/packages/pi/dist/notifications.d.ts +15 -0
- package/packages/pi/dist/notifications.d.ts.map +1 -0
- package/packages/pi/dist/notifications.js +65 -0
- package/packages/pi/dist/notifications.js.map +1 -0
- package/packages/pi/dist/onboarding-v1.d.ts +15 -0
- package/packages/pi/dist/onboarding-v1.d.ts.map +1 -0
- package/packages/pi/dist/onboarding-v1.js +417 -0
- package/packages/pi/dist/onboarding-v1.js.map +1 -0
- package/packages/pi/dist/onboarding-v2.d.ts +18 -0
- package/packages/pi/dist/onboarding-v2.d.ts.map +1 -0
- package/packages/pi/dist/onboarding-v2.js +402 -0
- package/packages/pi/dist/onboarding-v2.js.map +1 -0
- package/packages/pi/dist/onboarding-v3.d.ts +13 -0
- package/packages/pi/dist/onboarding-v3.d.ts.map +1 -0
- package/packages/pi/dist/onboarding-v3.js +581 -0
- package/packages/pi/dist/onboarding-v3.js.map +1 -0
- package/packages/pi/dist/peter-parker.d.ts +12 -0
- package/packages/pi/dist/peter-parker.d.ts.map +1 -0
- package/packages/pi/dist/peter-parker.js +162 -0
- package/packages/pi/dist/peter-parker.js.map +1 -0
- package/packages/pi/dist/pivot-tool.d.ts +11 -0
- package/packages/pi/dist/pivot-tool.d.ts.map +1 -0
- package/packages/pi/dist/pivot-tool.js +56 -0
- package/packages/pi/dist/pivot-tool.js.map +1 -0
- package/packages/pi/dist/policy-head-tool.d.ts +15 -0
- package/packages/pi/dist/policy-head-tool.d.ts.map +1 -0
- package/packages/pi/dist/policy-head-tool.js +220 -0
- package/packages/pi/dist/policy-head-tool.js.map +1 -0
- package/packages/pi/dist/portfolio-bridge.d.ts +12 -0
- package/packages/pi/dist/portfolio-bridge.d.ts.map +1 -0
- package/packages/pi/dist/portfolio-bridge.js +81 -0
- package/packages/pi/dist/portfolio-bridge.js.map +1 -0
- package/packages/pi/dist/service-skills.d.ts +15 -0
- package/packages/pi/dist/service-skills.d.ts.map +1 -0
- package/packages/pi/dist/service-skills.js +198 -0
- package/packages/pi/dist/service-skills.js.map +1 -0
- package/packages/pi/dist/session.d.ts +28 -0
- package/packages/pi/dist/session.d.ts.map +1 -0
- package/packages/pi/dist/session.js +649 -0
- package/packages/pi/dist/session.js.map +1 -0
- package/packages/pi/dist/shortcuts.d.ts +11 -0
- package/packages/pi/dist/shortcuts.d.ts.map +1 -0
- package/packages/pi/dist/shortcuts.js +231 -0
- package/packages/pi/dist/shortcuts.js.map +1 -0
- package/packages/pi/dist/startup-briefing.d.ts +13 -0
- package/packages/pi/dist/startup-briefing.d.ts.map +1 -0
- package/packages/pi/dist/startup-briefing.js +432 -0
- package/packages/pi/dist/startup-briefing.js.map +1 -0
- package/packages/pi/dist/stratus-bridge.d.ts +14 -0
- package/packages/pi/dist/stratus-bridge.d.ts.map +1 -0
- package/packages/pi/dist/stratus-bridge.js +104 -0
- package/packages/pi/dist/stratus-bridge.js.map +1 -0
- package/packages/pi/dist/subway-mesh.d.ts +88 -0
- package/packages/pi/dist/subway-mesh.d.ts.map +1 -0
- package/packages/pi/dist/subway-mesh.js +813 -0
- package/packages/pi/dist/subway-mesh.js.map +1 -0
- package/packages/pi/dist/synopsis-tool.d.ts +12 -0
- package/packages/pi/dist/synopsis-tool.d.ts.map +1 -0
- package/packages/pi/dist/synopsis-tool.js +84 -0
- package/packages/pi/dist/synopsis-tool.js.map +1 -0
- package/packages/pi/dist/tool-renderers.d.ts +55 -0
- package/packages/pi/dist/tool-renderers.d.ts.map +1 -0
- package/packages/pi/dist/tool-renderers.js +349 -0
- package/packages/pi/dist/tool-renderers.js.map +1 -0
- package/packages/pi/dist/training-buffer-tool.d.ts +16 -0
- package/packages/pi/dist/training-buffer-tool.d.ts.map +1 -0
- package/packages/pi/dist/training-buffer-tool.js +319 -0
- package/packages/pi/dist/training-buffer-tool.js.map +1 -0
- package/packages/pi/dist/types.d.ts +195 -0
- package/packages/pi/dist/types.d.ts.map +1 -0
- package/packages/pi/dist/types.js +11 -0
- package/packages/pi/dist/types.js.map +1 -0
- package/packages/pi/extensions/agent-grid.ts +191 -0
- package/packages/pi/extensions/agent-names.ts +178 -0
- package/packages/pi/extensions/autoresearch.ts +428 -0
- package/packages/pi/extensions/bookmarks.ts +85 -0
- package/packages/pi/extensions/context.ts +158 -0
- package/packages/pi/extensions/crm-tool.ts +61 -0
- package/packages/pi/extensions/eval-tool.ts +224 -0
- package/packages/pi/extensions/eval.ts +61 -0
- package/packages/pi/extensions/footer.ts +239 -0
- package/packages/pi/extensions/header.ts +171 -0
- package/packages/pi/extensions/hub-resolver.ts +63 -0
- package/packages/pi/extensions/hub-tools.ts +267 -0
- package/packages/pi/extensions/hud-tool.ts +294 -0
- package/packages/pi/extensions/index.ts +601 -0
- package/packages/pi/extensions/jfl-resolve.ts +98 -0
- package/packages/pi/extensions/journal.ts +309 -0
- package/packages/pi/extensions/map-bridge.ts +209 -0
- package/packages/pi/extensions/memory-tool.ts +170 -0
- package/packages/pi/extensions/notifications.ts +73 -0
- package/packages/pi/extensions/onboarding-v1.ts +455 -0
- package/packages/pi/extensions/onboarding-v2.ts +374 -0
- package/packages/pi/extensions/onboarding-v3.ts +686 -0
- package/packages/pi/extensions/peter-parker.ts +203 -0
- package/packages/pi/extensions/pivot-tool.ts +59 -0
- package/packages/pi/extensions/policy-head-tool.ts +277 -0
- package/packages/pi/extensions/portfolio-bridge.ts +89 -0
- package/packages/pi/extensions/service-skills.ts +219 -0
- package/packages/pi/extensions/session.ts +684 -0
- package/packages/pi/extensions/shortcuts.ts +259 -0
- package/packages/pi/extensions/startup-briefing.ts +482 -0
- package/packages/pi/extensions/stratus-bridge.ts +116 -0
- package/packages/pi/extensions/subway-mesh.ts +893 -0
- package/packages/pi/extensions/synopsis-tool.ts +88 -0
- package/packages/pi/extensions/tool-renderers.ts +366 -0
- package/packages/pi/extensions/training-buffer-tool.ts +376 -0
- package/packages/pi/extensions/types.ts +169 -0
- package/packages/pi/package-lock.json +346 -0
- package/packages/pi/package.json +42 -0
- package/packages/pi/skills/agent-browser/SKILL.md +116 -0
- package/packages/pi/skills/brand-architect/SKILL.md +240 -0
- package/packages/pi/skills/brand-architect/config.yaml +137 -0
- package/packages/pi/skills/campaign-hud/config.yaml +112 -0
- package/packages/pi/skills/content-creator/SKILL.md +294 -0
- package/packages/pi/skills/context/SKILL.md +65 -0
- package/packages/pi/skills/debug/MULTI_AGENT.md +360 -0
- package/packages/pi/skills/debug/SKILL.md +554 -0
- package/packages/pi/skills/end/SKILL.md +1790 -0
- package/packages/pi/skills/eval/SKILL.md +75 -0
- package/packages/pi/skills/fly-deploy/SKILL.md +676 -0
- package/packages/pi/skills/founder-video/SKILL.md +467 -0
- package/packages/pi/skills/hud/SKILL.md +160 -0
- package/packages/pi/skills/orchestrate/SKILL.md +74 -0
- package/packages/pi/skills/pi-agents/SKILL.md +78 -0
- package/packages/pi/skills/pivot/SKILL.md +91 -0
- package/packages/pi/skills/react-best-practices/AGENTS.md +2249 -0
- package/packages/pi/skills/react-best-practices/README.md +123 -0
- package/packages/pi/skills/react-best-practices/SKILL.md +125 -0
- package/packages/pi/skills/react-best-practices/metadata.json +15 -0
- package/packages/pi/skills/react-best-practices/rules/_sections.md +46 -0
- package/packages/pi/skills/react-best-practices/rules/_template.md +28 -0
- package/packages/pi/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/packages/pi/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/packages/pi/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/packages/pi/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/packages/pi/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/packages/pi/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/packages/pi/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/packages/pi/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/packages/pi/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/packages/pi/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/packages/pi/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/packages/pi/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/packages/pi/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/packages/pi/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/packages/pi/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/packages/pi/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/packages/pi/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/packages/pi/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/packages/pi/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/packages/pi/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/packages/pi/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/packages/pi/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/packages/pi/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/packages/pi/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/packages/pi/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/packages/pi/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/packages/pi/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/packages/pi/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/packages/pi/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/packages/pi/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/packages/pi/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/packages/pi/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/packages/pi/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/packages/pi/skills/remotion-best-practices/SKILL.md +43 -0
- package/packages/pi/skills/remotion-best-practices/rules/3d.md +86 -0
- package/packages/pi/skills/remotion-best-practices/rules/animations.md +29 -0
- package/packages/pi/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/packages/pi/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/packages/pi/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/packages/pi/skills/remotion-best-practices/rules/assets.md +78 -0
- package/packages/pi/skills/remotion-best-practices/rules/audio.md +172 -0
- package/packages/pi/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/packages/pi/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/packages/pi/skills/remotion-best-practices/rules/charts.md +58 -0
- package/packages/pi/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/packages/pi/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/packages/pi/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/packages/pi/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/packages/pi/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/packages/pi/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/packages/pi/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/packages/pi/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/packages/pi/skills/remotion-best-practices/rules/images.md +130 -0
- package/packages/pi/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/packages/pi/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/packages/pi/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/packages/pi/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/packages/pi/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/packages/pi/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/packages/pi/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/packages/pi/skills/remotion-best-practices/rules/timing.md +179 -0
- package/packages/pi/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/packages/pi/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/packages/pi/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/packages/pi/skills/remotion-best-practices/rules/videos.md +171 -0
- package/packages/pi/skills/search/SKILL.md +220 -0
- package/packages/pi/skills/spec/SKILL.md +377 -0
- package/packages/pi/skills/startup/SKILL.md +315 -0
- package/packages/pi/skills/subway-browser/SKILL.md +292 -0
- package/packages/pi/skills/viz/SKILL.md +204 -0
- package/packages/pi/skills/web-architect/SKILL.md +309 -0
- package/packages/pi/skills/x-algorithm/SKILL.md +305 -0
- package/packages/pi/teams/dev-team.yaml +63 -0
- package/packages/pi/teams/gtm-team.yaml +79 -0
- package/packages/pi/themes/jfl.theme.json +76 -0
- package/packages/pi/tsconfig.json +21 -0
- package/scripts/__pycache__/train-policy-head.cpython-314.pyc +0 -0
- package/scripts/collect-tuples.sh +124 -0
- package/scripts/commit-gtm.sh +56 -0
- package/scripts/commit-product.sh +68 -0
- package/scripts/context-query.sh +45 -0
- package/scripts/destroy-fleet.sh +37 -0
- package/scripts/generate-changesets.sh +113 -0
- package/scripts/jfl-ide.sh +48 -0
- package/scripts/migrate-to-branch-sessions.sh +201 -0
- package/scripts/postinstall.js +146 -0
- package/scripts/pp-branch-pr.sh +133 -0
- package/scripts/pp-branch-pr.sh.bak +115 -0
- package/scripts/session/auto-commit.sh +297 -0
- package/scripts/session/fix-tracked-logs.sh +97 -0
- package/scripts/session/jfl-doctor.sh +707 -0
- package/scripts/session/session-cleanup.sh +292 -0
- package/scripts/session/session-end.sh +198 -0
- package/scripts/session/session-init.sh +356 -0
- package/scripts/session/session-init.sh.backup +292 -0
- package/scripts/session/session-sync.sh +192 -0
- package/scripts/session/test-context-preservation.sh +160 -0
- package/scripts/session/test-critical-infrastructure.sh +293 -0
- package/scripts/session/test-experience-level.sh +336 -0
- package/scripts/session/test-session-cleanup.sh +268 -0
- package/scripts/session/test-session-sync.sh +320 -0
- package/scripts/setup-branch-protection.sh +106 -0
- package/scripts/spawn-fleet.sh +144 -0
- package/scripts/telemetry-dashboard.sh +44 -0
- package/scripts/test-map-eventbus.sh +357 -0
- package/scripts/test-onboarding.sh +121 -0
- package/scripts/test-planning-loop-e2e.ts +181 -0
- package/scripts/test-server-inference.ts +49 -0
- package/scripts/test-state-sensitivity.ts +32 -0
- package/scripts/train/requirements.txt +5 -0
- package/scripts/train/train-policy-head.py +477 -0
- package/scripts/train/v2/__pycache__/dataset.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/eval.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/generate_data.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/infer.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/model.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/precompute.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/train.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/transform_buffer.cpython-314.pyc +0 -0
- package/scripts/train/v2/__pycache__/validate_data.cpython-314.pyc +0 -0
- package/scripts/train/v2/benchmark.py +661 -0
- package/scripts/train/v2/dataset.py +81 -0
- package/scripts/train/v2/domain.json +66 -0
- package/scripts/train/v2/eval.py +196 -0
- package/scripts/train/v2/generate_balanced.py +439 -0
- package/scripts/train/v2/generate_data.py +219 -0
- package/scripts/train/v2/generate_hard_negatives.py +219 -0
- package/scripts/train/v2/infer.py +301 -0
- package/scripts/train/v2/infer_server.py +224 -0
- package/scripts/train/v2/model.py +112 -0
- package/scripts/train/v2/online_train.py +576 -0
- package/scripts/train/v2/precompute.py +150 -0
- package/scripts/train/v2/train.py +302 -0
- package/scripts/train/v2/transform_buffer.py +227 -0
- package/scripts/train/v2/validate_data.py +115 -0
- package/scripts/train-policy-head.py +434 -0
- package/scripts/vm-swarm/README.md +301 -0
- package/scripts/vm-swarm/collect-tuples.sh +331 -0
- package/scripts/vm-swarm/create-base-template.sh +339 -0
- package/scripts/vm-swarm/kill-fleet.sh +204 -0
- package/scripts/vm-swarm/monitor-fleet.sh +346 -0
- package/scripts/vm-swarm/spawn-fleet.sh +304 -0
- package/scripts/voice-start.sh +156 -0
- package/scripts/voice-stop.sh +33 -0
- package/scripts/where-am-i.sh +78 -0
- package/templates/QUICKSTART_SKILL_TO_PRODUCT.md +242 -0
- package/templates/brand/BRAND_BRIEF.md +124 -0
- package/templates/brand/BRAND_DECISIONS.md +168 -0
- package/templates/brand/BRAND_GUIDELINES.md +251 -0
- package/templates/brand/VOICE_AND_TONE.md +146 -0
- package/templates/brand/global.css +240 -0
- package/templates/collaboration/CONTRIBUTOR.md +74 -0
- package/templates/collaboration/CRM.md +97 -0
- package/templates/collaboration/TASKS.md +83 -0
- package/templates/dating/FUNNEL.md +29 -0
- package/templates/dating/REWARDS.md +24 -0
- package/templates/dating/SIGNALS.md +18 -0
- package/templates/dating/anti_patterns.md +23 -0
- package/templates/dating/connectors/index.md +16 -0
- package/templates/dating/modes.md +21 -0
- package/templates/dating/psychology.md +18 -0
- package/templates/default/README.md +19 -0
- package/templates/service-agent/.claude/settings.json +32 -0
- package/templates/service-agent/CLAUDE.md +334 -0
- package/templates/service-agent/knowledge/ARCHITECTURE.md +115 -0
- package/templates/service-agent/knowledge/DEPLOYMENT.md +199 -0
- package/templates/service-agent/knowledge/RUNBOOK.md +412 -0
- package/templates/service-agent/knowledge/SERVICE_SPEC.md +77 -0
- package/templates/service-mcp-template.js +325 -0
- package/templates/strategic/NARRATIVE.md +114 -0
- package/templates/strategic/ROADMAP.md +128 -0
- package/templates/strategic/THESIS.md +108 -0
- package/templates/strategic/VISION.md +74 -0
|
@@ -0,0 +1,678 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Search Module
|
|
3
|
+
*
|
|
4
|
+
* Hybrid search combining TF-IDF (fast, always available) and
|
|
5
|
+
* embeddings (semantic, optional). Provides relevance scoring
|
|
6
|
+
* and result ranking.
|
|
7
|
+
*
|
|
8
|
+
* Key optimizations:
|
|
9
|
+
* - Stopword removal for cleaner term matching
|
|
10
|
+
* - Phrase detection for multi-word queries
|
|
11
|
+
* - Adaptive BM25 b parameter based on corpus statistics
|
|
12
|
+
* - BM25+ variant with positive IDF floor for better NDCG
|
|
13
|
+
* - Query term weighting based on IDF for discriminative power
|
|
14
|
+
* - Reciprocal rank fusion for hybrid score merging
|
|
15
|
+
* - Pivoted document length normalization
|
|
16
|
+
*
|
|
17
|
+
* @purpose Fast and semantic search across indexed memories
|
|
18
|
+
*/
|
|
19
|
+
import OpenAI from 'openai';
|
|
20
|
+
import { getAllMemories, deserializeEmbedding } from './memory-db.js';
|
|
21
|
+
import { tokenize as advancedTokenize, tokenizeQuery, tokenizeDocument, } from './text-preprocessing.js';
|
|
22
|
+
/**
|
|
23
|
+
* Tokenize text for search.
|
|
24
|
+
* Uses advanced preprocessing by default (stopword removal, phrase detection).
|
|
25
|
+
* Falls back to legacy mode if specified.
|
|
26
|
+
*/
|
|
27
|
+
function tokenize(text, legacy = false) {
|
|
28
|
+
if (legacy) {
|
|
29
|
+
// Legacy tokenization (no stopwords, no phrases)
|
|
30
|
+
return text
|
|
31
|
+
.toLowerCase()
|
|
32
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
33
|
+
.split(/\s+/)
|
|
34
|
+
.filter(token => token.length > 2);
|
|
35
|
+
}
|
|
36
|
+
return advancedTokenize(text);
|
|
37
|
+
}
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// BM25+ and Score Normalization Improvements
|
|
40
|
+
// ============================================================================
|
|
41
|
+
/**
|
|
42
|
+
* BM25+ IDF calculation with positive floor.
|
|
43
|
+
*
|
|
44
|
+
* Standard BM25 IDF: log((N - df + 0.5) / (df + 0.5))
|
|
45
|
+
* This can go NEGATIVE when df > N/2, penalizing common terms.
|
|
46
|
+
*
|
|
47
|
+
* BM25+ adds a floor of δ (typically 1) to ensure all matching terms
|
|
48
|
+
* contribute positively:
|
|
49
|
+
*
|
|
50
|
+
* IDF+ = max(0, log((N - df + 0.5) / (df + 0.5))) + δ
|
|
51
|
+
*
|
|
52
|
+
* This improves NDCG for queries containing common relevant terms.
|
|
53
|
+
*
|
|
54
|
+
* @param N - Total number of documents
|
|
55
|
+
* @param df - Document frequency of term
|
|
56
|
+
* @param delta - Positive floor value (default: 1)
|
|
57
|
+
*/
|
|
58
|
+
function computeBM25PlusIDF(N, df, delta = 1) {
|
|
59
|
+
const standardIDF = Math.log((N - df + 0.5) / (df + 0.5) + 1);
|
|
60
|
+
return Math.max(0, standardIDF) + delta;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Compute query term weights based on corpus IDF.
|
|
64
|
+
*
|
|
65
|
+
* Terms that are rarer in the corpus get higher weights, improving
|
|
66
|
+
* discrimination. This is especially important for short queries
|
|
67
|
+
* where every term matters.
|
|
68
|
+
*
|
|
69
|
+
* Weight formula: softmax(IDF scores) to normalize to probability distribution
|
|
70
|
+
*
|
|
71
|
+
* @param queryTokens - Tokenized query terms
|
|
72
|
+
* @param docFreq - Map of term -> document frequency
|
|
73
|
+
* @param N - Total number of documents
|
|
74
|
+
*/
|
|
75
|
+
function computeQueryTermWeights(queryTokens, docFreq, N) {
|
|
76
|
+
const weights = new Map();
|
|
77
|
+
if (queryTokens.length === 0)
|
|
78
|
+
return weights;
|
|
79
|
+
// Compute raw IDF weights
|
|
80
|
+
const rawWeights = [];
|
|
81
|
+
for (const token of queryTokens) {
|
|
82
|
+
const df = docFreq.get(token) || 0;
|
|
83
|
+
const idf = Math.log((N + 1) / (df + 1)) + 1;
|
|
84
|
+
rawWeights.push(idf);
|
|
85
|
+
}
|
|
86
|
+
// Normalize using softmax-inspired scaling
|
|
87
|
+
const maxWeight = Math.max(...rawWeights);
|
|
88
|
+
const minWeight = Math.min(...rawWeights);
|
|
89
|
+
const range = maxWeight - minWeight;
|
|
90
|
+
for (let i = 0; i < queryTokens.length; i++) {
|
|
91
|
+
// Scale to [0.5, 1.5] range - ensures all terms contribute but rare ones more
|
|
92
|
+
const normalizedWeight = range > 0
|
|
93
|
+
? 0.5 + (rawWeights[i] - minWeight) / range
|
|
94
|
+
: 1.0;
|
|
95
|
+
weights.set(queryTokens[i], normalizedWeight);
|
|
96
|
+
}
|
|
97
|
+
return weights;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Reciprocal Rank Fusion (RRF) for combining multiple ranked lists.
|
|
101
|
+
*
|
|
102
|
+
* RRF is more robust than linear score combination because it:
|
|
103
|
+
* 1. Doesn't require score normalization
|
|
104
|
+
* 2. Is less sensitive to outlier scores
|
|
105
|
+
* 3. Naturally handles different score scales
|
|
106
|
+
*
|
|
107
|
+
* Formula: RRF(d) = Σ 1 / (k + rank_i(d))
|
|
108
|
+
*
|
|
109
|
+
* where k is a smoothing constant (typically 60) that controls
|
|
110
|
+
* how much rank differences matter.
|
|
111
|
+
*
|
|
112
|
+
* @param rankings - Array of ranked result lists
|
|
113
|
+
* @param k - Smoothing constant (higher = smoother rank differences)
|
|
114
|
+
*/
|
|
115
|
+
function reciprocalRankFusion(rankings, k = 60) {
|
|
116
|
+
const rrfScores = new Map();
|
|
117
|
+
for (const ranking of rankings) {
|
|
118
|
+
for (let rank = 0; rank < ranking.length; rank++) {
|
|
119
|
+
const memId = ranking[rank].memory.id;
|
|
120
|
+
const currentScore = rrfScores.get(memId) || 0;
|
|
121
|
+
rrfScores.set(memId, currentScore + 1 / (k + rank + 1));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return rrfScores;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Pivoted document length normalization.
|
|
128
|
+
*
|
|
129
|
+
* Standard BM25 length normalization can over-penalize long documents
|
|
130
|
+
* or under-penalize short ones depending on b. Pivoted normalization
|
|
131
|
+
* provides a more balanced approach:
|
|
132
|
+
*
|
|
133
|
+
* norm = 1 - s + s * (dl / pivot)
|
|
134
|
+
*
|
|
135
|
+
* where:
|
|
136
|
+
* - s is the slope (similar to b, typically 0.2-0.4)
|
|
137
|
+
* - pivot is a calibrated average length (can be tuned)
|
|
138
|
+
*
|
|
139
|
+
* This produces more stable rankings across varying document lengths.
|
|
140
|
+
*
|
|
141
|
+
* @param dl - Document length
|
|
142
|
+
* @param avgdl - Average document length
|
|
143
|
+
* @param s - Slope parameter (default: 0.2)
|
|
144
|
+
* @param pivotFactor - Pivot as factor of avgdl (default: 1.0)
|
|
145
|
+
*/
|
|
146
|
+
function pivotedLengthNorm(dl, avgdl, s = 0.2, pivotFactor = 1.0) {
|
|
147
|
+
const pivot = avgdl * pivotFactor;
|
|
148
|
+
return 1 - s + s * (dl / pivot);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Compute TF-IDF scores for text.
|
|
152
|
+
*
|
|
153
|
+
* Uses advanced tokenization with stopword removal and phrase detection
|
|
154
|
+
* for cleaner term matching.
|
|
155
|
+
*
|
|
156
|
+
* @param text - Text to compute TF-IDF for
|
|
157
|
+
* @param allTexts - Corpus of all documents (for IDF calculation)
|
|
158
|
+
* @param legacy - Use legacy tokenization (no preprocessing)
|
|
159
|
+
*/
|
|
160
|
+
export function computeTFIDF(text, allTexts, legacy = false) {
|
|
161
|
+
const tokens = legacy ? tokenize(text, true) : tokenizeDocument(text);
|
|
162
|
+
const tokenCounts = {};
|
|
163
|
+
// Term frequency
|
|
164
|
+
tokens.forEach(token => {
|
|
165
|
+
tokenCounts[token] = (tokenCounts[token] || 0) + 1;
|
|
166
|
+
});
|
|
167
|
+
const totalTokens = tokens.length;
|
|
168
|
+
if (totalTokens === 0)
|
|
169
|
+
return {};
|
|
170
|
+
const tf = {};
|
|
171
|
+
Object.keys(tokenCounts).forEach(token => {
|
|
172
|
+
tf[token] = tokenCounts[token] / totalTokens;
|
|
173
|
+
});
|
|
174
|
+
// Inverse document frequency
|
|
175
|
+
// Pre-tokenize all docs once for efficiency
|
|
176
|
+
const tokenizedDocs = allTexts.map(doc => legacy ? tokenize(doc, true) : tokenizeDocument(doc));
|
|
177
|
+
const idf = {};
|
|
178
|
+
const totalDocs = allTexts.length;
|
|
179
|
+
Object.keys(tf).forEach(token => {
|
|
180
|
+
const docsWithToken = tokenizedDocs.filter(docTokens => docTokens.includes(token)).length;
|
|
181
|
+
// Smooth IDF to handle rare terms
|
|
182
|
+
idf[token] = Math.log((totalDocs + 1) / (docsWithToken + 1)) + 1;
|
|
183
|
+
});
|
|
184
|
+
// TF-IDF
|
|
185
|
+
const tfidf = {};
|
|
186
|
+
Object.keys(tf).forEach(token => {
|
|
187
|
+
tfidf[token] = tf[token] * idf[token];
|
|
188
|
+
});
|
|
189
|
+
return tfidf;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Search memories using TF-IDF.
|
|
193
|
+
*
|
|
194
|
+
* Uses advanced query tokenization for better term matching.
|
|
195
|
+
*/
|
|
196
|
+
async function searchMemoriesTFIDF(query, memories, limit, legacy = false) {
|
|
197
|
+
const queryTokens = legacy ? tokenize(query, true) : tokenizeQuery(query);
|
|
198
|
+
const scored = [];
|
|
199
|
+
for (const memory of memories) {
|
|
200
|
+
if (!memory.tf_idf_tokens)
|
|
201
|
+
continue;
|
|
202
|
+
const tfIdfTokens = JSON.parse(memory.tf_idf_tokens);
|
|
203
|
+
let score = 0;
|
|
204
|
+
for (const token of queryTokens) {
|
|
205
|
+
score += tfIdfTokens[token] || 0;
|
|
206
|
+
}
|
|
207
|
+
// Boost recent entries (1.3x if within 7 days)
|
|
208
|
+
const daysSinceCreated = daysBetween(memory.created_at, new Date().toISOString());
|
|
209
|
+
if (daysSinceCreated < 7) {
|
|
210
|
+
score *= 1.3;
|
|
211
|
+
}
|
|
212
|
+
// Boost by type
|
|
213
|
+
if (memory.type === 'decision')
|
|
214
|
+
score *= 1.4;
|
|
215
|
+
if (memory.type === 'feature')
|
|
216
|
+
score *= 1.2;
|
|
217
|
+
if (score > 0) {
|
|
218
|
+
scored.push({
|
|
219
|
+
memory,
|
|
220
|
+
score,
|
|
221
|
+
relevance: score > 0.7 ? 'high' : score > 0.4 ? 'medium' : 'low'
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Sort by score descending
|
|
226
|
+
scored.sort((a, b) => b.score - a.score);
|
|
227
|
+
return scored.slice(0, limit);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Compute adaptive BM25 b parameter based on corpus statistics.
|
|
231
|
+
*
|
|
232
|
+
* The b parameter controls length normalization:
|
|
233
|
+
* - b=0: No length normalization (favor longer docs with more term matches)
|
|
234
|
+
* - b=1: Full length normalization (treat all docs equally regardless of length)
|
|
235
|
+
*
|
|
236
|
+
* Adaptive tuning based on corpus variance:
|
|
237
|
+
* - High variance in doc lengths → higher b (need more normalization)
|
|
238
|
+
* - Low variance → lower b (docs are similar length, less normalization needed)
|
|
239
|
+
*
|
|
240
|
+
* For journal entries (typically 100-500 tokens), we start with b=0.65 as baseline
|
|
241
|
+
* and adjust based on actual corpus statistics.
|
|
242
|
+
*/
|
|
243
|
+
function computeAdaptiveB(docLengths) {
|
|
244
|
+
if (docLengths.length === 0)
|
|
245
|
+
return 0.65;
|
|
246
|
+
const avgLength = docLengths.reduce((a, b) => a + b, 0) / docLengths.length;
|
|
247
|
+
if (avgLength === 0)
|
|
248
|
+
return 0.65;
|
|
249
|
+
// Compute coefficient of variation (CV) = stddev / mean
|
|
250
|
+
const variance = docLengths.reduce((sum, len) => sum + Math.pow(len - avgLength, 2), 0) / docLengths.length;
|
|
251
|
+
const stddev = Math.sqrt(variance);
|
|
252
|
+
const cv = stddev / avgLength;
|
|
253
|
+
// Map CV to b parameter:
|
|
254
|
+
// - CV < 0.3: Low variance, use b=0.4 (less normalization)
|
|
255
|
+
// - CV 0.3-0.7: Moderate variance, use b=0.5-0.7
|
|
256
|
+
// - CV > 0.7: High variance, use b=0.75-0.85
|
|
257
|
+
// Clamp to [0.3, 0.85] range
|
|
258
|
+
const baseB = 0.65;
|
|
259
|
+
const adjustedB = baseB + (cv - 0.5) * 0.4;
|
|
260
|
+
return Math.max(0.3, Math.min(0.85, adjustedB));
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* BM25/BM25+ first-pass scoring over full document collection.
|
|
264
|
+
*
|
|
265
|
+
* Uses tuned k1/b parameters optimized for short, structured journal entries:
|
|
266
|
+
* - k1=1.5: Term frequency saturation tuned for short queries — higher k1 allows
|
|
267
|
+
* more discrimination between documents with varying term frequencies
|
|
268
|
+
* - b: Adaptive based on corpus length variance (default 0.65)
|
|
269
|
+
*
|
|
270
|
+
* Key optimizations in this implementation:
|
|
271
|
+
* - BM25+ variant with positive IDF floor (prevents common term penalty)
|
|
272
|
+
* - Query term weighting based on IDF for discriminative power
|
|
273
|
+
* - Pivoted length normalization option for balanced doc length handling
|
|
274
|
+
* - Stopword removal reduces noise in term matching
|
|
275
|
+
* - Phrase detection keeps compound terms together
|
|
276
|
+
* - Adaptive b parameter adjusts to corpus characteristics
|
|
277
|
+
*/
|
|
278
|
+
async function searchMemoriesBM25(query, memories, limit, k1 = 1.5, bOverride, legacy = false, useBM25Plus = true) {
|
|
279
|
+
// Use query-specific tokenization
|
|
280
|
+
const queryTokens = legacy ? tokenize(query, true) : tokenizeQuery(query);
|
|
281
|
+
if (queryTokens.length === 0)
|
|
282
|
+
return [];
|
|
283
|
+
// Tokenize all documents
|
|
284
|
+
const docs = memories.map(m => {
|
|
285
|
+
const text = [m.title, m.content, m.summary]
|
|
286
|
+
.filter(Boolean)
|
|
287
|
+
.join(' ');
|
|
288
|
+
return legacy ? tokenize(text, true) : tokenizeDocument(text);
|
|
289
|
+
});
|
|
290
|
+
const N = docs.length;
|
|
291
|
+
if (N === 0)
|
|
292
|
+
return [];
|
|
293
|
+
// Compute corpus statistics for adaptive b
|
|
294
|
+
const docLengths = docs.map(d => d.length);
|
|
295
|
+
const avgdl = docLengths.reduce((sum, len) => sum + len, 0) / N;
|
|
296
|
+
const b = bOverride ?? computeAdaptiveB(docLengths);
|
|
297
|
+
// Pre-compute document frequencies for query terms
|
|
298
|
+
const docFreq = new Map();
|
|
299
|
+
for (const token of queryTokens) {
|
|
300
|
+
let count = 0;
|
|
301
|
+
for (const doc of docs) {
|
|
302
|
+
if (doc.includes(token))
|
|
303
|
+
count++;
|
|
304
|
+
}
|
|
305
|
+
docFreq.set(token, count);
|
|
306
|
+
}
|
|
307
|
+
// Compute query term weights for discriminative scoring
|
|
308
|
+
const queryTermWeights = computeQueryTermWeights(queryTokens, docFreq, N);
|
|
309
|
+
const scored = [];
|
|
310
|
+
for (let i = 0; i < memories.length; i++) {
|
|
311
|
+
const doc = docs[i];
|
|
312
|
+
const dl = doc.length;
|
|
313
|
+
if (dl === 0)
|
|
314
|
+
continue;
|
|
315
|
+
// Build term frequency map for this document
|
|
316
|
+
const termCounts = new Map();
|
|
317
|
+
for (const token of doc) {
|
|
318
|
+
termCounts.set(token, (termCounts.get(token) || 0) + 1);
|
|
319
|
+
}
|
|
320
|
+
let bm25Score = 0;
|
|
321
|
+
for (const token of queryTokens) {
|
|
322
|
+
const tf = termCounts.get(token) || 0;
|
|
323
|
+
if (tf === 0)
|
|
324
|
+
continue;
|
|
325
|
+
const df = docFreq.get(token) || 0;
|
|
326
|
+
// Use BM25+ IDF (with positive floor) or standard BM25 IDF
|
|
327
|
+
const idf = useBM25Plus
|
|
328
|
+
? computeBM25PlusIDF(N, df, 1)
|
|
329
|
+
: Math.log((N - df + 0.5) / (df + 0.5) + 1);
|
|
330
|
+
// BM25 TF normalization with length normalization
|
|
331
|
+
const tfNorm = (tf * (k1 + 1)) / (tf + k1 * (1 - b + b * (dl / avgdl)));
|
|
332
|
+
// Apply query term weight for discriminative scoring
|
|
333
|
+
const termWeight = queryTermWeights.get(token) || 1.0;
|
|
334
|
+
bm25Score += idf * tfNorm * termWeight;
|
|
335
|
+
}
|
|
336
|
+
if (bm25Score > 0) {
|
|
337
|
+
const memory = memories[i];
|
|
338
|
+
scored.push({
|
|
339
|
+
memory,
|
|
340
|
+
score: bm25Score,
|
|
341
|
+
relevance: bm25Score > 0.7 ? 'high' : bm25Score > 0.4 ? 'medium' : 'low'
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
scored.sort((a, b) => b.score - a.score);
|
|
346
|
+
return scored.slice(0, limit);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Compute embedding for text using OpenAI
|
|
350
|
+
*/
|
|
351
|
+
async function computeEmbedding(text) {
|
|
352
|
+
const openaiKey = process.env.OPENAI_API_KEY;
|
|
353
|
+
const openrouterKey = process.env.OPENROUTER_API_KEY;
|
|
354
|
+
if (!openaiKey && !openrouterKey) {
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
// Try OpenAI first, fall back to OpenRouter
|
|
358
|
+
if (openaiKey) {
|
|
359
|
+
try {
|
|
360
|
+
const openai = new OpenAI({ apiKey: openaiKey });
|
|
361
|
+
const response = await openai.embeddings.create({
|
|
362
|
+
model: 'text-embedding-3-small',
|
|
363
|
+
input: text,
|
|
364
|
+
encoding_format: 'float'
|
|
365
|
+
});
|
|
366
|
+
if (response?.data?.[0]?.embedding) {
|
|
367
|
+
return {
|
|
368
|
+
embedding: new Float32Array(response.data[0].embedding),
|
|
369
|
+
model: 'text-embedding-3-small'
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
// Any OpenAI failure → fall through to OpenRouter
|
|
375
|
+
// (expired key, quota, rate limit, network — all recoverable via fallback)
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
if (openrouterKey) {
|
|
379
|
+
try {
|
|
380
|
+
const openai = new OpenAI({
|
|
381
|
+
apiKey: openrouterKey,
|
|
382
|
+
baseURL: 'https://openrouter.ai/api/v1',
|
|
383
|
+
});
|
|
384
|
+
const response = await openai.embeddings.create({
|
|
385
|
+
model: 'openai/text-embedding-3-small',
|
|
386
|
+
input: text,
|
|
387
|
+
encoding_format: 'float'
|
|
388
|
+
});
|
|
389
|
+
if (response?.data?.[0]?.embedding) {
|
|
390
|
+
return {
|
|
391
|
+
embedding: new Float32Array(response.data[0].embedding),
|
|
392
|
+
model: 'openrouter/text-embedding-3-small'
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
// Only log non-quota errors (quota spam is noisy)
|
|
398
|
+
if (error?.status !== 429) {
|
|
399
|
+
console.error('OpenRouter embedding failed:', error?.message || error);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Cosine similarity between two vectors
|
|
407
|
+
*/
|
|
408
|
+
function cosineSimilarity(a, b) {
|
|
409
|
+
if (a.length !== b.length) {
|
|
410
|
+
throw new Error('Vectors must have same length');
|
|
411
|
+
}
|
|
412
|
+
let dotProduct = 0;
|
|
413
|
+
let normA = 0;
|
|
414
|
+
let normB = 0;
|
|
415
|
+
for (let i = 0; i < a.length; i++) {
|
|
416
|
+
dotProduct += a[i] * b[i];
|
|
417
|
+
normA += a[i] * a[i];
|
|
418
|
+
normB += b[i] * b[i];
|
|
419
|
+
}
|
|
420
|
+
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Search memories using embeddings
|
|
424
|
+
*/
|
|
425
|
+
async function searchMemoriesEmbedding(query, memories, limit) {
|
|
426
|
+
// Compute query embedding
|
|
427
|
+
const queryEmbedding = await computeEmbedding(query);
|
|
428
|
+
if (!queryEmbedding) {
|
|
429
|
+
return [];
|
|
430
|
+
}
|
|
431
|
+
const scored = [];
|
|
432
|
+
for (const memory of memories) {
|
|
433
|
+
if (!memory.embedding)
|
|
434
|
+
continue;
|
|
435
|
+
const memoryEmbedding = deserializeEmbedding(memory.embedding);
|
|
436
|
+
const similarity = cosineSimilarity(queryEmbedding.embedding, memoryEmbedding);
|
|
437
|
+
if (similarity > 0.5) {
|
|
438
|
+
scored.push({
|
|
439
|
+
memory,
|
|
440
|
+
score: similarity,
|
|
441
|
+
relevance: similarity > 0.8 ? 'high' : similarity > 0.65 ? 'medium' : 'low'
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
scored.sort((a, b) => b.score - a.score);
|
|
446
|
+
return scored.slice(0, limit * 2); // Get more for merging
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Normalize scores to 0-1 range
|
|
450
|
+
*/
|
|
451
|
+
function normalizeScores(results) {
|
|
452
|
+
if (results.length === 0)
|
|
453
|
+
return [];
|
|
454
|
+
const maxScore = Math.max(...results.map(r => r.score));
|
|
455
|
+
const minScore = Math.min(...results.map(r => r.score));
|
|
456
|
+
const range = maxScore - minScore;
|
|
457
|
+
if (range === 0)
|
|
458
|
+
return results;
|
|
459
|
+
return results.map(r => ({
|
|
460
|
+
...r,
|
|
461
|
+
score: (r.score - minScore) / range
|
|
462
|
+
}));
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Hybrid search combining BM25 and embeddings.
|
|
466
|
+
*
|
|
467
|
+
* Uses reciprocal rank fusion (RRF) by default for more robust score merging.
|
|
468
|
+
* RRF is better than linear interpolation because:
|
|
469
|
+
* 1. It doesn't require score normalization
|
|
470
|
+
* 2. It's less sensitive to outlier scores
|
|
471
|
+
* 3. It naturally handles different score distributions
|
|
472
|
+
*
|
|
473
|
+
* Falls back to weighted linear combination if RRF is disabled.
|
|
474
|
+
*/
|
|
475
|
+
async function searchMemoriesHybrid(query, memories, limit, legacy = false, useRRF = true, rrfK = 60, useBM25Plus = true) {
|
|
476
|
+
// Run BM25 (lexical) and embedding (semantic) in parallel
|
|
477
|
+
const [bm25Results, embeddingResults] = await Promise.all([
|
|
478
|
+
searchMemoriesBM25(query, memories, limit * 2, 1.5, undefined, legacy, useBM25Plus),
|
|
479
|
+
searchMemoriesEmbedding(query, memories, limit * 2).catch(() => [])
|
|
480
|
+
]);
|
|
481
|
+
// Build memory lookup map
|
|
482
|
+
const memoryMap = new Map();
|
|
483
|
+
bm25Results.forEach(r => memoryMap.set(r.memory.id, r.memory));
|
|
484
|
+
embeddingResults.forEach(r => memoryMap.set(r.memory.id, r.memory));
|
|
485
|
+
let mergedScores;
|
|
486
|
+
if (useRRF) {
|
|
487
|
+
// Use Reciprocal Rank Fusion for robust score merging
|
|
488
|
+
mergedScores = reciprocalRankFusion([bm25Results, embeddingResults], rrfK);
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
// Fallback to weighted linear combination
|
|
492
|
+
const bm25Normalized = normalizeScores(bm25Results);
|
|
493
|
+
const embeddingNormalized = normalizeScores(embeddingResults);
|
|
494
|
+
mergedScores = new Map();
|
|
495
|
+
for (const result of bm25Normalized) {
|
|
496
|
+
const memId = result.memory.id;
|
|
497
|
+
mergedScores.set(memId, (mergedScores.get(memId) || 0) + result.score * 0.4);
|
|
498
|
+
}
|
|
499
|
+
for (const result of embeddingNormalized) {
|
|
500
|
+
const memId = result.memory.id;
|
|
501
|
+
mergedScores.set(memId, (mergedScores.get(memId) || 0) + result.score * 0.6);
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
// Create final results
|
|
505
|
+
const finalResults = Array.from(mergedScores.entries())
|
|
506
|
+
.map(([id, score]) => ({
|
|
507
|
+
memory: memoryMap.get(id),
|
|
508
|
+
score,
|
|
509
|
+
relevance: score > 0.7 ? 'high' : score > 0.4 ? 'medium' : 'low'
|
|
510
|
+
}))
|
|
511
|
+
.filter(r => r.memory) // Filter out any undefined memories
|
|
512
|
+
.sort((a, b) => b.score - a.score)
|
|
513
|
+
.slice(0, limit);
|
|
514
|
+
return finalResults;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* BM25/BM25+ re-ranking as a second-pass scoring step.
|
|
518
|
+
*
|
|
519
|
+
* Applies Okapi BM25 (or BM25+ variant) between query terms and document
|
|
520
|
+
* content to re-order initial retrieval results. This bridges the gap
|
|
521
|
+
* between semantic/vector retrieval and lexical relevance.
|
|
522
|
+
*
|
|
523
|
+
* Uses advanced tokenization for better term matching.
|
|
524
|
+
*
|
|
525
|
+
* @param results - Initial retrieval results (first-pass candidates)
|
|
526
|
+
* @param query - Original search query
|
|
527
|
+
* @param k1 - Term frequency saturation (default 1.5, tuned for short queries)
|
|
528
|
+
* @param bOverride - Optional override for b parameter (otherwise adaptive)
|
|
529
|
+
* @param legacy - Use legacy tokenization
|
|
530
|
+
* @param useBM25Plus - Use BM25+ variant with positive IDF floor
|
|
531
|
+
*/
|
|
532
|
+
function reRankWithBM25(results, query, k1 = 1.5, bOverride, legacy = false, useBM25Plus = true) {
|
|
533
|
+
if (results.length === 0)
|
|
534
|
+
return results;
|
|
535
|
+
const queryTokens = legacy ? tokenize(query, true) : tokenizeQuery(query);
|
|
536
|
+
if (queryTokens.length === 0)
|
|
537
|
+
return results;
|
|
538
|
+
const docs = results.map(r => {
|
|
539
|
+
const text = [r.memory.title, r.memory.content, r.memory.summary]
|
|
540
|
+
.filter(Boolean)
|
|
541
|
+
.join(' ');
|
|
542
|
+
return legacy ? tokenize(text, true) : tokenizeDocument(text);
|
|
543
|
+
});
|
|
544
|
+
const N = docs.length;
|
|
545
|
+
const docLengths = docs.map(d => d.length);
|
|
546
|
+
const avgdl = docLengths.reduce((sum, len) => sum + len, 0) / N;
|
|
547
|
+
const b = bOverride ?? computeAdaptiveB(docLengths);
|
|
548
|
+
const docFreq = new Map();
|
|
549
|
+
for (const token of queryTokens) {
|
|
550
|
+
let count = 0;
|
|
551
|
+
for (const doc of docs) {
|
|
552
|
+
if (doc.includes(token))
|
|
553
|
+
count++;
|
|
554
|
+
}
|
|
555
|
+
docFreq.set(token, count);
|
|
556
|
+
}
|
|
557
|
+
// Compute query term weights for discriminative scoring
|
|
558
|
+
const queryTermWeights = computeQueryTermWeights(queryTokens, docFreq, N);
|
|
559
|
+
const reranked = results.map((result, i) => {
|
|
560
|
+
const doc = docs[i];
|
|
561
|
+
const dl = doc.length;
|
|
562
|
+
if (dl === 0)
|
|
563
|
+
return { ...result, score: 0 };
|
|
564
|
+
const termCounts = new Map();
|
|
565
|
+
for (const token of doc) {
|
|
566
|
+
termCounts.set(token, (termCounts.get(token) || 0) + 1);
|
|
567
|
+
}
|
|
568
|
+
let bm25Score = 0;
|
|
569
|
+
for (const token of queryTokens) {
|
|
570
|
+
const tf = termCounts.get(token) || 0;
|
|
571
|
+
const df = docFreq.get(token) || 0;
|
|
572
|
+
// Use BM25+ IDF or standard BM25 IDF
|
|
573
|
+
const idf = useBM25Plus
|
|
574
|
+
? computeBM25PlusIDF(N, df, 1)
|
|
575
|
+
: Math.log((N - df + 0.5) / (df + 0.5) + 1);
|
|
576
|
+
const tfNorm = (tf * (k1 + 1)) / (tf + k1 * (1 - b + b * (dl / avgdl)));
|
|
577
|
+
// Apply query term weight
|
|
578
|
+
const termWeight = queryTermWeights.get(token) || 1.0;
|
|
579
|
+
bm25Score += idf * tfNorm * termWeight;
|
|
580
|
+
}
|
|
581
|
+
const originalWeight = 0.4;
|
|
582
|
+
const bm25Weight = 0.6;
|
|
583
|
+
const combinedScore = result.score * originalWeight + bm25Score * bm25Weight;
|
|
584
|
+
return {
|
|
585
|
+
...result,
|
|
586
|
+
score: combinedScore,
|
|
587
|
+
relevance: combinedScore > 0.7 ? 'high' : combinedScore > 0.4 ? 'medium' : 'low'
|
|
588
|
+
};
|
|
589
|
+
});
|
|
590
|
+
reranked.sort((a, b) => b.score - a.score);
|
|
591
|
+
const normalized = normalizeScores(reranked);
|
|
592
|
+
return normalized.map(r => ({
|
|
593
|
+
...r,
|
|
594
|
+
relevance: r.score > 0.7 ? 'high' : r.score > 0.4 ? 'medium' : 'low'
|
|
595
|
+
}));
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Main search function.
|
|
599
|
+
*
|
|
600
|
+
* Supports multiple search methods with advanced preprocessing:
|
|
601
|
+
* - bm25: BM25/BM25+ scoring with adaptive length normalization
|
|
602
|
+
* - tfidf: Classic TF-IDF scoring
|
|
603
|
+
* - embedding: Semantic search with embeddings
|
|
604
|
+
* - hybrid: Combined BM25 + embedding with RRF (default)
|
|
605
|
+
*
|
|
606
|
+
* All methods use stopword removal and phrase detection by default.
|
|
607
|
+
* Set legacyTokenize=true to use original tokenization.
|
|
608
|
+
*
|
|
609
|
+
* New options for improved ranking:
|
|
610
|
+
* - bm25Plus: Use BM25+ variant with positive IDF floor (default: true)
|
|
611
|
+
* - useRRF: Use reciprocal rank fusion for hybrid (default: true)
|
|
612
|
+
* - rrfK: RRF smoothing constant (default: 60)
|
|
613
|
+
*/
|
|
614
|
+
export async function searchMemories(query, options = {}) {
|
|
615
|
+
const { maxItems = 10, type, since, method = 'hybrid', rerank = true, legacyTokenize = false, bm25Plus = true, useRRF = true, rrfK = 60 } = options;
|
|
616
|
+
// Get all memories
|
|
617
|
+
let memories = await getAllMemories();
|
|
618
|
+
// Apply filters
|
|
619
|
+
if (type && type !== 'all') {
|
|
620
|
+
memories = memories.filter(m => m.type === type);
|
|
621
|
+
}
|
|
622
|
+
if (since) {
|
|
623
|
+
memories = memories.filter(m => m.created_at >= since);
|
|
624
|
+
}
|
|
625
|
+
// Search based on method
|
|
626
|
+
let results;
|
|
627
|
+
if (method === 'bm25') {
|
|
628
|
+
results = await searchMemoriesBM25(query, memories, maxItems * 2, 1.5, undefined, legacyTokenize, bm25Plus);
|
|
629
|
+
}
|
|
630
|
+
else if (method === 'tfidf') {
|
|
631
|
+
results = await searchMemoriesTFIDF(query, memories, maxItems * 2, legacyTokenize);
|
|
632
|
+
}
|
|
633
|
+
else if (method === 'embedding') {
|
|
634
|
+
results = await searchMemoriesEmbedding(query, memories, maxItems * 2);
|
|
635
|
+
}
|
|
636
|
+
else {
|
|
637
|
+
results = await searchMemoriesHybrid(query, memories, maxItems * 2, legacyTokenize, useRRF, rrfK, bm25Plus);
|
|
638
|
+
}
|
|
639
|
+
// Second-pass: BM25 re-ranking
|
|
640
|
+
if (rerank && results.length > 1) {
|
|
641
|
+
results = reRankWithBM25(results, query, 1.5, undefined, legacyTokenize, bm25Plus);
|
|
642
|
+
}
|
|
643
|
+
return results.slice(0, maxItems);
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Calculate days between two dates
|
|
647
|
+
*/
|
|
648
|
+
function daysBetween(date1, date2) {
|
|
649
|
+
const d1 = new Date(date1);
|
|
650
|
+
const d2 = new Date(date2);
|
|
651
|
+
const diff = Math.abs(d2.getTime() - d1.getTime());
|
|
652
|
+
return Math.floor(diff / (1000 * 60 * 60 * 24));
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Export compute embedding for use in indexer
|
|
656
|
+
*/
|
|
657
|
+
export { computeEmbedding };
|
|
658
|
+
/**
|
|
659
|
+
* Export adaptive B parameter computation for testing and external use
|
|
660
|
+
*/
|
|
661
|
+
export { computeAdaptiveB };
|
|
662
|
+
/**
|
|
663
|
+
* Export BM25+ IDF computation for testing
|
|
664
|
+
*/
|
|
665
|
+
export { computeBM25PlusIDF };
|
|
666
|
+
/**
|
|
667
|
+
* Export query term weight computation for testing
|
|
668
|
+
*/
|
|
669
|
+
export { computeQueryTermWeights };
|
|
670
|
+
/**
|
|
671
|
+
* Export reciprocal rank fusion for testing
|
|
672
|
+
*/
|
|
673
|
+
export { reciprocalRankFusion };
|
|
674
|
+
/**
|
|
675
|
+
* Export pivoted length normalization for testing
|
|
676
|
+
*/
|
|
677
|
+
export { pivotedLengthNorm };
|
|
678
|
+
//# sourceMappingURL=memory-search.js.map
|