@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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/deployment/deployment-checker.d.ts +110 -0
  3. package/dist/src/deployment/deployment-checker.d.ts.map +1 -0
  4. package/dist/src/deployment/deployment-checker.js +242 -0
  5. package/dist/src/deployment/index.d.ts +3 -0
  6. package/dist/src/deployment/index.d.ts.map +1 -0
  7. package/dist/src/deployment/index.js +2 -0
  8. package/dist/src/index.d.ts +5 -0
  9. package/dist/src/index.d.ts.map +1 -0
  10. package/dist/src/index.js +4 -0
  11. package/dist/src/logger.d.ts +117 -0
  12. package/dist/src/logger.d.ts.map +1 -0
  13. package/dist/src/logger.js +430 -0
  14. package/dist/src/orchestrator/activity-emitter.d.ts +128 -0
  15. package/dist/src/orchestrator/activity-emitter.d.ts.map +1 -0
  16. package/dist/src/orchestrator/activity-emitter.js +406 -0
  17. package/dist/src/orchestrator/api-activity-emitter.d.ts +167 -0
  18. package/dist/src/orchestrator/api-activity-emitter.d.ts.map +1 -0
  19. package/dist/src/orchestrator/api-activity-emitter.js +469 -0
  20. package/dist/src/orchestrator/heartbeat-writer.d.ts +57 -0
  21. package/dist/src/orchestrator/heartbeat-writer.d.ts.map +1 -0
  22. package/dist/src/orchestrator/heartbeat-writer.js +137 -0
  23. package/dist/src/orchestrator/index.d.ts +20 -0
  24. package/dist/src/orchestrator/index.d.ts.map +1 -0
  25. package/dist/src/orchestrator/index.js +22 -0
  26. package/dist/src/orchestrator/log-analyzer.d.ts +160 -0
  27. package/dist/src/orchestrator/log-analyzer.d.ts.map +1 -0
  28. package/dist/src/orchestrator/log-analyzer.js +572 -0
  29. package/dist/src/orchestrator/log-config.d.ts +39 -0
  30. package/dist/src/orchestrator/log-config.d.ts.map +1 -0
  31. package/dist/src/orchestrator/log-config.js +45 -0
  32. package/dist/src/orchestrator/orchestrator.d.ts +246 -0
  33. package/dist/src/orchestrator/orchestrator.d.ts.map +1 -0
  34. package/dist/src/orchestrator/orchestrator.js +2525 -0
  35. package/dist/src/orchestrator/parse-work-result.d.ts +16 -0
  36. package/dist/src/orchestrator/parse-work-result.d.ts.map +1 -0
  37. package/dist/src/orchestrator/parse-work-result.js +73 -0
  38. package/dist/src/orchestrator/progress-logger.d.ts +72 -0
  39. package/dist/src/orchestrator/progress-logger.d.ts.map +1 -0
  40. package/dist/src/orchestrator/progress-logger.js +135 -0
  41. package/dist/src/orchestrator/session-logger.d.ts +159 -0
  42. package/dist/src/orchestrator/session-logger.d.ts.map +1 -0
  43. package/dist/src/orchestrator/session-logger.js +275 -0
  44. package/dist/src/orchestrator/state-recovery.d.ts +96 -0
  45. package/dist/src/orchestrator/state-recovery.d.ts.map +1 -0
  46. package/dist/src/orchestrator/state-recovery.js +301 -0
  47. package/dist/src/orchestrator/state-types.d.ts +165 -0
  48. package/dist/src/orchestrator/state-types.d.ts.map +1 -0
  49. package/dist/src/orchestrator/state-types.js +7 -0
  50. package/dist/src/orchestrator/stream-parser.d.ts +145 -0
  51. package/dist/src/orchestrator/stream-parser.d.ts.map +1 -0
  52. package/dist/src/orchestrator/stream-parser.js +131 -0
  53. package/dist/src/orchestrator/types.d.ts +205 -0
  54. package/dist/src/orchestrator/types.d.ts.map +1 -0
  55. package/dist/src/orchestrator/types.js +4 -0
  56. package/dist/src/providers/amp-provider.d.ts +20 -0
  57. package/dist/src/providers/amp-provider.d.ts.map +1 -0
  58. package/dist/src/providers/amp-provider.js +24 -0
  59. package/dist/src/providers/claude-provider.d.ts +18 -0
  60. package/dist/src/providers/claude-provider.d.ts.map +1 -0
  61. package/dist/src/providers/claude-provider.js +267 -0
  62. package/dist/src/providers/codex-provider.d.ts +21 -0
  63. package/dist/src/providers/codex-provider.d.ts.map +1 -0
  64. package/dist/src/providers/codex-provider.js +25 -0
  65. package/dist/src/providers/index.d.ts +42 -0
  66. package/dist/src/providers/index.d.ts.map +1 -0
  67. package/dist/src/providers/index.js +77 -0
  68. package/dist/src/providers/types.d.ts +147 -0
  69. package/dist/src/providers/types.d.ts.map +1 -0
  70. package/dist/src/providers/types.js +13 -0
  71. 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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"}