@prbe.ai/electron-sdk 0.1.4 → 0.1.5

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 (61) hide show
  1. package/dist/index.d.mts +332 -0
  2. package/dist/index.d.ts +331 -15
  3. package/dist/index.js +2471 -60
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +2402 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/dist/types-DHT-JxMT.d.mts +401 -0
  8. package/dist/types-DHT-JxMT.d.ts +401 -0
  9. package/dist/types.d.mts +2 -0
  10. package/dist/types.d.ts +2 -14
  11. package/dist/types.js +160 -30
  12. package/dist/types.js.map +1 -1
  13. package/dist/types.mjs +125 -0
  14. package/dist/types.mjs.map +1 -0
  15. package/package.json +22 -8
  16. package/dist/agent.d.ts +0 -106
  17. package/dist/agent.d.ts.map +0 -1
  18. package/dist/agent.js +0 -878
  19. package/dist/agent.js.map +0 -1
  20. package/dist/assets/index.d.ts +0 -6
  21. package/dist/assets/index.d.ts.map +0 -1
  22. package/dist/assets/index.js +0 -13
  23. package/dist/assets/index.js.map +0 -1
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/interactions.d.ts +0 -63
  26. package/dist/interactions.d.ts.map +0 -1
  27. package/dist/interactions.js +0 -27
  28. package/dist/interactions.js.map +0 -1
  29. package/dist/models.d.ts +0 -218
  30. package/dist/models.d.ts.map +0 -1
  31. package/dist/models.js +0 -121
  32. package/dist/models.js.map +0 -1
  33. package/dist/serialization.d.ts +0 -51
  34. package/dist/serialization.d.ts.map +0 -1
  35. package/dist/serialization.js +0 -72
  36. package/dist/serialization.js.map +0 -1
  37. package/dist/state.d.ts +0 -70
  38. package/dist/state.d.ts.map +0 -1
  39. package/dist/state.js +0 -303
  40. package/dist/state.js.map +0 -1
  41. package/dist/tools/bash.d.ts +0 -30
  42. package/dist/tools/bash.d.ts.map +0 -1
  43. package/dist/tools/bash.js +0 -248
  44. package/dist/tools/bash.js.map +0 -1
  45. package/dist/tools/filesystem.d.ts +0 -63
  46. package/dist/tools/filesystem.d.ts.map +0 -1
  47. package/dist/tools/filesystem.js +0 -573
  48. package/dist/tools/filesystem.js.map +0 -1
  49. package/dist/tools/index.d.ts +0 -46
  50. package/dist/tools/index.d.ts.map +0 -1
  51. package/dist/tools/index.js +0 -171
  52. package/dist/tools/index.js.map +0 -1
  53. package/dist/tools/interactive.d.ts +0 -15
  54. package/dist/tools/interactive.d.ts.map +0 -1
  55. package/dist/tools/interactive.js +0 -58
  56. package/dist/tools/interactive.js.map +0 -1
  57. package/dist/tools/logs.d.ts +0 -72
  58. package/dist/tools/logs.d.ts.map +0 -1
  59. package/dist/tools/logs.js +0 -366
  60. package/dist/tools/logs.js.map +0 -1
  61. package/dist/types.d.ts.map +0 -1
@@ -1,72 +0,0 @@
1
- "use strict";
2
- /**
3
- * serialization.ts — IPC-safe serialization of agent state
4
- *
5
- * Converts live PRBEAgentState (with Map, Date, EventEmitter) into
6
- * plain JSON-safe objects suitable for IPC or structured clone.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DEFAULT_PRBE_STATE = void 0;
10
- exports.serializePRBEState = serializePRBEState;
11
- // ---------------------------------------------------------------------------
12
- // Default state (used before agent initializes)
13
- // ---------------------------------------------------------------------------
14
- exports.DEFAULT_PRBE_STATE = {
15
- isInvestigating: false,
16
- events: [],
17
- report: "",
18
- summary: "",
19
- currentQuery: "",
20
- resolvedInteractions: [],
21
- completedInvestigations: [],
22
- activeCRs: [],
23
- completedCRs: [],
24
- trackedTicketIDs: [],
25
- ticketInfo: [],
26
- hasActiveWork: false,
27
- };
28
- // ---------------------------------------------------------------------------
29
- // Converter: live state → IPC-safe plain object
30
- // ---------------------------------------------------------------------------
31
- function serializeCR(cr) {
32
- return {
33
- id: cr.id,
34
- query: cr.query,
35
- slug: cr.slug,
36
- events: cr.events,
37
- isRunning: cr.isRunning,
38
- isCompleted: cr.isCompleted,
39
- isFailed: cr.isFailed,
40
- report: cr.report,
41
- summary: cr.summary,
42
- errorMessage: cr.errorMessage,
43
- startedAt: cr.startedAt.toISOString(),
44
- pendingInteraction: cr.pendingInteraction,
45
- resolvedInteractions: cr.resolvedInteractions ?? [],
46
- };
47
- }
48
- function serializePRBEState(state) {
49
- return {
50
- isInvestigating: state.isInvestigating,
51
- events: state.events,
52
- report: state.report,
53
- summary: state.summary,
54
- currentQuery: state.currentQuery,
55
- investigationError: state.investigationError,
56
- pendingInteraction: state.pendingInteraction,
57
- resolvedInteractions: state.resolvedInteractions,
58
- completedInvestigations: state.completedInvestigations.map((inv) => ({
59
- id: inv.id,
60
- query: inv.query,
61
- report: inv.report,
62
- summary: inv.summary,
63
- completedAt: inv.completedAt.toISOString(),
64
- })),
65
- activeCRs: Array.from(state.activeCRs.values()).map(serializeCR),
66
- completedCRs: state.completedCRs.map(serializeCR),
67
- trackedTicketIDs: state.trackedTicketIDs,
68
- ticketInfo: state.ticketInfo,
69
- hasActiveWork: state.hasActiveWork,
70
- };
71
- }
72
- //# sourceMappingURL=serialization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8GH,gDAuBC;AAhED,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAEjE,QAAA,kBAAkB,GAAwB;IACrD,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,oBAAoB,EAAE,EAAE;IACxB,uBAAuB,EAAE,EAAE;IAC3B,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,EAAE;IACd,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,SAAS,WAAW,CAAC,EAAuB;IAC1C,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,EAAE,CAAC,YAAY;QAC7B,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;QACrC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;QACzC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnE,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE;SAC3C,CAAC,CAAC;QACH,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QAChE,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;QACjD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC"}
package/dist/state.d.ts DELETED
@@ -1,70 +0,0 @@
1
- /**
2
- * state.ts — PRBEAgentState: EventEmitter-based observable investigation state
3
- *
4
- * Mirrors PRBEAgentState.swift but uses Node.js EventEmitter instead of Combine/@Published.
5
- * Host apps subscribe to events for UI updates.
6
- */
7
- import { EventEmitter } from "events";
8
- import type { PRBEStatusEvent, PRBECRInvestigation, PRBECompletedInvestigation, TicketInfoOut } from "./models";
9
- import type { InteractionPayload, InteractionResponse, ResolvedInteraction } from "./interactions";
10
- export declare enum PRBEStateEvent {
11
- /** Emitted on any state change. Payload: void */
12
- STATUS = "status",
13
- /** Emitted when a new event is appended. Payload: PRBEStatusEvent */
14
- EVENT = "event",
15
- /** Emitted when investigation completes. Payload: { report: string; summary: string } */
16
- COMPLETE = "complete",
17
- /** Emitted on error. Payload: { message: string } */
18
- ERROR = "error",
19
- /** Emitted when a background CR starts. Payload: PRBECRInvestigation */
20
- CR_START = "cr-start",
21
- /** Emitted when a background CR completes/fails. Payload: PRBECRInvestigation */
22
- CR_COMPLETE = "cr-complete",
23
- /** Emitted when tracked ticket IDs change. Payload: string[] */
24
- TICKETS_CHANGED = "tickets-changed",
25
- /** Emitted when ticket info is updated. Payload: TicketInfoOut[] */
26
- TICKET_INFO = "ticket-info",
27
- /** Emitted when an interaction is requested. Payload: InteractionPayload */
28
- INTERACTION_REQUESTED = "interaction-requested",
29
- /** Emitted when an interaction is resolved. Payload: void */
30
- INTERACTION_RESOLVED = "interaction-resolved"
31
- }
32
- export declare class PRBEAgentState extends EventEmitter {
33
- isInvestigating: boolean;
34
- events: PRBEStatusEvent[];
35
- report: string;
36
- summary: string;
37
- currentQuery: string;
38
- investigationError?: string;
39
- pendingInteraction?: InteractionPayload;
40
- resolvedInteractions: ResolvedInteraction[];
41
- completedInvestigations: PRBECompletedInvestigation[];
42
- activeCRs: Map<string, PRBECRInvestigation>;
43
- completedCRs: PRBECRInvestigation[];
44
- trackedTicketIDs: string[];
45
- ticketInfo: TicketInfoOut[];
46
- get hasActiveWork(): boolean;
47
- get activeCRCount(): number;
48
- get isActive(): boolean;
49
- beginInvestigation(query: string): void;
50
- resetInvestigation(): void;
51
- appendEvent(label: string, detail?: string, completed?: boolean): void;
52
- attachObservation(text: string): void;
53
- completeInvestigation(report: string, summary: string): void;
54
- failInvestigation(message: string): void;
55
- setPendingInteraction(payload: InteractionPayload): void;
56
- clearPendingInteraction(): void;
57
- setCRPendingInteraction(crID: string, payload: InteractionPayload): void;
58
- clearCRPendingInteraction(crID: string): void;
59
- resolveInteraction(response: InteractionResponse): void;
60
- resolveCRInteraction(crID: string, response: InteractionResponse): void;
61
- toggleExpansion(eventId: string): void;
62
- beginCR(id: string, query: string, slug?: string): void;
63
- appendCREvent(crID: string, label: string, detail?: string, completed?: boolean): void;
64
- attachCRObservation(crID: string, text: string): void;
65
- completeCR(id: string, report: string, summary: string): void;
66
- failCR(id: string, message: string): void;
67
- updateTrackedTicketIDs(ids: string[]): void;
68
- updateTicketInfo(info: TicketInfoOut[]): void;
69
- }
70
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/state.js DELETED
@@ -1,303 +0,0 @@
1
- "use strict";
2
- /**
3
- * state.ts — PRBEAgentState: EventEmitter-based observable investigation state
4
- *
5
- * Mirrors PRBEAgentState.swift but uses Node.js EventEmitter instead of Combine/@Published.
6
- * Host apps subscribe to events for UI updates.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PRBEAgentState = exports.PRBEStateEvent = void 0;
10
- const events_1 = require("events");
11
- const crypto_1 = require("crypto");
12
- // ---------------------------------------------------------------------------
13
- // Event types emitted by PRBEAgentState
14
- // ---------------------------------------------------------------------------
15
- var PRBEStateEvent;
16
- (function (PRBEStateEvent) {
17
- /** Emitted on any state change. Payload: void */
18
- PRBEStateEvent["STATUS"] = "status";
19
- /** Emitted when a new event is appended. Payload: PRBEStatusEvent */
20
- PRBEStateEvent["EVENT"] = "event";
21
- /** Emitted when investigation completes. Payload: { report: string; summary: string } */
22
- PRBEStateEvent["COMPLETE"] = "complete";
23
- /** Emitted on error. Payload: { message: string } */
24
- PRBEStateEvent["ERROR"] = "error";
25
- /** Emitted when a background CR starts. Payload: PRBECRInvestigation */
26
- PRBEStateEvent["CR_START"] = "cr-start";
27
- /** Emitted when a background CR completes/fails. Payload: PRBECRInvestigation */
28
- PRBEStateEvent["CR_COMPLETE"] = "cr-complete";
29
- /** Emitted when tracked ticket IDs change. Payload: string[] */
30
- PRBEStateEvent["TICKETS_CHANGED"] = "tickets-changed";
31
- /** Emitted when ticket info is updated. Payload: TicketInfoOut[] */
32
- PRBEStateEvent["TICKET_INFO"] = "ticket-info";
33
- /** Emitted when an interaction is requested. Payload: InteractionPayload */
34
- PRBEStateEvent["INTERACTION_REQUESTED"] = "interaction-requested";
35
- /** Emitted when an interaction is resolved. Payload: void */
36
- PRBEStateEvent["INTERACTION_RESOLVED"] = "interaction-resolved";
37
- })(PRBEStateEvent || (exports.PRBEStateEvent = PRBEStateEvent = {}));
38
- // ---------------------------------------------------------------------------
39
- // PRBEAgentState
40
- // ---------------------------------------------------------------------------
41
- class PRBEAgentState extends events_1.EventEmitter {
42
- // User-initiated investigation
43
- isInvestigating = false;
44
- events = [];
45
- report = "";
46
- summary = "";
47
- currentQuery = "";
48
- investigationError;
49
- pendingInteraction;
50
- resolvedInteractions = [];
51
- // Completed user investigations (history)
52
- completedInvestigations = [];
53
- // Background context requests
54
- activeCRs = new Map();
55
- completedCRs = [];
56
- // Tracked tickets
57
- trackedTicketIDs = [];
58
- ticketInfo = [];
59
- // Computed
60
- get hasActiveWork() {
61
- return this.isInvestigating || this.activeCRs.size > 0;
62
- }
63
- get activeCRCount() {
64
- return this.activeCRs.size;
65
- }
66
- get isActive() {
67
- return this.isInvestigating || this.report.length > 0 || this.investigationError != null;
68
- }
69
- // ---------- User investigation mutations ----------
70
- beginInvestigation(query) {
71
- this.isInvestigating = true;
72
- this.events = [];
73
- this.resolvedInteractions = [];
74
- this.report = "";
75
- this.summary = "";
76
- this.currentQuery = query;
77
- this.investigationError = undefined;
78
- this.emit(PRBEStateEvent.STATUS);
79
- }
80
- resetInvestigation() {
81
- this.isInvestigating = false;
82
- this.events = [];
83
- this.resolvedInteractions = [];
84
- this.report = "";
85
- this.summary = "";
86
- this.currentQuery = "";
87
- this.investigationError = undefined;
88
- this.pendingInteraction = undefined;
89
- this.emit(PRBEStateEvent.STATUS);
90
- }
91
- appendEvent(label, detail, completed = false) {
92
- // Mark previous event as completed before adding new one
93
- if (this.events.length > 0) {
94
- const last = this.events[this.events.length - 1];
95
- if (!last.isCompleted && !completed) {
96
- last.isCompleted = true;
97
- }
98
- }
99
- const event = {
100
- id: (0, crypto_1.randomUUID)(),
101
- label,
102
- detail,
103
- isCompleted: completed,
104
- isExpanded: false,
105
- };
106
- this.events.push(event);
107
- this.emit(PRBEStateEvent.EVENT, event);
108
- this.emit(PRBEStateEvent.STATUS);
109
- }
110
- attachObservation(text) {
111
- if (this.events.length > 0) {
112
- this.events[this.events.length - 1].detail = text;
113
- this.emit(PRBEStateEvent.STATUS);
114
- }
115
- }
116
- completeInvestigation(report, summary) {
117
- if (this.events.length > 0) {
118
- this.events[this.events.length - 1].isCompleted = true;
119
- }
120
- this.appendEvent("Done", undefined, true);
121
- // Save to history
122
- this.completedInvestigations.unshift({
123
- id: (0, crypto_1.randomUUID)(),
124
- query: this.currentQuery,
125
- report,
126
- summary,
127
- completedAt: new Date(),
128
- });
129
- this.report = report;
130
- this.summary = summary;
131
- this.isInvestigating = false;
132
- this.emit(PRBEStateEvent.COMPLETE, { report, summary });
133
- this.emit(PRBEStateEvent.STATUS);
134
- }
135
- failInvestigation(message) {
136
- this.appendEvent(`Error: ${message}`);
137
- this.investigationError = message;
138
- this.isInvestigating = false;
139
- this.emit(PRBEStateEvent.ERROR, { message });
140
- this.emit(PRBEStateEvent.STATUS);
141
- }
142
- // ---------- Interaction state mutations ----------
143
- setPendingInteraction(payload) {
144
- this.pendingInteraction = payload;
145
- this.emit(PRBEStateEvent.INTERACTION_REQUESTED, payload);
146
- this.emit(PRBEStateEvent.STATUS);
147
- }
148
- clearPendingInteraction() {
149
- this.pendingInteraction = undefined;
150
- this.emit(PRBEStateEvent.INTERACTION_RESOLVED);
151
- this.emit(PRBEStateEvent.STATUS);
152
- }
153
- setCRPendingInteraction(crID, payload) {
154
- const cr = this.activeCRs.get(crID);
155
- if (!cr)
156
- return;
157
- cr.pendingInteraction = payload;
158
- this.emit(PRBEStateEvent.INTERACTION_REQUESTED, payload);
159
- this.emit(PRBEStateEvent.STATUS);
160
- }
161
- clearCRPendingInteraction(crID) {
162
- const cr = this.activeCRs.get(crID);
163
- if (!cr)
164
- return;
165
- cr.pendingInteraction = undefined;
166
- this.emit(PRBEStateEvent.INTERACTION_RESOLVED);
167
- this.emit(PRBEStateEvent.STATUS);
168
- }
169
- resolveInteraction(response) {
170
- if (!this.pendingInteraction)
171
- return;
172
- this.resolvedInteractions.push({
173
- interactionId: this.pendingInteraction.interactionId,
174
- payload: this.pendingInteraction,
175
- response,
176
- eventIndex: this.events.length,
177
- });
178
- this.pendingInteraction = undefined;
179
- this.emit(PRBEStateEvent.INTERACTION_RESOLVED);
180
- this.emit(PRBEStateEvent.STATUS);
181
- }
182
- resolveCRInteraction(crID, response) {
183
- const cr = this.activeCRs.get(crID);
184
- if (!cr || !cr.pendingInteraction)
185
- return;
186
- const resolved = cr.resolvedInteractions ?? [];
187
- resolved.push({
188
- interactionId: cr.pendingInteraction.interactionId,
189
- payload: cr.pendingInteraction,
190
- response,
191
- eventIndex: cr.events.length,
192
- });
193
- cr.resolvedInteractions = resolved;
194
- cr.pendingInteraction = undefined;
195
- this.emit(PRBEStateEvent.INTERACTION_RESOLVED);
196
- this.emit(PRBEStateEvent.STATUS);
197
- }
198
- toggleExpansion(eventId) {
199
- const event = this.events.find((e) => e.id === eventId);
200
- if (event) {
201
- event.isExpanded = !event.isExpanded;
202
- this.emit(PRBEStateEvent.STATUS);
203
- }
204
- }
205
- // ---------- CR state mutations ----------
206
- beginCR(id, query, slug) {
207
- const cr = {
208
- id,
209
- query,
210
- slug,
211
- events: [],
212
- resolvedInteractions: [],
213
- isRunning: true,
214
- isCompleted: false,
215
- isFailed: false,
216
- report: "",
217
- summary: "",
218
- startedAt: new Date(),
219
- };
220
- this.activeCRs.set(id, cr);
221
- this.emit(PRBEStateEvent.CR_START, cr);
222
- this.emit(PRBEStateEvent.STATUS);
223
- }
224
- appendCREvent(crID, label, detail, completed = false) {
225
- const cr = this.activeCRs.get(crID);
226
- if (!cr)
227
- return;
228
- if (cr.events.length > 0) {
229
- const last = cr.events[cr.events.length - 1];
230
- if (!last.isCompleted && !completed) {
231
- last.isCompleted = true;
232
- }
233
- }
234
- cr.events.push({
235
- id: (0, crypto_1.randomUUID)(),
236
- label,
237
- detail,
238
- isCompleted: completed,
239
- isExpanded: false,
240
- });
241
- this.emit(PRBEStateEvent.STATUS);
242
- }
243
- attachCRObservation(crID, text) {
244
- const cr = this.activeCRs.get(crID);
245
- if (!cr || cr.events.length === 0)
246
- return;
247
- cr.events[cr.events.length - 1].detail = text;
248
- this.emit(PRBEStateEvent.STATUS);
249
- }
250
- completeCR(id, report, summary) {
251
- const cr = this.activeCRs.get(id);
252
- if (!cr)
253
- return;
254
- this.activeCRs.delete(id);
255
- if (cr.events.length > 0) {
256
- cr.events[cr.events.length - 1].isCompleted = true;
257
- }
258
- cr.events.push({
259
- id: (0, crypto_1.randomUUID)(),
260
- label: "Done",
261
- isCompleted: true,
262
- isExpanded: false,
263
- });
264
- cr.isRunning = false;
265
- cr.isCompleted = true;
266
- cr.report = report;
267
- cr.summary = summary;
268
- this.completedCRs.unshift(cr);
269
- this.emit(PRBEStateEvent.CR_COMPLETE, cr);
270
- this.emit(PRBEStateEvent.STATUS);
271
- }
272
- failCR(id, message) {
273
- const cr = this.activeCRs.get(id);
274
- if (!cr)
275
- return;
276
- this.activeCRs.delete(id);
277
- cr.events.push({
278
- id: (0, crypto_1.randomUUID)(),
279
- label: `Error: ${message}`,
280
- isCompleted: false,
281
- isExpanded: false,
282
- });
283
- cr.isRunning = false;
284
- cr.isFailed = true;
285
- cr.errorMessage = message;
286
- this.completedCRs.unshift(cr);
287
- this.emit(PRBEStateEvent.CR_COMPLETE, cr);
288
- this.emit(PRBEStateEvent.STATUS);
289
- }
290
- // ---------- Tickets ----------
291
- updateTrackedTicketIDs(ids) {
292
- this.trackedTicketIDs = ids;
293
- this.emit(PRBEStateEvent.TICKETS_CHANGED, ids);
294
- this.emit(PRBEStateEvent.STATUS);
295
- }
296
- updateTicketInfo(info) {
297
- this.ticketInfo = info;
298
- this.emit(PRBEStateEvent.TICKET_INFO, info);
299
- this.emit(PRBEStateEvent.STATUS);
300
- }
301
- }
302
- exports.PRBEAgentState = PRBEAgentState;
303
- //# sourceMappingURL=state.js.map
package/dist/state.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * tools/bash.ts — BashExecuteTool
3
- *
4
- * Allows the agent to execute shell commands during investigations.
5
- * Uses a whitelist-only safety model: commands on the whitelist run without
6
- * permission; everything else requires user approval.
7
- *
8
- * Platform-aware: uses separate whitelists for Unix and Windows, and
9
- * runs commands via PowerShell on Windows for consistent behavior.
10
- */
11
- import type { PRBEToolDeclaration } from "../models";
12
- import type { PRBEInteractionRequester } from "../interactions";
13
- import type { PRBETool } from "./index";
14
- export declare class BashExecuteTool implements PRBETool {
15
- private readonly requester;
16
- private readonly autoApprovedDirs;
17
- private readonly grantedPaths;
18
- constructor(requester: PRBEInteractionRequester, autoApprovedDirs: string[], grantedPaths: Set<string>);
19
- get declaration(): PRBEToolDeclaration;
20
- execute(args: Record<string, unknown>): Promise<string>;
21
- /**
22
- * Check if a command is on the safe whitelist.
23
- */
24
- private isCommandSafe;
25
- /**
26
- * For piped commands, check that every segment uses a safe command.
27
- */
28
- private areAllPipeSegmentsSafe;
29
- }
30
- //# sourceMappingURL=bash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,wBAAwB,EAA6B,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAqDxC,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAGzC,SAAS,EAAE,wBAAwB,EACnC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC;IAO3B,IAAI,WAAW,IAAI,mBAAmB,CA2BrC;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA+E7D;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAoB/B"}