koneck 2.111.0 → 2.112.1
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/engine.d.ts +13 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +86 -0
- package/dist/engine.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +20 -0
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/web/sessions.d.ts.map +1 -1
- package/dist/web/sessions.js +9 -0
- package/dist/web/sessions.js.map +1 -1
- package/dist/web/ui-css.d.ts.map +1 -1
- package/dist/web/ui-css.js +14 -6
- package/dist/web/ui-css.js.map +1 -1
- package/package.json +1 -1
package/dist/engine.d.ts
CHANGED
|
@@ -146,6 +146,19 @@ export declare function finishedWithoutBuilding(task: string, usedMutatingTool:
|
|
|
146
146
|
* others write a long status report admitting they stopped early; treating either as a final
|
|
147
147
|
* answer ends the run mid-investigation.
|
|
148
148
|
*/
|
|
149
|
+
/**
|
|
150
|
+
* Whether a plan step is a checkpoint with the person rather than work to do.
|
|
151
|
+
*
|
|
152
|
+
* These are steps the model writes when it means to stop and let the user decide: present a
|
|
153
|
+
* proposal, get approval, wait for confirmation, ask before proceeding. KONECK's "do not stop while
|
|
154
|
+
* steps remain" nudge would drive straight through them, which is how a proposal got "approved" by
|
|
155
|
+
* nobody. So they are recognised and the run stops at them.
|
|
156
|
+
*
|
|
157
|
+
* Deliberately about waiting on a person, not about caution in general. "Review the code" is work
|
|
158
|
+
* the model does; "wait for the user to review" is a stop. The tell is a second person or an act of
|
|
159
|
+
* permission — present/show/ask/confirm/approve/await, aimed at the user.
|
|
160
|
+
*/
|
|
161
|
+
export declare function stepAwaitsUser(text: string): boolean;
|
|
149
162
|
export declare function announcesMoreWork(text: string): boolean;
|
|
150
163
|
export declare function buildClient(config: AgentConfig): OpenAI;
|
|
151
164
|
/**
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -545,6 +545,36 @@ export function finishedWithoutBuilding(task, usedMutatingTool) {
|
|
|
545
545
|
* others write a long status report admitting they stopped early; treating either as a final
|
|
546
546
|
* answer ends the run mid-investigation.
|
|
547
547
|
*/
|
|
548
|
+
/**
|
|
549
|
+
* Whether a plan step is a checkpoint with the person rather than work to do.
|
|
550
|
+
*
|
|
551
|
+
* These are steps the model writes when it means to stop and let the user decide: present a
|
|
552
|
+
* proposal, get approval, wait for confirmation, ask before proceeding. KONECK's "do not stop while
|
|
553
|
+
* steps remain" nudge would drive straight through them, which is how a proposal got "approved" by
|
|
554
|
+
* nobody. So they are recognised and the run stops at them.
|
|
555
|
+
*
|
|
556
|
+
* Deliberately about waiting on a person, not about caution in general. "Review the code" is work
|
|
557
|
+
* the model does; "wait for the user to review" is a stop. The tell is a second person or an act of
|
|
558
|
+
* permission — present/show/ask/confirm/approve/await, aimed at the user.
|
|
559
|
+
*/
|
|
560
|
+
export function stepAwaitsUser(text) {
|
|
561
|
+
const t = ` ${text.toLowerCase()} `;
|
|
562
|
+
// An explicit request for the user's input or leave to continue.
|
|
563
|
+
if (/\b(await|wait for|waiting for|pending)\b[^.]*\b(user|approval|confirmation|response|reply|feedback|go-?ahead|sign-?off|decision|input)\b/.test(t)) {
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
if (/\b(get|obtain|request|seek|need)\b[^.]*\b(approval|confirmation|sign-?off|permission|the user'?s? (ok|okay|go-?ahead|decision|feedback))\b/.test(t)) {
|
|
567
|
+
return true;
|
|
568
|
+
}
|
|
569
|
+
// Presenting or asking, directed at the user.
|
|
570
|
+
if (/\b(present|show|share|send|give)\b[^.]*\bto (the )?(user|you)\b/.test(t))
|
|
571
|
+
return true;
|
|
572
|
+
if (/\b(ask|confirm|check) (with )?(the )?(user|you)\b/.test(t))
|
|
573
|
+
return true;
|
|
574
|
+
if (/\bproposal to (the )?(user|you)\b/.test(t))
|
|
575
|
+
return true;
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
548
578
|
export function announcesMoreWork(text) {
|
|
549
579
|
const trimmed = text.trim();
|
|
550
580
|
if (!trimmed)
|
|
@@ -2784,6 +2814,28 @@ detectedContext = { current: 0 }) {
|
|
|
2784
2814
|
// again immediately, which is the proof it had not finished and knew it.
|
|
2785
2815
|
const unfinished = planRef.current.steps.filter(step => step.state === 'todo' || step.state === 'doing');
|
|
2786
2816
|
const nextStep = unfinished[0];
|
|
2817
|
+
/*
|
|
2818
|
+
* A plan step that waits for the user stops the run, rather than being nudged past.
|
|
2819
|
+
*
|
|
2820
|
+
* The continuation nudge exists to stop a model stalling mid-build — "do not stop while steps
|
|
2821
|
+
* remain". But a plan whose next step is "present the proposal to the user", "get approval",
|
|
2822
|
+
* "wait for confirmation" is a step that is supposed to stop, and nudging it onward overrides
|
|
2823
|
+
* the user's say-so. Reported exactly: a proposal presented, no answer given, and the run
|
|
2824
|
+
* continued anyway — with the model writing "user said continue" to account for a step it was
|
|
2825
|
+
* pushed through. Nobody said continue; KONECK's own nudge did.
|
|
2826
|
+
*
|
|
2827
|
+
* So when the next unfinished step reads as a checkpoint with the person, the run ends and
|
|
2828
|
+
* hands back, which is what the step asked for.
|
|
2829
|
+
*/
|
|
2830
|
+
if (nextStep && stepAwaitsUser(nextStep.text)) {
|
|
2831
|
+
config.onAwaitingUser?.(nextStep.text);
|
|
2832
|
+
if (!silent) {
|
|
2833
|
+
tui.printWarning(`Waiting for you: the plan's next step is "${nextStep.text}". `
|
|
2834
|
+
+ `KONECK has stopped here rather than deciding on your behalf — say how to proceed.`);
|
|
2835
|
+
}
|
|
2836
|
+
// Not a nudge, not a failure: a deliberate hand-back. The plan is kept as it stands.
|
|
2837
|
+
return true;
|
|
2838
|
+
}
|
|
2787
2839
|
// A cut loop is answered first and on its own. The general nudge tells the model to carry
|
|
2788
2840
|
// on with what it was describing, which is precisely what it was stuck describing — so
|
|
2789
2841
|
// sending that instead would restart the loop with encouragement.
|
|
@@ -3214,6 +3266,40 @@ detectedContext = { current: 0 }) {
|
|
|
3214
3266
|
: '');
|
|
3215
3267
|
}
|
|
3216
3268
|
}
|
|
3269
|
+
else if (effectiveName === 'ask_user') {
|
|
3270
|
+
/*
|
|
3271
|
+
* The model asked the person a question and must now wait for the answer.
|
|
3272
|
+
*
|
|
3273
|
+
* The intentional counterpart to the plan-step guard: rather than KONECK inferring that a
|
|
3274
|
+
* step wants the user, the model says so outright by calling this. The turn ends and
|
|
3275
|
+
* control returns — the run does not continue on a guessed answer, which is the whole
|
|
3276
|
+
* failure this exists to prevent.
|
|
3277
|
+
*/
|
|
3278
|
+
let asked = {};
|
|
3279
|
+
try {
|
|
3280
|
+
asked = JSON.parse(tc.arguments);
|
|
3281
|
+
}
|
|
3282
|
+
catch { /* handled below */ }
|
|
3283
|
+
const question = typeof asked.question === 'string' ? asked.question.trim() : '';
|
|
3284
|
+
if (question === '') {
|
|
3285
|
+
result = 'ERROR: ask_user needs a "question" string.';
|
|
3286
|
+
}
|
|
3287
|
+
else {
|
|
3288
|
+
const options = Array.isArray(asked.options)
|
|
3289
|
+
? asked.options.map(String).filter(Boolean) : [];
|
|
3290
|
+
config.onAskUser?.(question, options);
|
|
3291
|
+
if (!silent) {
|
|
3292
|
+
tui.printWarning(`The model is waiting for you:\n ${question}`
|
|
3293
|
+
+ (options.length ? `\n Options: ${options.join(', ')}` : ''));
|
|
3294
|
+
}
|
|
3295
|
+
// The tool call needs an answer in the transcript so the session can resume cleanly when
|
|
3296
|
+
// the person replies — their reply is the next user message, which answers it.
|
|
3297
|
+
messages.push({ role: 'tool', tool_call_id: tc.id,
|
|
3298
|
+
content: 'ASKED THE USER — waiting for their reply. Do not proceed until they answer.' });
|
|
3299
|
+
trajectory?.add({ t: 'stop', at: Date.now(), reason: 'asked the user: ' + question });
|
|
3300
|
+
return true;
|
|
3301
|
+
}
|
|
3302
|
+
}
|
|
3217
3303
|
else if (effectiveName === 'plan') {
|
|
3218
3304
|
let parsedPlan = {};
|
|
3219
3305
|
try {
|