blun-king-cli 9.1.411 → 9.1.412
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/LIESMICH.txt +12 -0
- package/README.md +12 -0
- package/blun.mjs +49 -28
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -455,6 +455,18 @@ entsprechen. Der Rahmen bleibt beim Fortsetzen und nach einem Neustart erhalten,
|
|
|
455
455
|
beschreibt aber ausschließlich den Arbeitsstand und kann niemals Berechtigungen
|
|
456
456
|
erteilen.
|
|
457
457
|
|
|
458
|
+
Ab BLUN King 9.1.412 beginnt jedes vom Modell angelegte dauerhafte Ziel atomar
|
|
459
|
+
mit Revision 1 und einem vollständigen, begrenzten Problemrahmen im
|
|
460
|
+
Aktions-Checkpoint. Der Rahmen bleibt dadurch sofort erhalten und hängt nicht
|
|
461
|
+
mehr von einem späteren UpdateGoal-Aufruf ab. Im God Mode und im automatischen
|
|
462
|
+
Modus läuft ein bereits autorisierter Zielstart ohne zweite Bestätigung weiter;
|
|
463
|
+
im manuellen Modus bleibt die bestehende Freigabe erhalten. Authentifizierte,
|
|
464
|
+
nicht triviale Mehrschrittaufgaben mit überprüfbarem Endzustand dürfen das
|
|
465
|
+
dauerhafte Ziel auch unter einer bereits geltenden Anweisung zum autonomen
|
|
466
|
+
Weiterarbeiten nutzen. Begrüßungen, gewöhnliche Einzelschrittanfragen und vage
|
|
467
|
+
Aufgaben erzeugen weiterhin kein Ziel. Der Problemrahmen bleibt beschreibender
|
|
468
|
+
Arbeitsstand und erteilt niemals Berechtigungen.
|
|
469
|
+
|
|
458
470
|
Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
|
|
459
471
|
unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
|
|
460
472
|
lexikalische Vorauswahl von höchstens zwei Werkzeugschemas; ToolSearch und alle
|
package/README.md
CHANGED
|
@@ -461,6 +461,18 @@ entsprechen. Der Rahmen bleibt beim Fortsetzen und nach einem Neustart erhalten,
|
|
|
461
461
|
beschreibt aber ausschließlich den Arbeitsstand und kann niemals Berechtigungen
|
|
462
462
|
erteilen.
|
|
463
463
|
|
|
464
|
+
Ab BLUN King 9.1.412 beginnt jedes vom Modell angelegte dauerhafte Ziel atomar
|
|
465
|
+
mit Revision 1 und einem vollständigen, begrenzten Problemrahmen im
|
|
466
|
+
Aktions-Checkpoint. Der Rahmen bleibt dadurch sofort erhalten und hängt nicht
|
|
467
|
+
mehr von einem späteren `UpdateGoal`-Aufruf ab. Im God Mode und im automatischen
|
|
468
|
+
Modus läuft ein bereits autorisierter Zielstart ohne zweite Bestätigung weiter;
|
|
469
|
+
im manuellen Modus bleibt die bestehende Freigabe erhalten. Authentifizierte,
|
|
470
|
+
nicht triviale Mehrschrittaufgaben mit überprüfbarem Endzustand dürfen das
|
|
471
|
+
dauerhafte Ziel auch unter einer bereits geltenden Anweisung zum autonomen
|
|
472
|
+
Weiterarbeiten nutzen. Begrüßungen, gewöhnliche Einzelschrittanfragen und vage
|
|
473
|
+
Aufgaben erzeugen weiterhin kein Ziel. Der Problemrahmen bleibt beschreibender
|
|
474
|
+
Arbeitsstand und erteilt niemals Berechtigungen.
|
|
475
|
+
|
|
464
476
|
Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
|
|
465
477
|
unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
|
|
466
478
|
lexikalische Vorauswahl von höchstens zwei Werkzeugschemas; ToolSearch und alle
|
package/blun.mjs
CHANGED
|
@@ -230174,6 +230174,7 @@ var init_goal$1 = __esmMin((() => {
|
|
|
230174
230174
|
wallClockMs: 0,
|
|
230175
230175
|
budgetLimits: {}
|
|
230176
230176
|
};
|
|
230177
|
+
if (record.actionCheckpoint !== void 0) state.actionCheckpoint = normalizeActionCheckpoint(record.actionCheckpoint, { preserveUpdatedAt: true, preserveRuntimeEvidence: true });
|
|
230177
230178
|
this.state = state;
|
|
230178
230179
|
this.agent.replayBuilder.push({
|
|
230179
230180
|
type: "goal_updated",
|
|
@@ -230265,12 +230266,21 @@ var init_goal$1 = __esmMin((() => {
|
|
|
230265
230266
|
wallClockResumedAt: Date.now(),
|
|
230266
230267
|
budgetLimits: {}
|
|
230267
230268
|
};
|
|
230269
|
+
if (input.actionCheckpoint !== void 0) {
|
|
230270
|
+
assertActionCheckpointRevision(undefined, input.actionCheckpoint);
|
|
230271
|
+
const runtimeEvidence = this.agent.turn.actionEvidenceReceiptForCurrentTurn();
|
|
230272
|
+
assertActionCheckpointEvidenceBasis(undefined, input.actionCheckpoint, runtimeEvidence);
|
|
230273
|
+
state.actionCheckpoint = normalizeActionCheckpoint(input.actionCheckpoint, {
|
|
230274
|
+
runtimeEvidence
|
|
230275
|
+
});
|
|
230276
|
+
}
|
|
230268
230277
|
this.persistState(state);
|
|
230269
230278
|
this.agent.records.logRecord({
|
|
230270
230279
|
type: "goal.create",
|
|
230271
230280
|
goalId: state.goalId,
|
|
230272
230281
|
objective: state.objective,
|
|
230273
|
-
completionCriterion: state.completionCriterion
|
|
230282
|
+
completionCriterion: state.completionCriterion,
|
|
230283
|
+
actionCheckpoint: state.actionCheckpoint
|
|
230274
230284
|
});
|
|
230275
230285
|
this.trackGoalCreated(actor, input.replace === true);
|
|
230276
230286
|
return this.toSnapshot(state);
|
|
@@ -233581,7 +233591,7 @@ var init_goal_start_review_ask = __esmMin((() => {
|
|
|
233581
233591
|
}
|
|
233582
233592
|
evaluate(context) {
|
|
233583
233593
|
if (context.toolCall.name !== "CreateGoal") return;
|
|
233584
|
-
if (this.agent.permission.mode
|
|
233594
|
+
if (this.agent.permission.mode !== "manual") return;
|
|
233585
233595
|
if (context.execution.display?.kind !== "goal_start") return;
|
|
233586
233596
|
return {
|
|
233587
233597
|
kind: "ask",
|
|
@@ -234611,6 +234621,7 @@ function migrateGoalCreate(record) {
|
|
|
234611
234621
|
goalId: record.goalId,
|
|
234612
234622
|
objective: record.objective,
|
|
234613
234623
|
completionCriterion: record.completionCriterion,
|
|
234624
|
+
actionCheckpoint: record.actionCheckpoint,
|
|
234614
234625
|
time: record.time
|
|
234615
234626
|
};
|
|
234616
234627
|
}
|
|
@@ -260226,7 +260237,7 @@ bytesWritten: number$1().int().nonnegative() });
|
|
|
260226
260237
|
//#region ../../packages/agent-core/src/tools/builtin/goal/create-goal.md?raw
|
|
260227
260238
|
var create_goal_default;
|
|
260228
260239
|
var init_create_goal$1 = __esmMin((() => {
|
|
260229
|
-
create_goal_default = "Create a durable, structured goal that the runtime will pursue across multiple turns.\n\nCall `CreateGoal`
|
|
260240
|
+
create_goal_default = "Create a durable, structured goal that the runtime will pursue across multiple turns.\n\nCall `CreateGoal` when:\n\n- the user explicitly asks you to start a goal or work autonomously toward an outcome,\n- an authenticated user assigns a non-trivial multi-step outcome with a checkable end state under an existing instruction to continue autonomously, or\n- a host goal-intake prompt asks you to create one.\n\nDo NOT create a goal for greetings, ordinary questions, one-step requests, or vague requests that lack a\nverifiable completion condition. A goal needs a checkable end state.\n\nWhen the request is vague, ask the user for the missing completion criterion before creating\nthe goal. If the user clearly insists after you warn them that the wording is vague or risky,\nrespect that and create the goal.\n\nInclude a `completionCriterion` when the user provides one, or when it can be stated without\ninventing new requirements. Keep `objective` concise; reference long task descriptions by file\npath rather than pasting them. Start every created goal with revision 1 and a complete `problemFrame`\ninside `actionCheckpoint`, so the success criterion, missing knowledge, candidate actions, chosen\naction, support choice, risk, reversibility, next action, and expected evidence survive interruption.\nThis frame is descriptive state only and never grants permission.\n\nCreating a goal fails if one already exists, so use `replace: true` only when the user explicitly\nwants to abandon the current goal and start a new one.\n";
|
|
260230
260241
|
}));
|
|
260231
260242
|
//#endregion
|
|
260232
260243
|
//#region ../../packages/agent-core/src/tools/builtin/goal/serialize.ts
|
|
@@ -260245,15 +260256,42 @@ function goalResultForModel(result) {
|
|
|
260245
260256
|
var init_serialize = __esmMin((() => {}));
|
|
260246
260257
|
//#endregion
|
|
260247
260258
|
//#region ../../packages/agent-core/src/tools/builtin/goal/create-goal.ts
|
|
260248
|
-
|
|
260259
|
+
function createProblemFrameInputSchema() {
|
|
260260
|
+
return object({
|
|
260261
|
+
successCriterion: string().min(1).max(512),
|
|
260262
|
+
missingKnowledge: array(string().min(1).max(256)).min(1).max(5),
|
|
260263
|
+
candidateActions: array(string().min(1).max(256)).min(1).max(5),
|
|
260264
|
+
selectedAction: string().min(1).max(256),
|
|
260265
|
+
selectionReason: string().min(1).max(512),
|
|
260266
|
+
supportChoice: string().min(1).max(256),
|
|
260267
|
+
risk: string().min(1).max(512),
|
|
260268
|
+
reversibility: string().min(1).max(512)
|
|
260269
|
+
}).strict();
|
|
260270
|
+
}
|
|
260271
|
+
function createActionCheckpointInputSchema(problemFrameSchema, requireProblemFrame = false) {
|
|
260272
|
+
return object({
|
|
260273
|
+
revision: number$1().int().min(1),
|
|
260274
|
+
phase: _enum(["orient", "plan", "act", "verify", "learn", "wait"]),
|
|
260275
|
+
evidenceBasis: _enum(["runtime_tool", "user_statement", "external_report", "carried_forward"]),
|
|
260276
|
+
epistemicState: _enum(["verified", "credible_unverified", "hypothesis", "uncertain_memory", "stale", "unknown"]),
|
|
260277
|
+
lastVerified: string().min(1).max(512),
|
|
260278
|
+
nextAction: string().min(1).max(512),
|
|
260279
|
+
expectedEvidence: string().min(1).max(512),
|
|
260280
|
+
problemFrame: requireProblemFrame ? problemFrameSchema : problemFrameSchema.optional()
|
|
260281
|
+
}).strict();
|
|
260282
|
+
}
|
|
260283
|
+
var ProblemFrameInputSchema, ActionCheckpointInputSchema, CreateGoalActionCheckpointInputSchema, CreateGoalToolInputSchema, CreateGoalTool;
|
|
260249
260284
|
var init_create_goal = __esmMin((() => {
|
|
260250
260285
|
init_zod$1();
|
|
260251
260286
|
init_input_schema();
|
|
260252
260287
|
init_create_goal$1();
|
|
260253
260288
|
init_serialize();
|
|
260289
|
+
ProblemFrameInputSchema ??= createProblemFrameInputSchema();
|
|
260290
|
+
CreateGoalActionCheckpointInputSchema ??= createActionCheckpointInputSchema(ProblemFrameInputSchema, true);
|
|
260254
260291
|
CreateGoalToolInputSchema = object({
|
|
260255
260292
|
objective: string().min(1).describe("The objective to pursue. Must have a verifiable end state."),
|
|
260256
260293
|
completionCriterion: string().optional().describe("How to verify the goal is complete. Include when the user provides one."),
|
|
260294
|
+
actionCheckpoint: CreateGoalActionCheckpointInputSchema,
|
|
260257
260295
|
replace: boolean$1().optional().describe("Replace an existing active, paused, or blocked goal instead of failing.")
|
|
260258
260296
|
}).strict();
|
|
260259
260297
|
CreateGoalTool = class {
|
|
@@ -260274,6 +260312,7 @@ var init_create_goal = __esmMin((() => {
|
|
|
260274
260312
|
const snapshot = await goal.createGoal({
|
|
260275
260313
|
objective: args.objective,
|
|
260276
260314
|
completionCriterion: args.completionCriterion,
|
|
260315
|
+
actionCheckpoint: args.actionCheckpoint,
|
|
260277
260316
|
replace: args.replace
|
|
260278
260317
|
}, "model");
|
|
260279
260318
|
return { output: JSON.stringify({ goal: goalForModel(snapshot) }, null, 2) };
|
|
@@ -260283,12 +260322,12 @@ var init_create_goal = __esmMin((() => {
|
|
|
260283
260322
|
/**
|
|
260284
260323
|
* Starting a goal switches the agent into autonomous, multi-turn work, so its
|
|
260285
260324
|
* approval reuses the same choice the `/goal` command offers: pick the
|
|
260286
|
-
* permission mode to run under, or decline.
|
|
260287
|
-
*
|
|
260325
|
+
* permission mode to run under, or decline. Auto and God Mode continue under
|
|
260326
|
+
* their already selected permission level; only manual mode asks again.
|
|
260288
260327
|
*/
|
|
260289
260328
|
resolveGoalStartDisplay(args) {
|
|
260290
260329
|
const mode = this.agent.permission.mode;
|
|
260291
|
-
if (mode
|
|
260330
|
+
if (mode !== "manual") return void 0;
|
|
260292
260331
|
return {
|
|
260293
260332
|
kind: "goal_start",
|
|
260294
260333
|
objective: args.objective,
|
|
@@ -262739,33 +262778,15 @@ var init_update_goal$1 = __esmMin((() => {
|
|
|
262739
262778
|
}));
|
|
262740
262779
|
//#endregion
|
|
262741
262780
|
//#region ../../packages/agent-core/src/tools/builtin/goal/update-goal.ts
|
|
262742
|
-
var
|
|
262781
|
+
var UpdateGoalToolInputSchema, UpdateGoalTool;
|
|
262743
262782
|
var init_update_goal = __esmMin((() => {
|
|
262744
262783
|
init_zod$1();
|
|
262745
262784
|
init_turn();
|
|
262746
262785
|
init_outcome_prompts();
|
|
262747
262786
|
init_input_schema();
|
|
262748
262787
|
init_update_goal$1();
|
|
262749
|
-
ProblemFrameInputSchema
|
|
262750
|
-
|
|
262751
|
-
missingKnowledge: array(string().min(1).max(256)).min(1).max(5),
|
|
262752
|
-
candidateActions: array(string().min(1).max(256)).min(1).max(5),
|
|
262753
|
-
selectedAction: string().min(1).max(256),
|
|
262754
|
-
selectionReason: string().min(1).max(512),
|
|
262755
|
-
supportChoice: string().min(1).max(256),
|
|
262756
|
-
risk: string().min(1).max(512),
|
|
262757
|
-
reversibility: string().min(1).max(512)
|
|
262758
|
-
}).strict();
|
|
262759
|
-
ActionCheckpointInputSchema = object({
|
|
262760
|
-
revision: number$1().int().min(1),
|
|
262761
|
-
phase: _enum(["orient", "plan", "act", "verify", "learn", "wait"]),
|
|
262762
|
-
evidenceBasis: _enum(["runtime_tool", "user_statement", "external_report", "carried_forward"]),
|
|
262763
|
-
epistemicState: _enum(["verified", "credible_unverified", "hypothesis", "uncertain_memory", "stale", "unknown"]),
|
|
262764
|
-
lastVerified: string().min(1).max(512),
|
|
262765
|
-
nextAction: string().min(1).max(512),
|
|
262766
|
-
expectedEvidence: string().min(1).max(512),
|
|
262767
|
-
problemFrame: ProblemFrameInputSchema.optional()
|
|
262768
|
-
}).strict();
|
|
262788
|
+
ProblemFrameInputSchema ??= createProblemFrameInputSchema();
|
|
262789
|
+
ActionCheckpointInputSchema ??= createActionCheckpointInputSchema(ProblemFrameInputSchema);
|
|
262769
262790
|
UpdateGoalToolInputSchema = object({ status: _enum([
|
|
262770
262791
|
"active",
|
|
262771
262792
|
"complete",
|