abmind 0.0.1 → 0.1.1
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/CHANGELOG.md +34 -0
- package/LICENSE +190 -0
- package/README.md +191 -0
- package/dist/cli/abmind-backfill.d.ts +3 -0
- package/dist/cli/abmind-backfill.d.ts.map +1 -0
- package/dist/cli/abmind-backfill.js +64 -0
- package/dist/cli/abmind-backfill.js.map +1 -0
- package/dist/cli/abmind-backup.d.ts +5 -0
- package/dist/cli/abmind-backup.d.ts.map +1 -0
- package/dist/cli/abmind-backup.js +44 -0
- package/dist/cli/abmind-backup.js.map +1 -0
- package/dist/cli/abmind-bundle.d.ts +7 -0
- package/dist/cli/abmind-bundle.d.ts.map +1 -0
- package/dist/cli/abmind-bundle.js +17 -0
- package/dist/cli/abmind-bundle.js.map +1 -0
- package/dist/cli/abmind-edit.d.ts +10 -0
- package/dist/cli/abmind-edit.d.ts.map +1 -0
- package/dist/cli/abmind-edit.js +160 -0
- package/dist/cli/abmind-edit.js.map +1 -0
- package/dist/cli/abmind-embed.d.ts +3 -0
- package/dist/cli/abmind-embed.d.ts.map +1 -0
- package/dist/cli/abmind-embed.js +83 -0
- package/dist/cli/abmind-embed.js.map +1 -0
- package/dist/cli/abmind-expand.d.ts +6 -0
- package/dist/cli/abmind-expand.d.ts.map +1 -0
- package/dist/cli/abmind-expand.js +100 -0
- package/dist/cli/abmind-expand.js.map +1 -0
- package/dist/cli/abmind-hook-doctor.d.ts +8 -0
- package/dist/cli/abmind-hook-doctor.d.ts.map +1 -0
- package/dist/cli/abmind-hook-doctor.js +73 -0
- package/dist/cli/abmind-hook-doctor.js.map +1 -0
- package/dist/cli/abmind-hook-recall.d.ts +16 -0
- package/dist/cli/abmind-hook-recall.d.ts.map +1 -0
- package/dist/cli/abmind-hook-recall.js +123 -0
- package/dist/cli/abmind-hook-recall.js.map +1 -0
- package/dist/cli/abmind-hook-store.d.ts +17 -0
- package/dist/cli/abmind-hook-store.d.ts.map +1 -0
- package/dist/cli/abmind-hook-store.js +115 -0
- package/dist/cli/abmind-hook-store.js.map +1 -0
- package/dist/cli/abmind-hook-wakeup.d.ts +12 -0
- package/dist/cli/abmind-hook-wakeup.d.ts.map +1 -0
- package/dist/cli/abmind-hook-wakeup.js +143 -0
- package/dist/cli/abmind-hook-wakeup.js.map +1 -0
- package/dist/cli/abmind-ingest.d.ts +7 -0
- package/dist/cli/abmind-ingest.d.ts.map +1 -0
- package/dist/cli/abmind-ingest.js +96 -0
- package/dist/cli/abmind-ingest.js.map +1 -0
- package/dist/cli/abmind-install.d.ts +10 -0
- package/dist/cli/abmind-install.d.ts.map +1 -0
- package/dist/cli/abmind-install.js +240 -0
- package/dist/cli/abmind-install.js.map +1 -0
- package/dist/cli/abmind-mcp.d.ts +3 -0
- package/dist/cli/abmind-mcp.d.ts.map +1 -0
- package/dist/cli/abmind-mcp.js +26 -0
- package/dist/cli/abmind-mcp.js.map +1 -0
- package/dist/cli/abmind-memory-stats.d.ts +3 -0
- package/dist/cli/abmind-memory-stats.d.ts.map +1 -0
- package/dist/cli/abmind-memory-stats.js +45 -0
- package/dist/cli/abmind-memory-stats.js.map +1 -0
- package/dist/cli/abmind-migrate-openclaw.d.ts +12 -0
- package/dist/cli/abmind-migrate-openclaw.d.ts.map +1 -0
- package/dist/cli/abmind-migrate-openclaw.js +247 -0
- package/dist/cli/abmind-migrate-openclaw.js.map +1 -0
- package/dist/cli/abmind-recall.d.ts +8 -0
- package/dist/cli/abmind-recall.d.ts.map +1 -0
- package/dist/cli/abmind-recall.js +94 -0
- package/dist/cli/abmind-recall.js.map +1 -0
- package/dist/cli/abmind-reset.d.ts +11 -0
- package/dist/cli/abmind-reset.d.ts.map +1 -0
- package/dist/cli/abmind-reset.js +143 -0
- package/dist/cli/abmind-reset.js.map +1 -0
- package/dist/cli/abmind-restore.d.ts +5 -0
- package/dist/cli/abmind-restore.d.ts.map +1 -0
- package/dist/cli/abmind-restore.js +64 -0
- package/dist/cli/abmind-restore.js.map +1 -0
- package/dist/cli/abmind-retro-extract.d.ts +15 -0
- package/dist/cli/abmind-retro-extract.d.ts.map +1 -0
- package/dist/cli/abmind-retro-extract.js +113 -0
- package/dist/cli/abmind-retro-extract.js.map +1 -0
- package/dist/cli/abmind-rollback.d.ts +8 -0
- package/dist/cli/abmind-rollback.d.ts.map +1 -0
- package/dist/cli/abmind-rollback.js +76 -0
- package/dist/cli/abmind-rollback.js.map +1 -0
- package/dist/cli/abmind-secrets.d.ts +12 -0
- package/dist/cli/abmind-secrets.d.ts.map +1 -0
- package/dist/cli/abmind-secrets.js +83 -0
- package/dist/cli/abmind-secrets.js.map +1 -0
- package/dist/cli/abmind-sleep-apply.d.ts +3 -0
- package/dist/cli/abmind-sleep-apply.d.ts.map +1 -0
- package/dist/cli/abmind-sleep-apply.js +50 -0
- package/dist/cli/abmind-sleep-apply.js.map +1 -0
- package/dist/cli/abmind-sleep-report.d.ts +3 -0
- package/dist/cli/abmind-sleep-report.d.ts.map +1 -0
- package/dist/cli/abmind-sleep-report.js +40 -0
- package/dist/cli/abmind-sleep-report.js.map +1 -0
- package/dist/cli/abmind-sleep-state.d.ts +3 -0
- package/dist/cli/abmind-sleep-state.d.ts.map +1 -0
- package/dist/cli/abmind-sleep-state.js +33 -0
- package/dist/cli/abmind-sleep-state.js.map +1 -0
- package/dist/cli/abmind-sleep.d.ts +14 -0
- package/dist/cli/abmind-sleep.d.ts.map +1 -0
- package/dist/cli/abmind-sleep.js +186 -0
- package/dist/cli/abmind-sleep.js.map +1 -0
- package/dist/cli/abmind-status-runtime.d.ts +9 -0
- package/dist/cli/abmind-status-runtime.d.ts.map +1 -0
- package/dist/cli/abmind-status-runtime.js +132 -0
- package/dist/cli/abmind-status-runtime.js.map +1 -0
- package/dist/cli/abmind-status.d.ts +3 -0
- package/dist/cli/abmind-status.d.ts.map +1 -0
- package/dist/cli/abmind-status.js +45 -0
- package/dist/cli/abmind-status.js.map +1 -0
- package/dist/cli/abmind-store.d.ts +54 -0
- package/dist/cli/abmind-store.d.ts.map +1 -0
- package/dist/cli/abmind-store.js +251 -0
- package/dist/cli/abmind-store.js.map +1 -0
- package/dist/cli/abmind-update.d.ts +11 -0
- package/dist/cli/abmind-update.d.ts.map +1 -0
- package/dist/cli/abmind-update.js +160 -0
- package/dist/cli/abmind-update.js.map +1 -0
- package/dist/cli/abmind-wakeup.d.ts +3 -0
- package/dist/cli/abmind-wakeup.d.ts.map +1 -0
- package/dist/cli/abmind-wakeup.js +36 -0
- package/dist/cli/abmind-wakeup.js.map +1 -0
- package/dist/cli/abmind.d.ts +10 -0
- package/dist/cli/abmind.d.ts.map +1 -0
- package/dist/cli/abmind.js +100 -0
- package/dist/cli/abmind.js.map +1 -0
- package/dist/src/abm-v2-vocab.d.ts +10 -0
- package/dist/src/abm-v2-vocab.d.ts.map +1 -0
- package/dist/src/abm-v2-vocab.js +66 -0
- package/dist/src/abm-v2-vocab.js.map +1 -0
- package/dist/src/adapters/openclaw.d.ts +66 -0
- package/dist/src/adapters/openclaw.d.ts.map +1 -0
- package/dist/src/adapters/openclaw.js +97 -0
- package/dist/src/adapters/openclaw.js.map +1 -0
- package/dist/src/backend-factory.d.ts +9 -0
- package/dist/src/backend-factory.d.ts.map +1 -0
- package/dist/src/backend-factory.js +23 -0
- package/dist/src/backend-factory.js.map +1 -0
- package/dist/src/backup.d.ts +19 -0
- package/dist/src/backup.d.ts.map +1 -0
- package/dist/src/backup.js +191 -0
- package/dist/src/backup.js.map +1 -0
- package/dist/src/brain-patterns.d.ts +20 -0
- package/dist/src/brain-patterns.d.ts.map +1 -0
- package/dist/src/brain-patterns.js +72 -0
- package/dist/src/brain-patterns.js.map +1 -0
- package/dist/src/cli-entry.d.ts +10 -0
- package/dist/src/cli-entry.d.ts.map +1 -0
- package/dist/src/cli-entry.js +29 -0
- package/dist/src/cli-entry.js.map +1 -0
- package/dist/src/cli-flags.d.ts +29 -0
- package/dist/src/cli-flags.d.ts.map +1 -0
- package/dist/src/cli-flags.js +72 -0
- package/dist/src/cli-flags.js.map +1 -0
- package/dist/src/cli-runner-raw.d.ts +21 -0
- package/dist/src/cli-runner-raw.d.ts.map +1 -0
- package/dist/src/cli-runner-raw.js +41 -0
- package/dist/src/cli-runner-raw.js.map +1 -0
- package/dist/src/cli-runner.d.ts +26 -0
- package/dist/src/cli-runner.d.ts.map +1 -0
- package/dist/src/cli-runner.js +51 -0
- package/dist/src/cli-runner.js.map +1 -0
- package/dist/src/consolidation-search.d.ts +17 -0
- package/dist/src/consolidation-search.d.ts.map +1 -0
- package/dist/src/consolidation-search.js +83 -0
- package/dist/src/consolidation-search.js.map +1 -0
- package/dist/src/context-engine.d.ts +89 -0
- package/dist/src/context-engine.d.ts.map +1 -0
- package/dist/src/context-engine.js +216 -0
- package/dist/src/context-engine.js.map +1 -0
- package/dist/src/context-tier-renderer.d.ts +79 -0
- package/dist/src/context-tier-renderer.d.ts.map +1 -0
- package/dist/src/context-tier-renderer.js +223 -0
- package/dist/src/context-tier-renderer.js.map +1 -0
- package/dist/src/contradiction-checker.d.ts +16 -0
- package/dist/src/contradiction-checker.d.ts.map +1 -0
- package/dist/src/contradiction-checker.js +40 -0
- package/dist/src/contradiction-checker.js.map +1 -0
- package/dist/src/crypto.d.ts +15 -0
- package/dist/src/crypto.d.ts.map +1 -0
- package/dist/src/crypto.js +86 -0
- package/dist/src/crypto.js.map +1 -0
- package/dist/src/deploy-lib/cleanup.d.ts +38 -0
- package/dist/src/deploy-lib/cleanup.d.ts.map +1 -0
- package/dist/src/deploy-lib/cleanup.js +71 -0
- package/dist/src/deploy-lib/cleanup.js.map +1 -0
- package/dist/src/deploy-lib/index.d.ts +20 -0
- package/dist/src/deploy-lib/index.d.ts.map +1 -0
- package/dist/src/deploy-lib/index.js +20 -0
- package/dist/src/deploy-lib/index.js.map +1 -0
- package/dist/src/deploy-lib/lock.d.ts +37 -0
- package/dist/src/deploy-lib/lock.d.ts.map +1 -0
- package/dist/src/deploy-lib/lock.js +107 -0
- package/dist/src/deploy-lib/lock.js.map +1 -0
- package/dist/src/deploy-lib/manifest.d.ts +42 -0
- package/dist/src/deploy-lib/manifest.d.ts.map +1 -0
- package/dist/src/deploy-lib/manifest.js +38 -0
- package/dist/src/deploy-lib/manifest.js.map +1 -0
- package/dist/src/deploy-lib/paths.d.ts +29 -0
- package/dist/src/deploy-lib/paths.d.ts.map +1 -0
- package/dist/src/deploy-lib/paths.js +40 -0
- package/dist/src/deploy-lib/paths.js.map +1 -0
- package/dist/src/deploy-lib/releases.d.ts +52 -0
- package/dist/src/deploy-lib/releases.d.ts.map +1 -0
- package/dist/src/deploy-lib/releases.js +119 -0
- package/dist/src/deploy-lib/releases.js.map +1 -0
- package/dist/src/deploy-lib/safe-copy.d.ts +16 -0
- package/dist/src/deploy-lib/safe-copy.d.ts.map +1 -0
- package/dist/src/deploy-lib/safe-copy.js +32 -0
- package/dist/src/deploy-lib/safe-copy.js.map +1 -0
- package/dist/src/embedding-health.d.ts +12 -0
- package/dist/src/embedding-health.d.ts.map +1 -0
- package/dist/src/embedding-health.js +18 -0
- package/dist/src/embedding-health.js.map +1 -0
- package/dist/src/embedding-provider.d.ts +48 -0
- package/dist/src/embedding-provider.d.ts.map +1 -0
- package/dist/src/embedding-provider.js +145 -0
- package/dist/src/embedding-provider.js.map +1 -0
- package/dist/src/embedding-quantize.d.ts +11 -0
- package/dist/src/embedding-quantize.d.ts.map +1 -0
- package/dist/src/embedding-quantize.js +38 -0
- package/dist/src/embedding-quantize.js.map +1 -0
- package/dist/src/emotion-arc.d.ts +17 -0
- package/dist/src/emotion-arc.d.ts.map +1 -0
- package/dist/src/emotion-arc.js +62 -0
- package/dist/src/emotion-arc.js.map +1 -0
- package/dist/src/emotion-tagger.d.ts +8 -0
- package/dist/src/emotion-tagger.d.ts.map +1 -0
- package/dist/src/emotion-tagger.js +45 -0
- package/dist/src/emotion-tagger.js.map +1 -0
- package/dist/src/emotion-utils.d.ts +13 -0
- package/dist/src/emotion-utils.d.ts.map +1 -0
- package/dist/src/emotion-utils.js +76 -0
- package/dist/src/emotion-utils.js.map +1 -0
- package/dist/src/entity-graph.d.ts +33 -0
- package/dist/src/entity-graph.d.ts.map +1 -0
- package/dist/src/entity-graph.js +42 -0
- package/dist/src/entity-graph.js.map +1 -0
- package/dist/src/env-schema.d.ts +46 -0
- package/dist/src/env-schema.d.ts.map +1 -0
- package/dist/src/env-schema.js +93 -0
- package/dist/src/env-schema.js.map +1 -0
- package/dist/src/hook-helpers.d.ts +16 -0
- package/dist/src/hook-helpers.d.ts.map +1 -0
- package/dist/src/hook-helpers.js +64 -0
- package/dist/src/hook-helpers.js.map +1 -0
- package/dist/src/imemory-system.d.ts +138 -0
- package/dist/src/imemory-system.d.ts.map +1 -0
- package/dist/src/imemory-system.js +40 -0
- package/dist/src/imemory-system.js.map +1 -0
- package/dist/src/importance-flagger.d.ts +8 -0
- package/dist/src/importance-flagger.d.ts.map +1 -0
- package/dist/src/importance-flagger.js +24 -0
- package/dist/src/importance-flagger.js.map +1 -0
- package/dist/src/index.d.ts +79 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +79 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/ingest-pipeline.d.ts +32 -0
- package/dist/src/ingest-pipeline.d.ts.map +1 -0
- package/dist/src/ingest-pipeline.js +58 -0
- package/dist/src/ingest-pipeline.js.map +1 -0
- package/dist/src/injection-scanner.d.ts +16 -0
- package/dist/src/injection-scanner.d.ts.map +1 -0
- package/dist/src/injection-scanner.js +182 -0
- package/dist/src/injection-scanner.js.map +1 -0
- package/dist/src/local-time.d.ts +12 -0
- package/dist/src/local-time.d.ts.map +1 -0
- package/dist/src/local-time.js +23 -0
- package/dist/src/local-time.js.map +1 -0
- package/dist/src/maintenance-service.d.ts +46 -0
- package/dist/src/maintenance-service.d.ts.map +1 -0
- package/dist/src/maintenance-service.js +280 -0
- package/dist/src/maintenance-service.js.map +1 -0
- package/dist/src/mcp-server.d.ts +6 -0
- package/dist/src/mcp-server.d.ts.map +1 -0
- package/dist/src/mcp-server.js +50 -0
- package/dist/src/mcp-server.js.map +1 -0
- package/dist/src/media-sanitizer.d.ts +11 -0
- package/dist/src/media-sanitizer.d.ts.map +1 -0
- package/dist/src/media-sanitizer.js +56 -0
- package/dist/src/media-sanitizer.js.map +1 -0
- package/dist/src/mem-config-env.d.ts +18 -0
- package/dist/src/mem-config-env.d.ts.map +1 -0
- package/dist/src/mem-config-env.js +43 -0
- package/dist/src/mem-config-env.js.map +1 -0
- package/dist/src/mem-env.d.ts +5 -0
- package/dist/src/mem-env.d.ts.map +1 -0
- package/dist/src/mem-env.js +19 -0
- package/dist/src/mem-env.js.map +1 -0
- package/dist/src/mem-logger.d.ts +20 -0
- package/dist/src/mem-logger.d.ts.map +1 -0
- package/dist/src/mem-logger.js +24 -0
- package/dist/src/mem-logger.js.map +1 -0
- package/dist/src/mem-paths.d.ts +20 -0
- package/dist/src/mem-paths.d.ts.map +1 -0
- package/dist/src/mem-paths.js +43 -0
- package/dist/src/mem-paths.js.map +1 -0
- package/dist/src/mem-types.d.ts +157 -0
- package/dist/src/mem-types.d.ts.map +1 -0
- package/dist/src/mem-types.js +2 -0
- package/dist/src/mem-types.js.map +1 -0
- package/dist/src/memory-backend.d.ts +65 -0
- package/dist/src/memory-backend.d.ts.map +1 -0
- package/dist/src/memory-backend.js +43 -0
- package/dist/src/memory-backend.js.map +1 -0
- package/dist/src/memory-compressor.d.ts +17 -0
- package/dist/src/memory-compressor.d.ts.map +1 -0
- package/dist/src/memory-compressor.js +147 -0
- package/dist/src/memory-compressor.js.map +1 -0
- package/dist/src/memory-config.d.ts +30 -0
- package/dist/src/memory-config.d.ts.map +1 -0
- package/dist/src/memory-config.js +62 -0
- package/dist/src/memory-config.js.map +1 -0
- package/dist/src/memory-db.d.ts +7 -0
- package/dist/src/memory-db.d.ts.map +1 -0
- package/dist/src/memory-db.js +173 -0
- package/dist/src/memory-db.js.map +1 -0
- package/dist/src/memory-editor.d.ts +32 -0
- package/dist/src/memory-editor.d.ts.map +1 -0
- package/dist/src/memory-editor.js +339 -0
- package/dist/src/memory-editor.js.map +1 -0
- package/dist/src/memory-index.d.ts +91 -0
- package/dist/src/memory-index.d.ts.map +1 -0
- package/dist/src/memory-index.js +310 -0
- package/dist/src/memory-index.js.map +1 -0
- package/dist/src/memory-ipc-client.d.ts +22 -0
- package/dist/src/memory-ipc-client.d.ts.map +1 -0
- package/dist/src/memory-ipc-client.js +75 -0
- package/dist/src/memory-ipc-client.js.map +1 -0
- package/dist/src/memory-ipc-server.d.ts +17 -0
- package/dist/src/memory-ipc-server.d.ts.map +1 -0
- package/dist/src/memory-ipc-server.js +86 -0
- package/dist/src/memory-ipc-server.js.map +1 -0
- package/dist/src/memory-manager.d.ts +155 -0
- package/dist/src/memory-manager.d.ts.map +1 -0
- package/dist/src/memory-manager.js +463 -0
- package/dist/src/memory-manager.js.map +1 -0
- package/dist/src/memory-renderer.d.ts +15 -0
- package/dist/src/memory-renderer.d.ts.map +1 -0
- package/dist/src/memory-renderer.js +126 -0
- package/dist/src/memory-renderer.js.map +1 -0
- package/dist/src/message-store.d.ts +42 -0
- package/dist/src/message-store.d.ts.map +1 -0
- package/dist/src/message-store.js +145 -0
- package/dist/src/message-store.js.map +1 -0
- package/dist/src/mmr.d.ts +17 -0
- package/dist/src/mmr.d.ts.map +1 -0
- package/dist/src/mmr.js +48 -0
- package/dist/src/mmr.js.map +1 -0
- package/dist/src/ollama-embed.d.ts +46 -0
- package/dist/src/ollama-embed.d.ts.map +1 -0
- package/dist/src/ollama-embed.js +139 -0
- package/dist/src/ollama-embed.js.map +1 -0
- package/dist/src/openclaw-plugin/engine.d.ts +87 -0
- package/dist/src/openclaw-plugin/engine.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/engine.js +121 -0
- package/dist/src/openclaw-plugin/engine.js.map +1 -0
- package/dist/src/openclaw-plugin/hooks.d.ts +41 -0
- package/dist/src/openclaw-plugin/hooks.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/hooks.js +155 -0
- package/dist/src/openclaw-plugin/hooks.js.map +1 -0
- package/dist/src/openclaw-plugin/index.d.ts +20 -0
- package/dist/src/openclaw-plugin/index.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/index.js +151 -0
- package/dist/src/openclaw-plugin/index.js.map +1 -0
- package/dist/src/openclaw-plugin/message-adapter.d.ts +13 -0
- package/dist/src/openclaw-plugin/message-adapter.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/message-adapter.js +49 -0
- package/dist/src/openclaw-plugin/message-adapter.js.map +1 -0
- package/dist/src/openclaw-plugin/prompt-builder.d.ts +17 -0
- package/dist/src/openclaw-plugin/prompt-builder.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/prompt-builder.js +22 -0
- package/dist/src/openclaw-plugin/prompt-builder.js.map +1 -0
- package/dist/src/openclaw-plugin/public-artifacts.d.ts +20 -0
- package/dist/src/openclaw-plugin/public-artifacts.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/public-artifacts.js +59 -0
- package/dist/src/openclaw-plugin/public-artifacts.js.map +1 -0
- package/dist/src/openclaw-plugin/runtime-adapter.d.ts +26 -0
- package/dist/src/openclaw-plugin/runtime-adapter.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/runtime-adapter.js +161 -0
- package/dist/src/openclaw-plugin/runtime-adapter.js.map +1 -0
- package/dist/src/openclaw-plugin/session-mapper.d.ts +11 -0
- package/dist/src/openclaw-plugin/session-mapper.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/session-mapper.js +17 -0
- package/dist/src/openclaw-plugin/session-mapper.js.map +1 -0
- package/dist/src/openclaw-plugin/tools.d.ts +32 -0
- package/dist/src/openclaw-plugin/tools.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/tools.js +131 -0
- package/dist/src/openclaw-plugin/tools.js.map +1 -0
- package/dist/src/openclaw-plugin/types.d.ts +35 -0
- package/dist/src/openclaw-plugin/types.d.ts.map +1 -0
- package/dist/src/openclaw-plugin/types.js +2 -0
- package/dist/src/openclaw-plugin/types.js.map +1 -0
- package/dist/src/query-tokenizer.d.ts +33 -0
- package/dist/src/query-tokenizer.d.ts.map +1 -0
- package/dist/src/query-tokenizer.js +84 -0
- package/dist/src/query-tokenizer.js.map +1 -0
- package/dist/src/recall-benchmark.d.ts +13 -0
- package/dist/src/recall-benchmark.d.ts.map +1 -0
- package/dist/src/recall-benchmark.js +256 -0
- package/dist/src/recall-benchmark.js.map +1 -0
- package/dist/src/recall-engine.d.ts +81 -0
- package/dist/src/recall-engine.d.ts.map +1 -0
- package/dist/src/recall-engine.js +387 -0
- package/dist/src/recall-engine.js.map +1 -0
- package/dist/src/redact-secrets.d.ts +20 -0
- package/dist/src/redact-secrets.d.ts.map +1 -0
- package/dist/src/redact-secrets.js +42 -0
- package/dist/src/redact-secrets.js.map +1 -0
- package/dist/src/runtime-store.d.ts +47 -0
- package/dist/src/runtime-store.d.ts.map +1 -0
- package/dist/src/runtime-store.js +78 -0
- package/dist/src/runtime-store.js.map +1 -0
- package/dist/src/session-context.d.ts +10 -0
- package/dist/src/session-context.d.ts.map +1 -0
- package/dist/src/session-context.js +83 -0
- package/dist/src/session-context.js.map +1 -0
- package/dist/src/session-memory.d.ts +8 -0
- package/dist/src/session-memory.d.ts.map +1 -0
- package/dist/src/session-memory.js +45 -0
- package/dist/src/session-memory.js.map +1 -0
- package/dist/src/signature-generator.d.ts +15 -0
- package/dist/src/signature-generator.d.ts.map +1 -0
- package/dist/src/signature-generator.js +78 -0
- package/dist/src/signature-generator.js.map +1 -0
- package/dist/src/sleep/basic.d.ts +48 -0
- package/dist/src/sleep/basic.d.ts.map +1 -0
- package/dist/src/sleep/basic.js +147 -0
- package/dist/src/sleep/basic.js.map +1 -0
- package/dist/src/sleep/levels.d.ts +20 -0
- package/dist/src/sleep/levels.d.ts.map +1 -0
- package/dist/src/sleep/levels.js +11 -0
- package/dist/src/sleep/levels.js.map +1 -0
- package/dist/src/sleep/native.d.ts +41 -0
- package/dist/src/sleep/native.d.ts.map +1 -0
- package/dist/src/sleep/native.js +112 -0
- package/dist/src/sleep/native.js.map +1 -0
- package/dist/src/sleep/orchestrator.d.ts +64 -0
- package/dist/src/sleep/orchestrator.d.ts.map +1 -0
- package/dist/src/sleep/orchestrator.js +960 -0
- package/dist/src/sleep/orchestrator.js.map +1 -0
- package/dist/src/sleep/runtime.d.ts +15 -0
- package/dist/src/sleep/runtime.d.ts.map +1 -0
- package/dist/src/sleep/runtime.js +2 -0
- package/dist/src/sleep/runtime.js.map +1 -0
- package/dist/src/sleep/sleep-daily-summary.d.ts +64 -0
- package/dist/src/sleep/sleep-daily-summary.d.ts.map +1 -0
- package/dist/src/sleep/sleep-daily-summary.js +273 -0
- package/dist/src/sleep/sleep-daily-summary.js.map +1 -0
- package/dist/src/sleep/sleep-extract-daily.d.ts +12 -0
- package/dist/src/sleep/sleep-extract-daily.d.ts.map +1 -0
- package/dist/src/sleep/sleep-extract-daily.js +55 -0
- package/dist/src/sleep/sleep-extract-daily.js.map +1 -0
- package/dist/src/sleep/sleep-prompt-loader.d.ts +27 -0
- package/dist/src/sleep/sleep-prompt-loader.d.ts.map +1 -0
- package/dist/src/sleep/sleep-prompt-loader.js +116 -0
- package/dist/src/sleep/sleep-prompt-loader.js.map +1 -0
- package/dist/src/sleep/test-harness.d.ts +67 -0
- package/dist/src/sleep/test-harness.d.ts.map +1 -0
- package/dist/src/sleep/test-harness.js +121 -0
- package/dist/src/sleep/test-harness.js.map +1 -0
- package/dist/src/sleep/trigger.d.ts +3 -0
- package/dist/src/sleep/trigger.d.ts.map +1 -0
- package/dist/src/sleep/trigger.js +66 -0
- package/dist/src/sleep/trigger.js.map +1 -0
- package/dist/src/sleep-data-access.d.ts +54 -0
- package/dist/src/sleep-data-access.d.ts.map +1 -0
- package/dist/src/sleep-data-access.js +176 -0
- package/dist/src/sleep-data-access.js.map +1 -0
- package/dist/src/sleep-pipeline.d.ts +9 -0
- package/dist/src/sleep-pipeline.d.ts.map +1 -0
- package/dist/src/sleep-pipeline.js +8 -0
- package/dist/src/sleep-pipeline.js.map +1 -0
- package/dist/src/sleep-state-gatherer.d.ts +74 -0
- package/dist/src/sleep-state-gatherer.d.ts.map +1 -0
- package/dist/src/sleep-state-gatherer.js +275 -0
- package/dist/src/sleep-state-gatherer.js.map +1 -0
- package/dist/src/sqlite-backend.d.ts +23 -0
- package/dist/src/sqlite-backend.d.ts.map +1 -0
- package/dist/src/sqlite-backend.js +48 -0
- package/dist/src/sqlite-backend.js.map +1 -0
- package/dist/src/test-helpers.d.ts +3 -0
- package/dist/src/test-helpers.d.ts.map +1 -0
- package/dist/src/test-helpers.js +5 -0
- package/dist/src/test-helpers.js.map +1 -0
- package/dist/src/tier-llm-refinement.d.ts +35 -0
- package/dist/src/tier-llm-refinement.d.ts.map +1 -0
- package/dist/src/tier-llm-refinement.js +131 -0
- package/dist/src/tier-llm-refinement.js.map +1 -0
- package/dist/src/timeline-builder.d.ts +45 -0
- package/dist/src/timeline-builder.d.ts.map +1 -0
- package/dist/src/timeline-builder.js +147 -0
- package/dist/src/timeline-builder.js.map +1 -0
- package/dist/src/trigram-search.d.ts +28 -0
- package/dist/src/trigram-search.d.ts.map +1 -0
- package/dist/src/trigram-search.js +192 -0
- package/dist/src/trigram-search.js.map +1 -0
- package/dist/src/turn-classifier.d.ts +29 -0
- package/dist/src/turn-classifier.d.ts.map +1 -0
- package/dist/src/turn-classifier.js +186 -0
- package/dist/src/turn-classifier.js.map +1 -0
- package/dist/src/user-utils.d.ts +6 -0
- package/dist/src/user-utils.d.ts.map +1 -0
- package/dist/src/user-utils.js +27 -0
- package/dist/src/user-utils.js.map +1 -0
- package/dist/src/wake-up-builder.d.ts +12 -0
- package/dist/src/wake-up-builder.d.ts.map +1 -0
- package/dist/src/wake-up-builder.js +45 -0
- package/dist/src/wake-up-builder.js.map +1 -0
- package/dist/src/wake-up-renderer.d.ts +29 -0
- package/dist/src/wake-up-renderer.d.ts.map +1 -0
- package/dist/src/wake-up-renderer.js +182 -0
- package/dist/src/wake-up-renderer.js.map +1 -0
- package/openclaw.plugin.json +72 -0
- package/package.json +92 -5
- package/prompts/sleep/01-gc-noise.md +28 -0
- package/prompts/sleep/02-daily-summary.md +3 -0
- package/prompts/sleep/03-extract-from-daily.md +3 -0
- package/prompts/sleep/04-retrospective.md +30 -0
- package/prompts/sleep/06-feedback.md +17 -0
- package/prompts/sleep/07-topic-assignment.md +23 -0
- package/prompts/sleep/08-core-promotion.md +26 -0
- package/prompts/sleep/09-merge.md +19 -0
- package/prompts/sleep/10-translation.md +17 -0
- package/prompts/sleep/11-skill-review.md +12 -0
- package/prompts/sleep/12-core-knowledge.md +14 -0
- package/prompts/sleep/13-consolidation.md +11 -0
- package/prompts/sleep/14-emotion-context.md +17 -0
- package/prompts/sleep/15-contradiction-and-graph.md +48 -0
- package/prompts/sleep/16-rem-synthesis.md +31 -0
- package/prompts/sleep/basic.md +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-status.d.ts","sourceRoot":"","sources":["../../cli/abmind-status.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/** abmind status — Show memory system stats. */
|
|
3
|
+
import { runCliRaw } from "../src/cli-runner-raw.js";
|
|
4
|
+
import { loadMemoryConfig } from "../src/memory-config.js";
|
|
5
|
+
import { MemoryManager } from "../src/memory-manager.js";
|
|
6
|
+
await runCliRaw(import.meta.url, {
|
|
7
|
+
name: "abmind-status",
|
|
8
|
+
help: `Usage:
|
|
9
|
+
abmind status
|
|
10
|
+
|
|
11
|
+
Prints memory-system stats: message count, memory count, DB size,
|
|
12
|
+
heartbeat state, per-type breakdown, consolidation-file counts.`,
|
|
13
|
+
flags: [],
|
|
14
|
+
handler: async () => {
|
|
15
|
+
const memory = new MemoryManager(loadMemoryConfig());
|
|
16
|
+
await memory.initialize({ skipEmbeddingCheck: true });
|
|
17
|
+
try {
|
|
18
|
+
const stats = memory.getStats();
|
|
19
|
+
if (!stats) {
|
|
20
|
+
console.error("Memory not initialized");
|
|
21
|
+
process.exitCode = 1;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
console.log(`Memory Status
|
|
25
|
+
─────────────
|
|
26
|
+
Messages: ${stats.totalMessages}
|
|
27
|
+
Memories: ${stats.extractedMemories}
|
|
28
|
+
DB size: ${(stats.dbSizeBytes / 1024 / 1024).toFixed(1)} MB
|
|
29
|
+
Heartbeat: ${stats.heartbeatRunning ? "running" : "stopped"}
|
|
30
|
+
|
|
31
|
+
By type:`);
|
|
32
|
+
for (const [type, count] of Object.entries(stats.extractedByType)) {
|
|
33
|
+
console.log(` ${type}: ${count}`);
|
|
34
|
+
}
|
|
35
|
+
console.log(`\nConsolidation files:
|
|
36
|
+
Daily: ${stats.consolidationFiles.daily}
|
|
37
|
+
Weekly: ${stats.consolidationFiles.weekly}
|
|
38
|
+
Quarterly: ${stats.consolidationFiles.quarterly}`);
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
memory.close();
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=abmind-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-status.js","sourceRoot":"","sources":["../../cli/abmind-status.ts"],"names":[],"mappings":";AACA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;;;;gEAIwD;IAC9D,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC;;gBAEF,KAAK,CAAC,aAAa;gBACnB,KAAK,CAAC,iBAAiB;gBACvB,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;SAErD,CAAC,CAAC;YACL,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC;eACH,KAAK,CAAC,kBAAkB,CAAC,KAAK;eAC9B,KAAK,CAAC,kBAAkB,CAAC,MAAM;eAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* abmind-store — standalone CLI for agent-initiated memory storage.
|
|
4
|
+
*
|
|
5
|
+
* Persists a memory via MemoryBackend.instantStore(), or dispatches to
|
|
6
|
+
* one of four specialized paths: --boost/--demote, --merge, --reclassify,
|
|
7
|
+
* --delete-ids.
|
|
8
|
+
*
|
|
9
|
+
* Output (success): { "stored": true, "memoriesCount": 1 }
|
|
10
|
+
* Output (error): { "stored": false, "error": "<reason>" }
|
|
11
|
+
*/
|
|
12
|
+
import type { FlagSpec } from "../src/cli-flags.js";
|
|
13
|
+
import type { InstantStoreParams } from "../src/mem-types.js";
|
|
14
|
+
export declare const STORE_FLAGS: readonly FlagSpec[];
|
|
15
|
+
export type RawArgs = {
|
|
16
|
+
contentEn?: string;
|
|
17
|
+
contentOriginal?: string;
|
|
18
|
+
memoryType?: string;
|
|
19
|
+
emotionScore?: string;
|
|
20
|
+
emotionTags?: string;
|
|
21
|
+
emotionContext?: string;
|
|
22
|
+
userId?: string;
|
|
23
|
+
keyword?: string;
|
|
24
|
+
confidence?: string;
|
|
25
|
+
sourceMessageIds?: string;
|
|
26
|
+
source?: string;
|
|
27
|
+
topic?: string;
|
|
28
|
+
boost?: boolean;
|
|
29
|
+
demote?: boolean;
|
|
30
|
+
id?: string;
|
|
31
|
+
merge?: boolean;
|
|
32
|
+
mergeIds?: string;
|
|
33
|
+
classification?: string;
|
|
34
|
+
trust?: string;
|
|
35
|
+
integrity?: string;
|
|
36
|
+
credibility?: string;
|
|
37
|
+
reclassify?: boolean;
|
|
38
|
+
userOverride?: boolean;
|
|
39
|
+
deleteIds?: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Legacy exported parser. Takes raw argv (as from process.argv). Kept as a
|
|
43
|
+
* thin wrapper over parseFlags for cli/abmind-store.test.ts compatibility.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseArgs(argv: string[]): RawArgs;
|
|
46
|
+
/** Validate store-specific business rules. */
|
|
47
|
+
export declare function validateArgs(raw: RawArgs): {
|
|
48
|
+
ok: true;
|
|
49
|
+
params: InstantStoreParams;
|
|
50
|
+
} | {
|
|
51
|
+
ok: false;
|
|
52
|
+
error: string;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=abmind-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-store.d.ts","sourceRoot":"","sources":["../../cli/abmind-store.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,eAAO,MAAM,WAAW,EAAE,SAAS,QAAQ,EAyB1C,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiCF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjD;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmClH"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* abmind-store — standalone CLI for agent-initiated memory storage.
|
|
4
|
+
*
|
|
5
|
+
* Persists a memory via MemoryBackend.instantStore(), or dispatches to
|
|
6
|
+
* one of four specialized paths: --boost/--demote, --merge, --reclassify,
|
|
7
|
+
* --delete-ids.
|
|
8
|
+
*
|
|
9
|
+
* Output (success): { "stored": true, "memoriesCount": 1 }
|
|
10
|
+
* Output (error): { "stored": false, "error": "<reason>" }
|
|
11
|
+
*/
|
|
12
|
+
import { join } from "node:path";
|
|
13
|
+
import { appendFileSync } from "node:fs";
|
|
14
|
+
import { runCli } from "../src/cli-runner.js";
|
|
15
|
+
import { parseFlags } from "../src/cli-flags.js";
|
|
16
|
+
import { abmindHome } from "../src/mem-paths.js";
|
|
17
|
+
// --- Flag spec (shared via cli-flags) ---
|
|
18
|
+
export const STORE_FLAGS = [
|
|
19
|
+
{ name: "translated", type: "string", aliases: ["--content-en"] },
|
|
20
|
+
{ name: "original", type: "string", aliases: ["--content-original"] },
|
|
21
|
+
{ name: "memory-type", type: "string" },
|
|
22
|
+
{ name: "emotion-score", type: "number" },
|
|
23
|
+
{ name: "emotion-tags", type: "string" },
|
|
24
|
+
{ name: "emotion-context", type: "string" },
|
|
25
|
+
{ name: "chat-id", type: "string" },
|
|
26
|
+
{ name: "keyword", type: "string", aliases: ["--tags"] },
|
|
27
|
+
{ name: "confidence", type: "number" },
|
|
28
|
+
{ name: "topic", type: "string" },
|
|
29
|
+
{ name: "source-ids", type: "string" },
|
|
30
|
+
{ name: "source", type: "string" },
|
|
31
|
+
{ name: "boost", type: "boolean" },
|
|
32
|
+
{ name: "demote", type: "boolean" },
|
|
33
|
+
{ name: "id", type: "string" },
|
|
34
|
+
{ name: "merge", type: "boolean" },
|
|
35
|
+
{ name: "merge-ids", type: "string" },
|
|
36
|
+
{ name: "classification", type: "number" },
|
|
37
|
+
{ name: "trust", type: "number" },
|
|
38
|
+
{ name: "integrity", type: "number" },
|
|
39
|
+
{ name: "credibility", type: "number" },
|
|
40
|
+
{ name: "reclassify", type: "boolean" },
|
|
41
|
+
{ name: "user-override", type: "boolean" },
|
|
42
|
+
{ name: "delete-ids", type: "string" },
|
|
43
|
+
];
|
|
44
|
+
/** Convert the new FlagValues shape to the legacy RawArgs shape. */
|
|
45
|
+
function toRaw(f) {
|
|
46
|
+
const s = (k) => f[k] === undefined ? undefined : String(f[k]);
|
|
47
|
+
return {
|
|
48
|
+
contentEn: s("translated"),
|
|
49
|
+
contentOriginal: s("original"),
|
|
50
|
+
memoryType: s("memory-type"),
|
|
51
|
+
emotionScore: s("emotion-score"),
|
|
52
|
+
emotionTags: s("emotion-tags"),
|
|
53
|
+
emotionContext: s("emotion-context"),
|
|
54
|
+
userId: s("chat-id"),
|
|
55
|
+
keyword: s("keyword"),
|
|
56
|
+
confidence: s("confidence"),
|
|
57
|
+
sourceMessageIds: s("source-ids"),
|
|
58
|
+
source: s("source"),
|
|
59
|
+
topic: s("topic"),
|
|
60
|
+
boost: f["boost"] === true,
|
|
61
|
+
demote: f["demote"] === true,
|
|
62
|
+
id: s("id"),
|
|
63
|
+
merge: f["merge"] === true,
|
|
64
|
+
mergeIds: s("merge-ids"),
|
|
65
|
+
classification: s("classification"),
|
|
66
|
+
trust: s("trust"),
|
|
67
|
+
integrity: s("integrity"),
|
|
68
|
+
credibility: s("credibility"),
|
|
69
|
+
reclassify: f["reclassify"] === true,
|
|
70
|
+
userOverride: f["user-override"] === true,
|
|
71
|
+
deleteIds: s("delete-ids"),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Legacy exported parser. Takes raw argv (as from process.argv). Kept as a
|
|
76
|
+
* thin wrapper over parseFlags for cli/abmind-store.test.ts compatibility.
|
|
77
|
+
*/
|
|
78
|
+
export function parseArgs(argv) {
|
|
79
|
+
return toRaw(parseFlags(argv.slice(2), STORE_FLAGS));
|
|
80
|
+
}
|
|
81
|
+
/** Validate store-specific business rules. */
|
|
82
|
+
export function validateArgs(raw) {
|
|
83
|
+
if (!raw.contentEn)
|
|
84
|
+
return { ok: false, error: "content-en is required" };
|
|
85
|
+
if (!raw.contentOriginal)
|
|
86
|
+
return { ok: false, error: "content-original is required" };
|
|
87
|
+
if (!raw.memoryType)
|
|
88
|
+
return { ok: false, error: "memory-type is required" };
|
|
89
|
+
if (raw.emotionScore === undefined)
|
|
90
|
+
return { ok: false, error: "emotion-score is required" };
|
|
91
|
+
if (!raw.userId)
|
|
92
|
+
return { ok: false, error: "chat-id is required" };
|
|
93
|
+
const validTypes = new Set(["fact", "decision", "preference", "event"]);
|
|
94
|
+
if (!validTypes.has(raw.memoryType))
|
|
95
|
+
return { ok: false, error: "invalid memory_type" };
|
|
96
|
+
// Source presets: --source internet → trust=0, classification=0
|
|
97
|
+
// --source private → trust=0, classification=2
|
|
98
|
+
let presetTrust;
|
|
99
|
+
let presetClassification;
|
|
100
|
+
if (raw.source === "internet") {
|
|
101
|
+
presetTrust = 0;
|
|
102
|
+
presetClassification = 0;
|
|
103
|
+
}
|
|
104
|
+
else if (raw.source === "private") {
|
|
105
|
+
presetTrust = 0;
|
|
106
|
+
presetClassification = 2;
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
ok: true,
|
|
110
|
+
params: {
|
|
111
|
+
userId: raw.userId,
|
|
112
|
+
contentEn: raw.contentEn,
|
|
113
|
+
contentOriginal: raw.contentOriginal,
|
|
114
|
+
memoryType: raw.memoryType,
|
|
115
|
+
emotionScore: parseInt(raw.emotionScore, 10) || 0,
|
|
116
|
+
emotionTags: raw.emotionTags || undefined,
|
|
117
|
+
emotionContext: raw.emotionContext || undefined,
|
|
118
|
+
keyword: raw.keyword,
|
|
119
|
+
classification: raw.classification ? parseInt(raw.classification, 10) : presetClassification,
|
|
120
|
+
trust: raw.trust ? parseInt(raw.trust, 10) : presetTrust,
|
|
121
|
+
integrity: raw.integrity ? parseInt(raw.integrity, 10) : undefined,
|
|
122
|
+
credibility: raw.credibility ? parseInt(raw.credibility, 10) : undefined,
|
|
123
|
+
topic: raw.topic || undefined,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// --- CLI entry ---
|
|
128
|
+
await runCli(import.meta.url, {
|
|
129
|
+
name: "abmind-store",
|
|
130
|
+
help: `Usage:
|
|
131
|
+
abmind store --translated <text> --original <text> --memory-type <type> --emotion-score <n> --chat-id <id>
|
|
132
|
+
|
|
133
|
+
Options:
|
|
134
|
+
--translated <text> English content (alias: --content-en)
|
|
135
|
+
--original <text> Original content (alias: --content-original)
|
|
136
|
+
--memory-type <type> fact | decision | preference | event
|
|
137
|
+
--emotion-score <n> Emotion score
|
|
138
|
+
--chat-id <id> Chat ID (required)
|
|
139
|
+
--keyword <kw> Keyword tag (alias: --tags)
|
|
140
|
+
--confidence <n> Confidence score
|
|
141
|
+
--source-ids <ids> Source message IDs
|
|
142
|
+
--classification <n> Classification level
|
|
143
|
+
--trust <n> Trust score
|
|
144
|
+
--integrity <n> Integrity score
|
|
145
|
+
--credibility <n> Credibility score
|
|
146
|
+
--boost Boost relevance (+10) for --id
|
|
147
|
+
--demote Demote relevance (-10) for --id
|
|
148
|
+
--id <id> Memory ID (for boost/demote/reclassify)
|
|
149
|
+
--merge Merge two memories
|
|
150
|
+
--merge-ids <a,b> Two IDs to merge
|
|
151
|
+
--reclassify Reclassify memory (requires --id, --classification)
|
|
152
|
+
--user-override Flag as user override
|
|
153
|
+
--delete-ids <ids> Cascade delete by message IDs (requires --chat-id)`,
|
|
154
|
+
flags: STORE_FLAGS,
|
|
155
|
+
handler: async ({ args, backend }) => {
|
|
156
|
+
const raw = toRaw(args);
|
|
157
|
+
// --delete-ids path
|
|
158
|
+
if (raw.deleteIds) {
|
|
159
|
+
if (!raw.userId) {
|
|
160
|
+
console.log(JSON.stringify({ deleted: false, error: "--chat-id is required with --delete-ids" }));
|
|
161
|
+
process.exitCode = 1;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const ids = raw.deleteIds.split(",").map(s => parseInt(s.trim(), 10)).filter(n => Number.isFinite(n));
|
|
165
|
+
if (ids.length === 0) {
|
|
166
|
+
console.log(JSON.stringify({ deleted: false, error: "no valid IDs in --delete-ids" }));
|
|
167
|
+
process.exitCode = 1;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const result = await backend.cascadeDelete(ids, raw.userId);
|
|
171
|
+
console.log(JSON.stringify({ deleted: true, ...result }));
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
// --reclassify path
|
|
175
|
+
if (raw.reclassify) {
|
|
176
|
+
if (!raw.id || !raw.classification) {
|
|
177
|
+
console.log(JSON.stringify({ stored: false, error: "--id and --classification are required with --reclassify" }));
|
|
178
|
+
process.exitCode = 1;
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const id = parseInt(raw.id, 10);
|
|
182
|
+
const level = parseInt(raw.classification, 10);
|
|
183
|
+
const result = await backend.reclassifyMemory(id, level, raw.userOverride ?? false);
|
|
184
|
+
console.log(JSON.stringify(result));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// --boost / --demote path
|
|
188
|
+
if (raw.boost || raw.demote) {
|
|
189
|
+
if (!raw.id) {
|
|
190
|
+
console.log(JSON.stringify({ stored: false, error: "--id is required with --boost/--demote" }));
|
|
191
|
+
process.exitCode = 1;
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const id = parseInt(raw.id, 10);
|
|
195
|
+
const delta = raw.boost ? 10 : -10;
|
|
196
|
+
await backend.adjustRelevance(id, delta);
|
|
197
|
+
console.log(JSON.stringify({ stored: true, adjusted: { id, delta } }));
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
// --merge path
|
|
201
|
+
if (raw.merge) {
|
|
202
|
+
if (!raw.mergeIds) {
|
|
203
|
+
console.log(JSON.stringify({ stored: false, error: "--merge-ids is required with --merge" }));
|
|
204
|
+
process.exitCode = 1;
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const ids = raw.mergeIds.split(",").map(s => parseInt(s.trim(), 10)).filter(n => Number.isFinite(n));
|
|
208
|
+
if (ids.length !== 2) {
|
|
209
|
+
console.log(JSON.stringify({ stored: false, error: "--merge-ids must be exactly 2 comma-separated IDs" }));
|
|
210
|
+
process.exitCode = 1;
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const result = await backend.mergeMemories(ids[0], ids[1]);
|
|
214
|
+
console.log(JSON.stringify(result));
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
// Normal store path
|
|
218
|
+
const validation = validateArgs(raw);
|
|
219
|
+
if (!validation.ok) {
|
|
220
|
+
console.log(JSON.stringify({ stored: false, error: validation.error }));
|
|
221
|
+
process.exitCode = 1;
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
// Prompt injection scan for trust < 5
|
|
225
|
+
const trust = validation.params.trust ?? 0;
|
|
226
|
+
if (trust < 5) {
|
|
227
|
+
const { scanForInjection } = await import("../src/injection-scanner.js");
|
|
228
|
+
const scan = scanForInjection(validation.params.contentEn);
|
|
229
|
+
if (scan.safe && validation.params.contentOriginal) {
|
|
230
|
+
const scan2 = scanForInjection(validation.params.contentOriginal);
|
|
231
|
+
if (!scan2.safe)
|
|
232
|
+
Object.assign(scan, scan2);
|
|
233
|
+
}
|
|
234
|
+
if (!scan.safe) {
|
|
235
|
+
const top = scan.flags[0];
|
|
236
|
+
const logLine = `${new Date().toLocaleString("sv-SE")} BLOCKED category=${top.category} matched="${top.pattern}" score=${scan.score} trust=${trust} content="${validation.params.contentEn.slice(0, 120)}"\n`;
|
|
237
|
+
const logPath = join(abmindHome(), "logs", "prompt_injection.log");
|
|
238
|
+
try {
|
|
239
|
+
appendFileSync(logPath, logLine);
|
|
240
|
+
}
|
|
241
|
+
catch { /* best-effort */ }
|
|
242
|
+
console.log(JSON.stringify({ stored: false, error: `Prompt injection detected (${top.category}): "${top.pattern}"`, blocked: true }));
|
|
243
|
+
process.exitCode = 1;
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
const result = await backend.instantStore(validation.params);
|
|
248
|
+
console.log(JSON.stringify(result));
|
|
249
|
+
},
|
|
250
|
+
});
|
|
251
|
+
//# sourceMappingURL=abmind-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-store.js","sourceRoot":"","sources":["../../cli/abmind-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* abmind update [--source local|npm|github] [--from-local]
|
|
4
|
+
*
|
|
5
|
+
* Phase 4 of #158. Mirrors agentbridge update with a local build source
|
|
6
|
+
* aware that abmind has NO build step in the traditional sense — abmind's
|
|
7
|
+
* "build" is just `tsc`, producing dist/. Stage dist/ + node_modules/,
|
|
8
|
+
* flip current symlink. Same atomic semantics as agentbridge.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=abmind-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-update.d.ts","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* abmind update [--source local|npm|github] [--from-local]
|
|
4
|
+
*
|
|
5
|
+
* Phase 4 of #158. Mirrors agentbridge update with a local build source
|
|
6
|
+
* aware that abmind has NO build step in the traditional sense — abmind's
|
|
7
|
+
* "build" is just `tsc`, producing dist/. Stage dist/ + node_modules/,
|
|
8
|
+
* flip current symlink. Same atomic semantics as agentbridge.
|
|
9
|
+
*/
|
|
10
|
+
import { spawnSync } from 'node:child_process';
|
|
11
|
+
import { cp, mkdir, readFile, rm } from 'node:fs/promises';
|
|
12
|
+
import { existsSync, copyFileSync, mkdirSync } from 'node:fs';
|
|
13
|
+
import { hostname } from 'node:os';
|
|
14
|
+
import { join } from 'node:path';
|
|
15
|
+
import { acquireLock, activate, emptyManifest, hashFile, packagePaths, pruneReleases, readManifest, RETENTION, writeManifest, } from '../src/deploy-lib/index.js';
|
|
16
|
+
function runCmd(cmd, args, cwd) {
|
|
17
|
+
const r = spawnSync(cmd, args, { cwd, stdio: 'inherit' });
|
|
18
|
+
if (r.status !== 0) {
|
|
19
|
+
throw new Error(`${cmd} ${args.join(' ')} exited with status ${r.status ?? -1}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function tryCmd(cmd, args, cwd) {
|
|
23
|
+
const r = spawnSync(cmd, args, { cwd, encoding: 'utf-8' });
|
|
24
|
+
if (r.status !== 0)
|
|
25
|
+
return null;
|
|
26
|
+
return r.stdout.trim();
|
|
27
|
+
}
|
|
28
|
+
/** Seed/refresh deploy-shipped files into $ABMIND_HOME/memory/core/. */
|
|
29
|
+
function seedCoreFiles(repoRoot, home) {
|
|
30
|
+
const dst = join(home, 'memory', 'core');
|
|
31
|
+
mkdirSync(dst, { recursive: true });
|
|
32
|
+
// memory-tools.md: always overwrite (deploy-shipped documentation)
|
|
33
|
+
const mtSrc = join(repoRoot, 'core', 'memory-tools.md');
|
|
34
|
+
if (existsSync(mtSrc))
|
|
35
|
+
copyFileSync(mtSrc, join(dst, 'memory-tools.md'));
|
|
36
|
+
// SOUL.md: seed only if missing (human-owned, Dreamy evolves after)
|
|
37
|
+
const soulDst = join(dst, 'SOUL.md');
|
|
38
|
+
if (!existsSync(soulDst)) {
|
|
39
|
+
const soulSrc = join(repoRoot, 'core', 'SOUL.md');
|
|
40
|
+
if (existsSync(soulSrc))
|
|
41
|
+
copyFileSync(soulSrc, soulDst);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function checkStaleness(repoRoot, fromLocal) {
|
|
45
|
+
const commit = tryCmd('git', ['rev-parse', '--short', 'HEAD'], repoRoot);
|
|
46
|
+
if (commit === null) {
|
|
47
|
+
if (!fromLocal)
|
|
48
|
+
throw new Error('Not a git repo; pass --from-local to proceed.');
|
|
49
|
+
return { commit: 'unknown', branch: null };
|
|
50
|
+
}
|
|
51
|
+
const branch = tryCmd('git', ['rev-parse', '--abbrev-ref', 'HEAD'], repoRoot);
|
|
52
|
+
if (fromLocal)
|
|
53
|
+
return { commit, branch: branch === 'HEAD' ? null : branch };
|
|
54
|
+
if (branch === 'HEAD' || branch === null) {
|
|
55
|
+
throw new Error('Detached HEAD (no current branch). Pass --from-local to proceed.');
|
|
56
|
+
}
|
|
57
|
+
runCmd('git', ['fetch', '--quiet'], repoRoot);
|
|
58
|
+
const upstream = tryCmd('git', ['rev-parse', '--abbrev-ref', `${branch}@{upstream}`], repoRoot);
|
|
59
|
+
if (upstream === null) {
|
|
60
|
+
throw new Error(`Branch '${branch}' has no upstream. Pass --from-local to proceed.`);
|
|
61
|
+
}
|
|
62
|
+
const behindStr = tryCmd('git', ['rev-list', '--count', `HEAD..${upstream}`], repoRoot);
|
|
63
|
+
const behind = behindStr === null ? null : Number(behindStr);
|
|
64
|
+
if (behind === null || !Number.isFinite(behind)) {
|
|
65
|
+
throw new Error(`Could not determine how far HEAD is behind ${upstream}. Pass --from-local.`);
|
|
66
|
+
}
|
|
67
|
+
if (behind > 0) {
|
|
68
|
+
throw new Error(`Current branch: ${branch} (${commit})\n${upstream} is ahead by ${behind} commit${behind === 1 ? '' : 's'}.\nRun 'git pull' first, or pass --from-local.`);
|
|
69
|
+
}
|
|
70
|
+
return { commit, branch };
|
|
71
|
+
}
|
|
72
|
+
async function run() {
|
|
73
|
+
const argv = process.argv.slice(3);
|
|
74
|
+
const source = argv.includes('--source')
|
|
75
|
+
? argv[argv.indexOf('--source') + 1]
|
|
76
|
+
: 'local';
|
|
77
|
+
const fromLocal = argv.includes('--from-local');
|
|
78
|
+
if (source !== 'local') {
|
|
79
|
+
process.stderr.write(`--source ${source} is not yet supported (reserved for post-#155 npm publish).\n`);
|
|
80
|
+
return 2;
|
|
81
|
+
}
|
|
82
|
+
const paths = packagePaths('abmind');
|
|
83
|
+
const release = await acquireLock(paths.lock, `update --source ${source}`);
|
|
84
|
+
try {
|
|
85
|
+
const repoRoot = process.cwd();
|
|
86
|
+
const { commit, branch } = checkStaleness(repoRoot, fromLocal);
|
|
87
|
+
const pkg = JSON.parse(await readFile(join(repoRoot, 'package.json'), 'utf-8'));
|
|
88
|
+
if (typeof pkg.version !== 'string')
|
|
89
|
+
throw new Error('package.json missing version');
|
|
90
|
+
const version = `${pkg.version}-${commit}`;
|
|
91
|
+
process.stdout.write(`Building abmind from ${repoRoot}...\n`);
|
|
92
|
+
runCmd('npm', ['install', '--no-audit', '--no-fund'], repoRoot);
|
|
93
|
+
runCmd('npm', ['run', 'build'], repoRoot);
|
|
94
|
+
const stagedPath = join(paths.releases, version);
|
|
95
|
+
await rm(stagedPath, { recursive: true, force: true });
|
|
96
|
+
await mkdir(stagedPath, { recursive: true });
|
|
97
|
+
await cp(join(repoRoot, 'dist'), join(stagedPath, 'dist'), { recursive: true });
|
|
98
|
+
// Sync node_modules/ via rsync -aL to dereference symlinks (the
|
|
99
|
+
// "abmind": "file:../abmind" package dep becomes a symlink that we
|
|
100
|
+
// must materialize into the release, or the runtime runs live code
|
|
101
|
+
// from the dev workspace. Also contends with npm test for SQLite locks.)
|
|
102
|
+
await rm(paths.nodeModules, { recursive: true, force: true });
|
|
103
|
+
await mkdir(paths.nodeModules, { recursive: true });
|
|
104
|
+
const rsyncResult = spawnSync('rsync', ['-aL', '--quiet', `${join(repoRoot, 'node_modules')}/`, `${paths.nodeModules}/`], { stdio: 'inherit' });
|
|
105
|
+
if (rsyncResult.status !== 0) {
|
|
106
|
+
throw new Error(`rsync of node_modules failed (status ${rsyncResult.status ?? -1})`);
|
|
107
|
+
}
|
|
108
|
+
const packageLockHash = await hashFile(join(repoRoot, 'package-lock.json'));
|
|
109
|
+
process.stdout.write(`✓ staged ${version} at ${stagedPath}\n`);
|
|
110
|
+
await activate(paths.current, version);
|
|
111
|
+
process.stdout.write(`✓ current -> releases/${version}\n`);
|
|
112
|
+
const prior = await readManifest(paths.manifest);
|
|
113
|
+
const now = new Date().toISOString();
|
|
114
|
+
const newPriorReleases = prior?.version
|
|
115
|
+
? [
|
|
116
|
+
{
|
|
117
|
+
version: prior.version,
|
|
118
|
+
commit: prior.commit,
|
|
119
|
+
activatedAt: prior.activatedAt,
|
|
120
|
+
packageLockHash: prior.packageLockHash,
|
|
121
|
+
},
|
|
122
|
+
...(prior.priorReleases ?? []),
|
|
123
|
+
].slice(0, RETENTION - 1)
|
|
124
|
+
: prior?.priorReleases ?? [];
|
|
125
|
+
await writeManifest(paths.manifest, {
|
|
126
|
+
...(prior ?? emptyManifest('abmind', hostname())),
|
|
127
|
+
version,
|
|
128
|
+
commit,
|
|
129
|
+
branch,
|
|
130
|
+
packageLockHash,
|
|
131
|
+
activatedAt: now,
|
|
132
|
+
source: 'local',
|
|
133
|
+
priorReleases: newPriorReleases,
|
|
134
|
+
});
|
|
135
|
+
process.stdout.write(`✓ manifest updated\n`);
|
|
136
|
+
const pruned = await pruneReleases(paths.releases, [version, ...newPriorReleases.map((r) => r.version)], version, RETENTION);
|
|
137
|
+
if (pruned.length > 0) {
|
|
138
|
+
process.stdout.write(`✓ pruned ${pruned.length} old release(s): ${pruned.join(', ')}\n`);
|
|
139
|
+
}
|
|
140
|
+
process.stdout.write(`\nabmind update complete: ${version}\n`);
|
|
141
|
+
// Seed/refresh deploy-shipped core files into memory/core/.
|
|
142
|
+
// memory-tools.md: always overwrite (documentation, ships with abmind).
|
|
143
|
+
// SOUL.md: seed only if missing (human-owned, Dreamy evolves).
|
|
144
|
+
await seedCoreFiles(repoRoot, paths.home);
|
|
145
|
+
return 0;
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
await release();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
const exitCode = await run();
|
|
153
|
+
process.exit(exitCode);
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
157
|
+
process.stderr.write(`error: ${msg}\n`);
|
|
158
|
+
process.exit(1);
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=abmind-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-update.js","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-wakeup.d.ts","sourceRoot":"","sources":["../../cli/abmind-wakeup.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/** abmind wake-up — Print current wake-up context. */
|
|
3
|
+
import { runCliRaw } from "../src/cli-runner-raw.js";
|
|
4
|
+
import { loadMemoryConfig } from "../src/memory-config.js";
|
|
5
|
+
import { MemoryManager } from "../src/memory-manager.js";
|
|
6
|
+
const FLAGS = [
|
|
7
|
+
{ name: "max-chars", type: "number" },
|
|
8
|
+
];
|
|
9
|
+
await runCliRaw(import.meta.url, {
|
|
10
|
+
name: "abmind-wakeup",
|
|
11
|
+
help: `Usage:
|
|
12
|
+
abmind wake-up [--max-chars N]
|
|
13
|
+
|
|
14
|
+
Prints the current wake-up context (core memories, timelines, emotional
|
|
15
|
+
highlights) for the master user, capped at max-chars (default 5000).`,
|
|
16
|
+
flags: FLAGS,
|
|
17
|
+
handler: async ({ args }) => {
|
|
18
|
+
const maxChars = args["max-chars"] !== undefined ? Number(args["max-chars"]) : 5000;
|
|
19
|
+
const memory = new MemoryManager(loadMemoryConfig());
|
|
20
|
+
await memory.initialize({ skipEmbeddingCheck: true });
|
|
21
|
+
try {
|
|
22
|
+
const wakeUp = memory.buildWakeUp(maxChars);
|
|
23
|
+
if (wakeUp) {
|
|
24
|
+
console.log(wakeUp);
|
|
25
|
+
console.log(`\n--- ${wakeUp.length} chars, maxChars=${maxChars} ---`);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.log("No wake-up context available.");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
memory.close();
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=abmind-wakeup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind-wakeup.js","sourceRoot":"","sources":["../../cli/abmind-wakeup.ts"],"names":[],"mappings":";AACA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,KAAK,GAAwB;IACjC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;CACtC,CAAC;AAEF,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;;;;qEAI6D;IACnE,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,oBAAoB,QAAQ,MAAM,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* abmind — Unified CLI for AgentBridge Memory.
|
|
4
|
+
*
|
|
5
|
+
* Dispatcher shape: a single table of { name, file, aliases?, help } entries.
|
|
6
|
+
* Adding a subcommand is one line. No env-var smuggling — secrets subcommands
|
|
7
|
+
* call runSecretsCommand(action) directly.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=abmind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abmind.d.ts","sourceRoot":"","sources":["../../cli/abmind.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|