cli-jaw 2.17.35 → 2.17.36
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/README.md +1 -1
- package/dist/src/orchestrator/gateway.js +13 -7
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/package.json +1 -1
- package/public/dist/assets/{Agent-kyyjcnqC.js → Agent-CHaTUS7c.js} +1 -1
- package/public/dist/assets/{manager-BnmWx9xL.js → manager-BspQvGAC.js} +1 -1
- package/public/dist/manager/index.html +1 -1
- package/public/manager/src/settings/pages/Agent.tsx +1 -1
package/README.md
CHANGED
|
@@ -559,7 +559,7 @@ The quota/status panel keeps the same runtime keyset as the registry. Cold statu
|
|
|
559
559
|
|
|
560
560
|
> Switch engines live: `/cli codex`. Switch models: `/model gpt-5.5`. Works from Web, Terminal, Telegram, Discord, or Slack.
|
|
561
561
|
|
|
562
|
-
**Mid-run steering**: sending a message while the agent is working steers the running turn by default (`multiSession.midRunPolicy: 'steer'`). On the JWC and Codex App runtimes the message joins the in-flight turn itself — the model keeps its full context.
|
|
562
|
+
**Mid-run steering**: sending a message while the agent is working steers the running turn by default (`multiSession.midRunPolicy: 'steer'`). On the JWC and Codex App runtimes the message joins the in-flight turn itself — the model keeps its full context. On every other runtime the current turn is redirected (kill-steer) with the interrupted turn's partial output carried into the follow-up run, so nothing the agent was doing is lost. Prefer waiting in line? Set the policy to `followup` or `collect` in Settings → Agent.
|
|
563
563
|
|
|
564
564
|
---
|
|
565
565
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Unified message submission for all interfaces (WebUI, REST, Telegram).
|
|
3
3
|
// Replaces duplicated intent/queue/orchestrate logic in server.ts + bot.ts.
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
|
-
import {
|
|
5
|
+
import { isAgentBusy, enqueueMessage, killActiveAgent, messageQueue, purgeQueueOnStop, steerAgent } from '../agent/spawn.js';
|
|
6
6
|
import { hasBlockingWorkers } from './worker-registry.js';
|
|
7
7
|
import { insertMessage } from '../core/db.js';
|
|
8
8
|
import { getActiveChatSession, getSessionRunPolicy, isActiveRunPolicy, resolveOrCreateRemoteSession } from '../core/chat-sessions.js';
|
|
@@ -50,13 +50,19 @@ function applyMidRunPolicy(policy, ctx) {
|
|
|
50
50
|
return { action: 'queued', pending: messageQueue.length, queued: true, requestId: ctx.requestId, queuedId, sessionContext };
|
|
51
51
|
};
|
|
52
52
|
if (policy === 'steer') {
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
// 'steer' means the message steers the agent — never a silent queue.
|
|
54
|
+
// In-band runtimes (jwc, codex-app with a steerable turn) inject into the
|
|
55
|
+
// running turn; every other runtime takes the kill-steer path, which
|
|
56
|
+
// salvages the interrupted turn's partial output into the follow-up run
|
|
57
|
+
// (withSteerContext), so the redirect preserves context. Queueing is
|
|
58
|
+
// what the 'followup'/'collect' policies are for.
|
|
59
|
+
//
|
|
55
60
|
// submitMessage is a sync contract, so the response stays optimistic
|
|
56
|
-
// ('steered').
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
61
|
+
// ('steered'). The outcome is not fire-and-forget: a raced
|
|
62
|
+
// ('unavailable') or kind-rejected ('rejected': review/compact) in-band
|
|
63
|
+
// steer joins the queue — with its queue_update broadcast — instead of
|
|
64
|
+
// dying silently. Queue is the fallback only for in-band failures,
|
|
65
|
+
// never for missing capability.
|
|
60
66
|
runDetached(steerAgent(ctx.scopeKey, ctx.text, ctx.meta.origin, stripUndefined({
|
|
61
67
|
chatSessionId: ctx.chatSessionId,
|
|
62
68
|
target: ctx.meta.target,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yEAAyE;AACzE,4EAA4E;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5I,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,4BAA4B,EAAwB,MAAM,0BAA0B,CAAC;AAC5J,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACH,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAClD,gBAAgB,EAAE,aAAa,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAqB,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAmBjE,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACnD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;IAC9D,OAAO,YAAY,CAAC;AACxB,CAAC;AAmBD,SAAS,mBAAmB,CAAC,IAAgB,EAAE,aAAqB;IAChE,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC;IACnE,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC1D,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAChE,CAAC;AAED,SAAS,iBAAiB,CACtB,MAAuB,EACvB,GAAuH;IAEvH,MAAM,cAAc,GAAG;QACnB,KAAK,EAAE,GAAG,CAAC,QAAQ;QACnB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,KAA8C,EAAgB,EAAE;QAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;YACtE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,QAAQ;YACnB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;YAC7B,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;YACvC,GAAG,KAAK;SACX,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAChI,CAAC,CAAC;IAEF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,EAAE,CAAC;QACjD,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,8DAA8D;QAC9D,WAAW,CACP,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;YAC/D,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;YACvB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;SAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACf,IAAI,OAAO,KAAK,gBAAgB;gBAAE,KAAK,EAAE,CAAC;QAC9C,CAAC,CAAC,EACF,OAAO,EACP,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,CAC/G,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACzB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,wBAAwB;AACxB,kDAAkD;AAClD,gEAAgE;AAChE,oFAAoF;AACpF,+CAA+C;AAC/C,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6C,CAAC;AAE/E,iDAAiD;AACjD,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,MAAwB,EAAE,QAAiB;IAC7G,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,sFAAsF;IACtF,OAAO,GAAG,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACpC,IAAI,iBAAiB,CAAC,IAAI,GAAG,EAAE;QAAE,OAAO,CAAC,cAAc;IACvD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,eAAe,GAAG,CAAC;YAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,yBAAyB;IACrC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAChB,IAAsB,EACtB,KAAa,EACb,IAAiL;IAEjL,IAAI,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,kBAAkB,EAAE;YAC1B,IAAI,EAAE,uBAAuB,GAAG,EAAE;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,IAAI,CAAC,UAAU;YAClB,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,wEAAwE;QACxE,qEAAqE;QACrE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,IAAY,EACZ,IAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAE/B,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,MAAM,MAAM,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,mBAAmB,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,aAAa,GAAG,mBAAmB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAC/D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,4BAA4B,CAAC,SAAS,CAAC,CAAC;YACjE,yFAAyF;YACzF,mFAAmF;YACnF,mFAAmF;YACnF,uEAAuE;YACvE,CAAC,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAoB,EAAE,CAAC;IAC5E,MAAM,KAAK,GAAG,mBAAmB;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,cAAc,CAAC;YAClF,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI;YAC1C,gBAAgB,EAAE,SAAS;YAC3B,mBAAmB;SACtB,CAAC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAE5D,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,iFAAiF;IACjF,gFAAgF;IAChF,MAAM,cAAc,GAAG,mBAAmB;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,0FAA0F;IAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,GAAG,KAAK,CAAC,EAAE,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,uDAAuD;QACvD,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACnF,CAAC;IACD,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAEnD,yCAAyC;IACzC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;QACnG,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,WAAW,CACP,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAC1B,mBAAmB;gBACf,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5Q,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAClK,CAAC,EACF,UAAU,EACV,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAChE,CAAC;QACN,CAAC;;YACI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5I,CAAC;IAED,qBAAqB;IACrB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;QACnG,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,WAAW,CACP,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAC1B,mBAAmB;gBACf,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAC/J,CAAC,EACF,OAAO,EACP,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAChE,CAAC;QACN,CAAC;;YACI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnH,CAAC;IAED,4BAA4B;IAC5B,8EAA8E;IAC9E,4EAA4E;IAC5E,qFAAqF;IACrF,wEAAwE;IACxE,oEAAoE;IACpE,6DAA6D;IAC7D,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;gBAC/D,QAAQ,EAAE,KAAK;gBACf,aAAa;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI;gBACJ,SAAS;gBACT,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1P,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChJ,CAAC;IAED,iCAAiC;IACjC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;IACnG,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,WAAW,CACP,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAC1B,mBAAmB;YACf,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC3U,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CACjP,CAAC,EACF,aAAa,EACb,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAChE,CAAC;IACN,CAAC;;QACI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnH,CAAC"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-jaw",
|
|
3
|
-
"version": "2.17.
|
|
3
|
+
"version": "2.17.36",
|
|
4
4
|
"description": "Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-XQCOJYun.js";import{n as t}from"./settings-types-DPhhM-cj.js";import{n,t as r}from"./jsx-runtime-CYoNlHAD.js";import{t as i}from"./settings-client-D9KY2Ufl.js";import{t as a}from"./error-normalize-CLRJh19F.js";import{a as o,i as s,n as c,r as l,t as u}from"./page-shell-DZ1lls_P.js";import{i as d,s as f}from"./fields-E1L8aEhU.js";import{a as p,n as m,o as h}from"./Permissions-x_6_kLC1.js";import{a as ee,c as g,i as _,l as v,n as y,o as b,r as te,s as ne,t as x}from"./agent-meta-KPnVam9G.js";import{t as S}from"./path-utils-QbjARuCC.js";var C=e(n(),1),re=1e3,ie=8e3,ae=9e4;function oe(e,t){if(!e||!t)return!1;let n=e[t]?.probeState;return n?n===`checking`||n===`failing`:!1}function se(e){let t=re*2**Math.min(Number.isFinite(e)&&e>0?Math.floor(e):0,8);return Math.min(Math.max(t,re),ie)}function ce(e){let{snapshot:t,cli:n,attempts:r,now:i,deadline:a}=e;if(!oe(t,n))return{kind:`stop`};if(i>=a||r>=24)return{kind:`exhausted`};let o=t?.[n]?.nextRetryAt,s=typeof o==`number`&&o>i?o:i+se(r);return{kind:`wait`,delayMs:Math.max(Math.min(s,a)-i,0)}}var w=r();function le({cli:e,cliOptions:t,provider:n=``,providerOptions:r=[],model:i,modelOptions:a,effort:o,effortOptions:c,workingDir:l,workingDirError:u,cliMeta:p,onCliChange:m,onProviderChange:h,onModelChange:ee,onEffortChange:g,onWorkingDirChange:v}){let y=ne(t),b=y.filter(e=>x.includes(e)).length;return(0,w.jsx)(s,{title:`Agent runtime`,hint:`Active CLI, model, effort, and workspace used by this instance.`,children:(0,w.jsxs)(`div`,{className:`settings-agent-runtime-grid`,children:[(0,w.jsx)(d,{id:`agent-cli`,label:`Active CLI`,value:e,options:y.map(e=>({value:e,label:_(e,p).label||e})),collapsedAfter:b,onChange:m}),r.length>0?(0,w.jsx)(d,{id:`agent-${e}-provider`,label:`Provider`,value:n,options:r.map(e=>({value:e,label:e})),onChange:e=>h?.(e)}):null,(0,w.jsx)(d,{id:`agent-model`,label:`Active model`,value:i,options:a.length>0?a:[{value:``,label:`(default)`}],onChange:ee}),(0,w.jsx)(d,{id:`agent-effort`,label:`Effort`,value:o,options:[{value:``,label:`(default)`},...c.map(e=>({value:e,label:e}))],disabled:c.length===0,onChange:g}),(0,w.jsx)(f,{id:`agent-workingDir`,label:`Working directory`,value:l,error:u,placeholder:`/path/to/project`,onChange:v})]})})}var T=[{value:`auto`,label:`Auto`},{value:`custom`,label:`Custom allowlist`}];function ue({value:e,onChange:t}){let n=p(e),r=n.mode===`custom`?`custom`:`auto`,i=n.mode===`custom`?n.tokens:[],a=n.mode===`custom`?`${i.length} explicit token${i.length===1?``:`s`}`:`Runtime resolves allowed capabilities`;return(0,w.jsxs)(s,{title:`Permissions`,hint:`Quick runtime mode. Open Permissions for detailed allowlist editing.`,children:[(0,w.jsx)(d,{id:`agent-permissions-mode`,label:`Mode`,value:r,options:T,onChange:e=>{t(e===`auto`?`auto`:i.length>0&&m(i)?i:h(null))}}),(0,w.jsx)(`p`,{className:`settings-agent-note`,children:a})]})}function de({activeCli:e,flushCli:t,flushModel:n,cliOptions:r,modelOptions:i,cliMeta:a,loading:o,error:c,onFlushCliChange:l,onFlushModelChange:u}){let f=t||e,p=f?_(f,a).label||f:`active`;return(0,w.jsx)(s,{title:`Flush Agent`,hint:`Separate summary agent used for context flush and compact work.`,children:(0,w.jsxs)(`details`,{className:`settings-agent-flush`,children:[(0,w.jsxs)(`summary`,{children:[(0,w.jsx)(`span`,{children:`Flush runtime`}),(0,w.jsxs)(`code`,{children:[p,n&&n!==`default`?` / ${n}`:``]})]}),o?(0,w.jsx)(`p`,{className:`settings-agent-note`,children:`Loading flush settings...`}):null,c?(0,w.jsx)(`p`,{className:`settings-field-error`,role:`alert`,children:c}):null,(0,w.jsxs)(`div`,{className:`settings-agent-runtime-grid`,children:[(0,w.jsx)(d,{id:`agent-flush-cli`,label:`Flush CLI`,value:t,options:[{value:``,label:`(active CLI)`},...r.map(e=>({value:e,label:_(e,a).label||e}))],onChange:l}),(0,w.jsx)(d,{id:`agent-flush-model`,label:`Flush model`,value:n,options:[{value:``,label:`(default)`},...i],onChange:u})]})]})})}function E(e){return e.source===`static`||e.id.startsWith(`static:`)}function D(){return`new:${Date.now().toString(36)}:${Math.random().toString(36).slice(2,8)}`}function O(e,t){let n=e[0]||`claude`,r=t?.[n]?.models?.[0]||`default`;return{id:D(),name:`New Agent`,cli:n,model:r,role:``,status:`idle`,source:`db`}}function fe(e){return Array.isArray(e)?e.map(k).filter(Boolean):e.data.map(k).filter(Boolean)}function k(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.id==`string`?t.id:``,r=typeof t.name==`string`?t.name:``;if(!n||!r)return null;let i=t.source===`static`||n.startsWith(`static:`)?`static`:`db`,a={id:n,name:r,cli:typeof t.cli==`string`&&t.cli?t.cli:`claude`,model:typeof t.model==`string`&&t.model?t.model:`default`,role:typeof t.role==`string`?t.role:``,source:i};return typeof t.status==`string`&&(a.status=t.status),a}function A(e){return e.name.trim()?e.cli.trim()?e.model.trim()?null:`Model is required`:`CLI is required`:`Name is required`}function pe(e){return e.some(e=>A(e)!==null)}function me(e,t){return JSON.stringify(e.map(N))===JSON.stringify(t.map(N))}function he(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Set(t.map(e=>e.id)),i=[],a=[],o=[];for(let e of t){let t=n.get(e.id);if(!t||e.id.startsWith(`new:`)){i.push(e);continue}let r=M(t,e);Object.keys(r).length>0&&a.push({before:t,after:e,patch:r})}for(let t of e)!r.has(t.id)&&!E(t)&&o.push(t);return{added:i,updated:a,removed:o}}function ge(e,t){let n=he(e,t);return{added:n.added.length,updated:n.updated.length,removed:n.removed.length}}async function j(e,t,n){let r=he(t,n);for(let t of r.removed)await e.delete(`/api/employees/${encodeURIComponent(t.id)}`);for(let t of r.added)await e.post(`/api/employees`,_e(t));for(let t of r.updated)await e.put(`/api/employees/${encodeURIComponent(t.after.id)}`,t.patch)}function M(e,t){if(E(t))return e.model===t.model?{}:{model:t.model};let n={};for(let r of[`name`,`cli`,`model`,`role`,`status`])(e[r]||``)!==(t[r]||``)&&(n[r]=t[r]||``);return n}function _e(e){return{name:e.name.trim()||`New Agent`,cli:e.cli.trim()||`claude`,model:e.model.trim()||`default`,role:e.role.trim()}}function N(e){let t={id:e.id,name:e.name,cli:e.cli,model:e.model,role:e.role,source:e.source};return e.status!==void 0&&(t.status=e.status),t}function P({employee:e,index:t,cliOptions:n,cliMeta:r,onChange:i,onRemove:a}){let o=E(e),s=b(_(e.cli,r).models,e.model),c=A(e),l=Array.from(new Set([...n,e.cli,`claude`])).filter(Boolean);return(0,w.jsxs)(`fieldset`,{className:`settings-runtime-employee-row`,children:[(0,w.jsxs)(`legend`,{children:[e.name||`Employee ${t+1}`,o?(0,w.jsx)(`span`,{children:`static`}):null]}),(0,w.jsxs)(`div`,{className:`settings-runtime-employee-grid`,children:[(0,w.jsx)(f,{id:`runtime-employee-${e.id}-name`,label:`Name`,value:e.name,disabled:o,error:c===`Name is required`?c:null,onChange:e=>i({name:e})}),(0,w.jsx)(d,{id:`runtime-employee-${e.id}-cli`,label:`CLI`,value:e.cli,disabled:o,options:l.map(e=>({value:e,label:_(e,r).label||e})),onChange:e=>{i({cli:e,model:_(e,r).models[0]||`default`})}}),(0,w.jsx)(d,{id:`runtime-employee-${e.id}-model`,label:`Model`,value:e.model,options:s.length>0?s:[{value:`default`,label:`default`}],onChange:e=>i({model:e})}),(0,w.jsx)(f,{id:`runtime-employee-${e.id}-role`,label:`Role`,value:e.role,disabled:o,onChange:e=>i({role:e})})]}),(0,w.jsxs)(`div`,{className:`settings-runtime-employee-footer`,children:[(0,w.jsxs)(`span`,{children:[e.source,e.status?` / ${e.status}`:``]}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,disabled:o,onClick:a,"aria-label":`Remove employee ${e.name||t+1}`,children:`Remove`})]})]})}function ve({roster:e,original:t,cliOptions:n,cliMeta:r,loading:i,error:a,onRosterChange:o}){let c=ge(t,e),l=pe(e);function u(t,n){o(e.map((e,r)=>r===t?{...e,...n}:e))}function d(t){o(e.filter((e,n)=>n!==t))}return(0,w.jsxs)(s,{title:`Employees`,hint:`Runtime dispatch roster. Static employees keep their locked identity; database employees can be edited.`,children:[(0,w.jsxs)(`div`,{className:`settings-runtime-employee-summary`,children:[(0,w.jsxs)(`span`,{children:[`+`,c.added]}),(0,w.jsxs)(`span`,{children:[`~`,c.updated]}),(0,w.jsxs)(`span`,{children:[`-`,c.removed]}),l?(0,w.jsx)(`strong`,{children:`Fix invalid rows before saving.`}):null]}),i?(0,w.jsx)(`p`,{className:`settings-agent-note`,children:`Loading employees...`}):null,a?(0,w.jsx)(`p`,{className:`settings-field-error`,role:`alert`,children:a}):null,e.length===0?(0,w.jsx)(`p`,{className:`settings-empty`,children:`No runtime employees configured.`}):(0,w.jsx)(`div`,{className:`settings-runtime-employee-list`,children:e.map((e,t)=>(0,w.jsx)(P,{employee:e,index:t,cliOptions:n,cliMeta:r??null,onChange:e=>u(t,e),onRemove:()=>d(t)},e.id))}),(0,w.jsx)(`div`,{className:`settings-employee-footer-bar`,children:(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,onClick:()=>o([...e,O(n,r)]),children:`+ Add employee`})})]})}var F=new Set([`runtimeEmployees`,`flushCli`,`flushModel`]);function I(e){let t={},n=null,r=null;for(let[i,a]of Object.entries(e))i===`runtimeEmployees`?r=a:i===`flushCli`||i===`flushModel`?(n??={},n[i===`flushCli`?`cli`:`model`]=String(a??``)):F.has(i)||(t[i]=a);return{settingsBundle:t,flushPatch:n,runtimeEmployeesNext:r}}async function ye(e){let{client:t,bundle:n,employeeDraft:r,employeeOriginal:i}=e;if(pe(r))throw Error(`runtime employees: fix invalid rows before saving`);let{settingsBundle:a,flushPatch:o,runtimeEmployeesNext:s}=I(n),c=null;try{if(Object.keys(a).length>0){let e=await t.put(`/api/settings`,S(a));c=e&&typeof e==`object`&&`data`in e?e.data:e}}catch(e){throw Error(`settings save failed: ${e instanceof Error?e.message:String(e)}`)}try{o&&await t.put(`/api/memory-files/settings`,o)}catch(e){throw Error(`flush settings save failed: ${e instanceof Error?e.message:String(e)}`)}try{s&&await j(t,i,s)}catch(e){throw Error(`runtime employees save failed: ${e instanceof Error?e.message:String(e)}`)}return c}function be({status:e,exhausted:n=!1}){if(n)return(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`alert`,children:`상태 확인이 끝나지 않았습니다. 새로고침하거나 잠시 후 다시 확인하세요.`});if(!e)return null;let r=t(e);return r.kind===`checking`?(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`status`,"aria-live":`polite`,children:`상태 확인 중`}):r.kind===`unknown`?(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`alert`,children:r.message}):r.kind===`failing`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`alert`,children:[`상태 확인 실패 (재시도 중)`,e.probeError?`: ${e.probeError}`:``]}):null}function L(e){if(!(e instanceof i)||e.status!==409)return null;try{return JSON.parse(e.detail).settings??null}catch{return null}}function R({port:e,client:t,dirty:n,registerSave:r}){let{state:i,refresh:s,setData:d}=o(t,`/api/settings`),[f,m]=(0,C.useState)({cli:``,provider:``,model:``,effort:``,workingDir:``,permissions:`auto`}),[h,ne]=(0,C.useState)({}),[x,S]=(0,C.useState)({}),[re,ie]=(0,C.useState)(!0),[oe,se]=(0,C.useState)(null),[T,E]=(0,C.useState)([]),[D,O]=(0,C.useState)([]),[k,A]=(0,C.useState)(!0),[he,ge]=(0,C.useState)(null),[j,M]=(0,C.useState)(null),[_e,N]=(0,C.useState)({}),[P,F]=(0,C.useState)(!1),[I,R]=(0,C.useState)(null),[xe,Se]=(0,C.useState)(!1),[Ce,we]=(0,C.useState)(null),z=(0,C.useCallback)(async()=>{try{let e=await t.get(`/api/cli-registry`);M(ee(e&&typeof e==`object`&&`data`in e?e.data:e))}catch{M(null)}},[t]),B=(0,C.useRef)(0),V=(0,C.useRef)({}),[Te,Ee]=(0,C.useState)(!1),H=(0,C.useCallback)(async e=>{try{let n=await t.get(`/api/cli-status`);if(e!==void 0&&e!==B.current)return;V.current=n,N(n)}catch{if(e!==void 0&&e!==B.current)return;V.current={},N({})}},[t]),U=(0,C.useCallback)(async()=>{ie(!0),se(null);try{let e=await t.get(`/api/memory-files`),n={cli:e.cli||``,model:e.model||``};ne(n),S(n)}catch(e){se(e instanceof Error?e.message:String(e))}finally{ie(!1)}},[t]),W=(0,C.useCallback)(async()=>{A(!0),ge(null);try{let e=fe(await t.get(`/api/employees`));E(e),O(e)}catch(e){ge(e instanceof Error?e.message:String(e))}finally{A(!1)}},[t]);(0,C.useEffect)(()=>{z(),H(),U(),W()},[z,H,W,U]),(0,C.useEffect)(()=>{if(!f.cli)return;let e=B.current+1;B.current=e,Ee(!1);let t=Date.now()+ae,n=0,r,i=()=>{if(e!==B.current)return;let a=ce({snapshot:V.current,cli:f.cli,attempts:n,now:Date.now(),deadline:t});if(a.kind!==`stop`){if(a.kind===`exhausted`){Ee(!0);return}r=setTimeout(()=>{e===B.current&&(n+=1,H(e).then(()=>{e===B.current&&i()}))},a.delayMs)}};return i(),()=>{B.current=e+1,r!==void 0&&clearTimeout(r)}},[f.cli,H]),(0,C.useEffect)(()=>{if(i.kind!==`ready`)return;let e=Object.keys(i.data.perCli||{}),t=i.data.cli||e[0]||``,n=p(i.data.permissions),r=_(t,j);m({cli:t,provider:i.data.perCli?.[t]?.provider||r.defaultProvider||``,model:v(t,i.data.perCli,i.data.activeOverrides),effort:g(t,i.data.perCli,i.data.activeOverrides),workingDir:i.data.workingDir||``,permissions:n.mode===`custom`?n.tokens:`auto`})},[j,i]),(0,C.useEffect)(()=>()=>{for(let e of Array.from(n.pending.keys()))(e===`cli`||e===`workingDir`||e===`permissions`||e===`runtimeEmployees`||e===`flushCli`||e===`flushModel`||e.startsWith(`activeOverrides.`))&&n.remove(e)},[n]);let G=(0,C.useCallback)((e,t)=>n.set(e,t),[n]),De=(0,C.useCallback)(async()=>{let e=n.saveBundle();if(Object.keys(e).length===0)return;let r=await ye({client:t,bundle:e,employeeDraft:D,employeeOriginal:T});n.clear(),r&&d(r),await s(),await z(),await U(),await W()},[t,n,D,T,z,W,U,s,d]);(0,C.useEffect)(()=>{if(r)return r(De),()=>r(null)},[r,De]);let K=i.kind===`ready`?i.data:{},q=K.perCli||{},J=K.activeOverrides||{},Y=(0,C.useMemo)(()=>Object.keys(q),[q]),X=_(f.cli,j),Z=f.provider||X.defaultProvider||X.providers?.[0]||``,Oe=f.cli===`pi`,Q=!Oe&&(X.providers?.length??0)>0,ke=b(Q&&X.modelsByProvider?.[Z]||X.models,f.model),Ae=Q?te(X,f.model,X.effortsByProvider?.[Z]||X.efforts,Z):te(X,f.model),je=f.workingDir.trim()?null:`Required`,Me=(0,C.useCallback)(async e=>{F(!0),R(null);try{let n=await t.post(`/api/settings/runtime-default-migration`,{action:e}),r;r=`settings`in n&&n.settings?n.settings:`data`in n&&n.data?n.data:n,d(r)}catch(e){let t=L(e);if(t){d(t);return}R(a(e))}finally{F(!1)}},[t,d]),Ne=(0,C.useCallback)(async e=>{Se(!0),we(null);try{let n=await t.post(`/api/settings/multi-session-default-migration`,{action:e}),r;r=`settings`in n&&n.settings?n.settings:`data`in n&&n.data?n.data:n,d(r)}catch(e){let t=L(e);if(t){d(t);return}we(a(e))}finally{Se(!1)}},[t,d]);if(i.kind===`loading`)return(0,w.jsx)(c,{});if(i.kind===`offline`)return(0,w.jsx)(l,{port:e});if(i.kind===`error`)return(0,w.jsx)(u,{message:i.message});function Pe(){for(let e of Array.from(n.pending.keys()))e.startsWith(`activeOverrides.`)&&n.remove(e)}function $(e){m(e)}return(0,w.jsxs)(`form`,{className:`settings-page-form`,onSubmit:e=>{e.preventDefault(),De()},children:[K.runtimeDefaultMigration?.state===`pending`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`status`,children:[(0,w.jsx)(`strong`,{children:`기본 런타임 변경 안내`}),(0,w.jsx)(`p`,{children:`기존 선택은 유지됩니다. Codex App으로 전환하거나 현재 런타임을 계속 사용할 수 있습니다.`}),(0,w.jsxs)(`div`,{className:`settings-inline-actions`,children:[(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-save`,disabled:P,onClick:()=>void Me(`accept`),children:`Codex App 사용`}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-secondary`,disabled:P,onClick:()=>void Me(`keep`),children:`현재 런타임 유지`})]}),I?(0,w.jsx)(`span`,{className:`settings-field-error`,role:`alert`,children:I}):null]}):null,K.multiSessionDefaultMigration?.state===`pending`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`status`,children:[(0,w.jsx)(`strong`,{children:`다중 세션 안내`}),(0,w.jsx)(`p`,{children:`대화 세션을 여러 개 열 수 있습니다. 켜면 동시 실행도 2로 올라가서, 두 번째 세션이 첫 번째가 끝나기를 기다리지 않습니다. 지금 설정은 그대로 유지됩니다.`}),(0,w.jsxs)(`div`,{className:`settings-inline-actions`,children:[(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-save`,disabled:xe,onClick:()=>void Ne(`accept`),children:`다중 세션 켜기`}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-secondary`,disabled:xe,onClick:()=>void Ne(`keep`),children:`지금 설정 유지`})]}),Ce?(0,w.jsx)(`span`,{className:`settings-field-error`,role:`alert`,children:Ce}):null]}):null,(0,w.jsxs)(`label`,{className:`settings-field settings-field-select`,htmlFor:`midrun-policy-select`,children:[(0,w.jsx)(`span`,{className:`settings-field-label`,children:`실행 중 메시지 처리 (mid-run policy)`}),(0,w.jsxs)(`select`,{id:`midrun-policy-select`,value:String(K.multiSession?.midRunPolicy||`steer`),onChange:e=>{let t=e.target.value;G(`multiSession.midRunPolicy`,{value:t,original:String(K.multiSession?.midRunPolicy||`steer`),valid:!0})},children:[(0,w.jsx)(`option`,{value:`steer`,children:`steer (기본) — 실행 중인 턴에 즉시 주입`}),(0,w.jsx)(`option`,{value:`followup`,children:`followup — 끝나면 순서대로 실행`}),(0,w.jsx)(`option`,{value:`collect`,children:`collect — 모아서 한 번에 실행`}),(0,w.jsx)(`option`,{value:`interrupt`,children:`interrupt — 현재 실행을 중단하고 즉시 실행`})]}),(0,w.jsx)(`span`,{className:`settings-field-hint`,children:`다중 세션이 켜져 있을 때 적용됩니다. steer는 jwc·codex-app 런타임에서 진행 중인 턴을 중단하지 않고 맥락을 유지한 채 주입하며, 그 외 런타임은 대기열로 처리됩니다.`})]}),(0,w.jsx)(be,{status:_e[f.cli],exhausted:Te}),(0,w.jsx)(le,{cli:f.cli,cliOptions:Y.length>0?Y:[f.cli||`claude`],provider:Z,providerOptions:Oe?[]:X.providers||[],model:f.model,modelOptions:ke,effort:f.effort,effortOptions:Ae,workingDir:f.workingDir,workingDirError:je,cliMeta:j,onCliChange:e=>{let t=_(e,j),n={...f,cli:e,provider:q[e]?.provider||t.defaultProvider||``,model:v(e,q,J),effort:g(e,q,J)};Pe(),$(n),G(`cli`,{value:e,original:K.cli||``,valid:!0})},onProviderChange:e=>{let t=X.modelsByProvider?.[e]||[],n=X.effortsByProvider?.[e]||[],r=t.includes(f.model)?f.model:t[0]||``,i=y(X,r,f.effort,n,e);$({...f,provider:e,model:r,effort:i}),G(`perCli.${f.cli}.provider`,{value:e,original:q[f.cli]?.provider||X.defaultProvider||``,valid:!0}),G(`activeOverrides.${f.cli}.model`,{value:r,original:v(f.cli,q,J),valid:r.trim().length>0}),G(`activeOverrides.${f.cli}.effort`,{value:i,original:g(f.cli,q,J),valid:!0})},onModelChange:e=>{let t=y(X,e,f.effort,Q?X.effortsByProvider?.[Z]||X.efforts:void 0,Q?Z:void 0);$({...f,model:e,effort:t}),G(`activeOverrides.${f.cli}.model`,{value:e,original:v(f.cli,q,J),valid:e.trim().length>0}),t!==f.effort&&G(`activeOverrides.${f.cli}.effort`,{value:t,original:g(f.cli,q,J),valid:!0})},onEffortChange:e=>{$({...f,effort:e}),G(`activeOverrides.${f.cli}.effort`,{value:e,original:g(f.cli,q,J),valid:!0})},onWorkingDirChange:e=>{$({...f,workingDir:e}),G(`workingDir`,{value:e,original:K.workingDir||``,valid:e.trim().length>0})}}),(0,w.jsx)(ue,{value:f.permissions,onChange:e=>{$({...f,permissions:e}),G(`permissions`,{value:e,original:K.permissions??`auto`,valid:e===`auto`||e.length>0})}}),(0,w.jsx)(de,{activeCli:f.cli,flushCli:x.cli||``,flushModel:x.model||``,cliOptions:Y,cliMeta:j,modelOptions:b(_(x.cli||f.cli,j).models,x.model||``),loading:re,error:oe,onFlushCliChange:e=>{let t=e&&_(e,j).models[0]||``;S({cli:e,model:t}),G(`flushCli`,{value:e,original:h.cli||``,valid:!0}),G(`flushModel`,{value:t,original:h.model||``,valid:!0})},onFlushModelChange:e=>{S({...x,model:e}),G(`flushModel`,{value:e,original:h.model||``,valid:!0})}}),(0,w.jsx)(ve,{roster:D,original:T,cliOptions:Y,cliMeta:j,loading:k,error:he,onRosterChange:e=>{if(O(e),me(e,T)){n.remove(`runtimeEmployees`);return}n.set(`runtimeEmployees`,{value:e,original:T,valid:!pe(e)})}})]})}export{be as CliProbeNotice,L as conflictSettingsFromError,R as default,I as splitAgentSaveBundle};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XQCOJYun.js";import{n as t}from"./settings-types-DPhhM-cj.js";import{n,t as r}from"./jsx-runtime-CYoNlHAD.js";import{t as i}from"./settings-client-D9KY2Ufl.js";import{t as a}from"./error-normalize-CLRJh19F.js";import{a as o,i as s,n as c,r as l,t as u}from"./page-shell-DZ1lls_P.js";import{i as d,s as f}from"./fields-E1L8aEhU.js";import{a as p,n as m,o as h}from"./Permissions-x_6_kLC1.js";import{a as ee,c as g,i as _,l as v,n as y,o as b,r as te,s as ne,t as x}from"./agent-meta-KPnVam9G.js";import{t as S}from"./path-utils-QbjARuCC.js";var C=e(n(),1),re=1e3,ie=8e3,ae=9e4;function oe(e,t){if(!e||!t)return!1;let n=e[t]?.probeState;return n?n===`checking`||n===`failing`:!1}function se(e){let t=re*2**Math.min(Number.isFinite(e)&&e>0?Math.floor(e):0,8);return Math.min(Math.max(t,re),ie)}function ce(e){let{snapshot:t,cli:n,attempts:r,now:i,deadline:a}=e;if(!oe(t,n))return{kind:`stop`};if(i>=a||r>=24)return{kind:`exhausted`};let o=t?.[n]?.nextRetryAt,s=typeof o==`number`&&o>i?o:i+se(r);return{kind:`wait`,delayMs:Math.max(Math.min(s,a)-i,0)}}var w=r();function le({cli:e,cliOptions:t,provider:n=``,providerOptions:r=[],model:i,modelOptions:a,effort:o,effortOptions:c,workingDir:l,workingDirError:u,cliMeta:p,onCliChange:m,onProviderChange:h,onModelChange:ee,onEffortChange:g,onWorkingDirChange:v}){let y=ne(t),b=y.filter(e=>x.includes(e)).length;return(0,w.jsx)(s,{title:`Agent runtime`,hint:`Active CLI, model, effort, and workspace used by this instance.`,children:(0,w.jsxs)(`div`,{className:`settings-agent-runtime-grid`,children:[(0,w.jsx)(d,{id:`agent-cli`,label:`Active CLI`,value:e,options:y.map(e=>({value:e,label:_(e,p).label||e})),collapsedAfter:b,onChange:m}),r.length>0?(0,w.jsx)(d,{id:`agent-${e}-provider`,label:`Provider`,value:n,options:r.map(e=>({value:e,label:e})),onChange:e=>h?.(e)}):null,(0,w.jsx)(d,{id:`agent-model`,label:`Active model`,value:i,options:a.length>0?a:[{value:``,label:`(default)`}],onChange:ee}),(0,w.jsx)(d,{id:`agent-effort`,label:`Effort`,value:o,options:[{value:``,label:`(default)`},...c.map(e=>({value:e,label:e}))],disabled:c.length===0,onChange:g}),(0,w.jsx)(f,{id:`agent-workingDir`,label:`Working directory`,value:l,error:u,placeholder:`/path/to/project`,onChange:v})]})})}var T=[{value:`auto`,label:`Auto`},{value:`custom`,label:`Custom allowlist`}];function ue({value:e,onChange:t}){let n=p(e),r=n.mode===`custom`?`custom`:`auto`,i=n.mode===`custom`?n.tokens:[],a=n.mode===`custom`?`${i.length} explicit token${i.length===1?``:`s`}`:`Runtime resolves allowed capabilities`;return(0,w.jsxs)(s,{title:`Permissions`,hint:`Quick runtime mode. Open Permissions for detailed allowlist editing.`,children:[(0,w.jsx)(d,{id:`agent-permissions-mode`,label:`Mode`,value:r,options:T,onChange:e=>{t(e===`auto`?`auto`:i.length>0&&m(i)?i:h(null))}}),(0,w.jsx)(`p`,{className:`settings-agent-note`,children:a})]})}function de({activeCli:e,flushCli:t,flushModel:n,cliOptions:r,modelOptions:i,cliMeta:a,loading:o,error:c,onFlushCliChange:l,onFlushModelChange:u}){let f=t||e,p=f?_(f,a).label||f:`active`;return(0,w.jsx)(s,{title:`Flush Agent`,hint:`Separate summary agent used for context flush and compact work.`,children:(0,w.jsxs)(`details`,{className:`settings-agent-flush`,children:[(0,w.jsxs)(`summary`,{children:[(0,w.jsx)(`span`,{children:`Flush runtime`}),(0,w.jsxs)(`code`,{children:[p,n&&n!==`default`?` / ${n}`:``]})]}),o?(0,w.jsx)(`p`,{className:`settings-agent-note`,children:`Loading flush settings...`}):null,c?(0,w.jsx)(`p`,{className:`settings-field-error`,role:`alert`,children:c}):null,(0,w.jsxs)(`div`,{className:`settings-agent-runtime-grid`,children:[(0,w.jsx)(d,{id:`agent-flush-cli`,label:`Flush CLI`,value:t,options:[{value:``,label:`(active CLI)`},...r.map(e=>({value:e,label:_(e,a).label||e}))],onChange:l}),(0,w.jsx)(d,{id:`agent-flush-model`,label:`Flush model`,value:n,options:[{value:``,label:`(default)`},...i],onChange:u})]})]})})}function E(e){return e.source===`static`||e.id.startsWith(`static:`)}function D(){return`new:${Date.now().toString(36)}:${Math.random().toString(36).slice(2,8)}`}function O(e,t){let n=e[0]||`claude`,r=t?.[n]?.models?.[0]||`default`;return{id:D(),name:`New Agent`,cli:n,model:r,role:``,status:`idle`,source:`db`}}function fe(e){return Array.isArray(e)?e.map(k).filter(Boolean):e.data.map(k).filter(Boolean)}function k(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.id==`string`?t.id:``,r=typeof t.name==`string`?t.name:``;if(!n||!r)return null;let i=t.source===`static`||n.startsWith(`static:`)?`static`:`db`,a={id:n,name:r,cli:typeof t.cli==`string`&&t.cli?t.cli:`claude`,model:typeof t.model==`string`&&t.model?t.model:`default`,role:typeof t.role==`string`?t.role:``,source:i};return typeof t.status==`string`&&(a.status=t.status),a}function A(e){return e.name.trim()?e.cli.trim()?e.model.trim()?null:`Model is required`:`CLI is required`:`Name is required`}function pe(e){return e.some(e=>A(e)!==null)}function me(e,t){return JSON.stringify(e.map(N))===JSON.stringify(t.map(N))}function he(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Set(t.map(e=>e.id)),i=[],a=[],o=[];for(let e of t){let t=n.get(e.id);if(!t||e.id.startsWith(`new:`)){i.push(e);continue}let r=M(t,e);Object.keys(r).length>0&&a.push({before:t,after:e,patch:r})}for(let t of e)!r.has(t.id)&&!E(t)&&o.push(t);return{added:i,updated:a,removed:o}}function ge(e,t){let n=he(e,t);return{added:n.added.length,updated:n.updated.length,removed:n.removed.length}}async function j(e,t,n){let r=he(t,n);for(let t of r.removed)await e.delete(`/api/employees/${encodeURIComponent(t.id)}`);for(let t of r.added)await e.post(`/api/employees`,_e(t));for(let t of r.updated)await e.put(`/api/employees/${encodeURIComponent(t.after.id)}`,t.patch)}function M(e,t){if(E(t))return e.model===t.model?{}:{model:t.model};let n={};for(let r of[`name`,`cli`,`model`,`role`,`status`])(e[r]||``)!==(t[r]||``)&&(n[r]=t[r]||``);return n}function _e(e){return{name:e.name.trim()||`New Agent`,cli:e.cli.trim()||`claude`,model:e.model.trim()||`default`,role:e.role.trim()}}function N(e){let t={id:e.id,name:e.name,cli:e.cli,model:e.model,role:e.role,source:e.source};return e.status!==void 0&&(t.status=e.status),t}function P({employee:e,index:t,cliOptions:n,cliMeta:r,onChange:i,onRemove:a}){let o=E(e),s=b(_(e.cli,r).models,e.model),c=A(e),l=Array.from(new Set([...n,e.cli,`claude`])).filter(Boolean);return(0,w.jsxs)(`fieldset`,{className:`settings-runtime-employee-row`,children:[(0,w.jsxs)(`legend`,{children:[e.name||`Employee ${t+1}`,o?(0,w.jsx)(`span`,{children:`static`}):null]}),(0,w.jsxs)(`div`,{className:`settings-runtime-employee-grid`,children:[(0,w.jsx)(f,{id:`runtime-employee-${e.id}-name`,label:`Name`,value:e.name,disabled:o,error:c===`Name is required`?c:null,onChange:e=>i({name:e})}),(0,w.jsx)(d,{id:`runtime-employee-${e.id}-cli`,label:`CLI`,value:e.cli,disabled:o,options:l.map(e=>({value:e,label:_(e,r).label||e})),onChange:e=>{i({cli:e,model:_(e,r).models[0]||`default`})}}),(0,w.jsx)(d,{id:`runtime-employee-${e.id}-model`,label:`Model`,value:e.model,options:s.length>0?s:[{value:`default`,label:`default`}],onChange:e=>i({model:e})}),(0,w.jsx)(f,{id:`runtime-employee-${e.id}-role`,label:`Role`,value:e.role,disabled:o,onChange:e=>i({role:e})})]}),(0,w.jsxs)(`div`,{className:`settings-runtime-employee-footer`,children:[(0,w.jsxs)(`span`,{children:[e.source,e.status?` / ${e.status}`:``]}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,disabled:o,onClick:a,"aria-label":`Remove employee ${e.name||t+1}`,children:`Remove`})]})]})}function ve({roster:e,original:t,cliOptions:n,cliMeta:r,loading:i,error:a,onRosterChange:o}){let c=ge(t,e),l=pe(e);function u(t,n){o(e.map((e,r)=>r===t?{...e,...n}:e))}function d(t){o(e.filter((e,n)=>n!==t))}return(0,w.jsxs)(s,{title:`Employees`,hint:`Runtime dispatch roster. Static employees keep their locked identity; database employees can be edited.`,children:[(0,w.jsxs)(`div`,{className:`settings-runtime-employee-summary`,children:[(0,w.jsxs)(`span`,{children:[`+`,c.added]}),(0,w.jsxs)(`span`,{children:[`~`,c.updated]}),(0,w.jsxs)(`span`,{children:[`-`,c.removed]}),l?(0,w.jsx)(`strong`,{children:`Fix invalid rows before saving.`}):null]}),i?(0,w.jsx)(`p`,{className:`settings-agent-note`,children:`Loading employees...`}):null,a?(0,w.jsx)(`p`,{className:`settings-field-error`,role:`alert`,children:a}):null,e.length===0?(0,w.jsx)(`p`,{className:`settings-empty`,children:`No runtime employees configured.`}):(0,w.jsx)(`div`,{className:`settings-runtime-employee-list`,children:e.map((e,t)=>(0,w.jsx)(P,{employee:e,index:t,cliOptions:n,cliMeta:r??null,onChange:e=>u(t,e),onRemove:()=>d(t)},e.id))}),(0,w.jsx)(`div`,{className:`settings-employee-footer-bar`,children:(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-discard`,onClick:()=>o([...e,O(n,r)]),children:`+ Add employee`})})]})}var F=new Set([`runtimeEmployees`,`flushCli`,`flushModel`]);function I(e){let t={},n=null,r=null;for(let[i,a]of Object.entries(e))i===`runtimeEmployees`?r=a:i===`flushCli`||i===`flushModel`?(n??={},n[i===`flushCli`?`cli`:`model`]=String(a??``)):F.has(i)||(t[i]=a);return{settingsBundle:t,flushPatch:n,runtimeEmployeesNext:r}}async function ye(e){let{client:t,bundle:n,employeeDraft:r,employeeOriginal:i}=e;if(pe(r))throw Error(`runtime employees: fix invalid rows before saving`);let{settingsBundle:a,flushPatch:o,runtimeEmployeesNext:s}=I(n),c=null;try{if(Object.keys(a).length>0){let e=await t.put(`/api/settings`,S(a));c=e&&typeof e==`object`&&`data`in e?e.data:e}}catch(e){throw Error(`settings save failed: ${e instanceof Error?e.message:String(e)}`)}try{o&&await t.put(`/api/memory-files/settings`,o)}catch(e){throw Error(`flush settings save failed: ${e instanceof Error?e.message:String(e)}`)}try{s&&await j(t,i,s)}catch(e){throw Error(`runtime employees save failed: ${e instanceof Error?e.message:String(e)}`)}return c}function be({status:e,exhausted:n=!1}){if(n)return(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`alert`,children:`상태 확인이 끝나지 않았습니다. 새로고침하거나 잠시 후 다시 확인하세요.`});if(!e)return null;let r=t(e);return r.kind===`checking`?(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`status`,"aria-live":`polite`,children:`상태 확인 중`}):r.kind===`unknown`?(0,w.jsx)(`div`,{className:`settings-inline-notice`,role:`alert`,children:r.message}):r.kind===`failing`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`alert`,children:[`상태 확인 실패 (재시도 중)`,e.probeError?`: ${e.probeError}`:``]}):null}function L(e){if(!(e instanceof i)||e.status!==409)return null;try{return JSON.parse(e.detail).settings??null}catch{return null}}function R({port:e,client:t,dirty:n,registerSave:r}){let{state:i,refresh:s,setData:d}=o(t,`/api/settings`),[f,m]=(0,C.useState)({cli:``,provider:``,model:``,effort:``,workingDir:``,permissions:`auto`}),[h,ne]=(0,C.useState)({}),[x,S]=(0,C.useState)({}),[re,ie]=(0,C.useState)(!0),[oe,se]=(0,C.useState)(null),[T,E]=(0,C.useState)([]),[D,O]=(0,C.useState)([]),[k,A]=(0,C.useState)(!0),[he,ge]=(0,C.useState)(null),[j,M]=(0,C.useState)(null),[_e,N]=(0,C.useState)({}),[P,F]=(0,C.useState)(!1),[I,R]=(0,C.useState)(null),[xe,Se]=(0,C.useState)(!1),[Ce,we]=(0,C.useState)(null),z=(0,C.useCallback)(async()=>{try{let e=await t.get(`/api/cli-registry`);M(ee(e&&typeof e==`object`&&`data`in e?e.data:e))}catch{M(null)}},[t]),B=(0,C.useRef)(0),V=(0,C.useRef)({}),[Te,Ee]=(0,C.useState)(!1),H=(0,C.useCallback)(async e=>{try{let n=await t.get(`/api/cli-status`);if(e!==void 0&&e!==B.current)return;V.current=n,N(n)}catch{if(e!==void 0&&e!==B.current)return;V.current={},N({})}},[t]),U=(0,C.useCallback)(async()=>{ie(!0),se(null);try{let e=await t.get(`/api/memory-files`),n={cli:e.cli||``,model:e.model||``};ne(n),S(n)}catch(e){se(e instanceof Error?e.message:String(e))}finally{ie(!1)}},[t]),W=(0,C.useCallback)(async()=>{A(!0),ge(null);try{let e=fe(await t.get(`/api/employees`));E(e),O(e)}catch(e){ge(e instanceof Error?e.message:String(e))}finally{A(!1)}},[t]);(0,C.useEffect)(()=>{z(),H(),U(),W()},[z,H,W,U]),(0,C.useEffect)(()=>{if(!f.cli)return;let e=B.current+1;B.current=e,Ee(!1);let t=Date.now()+ae,n=0,r,i=()=>{if(e!==B.current)return;let a=ce({snapshot:V.current,cli:f.cli,attempts:n,now:Date.now(),deadline:t});if(a.kind!==`stop`){if(a.kind===`exhausted`){Ee(!0);return}r=setTimeout(()=>{e===B.current&&(n+=1,H(e).then(()=>{e===B.current&&i()}))},a.delayMs)}};return i(),()=>{B.current=e+1,r!==void 0&&clearTimeout(r)}},[f.cli,H]),(0,C.useEffect)(()=>{if(i.kind!==`ready`)return;let e=Object.keys(i.data.perCli||{}),t=i.data.cli||e[0]||``,n=p(i.data.permissions),r=_(t,j);m({cli:t,provider:i.data.perCli?.[t]?.provider||r.defaultProvider||``,model:v(t,i.data.perCli,i.data.activeOverrides),effort:g(t,i.data.perCli,i.data.activeOverrides),workingDir:i.data.workingDir||``,permissions:n.mode===`custom`?n.tokens:`auto`})},[j,i]),(0,C.useEffect)(()=>()=>{for(let e of Array.from(n.pending.keys()))(e===`cli`||e===`workingDir`||e===`permissions`||e===`runtimeEmployees`||e===`flushCli`||e===`flushModel`||e.startsWith(`activeOverrides.`))&&n.remove(e)},[n]);let G=(0,C.useCallback)((e,t)=>n.set(e,t),[n]),De=(0,C.useCallback)(async()=>{let e=n.saveBundle();if(Object.keys(e).length===0)return;let r=await ye({client:t,bundle:e,employeeDraft:D,employeeOriginal:T});n.clear(),r&&d(r),await s(),await z(),await U(),await W()},[t,n,D,T,z,W,U,s,d]);(0,C.useEffect)(()=>{if(r)return r(De),()=>r(null)},[r,De]);let K=i.kind===`ready`?i.data:{},q=K.perCli||{},J=K.activeOverrides||{},Y=(0,C.useMemo)(()=>Object.keys(q),[q]),X=_(f.cli,j),Z=f.provider||X.defaultProvider||X.providers?.[0]||``,Oe=f.cli===`pi`,Q=!Oe&&(X.providers?.length??0)>0,ke=b(Q&&X.modelsByProvider?.[Z]||X.models,f.model),Ae=Q?te(X,f.model,X.effortsByProvider?.[Z]||X.efforts,Z):te(X,f.model),je=f.workingDir.trim()?null:`Required`,Me=(0,C.useCallback)(async e=>{F(!0),R(null);try{let n=await t.post(`/api/settings/runtime-default-migration`,{action:e}),r;r=`settings`in n&&n.settings?n.settings:`data`in n&&n.data?n.data:n,d(r)}catch(e){let t=L(e);if(t){d(t);return}R(a(e))}finally{F(!1)}},[t,d]),Ne=(0,C.useCallback)(async e=>{Se(!0),we(null);try{let n=await t.post(`/api/settings/multi-session-default-migration`,{action:e}),r;r=`settings`in n&&n.settings?n.settings:`data`in n&&n.data?n.data:n,d(r)}catch(e){let t=L(e);if(t){d(t);return}we(a(e))}finally{Se(!1)}},[t,d]);if(i.kind===`loading`)return(0,w.jsx)(c,{});if(i.kind===`offline`)return(0,w.jsx)(l,{port:e});if(i.kind===`error`)return(0,w.jsx)(u,{message:i.message});function Pe(){for(let e of Array.from(n.pending.keys()))e.startsWith(`activeOverrides.`)&&n.remove(e)}function $(e){m(e)}return(0,w.jsxs)(`form`,{className:`settings-page-form`,onSubmit:e=>{e.preventDefault(),De()},children:[K.runtimeDefaultMigration?.state===`pending`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`status`,children:[(0,w.jsx)(`strong`,{children:`기본 런타임 변경 안내`}),(0,w.jsx)(`p`,{children:`기존 선택은 유지됩니다. Codex App으로 전환하거나 현재 런타임을 계속 사용할 수 있습니다.`}),(0,w.jsxs)(`div`,{className:`settings-inline-actions`,children:[(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-save`,disabled:P,onClick:()=>void Me(`accept`),children:`Codex App 사용`}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-secondary`,disabled:P,onClick:()=>void Me(`keep`),children:`현재 런타임 유지`})]}),I?(0,w.jsx)(`span`,{className:`settings-field-error`,role:`alert`,children:I}):null]}):null,K.multiSessionDefaultMigration?.state===`pending`?(0,w.jsxs)(`div`,{className:`settings-inline-notice`,role:`status`,children:[(0,w.jsx)(`strong`,{children:`다중 세션 안내`}),(0,w.jsx)(`p`,{children:`대화 세션을 여러 개 열 수 있습니다. 켜면 동시 실행도 2로 올라가서, 두 번째 세션이 첫 번째가 끝나기를 기다리지 않습니다. 지금 설정은 그대로 유지됩니다.`}),(0,w.jsxs)(`div`,{className:`settings-inline-actions`,children:[(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-save`,disabled:xe,onClick:()=>void Ne(`accept`),children:`다중 세션 켜기`}),(0,w.jsx)(`button`,{type:`button`,className:`settings-action settings-action-secondary`,disabled:xe,onClick:()=>void Ne(`keep`),children:`지금 설정 유지`})]}),Ce?(0,w.jsx)(`span`,{className:`settings-field-error`,role:`alert`,children:Ce}):null]}):null,(0,w.jsxs)(`label`,{className:`settings-field settings-field-select`,htmlFor:`midrun-policy-select`,children:[(0,w.jsx)(`span`,{className:`settings-field-label`,children:`실행 중 메시지 처리 (mid-run policy)`}),(0,w.jsxs)(`select`,{id:`midrun-policy-select`,value:String(K.multiSession?.midRunPolicy||`steer`),onChange:e=>{let t=e.target.value;G(`multiSession.midRunPolicy`,{value:t,original:String(K.multiSession?.midRunPolicy||`steer`),valid:!0})},children:[(0,w.jsx)(`option`,{value:`steer`,children:`steer (기본) — 실행 중인 턴에 즉시 주입`}),(0,w.jsx)(`option`,{value:`followup`,children:`followup — 끝나면 순서대로 실행`}),(0,w.jsx)(`option`,{value:`collect`,children:`collect — 모아서 한 번에 실행`}),(0,w.jsx)(`option`,{value:`interrupt`,children:`interrupt — 현재 실행을 중단하고 즉시 실행`})]}),(0,w.jsx)(`span`,{className:`settings-field-hint`,children:`다중 세션이 켜져 있을 때 적용됩니다. steer는 jwc·codex-app 런타임에서 진행 중인 턴을 중단하지 않고 맥락을 유지한 채 주입하며, 그 외 런타임은 중단된 출력을 이어받아 즉시 리다이렉트(kill-steer)합니다. 대기열을 원하면 followup을 선택하세요.`})]}),(0,w.jsx)(be,{status:_e[f.cli],exhausted:Te}),(0,w.jsx)(le,{cli:f.cli,cliOptions:Y.length>0?Y:[f.cli||`claude`],provider:Z,providerOptions:Oe?[]:X.providers||[],model:f.model,modelOptions:ke,effort:f.effort,effortOptions:Ae,workingDir:f.workingDir,workingDirError:je,cliMeta:j,onCliChange:e=>{let t=_(e,j),n={...f,cli:e,provider:q[e]?.provider||t.defaultProvider||``,model:v(e,q,J),effort:g(e,q,J)};Pe(),$(n),G(`cli`,{value:e,original:K.cli||``,valid:!0})},onProviderChange:e=>{let t=X.modelsByProvider?.[e]||[],n=X.effortsByProvider?.[e]||[],r=t.includes(f.model)?f.model:t[0]||``,i=y(X,r,f.effort,n,e);$({...f,provider:e,model:r,effort:i}),G(`perCli.${f.cli}.provider`,{value:e,original:q[f.cli]?.provider||X.defaultProvider||``,valid:!0}),G(`activeOverrides.${f.cli}.model`,{value:r,original:v(f.cli,q,J),valid:r.trim().length>0}),G(`activeOverrides.${f.cli}.effort`,{value:i,original:g(f.cli,q,J),valid:!0})},onModelChange:e=>{let t=y(X,e,f.effort,Q?X.effortsByProvider?.[Z]||X.efforts:void 0,Q?Z:void 0);$({...f,model:e,effort:t}),G(`activeOverrides.${f.cli}.model`,{value:e,original:v(f.cli,q,J),valid:e.trim().length>0}),t!==f.effort&&G(`activeOverrides.${f.cli}.effort`,{value:t,original:g(f.cli,q,J),valid:!0})},onEffortChange:e=>{$({...f,effort:e}),G(`activeOverrides.${f.cli}.effort`,{value:e,original:g(f.cli,q,J),valid:!0})},onWorkingDirChange:e=>{$({...f,workingDir:e}),G(`workingDir`,{value:e,original:K.workingDir||``,valid:e.trim().length>0})}}),(0,w.jsx)(ue,{value:f.permissions,onChange:e=>{$({...f,permissions:e}),G(`permissions`,{value:e,original:K.permissions??`auto`,valid:e===`auto`||e.length>0})}}),(0,w.jsx)(de,{activeCli:f.cli,flushCli:x.cli||``,flushModel:x.model||``,cliOptions:Y,cliMeta:j,modelOptions:b(_(x.cli||f.cli,j).models,x.model||``),loading:re,error:oe,onFlushCliChange:e=>{let t=e&&_(e,j).models[0]||``;S({cli:e,model:t}),G(`flushCli`,{value:e,original:h.cli||``,valid:!0}),G(`flushModel`,{value:t,original:h.model||``,valid:!0})},onFlushModelChange:e=>{S({...x,model:e}),G(`flushModel`,{value:e,original:h.model||``,valid:!0})}}),(0,w.jsx)(ve,{roster:D,original:T,cliOptions:Y,cliMeta:j,loading:k,error:he,onRosterChange:e=>{if(O(e),me(e,T)){n.remove(`runtimeEmployees`);return}n.set(`runtimeEmployees`,{value:e,original:T,valid:!pe(e)})}})]})}export{be as CliProbeNotice,L as conflictSettingsFromError,R as default,I as splitAgentSaveBundle};
|