0xray 3.5.5 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/.mcp.json +51 -7
  2. package/.opencode/skills/api-design/SKILL.md +1 -1
  3. package/.opencode/skills/architect-tools/SKILL.md +1 -1
  4. package/.opencode/skills/architecture-patterns/SKILL.md +1 -1
  5. package/.opencode/skills/auto-format/SKILL.md +1 -1
  6. package/.opencode/skills/boot-orchestrator/SKILL.md +2 -6
  7. package/.opencode/skills/bug-triage/SKILL.md +1 -1
  8. package/.opencode/skills/code-analyzer/SKILL.md +1 -1
  9. package/.opencode/skills/code-review/SKILL.md +1 -1
  10. package/.opencode/skills/enforcer/SKILL.md +1 -1
  11. package/.opencode/skills/framework-compliance-audit/SKILL.md +1 -1
  12. package/.opencode/skills/git-workflow/SKILL.md +1 -1
  13. package/.opencode/skills/hermes-agent/SKILL.md +36 -36
  14. package/.opencode/skills/inference-improve/SKILL.md +1 -1
  15. package/.opencode/skills/lint/SKILL.md +1 -1
  16. package/.opencode/skills/log-monitor/SKILL.md +1 -1
  17. package/.opencode/skills/model-health-check/SKILL.md +1 -1
  18. package/.opencode/skills/multimodal-looker/SKILL.md +1 -1
  19. package/.opencode/skills/orchestrator/SKILL.md +38 -14
  20. package/.opencode/skills/performance-analysis/SKILL.md +1 -1
  21. package/.opencode/skills/performance-optimization/SKILL.md +1 -1
  22. package/.opencode/skills/processor-pipeline/SKILL.md +1 -1
  23. package/.opencode/skills/project-analysis/SKILL.md +1 -1
  24. package/.opencode/skills/refactoring-strategies/SKILL.md +1 -1
  25. package/.opencode/skills/registry.json +65 -0
  26. package/.opencode/skills/researcher/SKILL.md +18 -5
  27. package/.opencode/skills/security-audit/SKILL.md +1 -1
  28. package/.opencode/skills/security-scan/SKILL.md +1 -1
  29. package/.opencode/skills/session-management/SKILL.md +1 -1
  30. package/.opencode/skills/state-manager/SKILL.md +1 -1
  31. package/.opencode/skills/storyteller/SKILL.md +1 -1
  32. package/.opencode/skills/strategist/SKILL.md +12 -0
  33. package/.opencode/skills/testing-best-practices/SKILL.md +37 -0
  34. package/.opencode/skills/testing-strategy/SKILL.md +14 -3
  35. package/.opencode/skills/ui-ux-design/SKILL.md +1 -1
  36. package/.opencode/skills/xray-orchestrator/index.ts +267 -0
  37. package/.xray/codex.json +12 -3
  38. package/.xray/features.json +27 -5
  39. package/.xray/features.schema.json +31 -0
  40. package/AGENTS-consumer.md +16 -6
  41. package/AGENTS.md +11 -3
  42. package/README.md +13 -10
  43. package/SKILLS.md +1 -1
  44. package/dist/AGENTS.md +11 -3
  45. package/dist/CHANGELOG.md +65 -11
  46. package/dist/README.md +13 -10
  47. package/dist/SKILLS.md +1 -1
  48. package/dist/cli/commands/hermes-install.js +3 -0
  49. package/dist/cli/commands/openclaw-install.js +14 -0
  50. package/dist/core/features-config.d.ts +15 -2
  51. package/dist/infrastructure/schemas/cloud-schemas.d.ts +1 -1
  52. package/dist/integrations/grok/grok-cli.d.ts +3 -0
  53. package/dist/integrations/grok/grok-cli.js +92 -4
  54. package/dist/integrations/grok/hooks/grok-hook-utils.js +53 -7
  55. package/dist/integrations/grok/hooks/post-tool-use.js +68 -46
  56. package/dist/integrations/grok/hooks/pre-tool-use.js +14 -31
  57. package/dist/integrations/grok/hooks/session-start.js +86 -4
  58. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +31 -24
  59. package/dist/integrations/hermes-agent/bridge.mjs +19 -1
  60. package/dist/integrations/hooks/delegation-gate-runtime.mjs +32 -3
  61. package/dist/integrations/hooks/pipeline-hook-runtime.mjs +1 -1
  62. package/dist/integrations/hooks/station-hook-runtime.cjs +421 -0
  63. package/dist/integrations/hooks/station-hook-runtime.mjs +24 -0
  64. package/dist/integrations/hooks/station-memory-ingest.mjs +45 -0
  65. package/dist/integrations/hooks/station-memory-match.mjs +47 -0
  66. package/dist/integrations/openclaw/client.d.ts +5 -1
  67. package/dist/integrations/openclaw/client.js +17 -9
  68. package/dist/integrations/openclaw/config.js +0 -1
  69. package/dist/integrations/openclaw/hooks/pre-tool-gate-runtime.mjs +102 -0
  70. package/dist/integrations/openclaw/index.js +17 -0
  71. package/dist/integrations/openclaw/plugin/xray-pre-tool/index.js +75 -0
  72. package/dist/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +10 -0
  73. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +10 -0
  74. package/dist/integrations/openclaw/pre-tool-gate.d.ts +19 -0
  75. package/dist/integrations/openclaw/pre-tool-gate.js +39 -0
  76. package/dist/mcps/orchestrator/handlers/complexity-handler.js +2 -2
  77. package/dist/memory-routing/index.d.ts +1 -1
  78. package/dist/memory-routing/index.js +1 -1
  79. package/dist/memory-routing/provider-loader.d.ts +4 -0
  80. package/dist/memory-routing/provider-loader.js +44 -2
  81. package/dist/memory-routing/provider-registry.js +3 -2
  82. package/dist/nucleus/autonomy-kernel.d.ts +2 -2
  83. package/dist/nucleus/autonomy-kernel.js +17 -6
  84. package/dist/nucleus/confer.js +17 -3
  85. package/dist/nucleus/delegation-gate.d.ts +14 -8
  86. package/dist/nucleus/delegation-gate.js +151 -16
  87. package/dist/nucleus/suit-temperament.d.ts +40 -0
  88. package/dist/nucleus/suit-temperament.js +157 -0
  89. package/dist/nucleus/user-aside.js +1 -1
  90. package/dist/plugin/xray-codex-injection.js +14 -3
  91. package/dist/postprocessor/triggers/GitHookTrigger.js +11 -5
  92. package/opencode.json +88 -0
  93. package/package.json +14 -4
  94. package/scripts/hooks/install-hooks.cjs +18 -3
  95. package/scripts/hooks/run-hook.js +67 -3
  96. package/scripts/mjs/run-repertoire-mcp.mjs +39 -0
  97. package/scripts/mjs/verify-confer-core.mjs +1 -1
  98. package/scripts/mjs/verify-delegation-gate-core.mjs +29 -2
  99. package/scripts/mjs/verify-four-floor-compact.mjs +524 -0
  100. package/scripts/mjs/verify-pipeline-facets.mjs +215 -0
  101. package/scripts/mjs/verify-temperament-live.mjs +261 -0
  102. package/scripts/node/bridge-mcp-wiring.cjs +277 -29
  103. package/scripts/node/install-bridges.cjs +195 -33
  104. package/scripts/node/postinstall.cjs +50 -27
  105. package/scripts/node/release-gate.mjs +1 -1
  106. package/scripts/node/release.mjs +2 -2
  107. package/scripts/node/validate-release-docs.mjs +20 -33
  108. package/scripts/node/version-manager.mjs +25 -10
  109. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +31 -24
  110. package/src/integrations/openclaw/README.md +134 -0
  111. package/src/integrations/openclaw/plugin/xray-pre-tool/index.js +75 -0
  112. package/src/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +10 -0
  113. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +10 -0
  114. package/src/mcps/orchestrator/handlers/complexity-handler.ts +2 -1
  115. package/vendor/@0xray/repertoire/AGENTS.md +163 -0
  116. package/vendor/@0xray/repertoire/LICENSE +21 -0
  117. package/vendor/@0xray/repertoire/README.md +120 -0
  118. package/vendor/@0xray/repertoire/data/curated_signals.json +208 -0
  119. package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts +78 -0
  120. package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts.map +1 -0
  121. package/vendor/@0xray/repertoire/dist/RepertoireService.js +153 -0
  122. package/vendor/@0xray/repertoire/dist/RepertoireService.js.map +1 -0
  123. package/vendor/@0xray/repertoire/dist/governance/ontological-trap-enforcer.d.ts +39 -0
  124. package/vendor/@0xray/repertoire/dist/governance/ontological-trap-enforcer.d.ts.map +1 -0
  125. package/vendor/@0xray/repertoire/dist/governance/ontological-trap-enforcer.js +60 -0
  126. package/vendor/@0xray/repertoire/dist/governance/ontological-trap-enforcer.js.map +1 -0
  127. package/vendor/@0xray/repertoire/dist/index.d.ts +14 -0
  128. package/vendor/@0xray/repertoire/dist/index.d.ts.map +1 -0
  129. package/vendor/@0xray/repertoire/dist/index.js +14 -0
  130. package/vendor/@0xray/repertoire/dist/index.js.map +1 -0
  131. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-ingester.d.ts +26 -0
  132. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-ingester.d.ts.map +1 -0
  133. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-ingester.js +109 -0
  134. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-ingester.js.map +1 -0
  135. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-parser.d.ts +18 -0
  136. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-parser.d.ts.map +1 -0
  137. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-parser.js +94 -0
  138. package/vendor/@0xray/repertoire/dist/ingestion/groover-log-parser.js.map +1 -0
  139. package/vendor/@0xray/repertoire/dist/ingestion/orchestrator-feedback-ingester.d.ts +7 -0
  140. package/vendor/@0xray/repertoire/dist/ingestion/orchestrator-feedback-ingester.d.ts.map +1 -0
  141. package/vendor/@0xray/repertoire/dist/ingestion/orchestrator-feedback-ingester.js +18 -0
  142. package/vendor/@0xray/repertoire/dist/ingestion/orchestrator-feedback-ingester.js.map +1 -0
  143. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.d.ts +31 -0
  144. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.d.ts.map +1 -0
  145. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.js +83 -0
  146. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.js.map +1 -0
  147. package/vendor/@0xray/repertoire/dist/mcp/server.d.ts +6 -0
  148. package/vendor/@0xray/repertoire/dist/mcp/server.d.ts.map +1 -0
  149. package/vendor/@0xray/repertoire/dist/mcp/server.js +173 -0
  150. package/vendor/@0xray/repertoire/dist/mcp/server.js.map +1 -0
  151. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/RepertoireOrchestratorBridge.d.ts +27 -0
  152. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/RepertoireOrchestratorBridge.d.ts.map +1 -0
  153. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/RepertoireOrchestratorBridge.js +107 -0
  154. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/RepertoireOrchestratorBridge.js.map +1 -0
  155. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/capability-enhancer.d.ts +11 -0
  156. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/capability-enhancer.d.ts.map +1 -0
  157. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/capability-enhancer.js +32 -0
  158. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/capability-enhancer.js.map +1 -0
  159. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.d.ts +9 -0
  160. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.d.ts.map +1 -0
  161. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js +72 -0
  162. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js.map +1 -0
  163. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-agent-affinity.d.ts +5 -0
  164. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-agent-affinity.d.ts.map +1 -0
  165. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-agent-affinity.js +18 -0
  166. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-agent-affinity.js.map +1 -0
  167. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.d.ts +31 -0
  168. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.d.ts.map +1 -0
  169. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js +218 -0
  170. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js.map +1 -0
  171. package/vendor/@0xray/repertoire/dist/paths.d.ts +24 -0
  172. package/vendor/@0xray/repertoire/dist/paths.d.ts.map +1 -0
  173. package/vendor/@0xray/repertoire/dist/paths.js +74 -0
  174. package/vendor/@0xray/repertoire/dist/paths.js.map +1 -0
  175. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts +141 -0
  176. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts.map +1 -0
  177. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js +210 -0
  178. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js.map +1 -0
  179. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts +48 -0
  180. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts.map +1 -0
  181. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js +221 -0
  182. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js.map +1 -0
  183. package/vendor/@0xray/repertoire/dist/registry/InferenceStateManager.d.ts +11 -0
  184. package/vendor/@0xray/repertoire/dist/registry/InferenceStateManager.d.ts.map +1 -0
  185. package/vendor/@0xray/repertoire/dist/registry/InferenceStateManager.js +43 -0
  186. package/vendor/@0xray/repertoire/dist/registry/InferenceStateManager.js.map +1 -0
  187. package/vendor/@0xray/repertoire/dist/registry/signal-prune.d.ts +15 -0
  188. package/vendor/@0xray/repertoire/dist/registry/signal-prune.d.ts.map +1 -0
  189. package/vendor/@0xray/repertoire/dist/registry/signal-prune.js +35 -0
  190. package/vendor/@0xray/repertoire/dist/registry/signal-prune.js.map +1 -0
  191. package/vendor/@0xray/repertoire/dist/synthesis/concrete-sections.d.ts +3 -0
  192. package/vendor/@0xray/repertoire/dist/synthesis/concrete-sections.d.ts.map +1 -0
  193. package/vendor/@0xray/repertoire/dist/synthesis/concrete-sections.js +24 -0
  194. package/vendor/@0xray/repertoire/dist/synthesis/concrete-sections.js.map +1 -0
  195. package/vendor/@0xray/repertoire/dist/synthesis/meta-inference-engine.d.ts +24 -0
  196. package/vendor/@0xray/repertoire/dist/synthesis/meta-inference-engine.d.ts.map +1 -0
  197. package/vendor/@0xray/repertoire/dist/synthesis/meta-inference-engine.js +148 -0
  198. package/vendor/@0xray/repertoire/dist/synthesis/meta-inference-engine.js.map +1 -0
  199. package/vendor/@0xray/repertoire/dist/synthesis/primitive-confidence-aggregator.d.ts +4 -0
  200. package/vendor/@0xray/repertoire/dist/synthesis/primitive-confidence-aggregator.d.ts.map +1 -0
  201. package/vendor/@0xray/repertoire/dist/synthesis/primitive-confidence-aggregator.js +44 -0
  202. package/vendor/@0xray/repertoire/dist/synthesis/primitive-confidence-aggregator.js.map +1 -0
  203. package/vendor/@0xray/repertoire/dist/synthesis/synthesis-prompt-builder.d.ts +22 -0
  204. package/vendor/@0xray/repertoire/dist/synthesis/synthesis-prompt-builder.d.ts.map +1 -0
  205. package/vendor/@0xray/repertoire/dist/synthesis/synthesis-prompt-builder.js +66 -0
  206. package/vendor/@0xray/repertoire/dist/synthesis/synthesis-prompt-builder.js.map +1 -0
  207. package/vendor/@0xray/repertoire/dist/types.d.ts +210 -0
  208. package/vendor/@0xray/repertoire/dist/types.d.ts.map +1 -0
  209. package/vendor/@0xray/repertoire/dist/types.js +2 -0
  210. package/vendor/@0xray/repertoire/dist/types.js.map +1 -0
  211. package/vendor/@0xray/repertoire/docs/MEMORY-ROUTING-PROVIDER.md +54 -0
  212. package/vendor/@0xray/repertoire/hermes-mcp.example.json +20 -0
  213. package/vendor/@0xray/repertoire/mcp-config.example.json +11 -0
  214. package/vendor/@0xray/repertoire/package.json +124 -0
  215. package/vendor/@0xray/repertoire/schemas/curated-signal.schema.json +68 -0
  216. package/vendor/@0xray/repertoire/schemas/inference-log.schema.json +82 -0
  217. package/vendor/@0xray/repertoire/scripts/confirm-suit-all.mjs +253 -0
  218. package/vendor/@0xray/repertoire/scripts/confirm-suit-harness.mjs +220 -0
  219. package/vendor/@0xray/repertoire/scripts/run-live-synthesis-checkpoint.mjs +215 -0
  220. package/vendor/@0xray/repertoire/scripts/suit-bridge-shared.mjs +139 -0
  221. package/vendor/@0xray/repertoire/scripts/verify-grok-suit.mjs +304 -0
  222. package/vendor/@0xray/repertoire/scripts/verify-hermes-suit.mjs +163 -0
  223. package/vendor/@0xray/repertoire/scripts/verify-openclaw-suit.mjs +125 -0
  224. package/vendor/@0xray/repertoire/scripts/verify-opencode-suit.mjs +127 -0
  225. package/vendor/@0xray/repertoire/scripts/verify-synthesis-dogfood.mjs +207 -0
  226. package/vendor/@0xray/repertoire/skills/repertoire-trap-handling/SKILL.md +206 -0
  227. package/xray/codex.json +12 -3
  228. package/xray/features.json +27 -5
  229. package/xray/features.schema.json +31 -0
@@ -0,0 +1,74 @@
1
+ import { copyFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
2
+ import { dirname, join, resolve, sep } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ /** Compiled to dist/paths.js — one level below package root. */
5
+ export const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
6
+ export const DEFAULT_DATA_DIR = join(PACKAGE_ROOT, 'data');
7
+ export const DEFAULT_SIGNALS_PATH = join(PACKAGE_ROOT, 'data', 'curated_signals.json');
8
+ export const DEFAULT_STATE_PATH = join(PACKAGE_ROOT, 'data', 'inference-state.json');
9
+ export const DEFAULT_LOG_DIR = join(PACKAGE_ROOT, 'logs', 'groover-inference');
10
+ export const DEFAULT_FEEDBACK_DIR = join(PACKAGE_ROOT, 'logs', 'orchestrator-feedback');
11
+ export const DEFAULT_MCP_SERVER_PATH = join(PACKAGE_ROOT, 'dist', 'mcp', 'server.js');
12
+ export const DEFAULT_PROVIDER_PATH = join(PACKAGE_ROOT, 'dist', 'provider', 'memory-routing-provider.js');
13
+ export function defaultProjectStateDir(cwd = process.cwd()) {
14
+ return join(cwd, '.xray', 'state', 'repertoire');
15
+ }
16
+ export function isRepertoirePackageCwd(cwd) {
17
+ try {
18
+ const pkg = JSON.parse(readFileSync(join(cwd, 'package.json'), 'utf8'));
19
+ return pkg.name === '@0xray/repertoire' || pkg.name === 'repertoire';
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ export function isImmutablePackagePath(filePath) {
26
+ const normalized = resolve(filePath);
27
+ const root = resolve(PACKAGE_ROOT);
28
+ if (normalized === root || normalized.startsWith(root + sep))
29
+ return true;
30
+ return normalized.includes(`${sep}node_modules${sep}@0xray${sep}repertoire${sep}`);
31
+ }
32
+ /** Signals seed is readable; missing consumer path may fall back to the package file. */
33
+ export function resolveReadableConfigPath(configured, cwd, packageDefault) {
34
+ if (!configured)
35
+ return packageDefault;
36
+ const fromCwd = resolve(cwd, configured);
37
+ if (existsSync(fromCwd))
38
+ return fromCwd;
39
+ if (existsSync(configured))
40
+ return resolve(configured);
41
+ if (existsSync(packageDefault))
42
+ return packageDefault;
43
+ return fromCwd;
44
+ }
45
+ /** State/feedback paths must not silently fall back into the package. */
46
+ export function resolveWritableConfigPath(configured, cwd, fallback) {
47
+ if (!configured)
48
+ return fallback;
49
+ if (configured.startsWith('/') || /^[A-Za-z]:[\\/]/.test(configured))
50
+ return configured;
51
+ return resolve(cwd, configured);
52
+ }
53
+ /**
54
+ * Package seed stays read-only. Consumer cwd hydrates `.xray/state/repertoire/curated_signals.json`.
55
+ * Running inside this repo keeps the seed path (tests + organ development).
56
+ */
57
+ export function hydrateWritableSignals(seedPath, cwd = process.cwd()) {
58
+ if (!isImmutablePackagePath(seedPath)) {
59
+ return seedPath;
60
+ }
61
+ const seed = existsSync(seedPath) ? seedPath : DEFAULT_SIGNALS_PATH;
62
+ if (isRepertoirePackageCwd(cwd)) {
63
+ return seed;
64
+ }
65
+ const dest = join(defaultProjectStateDir(cwd), 'curated_signals.json');
66
+ mkdirSync(dirname(dest), { recursive: true });
67
+ if (!existsSync(dest) && existsSync(seed)) {
68
+ copyFileSync(seed, dest);
69
+ }
70
+ return dest;
71
+ }
72
+ /** @deprecated use resolveReadableConfigPath */
73
+ export const resolveProviderConfigPath = resolveReadableConfigPath;
74
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Repertoire implementation of the 0xRay MemoryRoutingProvider contract.
3
+ *
4
+ * Loaded dynamically by 0xRay via features.json memory_routing.module_path.
5
+ * Other providers can follow the same createMemoryRoutingProvider() export pattern.
6
+ */
7
+ /** Mirrors 0xRay memory-routing/types.ts — kept local to avoid compile-time coupling */
8
+ export interface MemoryAgentCapability {
9
+ capabilities: string[];
10
+ complexityThreshold: number;
11
+ concurrentTasks: number;
12
+ memorySignals?: string[];
13
+ memoryTags?: string[];
14
+ }
15
+ export interface MemoryOrchestrationTask {
16
+ id: string;
17
+ description: string;
18
+ type: string;
19
+ priority?: 'critical' | 'high' | 'medium' | 'low';
20
+ dependencies?: string[];
21
+ estimatedComplexity?: number;
22
+ metadata?: Record<string, unknown>;
23
+ }
24
+ export interface MemoryTaskConfidence {
25
+ signals: Array<{
26
+ name: string;
27
+ confidence: number;
28
+ }>;
29
+ matchedSignals: string[];
30
+ avgConfidence: number;
31
+ maxConfidence: number;
32
+ highConfidenceTrapPresent: boolean;
33
+ ontologicalTrapDetected: boolean;
34
+ complexityBoost: number;
35
+ recommendedAgent: string | null;
36
+ }
37
+ export interface MemoryRoutingContext {
38
+ providerId: string;
39
+ matchedSignals: string[];
40
+ matchedTags: string[];
41
+ flags: Record<string, boolean>;
42
+ synthesisAvailable: boolean;
43
+ signalConfidences?: Record<string, number>;
44
+ avgMatchConfidence?: number;
45
+ }
46
+ export interface MemoryInheritedContext {
47
+ providerId: string;
48
+ matchedSignals: Array<{
49
+ name: string;
50
+ definition: string;
51
+ priority: string;
52
+ }>;
53
+ synthesisExcerpt?: string;
54
+ flags: Record<string, boolean>;
55
+ }
56
+ export interface MemoryThinDispatchResult {
57
+ agent: string;
58
+ adjustedScore: number;
59
+ context: MemoryRoutingContext;
60
+ }
61
+ export interface OrchestratorFeedbackEntry {
62
+ timestamp: string;
63
+ sessionId: string;
64
+ taskId: string;
65
+ assignedAgent: string;
66
+ memorySignals: string[];
67
+ complexity: number;
68
+ success: boolean;
69
+ durationMs: number;
70
+ dynamoResult?: Record<string, unknown>;
71
+ }
72
+ export interface MemoryRoutingProviderConfig {
73
+ dataDir?: string;
74
+ signalsPath?: string;
75
+ logDir?: string;
76
+ statePath?: string;
77
+ feedbackDir?: string;
78
+ projectRoot?: string;
79
+ }
80
+ export interface MemoryRoutingProvider {
81
+ readonly id: string;
82
+ readonly name: string;
83
+ isAvailable(): boolean;
84
+ buildRoutingContext(operation: string): MemoryRoutingContext;
85
+ enhanceAgentCapabilities(base: Map<string, MemoryAgentCapability>): Map<string, MemoryAgentCapability>;
86
+ enrichTasks(tasks: MemoryOrchestrationTask[]): MemoryOrchestrationTask[];
87
+ buildInheritedContext(tasks: MemoryOrchestrationTask[]): MemoryInheritedContext;
88
+ selectAgent(capabilities: Map<string, MemoryAgentCapability>, requiredCapabilities: string[], complexity: number, operation: string): string | null;
89
+ resolveThinDispatch(baseAgent: string, operation: string, complexityScore: number): MemoryThinDispatchResult;
90
+ getTaskConfidence?(task: MemoryOrchestrationTask): MemoryTaskConfidence;
91
+ ingestFeedback?(entry: OrchestratorFeedbackEntry): void;
92
+ buildSynthesisContext?(opts: {
93
+ projectRoot: string;
94
+ dueReason?: string | null;
95
+ }): Record<string, unknown> | null;
96
+ refreshMetaInference?(): Promise<{
97
+ refreshed: boolean;
98
+ }>;
99
+ }
100
+ export type ProviderAvailabilityReason = 'ok' | 'empty_registry' | 'signals_unreadable' | 'signals_missing';
101
+ export interface ProviderAvailabilityStatus {
102
+ available: boolean;
103
+ reason: ProviderAvailabilityReason;
104
+ signalCount: number;
105
+ signalsPath: string;
106
+ }
107
+ export { resolveReadableConfigPath as resolveProviderConfigPath } from '../paths.js';
108
+ export declare class RepertoireMemoryRoutingProvider implements MemoryRoutingProvider {
109
+ readonly id = "repertoire";
110
+ readonly name = "Repertoire (deep memory + primitive registry)";
111
+ private readonly service;
112
+ readonly signalsPath: string;
113
+ constructor(config?: MemoryRoutingProviderConfig);
114
+ getAvailabilityStatus(): ProviderAvailabilityStatus;
115
+ isAvailable(): boolean;
116
+ buildRoutingContext(operation: string): MemoryRoutingContext;
117
+ enhanceAgentCapabilities(base: Map<string, MemoryAgentCapability>): Map<string, MemoryAgentCapability>;
118
+ enrichTasks(tasks: MemoryOrchestrationTask[]): MemoryOrchestrationTask[];
119
+ buildInheritedContext(tasks: MemoryOrchestrationTask[]): MemoryInheritedContext;
120
+ selectAgent(capabilities: Map<string, MemoryAgentCapability>, requiredCapabilities: string[], complexity: number, operation: string): string | null;
121
+ resolveThinDispatch(baseAgent: string, operation: string, complexityScore: number): MemoryThinDispatchResult;
122
+ getTaskConfidence(task: MemoryOrchestrationTask): MemoryTaskConfidence;
123
+ ingestFeedback(entry: OrchestratorFeedbackEntry): {
124
+ logPath: string;
125
+ updatedSignals: Array<{
126
+ signalName: string;
127
+ previousAvgConfidence: number | null;
128
+ updatedAvgConfidence: number | null;
129
+ }>;
130
+ };
131
+ buildSynthesisContext(opts: {
132
+ projectRoot: string;
133
+ dueReason?: string | null;
134
+ }): Record<string, unknown> | null;
135
+ refreshMetaInference(): Promise<{
136
+ refreshed: boolean;
137
+ }>;
138
+ }
139
+ /** Factory export — 0xRay provider-loader calls this by name */
140
+ export declare function createMemoryRoutingProvider(config?: MemoryRoutingProviderConfig): MemoryRoutingProvider;
141
+ //# sourceMappingURL=memory-routing-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-routing-provider.d.ts","sourceRoot":"","sources":["../../src/provider/memory-routing-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Repertoire implementation of the 0xRay MemoryRoutingProvider contract.
3
+ *
4
+ * Loaded dynamically by 0xRay via features.json memory_routing.module_path.
5
+ * Other providers can follow the same createMemoryRoutingProvider() export pattern.
6
+ */
7
+ import { existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { DEFAULT_DATA_DIR, DEFAULT_FEEDBACK_DIR, DEFAULT_LOG_DIR, DEFAULT_SIGNALS_PATH, DEFAULT_STATE_PATH, defaultProjectStateDir, hydrateWritableSignals, isRepertoirePackageCwd, resolveReadableConfigPath, resolveWritableConfigPath, } from '../paths.js';
10
+ import { RepertoireService } from '../RepertoireService.js';
11
+ function toRepertoireCaps(caps) {
12
+ return {
13
+ capabilities: caps.capabilities,
14
+ complexityThreshold: caps.complexityThreshold,
15
+ concurrentTasks: caps.concurrentTasks,
16
+ repertoireSignals: caps.memorySignals,
17
+ repertoireTags: caps.memoryTags,
18
+ };
19
+ }
20
+ function fromRepertoireCaps(caps) {
21
+ return {
22
+ capabilities: caps.capabilities,
23
+ complexityThreshold: caps.complexityThreshold,
24
+ concurrentTasks: caps.concurrentTasks,
25
+ memorySignals: caps.repertoireSignals,
26
+ memoryTags: caps.repertoireTags,
27
+ };
28
+ }
29
+ function toRoutingContext(ctx) {
30
+ return {
31
+ providerId: 'repertoire',
32
+ matchedSignals: ctx.matchedSignals,
33
+ matchedTags: ctx.matchedTags,
34
+ flags: {
35
+ ontologicalTrapDetected: ctx.ontologicalTrapDetected,
36
+ highConfidenceTrap: ctx.highConfidenceTrapPresent,
37
+ },
38
+ synthesisAvailable: ctx.synthesisAvailable,
39
+ signalConfidences: ctx.signalConfidences,
40
+ avgMatchConfidence: ctx.avgMatchConfidence,
41
+ };
42
+ }
43
+ export { resolveReadableConfigPath as resolveProviderConfigPath } from '../paths.js';
44
+ function toInheritedContext(ctx) {
45
+ return {
46
+ providerId: 'repertoire',
47
+ matchedSignals: ctx.matchedSignals.map((s) => ({
48
+ name: s.name,
49
+ definition: s.definition,
50
+ priority: s.priority,
51
+ })),
52
+ synthesisExcerpt: ctx.synthesisExcerpt,
53
+ flags: { ontologicalTrapDetected: ctx.ontologicalTrapSignals.length > 0 },
54
+ };
55
+ }
56
+ export class RepertoireMemoryRoutingProvider {
57
+ id = 'repertoire';
58
+ name = 'Repertoire (deep memory + primitive registry)';
59
+ service;
60
+ signalsPath;
61
+ constructor(config = {}) {
62
+ const cwd = typeof config.projectRoot === 'string' ? config.projectRoot : process.cwd();
63
+ const inOrganRepo = isRepertoirePackageCwd(cwd);
64
+ const projectState = defaultProjectStateDir(cwd);
65
+ const seed = resolveReadableConfigPath(config.signalsPath, cwd, DEFAULT_SIGNALS_PATH);
66
+ this.signalsPath = hydrateWritableSignals(seed, cwd);
67
+ this.service = new RepertoireService({
68
+ projectRoot: cwd,
69
+ dataDir: resolveWritableConfigPath(config.dataDir, cwd, inOrganRepo ? DEFAULT_DATA_DIR : projectState),
70
+ signalsPath: this.signalsPath,
71
+ statePath: resolveWritableConfigPath(config.statePath, cwd, inOrganRepo ? DEFAULT_STATE_PATH : join(projectState, 'inference-state.json')),
72
+ logDir: resolveWritableConfigPath(config.logDir, cwd, inOrganRepo ? DEFAULT_LOG_DIR : join(projectState, 'logs')),
73
+ feedbackDir: resolveWritableConfigPath(config.feedbackDir, cwd, inOrganRepo ? DEFAULT_FEEDBACK_DIR : join(projectState, 'feedback')),
74
+ });
75
+ }
76
+ getAvailabilityStatus() {
77
+ try {
78
+ const signals = this.service.signalsManager.load();
79
+ const count = signals.signals.length;
80
+ if (count === 0) {
81
+ return {
82
+ available: false,
83
+ reason: 'empty_registry',
84
+ signalCount: 0,
85
+ signalsPath: this.signalsPath,
86
+ };
87
+ }
88
+ return {
89
+ available: true,
90
+ reason: 'ok',
91
+ signalCount: count,
92
+ signalsPath: this.signalsPath,
93
+ };
94
+ }
95
+ catch {
96
+ return {
97
+ available: false,
98
+ reason: existsSync(this.signalsPath) ? 'signals_unreadable' : 'signals_missing',
99
+ signalCount: 0,
100
+ signalsPath: this.signalsPath,
101
+ };
102
+ }
103
+ }
104
+ isAvailable() {
105
+ return this.getAvailabilityStatus().available;
106
+ }
107
+ buildRoutingContext(operation) {
108
+ return toRoutingContext(this.service.buildRoutingContext(operation));
109
+ }
110
+ enhanceAgentCapabilities(base) {
111
+ const repCaps = new Map(Array.from(base.entries()).map(([k, v]) => [k, toRepertoireCaps(v)]));
112
+ const enriched = this.service.enhanceCapabilities(repCaps);
113
+ return new Map(Array.from(enriched.entries()).map(([k, v]) => [k, fromRepertoireCaps(v)]));
114
+ }
115
+ enrichTasks(tasks) {
116
+ const repTasks = tasks.map((t) => ({
117
+ id: t.id,
118
+ description: t.description,
119
+ type: t.type,
120
+ priority: t.priority,
121
+ dependencies: t.dependencies,
122
+ estimatedComplexity: t.estimatedComplexity,
123
+ metadata: t.metadata,
124
+ }));
125
+ const enriched = this.service.enrichTasks(repTasks);
126
+ return enriched.map((t) => ({
127
+ id: t.id,
128
+ description: t.description,
129
+ type: t.type,
130
+ priority: t.priority,
131
+ dependencies: t.dependencies,
132
+ estimatedComplexity: t.estimatedComplexity,
133
+ metadata: {
134
+ ...t.metadata,
135
+ memoryProviderId: 'repertoire',
136
+ memorySignals: t.metadata?.repertoireSignals,
137
+ },
138
+ }));
139
+ }
140
+ buildInheritedContext(tasks) {
141
+ const repTasks = tasks.map((t) => ({
142
+ id: t.id,
143
+ description: t.description,
144
+ type: t.type,
145
+ }));
146
+ return toInheritedContext(this.service.buildInheritedContext(repTasks));
147
+ }
148
+ selectAgent(capabilities, requiredCapabilities, complexity, operation) {
149
+ const repCaps = new Map(Array.from(capabilities.entries()).map(([k, v]) => [k, toRepertoireCaps(v)]));
150
+ return this.service.selectAgent(repCaps, requiredCapabilities, complexity, operation);
151
+ }
152
+ resolveThinDispatch(baseAgent, operation, complexityScore) {
153
+ const resolved = this.service.resolveThinDispatch(baseAgent, operation, complexityScore);
154
+ return {
155
+ agent: resolved.agent,
156
+ adjustedScore: resolved.adjustedScore,
157
+ context: toRoutingContext(resolved.repertoireContext),
158
+ };
159
+ }
160
+ getTaskConfidence(task) {
161
+ const repTask = {
162
+ id: task.id,
163
+ description: task.description,
164
+ type: task.type,
165
+ priority: task.priority,
166
+ dependencies: task.dependencies,
167
+ estimatedComplexity: task.estimatedComplexity,
168
+ metadata: task.metadata,
169
+ };
170
+ const context = this.service.orchestratorBridge.getConfidenceForTask(repTask);
171
+ return {
172
+ signals: context.signals.map((entry) => ({
173
+ name: entry.name,
174
+ confidence: entry.confidence,
175
+ })),
176
+ matchedSignals: context.matchedSignals,
177
+ avgConfidence: context.avgConfidence,
178
+ maxConfidence: context.maxConfidence,
179
+ highConfidenceTrapPresent: context.highConfidenceTrapPresent,
180
+ ontologicalTrapDetected: context.ontologicalTrapDetected,
181
+ complexityBoost: context.complexityBoost,
182
+ recommendedAgent: context.recommendedAgent,
183
+ };
184
+ }
185
+ ingestFeedback(entry) {
186
+ return this.service.ingestOrchestratorFeedback({
187
+ timestamp: entry.timestamp,
188
+ sessionId: entry.sessionId,
189
+ taskId: entry.taskId,
190
+ assignedAgent: entry.assignedAgent,
191
+ repertoireSignals: entry.memorySignals,
192
+ complexity: entry.complexity,
193
+ success: entry.success,
194
+ durationMs: entry.durationMs,
195
+ dynamoResult: entry.dynamoResult,
196
+ });
197
+ }
198
+ buildSynthesisContext(opts) {
199
+ return this.service.buildSynthesisContext(opts.projectRoot, opts.dueReason ?? null);
200
+ }
201
+ async refreshMetaInference() {
202
+ const report = await this.service.runMetaInference();
203
+ return { refreshed: report !== null };
204
+ }
205
+ }
206
+ /** Factory export — 0xRay provider-loader calls this by name */
207
+ export function createMemoryRoutingProvider(config) {
208
+ return new RepertoireMemoryRoutingProvider(config);
209
+ }
210
+ //# sourceMappingURL=memory-routing-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-routing-provider.js","sourceRoot":"","sources":["../../src/provider/memory-routing-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { CuratedSignal, CuratedSignalsFile, OrchestratorFeedbackEntry, PrimitiveMatch, SignalMatch, SignalPriority, SignalStatus } from '../types.js';
2
+ export interface PromotionGateOptions {
3
+ minAvgConfidence?: number;
4
+ minObservations?: number;
5
+ fromStatus?: SignalStatus;
6
+ toStatus?: SignalStatus;
7
+ }
8
+ export declare const DEFAULT_PROMOTION_MIN_CONFIDENCE = 0.55;
9
+ export declare const DEFAULT_PROMOTION_MIN_OBSERVATIONS = 2;
10
+ export declare const FEEDBACK_SUCCESS_CONFIDENCE_BOOST = 0.002;
11
+ export declare const FEEDBACK_FAILURE_CONFIDENCE_PENALTY = 0.005;
12
+ export declare const FEEDBACK_MIN_CONFIDENCE = 0.55;
13
+ export interface FeedbackOutcomeResult {
14
+ signalName: string;
15
+ previousAvgConfidence: number | null;
16
+ updatedAvgConfidence: number | null;
17
+ feedbackStats: NonNullable<CuratedSignal['feedback_stats']>;
18
+ }
19
+ export declare class CuratedSignalsManager {
20
+ private readonly filePath;
21
+ constructor(filePath?: string);
22
+ load(): CuratedSignalsFile;
23
+ save(data: CuratedSignalsFile): void;
24
+ addSignal(signal: CuratedSignal): void;
25
+ getByName(name: string): CuratedSignal | undefined;
26
+ getByTag(tag: string): CuratedSignal[];
27
+ getHighPrioritySignals(): CuratedSignal[];
28
+ getByPriority(priority: SignalPriority): CuratedSignal[];
29
+ /**
30
+ * Score text against all signals using name, tags, definition, criteria, and snippet.
31
+ */
32
+ matchByText(text: string, minScore?: number): SignalMatch[];
33
+ matchInferenceEntry(inference: string): SignalMatch[];
34
+ recordPrimitiveObservations(matches: PrimitiveMatch[], options?: {
35
+ governanceForced?: boolean;
36
+ minConfidence?: number;
37
+ }): string[];
38
+ shouldPromoteSignal(signal: CuratedSignal, options?: PromotionGateOptions): boolean;
39
+ promoteQualifiedSignals(options?: PromotionGateOptions): string[];
40
+ getSignalsAboveConfidence(minAvgConfidence?: number): CuratedSignal[];
41
+ /**
42
+ * Record orchestrator routing outcome against signals used for the task.
43
+ * Successful outcomes nudge avg_confidence up slightly; failures nudge down.
44
+ */
45
+ recordFeedbackOutcome(entry: OrchestratorFeedbackEntry): FeedbackOutcomeResult[];
46
+ private createEmptyFile;
47
+ }
48
+ //# sourceMappingURL=CuratedSignalsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CuratedSignalsManager.d.ts","sourceRoot":"","sources":["../../src/registry/CuratedSignalsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,eAAO,MAAM,gCAAgC,OAAO,CAAC;AACrD,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,mCAAmC,QAAQ,CAAC;AACzD,eAAO,MAAM,uBAAuB,OAAmC,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;CAC7D;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,SAA8B;IAIlD,IAAI,IAAI,kBAAkB;IAO1B,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAKpC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAStC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE;IAOtC,sBAAsB,IAAI,aAAa,EAAE;IAIzC,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,EAAE;IAIxD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,WAAW,EAAE;IAuDtD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAkBrD,2BAA2B,CACzB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GACnE,MAAM,EAAE;IAkCX,mBAAmB,CACjB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,oBAAyB,GACjC,OAAO;IAgBV,uBAAuB,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE;IAmBrE,yBAAyB,CAAC,gBAAgB,SAAmC,GAAG,aAAa,EAAE;IAM/F;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,GAAG,qBAAqB,EAAE;IAuDhF,OAAO,CAAC,eAAe;CAQxB"}