@locusai/sdk 0.16.2 → 0.18.2

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 (133) hide show
  1. package/PACKAGE_GUIDE.md +269 -0
  2. package/package.json +28 -28
  3. package/dist/agent/codebase-indexer-service.d.ts +0 -17
  4. package/dist/agent/codebase-indexer-service.d.ts.map +0 -1
  5. package/dist/agent/document-fetcher.d.ts +0 -23
  6. package/dist/agent/document-fetcher.d.ts.map +0 -1
  7. package/dist/agent/git-workflow.d.ts +0 -59
  8. package/dist/agent/git-workflow.d.ts.map +0 -1
  9. package/dist/agent/index.d.ts +0 -9
  10. package/dist/agent/index.d.ts.map +0 -1
  11. package/dist/agent/review-service.d.ts +0 -21
  12. package/dist/agent/review-service.d.ts.map +0 -1
  13. package/dist/agent/reviewer-worker.d.ts +0 -42
  14. package/dist/agent/reviewer-worker.d.ts.map +0 -1
  15. package/dist/agent/task-executor.d.ts +0 -26
  16. package/dist/agent/task-executor.d.ts.map +0 -1
  17. package/dist/agent/worker-cli.d.ts +0 -6
  18. package/dist/agent/worker-cli.d.ts.map +0 -1
  19. package/dist/agent/worker-types.d.ts +0 -36
  20. package/dist/agent/worker-types.d.ts.map +0 -1
  21. package/dist/agent/worker.d.ts +0 -40
  22. package/dist/agent/worker.d.ts.map +0 -1
  23. package/dist/agent/worker.js +0 -2792
  24. package/dist/ai/__tests__/factory.test.d.ts +0 -2
  25. package/dist/ai/__tests__/factory.test.d.ts.map +0 -1
  26. package/dist/ai/claude-runner.d.ts +0 -35
  27. package/dist/ai/claude-runner.d.ts.map +0 -1
  28. package/dist/ai/claude-stream-parser.d.ts +0 -41
  29. package/dist/ai/claude-stream-parser.d.ts.map +0 -1
  30. package/dist/ai/codex-runner.d.ts +0 -38
  31. package/dist/ai/codex-runner.d.ts.map +0 -1
  32. package/dist/ai/factory.d.ts +0 -26
  33. package/dist/ai/factory.d.ts.map +0 -1
  34. package/dist/ai/index.d.ts +0 -8
  35. package/dist/ai/index.d.ts.map +0 -1
  36. package/dist/ai/runner.d.ts +0 -23
  37. package/dist/ai/runner.d.ts.map +0 -1
  38. package/dist/core/config.d.ts +0 -58
  39. package/dist/core/config.d.ts.map +0 -1
  40. package/dist/core/index.d.ts +0 -4
  41. package/dist/core/index.d.ts.map +0 -1
  42. package/dist/core/indexer.d.ts +0 -31
  43. package/dist/core/indexer.d.ts.map +0 -1
  44. package/dist/core/prompt-builder.d.ts +0 -14
  45. package/dist/core/prompt-builder.d.ts.map +0 -1
  46. package/dist/discussion/agents/facilitator-prompt.d.ts +0 -13
  47. package/dist/discussion/agents/facilitator-prompt.d.ts.map +0 -1
  48. package/dist/discussion/discussion-facilitator.d.ts +0 -67
  49. package/dist/discussion/discussion-facilitator.d.ts.map +0 -1
  50. package/dist/discussion/discussion-manager.d.ts +0 -59
  51. package/dist/discussion/discussion-manager.d.ts.map +0 -1
  52. package/dist/discussion/discussion-types.d.ts +0 -89
  53. package/dist/discussion/discussion-types.d.ts.map +0 -1
  54. package/dist/discussion/index.d.ts +0 -5
  55. package/dist/discussion/index.d.ts.map +0 -1
  56. package/dist/events.d.ts +0 -22
  57. package/dist/events.d.ts.map +0 -1
  58. package/dist/exec/context-tracker.d.ts +0 -183
  59. package/dist/exec/context-tracker.d.ts.map +0 -1
  60. package/dist/exec/event-emitter.d.ts +0 -117
  61. package/dist/exec/event-emitter.d.ts.map +0 -1
  62. package/dist/exec/events.d.ts +0 -171
  63. package/dist/exec/events.d.ts.map +0 -1
  64. package/dist/exec/exec-session.d.ts +0 -164
  65. package/dist/exec/exec-session.d.ts.map +0 -1
  66. package/dist/exec/history-manager.d.ts +0 -153
  67. package/dist/exec/history-manager.d.ts.map +0 -1
  68. package/dist/exec/index.d.ts +0 -7
  69. package/dist/exec/index.d.ts.map +0 -1
  70. package/dist/exec/types.d.ts +0 -130
  71. package/dist/exec/types.d.ts.map +0 -1
  72. package/dist/git/git-utils.d.ts +0 -31
  73. package/dist/git/git-utils.d.ts.map +0 -1
  74. package/dist/git/index.d.ts +0 -3
  75. package/dist/git/index.d.ts.map +0 -1
  76. package/dist/git/pr-service.d.ts +0 -66
  77. package/dist/git/pr-service.d.ts.map +0 -1
  78. package/dist/index-node.d.ts +0 -22
  79. package/dist/index-node.d.ts.map +0 -1
  80. package/dist/index-node.js +0 -5607
  81. package/dist/index.d.ts +0 -37
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js +0 -559
  84. package/dist/modules/auth.d.ts +0 -23
  85. package/dist/modules/auth.d.ts.map +0 -1
  86. package/dist/modules/base.d.ts +0 -8
  87. package/dist/modules/base.d.ts.map +0 -1
  88. package/dist/modules/ci.d.ts +0 -8
  89. package/dist/modules/ci.d.ts.map +0 -1
  90. package/dist/modules/docs.d.ts +0 -14
  91. package/dist/modules/docs.d.ts.map +0 -1
  92. package/dist/modules/invitations.d.ts +0 -10
  93. package/dist/modules/invitations.d.ts.map +0 -1
  94. package/dist/modules/organizations.d.ts +0 -24
  95. package/dist/modules/organizations.d.ts.map +0 -1
  96. package/dist/modules/sprints.d.ts +0 -14
  97. package/dist/modules/sprints.d.ts.map +0 -1
  98. package/dist/modules/tasks.d.ts +0 -25
  99. package/dist/modules/tasks.d.ts.map +0 -1
  100. package/dist/modules/workspaces.d.ts +0 -44
  101. package/dist/modules/workspaces.d.ts.map +0 -1
  102. package/dist/orchestrator/index.d.ts +0 -85
  103. package/dist/orchestrator/index.d.ts.map +0 -1
  104. package/dist/orchestrator/types.d.ts +0 -36
  105. package/dist/orchestrator/types.d.ts.map +0 -1
  106. package/dist/planning/agents/architect.d.ts +0 -1
  107. package/dist/planning/agents/architect.d.ts.map +0 -1
  108. package/dist/planning/agents/cross-task-reviewer.d.ts +0 -1
  109. package/dist/planning/agents/cross-task-reviewer.d.ts.map +0 -1
  110. package/dist/planning/agents/planner.d.ts +0 -20
  111. package/dist/planning/agents/planner.d.ts.map +0 -1
  112. package/dist/planning/agents/sprint-organizer.d.ts +0 -1
  113. package/dist/planning/agents/sprint-organizer.d.ts.map +0 -1
  114. package/dist/planning/agents/tech-lead.d.ts +0 -1
  115. package/dist/planning/agents/tech-lead.d.ts.map +0 -1
  116. package/dist/planning/index.d.ts +0 -4
  117. package/dist/planning/index.d.ts.map +0 -1
  118. package/dist/planning/plan-manager.d.ts +0 -51
  119. package/dist/planning/plan-manager.d.ts.map +0 -1
  120. package/dist/planning/planning-meeting.d.ts +0 -34
  121. package/dist/planning/planning-meeting.d.ts.map +0 -1
  122. package/dist/planning/sprint-plan.d.ts +0 -51
  123. package/dist/planning/sprint-plan.d.ts.map +0 -1
  124. package/dist/utils/colors.d.ts +0 -62
  125. package/dist/utils/colors.d.ts.map +0 -1
  126. package/dist/utils/json-extractor.d.ts +0 -10
  127. package/dist/utils/json-extractor.d.ts.map +0 -1
  128. package/dist/utils/resolve-bin.d.ts +0 -15
  129. package/dist/utils/resolve-bin.d.ts.map +0 -1
  130. package/dist/utils/retry.d.ts +0 -8
  131. package/dist/utils/retry.d.ts.map +0 -1
  132. package/dist/utils/structured-output.d.ts +0 -14
  133. package/dist/utils/structured-output.d.ts.map +0 -1
@@ -1,183 +0,0 @@
1
- /**
2
- * Artifact types that can be tracked across conversation turns.
3
- */
4
- export type ArtifactType = "plan" | "document" | "code" | "task-list" | "diagram" | "config" | "report" | "other";
5
- /**
6
- * Represents an artifact created during the session.
7
- */
8
- export interface Artifact {
9
- /** Unique identifier for the artifact */
10
- id: string;
11
- /** Human-readable title of the artifact */
12
- title: string;
13
- /** Type of artifact */
14
- type: ArtifactType;
15
- /** Content of the artifact (can be markdown, code, etc.) */
16
- content: string;
17
- /** Timestamp when the artifact was created */
18
- createdAt: number;
19
- /** Timestamp when the artifact was last updated */
20
- updatedAt: number;
21
- /** Optional file path if artifact was saved to disk */
22
- filePath?: string;
23
- /** Optional metadata for additional context */
24
- metadata?: Record<string, unknown>;
25
- }
26
- /**
27
- * Task status for tracking progress.
28
- */
29
- export type TaskStatus = "pending" | "in_progress" | "completed" | "cancelled";
30
- /**
31
- * Represents a task created during the session.
32
- */
33
- export interface Task {
34
- /** Unique identifier for the task */
35
- id: string;
36
- /** Human-readable title of the task */
37
- title: string;
38
- /** Detailed description of the task */
39
- description?: string;
40
- /** Current status of the task */
41
- status: TaskStatus;
42
- /** Timestamp when the task was created */
43
- createdAt: number;
44
- /** Timestamp when the task was last updated */
45
- updatedAt: number;
46
- /** Optional parent task ID for hierarchical tasks */
47
- parentId?: string;
48
- /** Optional metadata for additional context */
49
- metadata?: Record<string, unknown>;
50
- }
51
- /**
52
- * Serialized state of the ContextTracker for persistence.
53
- */
54
- export interface ContextTrackerState {
55
- artifacts: Artifact[];
56
- tasks: Task[];
57
- }
58
- /**
59
- * Tracks artifacts and tasks created during an AI session to enable
60
- * context-aware follow-up conversations and reference resolution.
61
- *
62
- * The ContextTracker enables multi-turn workflow support by:
63
- * - Maintaining a registry of artifacts (plans, docs, code) created in the session
64
- * - Tracking tasks and their status
65
- * - Resolving natural language references ("the plan", "that doc")
66
- * - Building context summaries for prompts
67
- *
68
- * @example
69
- * ```typescript
70
- * const tracker = new ContextTracker();
71
- *
72
- * // Track an artifact
73
- * const artifact = tracker.createArtifact({
74
- * title: "Sprint Plan Q1",
75
- * type: "plan",
76
- * content: "## Week 1\n..."
77
- * });
78
- *
79
- * // Later, resolve a reference
80
- * const plan = tracker.getReferencedArtifact("the plan");
81
- *
82
- * // Build context for next prompt
83
- * const context = tracker.buildContextSummary();
84
- * ```
85
- */
86
- export declare class ContextTracker {
87
- private artifacts;
88
- private tasks;
89
- /**
90
- * Create a new artifact and track it.
91
- */
92
- createArtifact(params: Omit<Artifact, "id" | "createdAt" | "updatedAt">): Artifact;
93
- /**
94
- * Track an existing artifact.
95
- */
96
- trackArtifact(artifact: Artifact): void;
97
- /**
98
- * Update an existing artifact.
99
- */
100
- updateArtifact(id: string, updates: Partial<Omit<Artifact, "id" | "createdAt">>): Artifact | null;
101
- /**
102
- * Get an artifact by ID.
103
- */
104
- getArtifact(id: string): Artifact | null;
105
- /**
106
- * Get all tracked artifacts.
107
- */
108
- getAllArtifacts(): Artifact[];
109
- /**
110
- * Create a new task and track it.
111
- */
112
- createTask(params: Omit<Task, "id" | "createdAt" | "updatedAt">): Task;
113
- /**
114
- * Track an existing task.
115
- */
116
- trackTask(task: Task): void;
117
- /**
118
- * Update an existing task.
119
- */
120
- updateTask(id: string, updates: Partial<Omit<Task, "id" | "createdAt">>): Task | null;
121
- /**
122
- * Get a task by ID.
123
- */
124
- getTask(id: string): Task | null;
125
- /**
126
- * Get all tracked tasks.
127
- */
128
- getAllTasks(): Task[];
129
- /**
130
- * Get tasks by status.
131
- */
132
- getTasksByStatus(status: TaskStatus): Task[];
133
- /**
134
- * Resolve a natural language reference to an artifact.
135
- *
136
- * Supports multiple resolution strategies:
137
- * 1. Exact ID match
138
- * 2. Title contains reference (case-insensitive)
139
- * 3. Type-based reference using aliases ("the plan", "that doc")
140
- * 4. Keyword matching in title
141
- *
142
- * @param reference - Natural language reference like "the plan" or "sprint doc"
143
- * @returns The matched artifact or null if no match found
144
- */
145
- getReferencedArtifact(reference: string): Artifact | null;
146
- /**
147
- * Resolve a natural language reference to a task.
148
- *
149
- * @param reference - Natural language reference like "the auth task"
150
- * @returns The matched task or null if no match found
151
- */
152
- getReferencedTask(reference: string): Task | null;
153
- /**
154
- * Build a context summary for inclusion in prompts.
155
- * Provides the AI with awareness of artifacts and tasks from the session.
156
- */
157
- buildContextSummary(): string;
158
- /**
159
- * Get a status icon for display.
160
- */
161
- private getStatusIcon;
162
- /**
163
- * Check if the tracker has any content.
164
- */
165
- hasContent(): boolean;
166
- /**
167
- * Clear all tracked artifacts and tasks.
168
- */
169
- clear(): void;
170
- /**
171
- * Serialize the tracker state for persistence.
172
- */
173
- toJSON(): ContextTrackerState;
174
- /**
175
- * Restore tracker state from serialized data.
176
- */
177
- static fromJSON(state: ContextTrackerState): ContextTracker;
178
- /**
179
- * Restore state into this tracker instance.
180
- */
181
- restore(state: ContextTrackerState): void;
182
- }
183
- //# sourceMappingURL=context-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-tracker.d.ts","sourceRoot":"","sources":["../../src/exec/context-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import { type ExecEvent, type ExecEventListener, type ExecEventMap, ExecEventType } from "./events.js";
2
- /**
3
- * Type-safe event emitter for execution progress feedback.
4
- *
5
- * Provides methods to emit and listen to execution events with full type safety.
6
- *
7
- * @example
8
- * ```typescript
9
- * const emitter = new ExecEventEmitter();
10
- *
11
- * // Listen to events
12
- * emitter.on(ExecEventType.TOOL_STARTED, (event) => {
13
- * console.log(`Tool started: ${event.data.toolName}`);
14
- * });
15
- *
16
- * // Emit events
17
- * emitter.emitToolStarted('Read');
18
- * ```
19
- */
20
- export declare class ExecEventEmitter {
21
- private emitter;
22
- private sessionId;
23
- private isSessionActive;
24
- private eventLog;
25
- private debugMode;
26
- constructor(options?: {
27
- debug?: boolean;
28
- });
29
- /**
30
- * Get the current session ID.
31
- */
32
- getSessionId(): string;
33
- /**
34
- * Check if a session is currently active.
35
- */
36
- isActive(): boolean;
37
- /**
38
- * Get the event log for debugging purposes.
39
- */
40
- getEventLog(): ExecEvent[];
41
- /**
42
- * Clear the event log.
43
- */
44
- clearEventLog(): void;
45
- /**
46
- * Subscribe to a specific event type.
47
- */
48
- on<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
49
- /**
50
- * Subscribe to a specific event type for a single emission.
51
- */
52
- once<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
53
- /**
54
- * Unsubscribe from a specific event type.
55
- */
56
- off<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
57
- /**
58
- * Remove all listeners for a specific event type or all events.
59
- */
60
- removeAllListeners(eventType?: ExecEventType): this;
61
- /**
62
- * Emit an event with the given payload.
63
- */
64
- private emit;
65
- /**
66
- * Create the base event structure with timestamp.
67
- */
68
- private createEventBase;
69
- /**
70
- * Emit SESSION_STARTED event.
71
- */
72
- emitSessionStarted(options?: {
73
- model?: string;
74
- provider?: string;
75
- }): void;
76
- /**
77
- * Emit PROMPT_SUBMITTED event.
78
- */
79
- emitPromptSubmitted(prompt: string, truncated?: boolean): void;
80
- /**
81
- * Emit THINKING_STARTED event.
82
- */
83
- emitThinkingStarted(content?: string): void;
84
- /**
85
- * Emit THINKING_STOPPED event.
86
- */
87
- emitThinkingStoped(): void;
88
- /**
89
- * Emit TOOL_STARTED event.
90
- */
91
- emitToolStarted(toolName: string, toolId?: string): void;
92
- /**
93
- * Emit TOOL_COMPLETED event.
94
- */
95
- emitToolCompleted(toolName: string, toolId?: string, result?: unknown, duration?: number): void;
96
- /**
97
- * Emit TOOL_FAILED event.
98
- */
99
- emitToolFailed(toolName: string, error: string, toolId?: string): void;
100
- /**
101
- * Emit TEXT_DELTA event.
102
- */
103
- emitTextDelta(content: string): void;
104
- /**
105
- * Emit RESPONSE_COMPLETED event.
106
- */
107
- emitResponseCompleted(content: string): void;
108
- /**
109
- * Emit ERROR_OCCURRED event.
110
- */
111
- emitErrorOccurred(error: string, code?: string): void;
112
- /**
113
- * Emit SESSION_ENDED event.
114
- */
115
- emitSessionEnded(success: boolean): void;
116
- }
117
- //# sourceMappingURL=event-emitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/exec/event-emitter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAMzC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,WAAW,IAAI,SAAS,EAAE;IAI1B;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,aAAa,EACzB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,kBAAkB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI;IASnD;;OAEG;IACH,OAAO,CAAC,IAAI;IAOZ;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYzE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAU5D;;OAEG;IACH,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAUxD;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI;IAYP;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAWtE;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASpC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5C;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAUrD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAUzC"}
@@ -1,171 +0,0 @@
1
- /**
2
- * Event types emitted during AI execution for rich progress feedback.
3
- */
4
- export declare enum ExecEventType {
5
- /** Session has been initialized and is ready to execute */
6
- SESSION_STARTED = "session:started",
7
- /** A prompt has been submitted to the AI */
8
- PROMPT_SUBMITTED = "prompt:submitted",
9
- /** AI has started thinking/reasoning */
10
- THINKING_STARTED = "thinking:started",
11
- /** AI has stopped thinking/reasoning */
12
- THINKING_STOPPED = "thinking:stopped",
13
- /** A tool has started execution */
14
- TOOL_STARTED = "tool:started",
15
- /** A tool has completed successfully */
16
- TOOL_COMPLETED = "tool:completed",
17
- /** A tool has failed */
18
- TOOL_FAILED = "tool:failed",
19
- /** Incremental text output from the AI */
20
- TEXT_DELTA = "text:delta",
21
- /** The AI response has completed */
22
- RESPONSE_COMPLETED = "response:completed",
23
- /** An error occurred during execution */
24
- ERROR_OCCURRED = "error:occurred",
25
- /** The session has ended */
26
- SESSION_ENDED = "session:ended"
27
- }
28
- /**
29
- * Base interface for all execution events.
30
- */
31
- export interface ExecEventBase {
32
- type: ExecEventType;
33
- timestamp: number;
34
- }
35
- /**
36
- * Event payload for SESSION_STARTED
37
- */
38
- export interface SessionStartedEvent extends ExecEventBase {
39
- type: ExecEventType.SESSION_STARTED;
40
- data: {
41
- sessionId: string;
42
- model?: string;
43
- provider?: string;
44
- };
45
- }
46
- /**
47
- * Event payload for PROMPT_SUBMITTED
48
- */
49
- export interface PromptSubmittedEvent extends ExecEventBase {
50
- type: ExecEventType.PROMPT_SUBMITTED;
51
- data: {
52
- prompt: string;
53
- truncated?: boolean;
54
- };
55
- }
56
- /**
57
- * Event payload for THINKING_STARTED
58
- */
59
- export interface ThinkingStartedEvent extends ExecEventBase {
60
- type: ExecEventType.THINKING_STARTED;
61
- data: {
62
- content?: string;
63
- };
64
- }
65
- /**
66
- * Event payload for THINKING_STOPPED
67
- */
68
- export interface ThinkingStoppedEvent extends ExecEventBase {
69
- type: ExecEventType.THINKING_STOPPED;
70
- data: Record<string, never>;
71
- }
72
- /**
73
- * Event payload for TOOL_STARTED
74
- */
75
- export interface ToolStartedEvent extends ExecEventBase {
76
- type: ExecEventType.TOOL_STARTED;
77
- data: {
78
- toolName: string;
79
- toolId?: string;
80
- parameters?: Record<string, unknown>;
81
- };
82
- }
83
- /**
84
- * Event payload for TOOL_COMPLETED
85
- */
86
- export interface ToolCompletedEvent extends ExecEventBase {
87
- type: ExecEventType.TOOL_COMPLETED;
88
- data: {
89
- toolName: string;
90
- toolId?: string;
91
- parameters?: Record<string, unknown>;
92
- result?: unknown;
93
- /** Duration in milliseconds */
94
- duration?: number;
95
- };
96
- }
97
- /**
98
- * Event payload for TOOL_FAILED
99
- */
100
- export interface ToolFailedEvent extends ExecEventBase {
101
- type: ExecEventType.TOOL_FAILED;
102
- data: {
103
- toolName: string;
104
- toolId?: string;
105
- parameters?: Record<string, unknown>;
106
- error: string;
107
- };
108
- }
109
- /**
110
- * Event payload for TEXT_DELTA
111
- */
112
- export interface TextDeltaEvent extends ExecEventBase {
113
- type: ExecEventType.TEXT_DELTA;
114
- data: {
115
- content: string;
116
- };
117
- }
118
- /**
119
- * Event payload for RESPONSE_COMPLETED
120
- */
121
- export interface ResponseCompletedEvent extends ExecEventBase {
122
- type: ExecEventType.RESPONSE_COMPLETED;
123
- data: {
124
- content: string;
125
- };
126
- }
127
- /**
128
- * Event payload for ERROR_OCCURRED
129
- */
130
- export interface ErrorOccurredEvent extends ExecEventBase {
131
- type: ExecEventType.ERROR_OCCURRED;
132
- data: {
133
- error: string;
134
- code?: string;
135
- };
136
- }
137
- /**
138
- * Event payload for SESSION_ENDED
139
- */
140
- export interface SessionEndedEvent extends ExecEventBase {
141
- type: ExecEventType.SESSION_ENDED;
142
- data: {
143
- sessionId: string;
144
- success: boolean;
145
- };
146
- }
147
- /**
148
- * Union type of all execution events.
149
- */
150
- export type ExecEvent = SessionStartedEvent | PromptSubmittedEvent | ThinkingStartedEvent | ThinkingStoppedEvent | ToolStartedEvent | ToolCompletedEvent | ToolFailedEvent | TextDeltaEvent | ResponseCompletedEvent | ErrorOccurredEvent | SessionEndedEvent;
151
- /**
152
- * Event listener callback type.
153
- */
154
- export type ExecEventListener<T extends ExecEvent = ExecEvent> = (event: T) => void;
155
- /**
156
- * Type-safe event map for ExecEventEmitter.
157
- */
158
- export interface ExecEventMap {
159
- [ExecEventType.SESSION_STARTED]: SessionStartedEvent;
160
- [ExecEventType.PROMPT_SUBMITTED]: PromptSubmittedEvent;
161
- [ExecEventType.THINKING_STARTED]: ThinkingStartedEvent;
162
- [ExecEventType.THINKING_STOPPED]: ThinkingStoppedEvent;
163
- [ExecEventType.TOOL_STARTED]: ToolStartedEvent;
164
- [ExecEventType.TOOL_COMPLETED]: ToolCompletedEvent;
165
- [ExecEventType.TOOL_FAILED]: ToolFailedEvent;
166
- [ExecEventType.TEXT_DELTA]: TextDeltaEvent;
167
- [ExecEventType.RESPONSE_COMPLETED]: ResponseCompletedEvent;
168
- [ExecEventType.ERROR_OCCURRED]: ErrorOccurredEvent;
169
- [ExecEventType.SESSION_ENDED]: SessionEndedEvent;
170
- }
171
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/exec/events.ts"],"names":[],"mappings":"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"}
@@ -1,164 +0,0 @@
1
- import type { AiRunner } from "../ai/runner.js";
2
- import { type Artifact, ContextTracker, type Task } from "./context-tracker.js";
3
- import { ExecEventEmitter } from "./event-emitter.js";
4
- import { ExecEventType } from "./events.js";
5
- import { type ConversationMessage, type ConversationSession, HistoryManager } from "./history-manager.js";
6
- import type { StreamChunk } from "./types.js";
7
- /**
8
- * Configuration options for ExecSession.
9
- */
10
- export interface ExecSessionConfig {
11
- /** The AI runner to use for execution */
12
- aiRunner: AiRunner;
13
- /** Project path for history storage */
14
- projectPath: string;
15
- /** Model name for session metadata */
16
- model: string;
17
- /** Provider name for session metadata */
18
- provider: string;
19
- /** Optional session ID to resume */
20
- sessionId?: string;
21
- /** Maximum messages to include in context (default: 10) */
22
- maxContextMessages?: number;
23
- /** Enable debug mode for event logging */
24
- debug?: boolean;
25
- }
26
- /**
27
- * Result returned after execution completes.
28
- */
29
- export interface ExecResult {
30
- content: string;
31
- toolsUsed: string[];
32
- duration: number;
33
- success: boolean;
34
- error?: string;
35
- }
36
- /**
37
- * Manages AI execution with conversation history persistence.
38
- *
39
- * ExecSession wraps an AI runner and automatically:
40
- * - Maintains conversation history across prompts
41
- * - Persists history to disk between sessions
42
- * - Includes recent history in prompts for context
43
- * - Emits events for progress tracking
44
- * - Prunes old sessions to prevent unbounded growth
45
- *
46
- * @example
47
- * ```typescript
48
- * const session = new ExecSession({
49
- * aiRunner: myRunner,
50
- * projectPath: '/path/to/project',
51
- * model: 'claude-sonnet-4-5',
52
- * provider: 'claude',
53
- * });
54
- *
55
- * await session.initialize();
56
- *
57
- * // Stream execution with history
58
- * for await (const chunk of session.executeStreaming('Write a function')) {
59
- * console.log(chunk);
60
- * }
61
- *
62
- * // Save session for later resume
63
- * session.save();
64
- * ```
65
- */
66
- export declare class ExecSession {
67
- private aiRunner;
68
- private history;
69
- private currentSession;
70
- private eventEmitter;
71
- private contextTracker;
72
- private maxContextMessages;
73
- private model;
74
- private provider;
75
- private sessionId?;
76
- /** Track tool start times for duration calculation */
77
- private toolStartTimes;
78
- constructor(config: ExecSessionConfig);
79
- /**
80
- * Initialize the session, loading existing session or creating new one.
81
- */
82
- initialize(): void;
83
- /**
84
- * Get the current session.
85
- */
86
- getSession(): ConversationSession | null;
87
- /**
88
- * Get the session ID.
89
- */
90
- getSessionId(): string | null;
91
- /**
92
- * Get the event emitter for subscribing to execution events.
93
- */
94
- getEventEmitter(): ExecEventEmitter;
95
- /**
96
- * Get the history manager.
97
- */
98
- getHistoryManager(): HistoryManager;
99
- /**
100
- * Get the context tracker for managing artifacts and tasks.
101
- */
102
- getContextTracker(): ContextTracker;
103
- /**
104
- * Create and track an artifact in the session.
105
- */
106
- createArtifact(params: Omit<Artifact, "id" | "createdAt" | "updatedAt">): Artifact;
107
- /**
108
- * Create and track a task in the session.
109
- */
110
- createTask(params: Omit<Task, "id" | "createdAt" | "updatedAt">): Task;
111
- /**
112
- * Resolve a natural language reference to an artifact.
113
- */
114
- resolveArtifactReference(reference: string): Artifact | null;
115
- /**
116
- * Resolve a natural language reference to a task.
117
- */
118
- resolveTaskReference(reference: string): Task | null;
119
- /**
120
- * Get conversation messages from the current session.
121
- */
122
- getMessages(): ConversationMessage[];
123
- /**
124
- * Add a message to the current session.
125
- */
126
- addMessage(message: Omit<ConversationMessage, "timestamp">): void;
127
- /**
128
- * Execute a prompt with streaming output and history context.
129
- */
130
- executeStreaming(userPrompt: string): AsyncGenerator<StreamChunk, void, unknown>;
131
- /**
132
- * Execute a prompt without streaming (returns complete result).
133
- */
134
- execute(userPrompt: string): Promise<ExecResult>;
135
- /**
136
- * Build a prompt that includes conversation history and context for follow-ups.
137
- */
138
- private buildPromptWithHistory;
139
- /**
140
- * Save the current session to disk.
141
- */
142
- save(): void;
143
- /**
144
- * Reset the session (clear messages but keep the same session ID).
145
- */
146
- reset(): void;
147
- /**
148
- * Start a new session (discards current session if not saved).
149
- */
150
- startNewSession(): void;
151
- /**
152
- * End the session and emit completion event.
153
- */
154
- end(success?: boolean): void;
155
- /**
156
- * Subscribe to execution events.
157
- */
158
- on<K extends ExecEventType>(eventType: K, listener: Parameters<ExecEventEmitter["on"]>[1]): this;
159
- /**
160
- * Unsubscribe from execution events.
161
- */
162
- off<K extends ExecEventType>(eventType: K, listener: Parameters<ExecEventEmitter["off"]>[1]): this;
163
- }
164
- //# sourceMappingURL=exec-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec-session.d.ts","sourceRoot":"","sources":["../../src/exec/exec-session.ts"],"names":[],"mappings":"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"}