@markus-global/cli 0.4.4 → 0.4.7
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/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,mCAAmC;AACnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,4CAA4C,CAAC;KACzD,OAAO,CAAC,IAAI,WAAW,EAAE,EAAE,eAAe,CAAC;KAC3C,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC;KACxG,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;KAChE,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,IAAI;QAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,iDAAiD;AACjD,KAAK,UAAU,gBAAgB;IAC7B,sEAAsE;IACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,sEAAsE;IACtE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,6EAA6E;IAC7E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAClF,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAClF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACjC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACxC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACxC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAErC,sEAAsE;IACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,qEAAqE;IACrE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACrF,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAEtC,sEAAsE;IACtE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,uGAAuG;IACvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAClG,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAClE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC5E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACvF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3B,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,gBAAgB,EAAE;KACf,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5C,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/markus.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
#!/usr/bin/env node
|
|
3
2
|
import { createRequire } from 'module';
|
|
4
3
|
const require = createRequire(import.meta.url);
|
|
5
4
|
var __create = Object.create;
|
|
@@ -42707,6 +42706,13 @@ var init_agent2 = __esm({
|
|
|
42707
42706
|
activeTasks = /* @__PURE__ */ new Set();
|
|
42708
42707
|
/** Generation counter per task — prevents stale finally blocks from clearing a newer execution */
|
|
42709
42708
|
activeTaskGen = /* @__PURE__ */ new Map();
|
|
42709
|
+
/**
|
|
42710
|
+
* Buffered user messages injected while tool calls are in-flight.
|
|
42711
|
+
* Draining happens after all tool results for the current LLM turn are
|
|
42712
|
+
* appended, right before the next LLM call — this avoids interleaving
|
|
42713
|
+
* user messages between tool results (which is invalid message ordering).
|
|
42714
|
+
*/
|
|
42715
|
+
pendingInjections = /* @__PURE__ */ new Map();
|
|
42710
42716
|
activeStreamToken;
|
|
42711
42717
|
/** Task executor for concurrent task management */
|
|
42712
42718
|
taskExecutor;
|
|
@@ -42991,15 +42997,42 @@ ${notification.stdoutTail}`);
|
|
|
42991
42997
|
}
|
|
42992
42998
|
/**
|
|
42993
42999
|
* Inject a user message into a specific session (e.g. live comments during task execution).
|
|
42994
|
-
*
|
|
43000
|
+
* Messages are buffered and flushed into the session between LLM turns
|
|
43001
|
+
* (after all tool results are appended) to avoid breaking message ordering.
|
|
43002
|
+
* If no task loop is running for this session, the message is appended directly.
|
|
42995
43003
|
*/
|
|
42996
43004
|
injectUserMessage(sessionId, content) {
|
|
42997
43005
|
let session = this.memory.getSession?.(sessionId);
|
|
42998
43006
|
if (!session) {
|
|
42999
43007
|
session = this.memory.getOrCreateSession(this.id, sessionId);
|
|
43000
43008
|
}
|
|
43001
|
-
|
|
43002
|
-
|
|
43009
|
+
const taskId2 = sessionId.startsWith("task_") ? sessionId.replace(/^task_/, "").replace(/_r\d+$/, "") : void 0;
|
|
43010
|
+
if (taskId2 && this.activeTasks.has(taskId2)) {
|
|
43011
|
+
let queue = this.pendingInjections.get(sessionId);
|
|
43012
|
+
if (!queue) {
|
|
43013
|
+
queue = [];
|
|
43014
|
+
this.pendingInjections.set(sessionId, queue);
|
|
43015
|
+
}
|
|
43016
|
+
queue.push(content);
|
|
43017
|
+
log14.debug("Buffered injected message for next LLM turn", { sessionId, contentLength: content.length, queueSize: queue.length });
|
|
43018
|
+
} else {
|
|
43019
|
+
this.memory.appendMessage(sessionId, { role: "user", content });
|
|
43020
|
+
log14.debug("Injected user message into session (direct)", { sessionId, contentLength: content.length });
|
|
43021
|
+
}
|
|
43022
|
+
}
|
|
43023
|
+
/**
|
|
43024
|
+
* Flush any buffered injections for a session into memory.
|
|
43025
|
+
* Called by the task execution loop after all tool results are appended.
|
|
43026
|
+
*/
|
|
43027
|
+
flushPendingInjections(sessionId) {
|
|
43028
|
+
const queue = this.pendingInjections.get(sessionId);
|
|
43029
|
+
if (!queue || queue.length === 0)
|
|
43030
|
+
return;
|
|
43031
|
+
for (const content of queue) {
|
|
43032
|
+
this.memory.appendMessage(sessionId, { role: "user", content });
|
|
43033
|
+
}
|
|
43034
|
+
log14.info("Flushed pending injections into session", { sessionId, count: queue.length });
|
|
43035
|
+
this.pendingInjections.delete(sessionId);
|
|
43003
43036
|
}
|
|
43004
43037
|
/**
|
|
43005
43038
|
* 执行聊天任务(高优先级)
|
|
@@ -43083,6 +43116,10 @@ ${notification.stdoutTail}`);
|
|
|
43083
43116
|
removeActiveTask(taskId2) {
|
|
43084
43117
|
this.activeTasks.delete(taskId2);
|
|
43085
43118
|
this.activeTaskGen.delete(taskId2);
|
|
43119
|
+
for (const key2 of this.pendingInjections.keys()) {
|
|
43120
|
+
if (key2.startsWith(`task_${taskId2}_`))
|
|
43121
|
+
this.pendingInjections.delete(key2);
|
|
43122
|
+
}
|
|
43086
43123
|
}
|
|
43087
43124
|
/**
|
|
43088
43125
|
* 获取运行中的任务
|
|
@@ -44579,6 +44616,7 @@ ${report}`);
|
|
|
44579
44616
|
log14.info("Task execution cancelled externally after tools", { taskId: taskId2, agentId: this.id });
|
|
44580
44617
|
return;
|
|
44581
44618
|
}
|
|
44619
|
+
this.flushPendingInjections(sessionId);
|
|
44582
44620
|
if (taskToolIterations > 0 && taskToolIterations % 10 === 0) {
|
|
44583
44621
|
this.memory.appendMessage(sessionId, {
|
|
44584
44622
|
role: "user",
|
|
@@ -44665,6 +44703,7 @@ ${report}`);
|
|
|
44665
44703
|
if (this.activeTaskGen.get(taskId2) === execGen) {
|
|
44666
44704
|
this.activeTasks.delete(taskId2);
|
|
44667
44705
|
this.activeTaskGen.delete(taskId2);
|
|
44706
|
+
this.pendingInjections.delete(sessionId);
|
|
44668
44707
|
}
|
|
44669
44708
|
this.endActivity(taskActId);
|
|
44670
44709
|
this.notifyStateChange();
|