@soleri/core 9.3.1 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brain/intelligence.d.ts +5 -0
- package/dist/brain/intelligence.d.ts.map +1 -1
- package/dist/brain/intelligence.js +115 -26
- package/dist/brain/intelligence.js.map +1 -1
- package/dist/brain/learning-radar.d.ts +3 -3
- package/dist/brain/learning-radar.d.ts.map +1 -1
- package/dist/brain/learning-radar.js +8 -4
- package/dist/brain/learning-radar.js.map +1 -1
- package/dist/control/intent-router.d.ts +2 -2
- package/dist/control/intent-router.d.ts.map +1 -1
- package/dist/control/intent-router.js +35 -1
- package/dist/control/intent-router.js.map +1 -1
- package/dist/control/types.d.ts +10 -2
- package/dist/control/types.d.ts.map +1 -1
- package/dist/curator/curator.d.ts +4 -0
- package/dist/curator/curator.d.ts.map +1 -1
- package/dist/curator/curator.js +23 -1
- package/dist/curator/curator.js.map +1 -1
- package/dist/curator/schema.d.ts +1 -1
- package/dist/curator/schema.d.ts.map +1 -1
- package/dist/curator/schema.js +8 -0
- package/dist/curator/schema.js.map +1 -1
- package/dist/domain-packs/types.d.ts +6 -0
- package/dist/domain-packs/types.d.ts.map +1 -1
- package/dist/domain-packs/types.js +1 -0
- package/dist/domain-packs/types.js.map +1 -1
- package/dist/engine/module-manifest.js +3 -3
- package/dist/engine/module-manifest.js.map +1 -1
- package/dist/engine/register-engine.d.ts +9 -0
- package/dist/engine/register-engine.d.ts.map +1 -1
- package/dist/engine/register-engine.js +59 -1
- package/dist/engine/register-engine.js.map +1 -1
- package/dist/facades/types.d.ts +5 -1
- package/dist/facades/types.d.ts.map +1 -1
- package/dist/facades/types.js.map +1 -1
- package/dist/hooks/candidate-scorer.d.ts +28 -0
- package/dist/hooks/candidate-scorer.d.ts.map +1 -0
- package/dist/hooks/candidate-scorer.js +20 -0
- package/dist/hooks/candidate-scorer.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/operator/operator-context-store.d.ts +54 -0
- package/dist/operator/operator-context-store.d.ts.map +1 -0
- package/dist/operator/operator-context-store.js +434 -0
- package/dist/operator/operator-context-store.js.map +1 -0
- package/dist/operator/operator-context-types.d.ts +101 -0
- package/dist/operator/operator-context-types.d.ts.map +1 -0
- package/dist/operator/operator-context-types.js +27 -0
- package/dist/operator/operator-context-types.js.map +1 -0
- package/dist/packs/index.d.ts +2 -2
- package/dist/packs/index.d.ts.map +1 -1
- package/dist/packs/index.js +1 -1
- package/dist/packs/index.js.map +1 -1
- package/dist/packs/lockfile.d.ts +3 -0
- package/dist/packs/lockfile.d.ts.map +1 -1
- package/dist/packs/lockfile.js.map +1 -1
- package/dist/packs/types.d.ts +8 -2
- package/dist/packs/types.d.ts.map +1 -1
- package/dist/packs/types.js +6 -0
- package/dist/packs/types.js.map +1 -1
- package/dist/planning/plan-lifecycle.d.ts +12 -1
- package/dist/planning/plan-lifecycle.d.ts.map +1 -1
- package/dist/planning/plan-lifecycle.js +54 -16
- package/dist/planning/plan-lifecycle.js.map +1 -1
- package/dist/planning/planner-types.d.ts +6 -0
- package/dist/planning/planner-types.d.ts.map +1 -1
- package/dist/planning/planner.d.ts +21 -1
- package/dist/planning/planner.d.ts.map +1 -1
- package/dist/planning/planner.js +62 -3
- package/dist/planning/planner.js.map +1 -1
- package/dist/planning/task-complexity-assessor.d.ts.map +1 -1
- package/dist/planning/task-complexity-assessor.js.map +1 -1
- package/dist/plugins/types.d.ts +18 -18
- package/dist/runtime/admin-ops.d.ts +1 -1
- package/dist/runtime/admin-ops.d.ts.map +1 -1
- package/dist/runtime/admin-ops.js +100 -3
- package/dist/runtime/admin-ops.js.map +1 -1
- package/dist/runtime/admin-setup-ops.d.ts.map +1 -1
- package/dist/runtime/admin-setup-ops.js +19 -9
- package/dist/runtime/admin-setup-ops.js.map +1 -1
- package/dist/runtime/capture-ops.d.ts.map +1 -1
- package/dist/runtime/capture-ops.js +35 -7
- package/dist/runtime/capture-ops.js.map +1 -1
- package/dist/runtime/facades/brain-facade.d.ts.map +1 -1
- package/dist/runtime/facades/brain-facade.js +4 -2
- package/dist/runtime/facades/brain-facade.js.map +1 -1
- package/dist/runtime/facades/control-facade.d.ts.map +1 -1
- package/dist/runtime/facades/control-facade.js +8 -2
- package/dist/runtime/facades/control-facade.js.map +1 -1
- package/dist/runtime/facades/curator-facade.d.ts.map +1 -1
- package/dist/runtime/facades/curator-facade.js +13 -0
- package/dist/runtime/facades/curator-facade.js.map +1 -1
- package/dist/runtime/facades/memory-facade.d.ts.map +1 -1
- package/dist/runtime/facades/memory-facade.js +10 -12
- package/dist/runtime/facades/memory-facade.js.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.d.ts.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.js +36 -1
- package/dist/runtime/facades/orchestrate-facade.js.map +1 -1
- package/dist/runtime/facades/plan-facade.d.ts.map +1 -1
- package/dist/runtime/facades/plan-facade.js +20 -4
- package/dist/runtime/facades/plan-facade.js.map +1 -1
- package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
- package/dist/runtime/orchestrate-ops.js +71 -4
- package/dist/runtime/orchestrate-ops.js.map +1 -1
- package/dist/runtime/plan-feedback-helper.d.ts +21 -0
- package/dist/runtime/plan-feedback-helper.d.ts.map +1 -0
- package/dist/runtime/plan-feedback-helper.js +52 -0
- package/dist/runtime/plan-feedback-helper.js.map +1 -0
- package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
- package/dist/runtime/planning-extra-ops.js +73 -34
- package/dist/runtime/planning-extra-ops.js.map +1 -1
- package/dist/runtime/session-briefing.d.ts.map +1 -1
- package/dist/runtime/session-briefing.js +9 -1
- package/dist/runtime/session-briefing.js.map +1 -1
- package/dist/runtime/types.d.ts +3 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/skills/sync-skills.d.ts.map +1 -1
- package/dist/skills/sync-skills.js +13 -7
- package/dist/skills/sync-skills.js.map +1 -1
- package/package.json +1 -1
- package/src/brain/brain-intelligence.test.ts +30 -0
- package/src/brain/brain.ts +120 -46
- package/src/brain/extraction-quality.test.ts +323 -0
- package/src/brain/intelligence.ts +175 -64
- package/src/brain/learning-radar.ts +8 -5
- package/src/brain/second-brain-features.test.ts +1 -1
- package/src/chat/agent-loop.ts +1 -1
- package/src/chat/notifications.ts +4 -0
- package/src/control/intent-router.test.ts +73 -3
- package/src/control/intent-router.ts +48 -9
- package/src/control/types.ts +13 -2
- package/src/curator/curator.test.ts +92 -0
- package/src/curator/curator.ts +162 -18
- package/src/curator/schema.ts +8 -0
- package/src/domain-packs/types.ts +8 -0
- package/src/engine/module-manifest.test.ts +8 -2
- package/src/engine/module-manifest.ts +3 -3
- package/src/engine/register-engine.test.ts +73 -1
- package/src/engine/register-engine.ts +61 -1
- package/src/facades/types.ts +5 -0
- package/src/hooks/candidate-scorer.test.ts +76 -0
- package/src/hooks/candidate-scorer.ts +39 -0
- package/src/hooks/index.ts +6 -0
- package/src/index.ts +24 -0
- package/src/llm/llm-client.ts +1 -0
- package/src/operator/operator-context-store.test.ts +698 -0
- package/src/operator/operator-context-store.ts +569 -0
- package/src/operator/operator-context-types.ts +139 -0
- package/src/packs/index.ts +3 -1
- package/src/packs/lockfile.ts +3 -0
- package/src/packs/types.ts +9 -0
- package/src/persistence/sqlite-provider.ts +1 -0
- package/src/planning/github-projection.ts +48 -44
- package/src/planning/plan-lifecycle.ts +93 -22
- package/src/planning/planner-types.ts +6 -0
- package/src/planning/planner.ts +74 -4
- package/src/planning/task-complexity-assessor.test.ts +6 -2
- package/src/planning/task-complexity-assessor.ts +1 -4
- package/src/queue/pipeline-runner.ts +4 -0
- package/src/runtime/admin-ops.test.ts +139 -6
- package/src/runtime/admin-ops.ts +104 -3
- package/src/runtime/admin-setup-ops.ts +30 -10
- package/src/runtime/capture-ops.test.ts +84 -0
- package/src/runtime/capture-ops.ts +35 -7
- package/src/runtime/curator-extra-ops.test.ts +7 -0
- package/src/runtime/curator-extra-ops.ts +10 -1
- package/src/runtime/facades/admin-facade.test.ts +1 -1
- package/src/runtime/facades/brain-facade.ts +6 -3
- package/src/runtime/facades/control-facade.ts +10 -2
- package/src/runtime/facades/curator-facade.test.ts +7 -0
- package/src/runtime/facades/curator-facade.ts +18 -0
- package/src/runtime/facades/memory-facade.test.ts +14 -12
- package/src/runtime/facades/memory-facade.ts +197 -12
- package/src/runtime/facades/orchestrate-facade.ts +33 -1
- package/src/runtime/facades/plan-facade.test.ts +213 -0
- package/src/runtime/facades/plan-facade.ts +23 -4
- package/src/runtime/orchestrate-ops.test.ts +202 -2
- package/src/runtime/orchestrate-ops.ts +88 -7
- package/src/runtime/plan-feedback-helper.test.ts +173 -0
- package/src/runtime/plan-feedback-helper.ts +63 -0
- package/src/runtime/planning-extra-ops.test.ts +43 -1
- package/src/runtime/planning-extra-ops.ts +96 -33
- package/src/runtime/runtime.test.ts +50 -2
- package/src/runtime/runtime.ts +117 -89
- package/src/runtime/session-briefing.test.ts +1 -0
- package/src/runtime/session-briefing.ts +10 -1
- package/src/runtime/shutdown-registry.test.ts +151 -0
- package/src/runtime/shutdown-registry.ts +85 -0
- package/src/runtime/types.ts +7 -1
- package/src/skills/sync-skills.ts +14 -7
- package/src/transport/http-server.ts +50 -3
- package/src/transport/ws-server.ts +8 -0
- package/src/vault/linking.test.ts +12 -0
- package/src/vault/linking.ts +90 -44
- package/src/vault/vault-maintenance.ts +11 -18
- package/src/vault/vault-memories.ts +21 -13
- package/src/vault/vault-schema.ts +21 -0
- package/src/vault/vault.ts +8 -3
- package/vitest.config.ts +1 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { scoreCandidateForConversion } from './candidate-scorer.js';
|
|
3
|
+
import type { CandidateDimensions } from './candidate-scorer.js';
|
|
4
|
+
|
|
5
|
+
describe('scoreCandidateForConversion', () => {
|
|
6
|
+
it('should identify strong candidate (4/4 HIGH)', () => {
|
|
7
|
+
const dimensions: CandidateDimensions = {
|
|
8
|
+
frequency: 'HIGH',
|
|
9
|
+
eventCorrelation: 'HIGH',
|
|
10
|
+
determinism: 'HIGH',
|
|
11
|
+
autonomy: 'HIGH',
|
|
12
|
+
};
|
|
13
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
14
|
+
expect(result.highCount).toBe(4);
|
|
15
|
+
expect(result.candidate).toBe(true);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should identify borderline candidate (3/4 HIGH)', () => {
|
|
19
|
+
const dimensions: CandidateDimensions = {
|
|
20
|
+
frequency: 'HIGH',
|
|
21
|
+
eventCorrelation: 'HIGH',
|
|
22
|
+
determinism: 'HIGH',
|
|
23
|
+
autonomy: 'LOW',
|
|
24
|
+
};
|
|
25
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
26
|
+
expect(result.highCount).toBe(3);
|
|
27
|
+
expect(result.candidate).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should reject non-candidate (2/4 HIGH)', () => {
|
|
31
|
+
const dimensions: CandidateDimensions = {
|
|
32
|
+
frequency: 'HIGH',
|
|
33
|
+
eventCorrelation: 'LOW',
|
|
34
|
+
determinism: 'HIGH',
|
|
35
|
+
autonomy: 'LOW',
|
|
36
|
+
};
|
|
37
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
38
|
+
expect(result.highCount).toBe(2);
|
|
39
|
+
expect(result.candidate).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should reject weak candidate (1/4 HIGH)', () => {
|
|
43
|
+
const dimensions: CandidateDimensions = {
|
|
44
|
+
frequency: 'LOW',
|
|
45
|
+
eventCorrelation: 'LOW',
|
|
46
|
+
determinism: 'LOW',
|
|
47
|
+
autonomy: 'HIGH',
|
|
48
|
+
};
|
|
49
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
50
|
+
expect(result.highCount).toBe(1);
|
|
51
|
+
expect(result.candidate).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('should reject zero score (0/4 HIGH)', () => {
|
|
55
|
+
const dimensions: CandidateDimensions = {
|
|
56
|
+
frequency: 'LOW',
|
|
57
|
+
eventCorrelation: 'LOW',
|
|
58
|
+
determinism: 'LOW',
|
|
59
|
+
autonomy: 'LOW',
|
|
60
|
+
};
|
|
61
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
62
|
+
expect(result.highCount).toBe(0);
|
|
63
|
+
expect(result.candidate).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it('should preserve dimension values in result', () => {
|
|
67
|
+
const dimensions: CandidateDimensions = {
|
|
68
|
+
frequency: 'HIGH',
|
|
69
|
+
eventCorrelation: 'LOW',
|
|
70
|
+
determinism: 'HIGH',
|
|
71
|
+
autonomy: 'HIGH',
|
|
72
|
+
};
|
|
73
|
+
const result = scoreCandidateForConversion(dimensions);
|
|
74
|
+
expect(result.dimensions).toEqual(dimensions);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate scoring rubric for skill-to-hook conversion.
|
|
3
|
+
* 4-dimension scoring: frequency, eventCorrelation, determinism, autonomy.
|
|
4
|
+
* Threshold: >= 3 HIGH dimensions = candidate for conversion.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export type DimensionLevel = 'HIGH' | 'LOW';
|
|
8
|
+
|
|
9
|
+
export interface CandidateDimensions {
|
|
10
|
+
/** 3+ manual calls per session for same event type → HIGH */
|
|
11
|
+
frequency: DimensionLevel;
|
|
12
|
+
/** Skill consistently triggers on a recognizable hook event → HIGH */
|
|
13
|
+
eventCorrelation: DimensionLevel;
|
|
14
|
+
/** Skill produces consistent, non-exploratory guidance → HIGH */
|
|
15
|
+
determinism: DimensionLevel;
|
|
16
|
+
/** Skill requires no interactive user decisions mid-execution → HIGH */
|
|
17
|
+
autonomy: DimensionLevel;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface CandidateScore {
|
|
21
|
+
dimensions: CandidateDimensions;
|
|
22
|
+
highCount: number;
|
|
23
|
+
candidate: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Score a skill for hook conversion candidacy.
|
|
28
|
+
* @param dimensions - The 4 scored dimensions (each HIGH or LOW)
|
|
29
|
+
* @returns Score with candidate boolean (true if >= 3 HIGH)
|
|
30
|
+
*/
|
|
31
|
+
export function scoreCandidateForConversion(dimensions: CandidateDimensions): CandidateScore {
|
|
32
|
+
const values = Object.values(dimensions);
|
|
33
|
+
const highCount = values.filter((v) => v === 'HIGH').length;
|
|
34
|
+
return {
|
|
35
|
+
dimensions,
|
|
36
|
+
highCount,
|
|
37
|
+
candidate: highCount >= 3,
|
|
38
|
+
};
|
|
39
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -551,6 +551,8 @@ export { createSemanticFacades } from './runtime/facades/index.js';
|
|
|
551
551
|
export { createDomainFacade, createDomainFacades } from './runtime/domain-ops.js';
|
|
552
552
|
export { FeatureFlags } from './runtime/feature-flags.js';
|
|
553
553
|
export type { FlagDefinition } from './runtime/feature-flags.js';
|
|
554
|
+
export { ShutdownRegistry } from './runtime/shutdown-registry.js';
|
|
555
|
+
export type { ShutdownCallback } from './runtime/shutdown-registry.js';
|
|
554
556
|
export type { AgentRuntimeConfig, AgentRuntime } from './runtime/types.js';
|
|
555
557
|
export {
|
|
556
558
|
deprecationWarning,
|
|
@@ -627,6 +629,7 @@ export type {
|
|
|
627
629
|
LockEntry,
|
|
628
630
|
PackType,
|
|
629
631
|
PackSource,
|
|
632
|
+
PackTier,
|
|
630
633
|
LockfileData,
|
|
631
634
|
ResolvedPack,
|
|
632
635
|
ResolveOptions,
|
|
@@ -799,3 +802,24 @@ export type {
|
|
|
799
802
|
ProfileSnapshot,
|
|
800
803
|
OperatorProfileHistory,
|
|
801
804
|
} from './operator/operator-types.js';
|
|
805
|
+
|
|
806
|
+
// ─── Operator Context (Adaptive Persona) ────────────────────────────
|
|
807
|
+
export { OperatorContextStore } from './operator/operator-context-store.js';
|
|
808
|
+
export { DECLINED_CATEGORIES } from './operator/operator-context-types.js';
|
|
809
|
+
export type {
|
|
810
|
+
OperatorSignals,
|
|
811
|
+
ExpertiseSignal,
|
|
812
|
+
CorrectionSignal,
|
|
813
|
+
InterestSignal,
|
|
814
|
+
WorkPatternSignal,
|
|
815
|
+
OperatorContext,
|
|
816
|
+
ExpertiseItem,
|
|
817
|
+
CorrectionItem,
|
|
818
|
+
InterestItem,
|
|
819
|
+
WorkPatternItem,
|
|
820
|
+
ExpertiseLevel,
|
|
821
|
+
SignalScope,
|
|
822
|
+
PatternFrequency,
|
|
823
|
+
ContextItemType,
|
|
824
|
+
DeclinedCategory,
|
|
825
|
+
} from './operator/operator-context-types.js';
|