@task-shepherd/agent 1.0.8 → 1.0.12
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/cli/index.js +166 -161
- package/dist/index.js +1 -1
- package/dist/meta.json +1263 -86
- package/package.json +1 -2
- package/shared/dist/index.d.ts +0 -15
- package/shared/dist/index.js +0 -12
- package/shared/dist/mcp-client/client.d.ts +0 -18
- package/shared/dist/mcp-client/client.js +0 -49
- package/shared/dist/mcp-client/index.d.ts +0 -7
- package/shared/dist/mcp-client/index.js +0 -7
- package/shared/dist/mcp-client/types.d.ts +0 -822
- package/shared/dist/mcp-client/types.js +0 -193
- package/shared/dist/schema/index.d.ts +0 -189
- package/shared/dist/schema/index.js +0 -142
- package/shared/dist/schema/mcp-mappings.d.ts +0 -50
- package/shared/dist/schema/mcp-mappings.js +0 -563
- package/shared/dist/schema/validation.d.ts +0 -91
- package/shared/dist/schema/validation.js +0 -282
- package/shared/dist/work-queue/index.d.ts +0 -7
- package/shared/dist/work-queue/index.js +0 -7
- package/shared/dist/work-queue/types.d.ts +0 -147
- package/shared/dist/work-queue/types.js +0 -4
- package/shared/dist/work-queue/validation.d.ts +0 -24
- package/shared/dist/work-queue/validation.js +0 -160
- package/shared/dist/workspace/constants.d.ts +0 -148
- package/shared/dist/workspace/constants.js +0 -432
- package/shared/dist/workspace/index.d.ts +0 -10
- package/shared/dist/workspace/index.js +0 -10
- package/shared/dist/workspace/types.d.ts +0 -477
- package/shared/dist/workspace/types.js +0 -9
- package/shared/dist/workspace/utils.d.ts +0 -79
- package/shared/dist/workspace/utils.js +0 -334
- package/shared/dist/workspace/validation.d.ts +0 -1312
- package/shared/dist/workspace/validation.js +0 -467
- package/shared/graphql/generated-internal.ts +0 -3629
- package/shared/graphql/generated-public.ts +0 -773
- package/shared/graphql/generated.d.ts +0 -7456
- package/shared/graphql/generated.js +0 -11799
- package/shared/graphql/generated.ts +0 -27569
- package/shared/graphql/generated.ts.backup +0 -16531
- package/shared/graphql/generated.ts.working +0 -4828
- package/shared/graphql/introspection-internal.json +0 -15845
- package/shared/graphql/introspection-public.json +0 -9658
- package/shared/graphql/introspection.json +0 -44263
- package/shared/graphql/operations/ai-service.graphql +0 -131
- package/shared/graphql/operations/ai-work-queue.graphql +0 -31
- package/shared/graphql/operations/analytics.graphql +0 -283
- package/shared/graphql/operations/analytics.ts +0 -3
- package/shared/graphql/operations/api-keys.graphql +0 -126
- package/shared/graphql/operations/attachments.graphql +0 -53
- package/shared/graphql/operations/attachments.ts +0 -39
- package/shared/graphql/operations/audit.graphql +0 -46
- package/shared/graphql/operations/auth.graphql +0 -83
- package/shared/graphql/operations/claude-usage.graphql +0 -178
- package/shared/graphql/operations/comments.graphql +0 -4
- package/shared/graphql/operations/dashboard.graphql +0 -29
- package/shared/graphql/operations/development-plans.graphql +0 -408
- package/shared/graphql/operations/early-access.graphql.disabled +0 -21
- package/shared/graphql/operations/errors.graphql.disabled +0 -83
- package/shared/graphql/operations/internal-api.graphql +0 -931
- package/shared/graphql/operations/notifications.graphql +0 -4
- package/shared/graphql/operations/organization-invites.graphql.disabled +0 -32
- package/shared/graphql/operations/performance.graphql +0 -4
- package/shared/graphql/operations/project-reviews.graphql +0 -610
- package/shared/graphql/operations/projects.graphql +0 -98
- package/shared/graphql/operations/settings.graphql +0 -4
- package/shared/graphql/operations/stories.graphql +0 -113
- package/shared/graphql/operations/subscriptions.graphql +0 -235
- package/shared/graphql/operations/subscriptions.graphql.disabled +0 -96
- package/shared/graphql/operations/tasks.graphql +0 -257
- package/shared/graphql/operations/team.graphql +0 -111
- package/shared/graphql/operations/team.ts +0 -226
- package/shared/graphql/operations/time-tracking.graphql.disabled +0 -96
- package/shared/graphql/operations/work-queue.graphql +0 -210
- package/shared/graphql/operations/work-queue.graphql.disabled +0 -474
- package/shared/graphql/operations/workspace.graphql +0 -146
- package/shared/graphql/schema-internal.graphql +0 -1085
- package/shared/graphql/schema-public.graphql +0 -709
- package/shared/graphql/schema.graphql +0 -3473
- package/shared/package.json +0 -23
|
@@ -1,477 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Workspace Configuration Types
|
|
3
|
-
*
|
|
4
|
-
* Defines TypeScript interfaces for workspace configuration that support:
|
|
5
|
-
* - Monorepo patterns (single repo, multiple services)
|
|
6
|
-
* - Multi-repo patterns (multiple repos, distributed services)
|
|
7
|
-
* - Hybrid patterns (combination of both)
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Workspace pattern type - determines how services are organized
|
|
11
|
-
*/
|
|
12
|
-
export type WorkspacePattern = 'monorepo' | 'multi-repo' | 'hybrid';
|
|
13
|
-
/**
|
|
14
|
-
* Service technology stack classification
|
|
15
|
-
*/
|
|
16
|
-
export type ServiceTechnology = 'nodejs' | 'python' | 'go' | 'rust' | 'java' | 'dotnet' | 'php' | 'ruby' | 'react' | 'vue' | 'angular' | 'static' | 'database' | 'cache' | 'queue' | 'other';
|
|
17
|
-
/**
|
|
18
|
-
* Service dependency type
|
|
19
|
-
*/
|
|
20
|
-
export interface ServiceDependency {
|
|
21
|
-
/** Name of the dependency service */
|
|
22
|
-
service: string;
|
|
23
|
-
/** Type of dependency */
|
|
24
|
-
type: 'required' | 'optional' | 'development';
|
|
25
|
-
/** Minimum version required (if applicable) */
|
|
26
|
-
version?: string;
|
|
27
|
-
/** Description of the dependency relationship */
|
|
28
|
-
description?: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Service endpoint configuration
|
|
32
|
-
*/
|
|
33
|
-
export interface ServiceEndpoint {
|
|
34
|
-
/** Service unique identifier */
|
|
35
|
-
id: string;
|
|
36
|
-
/** Human-readable service name */
|
|
37
|
-
name: string;
|
|
38
|
-
/** Service description */
|
|
39
|
-
description?: string;
|
|
40
|
-
/** Service base URL */
|
|
41
|
-
url: string;
|
|
42
|
-
/** Service port */
|
|
43
|
-
port: number;
|
|
44
|
-
/** Service protocol */
|
|
45
|
-
protocol: 'http' | 'https' | 'ws' | 'wss' | 'tcp' | 'udp' | 'grpc' | 'postgresql' | 'redis' | 'mongodb';
|
|
46
|
-
/** Service technology stack */
|
|
47
|
-
technology: ServiceTechnology;
|
|
48
|
-
/** Service environment */
|
|
49
|
-
environment: 'development' | 'staging' | 'production' | 'test';
|
|
50
|
-
/** Service health check endpoint */
|
|
51
|
-
healthCheck?: string;
|
|
52
|
-
/** Service version */
|
|
53
|
-
version?: string;
|
|
54
|
-
/** Service dependencies */
|
|
55
|
-
dependencies: ServiceDependency[];
|
|
56
|
-
/** Service authentication configuration */
|
|
57
|
-
auth?: ServiceAuthentication;
|
|
58
|
-
/** Service-specific metadata */
|
|
59
|
-
metadata?: Record<string, any>;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Service authentication configuration
|
|
63
|
-
*/
|
|
64
|
-
export interface ServiceAuthentication {
|
|
65
|
-
/** Authentication type */
|
|
66
|
-
type: 'none' | 'basic' | 'bearer' | 'apikey' | 'oauth2' | 'custom';
|
|
67
|
-
/** Authentication credentials */
|
|
68
|
-
credentials?: Record<string, string>;
|
|
69
|
-
/** Authentication headers */
|
|
70
|
-
headers?: Record<string, string>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Repository configuration for multi-repo patterns
|
|
74
|
-
*/
|
|
75
|
-
export interface RepositoryConfig {
|
|
76
|
-
/** Repository unique identifier */
|
|
77
|
-
id: string;
|
|
78
|
-
/** Repository name */
|
|
79
|
-
name: string;
|
|
80
|
-
/** Repository URL */
|
|
81
|
-
url: string;
|
|
82
|
-
/** Local path (relative to workspace root) */
|
|
83
|
-
path: string;
|
|
84
|
-
/** Default branch */
|
|
85
|
-
branch: string;
|
|
86
|
-
/** Repository type */
|
|
87
|
-
type: 'primary' | 'service' | 'library' | 'config';
|
|
88
|
-
/** Services contained in this repository */
|
|
89
|
-
services: string[];
|
|
90
|
-
/** Repository-specific configuration */
|
|
91
|
-
config?: {
|
|
92
|
-
/** Package manager */
|
|
93
|
-
packageManager?: 'npm' | 'yarn' | 'pnpm' | 'pip' | 'go mod' | 'cargo' | 'maven' | 'gradle';
|
|
94
|
-
/** Build commands */
|
|
95
|
-
buildCommands?: string[];
|
|
96
|
-
/** Test commands */
|
|
97
|
-
testCommands?: string[];
|
|
98
|
-
/** Lint commands */
|
|
99
|
-
lintCommands?: string[];
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* AI model configuration
|
|
104
|
-
*/
|
|
105
|
-
export interface AIModelConfig {
|
|
106
|
-
/** AI provider */
|
|
107
|
-
provider: 'claude' | 'openai' | 'gemini' | 'azure' | 'custom';
|
|
108
|
-
/** Model name */
|
|
109
|
-
model: string;
|
|
110
|
-
/** API key or path to key file */
|
|
111
|
-
apiKey: string;
|
|
112
|
-
/** Model-specific configuration */
|
|
113
|
-
config?: Record<string, any>;
|
|
114
|
-
/** Rate limiting configuration */
|
|
115
|
-
rateLimit?: {
|
|
116
|
-
requestsPerMinute?: number;
|
|
117
|
-
tokensPerMinute?: number;
|
|
118
|
-
requestsPerDay?: number;
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* AI capabilities and constraints
|
|
123
|
-
*/
|
|
124
|
-
export interface AICapabilities {
|
|
125
|
-
/** Maximum concurrent operations */
|
|
126
|
-
maxConcurrentOperations: number;
|
|
127
|
-
/** Supported analysis types */
|
|
128
|
-
supportedAnalysisTypes: string[];
|
|
129
|
-
/** Workspace isolation level */
|
|
130
|
-
isolationLevel: 'strict' | 'moderate' | 'relaxed';
|
|
131
|
-
/** Service-specific capabilities */
|
|
132
|
-
serviceCapabilities?: Record<string, string[]>;
|
|
133
|
-
/** Custom capability extensions */
|
|
134
|
-
customCapabilities?: Record<string, any>;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* File system paths configuration
|
|
138
|
-
*/
|
|
139
|
-
export interface WorkspacePaths {
|
|
140
|
-
/** Root directory of the workspace */
|
|
141
|
-
root: string;
|
|
142
|
-
/** Source code directories */
|
|
143
|
-
src: string[];
|
|
144
|
-
/** Test directories */
|
|
145
|
-
tests: string[];
|
|
146
|
-
/** Documentation directories */
|
|
147
|
-
docs: string[];
|
|
148
|
-
/** Configuration directories */
|
|
149
|
-
config: string[];
|
|
150
|
-
/** Build output directories */
|
|
151
|
-
build: string[];
|
|
152
|
-
/** Temporary directories */
|
|
153
|
-
temp: string[];
|
|
154
|
-
/** Log directories */
|
|
155
|
-
logs: string[];
|
|
156
|
-
/** Cache directories */
|
|
157
|
-
cache: string[];
|
|
158
|
-
/** Asset directories */
|
|
159
|
-
assets: string[];
|
|
160
|
-
/** Excluded directories (not analyzed) */
|
|
161
|
-
excluded: string[];
|
|
162
|
-
/** Service-specific paths */
|
|
163
|
-
servicePaths?: Record<string, string[]>;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Security and access control configuration
|
|
167
|
-
*/
|
|
168
|
-
export interface SecurityConfig {
|
|
169
|
-
/** File access permissions */
|
|
170
|
-
filePermissions: {
|
|
171
|
-
/** Allow file reading */
|
|
172
|
-
read: boolean;
|
|
173
|
-
/** Allow file writing */
|
|
174
|
-
write: boolean;
|
|
175
|
-
/** Allow file execution */
|
|
176
|
-
execute: boolean;
|
|
177
|
-
/** Restricted file patterns */
|
|
178
|
-
restricted: string[];
|
|
179
|
-
/** Read-only paths */
|
|
180
|
-
readOnly: string[];
|
|
181
|
-
};
|
|
182
|
-
/** Network access permissions */
|
|
183
|
-
networkPermissions: {
|
|
184
|
-
/** Allow outbound HTTP requests */
|
|
185
|
-
http: boolean;
|
|
186
|
-
/** Allow outbound HTTPS requests */
|
|
187
|
-
https: boolean;
|
|
188
|
-
/** Allowed domains */
|
|
189
|
-
allowedDomains: string[];
|
|
190
|
-
/** Blocked domains */
|
|
191
|
-
blockedDomains: string[];
|
|
192
|
-
/** Allowed ports */
|
|
193
|
-
allowedPorts?: number[];
|
|
194
|
-
};
|
|
195
|
-
/** API access control */
|
|
196
|
-
apiAccess?: {
|
|
197
|
-
/** Allowed API endpoints */
|
|
198
|
-
allowedEndpoints: string[];
|
|
199
|
-
/** API rate limits */
|
|
200
|
-
rateLimits?: Record<string, number>;
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Development environment configuration
|
|
205
|
-
*/
|
|
206
|
-
export interface DevelopmentConfig {
|
|
207
|
-
/** Primary package manager */
|
|
208
|
-
packageManager: 'npm' | 'yarn' | 'pnpm' | 'pip' | 'go mod' | 'cargo' | 'maven' | 'gradle';
|
|
209
|
-
/** Runtime version requirements */
|
|
210
|
-
runtimeVersions?: {
|
|
211
|
-
node?: string;
|
|
212
|
-
python?: string;
|
|
213
|
-
go?: string;
|
|
214
|
-
rust?: string;
|
|
215
|
-
java?: string;
|
|
216
|
-
dotnet?: string;
|
|
217
|
-
};
|
|
218
|
-
/** Environment variables */
|
|
219
|
-
env?: Record<string, string>;
|
|
220
|
-
/** Development scripts */
|
|
221
|
-
scripts?: {
|
|
222
|
-
/** Start development server */
|
|
223
|
-
start?: string;
|
|
224
|
-
/** Build project */
|
|
225
|
-
build?: string;
|
|
226
|
-
/** Run all tests */
|
|
227
|
-
test?: string;
|
|
228
|
-
/** Run linting */
|
|
229
|
-
lint?: string;
|
|
230
|
-
/** Type checking */
|
|
231
|
-
typeCheck?: string;
|
|
232
|
-
/** Database setup */
|
|
233
|
-
dbSetup?: string;
|
|
234
|
-
/** Clean build artifacts */
|
|
235
|
-
clean?: string;
|
|
236
|
-
};
|
|
237
|
-
/** Development tools configuration */
|
|
238
|
-
tools?: {
|
|
239
|
-
/** Code formatter */
|
|
240
|
-
formatter?: 'prettier' | 'black' | 'gofmt' | 'rustfmt' | 'custom';
|
|
241
|
-
/** Linter configuration */
|
|
242
|
-
linter?: 'eslint' | 'pylint' | 'golangci-lint' | 'clippy' | 'custom';
|
|
243
|
-
/** Testing framework */
|
|
244
|
-
testFramework?: 'jest' | 'vitest' | 'pytest' | 'go test' | 'cargo test' | 'custom';
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* External integrations configuration
|
|
249
|
-
*/
|
|
250
|
-
export interface IntegrationsConfig {
|
|
251
|
-
/** TasqHub backend integration */
|
|
252
|
-
tasqhub?: {
|
|
253
|
-
/** TasqHub API URL */
|
|
254
|
-
apiUrl: string;
|
|
255
|
-
/** TasqHub API key */
|
|
256
|
-
apiKey: string;
|
|
257
|
-
/** Project ID */
|
|
258
|
-
projectId?: string;
|
|
259
|
-
/** Workspace ID in TasqHub */
|
|
260
|
-
workspaceId?: string;
|
|
261
|
-
};
|
|
262
|
-
/** Git configuration */
|
|
263
|
-
git?: {
|
|
264
|
-
/** Remote repositories */
|
|
265
|
-
remotes: Record<string, string>;
|
|
266
|
-
/** Default branch */
|
|
267
|
-
defaultBranch: string;
|
|
268
|
-
/** Git hooks configuration */
|
|
269
|
-
hooks?: {
|
|
270
|
-
preCommit?: string[];
|
|
271
|
-
postCommit?: string[];
|
|
272
|
-
prePush?: string[];
|
|
273
|
-
postMerge?: string[];
|
|
274
|
-
};
|
|
275
|
-
};
|
|
276
|
-
/** CI/CD integrations */
|
|
277
|
-
cicd?: {
|
|
278
|
-
/** CI/CD provider */
|
|
279
|
-
provider: 'github-actions' | 'gitlab-ci' | 'jenkins' | 'azure-devops' | 'custom';
|
|
280
|
-
/** Configuration file path */
|
|
281
|
-
configPath?: string;
|
|
282
|
-
/** Pipeline configuration */
|
|
283
|
-
pipelines?: Record<string, any>;
|
|
284
|
-
};
|
|
285
|
-
/** Container orchestration */
|
|
286
|
-
containers?: {
|
|
287
|
-
/** Container runtime */
|
|
288
|
-
runtime: 'docker' | 'podman' | 'containerd';
|
|
289
|
-
/** Registry configuration */
|
|
290
|
-
registry?: {
|
|
291
|
-
url: string;
|
|
292
|
-
credentials?: Record<string, string>;
|
|
293
|
-
};
|
|
294
|
-
/** Compose file paths */
|
|
295
|
-
composeFiles?: string[];
|
|
296
|
-
};
|
|
297
|
-
/** Cloud providers */
|
|
298
|
-
cloud?: {
|
|
299
|
-
/** Cloud provider */
|
|
300
|
-
provider: 'aws' | 'gcp' | 'azure' | 'custom';
|
|
301
|
-
/** Provider-specific configuration */
|
|
302
|
-
config?: Record<string, any>;
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Workspace metadata
|
|
307
|
-
*/
|
|
308
|
-
export interface WorkspaceMetadata {
|
|
309
|
-
/** Workspace unique identifier */
|
|
310
|
-
id: string;
|
|
311
|
-
/** Human-readable workspace name */
|
|
312
|
-
name: string;
|
|
313
|
-
/** Workspace description */
|
|
314
|
-
description?: string;
|
|
315
|
-
/** Workspace pattern type */
|
|
316
|
-
pattern: WorkspacePattern;
|
|
317
|
-
/** Configuration schema version */
|
|
318
|
-
version: string;
|
|
319
|
-
/** Workspace creation timestamp */
|
|
320
|
-
createdAt: string;
|
|
321
|
-
/** Last update timestamp */
|
|
322
|
-
updatedAt: string;
|
|
323
|
-
/** Workspace tags */
|
|
324
|
-
tags?: string[];
|
|
325
|
-
/** Owner information */
|
|
326
|
-
owner?: {
|
|
327
|
-
name: string;
|
|
328
|
-
email: string;
|
|
329
|
-
};
|
|
330
|
-
/** Team members */
|
|
331
|
-
team?: Array<{
|
|
332
|
-
name: string;
|
|
333
|
-
email: string;
|
|
334
|
-
role: string;
|
|
335
|
-
}>;
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Complete workspace configuration
|
|
339
|
-
*/
|
|
340
|
-
export interface WorkspaceConfig {
|
|
341
|
-
/** Workspace metadata */
|
|
342
|
-
workspace: WorkspaceMetadata;
|
|
343
|
-
/** Service definitions and endpoints */
|
|
344
|
-
services: Record<string, ServiceEndpoint>;
|
|
345
|
-
/** Repository configurations (for multi-repo patterns) */
|
|
346
|
-
repositories?: Record<string, RepositoryConfig>;
|
|
347
|
-
/** AI model settings and configuration */
|
|
348
|
-
ai: {
|
|
349
|
-
/** Available AI models */
|
|
350
|
-
models: Record<string, AIModelConfig>;
|
|
351
|
-
/** Default model to use */
|
|
352
|
-
defaultModel: string;
|
|
353
|
-
/** AI capabilities and constraints */
|
|
354
|
-
capabilities: AICapabilities;
|
|
355
|
-
};
|
|
356
|
-
/** File system paths and structure */
|
|
357
|
-
paths: WorkspacePaths;
|
|
358
|
-
/** Development environment configuration */
|
|
359
|
-
development: DevelopmentConfig;
|
|
360
|
-
/** Security and access control */
|
|
361
|
-
security: SecurityConfig;
|
|
362
|
-
/** External integrations */
|
|
363
|
-
integrations?: IntegrationsConfig;
|
|
364
|
-
/** Custom workspace extensions */
|
|
365
|
-
extensions?: Record<string, any>;
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Service discovery configuration
|
|
369
|
-
*/
|
|
370
|
-
export interface ServiceDiscoveryConfig {
|
|
371
|
-
/** Auto-discovery enabled */
|
|
372
|
-
enabled: boolean;
|
|
373
|
-
/** Discovery methods */
|
|
374
|
-
methods: Array<'filesystem' | 'docker-compose' | 'kubernetes' | 'consul' | 'custom'>;
|
|
375
|
-
/** Discovery patterns */
|
|
376
|
-
patterns: {
|
|
377
|
-
/** File patterns to search for services */
|
|
378
|
-
files: string[];
|
|
379
|
-
/** Directory patterns to identify services */
|
|
380
|
-
directories: string[];
|
|
381
|
-
/** Port scan ranges for running services */
|
|
382
|
-
portRanges?: Array<{
|
|
383
|
-
start: number;
|
|
384
|
-
end: number;
|
|
385
|
-
}>;
|
|
386
|
-
};
|
|
387
|
-
/** Manual service overrides */
|
|
388
|
-
overrides?: Record<string, ServiceEndpoint>;
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Workspace validation configuration
|
|
392
|
-
*/
|
|
393
|
-
export interface WorkspaceValidationConfig {
|
|
394
|
-
/** Validation rules */
|
|
395
|
-
rules: {
|
|
396
|
-
/** Require specific services */
|
|
397
|
-
requiredServices?: string[];
|
|
398
|
-
/** Service dependency validation */
|
|
399
|
-
validateDependencies: boolean;
|
|
400
|
-
/** Path validation */
|
|
401
|
-
validatePaths: boolean;
|
|
402
|
-
/** Port conflict detection */
|
|
403
|
-
detectPortConflicts: boolean;
|
|
404
|
-
/** Custom validation rules */
|
|
405
|
-
customRules?: Array<{
|
|
406
|
-
name: string;
|
|
407
|
-
description: string;
|
|
408
|
-
validator: string;
|
|
409
|
-
}>;
|
|
410
|
-
};
|
|
411
|
-
/** Validation severity levels */
|
|
412
|
-
severity: {
|
|
413
|
-
/** Missing required services */
|
|
414
|
-
missingServices: 'error' | 'warning' | 'info';
|
|
415
|
-
/** Circular dependencies */
|
|
416
|
-
circularDependencies: 'error' | 'warning' | 'info';
|
|
417
|
-
/** Port conflicts */
|
|
418
|
-
portConflicts: 'error' | 'warning' | 'info';
|
|
419
|
-
/** Invalid paths */
|
|
420
|
-
invalidPaths: 'error' | 'warning' | 'info';
|
|
421
|
-
};
|
|
422
|
-
}
|
|
423
|
-
/**
|
|
424
|
-
* Workspace initialization options
|
|
425
|
-
*/
|
|
426
|
-
export interface WorkspaceInitOptions {
|
|
427
|
-
/** Target directory */
|
|
428
|
-
directory?: string;
|
|
429
|
-
/** Workspace name */
|
|
430
|
-
name?: string;
|
|
431
|
-
/** Workspace description */
|
|
432
|
-
description?: string;
|
|
433
|
-
/** Workspace pattern */
|
|
434
|
-
pattern?: WorkspacePattern;
|
|
435
|
-
/** Template to use */
|
|
436
|
-
template?: string;
|
|
437
|
-
/** Interactive mode */
|
|
438
|
-
interactive?: boolean;
|
|
439
|
-
/** Force overwrite existing configuration */
|
|
440
|
-
force?: boolean;
|
|
441
|
-
/** Services to include */
|
|
442
|
-
services?: string[];
|
|
443
|
-
/** AI provider preference */
|
|
444
|
-
aiProvider?: string;
|
|
445
|
-
/** Repository URLs (for multi-repo) */
|
|
446
|
-
repositories?: string[];
|
|
447
|
-
/** Auto-discovery settings */
|
|
448
|
-
discovery?: Partial<ServiceDiscoveryConfig>;
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* Workspace template definition
|
|
452
|
-
*/
|
|
453
|
-
export interface WorkspaceTemplate {
|
|
454
|
-
/** Template identifier */
|
|
455
|
-
id: string;
|
|
456
|
-
/** Template name */
|
|
457
|
-
name: string;
|
|
458
|
-
/** Template description */
|
|
459
|
-
description: string;
|
|
460
|
-
/** Supported workspace patterns */
|
|
461
|
-
patterns: WorkspacePattern[];
|
|
462
|
-
/** Template configuration */
|
|
463
|
-
config: Partial<WorkspaceConfig>;
|
|
464
|
-
/** Required services */
|
|
465
|
-
requiredServices: string[];
|
|
466
|
-
/** Optional services */
|
|
467
|
-
optionalServices: string[];
|
|
468
|
-
/** Template-specific setup steps */
|
|
469
|
-
setupSteps?: string[];
|
|
470
|
-
/** Custom template variables */
|
|
471
|
-
variables?: Record<string, {
|
|
472
|
-
description: string;
|
|
473
|
-
type: 'string' | 'number' | 'boolean' | 'array';
|
|
474
|
-
default?: any;
|
|
475
|
-
required?: boolean;
|
|
476
|
-
}>;
|
|
477
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Workspace Configuration Types
|
|
3
|
-
*
|
|
4
|
-
* Defines TypeScript interfaces for workspace configuration that support:
|
|
5
|
-
* - Monorepo patterns (single repo, multiple services)
|
|
6
|
-
* - Multi-repo patterns (multiple repos, distributed services)
|
|
7
|
-
* - Hybrid patterns (combination of both)
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Configuration Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for working with workspace configurations.
|
|
5
|
-
*/
|
|
6
|
-
import type { WorkspaceConfig, ServiceEndpoint, WorkspacePattern } from './types.js';
|
|
7
|
-
import { COMMON_SERVICE_PORTS } from './constants.js';
|
|
8
|
-
/**
|
|
9
|
-
* Create a workspace configuration from a template
|
|
10
|
-
*/
|
|
11
|
-
export declare function createWorkspaceFromTemplate(templateId: string, options: {
|
|
12
|
-
name: string;
|
|
13
|
-
description?: string;
|
|
14
|
-
pattern?: WorkspacePattern;
|
|
15
|
-
services?: string[];
|
|
16
|
-
customConfig?: Partial<WorkspaceConfig>;
|
|
17
|
-
}): Partial<WorkspaceConfig>;
|
|
18
|
-
/**
|
|
19
|
-
* Merge workspace configurations
|
|
20
|
-
*/
|
|
21
|
-
export declare function mergeWorkspaceConfigs(base: Partial<WorkspaceConfig>, override: Partial<WorkspaceConfig>): Partial<WorkspaceConfig>;
|
|
22
|
-
/**
|
|
23
|
-
* Generate a unique workspace ID
|
|
24
|
-
*/
|
|
25
|
-
export declare function generateWorkspaceId(): string;
|
|
26
|
-
/**
|
|
27
|
-
* Find available port for a service
|
|
28
|
-
*/
|
|
29
|
-
export declare function findAvailablePort(services: Record<string, ServiceEndpoint>, preferredPort?: number, serviceType?: keyof typeof COMMON_SERVICE_PORTS.development): number;
|
|
30
|
-
/**
|
|
31
|
-
* Resolve service dependencies in topological order
|
|
32
|
-
*/
|
|
33
|
-
export declare function resolveServiceDependencies(services: Record<string, ServiceEndpoint>): string[];
|
|
34
|
-
/**
|
|
35
|
-
* Get service startup order based on dependencies
|
|
36
|
-
*/
|
|
37
|
-
export declare function getServiceStartupOrder(services: Record<string, ServiceEndpoint>): Array<{
|
|
38
|
-
service: string;
|
|
39
|
-
level: number;
|
|
40
|
-
}>;
|
|
41
|
-
/**
|
|
42
|
-
* Validate service dependencies
|
|
43
|
-
*/
|
|
44
|
-
export declare function validateServiceDependencies(services: Record<string, ServiceEndpoint>): Array<{
|
|
45
|
-
service: string;
|
|
46
|
-
dependency: string;
|
|
47
|
-
issue: string;
|
|
48
|
-
}>;
|
|
49
|
-
/**
|
|
50
|
-
* Check if two versions are compatible (simplified semver check)
|
|
51
|
-
*/
|
|
52
|
-
export declare function isVersionCompatible(available: string, required: string): boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Generate service health check URLs
|
|
55
|
-
*/
|
|
56
|
-
export declare function generateHealthCheckUrls(services: Record<string, ServiceEndpoint>): Record<string, string>;
|
|
57
|
-
/**
|
|
58
|
-
* Filter services by technology
|
|
59
|
-
*/
|
|
60
|
-
export declare function filterServicesByTechnology(services: Record<string, ServiceEndpoint>, technology: string): Record<string, ServiceEndpoint>;
|
|
61
|
-
/**
|
|
62
|
-
* Filter services by environment
|
|
63
|
-
*/
|
|
64
|
-
export declare function filterServicesByEnvironment(services: Record<string, ServiceEndpoint>, environment: string): Record<string, ServiceEndpoint>;
|
|
65
|
-
/**
|
|
66
|
-
* Get workspace summary
|
|
67
|
-
*/
|
|
68
|
-
export declare function getWorkspaceSummary(config: WorkspaceConfig): {
|
|
69
|
-
totalServices: number;
|
|
70
|
-
servicesByTechnology: Record<string, number>;
|
|
71
|
-
servicesByEnvironment: Record<string, number>;
|
|
72
|
-
dependencies: number;
|
|
73
|
-
aiModels: number;
|
|
74
|
-
pattern: WorkspacePattern;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Convert workspace config to environment variables
|
|
78
|
-
*/
|
|
79
|
-
export declare function workspaceConfigToEnvVars(config: WorkspaceConfig, prefix?: string): Record<string, string>;
|