@claude-flow/cli 3.32.2 → 3.32.3
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/.claude/helpers/helpers.manifest.json +3 -3
- package/.claude/helpers/statusline.cjs +38 -38
- package/catalog-manifest.json +2 -2
- package/package.json +2 -2
- package/plugins/ruflo-metaharness/scripts/smoke.sh +11 -11
- package/dist/src/agenticow/speculative-exploration.d.ts +0 -148
- package/dist/src/agenticow/speculative-exploration.js +0 -218
- package/dist/src/appliance/gguf-engine.d.ts +0 -91
- package/dist/src/appliance/gguf-engine.js +0 -425
- package/dist/src/appliance/ruvllm-bridge.d.ts +0 -102
- package/dist/src/appliance/ruvllm-bridge.js +0 -292
- package/dist/src/appliance/rvfa-builder.d.ts +0 -44
- package/dist/src/appliance/rvfa-builder.js +0 -329
- package/dist/src/appliance/rvfa-distribution.d.ts +0 -97
- package/dist/src/appliance/rvfa-distribution.js +0 -370
- package/dist/src/appliance/rvfa-format.d.ts +0 -111
- package/dist/src/appliance/rvfa-format.js +0 -393
- package/dist/src/appliance/rvfa-runner.d.ts +0 -69
- package/dist/src/appliance/rvfa-runner.js +0 -237
- package/dist/src/appliance/rvfa-signing.d.ts +0 -123
- package/dist/src/appliance/rvfa-signing.js +0 -347
- package/dist/src/autopilot-state.d.ts +0 -77
- package/dist/src/autopilot-state.js +0 -271
- package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +0 -18
- package/dist/src/benchmarks/gaia-agent-planning.smoke.js +0 -253
- package/dist/src/benchmarks/gaia-agent.d.ts +0 -198
- package/dist/src/benchmarks/gaia-agent.js +0 -651
- package/dist/src/benchmarks/gaia-causal-memory.d.ts +0 -133
- package/dist/src/benchmarks/gaia-causal-memory.js +0 -281
- package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +0 -22
- package/dist/src/benchmarks/gaia-causal-memory.smoke.js +0 -300
- package/dist/src/benchmarks/gaia-convergence.d.ts +0 -138
- package/dist/src/benchmarks/gaia-convergence.js +0 -260
- package/dist/src/benchmarks/gaia-convergence.smoke.d.ts +0 -19
- package/dist/src/benchmarks/gaia-convergence.smoke.js +0 -246
- package/dist/src/benchmarks/gaia-critic.d.ts +0 -123
- package/dist/src/benchmarks/gaia-critic.js +0 -312
- package/dist/src/benchmarks/gaia-critic.smoke.d.ts +0 -21
- package/dist/src/benchmarks/gaia-critic.smoke.js +0 -327
- package/dist/src/benchmarks/gaia-decomposer.d.ts +0 -125
- package/dist/src/benchmarks/gaia-decomposer.js +0 -350
- package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +0 -21
- package/dist/src/benchmarks/gaia-decomposer.smoke.js +0 -228
- package/dist/src/benchmarks/gaia-e2e-smoke.d.ts +0 -27
- package/dist/src/benchmarks/gaia-e2e-smoke.js +0 -136
- package/dist/src/benchmarks/gaia-extract.smoke.d.ts +0 -45
- package/dist/src/benchmarks/gaia-extract.smoke.js +0 -242
- package/dist/src/benchmarks/gaia-hardness/features.d.ts +0 -46
- package/dist/src/benchmarks/gaia-hardness/features.js +0 -170
- package/dist/src/benchmarks/gaia-hardness/predictor.d.ts +0 -105
- package/dist/src/benchmarks/gaia-hardness/predictor.js +0 -260
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +0 -20
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +0 -235
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +0 -51
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.js +0 -179
- package/dist/src/benchmarks/gaia-judge.d.ts +0 -88
- package/dist/src/benchmarks/gaia-judge.js +0 -437
- package/dist/src/benchmarks/gaia-loader.d.ts +0 -87
- package/dist/src/benchmarks/gaia-loader.js +0 -326
- package/dist/src/benchmarks/gaia-tools/file_read.d.ts +0 -35
- package/dist/src/benchmarks/gaia-tools/file_read.js +0 -403
- package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +0 -126
- package/dist/src/benchmarks/gaia-tools/grounded_query.js +0 -225
- package/dist/src/benchmarks/gaia-tools/index.d.ts +0 -32
- package/dist/src/benchmarks/gaia-tools/index.js +0 -36
- package/dist/src/benchmarks/gaia-tools/types.d.ts +0 -62
- package/dist/src/benchmarks/gaia-tools/types.js +0 -12
- package/dist/src/benchmarks/gaia-tools/web_search.d.ts +0 -30
- package/dist/src/benchmarks/gaia-tools/web_search.js +0 -210
- package/dist/src/benchmarks/gaia-voting.d.ts +0 -88
- package/dist/src/benchmarks/gaia-voting.js +0 -297
- package/dist/src/benchmarks/gaia-voting.smoke.d.ts +0 -20
- package/dist/src/benchmarks/gaia-voting.smoke.js +0 -332
- package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
- package/dist/src/benchmarks/pretrain/index.js +0 -404
- package/dist/src/business-pods/bbs-budget-tracker.d.ts +0 -139
- package/dist/src/business-pods/bbs-budget-tracker.js +0 -358
- package/dist/src/business-pods/domain-affinity-policy.d.ts +0 -47
- package/dist/src/business-pods/domain-affinity-policy.js +0 -65
- package/dist/src/business-pods/pod-schema.d.ts +0 -96
- package/dist/src/business-pods/pod-schema.js +0 -225
- package/dist/src/commands/advisor.d.ts +0 -15
- package/dist/src/commands/advisor.js +0 -94
- package/dist/src/commands/agent-wasm.d.ts +0 -14
- package/dist/src/commands/agent-wasm.js +0 -333
- package/dist/src/commands/agent.d.ts +0 -8
- package/dist/src/commands/agent.js +0 -927
- package/dist/src/commands/analyze.d.ts +0 -19
- package/dist/src/commands/analyze.js +0 -2047
- package/dist/src/commands/announcements.d.ts +0 -17
- package/dist/src/commands/announcements.js +0 -0
- package/dist/src/commands/appliance-advanced.d.ts +0 -9
- package/dist/src/commands/appliance-advanced.js +0 -215
- package/dist/src/commands/appliance.d.ts +0 -8
- package/dist/src/commands/appliance.js +0 -404
- package/dist/src/commands/autopilot.d.ts +0 -15
- package/dist/src/commands/autopilot.js +0 -407
- package/dist/src/commands/benchmark.d.ts +0 -10
- package/dist/src/commands/benchmark.js +0 -460
- package/dist/src/commands/claims.d.ts +0 -10
- package/dist/src/commands/claims.js +0 -620
- package/dist/src/commands/cleanup.d.ts +0 -13
- package/dist/src/commands/cleanup.js +0 -250
- package/dist/src/commands/completions.d.ts +0 -10
- package/dist/src/commands/completions.js +0 -539
- package/dist/src/commands/config.d.ts +0 -8
- package/dist/src/commands/config.js +0 -428
- package/dist/src/commands/daemon.d.ts +0 -59
- package/dist/src/commands/daemon.js +0 -1733
- package/dist/src/commands/deployment.d.ts +0 -10
- package/dist/src/commands/deployment.js +0 -672
- package/dist/src/commands/doctor.d.ts +0 -10
- package/dist/src/commands/doctor.js +0 -1695
- package/dist/src/commands/eject.d.ts +0 -33
- package/dist/src/commands/eject.js +0 -195
- package/dist/src/commands/embeddings.d.ts +0 -18
- package/dist/src/commands/embeddings.js +0 -1623
- package/dist/src/commands/funnel.d.ts +0 -18
- package/dist/src/commands/funnel.js +0 -302
- package/dist/src/commands/gaia-bench.d.ts +0 -40
- package/dist/src/commands/gaia-bench.js +0 -597
- package/dist/src/commands/guidance.d.ts +0 -8
- package/dist/src/commands/guidance.js +0 -556
- package/dist/src/commands/hive-mind.d.ts +0 -11
- package/dist/src/commands/hive-mind.js +0 -1319
- package/dist/src/commands/hooks.d.ts +0 -8
- package/dist/src/commands/hooks.js +0 -4606
- package/dist/src/commands/index.d.ts +0 -118
- package/dist/src/commands/index.js +0 -364
- package/dist/src/commands/init.d.ts +0 -13
- package/dist/src/commands/init.js +0 -1297
- package/dist/src/commands/issues.d.ts +0 -21
- package/dist/src/commands/issues.js +0 -567
- package/dist/src/commands/mcp.d.ts +0 -11
- package/dist/src/commands/mcp.js +0 -732
- package/dist/src/commands/memory-backup.d.ts +0 -11
- package/dist/src/commands/memory-backup.js +0 -46
- package/dist/src/commands/memory-distill.d.ts +0 -27
- package/dist/src/commands/memory-distill.js +0 -374
- package/dist/src/commands/memory.d.ts +0 -8
- package/dist/src/commands/memory.js +0 -1596
- package/dist/src/commands/metaharness.d.ts +0 -39
- package/dist/src/commands/metaharness.js +0 -215
- package/dist/src/commands/migrate.d.ts +0 -8
- package/dist/src/commands/migrate.js +0 -742
- package/dist/src/commands/neural.d.ts +0 -10
- package/dist/src/commands/neural.js +0 -4331
- package/dist/src/commands/performance.d.ts +0 -10
- package/dist/src/commands/performance.js +0 -583
- package/dist/src/commands/plugins.d.ts +0 -11
- package/dist/src/commands/plugins.js +0 -826
- package/dist/src/commands/process.d.ts +0 -10
- package/dist/src/commands/process.js +0 -694
- package/dist/src/commands/progress.d.ts +0 -11
- package/dist/src/commands/progress.js +0 -259
- package/dist/src/commands/providers.d.ts +0 -10
- package/dist/src/commands/providers.js +0 -502
- package/dist/src/commands/proxy.d.ts +0 -21
- package/dist/src/commands/proxy.js +0 -310
- package/dist/src/commands/route.d.ts +0 -16
- package/dist/src/commands/route.js +0 -822
- package/dist/src/commands/ruvector/backup.d.ts +0 -11
- package/dist/src/commands/ruvector/backup.js +0 -747
- package/dist/src/commands/ruvector/benchmark.d.ts +0 -11
- package/dist/src/commands/ruvector/benchmark.js +0 -490
- package/dist/src/commands/ruvector/import.d.ts +0 -18
- package/dist/src/commands/ruvector/import.js +0 -373
- package/dist/src/commands/ruvector/index.d.ts +0 -29
- package/dist/src/commands/ruvector/index.js +0 -129
- package/dist/src/commands/ruvector/init.d.ts +0 -11
- package/dist/src/commands/ruvector/init.js +0 -467
- package/dist/src/commands/ruvector/migrate.d.ts +0 -11
- package/dist/src/commands/ruvector/migrate.js +0 -498
- package/dist/src/commands/ruvector/optimize.d.ts +0 -11
- package/dist/src/commands/ruvector/optimize.js +0 -505
- package/dist/src/commands/ruvector/pg-utils.d.ts +0 -14
- package/dist/src/commands/ruvector/pg-utils.js +0 -41
- package/dist/src/commands/ruvector/setup.d.ts +0 -18
- package/dist/src/commands/ruvector/setup.js +0 -765
- package/dist/src/commands/ruvector/status.d.ts +0 -11
- package/dist/src/commands/ruvector/status.js +0 -479
- package/dist/src/commands/security.d.ts +0 -10
- package/dist/src/commands/security.js +0 -1012
- package/dist/src/commands/session.d.ts +0 -8
- package/dist/src/commands/session.js +0 -757
- package/dist/src/commands/settings.d.ts +0 -19
- package/dist/src/commands/settings.js +0 -180
- package/dist/src/commands/spinner.d.ts +0 -16
- package/dist/src/commands/spinner.js +0 -329
- package/dist/src/commands/start.d.ts +0 -8
- package/dist/src/commands/start.js +0 -418
- package/dist/src/commands/status.d.ts +0 -8
- package/dist/src/commands/status.js +0 -608
- package/dist/src/commands/swarm.d.ts +0 -8
- package/dist/src/commands/swarm.js +0 -891
- package/dist/src/commands/task.d.ts +0 -8
- package/dist/src/commands/task.js +0 -675
- package/dist/src/commands/transfer-store.d.ts +0 -13
- package/dist/src/commands/transfer-store.js +0 -428
- package/dist/src/commands/update.d.ts +0 -8
- package/dist/src/commands/update.js +0 -276
- package/dist/src/commands/verify.d.ts +0 -19
- package/dist/src/commands/verify.js +0 -261
- package/dist/src/commands/version.d.ts +0 -42
- package/dist/src/commands/version.js +0 -106
- package/dist/src/commands/workflow.d.ts +0 -8
- package/dist/src/commands/workflow.js +0 -617
- package/dist/src/config/harness-feedback-applier.d.ts +0 -50
- package/dist/src/config/harness-feedback-applier.js +0 -122
- package/dist/src/config/proven-config-refresh.d.ts +0 -39
- package/dist/src/config/proven-config-refresh.js +0 -154
- package/dist/src/config/proven-config-rvfa.d.ts +0 -23
- package/dist/src/config/proven-config-rvfa.js +0 -73
- package/dist/src/config/proven-config.d.ts +0 -86
- package/dist/src/config/proven-config.js +0 -176
- package/dist/src/config-adapter.d.ts +0 -15
- package/dist/src/config-adapter.js +0 -186
- package/dist/src/encryption/vault.d.ts +0 -94
- package/dist/src/encryption/vault.js +0 -172
- package/dist/src/fs-secure.d.ts +0 -86
- package/dist/src/fs-secure.js +0 -133
- package/dist/src/funnel/advisor-tip.d.ts +0 -58
- package/dist/src/funnel/advisor-tip.js +0 -92
- package/dist/src/funnel/attribution.d.ts +0 -37
- package/dist/src/funnel/attribution.js +0 -101
- package/dist/src/funnel/consent.d.ts +0 -22
- package/dist/src/funnel/consent.js +0 -58
- package/dist/src/funnel/credit-errors.d.ts +0 -31
- package/dist/src/funnel/credit-errors.js +0 -88
- package/dist/src/funnel/credit-notifier.d.ts +0 -44
- package/dist/src/funnel/credit-notifier.js +0 -74
- package/dist/src/funnel/disclosure.d.ts +0 -47
- package/dist/src/funnel/disclosure.js +0 -109
- package/dist/src/funnel/enrollment.d.ts +0 -36
- package/dist/src/funnel/enrollment.js +0 -64
- package/dist/src/funnel/environment.d.ts +0 -17
- package/dist/src/funnel/environment.js +0 -39
- package/dist/src/funnel/event-transport.d.ts +0 -51
- package/dist/src/funnel/event-transport.js +0 -199
- package/dist/src/funnel/events.d.ts +0 -42
- package/dist/src/funnel/events.js +0 -150
- package/dist/src/funnel/index.d.ts +0 -21
- package/dist/src/funnel/index.js +0 -21
- package/dist/src/funnel/insights.d.ts +0 -50
- package/dist/src/funnel/insights.js +0 -120
- package/dist/src/funnel/local-signals.d.ts +0 -20
- package/dist/src/funnel/local-signals.js +0 -77
- package/dist/src/funnel/message-transport.d.ts +0 -51
- package/dist/src/funnel/message-transport.js +0 -149
- package/dist/src/funnel/messages.d.ts +0 -55
- package/dist/src/funnel/messages.js +0 -160
- package/dist/src/funnel/payout.d.ts +0 -40
- package/dist/src/funnel/payout.js +0 -60
- package/dist/src/funnel/power-saver-notifier.d.ts +0 -44
- package/dist/src/funnel/power-saver-notifier.js +0 -92
- package/dist/src/funnel/precedence.d.ts +0 -16
- package/dist/src/funnel/precedence.js +0 -85
- package/dist/src/funnel/promo.d.ts +0 -41
- package/dist/src/funnel/promo.js +0 -144
- package/dist/src/funnel/rate-limit-notifier.d.ts +0 -55
- package/dist/src/funnel/rate-limit-notifier.js +0 -102
- package/dist/src/funnel/rotation.d.ts +0 -19
- package/dist/src/funnel/rotation.js +0 -70
- package/dist/src/funnel/state.d.ts +0 -13
- package/dist/src/funnel/state.js +0 -52
- package/dist/src/funnel/toggle-cooldown.d.ts +0 -17
- package/dist/src/funnel/toggle-cooldown.js +0 -32
- package/dist/src/funnel/types.d.ts +0 -98
- package/dist/src/funnel/types.js +0 -26
- package/dist/src/index.d.ts +0 -81
- package/dist/src/index.js +0 -609
- package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
- package/dist/src/infrastructure/in-memory-repositories.js +0 -264
- package/dist/src/init/claudemd-generator.d.ts +0 -16
- package/dist/src/init/claudemd-generator.js +0 -368
- package/dist/src/init/executor.d.ts +0 -41
- package/dist/src/init/executor.js +0 -2142
- package/dist/src/init/helper-refresh.d.ts +0 -79
- package/dist/src/init/helper-refresh.js +0 -347
- package/dist/src/init/helper-signing.d.ts +0 -37
- package/dist/src/init/helper-signing.js +0 -67
- package/dist/src/init/helpers-generator.d.ts +0 -87
- package/dist/src/init/helpers-generator.js +0 -1456
- package/dist/src/init/index.d.ts +0 -13
- package/dist/src/init/index.js +0 -15
- package/dist/src/init/mcp-generator.d.ts +0 -26
- package/dist/src/init/mcp-generator.js +0 -126
- package/dist/src/init/memory-package-resolver.d.ts +0 -53
- package/dist/src/init/memory-package-resolver.js +0 -118
- package/dist/src/init/settings-generator.d.ts +0 -14
- package/dist/src/init/settings-generator.js +0 -462
- package/dist/src/init/statusline-generator.d.ts +0 -28
- package/dist/src/init/statusline-generator.js +0 -177
- package/dist/src/init/types.d.ts +0 -331
- package/dist/src/init/types.js +0 -276
- package/dist/src/log-filters.d.ts +0 -46
- package/dist/src/log-filters.js +0 -107
- package/dist/src/mcp-client.d.ts +0 -92
- package/dist/src/mcp-client.js +0 -397
- package/dist/src/mcp-server.d.ts +0 -163
- package/dist/src/mcp-server.js +0 -751
- package/dist/src/mcp-tools/agent-execute-core.d.ts +0 -115
- package/dist/src/mcp-tools/agent-execute-core.js +0 -587
- package/dist/src/mcp-tools/agent-tools.d.ts +0 -9
- package/dist/src/mcp-tools/agent-tools.js +0 -837
- package/dist/src/mcp-tools/agentbbs-tools.d.ts +0 -28
- package/dist/src/mcp-tools/agentbbs-tools.js +0 -394
- package/dist/src/mcp-tools/agentdb-tools.d.ts +0 -35
- package/dist/src/mcp-tools/agentdb-tools.js +0 -1473
- package/dist/src/mcp-tools/agenticow-loader.d.ts +0 -59
- package/dist/src/mcp-tools/agenticow-loader.js +0 -105
- package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts +0 -24
- package/dist/src/mcp-tools/agenticow-speculate-tools.js +0 -209
- package/dist/src/mcp-tools/agenticow-tools.d.ts +0 -36
- package/dist/src/mcp-tools/agenticow-tools.js +0 -360
- package/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
- package/dist/src/mcp-tools/analyze-tools.js +0 -346
- package/dist/src/mcp-tools/auto-install.d.ts +0 -83
- package/dist/src/mcp-tools/auto-install.js +0 -131
- package/dist/src/mcp-tools/autopilot-tools.d.ts +0 -12
- package/dist/src/mcp-tools/autopilot-tools.js +0 -231
- package/dist/src/mcp-tools/browser-intent-tools.d.ts +0 -162
- package/dist/src/mcp-tools/browser-intent-tools.js +0 -548
- package/dist/src/mcp-tools/browser-session-tools.d.ts +0 -27
- package/dist/src/mcp-tools/browser-session-tools.js +0 -398
- package/dist/src/mcp-tools/browser-tools.d.ts +0 -21
- package/dist/src/mcp-tools/browser-tools.js +0 -760
- package/dist/src/mcp-tools/business-pod-tools.d.ts +0 -20
- package/dist/src/mcp-tools/business-pod-tools.js +0 -169
- package/dist/src/mcp-tools/claims-tools.d.ts +0 -12
- package/dist/src/mcp-tools/claims-tools.js +0 -863
- package/dist/src/mcp-tools/config-tools.d.ts +0 -8
- package/dist/src/mcp-tools/config-tools.js +0 -411
- package/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
- package/dist/src/mcp-tools/coordination-tools.js +0 -729
- package/dist/src/mcp-tools/daa-tools.d.ts +0 -13
- package/dist/src/mcp-tools/daa-tools.js +0 -534
- package/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
- package/dist/src/mcp-tools/embeddings-tools.js +0 -904
- package/dist/src/mcp-tools/github-tools.d.ts +0 -9
- package/dist/src/mcp-tools/github-tools.js +0 -659
- package/dist/src/mcp-tools/guidance-tools.d.ts +0 -15
- package/dist/src/mcp-tools/guidance-tools.js +0 -639
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
- package/dist/src/mcp-tools/hive-mind-tools.js +0 -953
- package/dist/src/mcp-tools/hooks-tools.d.ts +0 -65
- package/dist/src/mcp-tools/hooks-tools.js +0 -4836
- package/dist/src/mcp-tools/http-fetch-tools.d.ts +0 -55
- package/dist/src/mcp-tools/http-fetch-tools.js +0 -329
- package/dist/src/mcp-tools/index.d.ts +0 -34
- package/dist/src/mcp-tools/index.js +0 -40
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
- package/dist/src/mcp-tools/managed-agent-tools.js +0 -357
- package/dist/src/mcp-tools/memory-tools.d.ts +0 -14
- package/dist/src/mcp-tools/memory-tools.js +0 -1330
- package/dist/src/mcp-tools/metaharness-tools.d.ts +0 -51
- package/dist/src/mcp-tools/metaharness-tools.js +0 -684
- package/dist/src/mcp-tools/neural-tools.d.ts +0 -54
- package/dist/src/mcp-tools/neural-tools.js +0 -1168
- package/dist/src/mcp-tools/performance-tools.d.ts +0 -16
- package/dist/src/mcp-tools/performance-tools.js +0 -675
- package/dist/src/mcp-tools/progress-tools.d.ts +0 -14
- package/dist/src/mcp-tools/progress-tools.js +0 -348
- package/dist/src/mcp-tools/request-tracker.d.ts +0 -17
- package/dist/src/mcp-tools/request-tracker.js +0 -27
- package/dist/src/mcp-tools/ruvllm-tools.d.ts +0 -9
- package/dist/src/mcp-tools/ruvllm-tools.js +0 -355
- package/dist/src/mcp-tools/security-tools.d.ts +0 -18
- package/dist/src/mcp-tools/security-tools.js +0 -556
- package/dist/src/mcp-tools/session-tools.d.ts +0 -8
- package/dist/src/mcp-tools/session-tools.js +0 -517
- package/dist/src/mcp-tools/swarm-tools.d.ts +0 -37
- package/dist/src/mcp-tools/swarm-tools.js +0 -390
- package/dist/src/mcp-tools/system-tools.d.ts +0 -13
- package/dist/src/mcp-tools/system-tools.js +0 -688
- package/dist/src/mcp-tools/task-tools.d.ts +0 -8
- package/dist/src/mcp-tools/task-tools.js +0 -487
- package/dist/src/mcp-tools/terminal-tools.d.ts +0 -8
- package/dist/src/mcp-tools/terminal-tools.js +0 -306
- package/dist/src/mcp-tools/testgen-tools.d.ts +0 -26
- package/dist/src/mcp-tools/testgen-tools.js +0 -168
- package/dist/src/mcp-tools/tool-loop-guardrail.d.ts +0 -31
- package/dist/src/mcp-tools/tool-loop-guardrail.js +0 -71
- package/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
- package/dist/src/mcp-tools/transfer-tools.js +0 -447
- package/dist/src/mcp-tools/types.d.ts +0 -8
- package/dist/src/mcp-tools/types.js +0 -8
- package/dist/src/mcp-tools/validate-input.d.ts +0 -9
- package/dist/src/mcp-tools/validate-input.js +0 -9
- package/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -13
- package/dist/src/mcp-tools/wasm-agent-tools.js +0 -840
- package/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
- package/dist/src/mcp-tools/workflow-tools.js +0 -884
- package/dist/src/memory/bge-embedder.d.ts +0 -25
- package/dist/src/memory/bge-embedder.js +0 -121
- package/dist/src/memory/cross-encoder-rerank.d.ts +0 -33
- package/dist/src/memory/cross-encoder-rerank.js +0 -123
- package/dist/src/memory/embedding-policy.d.ts +0 -21
- package/dist/src/memory/embedding-policy.js +0 -30
- package/dist/src/memory/embedding-quantization.d.ts +0 -62
- package/dist/src/memory/embedding-quantization.js +0 -156
- package/dist/src/memory/ewc-consolidation.d.ts +0 -305
- package/dist/src/memory/ewc-consolidation.js +0 -611
- package/dist/src/memory/graph-edge-writer.d.ts +0 -95
- package/dist/src/memory/graph-edge-writer.js +0 -217
- package/dist/src/memory/hybrid-retrieval.d.ts +0 -77
- package/dist/src/memory/hybrid-retrieval.js +0 -192
- package/dist/src/memory/intelligence.d.ts +0 -405
- package/dist/src/memory/intelligence.js +0 -1316
- package/dist/src/memory/lucene-bm25.d.ts +0 -19
- package/dist/src/memory/lucene-bm25.js +0 -308
- package/dist/src/memory/memory-bridge.d.ts +0 -537
- package/dist/src/memory/memory-bridge.js +0 -2460
- package/dist/src/memory/memory-initializer.d.ts +0 -556
- package/dist/src/memory/memory-initializer.js +0 -3021
- package/dist/src/memory/neural-package-bridge.d.ts +0 -48
- package/dist/src/memory/neural-package-bridge.js +0 -87
- package/dist/src/memory/rabitq-index.d.ts +0 -60
- package/dist/src/memory/rabitq-index.js +0 -242
- package/dist/src/memory/sona-optimizer.d.ts +0 -267
- package/dist/src/memory/sona-optimizer.js +0 -779
- package/dist/src/memory/structured-distill.d.ts +0 -48
- package/dist/src/memory/structured-distill.js +0 -125
- package/dist/src/output.d.ts +0 -9
- package/dist/src/output.js +0 -9
- package/dist/src/parser.d.ts +0 -89
- package/dist/src/parser.js +0 -516
- package/dist/src/plugins/manager.d.ts +0 -133
- package/dist/src/plugins/manager.js +0 -415
- package/dist/src/plugins/store/discovery.d.ts +0 -99
- package/dist/src/plugins/store/discovery.js +0 -1224
- package/dist/src/plugins/store/index.d.ts +0 -76
- package/dist/src/plugins/store/index.js +0 -141
- package/dist/src/plugins/store/search.d.ts +0 -46
- package/dist/src/plugins/store/search.js +0 -230
- package/dist/src/plugins/store/types.d.ts +0 -279
- package/dist/src/plugins/store/types.js +0 -7
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
- package/dist/src/plugins/tests/demo-plugin-store.js +0 -126
- package/dist/src/plugins/tests/standalone-test.d.ts +0 -12
- package/dist/src/plugins/tests/standalone-test.js +0 -188
- package/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
- package/dist/src/plugins/tests/test-plugin-store.js +0 -206
- package/dist/src/production/circuit-breaker.d.ts +0 -101
- package/dist/src/production/circuit-breaker.js +0 -241
- package/dist/src/production/error-handler.d.ts +0 -92
- package/dist/src/production/error-handler.js +0 -299
- package/dist/src/production/index.d.ts +0 -23
- package/dist/src/production/index.js +0 -18
- package/dist/src/production/monitoring.d.ts +0 -161
- package/dist/src/production/monitoring.js +0 -356
- package/dist/src/production/rate-limiter.d.ts +0 -80
- package/dist/src/production/rate-limiter.js +0 -201
- package/dist/src/production/retry.d.ts +0 -48
- package/dist/src/production/retry.js +0 -179
- package/dist/src/prompt.d.ts +0 -44
- package/dist/src/prompt.js +0 -501
- package/dist/src/runtime/headless.d.ts +0 -60
- package/dist/src/runtime/headless.js +0 -284
- package/dist/src/runtime/parent-death-watchdog.d.ts +0 -42
- package/dist/src/runtime/parent-death-watchdog.js +0 -70
- package/dist/src/ruvector/agent-wasm.d.ts +0 -228
- package/dist/src/ruvector/agent-wasm.js +0 -463
- package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
- package/dist/src/ruvector/ast-analyzer.js +0 -277
- package/dist/src/ruvector/codemods/engine.d.ts +0 -45
- package/dist/src/ruvector/codemods/engine.js +0 -291
- package/dist/src/ruvector/codemods/scope-analysis.d.ts +0 -29
- package/dist/src/ruvector/codemods/scope-analysis.js +0 -162
- package/dist/src/ruvector/coverage-router.d.ts +0 -160
- package/dist/src/ruvector/coverage-router.js +0 -531
- package/dist/src/ruvector/coverage-tools.d.ts +0 -33
- package/dist/src/ruvector/coverage-tools.js +0 -157
- package/dist/src/ruvector/diff-classifier.d.ts +0 -175
- package/dist/src/ruvector/diff-classifier.js +0 -699
- package/dist/src/ruvector/diskann-backend.d.ts +0 -78
- package/dist/src/ruvector/diskann-backend.js +0 -310
- package/dist/src/ruvector/enhanced-model-router.d.ts +0 -172
- package/dist/src/ruvector/enhanced-model-router.js +0 -577
- package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
- package/dist/src/ruvector/graph-analyzer.js +0 -929
- package/dist/src/ruvector/graph-backend.d.ts +0 -79
- package/dist/src/ruvector/graph-backend.js +0 -220
- package/dist/src/ruvector/index.d.ts +0 -38
- package/dist/src/ruvector/index.js +0 -86
- package/dist/src/ruvector/lora-adapter.d.ts +0 -292
- package/dist/src/ruvector/lora-adapter.js +0 -710
- package/dist/src/ruvector/model-prices.d.ts +0 -50
- package/dist/src/ruvector/model-prices.js +0 -72
- package/dist/src/ruvector/model-router.d.ts +0 -408
- package/dist/src/ruvector/model-router.js +0 -1162
- package/dist/src/ruvector/neural-router.d.ts +0 -182
- package/dist/src/ruvector/neural-router.js +0 -825
- package/dist/src/ruvector/output-verifier.d.ts +0 -83
- package/dist/src/ruvector/output-verifier.js +0 -277
- package/dist/src/ruvector/q-learning-router.d.ts +0 -227
- package/dist/src/ruvector/q-learning-router.js +0 -721
- package/dist/src/ruvector/router-calibrator.d.ts +0 -65
- package/dist/src/ruvector/router-calibrator.js +0 -120
- package/dist/src/ruvector/router-parallel-recorder.d.ts +0 -127
- package/dist/src/ruvector/router-parallel-recorder.js +0 -183
- package/dist/src/ruvector/router-trajectory.d.ts +0 -194
- package/dist/src/ruvector/router-trajectory.js +0 -281
- package/dist/src/ruvector/run-transcript-recorder.d.ts +0 -154
- package/dist/src/ruvector/run-transcript-recorder.js +0 -209
- package/dist/src/ruvector/ruvllm-wasm.d.ts +0 -179
- package/dist/src/ruvector/ruvllm-wasm.js +0 -379
- package/dist/src/ruvector/semantic-router.d.ts +0 -77
- package/dist/src/ruvector/semantic-router.js +0 -178
- package/dist/src/ruvector/task-embedder.d.ts +0 -56
- package/dist/src/ruvector/task-embedder.js +0 -237
- package/dist/src/ruvector/trajectory-tree.d.ts +0 -113
- package/dist/src/ruvector/trajectory-tree.js +0 -237
- package/dist/src/ruvector/vector-db.d.ts +0 -73
- package/dist/src/ruvector/vector-db.js +0 -301
- package/dist/src/ruvector/wasm-embedder.d.ts +0 -13
- package/dist/src/ruvector/wasm-embedder.js +0 -143
- package/dist/src/security/builtin-aidefence.d.ts +0 -34
- package/dist/src/security/builtin-aidefence.js +0 -86
- package/dist/src/services/agentic-flow-bridge.d.ts +0 -50
- package/dist/src/services/agentic-flow-bridge.js +0 -95
- package/dist/src/services/ai-job-dedup.d.ts +0 -61
- package/dist/src/services/ai-job-dedup.js +0 -136
- package/dist/src/services/checkpoint-gate.d.ts +0 -140
- package/dist/src/services/checkpoint-gate.js +0 -223
- package/dist/src/services/claim-service.d.ts +0 -204
- package/dist/src/services/claim-service.js +0 -818
- package/dist/src/services/config-file-manager.d.ts +0 -37
- package/dist/src/services/config-file-manager.js +0 -224
- package/dist/src/services/container-worker-pool.d.ts +0 -204
- package/dist/src/services/container-worker-pool.js +0 -589
- package/dist/src/services/daemon-autostart.d.ts +0 -17
- package/dist/src/services/daemon-autostart.js +0 -102
- package/dist/src/services/distill-oracle.d.ts +0 -190
- package/dist/src/services/distill-oracle.js +0 -349
- package/dist/src/services/distill-tuning.d.ts +0 -111
- package/dist/src/services/distill-tuning.js +0 -510
- package/dist/src/services/evolve-proof.d.ts +0 -253
- package/dist/src/services/evolve-proof.js +0 -343
- package/dist/src/services/fable-harness.d.ts +0 -208
- package/dist/src/services/fable-harness.js +0 -388
- package/dist/src/services/git-workspace-identity.d.ts +0 -42
- package/dist/src/services/git-workspace-identity.js +0 -99
- package/dist/src/services/global-ai-budget.d.ts +0 -135
- package/dist/src/services/global-ai-budget.js +0 -415
- package/dist/src/services/harness-benchmark.d.ts +0 -68
- package/dist/src/services/harness-benchmark.js +0 -94
- package/dist/src/services/harness-canary.d.ts +0 -60
- package/dist/src/services/harness-canary.js +0 -69
- package/dist/src/services/harness-corpus-harvester.d.ts +0 -51
- package/dist/src/services/harness-corpus-harvester.js +0 -74
- package/dist/src/services/harness-flywheel-generations.d.ts +0 -115
- package/dist/src/services/harness-flywheel-generations.js +0 -360
- package/dist/src/services/harness-flywheel-runtime.d.ts +0 -25
- package/dist/src/services/harness-flywheel-runtime.js +0 -92
- package/dist/src/services/harness-flywheel.d.ts +0 -48
- package/dist/src/services/harness-flywheel.js +0 -207
- package/dist/src/services/harness-frozen-eval.d.ts +0 -22
- package/dist/src/services/harness-frozen-eval.js +0 -66
- package/dist/src/services/harness-hosts.d.ts +0 -40
- package/dist/src/services/harness-hosts.js +0 -88
- package/dist/src/services/harness-improvement-ledger.d.ts +0 -63
- package/dist/src/services/harness-improvement-ledger.js +0 -101
- package/dist/src/services/harness-loop.d.ts +0 -53
- package/dist/src/services/harness-loop.js +0 -85
- package/dist/src/services/harness-qualification.d.ts +0 -66
- package/dist/src/services/harness-qualification.js +0 -143
- package/dist/src/services/harness-replay.d.ts +0 -37
- package/dist/src/services/harness-replay.js +0 -92
- package/dist/src/services/harness-verify.d.ts +0 -33
- package/dist/src/services/harness-verify.js +0 -26
- package/dist/src/services/harness-worker.d.ts +0 -23
- package/dist/src/services/harness-worker.js +0 -66
- package/dist/src/services/headless-worker-executor.d.ts +0 -358
- package/dist/src/services/headless-worker-executor.js +0 -1269
- package/dist/src/services/index.d.ts +0 -13
- package/dist/src/services/index.js +0 -11
- package/dist/src/services/memory-backup.d.ts +0 -53
- package/dist/src/services/memory-backup.js +0 -198
- package/dist/src/services/memory-distillation.d.ts +0 -41
- package/dist/src/services/memory-distillation.js +0 -277
- package/dist/src/services/native-training.d.ts +0 -68
- package/dist/src/services/native-training.js +0 -141
- package/dist/src/services/registry-api.d.ts +0 -58
- package/dist/src/services/registry-api.js +0 -146
- package/dist/src/services/repo-supervisor.d.ts +0 -70
- package/dist/src/services/repo-supervisor.js +0 -228
- package/dist/src/services/ruvector-training.d.ts +0 -222
- package/dist/src/services/ruvector-training.js +0 -693
- package/dist/src/services/swarm-memory-branches.d.ts +0 -135
- package/dist/src/services/swarm-memory-branches.js +0 -213
- package/dist/src/services/weight-eft.d.ts +0 -305
- package/dist/src/services/weight-eft.js +0 -296
- package/dist/src/services/worker-daemon.d.ts +0 -439
- package/dist/src/services/worker-daemon.js +0 -1865
- package/dist/src/services/worker-queue.d.ts +0 -194
- package/dist/src/services/worker-queue.js +0 -513
- package/dist/src/services/workspace-lease.d.ts +0 -55
- package/dist/src/services/workspace-lease.js +0 -191
- package/dist/src/suggest.d.ts +0 -53
- package/dist/src/suggest.js +0 -200
- package/dist/src/transfer/anonymization/index.d.ts +0 -25
- package/dist/src/transfer/anonymization/index.js +0 -175
- package/dist/src/transfer/deploy-seraphine.d.ts +0 -13
- package/dist/src/transfer/deploy-seraphine.js +0 -205
- package/dist/src/transfer/export.d.ts +0 -25
- package/dist/src/transfer/export.js +0 -113
- package/dist/src/transfer/index.d.ts +0 -12
- package/dist/src/transfer/index.js +0 -31
- package/dist/src/transfer/ipfs/client.d.ts +0 -109
- package/dist/src/transfer/ipfs/client.js +0 -307
- package/dist/src/transfer/ipfs/upload.d.ts +0 -95
- package/dist/src/transfer/ipfs/upload.js +0 -413
- package/dist/src/transfer/models/seraphine.d.ts +0 -72
- package/dist/src/transfer/models/seraphine.js +0 -373
- package/dist/src/transfer/serialization/cfp.d.ts +0 -49
- package/dist/src/transfer/serialization/cfp.js +0 -183
- package/dist/src/transfer/storage/gcs.d.ts +0 -82
- package/dist/src/transfer/storage/gcs.js +0 -272
- package/dist/src/transfer/storage/index.d.ts +0 -6
- package/dist/src/transfer/storage/index.js +0 -6
- package/dist/src/transfer/store/discovery.d.ts +0 -84
- package/dist/src/transfer/store/discovery.js +0 -382
- package/dist/src/transfer/store/download.d.ts +0 -70
- package/dist/src/transfer/store/download.js +0 -334
- package/dist/src/transfer/store/index.d.ts +0 -84
- package/dist/src/transfer/store/index.js +0 -153
- package/dist/src/transfer/store/publish.d.ts +0 -76
- package/dist/src/transfer/store/publish.js +0 -294
- package/dist/src/transfer/store/registry.d.ts +0 -58
- package/dist/src/transfer/store/registry.js +0 -285
- package/dist/src/transfer/store/search.d.ts +0 -54
- package/dist/src/transfer/store/search.js +0 -232
- package/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
- package/dist/src/transfer/store/tests/standalone-test.js +0 -190
- package/dist/src/transfer/store/types.d.ts +0 -193
- package/dist/src/transfer/store/types.js +0 -6
- package/dist/src/transfer/test-seraphine.d.ts +0 -6
- package/dist/src/transfer/test-seraphine.js +0 -105
- package/dist/src/transfer/tests/test-store.d.ts +0 -7
- package/dist/src/transfer/tests/test-store.js +0 -214
- package/dist/src/transfer/types.d.ts +0 -245
- package/dist/src/transfer/types.js +0 -6
- package/dist/src/types.d.ts +0 -13
- package/dist/src/types.js +0 -13
- package/dist/src/update/checker.d.ts +0 -34
- package/dist/src/update/checker.js +0 -191
- package/dist/src/update/executor.d.ts +0 -33
- package/dist/src/update/executor.js +0 -217
- package/dist/src/update/index.d.ts +0 -33
- package/dist/src/update/index.js +0 -64
- package/dist/src/update/rate-limiter.d.ts +0 -20
- package/dist/src/update/rate-limiter.js +0 -96
- package/dist/src/update/validator.d.ts +0 -17
- package/dist/src/update/validator.js +0 -123
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pattern Publish Service
|
|
3
|
-
* Publish and contribute patterns to decentralized registry
|
|
4
|
-
*/
|
|
5
|
-
import * as fs from 'fs';
|
|
6
|
-
import * as crypto from 'crypto';
|
|
7
|
-
import { DEFAULT_STORE_CONFIG, generatePatternId } from './registry.js';
|
|
8
|
-
import { anonymizeCFP } from '../anonymization/index.js';
|
|
9
|
-
import { uploadToIPFS, pinContent } from '../ipfs/upload.js';
|
|
10
|
-
/**
|
|
11
|
-
* Pattern Publisher
|
|
12
|
-
* Handles publishing patterns to IPFS and registry
|
|
13
|
-
*/
|
|
14
|
-
export class PatternPublisher {
|
|
15
|
-
config;
|
|
16
|
-
constructor(config = {}) {
|
|
17
|
-
this.config = { ...DEFAULT_STORE_CONFIG, ...config };
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Publish a pattern to IPFS and registry
|
|
21
|
-
*/
|
|
22
|
-
async publishPattern(cfp, options) {
|
|
23
|
-
console.log(`[Publish] Starting publish: ${options.name}`);
|
|
24
|
-
try {
|
|
25
|
-
// Step 1: Anonymize if needed
|
|
26
|
-
const anonymized = anonymizeCFP(cfp, options.anonymize);
|
|
27
|
-
console.log(`[Publish] Anonymization level: ${options.anonymize}`);
|
|
28
|
-
// Step 2: Serialize content
|
|
29
|
-
const content = JSON.stringify(anonymized, null, 2);
|
|
30
|
-
const contentBuffer = Buffer.from(content);
|
|
31
|
-
// Step 3: Calculate checksum
|
|
32
|
-
const checksum = crypto
|
|
33
|
-
.createHash('sha256')
|
|
34
|
-
.update(contentBuffer)
|
|
35
|
-
.digest('hex');
|
|
36
|
-
// Step 4: Sign if private key provided
|
|
37
|
-
let signature;
|
|
38
|
-
let publicKey;
|
|
39
|
-
if (options.privateKeyPath && fs.existsSync(options.privateKeyPath)) {
|
|
40
|
-
const signResult = this.signContent(contentBuffer, options.privateKeyPath);
|
|
41
|
-
signature = signResult.signature;
|
|
42
|
-
publicKey = signResult.publicKey;
|
|
43
|
-
console.log(`[Publish] Content signed`);
|
|
44
|
-
}
|
|
45
|
-
// Get author info early (needed for GCS metadata and pattern entry)
|
|
46
|
-
const author = this.getAuthor();
|
|
47
|
-
// Step 5: Upload to IPFS or GCS
|
|
48
|
-
let uploadCid;
|
|
49
|
-
let gatewayUrl;
|
|
50
|
-
// Check if GCS is configured
|
|
51
|
-
try {
|
|
52
|
-
const { hasGCSCredentials, uploadToGCS } = await import('../storage/gcs.js');
|
|
53
|
-
if (hasGCSCredentials()) {
|
|
54
|
-
console.log(`[Publish] Uploading to Google Cloud Storage...`);
|
|
55
|
-
const gcsResult = await uploadToGCS(contentBuffer, {
|
|
56
|
-
name: `${options.name}.cfp.json`,
|
|
57
|
-
metadata: {
|
|
58
|
-
checksum,
|
|
59
|
-
author: author.id,
|
|
60
|
-
version: cfp.version,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
if (gcsResult.success) {
|
|
64
|
-
uploadCid = gcsResult.uri; // Use GCS URI as CID
|
|
65
|
-
gatewayUrl = gcsResult.publicUrl;
|
|
66
|
-
console.log(`[Publish] Uploaded to GCS: ${gcsResult.uri}`);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
throw new Error('GCS upload failed');
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw new Error('GCS not configured');
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
// Fallback to IPFS
|
|
78
|
-
console.log(`[Publish] Uploading to IPFS...`);
|
|
79
|
-
const uploadResult = await uploadToIPFS(contentBuffer, {
|
|
80
|
-
name: `${options.name}.cfp.json`,
|
|
81
|
-
pin: true,
|
|
82
|
-
});
|
|
83
|
-
if (!uploadResult.cid) {
|
|
84
|
-
return {
|
|
85
|
-
success: false,
|
|
86
|
-
patternId: '',
|
|
87
|
-
cid: '',
|
|
88
|
-
registryCid: '',
|
|
89
|
-
gatewayUrl: '',
|
|
90
|
-
message: 'Failed to upload to IPFS (no IPFS credentials configured)',
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
uploadCid = uploadResult.cid;
|
|
94
|
-
gatewayUrl = `${this.config.gateway}/ipfs/${uploadResult.cid}`;
|
|
95
|
-
console.log(`[Publish] Uploaded to IPFS: ${uploadResult.cid}`);
|
|
96
|
-
// Pin content
|
|
97
|
-
await pinContent(uploadResult.cid);
|
|
98
|
-
}
|
|
99
|
-
// Step 6: Create pattern entry
|
|
100
|
-
const patternId = generatePatternId(options.name);
|
|
101
|
-
const patternEntry = {
|
|
102
|
-
id: patternId,
|
|
103
|
-
name: options.name,
|
|
104
|
-
displayName: options.displayName,
|
|
105
|
-
description: options.description,
|
|
106
|
-
version: cfp.version,
|
|
107
|
-
cid: uploadCid,
|
|
108
|
-
size: contentBuffer.length,
|
|
109
|
-
checksum,
|
|
110
|
-
author,
|
|
111
|
-
license: options.license,
|
|
112
|
-
categories: options.categories,
|
|
113
|
-
tags: options.tags,
|
|
114
|
-
language: options.language,
|
|
115
|
-
framework: options.framework,
|
|
116
|
-
downloads: 0,
|
|
117
|
-
rating: 0,
|
|
118
|
-
ratingCount: 0,
|
|
119
|
-
lastUpdated: new Date().toISOString(),
|
|
120
|
-
createdAt: new Date().toISOString(),
|
|
121
|
-
minClaudeFlowVersion: '3.0.0',
|
|
122
|
-
verified: author.verified,
|
|
123
|
-
trustLevel: author.verified ? 'verified' : 'community',
|
|
124
|
-
signature,
|
|
125
|
-
publicKey,
|
|
126
|
-
};
|
|
127
|
-
// Step 7: Add to registry (in production: submit to registry maintainers)
|
|
128
|
-
console.log(`[Publish] Pattern entry created: ${patternId}`);
|
|
129
|
-
return {
|
|
130
|
-
success: true,
|
|
131
|
-
patternId,
|
|
132
|
-
cid: uploadCid,
|
|
133
|
-
registryCid: '', // Would be updated after registry update
|
|
134
|
-
gatewayUrl,
|
|
135
|
-
message: `Pattern '${options.displayName}' published successfully!`,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
console.error(`[Publish] Failed:`, error);
|
|
140
|
-
return {
|
|
141
|
-
success: false,
|
|
142
|
-
patternId: '',
|
|
143
|
-
cid: '',
|
|
144
|
-
registryCid: '',
|
|
145
|
-
gatewayUrl: '',
|
|
146
|
-
message: `Publish failed: ${error}`,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Sign content with private key
|
|
152
|
-
*/
|
|
153
|
-
signContent(content, privateKeyPath) {
|
|
154
|
-
// In production: Use actual Ed25519 signing
|
|
155
|
-
// For demo: Generate mock signature
|
|
156
|
-
const privateKey = fs.readFileSync(privateKeyPath, 'utf-8').trim();
|
|
157
|
-
const signature = crypto
|
|
158
|
-
.createHmac('sha256', privateKey)
|
|
159
|
-
.update(content)
|
|
160
|
-
.digest('hex');
|
|
161
|
-
const publicKey = 'ed25519:' +
|
|
162
|
-
crypto.createHash('sha256').update(privateKey).digest('hex').slice(0, 32);
|
|
163
|
-
return {
|
|
164
|
-
signature: `ed25519:${signature}`,
|
|
165
|
-
publicKey,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Get current author info
|
|
170
|
-
*/
|
|
171
|
-
getAuthor() {
|
|
172
|
-
if (this.config.authorId) {
|
|
173
|
-
return {
|
|
174
|
-
id: this.config.authorId,
|
|
175
|
-
displayName: this.config.authorId,
|
|
176
|
-
verified: false,
|
|
177
|
-
patterns: 0,
|
|
178
|
-
totalDownloads: 0,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
// Anonymous author
|
|
182
|
-
return {
|
|
183
|
-
id: `anon-${crypto.randomBytes(8).toString('hex')}`,
|
|
184
|
-
verified: false,
|
|
185
|
-
patterns: 0,
|
|
186
|
-
totalDownloads: 0,
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Validate pattern before publish
|
|
191
|
-
*/
|
|
192
|
-
validateForPublish(cfp, options) {
|
|
193
|
-
const errors = [];
|
|
194
|
-
// Check required fields
|
|
195
|
-
if (!options.name || options.name.length < 3) {
|
|
196
|
-
errors.push('Name must be at least 3 characters');
|
|
197
|
-
}
|
|
198
|
-
if (!options.displayName || options.displayName.length < 3) {
|
|
199
|
-
errors.push('Display name must be at least 3 characters');
|
|
200
|
-
}
|
|
201
|
-
if (!options.description || options.description.length < 20) {
|
|
202
|
-
errors.push('Description must be at least 20 characters');
|
|
203
|
-
}
|
|
204
|
-
if (!options.categories || options.categories.length === 0) {
|
|
205
|
-
errors.push('At least one category is required');
|
|
206
|
-
}
|
|
207
|
-
if (!options.tags || options.tags.length < 3) {
|
|
208
|
-
errors.push('At least 3 tags are required');
|
|
209
|
-
}
|
|
210
|
-
// Check valid license
|
|
211
|
-
const validLicenses = ['MIT', 'Apache-2.0', 'GPL-3.0', 'BSD-3-Clause', 'CC-BY-4.0', 'Unlicense'];
|
|
212
|
-
if (!validLicenses.includes(options.license)) {
|
|
213
|
-
errors.push(`License must be one of: ${validLicenses.join(', ')}`);
|
|
214
|
-
}
|
|
215
|
-
// Check pattern content
|
|
216
|
-
if (cfp.magic !== 'CFP1') {
|
|
217
|
-
errors.push('Invalid CFP format (missing magic header)');
|
|
218
|
-
}
|
|
219
|
-
const totalPatterns = cfp.statistics.totalPatterns;
|
|
220
|
-
if (totalPatterns === 0) {
|
|
221
|
-
errors.push('Pattern must contain at least one pattern');
|
|
222
|
-
}
|
|
223
|
-
return errors;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Create publish preview
|
|
227
|
-
*/
|
|
228
|
-
createPreview(cfp, options) {
|
|
229
|
-
return {
|
|
230
|
-
name: options.name,
|
|
231
|
-
displayName: options.displayName,
|
|
232
|
-
description: options.description,
|
|
233
|
-
categories: options.categories,
|
|
234
|
-
tags: options.tags,
|
|
235
|
-
license: options.license,
|
|
236
|
-
language: options.language,
|
|
237
|
-
framework: options.framework,
|
|
238
|
-
anonymization: options.anonymize,
|
|
239
|
-
statistics: cfp.statistics,
|
|
240
|
-
estimatedSize: JSON.stringify(cfp).length,
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Submit a contribution to the registry
|
|
246
|
-
*/
|
|
247
|
-
export async function submitContribution(request) {
|
|
248
|
-
console.log(`[Contribute] Submitting contribution: ${request.name}`);
|
|
249
|
-
// In production: Submit to registry governance system
|
|
250
|
-
// For demo: Generate mock submission ID
|
|
251
|
-
const submissionId = `contrib-${crypto.randomBytes(8).toString('hex')}`;
|
|
252
|
-
console.log(`[Contribute] Submission ID: ${submissionId}`);
|
|
253
|
-
console.log(`[Contribute] Pattern CID: ${request.patternCid}`);
|
|
254
|
-
console.log(`[Contribute] Author: ${request.authorId}`);
|
|
255
|
-
return {
|
|
256
|
-
success: true,
|
|
257
|
-
submissionId,
|
|
258
|
-
message: `Contribution submitted for review. Track status with ID: ${submissionId}`,
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Check contribution status
|
|
263
|
-
*/
|
|
264
|
-
export async function checkContributionStatus(submissionId) {
|
|
265
|
-
// In production: Query registry governance system
|
|
266
|
-
// For demo: Return mock status
|
|
267
|
-
return {
|
|
268
|
-
status: 'pending',
|
|
269
|
-
message: 'Your contribution is pending review',
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Create publisher with default config
|
|
274
|
-
*/
|
|
275
|
-
export function createPublisher(config) {
|
|
276
|
-
return new PatternPublisher(config);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Quick publish helper
|
|
280
|
-
*/
|
|
281
|
-
export async function quickPublish(cfp, name, description, tags, config) {
|
|
282
|
-
const publisher = new PatternPublisher(config);
|
|
283
|
-
const options = {
|
|
284
|
-
name,
|
|
285
|
-
displayName: name.replace(/-/g, ' ').replace(/\b\w/g, c => c.toUpperCase()),
|
|
286
|
-
description,
|
|
287
|
-
categories: ['custom'],
|
|
288
|
-
tags,
|
|
289
|
-
license: 'MIT',
|
|
290
|
-
anonymize: 'standard',
|
|
291
|
-
};
|
|
292
|
-
return publisher.publishPattern(cfp, options);
|
|
293
|
-
}
|
|
294
|
-
//# sourceMappingURL=publish.js.map
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decentralized Pattern Registry
|
|
3
|
-
* IPFS-based registry with IPNS for mutable references
|
|
4
|
-
*/
|
|
5
|
-
import type { PatternRegistry, PatternEntry, PatternCategory, KnownRegistry, StoreConfig } from './types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Registry version
|
|
8
|
-
*/
|
|
9
|
-
export declare const REGISTRY_VERSION = "1.0.0";
|
|
10
|
-
/**
|
|
11
|
-
* Default bootstrap registries for discovery
|
|
12
|
-
*/
|
|
13
|
-
export declare const BOOTSTRAP_REGISTRIES: KnownRegistry[];
|
|
14
|
-
/**
|
|
15
|
-
* Default store configuration
|
|
16
|
-
*/
|
|
17
|
-
export declare const DEFAULT_STORE_CONFIG: StoreConfig;
|
|
18
|
-
/**
|
|
19
|
-
* Create a new empty registry
|
|
20
|
-
*/
|
|
21
|
-
export declare function createRegistry(ipnsName: string): PatternRegistry;
|
|
22
|
-
/**
|
|
23
|
-
* Default pattern categories
|
|
24
|
-
*/
|
|
25
|
-
export declare function getDefaultCategories(): PatternCategory[];
|
|
26
|
-
/**
|
|
27
|
-
* Add a pattern to the registry
|
|
28
|
-
*/
|
|
29
|
-
export declare function addPatternToRegistry(registry: PatternRegistry, entry: PatternEntry): PatternRegistry;
|
|
30
|
-
/**
|
|
31
|
-
* Remove a pattern from the registry
|
|
32
|
-
*/
|
|
33
|
-
export declare function removePatternFromRegistry(registry: PatternRegistry, patternId: string): PatternRegistry;
|
|
34
|
-
/**
|
|
35
|
-
* Serialize registry to JSON
|
|
36
|
-
*/
|
|
37
|
-
export declare function serializeRegistry(registry: PatternRegistry): string;
|
|
38
|
-
/**
|
|
39
|
-
* Deserialize registry from JSON
|
|
40
|
-
*/
|
|
41
|
-
export declare function deserializeRegistry(json: string): PatternRegistry;
|
|
42
|
-
/**
|
|
43
|
-
* Sign registry with private key
|
|
44
|
-
*/
|
|
45
|
-
export declare function signRegistry(registry: PatternRegistry, privateKey: string): PatternRegistry;
|
|
46
|
-
/**
|
|
47
|
-
* Verify registry signature
|
|
48
|
-
*/
|
|
49
|
-
export declare function verifyRegistrySignature(registry: PatternRegistry): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Merge two registries (for sync)
|
|
52
|
-
*/
|
|
53
|
-
export declare function mergeRegistries(local: PatternRegistry, remote: PatternRegistry): PatternRegistry;
|
|
54
|
-
/**
|
|
55
|
-
* Generate pattern ID from name
|
|
56
|
-
*/
|
|
57
|
-
export declare function generatePatternId(name: string): string;
|
|
58
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decentralized Pattern Registry
|
|
3
|
-
* IPFS-based registry with IPNS for mutable references
|
|
4
|
-
*/
|
|
5
|
-
import * as crypto from 'crypto';
|
|
6
|
-
/**
|
|
7
|
-
* Registry version
|
|
8
|
-
*/
|
|
9
|
-
export const REGISTRY_VERSION = '1.0.0';
|
|
10
|
-
/**
|
|
11
|
-
* Default bootstrap registries for discovery
|
|
12
|
-
*/
|
|
13
|
-
export const BOOTSTRAP_REGISTRIES = [
|
|
14
|
-
{
|
|
15
|
-
name: 'claude-flow-official',
|
|
16
|
-
description: 'Official Claude Flow pattern registry',
|
|
17
|
-
ipnsName: 'k51qzi5uqu5dj0w8q1xvqn8ql2g4p7x8qpk9vz3xm1y2n3o4p5q6r7s8t9u0v',
|
|
18
|
-
gateway: 'https://w3s.link',
|
|
19
|
-
publicKey: 'ed25519:claude-flow-registry-key',
|
|
20
|
-
trusted: true,
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: 'community-patterns',
|
|
24
|
-
description: 'Community-contributed patterns',
|
|
25
|
-
ipnsName: 'k51qzi5uqu5dkkph0w8q1xvqn8ql2g4p7x8qpk9vz3xm1y2n3o4p5q6r7s8',
|
|
26
|
-
gateway: 'https://dweb.link',
|
|
27
|
-
publicKey: 'ed25519:community-registry-key',
|
|
28
|
-
trusted: false,
|
|
29
|
-
},
|
|
30
|
-
];
|
|
31
|
-
/**
|
|
32
|
-
* Default store configuration
|
|
33
|
-
*/
|
|
34
|
-
export const DEFAULT_STORE_CONFIG = {
|
|
35
|
-
registries: BOOTSTRAP_REGISTRIES,
|
|
36
|
-
defaultRegistry: 'claude-flow-official',
|
|
37
|
-
gateway: 'https://w3s.link',
|
|
38
|
-
timeout: 30000,
|
|
39
|
-
cacheDir: '.claude-flow/patterns/cache',
|
|
40
|
-
cacheExpiry: 3600000, // 1 hour
|
|
41
|
-
requireVerification: false,
|
|
42
|
-
minTrustLevel: 'unverified',
|
|
43
|
-
trustedAuthors: [],
|
|
44
|
-
blockedPatterns: [],
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Create a new empty registry
|
|
48
|
-
*/
|
|
49
|
-
export function createRegistry(ipnsName) {
|
|
50
|
-
return {
|
|
51
|
-
version: REGISTRY_VERSION,
|
|
52
|
-
updatedAt: new Date().toISOString(),
|
|
53
|
-
ipnsName,
|
|
54
|
-
patterns: [],
|
|
55
|
-
categories: getDefaultCategories(),
|
|
56
|
-
authors: [],
|
|
57
|
-
totalPatterns: 0,
|
|
58
|
-
totalDownloads: 0,
|
|
59
|
-
totalAuthors: 0,
|
|
60
|
-
featured: [],
|
|
61
|
-
trending: [],
|
|
62
|
-
newest: [],
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Default pattern categories
|
|
67
|
-
*/
|
|
68
|
-
export function getDefaultCategories() {
|
|
69
|
-
return [
|
|
70
|
-
{
|
|
71
|
-
id: 'routing',
|
|
72
|
-
name: 'Task Routing',
|
|
73
|
-
description: 'Patterns for routing tasks to appropriate agents',
|
|
74
|
-
patternCount: 0,
|
|
75
|
-
icon: '🔀',
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: 'coordination',
|
|
79
|
-
name: 'Swarm Coordination',
|
|
80
|
-
description: 'Multi-agent coordination and communication patterns',
|
|
81
|
-
patternCount: 0,
|
|
82
|
-
icon: '🐝',
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
id: 'security',
|
|
86
|
-
name: 'Security',
|
|
87
|
-
description: 'Security analysis and vulnerability detection patterns',
|
|
88
|
-
patternCount: 0,
|
|
89
|
-
icon: '🔒',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
id: 'performance',
|
|
93
|
-
name: 'Performance',
|
|
94
|
-
description: 'Performance optimization and profiling patterns',
|
|
95
|
-
patternCount: 0,
|
|
96
|
-
icon: '⚡',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
id: 'testing',
|
|
100
|
-
name: 'Testing',
|
|
101
|
-
description: 'Test generation and quality assurance patterns',
|
|
102
|
-
patternCount: 0,
|
|
103
|
-
icon: '🧪',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
id: 'documentation',
|
|
107
|
-
name: 'Documentation',
|
|
108
|
-
description: 'Documentation generation and maintenance patterns',
|
|
109
|
-
patternCount: 0,
|
|
110
|
-
icon: '📚',
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: 'refactoring',
|
|
114
|
-
name: 'Refactoring',
|
|
115
|
-
description: 'Code refactoring and improvement patterns',
|
|
116
|
-
patternCount: 0,
|
|
117
|
-
icon: '🔧',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
id: 'language',
|
|
121
|
-
name: 'Language-Specific',
|
|
122
|
-
description: 'Patterns optimized for specific programming languages',
|
|
123
|
-
patternCount: 0,
|
|
124
|
-
icon: '💻',
|
|
125
|
-
subcategories: [
|
|
126
|
-
{ id: 'typescript', name: 'TypeScript', description: 'TypeScript patterns', patternCount: 0 },
|
|
127
|
-
{ id: 'python', name: 'Python', description: 'Python patterns', patternCount: 0 },
|
|
128
|
-
{ id: 'rust', name: 'Rust', description: 'Rust patterns', patternCount: 0 },
|
|
129
|
-
{ id: 'go', name: 'Go', description: 'Go patterns', patternCount: 0 },
|
|
130
|
-
],
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
id: 'framework',
|
|
134
|
-
name: 'Framework-Specific',
|
|
135
|
-
description: 'Patterns for specific frameworks',
|
|
136
|
-
patternCount: 0,
|
|
137
|
-
icon: '🏗️',
|
|
138
|
-
subcategories: [
|
|
139
|
-
{ id: 'react', name: 'React', description: 'React patterns', patternCount: 0 },
|
|
140
|
-
{ id: 'nextjs', name: 'Next.js', description: 'Next.js patterns', patternCount: 0 },
|
|
141
|
-
{ id: 'node', name: 'Node.js', description: 'Node.js patterns', patternCount: 0 },
|
|
142
|
-
],
|
|
143
|
-
},
|
|
144
|
-
];
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Add a pattern to the registry
|
|
148
|
-
*/
|
|
149
|
-
export function addPatternToRegistry(registry, entry) {
|
|
150
|
-
const updated = { ...registry };
|
|
151
|
-
// Check for existing pattern with same name
|
|
152
|
-
const existingIndex = updated.patterns.findIndex(p => p.name === entry.name);
|
|
153
|
-
if (existingIndex >= 0) {
|
|
154
|
-
// Update existing
|
|
155
|
-
updated.patterns[existingIndex] = entry;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
// Add new
|
|
159
|
-
updated.patterns.push(entry);
|
|
160
|
-
}
|
|
161
|
-
// Update author
|
|
162
|
-
const authorIndex = updated.authors.findIndex(a => a.id === entry.author.id);
|
|
163
|
-
if (authorIndex >= 0) {
|
|
164
|
-
updated.authors[authorIndex].patterns++;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
updated.authors.push(entry.author);
|
|
168
|
-
}
|
|
169
|
-
// Update category counts
|
|
170
|
-
for (const cat of updated.categories) {
|
|
171
|
-
cat.patternCount = updated.patterns.filter(p => p.categories.includes(cat.id)).length;
|
|
172
|
-
}
|
|
173
|
-
// Update stats
|
|
174
|
-
updated.totalPatterns = updated.patterns.length;
|
|
175
|
-
updated.totalAuthors = updated.authors.length;
|
|
176
|
-
updated.updatedAt = new Date().toISOString();
|
|
177
|
-
// Update newest
|
|
178
|
-
updated.newest = updated.patterns
|
|
179
|
-
.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
|
|
180
|
-
.slice(0, 10)
|
|
181
|
-
.map(p => p.id);
|
|
182
|
-
// Update trending (by recent downloads - simplified)
|
|
183
|
-
updated.trending = updated.patterns
|
|
184
|
-
.sort((a, b) => b.downloads - a.downloads)
|
|
185
|
-
.slice(0, 10)
|
|
186
|
-
.map(p => p.id);
|
|
187
|
-
return updated;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Remove a pattern from the registry
|
|
191
|
-
*/
|
|
192
|
-
export function removePatternFromRegistry(registry, patternId) {
|
|
193
|
-
const updated = { ...registry };
|
|
194
|
-
updated.patterns = updated.patterns.filter(p => p.id !== patternId);
|
|
195
|
-
updated.totalPatterns = updated.patterns.length;
|
|
196
|
-
updated.updatedAt = new Date().toISOString();
|
|
197
|
-
return updated;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Serialize registry to JSON
|
|
201
|
-
*/
|
|
202
|
-
export function serializeRegistry(registry) {
|
|
203
|
-
return JSON.stringify(registry, null, 2);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Deserialize registry from JSON
|
|
207
|
-
*/
|
|
208
|
-
export function deserializeRegistry(json) {
|
|
209
|
-
const registry = JSON.parse(json);
|
|
210
|
-
// Validate version
|
|
211
|
-
if (!registry.version) {
|
|
212
|
-
throw new Error('Invalid registry: missing version');
|
|
213
|
-
}
|
|
214
|
-
return registry;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Sign registry with private key
|
|
218
|
-
*/
|
|
219
|
-
export function signRegistry(registry, privateKey) {
|
|
220
|
-
const content = JSON.stringify({
|
|
221
|
-
version: registry.version,
|
|
222
|
-
updatedAt: registry.updatedAt,
|
|
223
|
-
patterns: registry.patterns.map(p => p.cid),
|
|
224
|
-
totalPatterns: registry.totalPatterns,
|
|
225
|
-
});
|
|
226
|
-
// In production: Use actual Ed25519 signing
|
|
227
|
-
const signature = crypto
|
|
228
|
-
.createHmac('sha256', privateKey)
|
|
229
|
-
.update(content)
|
|
230
|
-
.digest('hex');
|
|
231
|
-
return {
|
|
232
|
-
...registry,
|
|
233
|
-
registrySignature: signature,
|
|
234
|
-
registryPublicKey: 'ed25519:' + crypto.createHash('sha256').update(privateKey).digest('hex').slice(0, 32),
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Verify registry signature
|
|
239
|
-
*/
|
|
240
|
-
export function verifyRegistrySignature(registry) {
|
|
241
|
-
if (!registry.registrySignature || !registry.registryPublicKey) {
|
|
242
|
-
return false;
|
|
243
|
-
}
|
|
244
|
-
// In production: Use actual Ed25519 verification
|
|
245
|
-
// For now, just check signature exists
|
|
246
|
-
return registry.registrySignature.length === 64;
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Merge two registries (for sync)
|
|
250
|
-
*/
|
|
251
|
-
export function mergeRegistries(local, remote) {
|
|
252
|
-
const merged = createRegistry(local.ipnsName);
|
|
253
|
-
// Combine patterns, preferring newer versions
|
|
254
|
-
const patternMap = new Map();
|
|
255
|
-
for (const pattern of [...local.patterns, ...remote.patterns]) {
|
|
256
|
-
const existing = patternMap.get(pattern.name);
|
|
257
|
-
if (!existing || new Date(pattern.lastUpdated) > new Date(existing.lastUpdated)) {
|
|
258
|
-
patternMap.set(pattern.name, pattern);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
merged.patterns = Array.from(patternMap.values());
|
|
262
|
-
// Combine authors
|
|
263
|
-
const authorMap = new Map();
|
|
264
|
-
for (const author of [...local.authors, ...remote.authors]) {
|
|
265
|
-
const existing = authorMap.get(author.id);
|
|
266
|
-
if (!existing || author.patterns > existing.patterns) {
|
|
267
|
-
authorMap.set(author.id, author);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
merged.authors = Array.from(authorMap.values());
|
|
271
|
-
// Update stats
|
|
272
|
-
merged.totalPatterns = merged.patterns.length;
|
|
273
|
-
merged.totalAuthors = merged.authors.length;
|
|
274
|
-
merged.totalDownloads = merged.patterns.reduce((sum, p) => sum + p.downloads, 0);
|
|
275
|
-
return merged;
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Generate pattern ID from name
|
|
279
|
-
*/
|
|
280
|
-
export function generatePatternId(name) {
|
|
281
|
-
const normalized = name.toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
282
|
-
const hash = crypto.createHash('sha256').update(name + Date.now()).digest('hex').slice(0, 8);
|
|
283
|
-
return `${normalized}-${hash}`;
|
|
284
|
-
}
|
|
285
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pattern Search Service
|
|
3
|
-
* Search and filter patterns from decentralized registry
|
|
4
|
-
*/
|
|
5
|
-
import type { PatternRegistry, PatternEntry, SearchOptions, SearchResult } from './types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Search patterns in registry
|
|
8
|
-
*/
|
|
9
|
-
export declare function searchPatterns(registry: PatternRegistry, options?: SearchOptions): SearchResult;
|
|
10
|
-
/**
|
|
11
|
-
* Get featured patterns
|
|
12
|
-
*/
|
|
13
|
-
export declare function getFeaturedPatterns(registry: PatternRegistry): PatternEntry[];
|
|
14
|
-
/**
|
|
15
|
-
* Get trending patterns
|
|
16
|
-
*/
|
|
17
|
-
export declare function getTrendingPatterns(registry: PatternRegistry): PatternEntry[];
|
|
18
|
-
/**
|
|
19
|
-
* Get newest patterns
|
|
20
|
-
*/
|
|
21
|
-
export declare function getNewestPatterns(registry: PatternRegistry): PatternEntry[];
|
|
22
|
-
/**
|
|
23
|
-
* Get pattern by ID
|
|
24
|
-
*/
|
|
25
|
-
export declare function getPatternById(registry: PatternRegistry, patternId: string): PatternEntry | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Get pattern by name
|
|
28
|
-
*/
|
|
29
|
-
export declare function getPatternByName(registry: PatternRegistry, name: string): PatternEntry | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Get patterns by author
|
|
32
|
-
*/
|
|
33
|
-
export declare function getPatternsByAuthor(registry: PatternRegistry, authorId: string): PatternEntry[];
|
|
34
|
-
/**
|
|
35
|
-
* Get patterns by category
|
|
36
|
-
*/
|
|
37
|
-
export declare function getPatternsByCategory(registry: PatternRegistry, categoryId: string): PatternEntry[];
|
|
38
|
-
/**
|
|
39
|
-
* Get similar patterns (by tags and category)
|
|
40
|
-
*/
|
|
41
|
-
export declare function getSimilarPatterns(registry: PatternRegistry, pattern: PatternEntry, limit?: number): PatternEntry[];
|
|
42
|
-
/**
|
|
43
|
-
* Get category stats
|
|
44
|
-
*/
|
|
45
|
-
export declare function getCategoryStats(registry: PatternRegistry): Map<string, number>;
|
|
46
|
-
/**
|
|
47
|
-
* Get tag cloud (tag -> count)
|
|
48
|
-
*/
|
|
49
|
-
export declare function getTagCloud(registry: PatternRegistry): Map<string, number>;
|
|
50
|
-
/**
|
|
51
|
-
* Autocomplete search suggestions
|
|
52
|
-
*/
|
|
53
|
-
export declare function getSearchSuggestions(registry: PatternRegistry, partial: string, limit?: number): string[];
|
|
54
|
-
//# sourceMappingURL=search.d.ts.map
|