@soleri/core 9.3.0 → 9.4.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 (177) hide show
  1. package/dist/brain/intelligence.d.ts +5 -0
  2. package/dist/brain/intelligence.d.ts.map +1 -1
  3. package/dist/brain/intelligence.js +115 -26
  4. package/dist/brain/intelligence.js.map +1 -1
  5. package/dist/brain/learning-radar.d.ts +3 -3
  6. package/dist/brain/learning-radar.d.ts.map +1 -1
  7. package/dist/brain/learning-radar.js +8 -4
  8. package/dist/brain/learning-radar.js.map +1 -1
  9. package/dist/control/intent-router.d.ts +2 -2
  10. package/dist/control/intent-router.d.ts.map +1 -1
  11. package/dist/control/intent-router.js +35 -1
  12. package/dist/control/intent-router.js.map +1 -1
  13. package/dist/control/types.d.ts +10 -2
  14. package/dist/control/types.d.ts.map +1 -1
  15. package/dist/curator/curator.d.ts +4 -0
  16. package/dist/curator/curator.d.ts.map +1 -1
  17. package/dist/curator/curator.js +23 -1
  18. package/dist/curator/curator.js.map +1 -1
  19. package/dist/curator/schema.d.ts +1 -1
  20. package/dist/curator/schema.d.ts.map +1 -1
  21. package/dist/curator/schema.js +8 -0
  22. package/dist/curator/schema.js.map +1 -1
  23. package/dist/domain-packs/types.d.ts +6 -0
  24. package/dist/domain-packs/types.d.ts.map +1 -1
  25. package/dist/domain-packs/types.js +1 -0
  26. package/dist/domain-packs/types.js.map +1 -1
  27. package/dist/engine/module-manifest.d.ts +2 -0
  28. package/dist/engine/module-manifest.d.ts.map +1 -1
  29. package/dist/engine/module-manifest.js +117 -2
  30. package/dist/engine/module-manifest.js.map +1 -1
  31. package/dist/engine/register-engine.d.ts +9 -0
  32. package/dist/engine/register-engine.d.ts.map +1 -1
  33. package/dist/engine/register-engine.js +59 -1
  34. package/dist/engine/register-engine.js.map +1 -1
  35. package/dist/facades/types.d.ts +5 -1
  36. package/dist/facades/types.d.ts.map +1 -1
  37. package/dist/facades/types.js.map +1 -1
  38. package/dist/index.d.ts +6 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +5 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/operator/operator-context-store.d.ts +54 -0
  43. package/dist/operator/operator-context-store.d.ts.map +1 -0
  44. package/dist/operator/operator-context-store.js +434 -0
  45. package/dist/operator/operator-context-store.js.map +1 -0
  46. package/dist/operator/operator-context-types.d.ts +101 -0
  47. package/dist/operator/operator-context-types.d.ts.map +1 -0
  48. package/dist/operator/operator-context-types.js +27 -0
  49. package/dist/operator/operator-context-types.js.map +1 -0
  50. package/dist/packs/index.d.ts +2 -2
  51. package/dist/packs/index.d.ts.map +1 -1
  52. package/dist/packs/index.js +1 -1
  53. package/dist/packs/index.js.map +1 -1
  54. package/dist/packs/lockfile.d.ts +3 -0
  55. package/dist/packs/lockfile.d.ts.map +1 -1
  56. package/dist/packs/lockfile.js.map +1 -1
  57. package/dist/packs/types.d.ts +8 -2
  58. package/dist/packs/types.d.ts.map +1 -1
  59. package/dist/packs/types.js +6 -0
  60. package/dist/packs/types.js.map +1 -1
  61. package/dist/planning/plan-lifecycle.d.ts +12 -1
  62. package/dist/planning/plan-lifecycle.d.ts.map +1 -1
  63. package/dist/planning/plan-lifecycle.js +52 -19
  64. package/dist/planning/plan-lifecycle.js.map +1 -1
  65. package/dist/planning/planner-types.d.ts +6 -0
  66. package/dist/planning/planner-types.d.ts.map +1 -1
  67. package/dist/planning/planner.d.ts +21 -1
  68. package/dist/planning/planner.d.ts.map +1 -1
  69. package/dist/planning/planner.js +62 -3
  70. package/dist/planning/planner.js.map +1 -1
  71. package/dist/planning/task-complexity-assessor.d.ts +42 -0
  72. package/dist/planning/task-complexity-assessor.d.ts.map +1 -0
  73. package/dist/planning/task-complexity-assessor.js +132 -0
  74. package/dist/planning/task-complexity-assessor.js.map +1 -0
  75. package/dist/plugins/types.d.ts +18 -18
  76. package/dist/runtime/admin-ops.d.ts +1 -1
  77. package/dist/runtime/admin-ops.d.ts.map +1 -1
  78. package/dist/runtime/admin-ops.js +118 -3
  79. package/dist/runtime/admin-ops.js.map +1 -1
  80. package/dist/runtime/admin-setup-ops.d.ts.map +1 -1
  81. package/dist/runtime/admin-setup-ops.js +19 -9
  82. package/dist/runtime/admin-setup-ops.js.map +1 -1
  83. package/dist/runtime/capture-ops.d.ts.map +1 -1
  84. package/dist/runtime/capture-ops.js +35 -7
  85. package/dist/runtime/capture-ops.js.map +1 -1
  86. package/dist/runtime/facades/brain-facade.d.ts.map +1 -1
  87. package/dist/runtime/facades/brain-facade.js +4 -2
  88. package/dist/runtime/facades/brain-facade.js.map +1 -1
  89. package/dist/runtime/facades/control-facade.d.ts.map +1 -1
  90. package/dist/runtime/facades/control-facade.js +8 -2
  91. package/dist/runtime/facades/control-facade.js.map +1 -1
  92. package/dist/runtime/facades/curator-facade.d.ts.map +1 -1
  93. package/dist/runtime/facades/curator-facade.js +13 -0
  94. package/dist/runtime/facades/curator-facade.js.map +1 -1
  95. package/dist/runtime/facades/memory-facade.d.ts.map +1 -1
  96. package/dist/runtime/facades/memory-facade.js +10 -12
  97. package/dist/runtime/facades/memory-facade.js.map +1 -1
  98. package/dist/runtime/facades/orchestrate-facade.d.ts.map +1 -1
  99. package/dist/runtime/facades/orchestrate-facade.js +36 -1
  100. package/dist/runtime/facades/orchestrate-facade.js.map +1 -1
  101. package/dist/runtime/facades/plan-facade.d.ts.map +1 -1
  102. package/dist/runtime/facades/plan-facade.js +20 -4
  103. package/dist/runtime/facades/plan-facade.js.map +1 -1
  104. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  105. package/dist/runtime/orchestrate-ops.js +109 -31
  106. package/dist/runtime/orchestrate-ops.js.map +1 -1
  107. package/dist/runtime/plan-feedback-helper.d.ts +21 -0
  108. package/dist/runtime/plan-feedback-helper.d.ts.map +1 -0
  109. package/dist/runtime/plan-feedback-helper.js +52 -0
  110. package/dist/runtime/plan-feedback-helper.js.map +1 -0
  111. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  112. package/dist/runtime/planning-extra-ops.js +73 -34
  113. package/dist/runtime/planning-extra-ops.js.map +1 -1
  114. package/dist/runtime/session-briefing.d.ts.map +1 -1
  115. package/dist/runtime/session-briefing.js +9 -1
  116. package/dist/runtime/session-briefing.js.map +1 -1
  117. package/dist/runtime/types.d.ts +3 -0
  118. package/dist/runtime/types.d.ts.map +1 -1
  119. package/dist/skills/sync-skills.d.ts.map +1 -1
  120. package/dist/skills/sync-skills.js +13 -7
  121. package/dist/skills/sync-skills.js.map +1 -1
  122. package/package.json +1 -1
  123. package/src/brain/brain-intelligence.test.ts +30 -0
  124. package/src/brain/extraction-quality.test.ts +323 -0
  125. package/src/brain/intelligence.ts +133 -30
  126. package/src/brain/learning-radar.ts +8 -5
  127. package/src/brain/second-brain-features.test.ts +1 -1
  128. package/src/control/intent-router.test.ts +73 -3
  129. package/src/control/intent-router.ts +38 -1
  130. package/src/control/types.ts +13 -2
  131. package/src/curator/curator.test.ts +92 -0
  132. package/src/curator/curator.ts +29 -1
  133. package/src/curator/schema.ts +8 -0
  134. package/src/domain-packs/types.ts +8 -0
  135. package/src/engine/module-manifest.test.ts +51 -2
  136. package/src/engine/module-manifest.ts +119 -2
  137. package/src/engine/register-engine.test.ts +73 -1
  138. package/src/engine/register-engine.ts +61 -1
  139. package/src/facades/types.ts +5 -0
  140. package/src/index.ts +30 -0
  141. package/src/operator/operator-context-store.test.ts +698 -0
  142. package/src/operator/operator-context-store.ts +569 -0
  143. package/src/operator/operator-context-types.ts +139 -0
  144. package/src/packs/index.ts +3 -1
  145. package/src/packs/lockfile.ts +3 -0
  146. package/src/packs/types.ts +9 -0
  147. package/src/planning/plan-lifecycle.ts +80 -22
  148. package/src/planning/planner-types.ts +6 -0
  149. package/src/planning/planner.ts +74 -4
  150. package/src/planning/task-complexity-assessor.test.ts +302 -0
  151. package/src/planning/task-complexity-assessor.ts +180 -0
  152. package/src/runtime/admin-ops.test.ts +159 -3
  153. package/src/runtime/admin-ops.ts +123 -3
  154. package/src/runtime/admin-setup-ops.ts +30 -10
  155. package/src/runtime/capture-ops.test.ts +84 -0
  156. package/src/runtime/capture-ops.ts +35 -7
  157. package/src/runtime/facades/admin-facade.test.ts +1 -1
  158. package/src/runtime/facades/brain-facade.ts +6 -3
  159. package/src/runtime/facades/control-facade.ts +10 -2
  160. package/src/runtime/facades/curator-facade.ts +18 -0
  161. package/src/runtime/facades/memory-facade.test.ts +14 -12
  162. package/src/runtime/facades/memory-facade.ts +10 -12
  163. package/src/runtime/facades/orchestrate-facade.ts +33 -1
  164. package/src/runtime/facades/plan-facade.test.ts +213 -0
  165. package/src/runtime/facades/plan-facade.ts +23 -4
  166. package/src/runtime/orchestrate-ops.test.ts +404 -0
  167. package/src/runtime/orchestrate-ops.ts +129 -37
  168. package/src/runtime/plan-feedback-helper.test.ts +173 -0
  169. package/src/runtime/plan-feedback-helper.ts +63 -0
  170. package/src/runtime/planning-extra-ops.test.ts +43 -1
  171. package/src/runtime/planning-extra-ops.ts +96 -33
  172. package/src/runtime/session-briefing.test.ts +1 -0
  173. package/src/runtime/session-briefing.ts +10 -1
  174. package/src/runtime/types.ts +3 -0
  175. package/src/skills/sync-skills.ts +14 -7
  176. package/src/vault/vault-scaling.test.ts +5 -5
  177. package/vitest.config.ts +1 -0
@@ -295,11 +295,70 @@ export function registerEngine(
295
295
  return { tools: registeredTools, totalOps, registerTool };
296
296
  }
297
297
 
298
+ // ─── Op Visibility ───────────────────────────────────────────────────
299
+
300
+ /**
301
+ * Ops classified as internal — hidden from MCP tool descriptions but still
302
+ * callable programmatically. Centralized here for easy auditing.
303
+ *
304
+ * Criteria: ops that are infrastructure plumbing, token/account management,
305
+ * bulk operations, or auto-* automation that users never call directly.
306
+ */
307
+ /** @internal Exported for testing — do not use outside engine */
308
+ export const INTERNAL_OPS = new Set([
309
+ // Admin: token management
310
+ 'admin_create_token',
311
+ 'admin_revoke_token',
312
+ 'admin_list_tokens',
313
+ // Admin: account management
314
+ 'admin_add_account',
315
+ 'admin_remove_account',
316
+ 'admin_rotate_account',
317
+ 'admin_list_accounts',
318
+ 'admin_account_status',
319
+ // Admin: infrastructure debug
320
+ 'admin_vault_size',
321
+ 'admin_vault_analytics',
322
+ 'admin_search_insights',
323
+ 'admin_env',
324
+ 'admin_gc',
325
+ 'admin_export_config',
326
+ 'admin_key_pool_status',
327
+ 'admin_persistence_info',
328
+ // Admin: flags
329
+ 'admin_list_flags',
330
+ 'admin_get_flag',
331
+ 'admin_set_flag',
332
+ // Admin: setup internals
333
+ 'admin_inject_claude_md',
334
+ // Admin: telemetry
335
+ 'admin_telemetry',
336
+ 'admin_telemetry_recent',
337
+ 'admin_telemetry_reset',
338
+ 'telemetry_errors',
339
+ 'telemetry_slow_ops',
340
+ // Vault: bulk operations
341
+ 'vault_bulk_add',
342
+ 'vault_bulk_remove',
343
+ // Plan: automation
344
+ 'plan_auto_reconcile',
345
+ 'plan_auto_improve',
346
+ ]);
347
+
348
+ /** Resolve effective visibility: explicit field wins, then INTERNAL_OPS set, else 'user'. */
349
+ function resolveVisibility(op: OpDefinition): 'user' | 'internal' {
350
+ if (op.visibility) return op.visibility;
351
+ return INTERNAL_OPS.has(op.name) ? 'internal' : 'user';
352
+ }
353
+
298
354
  // ─── Tool Registration (No Factory) ──────────────────────────────────
299
355
 
300
356
  /**
301
357
  * Register a single grouped tool with op dispatch.
302
358
  * This is the replacement for registerFacade() — same behavior, no FacadeConfig type.
359
+ *
360
+ * Internal ops (visibility: 'internal') are excluded from the MCP tool description
361
+ * but remain dispatchable — they just don't show up in the op list Claude sees.
303
362
  */
304
363
  function registerModuleTool(
305
364
  server: McpServer,
@@ -308,7 +367,8 @@ function registerModuleTool(
308
367
  ops: OpDefinition[],
309
368
  authPolicy?: () => AuthPolicy,
310
369
  ): void {
311
- const opNames = ops.map((o) => o.name);
370
+ const userOps = ops.filter((o) => resolveVisibility(o) !== 'internal');
371
+ const opNames = userOps.map((o) => o.name);
312
372
  const opMap = new Map(ops.map((o) => [o.name, o]));
313
373
 
314
374
  server.tool(
@@ -25,6 +25,9 @@ export const AUTH_LEVEL_RANK: Record<AuthLevel, number> = {
25
25
  admin: 2,
26
26
  };
27
27
 
28
+ /** Op visibility — controls whether an op is exposed via MCP tool registration */
29
+ export type OpVisibility = 'user' | 'internal';
30
+
28
31
  /** Operation definition within a facade */
29
32
  export interface OpDefinition {
30
33
  name: string;
@@ -34,6 +37,8 @@ export interface OpDefinition {
34
37
  schema?: z.ZodType;
35
38
  /** Promote to a first-class MCP tool with full schema discovery. */
36
39
  hot?: boolean;
40
+ /** Controls MCP exposure: 'user' (default) = listed in tool, 'internal' = hidden from MCP but callable programmatically. */
41
+ visibility?: OpVisibility;
37
42
  }
38
43
 
39
44
  /** Facade configuration — one MCP tool */
package/src/index.ts CHANGED
@@ -335,6 +335,14 @@ export {
335
335
  } from './planning/gap-types.js';
336
336
  export type { GapSeverity, GapCategory, PlanGap } from './planning/gap-types.js';
337
337
 
338
+ // ─── Task Complexity Assessor ────────────────────────────────────────
339
+ export { assessTaskComplexity } from './planning/task-complexity-assessor.js';
340
+ export type {
341
+ AssessmentInput,
342
+ AssessmentSignal,
343
+ AssessmentResult,
344
+ } from './planning/task-complexity-assessor.js';
345
+
338
346
  // ─── GitHub Projection ───────────────────────────────────────────────
339
347
  export {
340
348
  parseGitHubRemote,
@@ -619,6 +627,7 @@ export type {
619
627
  LockEntry,
620
628
  PackType,
621
629
  PackSource,
630
+ PackTier,
622
631
  LockfileData,
623
632
  ResolvedPack,
624
633
  ResolveOptions,
@@ -791,3 +800,24 @@ export type {
791
800
  ProfileSnapshot,
792
801
  OperatorProfileHistory,
793
802
  } from './operator/operator-types.js';
803
+
804
+ // ─── Operator Context (Adaptive Persona) ────────────────────────────
805
+ export { OperatorContextStore } from './operator/operator-context-store.js';
806
+ export { DECLINED_CATEGORIES } from './operator/operator-context-types.js';
807
+ export type {
808
+ OperatorSignals,
809
+ ExpertiseSignal,
810
+ CorrectionSignal,
811
+ InterestSignal,
812
+ WorkPatternSignal,
813
+ OperatorContext,
814
+ ExpertiseItem,
815
+ CorrectionItem,
816
+ InterestItem,
817
+ WorkPatternItem,
818
+ ExpertiseLevel,
819
+ SignalScope,
820
+ PatternFrequency,
821
+ ContextItemType,
822
+ DeclinedCategory,
823
+ } from './operator/operator-context-types.js';