@bradygaster/squad-sdk 0.6.2 → 0.8.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/README.md +296 -296
- package/dist/adapter/client.d.ts +225 -0
- package/dist/adapter/client.d.ts.map +1 -0
- package/dist/adapter/client.js +397 -0
- package/dist/adapter/client.js.map +1 -0
- package/dist/adapter/errors.d.ts +260 -0
- package/dist/adapter/errors.d.ts.map +1 -0
- package/dist/adapter/errors.js +362 -0
- package/dist/adapter/errors.js.map +1 -0
- package/dist/adapter/types.d.ts +779 -0
- package/dist/adapter/types.d.ts.map +1 -0
- package/dist/adapter/types.js +11 -0
- package/dist/adapter/types.js.map +1 -0
- package/dist/agents/charter-compiler.d.ts +102 -0
- package/dist/agents/charter-compiler.d.ts.map +1 -0
- package/dist/agents/charter-compiler.js +157 -0
- package/dist/agents/charter-compiler.js.map +1 -0
- package/dist/agents/history-shadow.d.ts +80 -0
- package/dist/agents/history-shadow.d.ts.map +1 -0
- package/dist/agents/history-shadow.js +239 -0
- package/dist/agents/history-shadow.js.map +1 -0
- package/dist/agents/index.d.ts +68 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +74 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/lifecycle.d.ts +138 -0
- package/dist/agents/lifecycle.d.ts.map +1 -0
- package/dist/agents/lifecycle.js +258 -0
- package/dist/agents/lifecycle.js.map +1 -0
- package/dist/agents/model-selector.d.ts +80 -0
- package/dist/agents/model-selector.d.ts.map +1 -0
- package/dist/agents/model-selector.js +198 -0
- package/dist/agents/model-selector.js.map +1 -0
- package/dist/agents/onboarding.d.ts +65 -0
- package/dist/agents/onboarding.d.ts.map +1 -0
- package/dist/agents/onboarding.js +373 -0
- package/dist/agents/onboarding.js.map +1 -0
- package/dist/build/bundle.d.ts +32 -0
- package/dist/build/bundle.d.ts.map +1 -0
- package/dist/build/bundle.js +97 -0
- package/dist/build/bundle.js.map +1 -0
- package/dist/build/ci-pipeline.d.ts +51 -0
- package/dist/build/ci-pipeline.d.ts.map +1 -0
- package/dist/build/ci-pipeline.js +180 -0
- package/dist/build/ci-pipeline.js.map +1 -0
- package/dist/build/github-dist.d.ts +37 -0
- package/dist/build/github-dist.d.ts.map +1 -0
- package/dist/build/github-dist.js +117 -0
- package/dist/build/github-dist.js.map +1 -0
- package/dist/build/index.d.ts +11 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/index.js +11 -0
- package/dist/build/index.js.map +1 -0
- package/dist/build/install-migration.d.ts +28 -0
- package/dist/build/install-migration.d.ts.map +1 -0
- package/dist/build/install-migration.js +103 -0
- package/dist/build/install-migration.js.map +1 -0
- package/dist/build/npm-package.d.ts +54 -0
- package/dist/build/npm-package.d.ts.map +1 -0
- package/dist/build/npm-package.js +128 -0
- package/dist/build/npm-package.js.map +1 -0
- package/dist/build/release.d.ts +108 -0
- package/dist/build/release.d.ts.map +1 -0
- package/dist/build/release.js +295 -0
- package/dist/build/release.js.map +1 -0
- package/dist/build/versioning.d.ts +38 -0
- package/dist/build/versioning.d.ts.map +1 -0
- package/dist/build/versioning.js +113 -0
- package/dist/build/versioning.js.map +1 -0
- package/dist/casting/casting-engine.d.ts +60 -0
- package/dist/casting/casting-engine.d.ts.map +1 -0
- package/dist/casting/casting-engine.js +223 -0
- package/dist/casting/casting-engine.js.map +1 -0
- package/dist/casting/casting-history.d.ts +54 -0
- package/dist/casting/casting-history.d.ts.map +1 -0
- package/dist/casting/casting-history.js +63 -0
- package/dist/casting/casting-history.js.map +1 -0
- package/dist/casting/index.d.ts +46 -0
- package/dist/casting/index.d.ts.map +1 -0
- package/dist/casting/index.js +37 -0
- package/dist/casting/index.js.map +1 -0
- package/dist/client/event-bus.d.ts +29 -0
- package/dist/client/event-bus.d.ts.map +1 -0
- package/dist/client/event-bus.js +53 -0
- package/dist/client/event-bus.js.map +1 -0
- package/dist/client/index.d.ts +100 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +170 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/session-pool.d.ts +66 -0
- package/dist/client/session-pool.d.ts.map +1 -0
- package/dist/client/session-pool.js +145 -0
- package/dist/client/session-pool.js.map +1 -0
- package/dist/config/agent-doc.d.ts +43 -0
- package/dist/config/agent-doc.d.ts.map +1 -0
- package/dist/config/agent-doc.js +158 -0
- package/dist/config/agent-doc.js.map +1 -0
- package/dist/config/agent-source.d.ts +95 -0
- package/dist/config/agent-source.d.ts.map +1 -0
- package/dist/config/agent-source.js +274 -0
- package/dist/config/agent-source.js.map +1 -0
- package/dist/config/doc-sync.d.ts +66 -0
- package/dist/config/doc-sync.d.ts.map +1 -0
- package/dist/config/doc-sync.js +270 -0
- package/dist/config/doc-sync.js.map +1 -0
- package/dist/config/feature-audit.d.ts +49 -0
- package/dist/config/feature-audit.d.ts.map +1 -0
- package/dist/config/feature-audit.js +148 -0
- package/dist/config/feature-audit.js.map +1 -0
- package/dist/config/index.d.ts +15 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +15 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/init.d.ts +61 -0
- package/dist/config/init.d.ts.map +1 -0
- package/dist/config/init.js +369 -0
- package/dist/config/init.js.map +1 -0
- package/dist/config/legacy-fallback.d.ts +83 -0
- package/dist/config/legacy-fallback.d.ts.map +1 -0
- package/dist/config/legacy-fallback.js +212 -0
- package/dist/config/legacy-fallback.js.map +1 -0
- package/dist/config/markdown-migration.d.ts +157 -0
- package/dist/config/markdown-migration.d.ts.map +1 -0
- package/dist/config/markdown-migration.js +434 -0
- package/dist/config/markdown-migration.js.map +1 -0
- package/dist/config/migration.d.ts +123 -0
- package/dist/config/migration.d.ts.map +1 -0
- package/dist/config/migration.js +273 -0
- package/dist/config/migration.js.map +1 -0
- package/dist/config/migrations/index.d.ts +36 -0
- package/dist/config/migrations/index.d.ts.map +1 -0
- package/dist/config/migrations/index.js +216 -0
- package/dist/config/migrations/index.js.map +1 -0
- package/dist/config/models.d.ts +134 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +354 -0
- package/dist/config/models.js.map +1 -0
- package/dist/config/routing.d.ts +118 -0
- package/dist/config/routing.d.ts.map +1 -0
- package/dist/config/routing.js +247 -0
- package/dist/config/routing.js.map +1 -0
- package/dist/config/schema.d.ts +72 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +63 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/coordinator/coordinator.d.ts +82 -0
- package/dist/coordinator/coordinator.d.ts.map +1 -0
- package/dist/coordinator/coordinator.js +174 -0
- package/dist/coordinator/coordinator.js.map +1 -0
- package/dist/coordinator/direct-response.d.ts +83 -0
- package/dist/coordinator/direct-response.d.ts.map +1 -0
- package/dist/coordinator/direct-response.js +187 -0
- package/dist/coordinator/direct-response.js.map +1 -0
- package/dist/coordinator/fan-out.d.ts +83 -0
- package/dist/coordinator/fan-out.d.ts.map +1 -0
- package/dist/coordinator/fan-out.js +161 -0
- package/dist/coordinator/fan-out.js.map +1 -0
- package/dist/coordinator/index.d.ts +47 -0
- package/dist/coordinator/index.d.ts.map +1 -0
- package/dist/coordinator/index.js +54 -0
- package/dist/coordinator/index.js.map +1 -0
- package/dist/coordinator/response-tiers.d.ts +49 -0
- package/dist/coordinator/response-tiers.d.ts.map +1 -0
- package/dist/coordinator/response-tiers.js +149 -0
- package/dist/coordinator/response-tiers.js.map +1 -0
- package/dist/hooks/index.d.ts +103 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +279 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +24 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/marketplace/backend.d.ts +35 -0
- package/dist/marketplace/backend.d.ts.map +1 -0
- package/dist/marketplace/backend.js +99 -0
- package/dist/marketplace/backend.js.map +1 -0
- package/dist/marketplace/browser.d.ts +33 -0
- package/dist/marketplace/browser.d.ts.map +1 -0
- package/dist/marketplace/browser.js +97 -0
- package/dist/marketplace/browser.js.map +1 -0
- package/dist/marketplace/extension-adapter.d.ts +51 -0
- package/dist/marketplace/extension-adapter.d.ts.map +1 -0
- package/dist/marketplace/extension-adapter.js +81 -0
- package/dist/marketplace/extension-adapter.js.map +1 -0
- package/dist/marketplace/index.d.ts +51 -0
- package/dist/marketplace/index.d.ts.map +1 -0
- package/dist/marketplace/index.js +108 -0
- package/dist/marketplace/index.js.map +1 -0
- package/dist/marketplace/packaging.d.ts +25 -0
- package/dist/marketplace/packaging.d.ts.map +1 -0
- package/dist/marketplace/packaging.js +117 -0
- package/dist/marketplace/packaging.js.map +1 -0
- package/dist/marketplace/schema.d.ts +50 -0
- package/dist/marketplace/schema.d.ts.map +1 -0
- package/dist/marketplace/schema.js +120 -0
- package/dist/marketplace/schema.js.map +1 -0
- package/dist/marketplace/security.d.ts +26 -0
- package/dist/marketplace/security.d.ts.map +1 -0
- package/dist/marketplace/security.js +199 -0
- package/dist/marketplace/security.js.map +1 -0
- package/dist/parsers.d.ts +15 -0
- package/dist/parsers.d.ts.map +1 -0
- package/dist/parsers.js +15 -0
- package/dist/parsers.js.map +1 -0
- package/dist/ralph/index.d.ts +56 -0
- package/dist/ralph/index.d.ts.map +1 -0
- package/dist/ralph/index.js +61 -0
- package/dist/ralph/index.js.map +1 -0
- package/dist/resolution.d.ts +47 -0
- package/dist/resolution.d.ts.map +1 -0
- package/dist/resolution.js +106 -0
- package/dist/resolution.js.map +1 -0
- package/dist/runtime/benchmarks.d.ts +121 -0
- package/dist/runtime/benchmarks.d.ts.map +1 -0
- package/dist/runtime/benchmarks.js +251 -0
- package/dist/runtime/benchmarks.js.map +1 -0
- package/dist/runtime/config.d.ts +313 -0
- package/dist/runtime/config.d.ts.map +1 -0
- package/dist/runtime/config.js +466 -0
- package/dist/runtime/config.js.map +1 -0
- package/dist/runtime/cost-tracker.d.ts +73 -0
- package/dist/runtime/cost-tracker.d.ts.map +1 -0
- package/dist/runtime/cost-tracker.js +157 -0
- package/dist/runtime/cost-tracker.js.map +1 -0
- package/dist/runtime/event-bus.d.ts +190 -0
- package/dist/runtime/event-bus.d.ts.map +1 -0
- package/dist/runtime/event-bus.js +218 -0
- package/dist/runtime/event-bus.js.map +1 -0
- package/dist/runtime/health.d.ts +66 -0
- package/dist/runtime/health.d.ts.map +1 -0
- package/dist/runtime/health.js +111 -0
- package/dist/runtime/health.js.map +1 -0
- package/dist/runtime/i18n.d.ts +54 -0
- package/dist/runtime/i18n.d.ts.map +1 -0
- package/dist/runtime/i18n.js +126 -0
- package/dist/runtime/i18n.js.map +1 -0
- package/dist/runtime/offline.d.ts +64 -0
- package/dist/runtime/offline.d.ts.map +1 -0
- package/dist/runtime/offline.js +108 -0
- package/dist/runtime/offline.js.map +1 -0
- package/dist/runtime/streaming.d.ts +97 -0
- package/dist/runtime/streaming.d.ts.map +1 -0
- package/dist/runtime/streaming.js +156 -0
- package/dist/runtime/streaming.js.map +1 -0
- package/dist/runtime/telemetry.d.ts +82 -0
- package/dist/runtime/telemetry.d.ts.map +1 -0
- package/dist/runtime/telemetry.js +120 -0
- package/dist/runtime/telemetry.js.map +1 -0
- package/dist/sharing/agent-repo.d.ts +33 -0
- package/dist/sharing/agent-repo.d.ts.map +1 -0
- package/dist/sharing/agent-repo.js +79 -0
- package/dist/sharing/agent-repo.js.map +1 -0
- package/dist/sharing/cache.d.ts +36 -0
- package/dist/sharing/cache.d.ts.map +1 -0
- package/dist/sharing/cache.js +85 -0
- package/dist/sharing/cache.js.map +1 -0
- package/dist/sharing/conflicts.d.ts +32 -0
- package/dist/sharing/conflicts.d.ts.map +1 -0
- package/dist/sharing/conflicts.js +121 -0
- package/dist/sharing/conflicts.js.map +1 -0
- package/dist/sharing/export.d.ts +50 -0
- package/dist/sharing/export.d.ts.map +1 -0
- package/dist/sharing/export.js +156 -0
- package/dist/sharing/export.js.map +1 -0
- package/dist/sharing/history-split.d.ts +34 -0
- package/dist/sharing/history-split.d.ts.map +1 -0
- package/dist/sharing/history-split.js +101 -0
- package/dist/sharing/history-split.js.map +1 -0
- package/dist/sharing/import.d.ts +37 -0
- package/dist/sharing/import.d.ts.map +1 -0
- package/dist/sharing/import.js +138 -0
- package/dist/sharing/import.js.map +1 -0
- package/dist/sharing/index.d.ts +11 -0
- package/dist/sharing/index.d.ts.map +1 -0
- package/dist/sharing/index.js +11 -0
- package/dist/sharing/index.js.map +1 -0
- package/dist/sharing/versioning.d.ts +32 -0
- package/dist/sharing/versioning.d.ts.map +1 -0
- package/dist/sharing/versioning.js +64 -0
- package/dist/sharing/versioning.js.map +1 -0
- package/dist/skills/index.d.ts +49 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +85 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/skill-loader.d.ts +56 -0
- package/dist/skills/skill-loader.d.ts.map +1 -0
- package/dist/skills/skill-loader.js +106 -0
- package/dist/skills/skill-loader.js.map +1 -0
- package/dist/skills/skill-source.d.ts +63 -0
- package/dist/skills/skill-source.d.ts.map +1 -0
- package/dist/skills/skill-source.js +199 -0
- package/dist/skills/skill-source.js.map +1 -0
- package/dist/tools/index.d.ts +87 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +419 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +43 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/normalize-eol.d.ts +6 -0
- package/dist/utils/normalize-eol.d.ts.map +1 -0
- package/dist/utils/normalize-eol.js +8 -0
- package/dist/utils/normalize-eol.js.map +1 -0
- package/package.json +115 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/migrations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Configuration & Registry
|
|
3
|
+
*
|
|
4
|
+
* Defines the full model catalog and provides model lookup, fallback chains,
|
|
5
|
+
* and availability checking. Implements the model tier system from squad.agent.md.
|
|
6
|
+
*
|
|
7
|
+
* @module config/models
|
|
8
|
+
*/
|
|
9
|
+
import type { ModelId, ModelTier } from '../runtime/config.js';
|
|
10
|
+
/**
|
|
11
|
+
* Model capability information.
|
|
12
|
+
*/
|
|
13
|
+
export interface ModelInfo {
|
|
14
|
+
/** Model identifier */
|
|
15
|
+
id: ModelId;
|
|
16
|
+
/** Model tier */
|
|
17
|
+
tier: ModelTier;
|
|
18
|
+
/** Provider (anthropic, openai, google) */
|
|
19
|
+
provider: 'anthropic' | 'openai' | 'google';
|
|
20
|
+
/** Model family */
|
|
21
|
+
family: 'claude' | 'gpt' | 'gemini';
|
|
22
|
+
/** Supports vision/multimodal input */
|
|
23
|
+
vision?: boolean;
|
|
24
|
+
/** Typical use cases */
|
|
25
|
+
useCases?: string[];
|
|
26
|
+
/** Relative cost (1-10 scale, 10 = most expensive) */
|
|
27
|
+
cost?: number;
|
|
28
|
+
/** Relative speed (1-10 scale, 10 = fastest) */
|
|
29
|
+
speed?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Full model catalog from squad.agent.md.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MODEL_CATALOG: ModelInfo[];
|
|
35
|
+
/**
|
|
36
|
+
* Default fallback chains per tier from squad.agent.md.
|
|
37
|
+
*/
|
|
38
|
+
export declare const DEFAULT_FALLBACK_CHAINS: Record<ModelTier, ModelId[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Model registry for lookups and availability checking.
|
|
41
|
+
*/
|
|
42
|
+
export declare class ModelRegistry {
|
|
43
|
+
private catalog;
|
|
44
|
+
private tierIndex;
|
|
45
|
+
private providerIndex;
|
|
46
|
+
constructor(catalog?: ModelInfo[]);
|
|
47
|
+
/**
|
|
48
|
+
* Gets model information by ID.
|
|
49
|
+
*
|
|
50
|
+
* @param id - Model identifier
|
|
51
|
+
* @returns Model info if found, null otherwise
|
|
52
|
+
*/
|
|
53
|
+
getModelInfo(id: ModelId): ModelInfo | null;
|
|
54
|
+
/**
|
|
55
|
+
* Checks if a model is available in the catalog.
|
|
56
|
+
*
|
|
57
|
+
* @param id - Model identifier
|
|
58
|
+
* @returns True if model exists in catalog
|
|
59
|
+
*/
|
|
60
|
+
isModelAvailable(id: ModelId): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Gets all models for a specific tier.
|
|
63
|
+
*
|
|
64
|
+
* @param tier - Model tier
|
|
65
|
+
* @returns Array of models in that tier
|
|
66
|
+
*/
|
|
67
|
+
getModelsByTier(tier: ModelTier): ModelInfo[];
|
|
68
|
+
/**
|
|
69
|
+
* Gets all models from a specific provider.
|
|
70
|
+
*
|
|
71
|
+
* @param provider - Provider name
|
|
72
|
+
* @returns Array of models from that provider
|
|
73
|
+
*/
|
|
74
|
+
getModelsByProvider(provider: string): ModelInfo[];
|
|
75
|
+
/**
|
|
76
|
+
* Gets the fallback chain for a specific tier.
|
|
77
|
+
*
|
|
78
|
+
* @param tier - Model tier
|
|
79
|
+
* @param preferSameProvider - If true, prefer models from same provider
|
|
80
|
+
* @param currentModel - Current model (for provider preference)
|
|
81
|
+
* @returns Ordered array of fallback model IDs
|
|
82
|
+
*/
|
|
83
|
+
getFallbackChain(tier: ModelTier, preferSameProvider?: boolean, currentModel?: ModelId): ModelId[];
|
|
84
|
+
/**
|
|
85
|
+
* Gets the next fallback model in the chain.
|
|
86
|
+
*
|
|
87
|
+
* @param currentModel - Current model that failed
|
|
88
|
+
* @param tier - Model tier
|
|
89
|
+
* @param attemptedModels - Models already attempted
|
|
90
|
+
* @returns Next fallback model ID, or null if chain exhausted
|
|
91
|
+
*/
|
|
92
|
+
getNextFallback(currentModel: ModelId, tier: ModelTier, attemptedModels?: Set<ModelId>): ModelId | null;
|
|
93
|
+
/**
|
|
94
|
+
* Gets model recommendations based on use case.
|
|
95
|
+
*
|
|
96
|
+
* @param useCase - Desired use case
|
|
97
|
+
* @param tier - Optional tier constraint
|
|
98
|
+
* @returns Recommended models sorted by relevance
|
|
99
|
+
*/
|
|
100
|
+
getRecommendedModels(useCase: string, tier?: ModelTier): ModelInfo[];
|
|
101
|
+
/**
|
|
102
|
+
* Gets all model IDs in the catalog.
|
|
103
|
+
*
|
|
104
|
+
* @returns Array of all model IDs
|
|
105
|
+
*/
|
|
106
|
+
getAllModelIds(): ModelId[];
|
|
107
|
+
/**
|
|
108
|
+
* Gets catalog statistics.
|
|
109
|
+
*
|
|
110
|
+
* @returns Catalog stats
|
|
111
|
+
*/
|
|
112
|
+
getStats(): {
|
|
113
|
+
total: number;
|
|
114
|
+
byTier: Record<ModelTier, number>;
|
|
115
|
+
byProvider: Record<string, number>;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Default model registry instance.
|
|
120
|
+
*/
|
|
121
|
+
export declare const defaultRegistry: ModelRegistry;
|
|
122
|
+
/**
|
|
123
|
+
* Gets model information by ID (convenience function).
|
|
124
|
+
*/
|
|
125
|
+
export declare function getModelInfo(id: ModelId): ModelInfo | null;
|
|
126
|
+
/**
|
|
127
|
+
* Gets fallback chain for a tier (convenience function).
|
|
128
|
+
*/
|
|
129
|
+
export declare function getFallbackChain(tier: ModelTier): ModelId[];
|
|
130
|
+
/**
|
|
131
|
+
* Checks if model is available (convenience function).
|
|
132
|
+
*/
|
|
133
|
+
export declare function isModelAvailable(id: ModelId): boolean;
|
|
134
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,EAAE,EAAE,OAAO,CAAC;IAEZ,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAC;IAEhB,2CAA2C;IAC3C,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE5C,mBAAmB;IACnB,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAEpC,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,EA0JpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CAIhE,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,OAAO,GAAE,SAAS,EAAkB;IAqBhD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAItC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE;IAI7C;;;;;OAKG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAIlD;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,SAAS,EACf,kBAAkB,GAAE,OAAc,EAClC,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,EAAE;IA2BZ;;;;;;;OAOG;IACH,eAAe,CACb,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,SAAS,EACf,eAAe,GAAE,GAAG,CAAC,OAAO,CAAa,GACxC,OAAO,GAAG,IAAI;IAajB;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE;IAqBpE;;;;OAIG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;;;OAIG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC;CAoBF;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,eAAsB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Configuration & Registry
|
|
3
|
+
*
|
|
4
|
+
* Defines the full model catalog and provides model lookup, fallback chains,
|
|
5
|
+
* and availability checking. Implements the model tier system from squad.agent.md.
|
|
6
|
+
*
|
|
7
|
+
* @module config/models
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Full model catalog from squad.agent.md.
|
|
11
|
+
*/
|
|
12
|
+
export const MODEL_CATALOG = [
|
|
13
|
+
// Premium tier - highest quality, slowest, most expensive
|
|
14
|
+
{
|
|
15
|
+
id: 'claude-opus-4.6',
|
|
16
|
+
tier: 'premium',
|
|
17
|
+
provider: 'anthropic',
|
|
18
|
+
family: 'claude',
|
|
19
|
+
vision: true,
|
|
20
|
+
useCases: ['architecture proposals', 'security audits', 'complex design'],
|
|
21
|
+
cost: 10,
|
|
22
|
+
speed: 3
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'claude-opus-4.6-fast',
|
|
26
|
+
tier: 'premium',
|
|
27
|
+
provider: 'anthropic',
|
|
28
|
+
family: 'claude',
|
|
29
|
+
vision: true,
|
|
30
|
+
useCases: ['architecture proposals', 'urgent reviews'],
|
|
31
|
+
cost: 9,
|
|
32
|
+
speed: 6
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'claude-opus-4.5',
|
|
36
|
+
tier: 'premium',
|
|
37
|
+
provider: 'anthropic',
|
|
38
|
+
family: 'claude',
|
|
39
|
+
vision: true,
|
|
40
|
+
useCases: ['architecture proposals', 'reviewer gates'],
|
|
41
|
+
cost: 9,
|
|
42
|
+
speed: 3
|
|
43
|
+
},
|
|
44
|
+
// Standard tier - balanced quality, speed, cost
|
|
45
|
+
{
|
|
46
|
+
id: 'claude-sonnet-4.5',
|
|
47
|
+
tier: 'standard',
|
|
48
|
+
provider: 'anthropic',
|
|
49
|
+
family: 'claude',
|
|
50
|
+
vision: true,
|
|
51
|
+
useCases: ['code generation', 'test writing', 'refactoring'],
|
|
52
|
+
cost: 5,
|
|
53
|
+
speed: 7
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'claude-sonnet-4',
|
|
57
|
+
tier: 'standard',
|
|
58
|
+
provider: 'anthropic',
|
|
59
|
+
family: 'claude',
|
|
60
|
+
useCases: ['code generation', 'documentation'],
|
|
61
|
+
cost: 4,
|
|
62
|
+
speed: 7
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: 'gpt-5.2-codex',
|
|
66
|
+
tier: 'standard',
|
|
67
|
+
provider: 'openai',
|
|
68
|
+
family: 'gpt',
|
|
69
|
+
useCases: ['heavy code generation', 'multi-file refactors'],
|
|
70
|
+
cost: 5,
|
|
71
|
+
speed: 6
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'gpt-5.2',
|
|
75
|
+
tier: 'standard',
|
|
76
|
+
provider: 'openai',
|
|
77
|
+
family: 'gpt',
|
|
78
|
+
useCases: ['general coding', 'analysis'],
|
|
79
|
+
cost: 5,
|
|
80
|
+
speed: 6
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'gpt-5.1-codex-max',
|
|
84
|
+
tier: 'standard',
|
|
85
|
+
provider: 'openai',
|
|
86
|
+
family: 'gpt',
|
|
87
|
+
useCases: ['complex implementation', 'large codebases'],
|
|
88
|
+
cost: 6,
|
|
89
|
+
speed: 5
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: 'gpt-5.1-codex',
|
|
93
|
+
tier: 'standard',
|
|
94
|
+
provider: 'openai',
|
|
95
|
+
family: 'gpt',
|
|
96
|
+
useCases: ['code generation', 'implementation'],
|
|
97
|
+
cost: 5,
|
|
98
|
+
speed: 6
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 'gpt-5.1',
|
|
102
|
+
tier: 'standard',
|
|
103
|
+
provider: 'openai',
|
|
104
|
+
family: 'gpt',
|
|
105
|
+
useCases: ['general purpose', 'analysis'],
|
|
106
|
+
cost: 5,
|
|
107
|
+
speed: 6
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'gpt-5',
|
|
111
|
+
tier: 'standard',
|
|
112
|
+
provider: 'openai',
|
|
113
|
+
family: 'gpt',
|
|
114
|
+
useCases: ['general purpose'],
|
|
115
|
+
cost: 5,
|
|
116
|
+
speed: 6
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: 'gemini-3-pro-preview',
|
|
120
|
+
tier: 'standard',
|
|
121
|
+
provider: 'google',
|
|
122
|
+
family: 'gemini',
|
|
123
|
+
useCases: ['code reviews', 'second opinion', 'diversity'],
|
|
124
|
+
cost: 5,
|
|
125
|
+
speed: 7
|
|
126
|
+
},
|
|
127
|
+
// Fast tier - lowest cost, fastest, good enough quality
|
|
128
|
+
{
|
|
129
|
+
id: 'claude-haiku-4.5',
|
|
130
|
+
tier: 'fast',
|
|
131
|
+
provider: 'anthropic',
|
|
132
|
+
family: 'claude',
|
|
133
|
+
useCases: ['boilerplate', 'changelogs', 'simple fixes'],
|
|
134
|
+
cost: 2,
|
|
135
|
+
speed: 9
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
id: 'gpt-5.1-codex-mini',
|
|
139
|
+
tier: 'fast',
|
|
140
|
+
provider: 'openai',
|
|
141
|
+
family: 'gpt',
|
|
142
|
+
useCases: ['scaffolding', 'test boilerplate'],
|
|
143
|
+
cost: 2,
|
|
144
|
+
speed: 9
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: 'gpt-5-mini',
|
|
148
|
+
tier: 'fast',
|
|
149
|
+
provider: 'openai',
|
|
150
|
+
family: 'gpt',
|
|
151
|
+
useCases: ['typo fixes', 'renames', 'simple tasks'],
|
|
152
|
+
cost: 1,
|
|
153
|
+
speed: 10
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: 'gpt-4.1',
|
|
157
|
+
tier: 'fast',
|
|
158
|
+
provider: 'openai',
|
|
159
|
+
family: 'gpt',
|
|
160
|
+
useCases: ['lightweight tasks', 'triage'],
|
|
161
|
+
cost: 2,
|
|
162
|
+
speed: 9
|
|
163
|
+
}
|
|
164
|
+
];
|
|
165
|
+
/**
|
|
166
|
+
* Default fallback chains per tier from squad.agent.md.
|
|
167
|
+
*/
|
|
168
|
+
export const DEFAULT_FALLBACK_CHAINS = {
|
|
169
|
+
premium: ['claude-opus-4.6', 'claude-opus-4.6-fast', 'claude-opus-4.5', 'claude-sonnet-4.5'],
|
|
170
|
+
standard: ['claude-sonnet-4.5', 'gpt-5.2-codex', 'claude-sonnet-4', 'gpt-5.2'],
|
|
171
|
+
fast: ['claude-haiku-4.5', 'gpt-5.1-codex-mini', 'gpt-4.1', 'gpt-5-mini']
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Model registry for lookups and availability checking.
|
|
175
|
+
*/
|
|
176
|
+
export class ModelRegistry {
|
|
177
|
+
catalog;
|
|
178
|
+
tierIndex;
|
|
179
|
+
providerIndex;
|
|
180
|
+
constructor(catalog = MODEL_CATALOG) {
|
|
181
|
+
this.catalog = new Map(catalog.map(model => [model.id, model]));
|
|
182
|
+
// Build tier index
|
|
183
|
+
this.tierIndex = new Map();
|
|
184
|
+
for (const tier of ['premium', 'standard', 'fast']) {
|
|
185
|
+
this.tierIndex.set(tier, catalog.filter(m => m.tier === tier));
|
|
186
|
+
}
|
|
187
|
+
// Build provider index
|
|
188
|
+
this.providerIndex = new Map();
|
|
189
|
+
for (const model of catalog) {
|
|
190
|
+
const existing = this.providerIndex.get(model.provider) || [];
|
|
191
|
+
existing.push(model);
|
|
192
|
+
this.providerIndex.set(model.provider, existing);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Gets model information by ID.
|
|
197
|
+
*
|
|
198
|
+
* @param id - Model identifier
|
|
199
|
+
* @returns Model info if found, null otherwise
|
|
200
|
+
*/
|
|
201
|
+
getModelInfo(id) {
|
|
202
|
+
return this.catalog.get(id) || null;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Checks if a model is available in the catalog.
|
|
206
|
+
*
|
|
207
|
+
* @param id - Model identifier
|
|
208
|
+
* @returns True if model exists in catalog
|
|
209
|
+
*/
|
|
210
|
+
isModelAvailable(id) {
|
|
211
|
+
return this.catalog.has(id);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Gets all models for a specific tier.
|
|
215
|
+
*
|
|
216
|
+
* @param tier - Model tier
|
|
217
|
+
* @returns Array of models in that tier
|
|
218
|
+
*/
|
|
219
|
+
getModelsByTier(tier) {
|
|
220
|
+
return this.tierIndex.get(tier) || [];
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Gets all models from a specific provider.
|
|
224
|
+
*
|
|
225
|
+
* @param provider - Provider name
|
|
226
|
+
* @returns Array of models from that provider
|
|
227
|
+
*/
|
|
228
|
+
getModelsByProvider(provider) {
|
|
229
|
+
return this.providerIndex.get(provider) || [];
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Gets the fallback chain for a specific tier.
|
|
233
|
+
*
|
|
234
|
+
* @param tier - Model tier
|
|
235
|
+
* @param preferSameProvider - If true, prefer models from same provider
|
|
236
|
+
* @param currentModel - Current model (for provider preference)
|
|
237
|
+
* @returns Ordered array of fallback model IDs
|
|
238
|
+
*/
|
|
239
|
+
getFallbackChain(tier, preferSameProvider = true, currentModel) {
|
|
240
|
+
const defaultChain = DEFAULT_FALLBACK_CHAINS[tier] || [];
|
|
241
|
+
if (!preferSameProvider || !currentModel) {
|
|
242
|
+
return defaultChain;
|
|
243
|
+
}
|
|
244
|
+
// Get current model's provider
|
|
245
|
+
const current = this.getModelInfo(currentModel);
|
|
246
|
+
if (!current) {
|
|
247
|
+
return defaultChain;
|
|
248
|
+
}
|
|
249
|
+
// Reorder chain to prefer same provider
|
|
250
|
+
const sameProvider = defaultChain.filter(id => {
|
|
251
|
+
const model = this.getModelInfo(id);
|
|
252
|
+
return model?.provider === current.provider;
|
|
253
|
+
});
|
|
254
|
+
const otherProvider = defaultChain.filter(id => {
|
|
255
|
+
const model = this.getModelInfo(id);
|
|
256
|
+
return model?.provider !== current.provider;
|
|
257
|
+
});
|
|
258
|
+
return [...sameProvider, ...otherProvider];
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Gets the next fallback model in the chain.
|
|
262
|
+
*
|
|
263
|
+
* @param currentModel - Current model that failed
|
|
264
|
+
* @param tier - Model tier
|
|
265
|
+
* @param attemptedModels - Models already attempted
|
|
266
|
+
* @returns Next fallback model ID, or null if chain exhausted
|
|
267
|
+
*/
|
|
268
|
+
getNextFallback(currentModel, tier, attemptedModels = new Set()) {
|
|
269
|
+
const chain = this.getFallbackChain(tier, true, currentModel);
|
|
270
|
+
// Find next model in chain that hasn't been attempted
|
|
271
|
+
for (const modelId of chain) {
|
|
272
|
+
if (modelId !== currentModel && !attemptedModels.has(modelId)) {
|
|
273
|
+
return modelId;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Gets model recommendations based on use case.
|
|
280
|
+
*
|
|
281
|
+
* @param useCase - Desired use case
|
|
282
|
+
* @param tier - Optional tier constraint
|
|
283
|
+
* @returns Recommended models sorted by relevance
|
|
284
|
+
*/
|
|
285
|
+
getRecommendedModels(useCase, tier) {
|
|
286
|
+
const useCaseLower = useCase.toLowerCase();
|
|
287
|
+
const candidates = tier
|
|
288
|
+
? this.getModelsByTier(tier)
|
|
289
|
+
: Array.from(this.catalog.values());
|
|
290
|
+
// Score models by use case match
|
|
291
|
+
const scored = candidates
|
|
292
|
+
.map(model => ({
|
|
293
|
+
model,
|
|
294
|
+
score: model.useCases?.some(uc => uc.toLowerCase().includes(useCaseLower) ||
|
|
295
|
+
useCaseLower.includes(uc.toLowerCase())) ? 10 : 0
|
|
296
|
+
}))
|
|
297
|
+
.filter(item => item.score > 0)
|
|
298
|
+
.sort((a, b) => b.score - a.score);
|
|
299
|
+
return scored.map(item => item.model);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Gets all model IDs in the catalog.
|
|
303
|
+
*
|
|
304
|
+
* @returns Array of all model IDs
|
|
305
|
+
*/
|
|
306
|
+
getAllModelIds() {
|
|
307
|
+
return Array.from(this.catalog.keys());
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Gets catalog statistics.
|
|
311
|
+
*
|
|
312
|
+
* @returns Catalog stats
|
|
313
|
+
*/
|
|
314
|
+
getStats() {
|
|
315
|
+
const byTier = {
|
|
316
|
+
premium: 0,
|
|
317
|
+
standard: 0,
|
|
318
|
+
fast: 0
|
|
319
|
+
};
|
|
320
|
+
const byProvider = {};
|
|
321
|
+
for (const model of this.catalog.values()) {
|
|
322
|
+
byTier[model.tier]++;
|
|
323
|
+
byProvider[model.provider] = (byProvider[model.provider] || 0) + 1;
|
|
324
|
+
}
|
|
325
|
+
return {
|
|
326
|
+
total: this.catalog.size,
|
|
327
|
+
byTier,
|
|
328
|
+
byProvider
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Default model registry instance.
|
|
334
|
+
*/
|
|
335
|
+
export const defaultRegistry = new ModelRegistry();
|
|
336
|
+
/**
|
|
337
|
+
* Gets model information by ID (convenience function).
|
|
338
|
+
*/
|
|
339
|
+
export function getModelInfo(id) {
|
|
340
|
+
return defaultRegistry.getModelInfo(id);
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Gets fallback chain for a tier (convenience function).
|
|
344
|
+
*/
|
|
345
|
+
export function getFallbackChain(tier) {
|
|
346
|
+
return defaultRegistry.getFallbackChain(tier);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Checks if model is available (convenience function).
|
|
350
|
+
*/
|
|
351
|
+
export function isModelAvailable(id) {
|
|
352
|
+
return defaultRegistry.isModelAvailable(id);
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Routing Configuration Module
|
|
3
|
+
*
|
|
4
|
+
* Parses routing.md markdown format into typed RoutingConfig and compiles routing rules
|
|
5
|
+
* for fast pattern matching. Supports both markdown (legacy) and typed config (new).
|
|
6
|
+
*
|
|
7
|
+
* @module config/routing
|
|
8
|
+
*/
|
|
9
|
+
import type { RoutingConfig } from '../runtime/config.js';
|
|
10
|
+
/**
|
|
11
|
+
* Compiled routing matcher with regex patterns.
|
|
12
|
+
*/
|
|
13
|
+
export interface CompiledRouter {
|
|
14
|
+
/** Compiled work type rules */
|
|
15
|
+
workTypeRules: CompiledWorkTypeRule[];
|
|
16
|
+
/** Compiled issue routing rules */
|
|
17
|
+
issueRules?: CompiledIssueRule[];
|
|
18
|
+
/** Fallback agent if no match */
|
|
19
|
+
fallbackAgent?: string;
|
|
20
|
+
/** Governance settings */
|
|
21
|
+
governance?: {
|
|
22
|
+
eagerByDefault?: boolean;
|
|
23
|
+
scribeAutoRuns?: boolean;
|
|
24
|
+
allowRecursiveSpawn?: boolean;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Compiled work type rule with regex patterns.
|
|
30
|
+
*/
|
|
31
|
+
export interface CompiledWorkTypeRule {
|
|
32
|
+
/** Original work type */
|
|
33
|
+
workType: string;
|
|
34
|
+
/** Agents to route to */
|
|
35
|
+
agents: string[];
|
|
36
|
+
/** Compiled regex patterns for matching */
|
|
37
|
+
patterns: RegExp[];
|
|
38
|
+
/** Examples for LLM understanding */
|
|
39
|
+
examples?: string[];
|
|
40
|
+
/** Confidence level */
|
|
41
|
+
confidence?: 'high' | 'medium' | 'low';
|
|
42
|
+
/** Priority (higher = more specific) */
|
|
43
|
+
priority: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Compiled issue routing rule.
|
|
47
|
+
*/
|
|
48
|
+
export interface CompiledIssueRule {
|
|
49
|
+
/** Label pattern (regex) */
|
|
50
|
+
labelPattern: RegExp;
|
|
51
|
+
/** Action to take */
|
|
52
|
+
action: 'assign' | 'route' | 'evaluate';
|
|
53
|
+
/** Target agent */
|
|
54
|
+
target?: string;
|
|
55
|
+
/** Required labels (all must match) */
|
|
56
|
+
requiredLabels?: RegExp[];
|
|
57
|
+
/** Excluded labels (none can match) */
|
|
58
|
+
excludedLabels?: RegExp[];
|
|
59
|
+
/** Issue state filter */
|
|
60
|
+
state?: 'open' | 'closed' | 'all';
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Routing match result.
|
|
64
|
+
*/
|
|
65
|
+
export interface RoutingMatch {
|
|
66
|
+
/** Matched agents */
|
|
67
|
+
agents: string[];
|
|
68
|
+
/** Match confidence */
|
|
69
|
+
confidence: 'high' | 'medium' | 'low';
|
|
70
|
+
/** Matched rule */
|
|
71
|
+
rule?: CompiledWorkTypeRule;
|
|
72
|
+
/** Match reason */
|
|
73
|
+
reason: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Parses routing.md markdown table format into typed RoutingConfig.
|
|
77
|
+
*
|
|
78
|
+
* Expected format:
|
|
79
|
+
* ```markdown
|
|
80
|
+
* ## Routing Table
|
|
81
|
+
*
|
|
82
|
+
* | Work Type | Route To | Examples |
|
|
83
|
+
* |-----------|----------|----------|
|
|
84
|
+
* | feature-dev | Lead | New features, enhancements |
|
|
85
|
+
* | bug-fix | Developer | Bug fixes, patches |
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @param content - Markdown content from routing.md
|
|
89
|
+
* @returns Parsed routing configuration
|
|
90
|
+
*/
|
|
91
|
+
export declare function parseRoutingMarkdown(content: string): RoutingConfig;
|
|
92
|
+
/**
|
|
93
|
+
* Compiles routing rules for fast pattern matching.
|
|
94
|
+
*
|
|
95
|
+
* Creates regex patterns from work types and assigns priority scores
|
|
96
|
+
* based on specificity. More specific patterns get higher priority.
|
|
97
|
+
*
|
|
98
|
+
* @param config - Routing configuration to compile
|
|
99
|
+
* @returns Compiled router with regex patterns
|
|
100
|
+
*/
|
|
101
|
+
export declare function compileRoutingRules(config: RoutingConfig): CompiledRouter;
|
|
102
|
+
/**
|
|
103
|
+
* Matches a message to routing rules.
|
|
104
|
+
*
|
|
105
|
+
* @param message - User message to match
|
|
106
|
+
* @param router - Compiled router
|
|
107
|
+
* @returns Best routing match
|
|
108
|
+
*/
|
|
109
|
+
export declare function matchRoute(message: string, router: CompiledRouter): RoutingMatch;
|
|
110
|
+
/**
|
|
111
|
+
* Matches issue labels to routing rules.
|
|
112
|
+
*
|
|
113
|
+
* @param labels - Issue labels to match
|
|
114
|
+
* @param rules - Compiled issue routing rules
|
|
115
|
+
* @returns Matching rule if found
|
|
116
|
+
*/
|
|
117
|
+
export declare function matchIssueLabels(labels: string[], rules: CompiledIssueRule[]): CompiledIssueRule | undefined;
|
|
118
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/config/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,sBAAsB,CAAC;AAGzF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAEtC,mCAAmC;IACnC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEjC,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0BAA0B;IAC1B,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEvC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IAErB,qBAAqB;IACrB,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAExC,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,uBAAuB;IACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEtC,mBAAmB;IACnB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAE5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CA4EnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CA4BzE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,CAuBhF;AAgFD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,iBAAiB,EAAE,GACzB,iBAAiB,GAAG,SAAS,CAgC/B"}
|