@nuvin/agent-core 0.2.0-rc.4 → 0.2.0-rc.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.
- package/dist/VERSION +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/chunk-A4CS4HLK.js +1 -1
- package/dist/chunk-D5IVWJHX.js +1 -1
- package/dist/chunk-FFIZ6TKW.js +1 -1
- package/dist/chunk-IUZALP6K.js +1 -1
- package/dist/chunk-LIE76IJA.js +1 -1
- package/dist/chunk-X7VAACWY.js +1 -1
- package/dist/chunk-YNOIG4FD.js +1 -1
- package/dist/formats/index.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/lsp/client.d.ts +4 -0
- package/dist/models/index.js +1 -1
- package/dist/shared/abort-aware-semaphore.d.ts +5 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -1
- package/dist/tools/background-process-registry.d.ts +60 -8
- package/dist/tools/index.js +1 -1
- package/dist/tools/process-tree-termination.d.ts +25 -0
- package/dist/tools/runtime-manager-tools.d.ts +9 -1
- package/dist/tools/terminal-output-normalizer.d.ts +6 -0
- package/package.json +3 -3
package/dist/shared/index.d.ts
CHANGED
package/dist/shared/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x25cab3,_0x1f42ea){const _0x14a2a9={_0x2bb1db:0x38d,_0x502744:0x1f,_0x50e78f:0x19,_0x9b5a2a:0x1c,_0x3f93d5:0x1b,_0x174492:0x21,_0xd3573e:0xb,_0x442376:0x3,_0x3abdee:0x389,_0x26b90e:0x4,_0x5361be:0x9,_0xb2409b:0x6,_0x4712cc:0x39a,_0x372c83:0x15,_0x2d6b44:0x19,_0x5df508:0x397,_0x1e7783:0x38b,_0x215a75:0x24,_0x32b6c4:0x1d,_0x5918a8:0x398,_0x25ff60:0x3a2,_0x1b1b4b:0x39e},_0x17b679={_0x43a604:0x1f0},_0x52b0d1={_0x316cab:0x1b5};function _0x2f7435(_0x58df2c,_0x5e7da7,_0x4a2e9e,_0x394c6a){return _0x230d(_0x4a2e9e- -_0x52b0d1._0x316cab,_0x5e7da7);}function _0x12fd50(_0x2a4471,_0x527ef8,_0x198c09,_0x2cbe08){return _0x230d(_0x2a4471-_0x17b679._0x43a604,_0x527ef8);}const _0x3a06a4=_0x25cab3();while(!![]){try{const _0x12449f=parseInt(_0x12fd50(_0x14a2a9._0x2bb1db,0x389,0x38b,0x397))/0x1*(-parseInt(_0x2f7435(-_0x14a2a9._0x502744,-0xf,-0x16,-_0x14a2a9._0x50e78f))/0x2)+parseInt(_0x2f7435(-0x10,-_0x14a2a9._0x9b5a2a,-_0x14a2a9._0x3f93d5,-_0x14a2a9._0x174492))/0x3+-parseInt(_0x2f7435(-_0x14a2a9._0xd3573e,-_0x14a2a9._0xd3573e,-0xb,-_0x14a2a9._0x442376))/0x4+-parseInt(_0x12fd50(0x38e,0x393,0x38d,_0x14a2a9._0x3abdee))/0x5*(-parseInt(_0x2f7435(-_0x14a2a9._0x26b90e,-_0x14a2a9._0x5361be,-0xe,-_0x14a2a9._0xb2409b))/0x6)+-parseInt(_0x12fd50(0x396,_0x14a2a9._0x4712cc,0x38d,0x39d))/0x7+-parseInt(_0x2f7435(-0x22,-_0x14a2a9._0x372c83,-_0x14a2a9._0x2d6b44,-0x15))/0x8*(-parseInt(_0x12fd50(0x395,_0x14a2a9._0x5df508,_0x14a2a9._0x1e7783,0x394))/0x9)+parseInt(_0x2f7435(-_0x14a2a9._0x215a75,-_0x14a2a9._0x32b6c4,-0x1c,-0x23))/0xa*(parseInt(_0x12fd50(0x399,_0x14a2a9._0x5918a8,_0x14a2a9._0x25ff60,_0x14a2a9._0x1b1b4b))/0xb);if(_0x12449f===_0x1f42ea)break;else _0x3a06a4['push'](_0x3a06a4['shift']());}catch(_0x1a6eff){_0x3a06a4['push'](_0x3a06a4['shift']());}}}(_0x5ba7,0x512cf));import{modelIdentityFromParts}from'../chunk-D5IVWJHX.js';import{resolveAnthropicReasoningConfig,resolveOpenAiReasoningConfig}from'../chunk-IUZALP6K.js';import{TurnFailedError}from'../chunk-FFIZ6TKW.js';function _0x5ba7(){const _0x20588a=['y2fUy2vSBgvK','mtm4odqZodDkEuTlCfy','mJq0nZG2nhfJvxL4va','AxngAw5PDgu','ywjVCNrLza','CMvTB3zLqwjVCNrmAxn0zw5LCG','mtblANHrqLy','otK4odq3zNvXDMDT','Aw5KzxHpzG','otzpCeP6qxK','odmYouXRD1jowG','mte4odm1s2HzBwnS','odrtu1rKufe','CMvQzwn0','CMvHC29U','CMvZB2X2zq','C2HPzNq','ChvZAa','mtq2odq0zg1WsKrt','mZK3ntG2meL6ELj3ra','mtHJDwjuAgS'];_0x5ba7=function(){return _0x20588a;};return _0x5ba7();}function _0x230d(_0x199377,_0x12f75b){_0x199377=_0x199377-0x199;const _0x5ba700=_0x5ba7();let _0x230dc2=_0x5ba700[_0x199377];if(_0x230d['PqFmce']===undefined){var _0x412054=function(_0x3b8819){const _0x3b45da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ba4a7='',_0x44c4c5='';for(let _0xf9b5b4=0x0,_0x4cf131,_0x111b2b,_0x3a88e3=0x0;_0x111b2b=_0x3b8819['charAt'](_0x3a88e3++);~_0x111b2b&&(_0x4cf131=_0xf9b5b4%0x4?_0x4cf131*0x40+_0x111b2b:_0x111b2b,_0xf9b5b4++%0x4)?_0x5ba4a7+=String['fromCharCode'](0xff&_0x4cf131>>(-0x2*_0xf9b5b4&0x6)):0x0){_0x111b2b=_0x3b45da['indexOf'](_0x111b2b);}for(let _0xb8353f=0x0,_0x5a0afd=_0x5ba4a7['length'];_0xb8353f<_0x5a0afd;_0xb8353f++){_0x44c4c5+='%'+('00'+_0x5ba4a7['charCodeAt'](_0xb8353f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44c4c5);};_0x230d['ONEisO']=_0x412054,_0x230d['QNSNIr']={},_0x230d['PqFmce']=!![];}const _0x2cc334=_0x5ba700[0x0],_0x16421=_0x199377+_0x2cc334,_0x11be62=_0x230d['QNSNIr'][_0x16421];return!_0x11be62?(_0x230dc2=_0x230d['ONEisO'](_0x230dc2),_0x230d['QNSNIr'][_0x16421]=_0x230dc2):_0x230dc2=_0x11be62,_0x230dc2;}import{OperationAbortedError,addAbortListener,isAbortError,throwIfAborted,toAbortError}from'../chunk-X7VAACWY.js';function createAbortAwareSemaphore(_0x5ba4a7){const _0x11f562={_0xc8fca:0x112,_0x4bfaec:0x113,_0x69b42:0x10f},_0x492015={_0x24756b:0x1b9,_0x50c879:0x1ad,_0x5054d7:0x240,_0x560be1:0x23a,_0x5555c4:0x23b,_0x275d0c:0x239},_0x1e38a3={_0x4172d5:0x110,_0x50d50e:0x10c,_0x533678:0x17f,_0x5449b1:0x178,_0x3a1569:0x115,_0x35e7fb:0x11b,_0x453fe0:0x17f,_0xd5e91:0x177,_0x503f2e:0x179,_0x7f77df:0x165,_0x122115:0x16e},_0x22a9d5={_0x58bc89:0x177},_0x49519f={_0x569fee:0x109};if(!Number[_0x28a953(0x111,_0x11f562._0xc8fca,_0x11f562._0x4bfaec,_0x11f562._0x69b42)](_0x5ba4a7)||!Number['isInteger'](_0x5ba4a7)||_0x5ba4a7<=0x0)throw new Error('maxConcurrency\x20must\x20be\x20a\x20finite\x20positive\x20integer');let _0x44c4c5=0x0;const _0xf9b5b4=[];function _0x28a953(_0x376fd9,_0x359728,_0x5ba059,_0x1adf59){return _0x230d(_0x376fd9- -0x9a,_0x5ba059);}const _0x4cf131=()=>{let _0x3a88e3=![];return()=>{if(_0x3a88e3)return;_0x3a88e3=!![],_0x44c4c5-=0x1,_0x111b2b();};},_0x111b2b=()=>{function _0x26d145(_0x192c16,_0x104149,_0x3bf0a1,_0x4e3f91){return _0x28a953(_0x192c16-0x7,_0x104149-0x1ef,_0x3bf0a1,_0x4e3f91-_0x49519f._0x569fee);}function _0x187906(_0x11b104,_0x45c2e9,_0x442402,_0x106fe1){return _0x28a953(_0x106fe1-0x66,_0x45c2e9-_0x22a9d5._0x58bc89,_0x11b104,_0x106fe1-0x137);}while(_0xf9b5b4['length']>0x0){const _0xb8353f=_0xf9b5b4[_0x26d145(_0x1e38a3._0x4172d5,0x110,0x115,_0x1e38a3._0x50d50e)]();if(!_0xb8353f||_0xb8353f[_0x187906(_0x1e38a3._0x533678,_0x1e38a3._0x5449b1,_0x1e38a3._0x5449b1,0x174)])continue;_0xb8353f[_0x26d145(_0x1e38a3._0x3a1569,_0x1e38a3._0x35e7fb,0x10d,0x115)]=!![],_0xb8353f[_0x187906(_0x1e38a3._0x453fe0,_0x1e38a3._0xd5e91,0x17a,_0x1e38a3._0x503f2e)](),_0x44c4c5+=0x1,_0xb8353f[_0x187906(0x16f,_0x1e38a3._0x7f77df,0x16b,_0x1e38a3._0x122115)](_0x4cf131());return;}};return{'acquire'(_0x5a0afd){const _0x2250fa={_0x1162bf:0x562,_0x361131:0x55e,_0x1bc93a:0x56a,_0x4af8f3:0x56b},_0x522417={_0x626dea:0x35d,_0x4accb3:0x359,_0x4a3b88:0x360,_0x40fb9f:0x358,_0xce9f42:0x364,_0x15ed93:0x355,_0x310768:0x355,_0x50692f:0x354,_0x413b82:0x35b},_0x5b10bc={_0x1544e0:0x2c},_0x3a97df={_0x5d2467:0xd0};function _0x2a0a61(_0x22bc32,_0x364633,_0x218b2f,_0x267fcc){return _0x28a953(_0x267fcc-0xad,_0x364633-0x134,_0x364633,_0x267fcc-0x28);}if(_0x5a0afd?.[_0x4d67a5(0x247,0x241,0x24f,0x24c)])return Promise[_0x2a0a61(0x1bd,_0x492015._0x24756b,_0x492015._0x50c879,0x1b3)](toAbortError(_0x5a0afd[_0x4d67a5(0x23c,_0x492015._0x5054d7,0x240,_0x492015._0x560be1)]));function _0x4d67a5(_0x53f85c,_0x2b08fa,_0x4732be,_0x593bc5){return _0x28a953(_0x53f85c-0x135,_0x2b08fa-_0x3a97df._0x5d2467,_0x4732be,_0x593bc5-0x96);}if(_0x44c4c5<_0x5ba4a7)return _0x44c4c5+=0x1,Promise[_0x4d67a5(0x23d,_0x492015._0x5555c4,0x23d,_0x492015._0x275d0c)](_0x4cf131());return new Promise((_0x50ce04,_0x28a186)=>{const _0x461778={_0x236788:0x322,_0x182324:0x109};function _0x233a91(_0x269155,_0x5a4942,_0x2ad50b,_0x13f40f){return _0x4d67a5(_0x5a4942-_0x461778._0x236788,_0x5a4942-_0x461778._0x182324,_0x13f40f,_0x13f40f-0x4a);}function _0x21de20(_0x3aab42,_0x38d2c5,_0xfaee88,_0x2c8957){return _0x4d67a5(_0x38d2c5- -0x360,_0x38d2c5-0x18f,_0x3aab42,_0x2c8957-_0x5b10bc._0x1544e0);}const _0x4077aa={'resolve':_0x50ce04,'reject':_0x28a186,'cancelled':![],'removeAbortListener':()=>{}};_0xf9b5b4[_0x233a91(_0x2250fa._0x1162bf,0x561,0x56a,_0x2250fa._0x361131)](_0x4077aa),_0x4077aa[_0x233a91(0x569,_0x2250fa._0x1bc93a,_0x2250fa._0x4af8f3,0x56a)]=addAbortListener(_0x5a0afd,()=>{const _0x4d3028={_0x3f818f:0x199,_0x5118e1:0x1f4};if(_0x4077aa[_0x4dc38c(_0x522417._0x626dea,_0x522417._0x4accb3,0x35e,_0x522417._0x4a3b88)])return;function _0x58a108(_0x5ac93e,_0x44a57e,_0x12f4f3,_0x496e24){return _0x233a91(_0x5ac93e-_0x4d3028._0x3f818f,_0x496e24- -_0x4d3028._0x5118e1,_0x12f4f3-0x9c,_0x44a57e);}_0x4077aa[_0x4dc38c(_0x522417._0x626dea,_0x522417._0x40fb9f,0x360,_0x522417._0xce9f42)]=!![],_0x4077aa['removeAbortListener']();const _0x3e8ddb=_0xf9b5b4[_0x4dc38c(0x350,0x350,_0x522417._0x15ed93,0x346)](_0x4077aa);function _0x4dc38c(_0x45bb45,_0x27e3de,_0x4d4e2d,_0x1a7713){return _0x21de20(_0x27e3de,_0x45bb45-0x47a,_0x4d4e2d-0x5c,_0x1a7713-0x5f);}if(_0x3e8ddb>=0x0)_0xf9b5b4['splice'](_0x3e8ddb,0x1);_0x4077aa[_0x4dc38c(_0x522417._0x310768,0x350,_0x522417._0x50692f,_0x522417._0x413b82)](toAbortError(_0x5a0afd?.['reason']));});});}};}export{OperationAbortedError,TurnFailedError,addAbortListener,createAbortAwareSemaphore,isAbortError,modelIdentityFromParts,resolveAnthropicReasoningConfig,resolveOpenAiReasoningConfig,throwIfAborted,toAbortError};
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import type { ChildProcess } from "node:child_process";
|
|
2
2
|
import { StringDecoder } from "node:string_decoder";
|
|
3
|
-
|
|
3
|
+
import { type ProcessTreeSignalAdapter } from "./process-tree-termination.ts";
|
|
4
|
+
import { type TerminalOutputNormalizer } from "./terminal-output-normalizer.ts";
|
|
5
|
+
export type BackgroundProcessStatus = "running" | "terminating" | "exited" | "killed" | "error";
|
|
6
|
+
export interface BackgroundProcessReservation {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
}
|
|
9
|
+
export interface BackgroundProcessTerminationResult {
|
|
10
|
+
shellId: string;
|
|
11
|
+
outcome: "killed" | "already-terminal" | "failed";
|
|
12
|
+
status: BackgroundProcessStatus;
|
|
13
|
+
exitCode: number | null;
|
|
14
|
+
signal: NodeJS.Signals | null;
|
|
15
|
+
error: string | null;
|
|
16
|
+
gracefulRequested: boolean;
|
|
17
|
+
forceRequested: boolean;
|
|
18
|
+
}
|
|
4
19
|
export interface BackgroundProcessEntry {
|
|
5
20
|
shellId: string;
|
|
6
21
|
command: string;
|
|
7
22
|
cwd: string;
|
|
8
23
|
pid: number | undefined;
|
|
24
|
+
processGroupId: number | undefined;
|
|
9
25
|
status: BackgroundProcessStatus;
|
|
10
26
|
exitCode: number | null;
|
|
11
27
|
signal: NodeJS.Signals | null;
|
|
12
28
|
startedAt: number;
|
|
13
|
-
error
|
|
29
|
+
error: string | null;
|
|
30
|
+
gracefulRequested: boolean;
|
|
31
|
+
forceRequested: boolean;
|
|
14
32
|
child: ChildProcess | null;
|
|
15
33
|
buffer: string[];
|
|
16
34
|
bufferChars: number;
|
|
@@ -19,29 +37,58 @@ export interface BackgroundProcessEntry {
|
|
|
19
37
|
readCursor: number;
|
|
20
38
|
stdoutDecoder: StringDecoder;
|
|
21
39
|
stderrDecoder: StringDecoder;
|
|
40
|
+
stdoutNormalizer: TerminalOutputNormalizer;
|
|
41
|
+
stderrNormalizer: TerminalOutputNormalizer;
|
|
22
42
|
stripAnsi: boolean;
|
|
23
43
|
killRequested: boolean;
|
|
24
44
|
processExited: boolean;
|
|
45
|
+
streamsFlushed: boolean;
|
|
46
|
+
terminalSettled: boolean;
|
|
47
|
+
terminalPromise: Promise<void>;
|
|
48
|
+
resolveTerminal: () => void;
|
|
49
|
+
terminationPromise?: Promise<BackgroundProcessTerminationResult>;
|
|
50
|
+
terminationSettled: boolean;
|
|
25
51
|
}
|
|
26
52
|
export interface BackgroundProcessReadResult {
|
|
27
53
|
output: string;
|
|
28
54
|
status: BackgroundProcessStatus;
|
|
29
55
|
exitCode: number | null;
|
|
30
56
|
signal: NodeJS.Signals | null;
|
|
57
|
+
error: string | null;
|
|
31
58
|
truncated: boolean;
|
|
32
59
|
}
|
|
33
60
|
export interface BackgroundProcessRegistryOptions {
|
|
34
61
|
maxConcurrent?: number;
|
|
35
62
|
maxEntries?: number;
|
|
36
63
|
capChars?: number;
|
|
64
|
+
platform?: NodeJS.Platform;
|
|
65
|
+
signalAdapter?: ProcessTreeSignalAdapter;
|
|
37
66
|
}
|
|
67
|
+
export declare class BackgroundProcessCleanupError extends Error {
|
|
68
|
+
readonly results: BackgroundProcessTerminationResult[];
|
|
69
|
+
constructor(results: BackgroundProcessTerminationResult[]);
|
|
70
|
+
}
|
|
71
|
+
export declare function isTerminalStatus(status: BackgroundProcessStatus): boolean;
|
|
38
72
|
export declare class BackgroundProcessRegistry {
|
|
39
73
|
private readonly entries;
|
|
74
|
+
private readonly reservations;
|
|
40
75
|
private readonly maxConcurrent;
|
|
41
76
|
private readonly maxEntries;
|
|
42
77
|
private readonly capChars;
|
|
78
|
+
private readonly platform;
|
|
79
|
+
private readonly signalAdapter;
|
|
43
80
|
private counter;
|
|
44
81
|
constructor(opts?: BackgroundProcessRegistryOptions);
|
|
82
|
+
reserve(): BackgroundProcessReservation;
|
|
83
|
+
release(reservation: BackgroundProcessReservation): void;
|
|
84
|
+
attach(reservation: BackgroundProcessReservation, opts: {
|
|
85
|
+
child: ChildProcess;
|
|
86
|
+
command: string;
|
|
87
|
+
cwd: string;
|
|
88
|
+
stripAnsi: boolean;
|
|
89
|
+
processGroupId?: number;
|
|
90
|
+
}): BackgroundProcessEntry;
|
|
91
|
+
/** Compatibility adapter for callers being migrated to reserve/attach. */
|
|
45
92
|
spawn(opts: {
|
|
46
93
|
child: ChildProcess;
|
|
47
94
|
command: string;
|
|
@@ -52,12 +99,17 @@ export declare class BackgroundProcessRegistry {
|
|
|
52
99
|
regex?: string;
|
|
53
100
|
}): BackgroundProcessReadResult;
|
|
54
101
|
list(): BackgroundProcessEntry[];
|
|
55
|
-
kill(shellId: string):
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
102
|
+
kill(shellId: string): Promise<BackgroundProcessTerminationResult>;
|
|
103
|
+
closeAll(): Promise<BackgroundProcessTerminationResult[]>;
|
|
104
|
+
reset(): Promise<BackgroundProcessTerminationResult[]>;
|
|
105
|
+
private terminate;
|
|
106
|
+
private confirmed;
|
|
107
|
+
private failed;
|
|
108
|
+
private result;
|
|
109
|
+
private waitForTerminal;
|
|
110
|
+
private appendDecoded;
|
|
111
|
+
private settleTerminal;
|
|
112
|
+
private flushStreams;
|
|
61
113
|
private append;
|
|
62
114
|
private evictIfNeeded;
|
|
63
115
|
}
|