@relayplane/proxy 1.5.20 → 1.5.22

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-suggestions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-suggestions.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/model-suggestions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const model_suggestions_js_1 = require("../utils/model-suggestions.js");
5
+ (0, vitest_1.describe)('suggestModels', () => {
6
+ const availableModels = [
7
+ 'claude-sonnet-4',
8
+ 'claude-opus-4-5',
9
+ 'claude-3-5-sonnet',
10
+ 'claude-3-5-haiku',
11
+ 'gpt-4o',
12
+ 'gpt-4o-mini',
13
+ 'rp:best',
14
+ 'rp:fast',
15
+ 'rp:balanced',
16
+ ];
17
+ (0, vitest_1.it)('should suggest similar models for typos', () => {
18
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('claud-sonnet', availableModels);
19
+ (0, vitest_1.expect)(suggestions).toContain('claude-sonnet-4');
20
+ });
21
+ (0, vitest_1.it)('should suggest claude-sonnet-4 for "claude-sonet-4" typo', () => {
22
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('claude-sonet-4', availableModels);
23
+ (0, vitest_1.expect)(suggestions[0]).toBe('claude-sonnet-4');
24
+ });
25
+ (0, vitest_1.it)('should suggest gpt-4o for "gpt4o" typo', () => {
26
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('gpt4o', availableModels);
27
+ (0, vitest_1.expect)(suggestions).toContain('gpt-4o');
28
+ });
29
+ (0, vitest_1.it)('should return empty array for completely different strings', () => {
30
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('totally-random-model-xyz', availableModels);
31
+ (0, vitest_1.expect)(suggestions.length).toBeLessThanOrEqual(3);
32
+ });
33
+ (0, vitest_1.it)('should limit results to max parameter', () => {
34
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('claude', availableModels, 2);
35
+ (0, vitest_1.expect)(suggestions.length).toBeLessThanOrEqual(2);
36
+ });
37
+ (0, vitest_1.it)('should be case-insensitive', () => {
38
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('CLAUDE-SONNET-4', availableModels);
39
+ (0, vitest_1.expect)(suggestions).toContain('claude-sonnet-4');
40
+ });
41
+ (0, vitest_1.it)('should suggest rp:best for "rp:bst" typo', () => {
42
+ const suggestions = (0, model_suggestions_js_1.suggestModels)('rp:bst', availableModels);
43
+ (0, vitest_1.expect)(suggestions).toContain('rp:best');
44
+ });
45
+ });
46
+ (0, vitest_1.describe)('buildModelNotFoundError', () => {
47
+ const availableModels = [
48
+ 'claude-sonnet-4',
49
+ 'claude-opus-4-5',
50
+ 'gpt-4o',
51
+ ];
52
+ (0, vitest_1.it)('should build error with suggestions for close match', () => {
53
+ const error = (0, model_suggestions_js_1.buildModelNotFoundError)('claude-sonet-4', availableModels);
54
+ (0, vitest_1.expect)(error.error).toContain('claude-sonet-4');
55
+ (0, vitest_1.expect)(error.error).toContain('does not exist');
56
+ (0, vitest_1.expect)(error.suggestions).toBeDefined();
57
+ (0, vitest_1.expect)(error.suggestions).toContain('claude-sonnet-4');
58
+ (0, vitest_1.expect)(error.hint).toBe("Did you mean 'claude-sonnet-4'?");
59
+ });
60
+ (0, vitest_1.it)('should build error without suggestions for no close match', () => {
61
+ const error = (0, model_suggestions_js_1.buildModelNotFoundError)('totally-random-xyz-12345', availableModels);
62
+ (0, vitest_1.expect)(error.error).toContain('totally-random-xyz-12345');
63
+ (0, vitest_1.expect)(error.suggestions).toBeUndefined();
64
+ (0, vitest_1.expect)(error.hint).toBeUndefined();
65
+ });
66
+ });
67
+ //# sourceMappingURL=model-suggestions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-suggestions.test.js","sourceRoot":"","sources":["../../src/__tests__/model-suggestions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=routing-aliases.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-aliases.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/routing-aliases.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const standalone_proxy_js_1 = require("../standalone-proxy.js");
5
+ (0, vitest_1.describe)('RELAYPLANE_ALIASES', () => {
6
+ (0, vitest_1.it)('should map relayplane:auto to rp:balanced', () => {
7
+ (0, vitest_1.expect)(standalone_proxy_js_1.RELAYPLANE_ALIASES['relayplane:auto']).toBe('rp:balanced');
8
+ });
9
+ (0, vitest_1.it)('should map rp:auto to rp:balanced', () => {
10
+ (0, vitest_1.expect)(standalone_proxy_js_1.RELAYPLANE_ALIASES['rp:auto']).toBe('rp:balanced');
11
+ });
12
+ });
13
+ (0, vitest_1.describe)('SMART_ALIASES', () => {
14
+ (0, vitest_1.it)('should have rp:best pointing to a valid model', () => {
15
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:best']).toBeDefined();
16
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:best'].provider).toBe('anthropic');
17
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:best'].model).toContain('claude');
18
+ });
19
+ (0, vitest_1.it)('should have rp:fast pointing to a fast model', () => {
20
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:fast']).toBeDefined();
21
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:fast'].model).toContain('haiku');
22
+ });
23
+ (0, vitest_1.it)('should have rp:cheap pointing to a cheap model', () => {
24
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:cheap']).toBeDefined();
25
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:cheap'].model).toContain('mini');
26
+ });
27
+ (0, vitest_1.it)('should have rp:balanced pointing to a balanced model', () => {
28
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:balanced']).toBeDefined();
29
+ });
30
+ (0, vitest_1.it)('should point to existing models', () => {
31
+ // Verify model names are valid API model IDs
32
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:best'].model).toMatch(/claude-.*-\d{8}$/);
33
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:fast'].model).toMatch(/claude-.*-\d{8}$/);
34
+ (0, vitest_1.expect)(standalone_proxy_js_1.SMART_ALIASES['rp:balanced'].model).toMatch(/claude-.*-\d{8}$/);
35
+ });
36
+ });
37
+ (0, vitest_1.describe)('resolveModelAlias', () => {
38
+ (0, vitest_1.it)('should resolve relayplane:auto to rp:balanced', () => {
39
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('relayplane:auto')).toBe('rp:balanced');
40
+ });
41
+ (0, vitest_1.it)('should resolve rp:auto to rp:balanced', () => {
42
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('rp:auto')).toBe('rp:balanced');
43
+ });
44
+ (0, vitest_1.it)('should return unchanged for non-alias models', () => {
45
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('claude-sonnet-4')).toBe('claude-sonnet-4');
46
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('gpt-4o')).toBe('gpt-4o');
47
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('rp:best')).toBe('rp:best');
48
+ });
49
+ (0, vitest_1.it)('should return unchanged for unknown models', () => {
50
+ (0, vitest_1.expect)((0, standalone_proxy_js_1.resolveModelAlias)('unknown-model')).toBe('unknown-model');
51
+ });
52
+ });
53
+ (0, vitest_1.describe)('getAvailableModelNames', () => {
54
+ (0, vitest_1.it)('should include MODEL_MAPPING keys', () => {
55
+ const available = (0, standalone_proxy_js_1.getAvailableModelNames)();
56
+ (0, vitest_1.expect)(available).toContain('claude-sonnet-4');
57
+ (0, vitest_1.expect)(available).toContain('gpt-4o');
58
+ });
59
+ (0, vitest_1.it)('should include SMART_ALIASES keys', () => {
60
+ const available = (0, standalone_proxy_js_1.getAvailableModelNames)();
61
+ (0, vitest_1.expect)(available).toContain('rp:best');
62
+ (0, vitest_1.expect)(available).toContain('rp:fast');
63
+ (0, vitest_1.expect)(available).toContain('rp:balanced');
64
+ });
65
+ (0, vitest_1.it)('should include relayplane routing models', () => {
66
+ const available = (0, standalone_proxy_js_1.getAvailableModelNames)();
67
+ (0, vitest_1.expect)(available).toContain('relayplane:auto');
68
+ (0, vitest_1.expect)(available).toContain('relayplane:cost');
69
+ (0, vitest_1.expect)(available).toContain('relayplane:fast');
70
+ (0, vitest_1.expect)(available).toContain('relayplane:quality');
71
+ });
72
+ });
73
+ (0, vitest_1.describe)('MODEL_MAPPING', () => {
74
+ (0, vitest_1.it)('should have updated sonnet pointing to claude-sonnet-4', () => {
75
+ (0, vitest_1.expect)(standalone_proxy_js_1.MODEL_MAPPING['sonnet'].model).toContain('claude-sonnet-4');
76
+ });
77
+ (0, vitest_1.it)('should have updated opus pointing to claude-opus-4-5', () => {
78
+ (0, vitest_1.expect)(standalone_proxy_js_1.MODEL_MAPPING['opus'].model).toContain('claude-opus-4-5');
79
+ });
80
+ });
81
+ //# sourceMappingURL=routing-aliases.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-aliases.test.js","sourceRoot":"","sources":["../../src/__tests__/routing-aliases.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
File without changes
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Osmosis Mesh Integration for RelayPlane Proxy
3
+ *
4
+ * Connects the proxy to the collective knowledge mesh via dynamic imports.
5
+ * Includes Level 1 (local aggregation) and Level 2 (LLM distillation).
6
+ * All mesh features are failure-tolerant and never crash the proxy.
7
+ */
8
+ export interface DistillConfig {
9
+ enabled: boolean;
10
+ apiKey: string;
11
+ model: string;
12
+ batchSize: number;
13
+ }
14
+ export interface MeshConfig {
15
+ enabled: boolean;
16
+ contribute: boolean;
17
+ meshUrl: string;
18
+ syncIntervalMs: number;
19
+ dataDir: string;
20
+ distill?: DistillConfig;
21
+ }
22
+ export declare const DEFAULT_MESH_CONFIG: MeshConfig;
23
+ export declare const DEFAULT_DISTILL_CONFIG: DistillConfig;
24
+ export interface MeshRequestData {
25
+ taskType: string;
26
+ modelUsed: string;
27
+ originalModel: string;
28
+ tokensIn: number;
29
+ tokensOut: number;
30
+ costUsd: number;
31
+ latencyMs: number;
32
+ success: boolean;
33
+ routingChanged: boolean;
34
+ }
35
+ export interface MeshRoutingHint {
36
+ avoidModel?: string;
37
+ preferModel?: string;
38
+ reason?: string;
39
+ }
40
+ export interface MeshStatus {
41
+ available: boolean;
42
+ enabled: boolean;
43
+ atomCount: number;
44
+ contributing: boolean;
45
+ meshUrl: string;
46
+ dataDir: string;
47
+ lastSync?: string;
48
+ syncErrors?: string[];
49
+ distillation: {
50
+ enabled: boolean;
51
+ pendingTraces: number;
52
+ lastRun: string | null;
53
+ totalDistilled: number;
54
+ };
55
+ patterns: number;
56
+ rawAtoms: number;
57
+ }
58
+ export declare function initMesh(config: MeshConfig, log: (msg: string) => void): Promise<void>;
59
+ export declare function recordMeshAtom(data: MeshRequestData): void;
60
+ export declare function getMeshRoutingHint(taskType: string, candidateModel: string): MeshRoutingHint | null;
61
+ export declare function getMeshStatus(config: MeshConfig): MeshStatus;
62
+ export declare function triggerManualSync(config: MeshConfig): Promise<{
63
+ success: boolean;
64
+ message: string;
65
+ }>;
66
+ export declare function getMeshTips(taskType?: string): {
67
+ tips: Array<{
68
+ model: string;
69
+ taskType: string;
70
+ recommendation: string;
71
+ reason: string;
72
+ alternative?: string;
73
+ confidence: number;
74
+ }>;
75
+ warnings: string[];
76
+ lastDistillation: string | null;
77
+ totalAtoms: number;
78
+ distilledAtoms: number;
79
+ };
80
+ export declare function getMeshQuery(taskType?: string, model?: string, limit?: number): {
81
+ taskType: string | null;
82
+ rankings: Array<{
83
+ model: string;
84
+ score: number;
85
+ successRate: number;
86
+ avgCost: number;
87
+ avgLatency: number;
88
+ sampleSize: number;
89
+ }>;
90
+ warnings: string[];
91
+ source: string;
92
+ };
93
+ export declare function getMeshAtoms(limit?: number, offset?: number): any[];
94
+ export declare function shutdownMesh(): void;
95
+ //# sourceMappingURL=mesh-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-integration.d.ts","sourceRoot":"","sources":["../src/mesh-integration.ts"],"names":[],"mappings":"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"}