@supaku/agentfactory 0.1.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/LICENSE +21 -0
- package/dist/src/deployment/deployment-checker.d.ts +110 -0
- package/dist/src/deployment/deployment-checker.d.ts.map +1 -0
- package/dist/src/deployment/deployment-checker.js +242 -0
- package/dist/src/deployment/index.d.ts +3 -0
- package/dist/src/deployment/index.d.ts.map +1 -0
- package/dist/src/deployment/index.js +2 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +4 -0
- package/dist/src/logger.d.ts +117 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +430 -0
- package/dist/src/orchestrator/activity-emitter.d.ts +128 -0
- package/dist/src/orchestrator/activity-emitter.d.ts.map +1 -0
- package/dist/src/orchestrator/activity-emitter.js +406 -0
- package/dist/src/orchestrator/api-activity-emitter.d.ts +167 -0
- package/dist/src/orchestrator/api-activity-emitter.d.ts.map +1 -0
- package/dist/src/orchestrator/api-activity-emitter.js +469 -0
- package/dist/src/orchestrator/heartbeat-writer.d.ts +57 -0
- package/dist/src/orchestrator/heartbeat-writer.d.ts.map +1 -0
- package/dist/src/orchestrator/heartbeat-writer.js +137 -0
- package/dist/src/orchestrator/index.d.ts +20 -0
- package/dist/src/orchestrator/index.d.ts.map +1 -0
- package/dist/src/orchestrator/index.js +22 -0
- package/dist/src/orchestrator/log-analyzer.d.ts +160 -0
- package/dist/src/orchestrator/log-analyzer.d.ts.map +1 -0
- package/dist/src/orchestrator/log-analyzer.js +572 -0
- package/dist/src/orchestrator/log-config.d.ts +39 -0
- package/dist/src/orchestrator/log-config.d.ts.map +1 -0
- package/dist/src/orchestrator/log-config.js +45 -0
- package/dist/src/orchestrator/orchestrator.d.ts +246 -0
- package/dist/src/orchestrator/orchestrator.d.ts.map +1 -0
- package/dist/src/orchestrator/orchestrator.js +2525 -0
- package/dist/src/orchestrator/parse-work-result.d.ts +16 -0
- package/dist/src/orchestrator/parse-work-result.d.ts.map +1 -0
- package/dist/src/orchestrator/parse-work-result.js +73 -0
- package/dist/src/orchestrator/progress-logger.d.ts +72 -0
- package/dist/src/orchestrator/progress-logger.d.ts.map +1 -0
- package/dist/src/orchestrator/progress-logger.js +135 -0
- package/dist/src/orchestrator/session-logger.d.ts +159 -0
- package/dist/src/orchestrator/session-logger.d.ts.map +1 -0
- package/dist/src/orchestrator/session-logger.js +275 -0
- package/dist/src/orchestrator/state-recovery.d.ts +96 -0
- package/dist/src/orchestrator/state-recovery.d.ts.map +1 -0
- package/dist/src/orchestrator/state-recovery.js +301 -0
- package/dist/src/orchestrator/state-types.d.ts +165 -0
- package/dist/src/orchestrator/state-types.d.ts.map +1 -0
- package/dist/src/orchestrator/state-types.js +7 -0
- package/dist/src/orchestrator/stream-parser.d.ts +145 -0
- package/dist/src/orchestrator/stream-parser.d.ts.map +1 -0
- package/dist/src/orchestrator/stream-parser.js +131 -0
- package/dist/src/orchestrator/types.d.ts +205 -0
- package/dist/src/orchestrator/types.d.ts.map +1 -0
- package/dist/src/orchestrator/types.js +4 -0
- package/dist/src/providers/amp-provider.d.ts +20 -0
- package/dist/src/providers/amp-provider.d.ts.map +1 -0
- package/dist/src/providers/amp-provider.js +24 -0
- package/dist/src/providers/claude-provider.d.ts +18 -0
- package/dist/src/providers/claude-provider.d.ts.map +1 -0
- package/dist/src/providers/claude-provider.js +267 -0
- package/dist/src/providers/codex-provider.d.ts +21 -0
- package/dist/src/providers/codex-provider.d.ts.map +1 -0
- package/dist/src/providers/codex-provider.js +25 -0
- package/dist/src/providers/index.d.ts +42 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +77 -0
- package/dist/src/providers/types.d.ts +147 -0
- package/dist/src/providers/types.d.ts.map +1 -0
- package/dist/src/providers/types.js +13 -0
- package/package.json +63 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Orchestrator
|
|
2
|
+
export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier } from './orchestrator';
|
|
3
|
+
// Stream Parser
|
|
4
|
+
export { ClaudeStreamParser, createStreamParser } from './stream-parser';
|
|
5
|
+
// Activity Emitter
|
|
6
|
+
export { ActivityEmitter, createActivityEmitter } from './activity-emitter';
|
|
7
|
+
// API Activity Emitter (for remote workers proxying through API)
|
|
8
|
+
export { ApiActivityEmitter, createApiActivityEmitter } from './api-activity-emitter';
|
|
9
|
+
// Heartbeat Writer (for crash detection)
|
|
10
|
+
export { HeartbeatWriter, createHeartbeatWriter, getHeartbeatIntervalFromEnv, } from './heartbeat-writer';
|
|
11
|
+
// Progress Logger (for debugging)
|
|
12
|
+
export { ProgressLogger, createProgressLogger } from './progress-logger';
|
|
13
|
+
// State Recovery (for crash recovery)
|
|
14
|
+
export { getAgentDir, getStatePath, getHeartbeatPath, getTodosPath, isHeartbeatFresh, readWorktreeState, readHeartbeat, readTodos, checkRecovery, initializeAgentDir, writeState, updateState, writeTodos, createInitialState, buildRecoveryPrompt, getHeartbeatTimeoutFromEnv, getMaxRecoveryAttemptsFromEnv, getTaskListId, } from './state-recovery';
|
|
15
|
+
// Log Config
|
|
16
|
+
export { getLogAnalysisConfig, isSessionLoggingEnabled, isAutoAnalyzeEnabled, } from './log-config';
|
|
17
|
+
// Session Logger
|
|
18
|
+
export { SessionLogger, createSessionLogger, readSessionMetadata, readSessionEvents, } from './session-logger';
|
|
19
|
+
// Work Result Parser (for QA/acceptance pass/fail detection)
|
|
20
|
+
export { parseWorkResult } from './parse-work-result';
|
|
21
|
+
// Log Analyzer
|
|
22
|
+
export { LogAnalyzer, createLogAnalyzer } from './log-analyzer';
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Analyzes session logs for errors and improvement opportunities.
|
|
5
|
+
* Can automatically create deduplicated Linear issues.
|
|
6
|
+
*/
|
|
7
|
+
import { type SessionMetadata } from './session-logger';
|
|
8
|
+
import { type LogAnalysisConfig } from './log-config';
|
|
9
|
+
/**
|
|
10
|
+
* Pattern types for categorization
|
|
11
|
+
*/
|
|
12
|
+
export type PatternType = 'permission' | 'tool_issue' | 'tool_misuse' | 'performance' | 'repeated_failure' | 'approval_required';
|
|
13
|
+
/**
|
|
14
|
+
* Severity levels for patterns
|
|
15
|
+
*/
|
|
16
|
+
export type PatternSeverity = 'low' | 'medium' | 'high' | 'critical';
|
|
17
|
+
/**
|
|
18
|
+
* An analyzed pattern/issue from session logs
|
|
19
|
+
*/
|
|
20
|
+
export interface AnalyzedPattern {
|
|
21
|
+
/** Type of pattern */
|
|
22
|
+
type: PatternType;
|
|
23
|
+
/** Severity level */
|
|
24
|
+
severity: PatternSeverity;
|
|
25
|
+
/** Short title for the issue */
|
|
26
|
+
title: string;
|
|
27
|
+
/** Detailed description */
|
|
28
|
+
description: string;
|
|
29
|
+
/** Example error messages */
|
|
30
|
+
examples: string[];
|
|
31
|
+
/** How many times this occurred */
|
|
32
|
+
occurrences: number;
|
|
33
|
+
/** Related tool (if applicable) */
|
|
34
|
+
tool?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Result of analyzing a session
|
|
38
|
+
*/
|
|
39
|
+
export interface AnalysisResult {
|
|
40
|
+
/** Session ID that was analyzed */
|
|
41
|
+
sessionId: string;
|
|
42
|
+
/** Session metadata */
|
|
43
|
+
metadata: SessionMetadata;
|
|
44
|
+
/** Detected patterns */
|
|
45
|
+
patterns: AnalyzedPattern[];
|
|
46
|
+
/** Total events analyzed */
|
|
47
|
+
eventsAnalyzed: number;
|
|
48
|
+
/** Total errors found */
|
|
49
|
+
errorsFound: number;
|
|
50
|
+
/** Suggested issues to create */
|
|
51
|
+
suggestedIssues: SuggestedIssue[];
|
|
52
|
+
/** Unix timestamp of analysis */
|
|
53
|
+
analyzedAt: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A suggested issue to create in Linear
|
|
57
|
+
*/
|
|
58
|
+
export interface SuggestedIssue {
|
|
59
|
+
/** Deterministic signature for deduplication */
|
|
60
|
+
signature: string;
|
|
61
|
+
/** Issue title */
|
|
62
|
+
title: string;
|
|
63
|
+
/** Issue description (markdown) */
|
|
64
|
+
description: string;
|
|
65
|
+
/** Work type (Bug, Feature, Chore) */
|
|
66
|
+
workType: 'Bug' | 'Feature' | 'Chore';
|
|
67
|
+
/** Labels to apply */
|
|
68
|
+
labels: string[];
|
|
69
|
+
/** Source patterns that led to this suggestion */
|
|
70
|
+
sourcePatterns: PatternType[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Tracked issue in the deduplication store
|
|
74
|
+
*/
|
|
75
|
+
export interface TrackedIssue {
|
|
76
|
+
/** Linear issue ID (UUID) */
|
|
77
|
+
linearIssueId: string;
|
|
78
|
+
/** Human-readable identifier (e.g., SUP-123) */
|
|
79
|
+
linearIdentifier: string;
|
|
80
|
+
/** Unix timestamp when first created */
|
|
81
|
+
createdAt: number;
|
|
82
|
+
/** Unix timestamp when last seen */
|
|
83
|
+
lastSeenAt: number;
|
|
84
|
+
/** How many sessions have had this issue */
|
|
85
|
+
sessionCount: number;
|
|
86
|
+
/** Session IDs that had this issue */
|
|
87
|
+
sessionIds: string[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Deduplication store structure
|
|
91
|
+
*/
|
|
92
|
+
export interface DeduplicationStore {
|
|
93
|
+
issues: Record<string, TrackedIssue>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* LogAnalyzer class for analyzing session logs
|
|
97
|
+
*/
|
|
98
|
+
export declare class LogAnalyzer {
|
|
99
|
+
private readonly config;
|
|
100
|
+
private readonly sessionsDir;
|
|
101
|
+
private readonly processedDir;
|
|
102
|
+
private readonly analysisDir;
|
|
103
|
+
private readonly deduplicationPath;
|
|
104
|
+
private linearClient?;
|
|
105
|
+
constructor(config?: Partial<LogAnalysisConfig>);
|
|
106
|
+
/**
|
|
107
|
+
* Initialize directories and Linear client
|
|
108
|
+
*/
|
|
109
|
+
initialize(linearApiKey?: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get list of session IDs that haven't been analyzed yet
|
|
112
|
+
*/
|
|
113
|
+
getUnprocessedSessions(): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Analyze a single session
|
|
116
|
+
*/
|
|
117
|
+
analyzeSession(sessionId: string): AnalysisResult | null;
|
|
118
|
+
/**
|
|
119
|
+
* Detect patterns in events
|
|
120
|
+
*/
|
|
121
|
+
private detectPatterns;
|
|
122
|
+
/**
|
|
123
|
+
* Detect repeated failures (same error 3+ times)
|
|
124
|
+
*/
|
|
125
|
+
private detectRepeatedFailures;
|
|
126
|
+
/**
|
|
127
|
+
* Generate suggested issues from patterns
|
|
128
|
+
*/
|
|
129
|
+
private generateSuggestedIssues;
|
|
130
|
+
/**
|
|
131
|
+
* Mark a session as processed
|
|
132
|
+
*/
|
|
133
|
+
markProcessed(sessionId: string, result: AnalysisResult): void;
|
|
134
|
+
/**
|
|
135
|
+
* Load the deduplication store
|
|
136
|
+
*/
|
|
137
|
+
loadDeduplicationStore(): DeduplicationStore;
|
|
138
|
+
/**
|
|
139
|
+
* Save the deduplication store
|
|
140
|
+
*/
|
|
141
|
+
saveDeduplicationStore(store: DeduplicationStore): void;
|
|
142
|
+
/**
|
|
143
|
+
* Create or update issues in Linear
|
|
144
|
+
* Returns created/updated issue identifiers
|
|
145
|
+
*/
|
|
146
|
+
createIssues(suggestions: SuggestedIssue[], sessionId: string, dryRun?: boolean): Promise<Array<{
|
|
147
|
+
signature: string;
|
|
148
|
+
identifier: string;
|
|
149
|
+
created: boolean;
|
|
150
|
+
}>>;
|
|
151
|
+
/**
|
|
152
|
+
* Cleanup old logs based on retention policy
|
|
153
|
+
*/
|
|
154
|
+
cleanupOldLogs(): number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create and initialize a log analyzer
|
|
158
|
+
*/
|
|
159
|
+
export declare function createLogAnalyzer(config?: Partial<LogAnalysisConfig>, linearApiKey?: string): LogAnalyzer;
|
|
160
|
+
//# sourceMappingURL=log-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-analyzer.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/log-analyzer.ts"],"names":[],"mappings":"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"}
|