antri_cli 1.57.28 ā 1.57.31
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/cli/banner.d.ts.map +1 -1
- package/dist/cli/banner.js +9 -2
- package/dist/cli/banner.js.map +1 -1
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +4 -0
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/promptToolkit.d.ts.map +1 -1
- package/dist/cli/promptToolkit.js +1 -1
- package/dist/cli/promptToolkit.js.map +1 -1
- package/dist/cli/renderer.d.ts +8 -0
- package/dist/cli/renderer.d.ts.map +1 -1
- package/dist/cli/renderer.js +77 -0
- package/dist/cli/renderer.js.map +1 -1
- package/dist/core/agent.d.ts +5 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +1122 -32
- package/dist/core/agent.js.map +1 -1
- package/dist/core/artifactManager.d.ts.map +1 -1
- package/dist/core/artifactManager.js +105 -21
- package/dist/core/artifactManager.js.map +1 -1
- package/dist/core/codebaseBreather.d.ts +46 -0
- package/dist/core/codebaseBreather.d.ts.map +1 -0
- package/dist/core/codebaseBreather.js +310 -0
- package/dist/core/codebaseBreather.js.map +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +6 -2
- package/dist/core/config.js.map +1 -1
- package/dist/core/dialectic.d.ts.map +1 -1
- package/dist/core/dialectic.js +67 -45
- package/dist/core/dialectic.js.map +1 -1
- package/dist/core/tools.d.ts +5 -0
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +147 -46
- package/dist/core/tools.js.map +1 -1
- package/dist/core/updater.d.ts +1 -1
- package/dist/core/updater.js +1 -1
- package/dist/desktop/public/app.js +276 -6
- package/dist/desktop/public/index.html +149 -1
- package/dist/desktop/public/style.css +356 -0
- package/dist/desktop/server.d.ts.map +1 -1
- package/dist/desktop/server.js +75 -0
- package/dist/desktop/server.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/mobile/public/app.js +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/models.d.ts.map +1 -1
- package/dist/providers/models.js +2 -4
- package/dist/providers/models.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +19 -3
- package/dist/providers/openai.js.map +1 -1
- package/dist/skills/skillManager.d.ts.map +1 -1
- package/dist/skills/skillManager.js +216 -226
- package/dist/skills/skillManager.js.map +1 -1
- package/package.json +4 -1
package/dist/core/dialectic.js
CHANGED
|
@@ -23,14 +23,15 @@ export class DialecticEngine {
|
|
|
23
23
|
// ==========================================
|
|
24
24
|
// STAGE 1: The Proposer (Thesis)
|
|
25
25
|
// ==========================================
|
|
26
|
-
this.renderPersonaBanner('š” The Proposer (Thesis)', '#34d399', 'Generating primary hypothesis and
|
|
27
|
-
const thesisPrompt = `You are The Proposer in a dialectic consensus engine.
|
|
28
|
-
User Query: "${query}"
|
|
26
|
+
this.renderPersonaBanner('š” The Proposer (Thesis)', '#34d399', 'Generating primary hypothesis and strategic argument...');
|
|
27
|
+
const thesisPrompt = `You are The Proposer & Chief Strategist in a multi-perspective dialectic consensus engine.
|
|
28
|
+
User Query / Debate Topic: "${query}"
|
|
29
29
|
|
|
30
30
|
Your task:
|
|
31
|
-
1. Provide a comprehensive,
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
31
|
+
1. Provide a comprehensive, authoritative, and fact-grounded initial case, architectural proposal, or comparative hypothesis.
|
|
32
|
+
2. Clearly articulate key strengths, distinct advantages (pros), and strategic value.
|
|
33
|
+
3. Use real domain data, accurate metrics, structural principles, and empirical facts.
|
|
34
|
+
4. Do NOT write toy boilerplate script files unless explicitly requested to write software. Focus deeply on domain substance, comparison factors, and mechanics.`;
|
|
34
35
|
const thesisContent = await this.runPersona('proposer', thesisPrompt, []);
|
|
35
36
|
stages.push({
|
|
36
37
|
persona: 'proposer',
|
|
@@ -40,9 +41,9 @@ Your task:
|
|
|
40
41
|
// ==========================================
|
|
41
42
|
// STAGE 2: The Adversary / Critic (Antithesis)
|
|
42
43
|
// ==========================================
|
|
43
|
-
this.renderPersonaBanner('āļø The Adversary / Critic (Antithesis)', '#f87171', 'Stress-testing thesis for vulnerabilities, flaws, and
|
|
44
|
-
const antithesisPrompt = `You are The Adversary
|
|
45
|
-
User Query: "${query}"
|
|
44
|
+
this.renderPersonaBanner('āļø The Adversary / Critic (Antithesis)', '#f87171', 'Stress-testing thesis for vulnerabilities, flaws, and trade-offs...');
|
|
45
|
+
const antithesisPrompt = `You are The Adversary, Chief Security/Economics Critic, and Logic Inquisitor in a dialectic consensus engine.
|
|
46
|
+
User Query / Debate Topic: "${query}"
|
|
46
47
|
|
|
47
48
|
Proposer's Thesis:
|
|
48
49
|
"""
|
|
@@ -50,10 +51,10 @@ ${thesisContent}
|
|
|
50
51
|
"""
|
|
51
52
|
|
|
52
53
|
Your task:
|
|
53
|
-
1. Ruthlessly challenge the Proposer's assumptions and
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4. Be rigorous, objective, and
|
|
54
|
+
1. Ruthlessly challenge the Proposer's assumptions, blind spots, and proposed direction.
|
|
55
|
+
2. Detail critical vulnerabilities, disadvantages (cons), operational bottlenecks, scalability failure points, hidden costs, or superior alternative paradigms.
|
|
56
|
+
3. Ground your critique in hard realities, real-world case studies, counter-metrics, and edge cases.
|
|
57
|
+
4. Be rigorous, objective, and analytically sharp.`;
|
|
57
58
|
const antithesisContent = await this.runPersona('adversary', antithesisPrompt, []);
|
|
58
59
|
stages.push({
|
|
59
60
|
persona: 'adversary',
|
|
@@ -68,7 +69,7 @@ Your task:
|
|
|
68
69
|
if (depth === 'deep' || depth === 'rigorous') {
|
|
69
70
|
this.renderPersonaBanner('š¬ The Researcher / Verifier', '#38bdf8', 'Autonomously deploying Level 2 web & workspace tools to verify contested claims...');
|
|
70
71
|
const researchPrompt = `You are The Researcher and Empirical Verifier.
|
|
71
|
-
User Query: "${query}"
|
|
72
|
+
User Query / Debate Topic: "${query}"
|
|
72
73
|
|
|
73
74
|
Thesis:
|
|
74
75
|
"""
|
|
@@ -81,9 +82,9 @@ ${antithesisContent}
|
|
|
81
82
|
"""
|
|
82
83
|
|
|
83
84
|
Your task:
|
|
84
|
-
1. Fact-check disputed claims between Thesis and Antithesis.
|
|
85
|
+
1. Fact-check disputed claims between Thesis and Antithesis using empirical data and verifiable benchmarks.
|
|
85
86
|
2. Use tools (web_search, scrape_url, run_command, read_file) if needed to verify documentation, library versions, or empirical behaviors.
|
|
86
|
-
3. Deliver a concise verification report summarizing what holds true and what is debunked.`;
|
|
87
|
+
3. Deliver a concise verification report summarizing what holds true and what is debunked with concrete facts.`;
|
|
87
88
|
verificationContent = await this.runPersonaWithTools('researcher', researchPrompt);
|
|
88
89
|
stages.push({
|
|
89
90
|
persona: 'researcher',
|
|
@@ -97,7 +98,7 @@ Your task:
|
|
|
97
98
|
if (depth === 'rigorous') {
|
|
98
99
|
this.renderPersonaBanner('š” The Proposer (Refined Thesis - Round 2)', '#34d399', 'Refining solution against adversarial critiques and empirical data...');
|
|
99
100
|
const round2ProposerPrompt = `You are The Proposer incorporating feedback.
|
|
100
|
-
User Query: "${query}"
|
|
101
|
+
User Query / Debate Topic: "${query}"
|
|
101
102
|
Criticisms:
|
|
102
103
|
"""
|
|
103
104
|
${antithesisContent}
|
|
@@ -108,7 +109,7 @@ ${verificationContent}
|
|
|
108
109
|
"""
|
|
109
110
|
|
|
110
111
|
Your task:
|
|
111
|
-
Provide an updated, hardened revision of the
|
|
112
|
+
Provide an updated, hardened revision of the argument addressing all valid points while defending key strengths.`;
|
|
112
113
|
revisedThesisContent = await this.runPersona('proposer', round2ProposerPrompt, []);
|
|
113
114
|
stages.push({
|
|
114
115
|
persona: 'proposer',
|
|
@@ -120,15 +121,15 @@ Provide an updated, hardened revision of the solution addressing all valid point
|
|
|
120
121
|
// FINAL STAGE: The Judge / Synthesizer (Synthesis)
|
|
121
122
|
// ==========================================
|
|
122
123
|
this.renderPersonaBanner('āļø The Judge / Synthesizer (Final Consensus)', '#c084fc', 'Merging valid counterpoints, resolving contradictions, delivering final consensus...');
|
|
123
|
-
const judgePrompt = `You are The Judge and Master Synthesizer.
|
|
124
|
-
User Query: "${query}"
|
|
124
|
+
const judgePrompt = `You are The Supreme Judge and Master Synthesizer in a dialectic consensus engine.
|
|
125
|
+
User Query / Debate Topic: "${query}"
|
|
125
126
|
|
|
126
|
-
1.
|
|
127
|
+
1. Thesis (Primary Argument & Strengths):
|
|
127
128
|
"""
|
|
128
129
|
${thesisContent}
|
|
129
130
|
"""
|
|
130
131
|
|
|
131
|
-
2. Adversarial Critique:
|
|
132
|
+
2. Antithesis (Adversarial Critique & Disadvantages):
|
|
132
133
|
"""
|
|
133
134
|
${antithesisContent}
|
|
134
135
|
"""
|
|
@@ -137,9 +138,18 @@ ${verificationContent ? `3. Empirical Verification:\n"""\n${verificationContent}
|
|
|
137
138
|
${revisedThesisContent ? `4. Revised Hardened Proposal:\n"""\n${revisedThesisContent}\n"""\n` : ''}
|
|
138
139
|
|
|
139
140
|
Your task:
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
Deliver the definitive, high-impact, battle-tested EXECUTIVE CONSENSUS and comparative synthesis.
|
|
142
|
+
Structure your response into clear, comprehensive markdown sections:
|
|
143
|
+
1. š **Executive Verdict & Core Takeaways**: Definitive summary and overarching outcome of the analysis.
|
|
144
|
+
2. š **Side-by-Side Factor Comparison Matrix**: Comparative markdown table evaluating key dimensions (e.g. Performance, Scalability, Cost / Economic Output, Reliability, Labor / Talent, Maturity, Trade-offs).
|
|
145
|
+
3. ā” **Core Strengths & Advantages (Pros)**: Deep domain breakdown of where each side excels.
|
|
146
|
+
4. ā ļø **Critical Vulnerabilities & Limitations (Cons)**: Objective analysis of drawbacks, bottlenecks, failure modes, and trade-offs.
|
|
147
|
+
5. š¬ **Empirical Reality & Real-World Precedents**: Verified metrics, official statistics, benchmark figures, or industry case studies.
|
|
148
|
+
6. šÆ **Strategic Decision Framework**: Clear, actionable heuristics for when to choose or invest in each path.
|
|
149
|
+
|
|
150
|
+
CRITICAL INSTRUCTIONS:
|
|
151
|
+
- Do NOT output generic boilerplate code (such as mock pandas/sklearn toy models) unless explicitly requested to write software. Provide deep, authentic, substantive domain intelligence.
|
|
152
|
+
- Keep emojis tasteful and minimal ā maximum 2 emojis in your entire response.`;
|
|
143
153
|
const synthesisContent = await this.runPersona('judge', judgePrompt, []);
|
|
144
154
|
stages.push({
|
|
145
155
|
persona: 'judge',
|
|
@@ -313,17 +323,18 @@ Your task:
|
|
|
313
323
|
}
|
|
314
324
|
try {
|
|
315
325
|
// 1. Proposer (Thesis)
|
|
316
|
-
const thesisPrompt = `You are The Proposer in a dialectic consensus engine.
|
|
317
|
-
User Query: "${query}"
|
|
326
|
+
const thesisPrompt = `You are The Proposer & Chief Strategist in a multi-perspective dialectic consensus engine.
|
|
327
|
+
User Query / Debate Topic: "${query}"
|
|
318
328
|
|
|
319
329
|
Your task:
|
|
320
|
-
1. Provide a comprehensive,
|
|
321
|
-
2.
|
|
322
|
-
3.
|
|
330
|
+
1. Provide a comprehensive, authoritative, and fact-grounded initial case, architectural proposal, or comparative hypothesis.
|
|
331
|
+
2. Clearly articulate key strengths, distinct advantages (pros), and strategic value.
|
|
332
|
+
3. Use real domain data, accurate metrics, structural principles, and empirical facts.
|
|
333
|
+
4. Do NOT write toy boilerplate script files (e.g. mock pandas/sklearn LinearRegression) unless the user explicitly requested code. Focus deeply on domain substance, comparison factors, and mechanics.`;
|
|
323
334
|
const thesisContent = await provider.sendMessageStream([{ role: 'user', content: thesisPrompt }], [], { onToken: () => { } });
|
|
324
335
|
// 2. Adversary (Antithesis)
|
|
325
|
-
const antithesisPrompt = `You are The Adversary
|
|
326
|
-
User Query: "${query}"
|
|
336
|
+
const antithesisPrompt = `You are The Adversary, Chief Security/Economics Critic, and Logic Inquisitor in a dialectic consensus engine.
|
|
337
|
+
User Query / Debate Topic: "${query}"
|
|
327
338
|
|
|
328
339
|
Proposer's Thesis:
|
|
329
340
|
"""
|
|
@@ -331,15 +342,16 @@ ${thesisContent}
|
|
|
331
342
|
"""
|
|
332
343
|
|
|
333
344
|
Your task:
|
|
334
|
-
1.
|
|
335
|
-
2.
|
|
336
|
-
3.
|
|
345
|
+
1. Ruthlessly challenge the Proposer's assumptions, blind spots, and proposed direction.
|
|
346
|
+
2. Detail critical vulnerabilities, disadvantages (cons), operational bottlenecks, scalability failure points, hidden costs, or superior alternative paradigms.
|
|
347
|
+
3. Ground your critique in hard realities, real-world case studies, counter-metrics, and edge cases.
|
|
348
|
+
4. Be rigorous, objective, and analytically sharp.`;
|
|
337
349
|
const antithesisContent = await provider.sendMessageStream([{ role: 'user', content: antithesisPrompt }], [], { onToken: () => { } });
|
|
338
350
|
// 3. Researcher Verification (if deep or rigorous)
|
|
339
351
|
let verificationContent = '';
|
|
340
352
|
if (depth === 'deep' || depth === 'rigorous') {
|
|
341
353
|
const researchPrompt = `You are The Researcher and Empirical Verifier.
|
|
342
|
-
User Query: "${query}"
|
|
354
|
+
User Query / Debate Topic: "${query}"
|
|
343
355
|
|
|
344
356
|
Thesis:
|
|
345
357
|
"""
|
|
@@ -352,19 +364,21 @@ ${antithesisContent}
|
|
|
352
364
|
"""
|
|
353
365
|
|
|
354
366
|
Your task:
|
|
355
|
-
Fact-check disputed claims between Thesis and Antithesis
|
|
367
|
+
1. Fact-check disputed claims between Thesis and Antithesis using empirical data and verifiable benchmarks.
|
|
368
|
+
2. Determine which claims are objectively true, which are exaggerated, and which are context-dependent.
|
|
369
|
+
3. Summarize the validated empirical reality clearly with concrete numbers and facts.`;
|
|
356
370
|
verificationContent = await provider.sendMessageStream([{ role: 'user', content: researchPrompt }], [], { onToken: () => { } });
|
|
357
371
|
}
|
|
358
372
|
// 4. Judge / Final Synthesizer
|
|
359
|
-
const judgePrompt = `You are The Judge and Master Synthesizer.
|
|
360
|
-
User Query: "${query}"
|
|
373
|
+
const judgePrompt = `You are The Supreme Judge and Master Synthesizer in a dialectic consensus engine.
|
|
374
|
+
User Query / Debate Topic: "${query}"
|
|
361
375
|
|
|
362
|
-
1.
|
|
376
|
+
1. Thesis (Primary Argument & Strengths):
|
|
363
377
|
"""
|
|
364
378
|
${thesisContent}
|
|
365
379
|
"""
|
|
366
380
|
|
|
367
|
-
2. Adversarial Critique:
|
|
381
|
+
2. Antithesis (Adversarial Critique & Disadvantages):
|
|
368
382
|
"""
|
|
369
383
|
${antithesisContent}
|
|
370
384
|
"""
|
|
@@ -372,10 +386,18 @@ ${antithesisContent}
|
|
|
372
386
|
${verificationContent ? `3. Empirical Verification:\n"""\n${verificationContent}\n"""\n` : ''}
|
|
373
387
|
|
|
374
388
|
Your task:
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
389
|
+
Deliver the definitive, high-impact, battle-tested EXECUTIVE CONSENSUS and comparative synthesis.
|
|
390
|
+
Structure your response into clear, comprehensive markdown sections:
|
|
391
|
+
1. š **Executive Verdict & Core Takeaways**: Definitive summary and overarching outcome of the analysis.
|
|
392
|
+
2. š **Side-by-Side Factor Comparison Matrix**: Comparative markdown table evaluating key dimensions (e.g. Performance, Scalability, Cost / Economic Output, Reliability, Labor / Talent, Maturity, Trade-offs).
|
|
393
|
+
3. ā” **Core Strengths & Advantages (Pros)**: Deep domain breakdown of where each side excels.
|
|
394
|
+
4. ā ļø **Critical Vulnerabilities & Limitations (Cons)**: Objective analysis of drawbacks, bottlenecks, failure modes, and trade-offs.
|
|
395
|
+
5. š¬ **Empirical Reality & Real-World Precedents**: Verified metrics, official statistics, benchmark figures, or industry case studies.
|
|
396
|
+
6. šÆ **Strategic Decision Framework**: Clear, actionable heuristics for when to choose or invest in each path.
|
|
397
|
+
|
|
398
|
+
CRITICAL INSTRUCTIONS:
|
|
399
|
+
- Do NOT output generic boilerplate code (such as mock pandas/sklearn toy models) unless explicitly requested to write software. Provide deep, authentic, substantive domain intelligence.
|
|
400
|
+
- Keep emojis tasteful and minimal ā maximum 2 emojis in your entire response.`;
|
|
379
401
|
const finalSynthesis = await provider.sendMessageStream([{ role: 'user', content: judgePrompt }], [], { onToken: () => { } });
|
|
380
402
|
if (spinner)
|
|
381
403
|
spinner.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialectic.js","sourceRoot":"","sources":["../../src/core/dialectic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAY,MAAM,KAAK,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAc;IACpB,YAAY,CAAe;IAC3B,cAAc,CAAiB;IAEvC,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAqB,MAAM;QAC5D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhC,6CAA6C;QAC7C,iCAAiC;QACjC,6CAA6C;QAC7C,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,SAAS,EAAE,6DAA6D,CAAC,CAAC;QAC/H,MAAM,YAAY,GAAG;eACV,KAAK;;;;;qCAKiB,CAAC;QAElC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,6CAA6C;QAC7C,+CAA+C;QAC/C,6CAA6C;QAC7C,IAAI,CAAC,mBAAmB,CAAC,wCAAwC,EAAE,SAAS,EAAE,qEAAqE,CAAC,CAAC;QACrJ,MAAM,gBAAgB,GAAG;eACd,KAAK;;;;EAIlB,aAAa;;;;;;;6CAO8B,CAAC;QAE1C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,0CAA0C;YACjD,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QAEH,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAE9B,6CAA6C;QAC7C,uDAAuD;QACvD,6CAA6C;QAC7C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,SAAS,EAAE,oFAAoF,CAAC,CAAC;YAC1J,MAAM,cAAc,GAAG;eACd,KAAK;;;;EAIlB,aAAa;;;;;EAKb,iBAAiB;;;;;;2FAMwE,CAAC;YAEtF,mBAAmB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,0CAA0C;gBACjD,OAAO,EAAE,mBAAmB;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,+CAA+C;QAC/C,6CAA6C;QAC7C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,4CAA4C,EAAE,SAAS,EAAE,uEAAuE,CAAC,CAAC;YAC3J,MAAM,oBAAoB,GAAG;eACpB,KAAK;;;EAGlB,iBAAiB;;;;EAIjB,mBAAmB;;;;sHAIiG,CAAC;YAEjH,oBAAoB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,yBAAyB;gBAChC,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,mDAAmD;QACnD,6CAA6C;QAC7C,IAAI,CAAC,mBAAmB,CAAC,8CAA8C,EAAE,SAAS,EAAE,sFAAsF,CAAC,CAAC;QAC5K,MAAM,WAAW,GAAG;eACT,KAAK;;;;EAIlB,aAAa;;;;;EAKb,iBAAiB;;;EAGjB,mBAAmB,CAAC,CAAC,CAAC,oCAAoC,mBAAmB,SAAS,CAAC,CAAC,CAAC,EAAE;EAC3F,oBAAoB,CAAC,CAAC,CAAC,uCAAuC,oBAAoB,SAAS,CAAC,CAAC,CAAC,EAAE;;;;;0DAKxC,CAAC;QAEvD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,6CAA6C;YACpD,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1C,OAAO;YACL,KAAK;YACL,KAAK;YACL,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,iBAAiB;YAC7B,YAAY,EAAE,mBAAmB,IAAI,SAAS;YAC9C,SAAS,EAAE,gBAAgB;YAC3B,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,UAAkB,EAAE,WAA0B;QACtF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAkB;YAC9B,GAAG,WAAW;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC,CAAC;QAEF,IAAI,OAAO,GAAe,GAAG,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,OAAO,0BAA0B,CAAC;YACzE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE;gBAC1D,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;oBACzB,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;oBACD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;oBACD,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,aAAa,OAAO,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,UAAkB,EAAE,KAAK,GAAG,CAAC;QAC9E,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAExE,IAAI,OAAO,GAAe,GAAG,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6CAA6C,CAAC;YACzE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,MAAM,gBAAgB,GAAe,EAAE,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE;gBACvE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;oBACzB,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;oBACD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;oBACD,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;gBACD,UAAU,EAAE,CAAC,EAAY,EAAE,EAAE;oBAC3B,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;oBACD,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBAClC,IAAI,UAAU,GAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,EAAE,CAAC;oBAClB,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpF,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAE9C,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;wBAC1D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,wBAAwB,UAAU,CAAC,KAAK,EAAE,EAAE,6BAA6B,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBAC1K,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,sBAAsB,GAAG,CAAC,OAAO,GAAG,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,8BAA8B;IACtB,YAAY,CAAC,KAAa,EAAE,KAAkB;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;YAClD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,yCAAyC,CAAC,CAChE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC,CAAC;QACpI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,YAAoB,EAAE,QAAgB,EAAE,QAAgB;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,qBAAqB,CAAC,MAAwB,EAAE,KAAkB;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,sBAAsB,MAAM,CAAC,MAAM,gBAAgB,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5G,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,QAAqB,MAAM;QAClE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,OAAO,GAAe,IAAI,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,GAAG,CAAC;gBACZ,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,wDAAwD,CAAC;gBACpF,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,YAAY,GAAG;eACZ,KAAK;;;;;qCAKiB,CAAC;YAEhC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CACpD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EACzC,EAAE,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CACtB,CAAC;YAEF,4BAA4B;YAC5B,MAAM,gBAAgB,GAAG;eAChB,KAAK;;;;EAIlB,aAAa;;;;;;uCAMwB,CAAC;YAElC,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CACxD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAC7C,EAAE,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CACtB,CAAC;YAEF,mDAAmD;YACnD,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG;eAChB,KAAK;;;;EAIlB,aAAa;;;;;EAKb,iBAAiB;;;;0GAIuF,CAAC;gBAEnG,mBAAmB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CACpD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAC3C,EAAE,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CACtB,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,MAAM,WAAW,GAAG;eACX,KAAK;;;;EAIlB,aAAa;;;;;EAKb,iBAAiB;;;EAGjB,mBAAmB,CAAC,CAAC,CAAC,oCAAoC,mBAAmB,SAAS,CAAC,CAAC,CAAC,EAAE;;;;;;kGAMK,CAAC;YAE7F,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CACrD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EACxC,EAAE,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CACtB,CAAC;YAEF,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAE5B,OAAO,0CAA0C,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,uEAAuE,GAAG,CAAC,OAAO,GAAG,CAAC;QAC/F,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"dialectic.js","sourceRoot":"","sources":["../../src/core/dialectic.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools.d.ts
CHANGED
|
@@ -17,6 +17,11 @@ export declare class ToolExecutor {
|
|
|
17
17
|
static materializeNextJsTodoList(workingDir: string): string[];
|
|
18
18
|
static materializeNextJsPortfolio(workingDir: string): string[];
|
|
19
19
|
promptForPermission(name: string, args: Record<string, any>): Promise<boolean>;
|
|
20
|
+
resolveWorkspacePath(rawPath: string): string;
|
|
20
21
|
execute(name: string, args: Record<string, any>, toolCallId: string): Promise<ToolResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Robust multi-command, multi-line, and daemon/server execution pipeline with real-time feedback
|
|
24
|
+
*/
|
|
25
|
+
private executeCommandPipeline;
|
|
21
26
|
}
|
|
22
27
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/core/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzD,eAAO,MAAM,eAAe,aAS1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsCjE;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,EAqX3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAAc,EAwB1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,gBAAgB,UAAQ,GAAG,cAAc,EAAE,CAa5E;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9F,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,uBAAuB,CAAC,CAAoB;gBAExC,UAAU,GAAE,MAAsB;IAIvC,oBAAoB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;WAIhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAIlC,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAmdvD,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAsZzD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzD,eAAO,MAAM,eAAe,aAS1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsCjE;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,EAqX3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAAc,EAwB1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,gBAAgB,UAAQ,GAAG,cAAc,EAAE,CAa5E;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9F,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,uBAAuB,CAAC,CAAoB;gBAExC,UAAU,GAAE,MAAsB;IAIvC,oBAAoB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;WAIhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAIlC,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAmdvD,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAsZzD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDpF,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAgBvC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAm6BtG;;OAEG;YACW,sBAAsB;CA2GrC"}
|
package/dist/core/tools.js
CHANGED
|
@@ -2,7 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import readline from 'readline';
|
|
5
|
-
import { exec } from 'child_process';
|
|
5
|
+
import { exec, spawn } from 'child_process';
|
|
6
6
|
import util from 'util';
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { WebSearchEngine } from './search.js';
|
|
@@ -1361,6 +1361,21 @@ export default function Home() {
|
|
|
1361
1361
|
console.log(chalk.red(`ā Tool execution for '${name}' denied by user.`));
|
|
1362
1362
|
return false;
|
|
1363
1363
|
}
|
|
1364
|
+
resolveWorkspacePath(rawPath) {
|
|
1365
|
+
if (!rawPath)
|
|
1366
|
+
return this.workingDir;
|
|
1367
|
+
let clean = String(rawPath).trim();
|
|
1368
|
+
const normalizedWorkingDir = path.resolve(this.workingDir);
|
|
1369
|
+
if (path.isAbsolute(clean)) {
|
|
1370
|
+
const resolved = path.resolve(clean);
|
|
1371
|
+
if (resolved.startsWith(normalizedWorkingDir)) {
|
|
1372
|
+
return resolved;
|
|
1373
|
+
}
|
|
1374
|
+
const base = path.basename(clean);
|
|
1375
|
+
return path.resolve(normalizedWorkingDir, base);
|
|
1376
|
+
}
|
|
1377
|
+
return path.resolve(normalizedWorkingDir, clean);
|
|
1378
|
+
}
|
|
1364
1379
|
async execute(name, args, toolCallId) {
|
|
1365
1380
|
try {
|
|
1366
1381
|
const { AuthManager } = await import('../cloud/auth.js');
|
|
@@ -1538,12 +1553,9 @@ export default function Home() {
|
|
|
1538
1553
|
error: true,
|
|
1539
1554
|
};
|
|
1540
1555
|
}
|
|
1541
|
-
let resolvedPath = filePath;
|
|
1542
|
-
if (
|
|
1543
|
-
resolvedPath = path.join(os.homedir(),
|
|
1544
|
-
}
|
|
1545
|
-
else {
|
|
1546
|
-
resolvedPath = path.resolve(this.workingDir, resolvedPath);
|
|
1556
|
+
let resolvedPath = this.resolveWorkspacePath(filePath);
|
|
1557
|
+
if (filePath.startsWith('~')) {
|
|
1558
|
+
resolvedPath = path.join(os.homedir(), filePath.slice(1));
|
|
1547
1559
|
}
|
|
1548
1560
|
if (!fs.existsSync(resolvedPath)) {
|
|
1549
1561
|
// Check if file exists relative to cwd or home
|
|
@@ -1590,9 +1602,9 @@ export default function Home() {
|
|
|
1590
1602
|
}
|
|
1591
1603
|
}
|
|
1592
1604
|
case 'write_file': {
|
|
1593
|
-
const
|
|
1605
|
+
const rawFilePath = toolArgs.filePath || toolArgs.file_path || toolArgs.filename || toolArgs.path || toolArgs.name;
|
|
1594
1606
|
const content = toolArgs.content !== undefined ? toolArgs.content : toolArgs.code || toolArgs.text || '';
|
|
1595
|
-
if (!
|
|
1607
|
+
if (!rawFilePath) {
|
|
1596
1608
|
return {
|
|
1597
1609
|
tool_call_id: toolCallId,
|
|
1598
1610
|
name: toolName,
|
|
@@ -1600,20 +1612,21 @@ export default function Home() {
|
|
|
1600
1612
|
error: true,
|
|
1601
1613
|
};
|
|
1602
1614
|
}
|
|
1603
|
-
const targetPath =
|
|
1615
|
+
const targetPath = this.resolveWorkspacePath(rawFilePath);
|
|
1604
1616
|
const dir = path.dirname(targetPath);
|
|
1605
1617
|
if (!fs.existsSync(dir)) {
|
|
1606
1618
|
fs.mkdirSync(dir, { recursive: true });
|
|
1607
1619
|
}
|
|
1608
1620
|
fs.writeFileSync(targetPath, content, 'utf-8');
|
|
1609
|
-
|
|
1621
|
+
const relWritten = path.relative(this.workingDir, targetPath).replace(/\\/g, '/') || path.basename(targetPath);
|
|
1622
|
+
if (targetPath.endsWith('.html') || (typeof content === 'string' && content.includes('<html'))) {
|
|
1610
1623
|
try {
|
|
1611
1624
|
const { artifactManager } = await import('./artifactManager.js');
|
|
1612
1625
|
const { sessionManager } = await import('./sessionManager.js');
|
|
1613
1626
|
const activeSession = sessionManager.getActiveSession();
|
|
1614
|
-
const baseName = path.basename(
|
|
1627
|
+
const baseName = path.basename(targetPath, '.html').replace(/[_-]/g, ' ');
|
|
1615
1628
|
const title = baseName.charAt(0).toUpperCase() + baseName.slice(1);
|
|
1616
|
-
const id = 'art_' + path.basename(
|
|
1629
|
+
const id = 'art_' + path.basename(targetPath, '.html').replace(/[^a-zA-Z0-9_]/g, '_');
|
|
1617
1630
|
artifactManager.saveArtifact({
|
|
1618
1631
|
id,
|
|
1619
1632
|
sessionId: activeSession?.id || 'workspace_files',
|
|
@@ -1629,7 +1642,7 @@ export default function Home() {
|
|
|
1629
1642
|
return {
|
|
1630
1643
|
tool_call_id: toolCallId,
|
|
1631
1644
|
name: toolName,
|
|
1632
|
-
output: `Successfully wrote ${content.length} characters to ${
|
|
1645
|
+
output: `Successfully wrote ${content.length} characters to ${relWritten} (Full path: ${targetPath})`,
|
|
1633
1646
|
};
|
|
1634
1647
|
}
|
|
1635
1648
|
case 'edit_file': {
|
|
@@ -1642,12 +1655,9 @@ export default function Home() {
|
|
|
1642
1655
|
error: true,
|
|
1643
1656
|
};
|
|
1644
1657
|
}
|
|
1645
|
-
let resolvedPath = filePath;
|
|
1646
|
-
if (
|
|
1647
|
-
resolvedPath = path.join(os.homedir(),
|
|
1648
|
-
}
|
|
1649
|
-
else {
|
|
1650
|
-
resolvedPath = path.resolve(this.workingDir, resolvedPath);
|
|
1658
|
+
let resolvedPath = this.resolveWorkspacePath(filePath);
|
|
1659
|
+
if (filePath.startsWith('~')) {
|
|
1660
|
+
resolvedPath = path.join(os.homedir(), filePath.slice(1));
|
|
1651
1661
|
}
|
|
1652
1662
|
if (!fs.existsSync(resolvedPath)) {
|
|
1653
1663
|
return {
|
|
@@ -1730,12 +1740,13 @@ export default function Home() {
|
|
|
1730
1740
|
error: true,
|
|
1731
1741
|
};
|
|
1732
1742
|
}
|
|
1733
|
-
const targetPath =
|
|
1743
|
+
const targetPath = this.resolveWorkspacePath(dirPath);
|
|
1734
1744
|
fs.mkdirSync(targetPath, { recursive: true });
|
|
1745
|
+
const relDir = path.relative(this.workingDir, targetPath).replace(/\\/g, '/') || path.basename(targetPath);
|
|
1735
1746
|
return {
|
|
1736
1747
|
tool_call_id: toolCallId,
|
|
1737
1748
|
name: toolName,
|
|
1738
|
-
output: `Successfully created directory: ${
|
|
1749
|
+
output: `Successfully created directory: ${relDir}`,
|
|
1739
1750
|
};
|
|
1740
1751
|
}
|
|
1741
1752
|
case 'delete_file': {
|
|
@@ -1748,7 +1759,7 @@ export default function Home() {
|
|
|
1748
1759
|
error: true,
|
|
1749
1760
|
};
|
|
1750
1761
|
}
|
|
1751
|
-
const targetPath =
|
|
1762
|
+
const targetPath = this.resolveWorkspacePath(filePath);
|
|
1752
1763
|
if (!fs.existsSync(targetPath)) {
|
|
1753
1764
|
return {
|
|
1754
1765
|
tool_call_id: toolCallId,
|
|
@@ -1979,29 +1990,13 @@ export default function Home() {
|
|
|
1979
1990
|
output: 'Notice: Authentication commands must be executed interactively in the terminal by the user.',
|
|
1980
1991
|
};
|
|
1981
1992
|
}
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
const cleanOutput = output.trim() || '(command finished with no output)';
|
|
1990
|
-
return {
|
|
1991
|
-
tool_call_id: toolCallId,
|
|
1992
|
-
name: toolName,
|
|
1993
|
-
output: cleanOutput,
|
|
1994
|
-
};
|
|
1995
|
-
}
|
|
1996
|
-
catch (execErr) {
|
|
1997
|
-
const errOutput = (execErr.stdout || '') + (execErr.stderr ? `\n${execErr.stderr}` : '') || execErr.message || 'Execution error';
|
|
1998
|
-
return {
|
|
1999
|
-
tool_call_id: toolCallId,
|
|
2000
|
-
name: toolName,
|
|
2001
|
-
output: `Command failed (exit code ${execErr.code || 1}): ${errOutput.trim()}`,
|
|
2002
|
-
error: true,
|
|
2003
|
-
};
|
|
2004
|
-
}
|
|
1993
|
+
const res = await this.executeCommandPipeline(cmd);
|
|
1994
|
+
return {
|
|
1995
|
+
tool_call_id: toolCallId,
|
|
1996
|
+
name: toolName,
|
|
1997
|
+
output: res.output,
|
|
1998
|
+
error: res.error ? true : undefined,
|
|
1999
|
+
};
|
|
2005
2000
|
}
|
|
2006
2001
|
case 'git_diff': {
|
|
2007
2002
|
const stagedFlag = args.staged ? '--staged' : '';
|
|
@@ -2242,5 +2237,111 @@ export default function Home() {
|
|
|
2242
2237
|
};
|
|
2243
2238
|
}
|
|
2244
2239
|
}
|
|
2240
|
+
/**
|
|
2241
|
+
* Robust multi-command, multi-line, and daemon/server execution pipeline with real-time feedback
|
|
2242
|
+
*/
|
|
2243
|
+
async executeCommandPipeline(cmd) {
|
|
2244
|
+
const isWin = process.platform === 'win32';
|
|
2245
|
+
const shellExe = isWin ? 'powershell.exe' : '/bin/bash';
|
|
2246
|
+
// 1. Detect if this is a server or long-running daemon command
|
|
2247
|
+
const isServerCommand = /^(?:npm\s+start|npm\s+run\s+dev|node\s+.*server|python(?:3)?\s+.*app\.py|python(?:3)?\s+-m\s+http\.server|npx\s+http-server|npx\s+vite|vite|uvicorn|flask\s+run|nodemon)/i.test(cmd.trim());
|
|
2248
|
+
if (isServerCommand) {
|
|
2249
|
+
return new Promise((resolve) => {
|
|
2250
|
+
let stdout = '';
|
|
2251
|
+
let stderr = '';
|
|
2252
|
+
let exited = false;
|
|
2253
|
+
const child = spawn(cmd, {
|
|
2254
|
+
cwd: this.workingDir,
|
|
2255
|
+
shell: shellExe,
|
|
2256
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2257
|
+
});
|
|
2258
|
+
child.stdout?.on('data', (d) => { stdout += d.toString(); });
|
|
2259
|
+
child.stderr?.on('data', (d) => { stderr += d.toString(); });
|
|
2260
|
+
const timer = setTimeout(() => {
|
|
2261
|
+
if (!exited) {
|
|
2262
|
+
try {
|
|
2263
|
+
if (isWin) {
|
|
2264
|
+
spawn('taskkill', ['/pid', String(child.pid), '/f', '/t']);
|
|
2265
|
+
}
|
|
2266
|
+
else {
|
|
2267
|
+
child.kill('SIGTERM');
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
catch (_) { }
|
|
2271
|
+
const combined = (stdout + (stderr ? `\n[STDERR]: ${stderr}` : '')).trim();
|
|
2272
|
+
resolve({
|
|
2273
|
+
output: `ā Server process started successfully (verified running for 3s):\n${combined || '(server listening with no stdout)'}`,
|
|
2274
|
+
error: false
|
|
2275
|
+
});
|
|
2276
|
+
}
|
|
2277
|
+
}, 3000);
|
|
2278
|
+
child.on('error', (err) => {
|
|
2279
|
+
exited = true;
|
|
2280
|
+
clearTimeout(timer);
|
|
2281
|
+
resolve({
|
|
2282
|
+
output: `Failed to spawn server process: ${err.message}`,
|
|
2283
|
+
error: true
|
|
2284
|
+
});
|
|
2285
|
+
});
|
|
2286
|
+
child.on('exit', (code) => {
|
|
2287
|
+
exited = true;
|
|
2288
|
+
clearTimeout(timer);
|
|
2289
|
+
const combined = (stdout + (stderr ? `\n[STDERR]: ${stderr}` : '')).trim();
|
|
2290
|
+
if (code === 0) {
|
|
2291
|
+
resolve({ output: combined || '(process exited successfully with code 0)', error: false });
|
|
2292
|
+
}
|
|
2293
|
+
else {
|
|
2294
|
+
resolve({ output: `Process exited with code ${code}:\n${combined}`, error: true });
|
|
2295
|
+
}
|
|
2296
|
+
});
|
|
2297
|
+
});
|
|
2298
|
+
}
|
|
2299
|
+
// 2. Check if multiple commands are given line by line
|
|
2300
|
+
const lines = cmd.split(/\r?\n/).map(l => l.trim()).filter(l => l.length > 0 && !l.startsWith('#'));
|
|
2301
|
+
if (lines.length > 1) {
|
|
2302
|
+
const results = [];
|
|
2303
|
+
for (let i = 0; i < lines.length; i++) {
|
|
2304
|
+
const line = lines[i];
|
|
2305
|
+
console.log(chalk.hex('#06b6d4')(` ā” [Step ${i + 1}/${lines.length}]: `) + chalk.hex('#38bdf8')(`"${line}"`));
|
|
2306
|
+
try {
|
|
2307
|
+
const { stdout, stderr } = await execPromise(line, {
|
|
2308
|
+
cwd: this.workingDir,
|
|
2309
|
+
timeout: 30000,
|
|
2310
|
+
maxBuffer: 1024 * 1024,
|
|
2311
|
+
shell: shellExe,
|
|
2312
|
+
});
|
|
2313
|
+
const out = (stdout || '') + (stderr ? `\n[STDERR]: ${stderr}` : '');
|
|
2314
|
+
results.push(`[Step ${i + 1}: ${line}]\n${out.trim() || '(no output)'}`);
|
|
2315
|
+
}
|
|
2316
|
+
catch (stepErr) {
|
|
2317
|
+
const errOut = (stepErr.stdout || '') + (stepErr.stderr ? `\n${stepErr.stderr}` : '') || stepErr.message;
|
|
2318
|
+
results.push(`[Step ${i + 1}: ${line} FAILED (exit code ${stepErr.code || 1})]\n${errOut.trim()}`);
|
|
2319
|
+
return {
|
|
2320
|
+
output: results.join('\n\n') + `\n\nā Multi-command execution stopped at step ${i + 1} due to error.`,
|
|
2321
|
+
error: true
|
|
2322
|
+
};
|
|
2323
|
+
}
|
|
2324
|
+
}
|
|
2325
|
+
return { output: results.join('\n\n'), error: false };
|
|
2326
|
+
}
|
|
2327
|
+
// 3. Single command execution with shell support
|
|
2328
|
+
try {
|
|
2329
|
+
const { stdout, stderr } = await execPromise(cmd, {
|
|
2330
|
+
cwd: this.workingDir,
|
|
2331
|
+
timeout: 45000,
|
|
2332
|
+
maxBuffer: 2 * 1024 * 1024,
|
|
2333
|
+
shell: shellExe,
|
|
2334
|
+
});
|
|
2335
|
+
const output = (stdout || '') + (stderr ? `\n[STDERR]: ${stderr}` : '');
|
|
2336
|
+
return { output: output.trim() || '(command finished with no output)', error: false };
|
|
2337
|
+
}
|
|
2338
|
+
catch (execErr) {
|
|
2339
|
+
const errOutput = (execErr.stdout || '') + (execErr.stderr ? `\n${execErr.stderr}` : '') || execErr.message || 'Execution error';
|
|
2340
|
+
return {
|
|
2341
|
+
output: `Command failed (exit code ${execErr.code || 1}): ${errOutput.trim()}`,
|
|
2342
|
+
error: true,
|
|
2343
|
+
};
|
|
2344
|
+
}
|
|
2345
|
+
}
|
|
2245
2346
|
}
|
|
2246
2347
|
//# sourceMappingURL=tools.js.map
|