openfox 2.0.112 → 2.0.113
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/CHANGELOG.md +27 -0
- package/README.md +1 -0
- package/dist/CHANGELOG.md +27 -0
- package/dist/{chat-handler-BYXZIIV3.js → chat-handler-PEK5JDHO.js} +24 -24
- package/dist/{chunk-3UILDGOO.js → chunk-3R43CMLS.js} +8 -8
- package/dist/{chunk-ERYUSG5C.js → chunk-43M7QZMX.js} +2 -2
- package/dist/{chunk-SYJMUIRC.js → chunk-4NMGX5F2.js} +2 -2
- package/dist/{chunk-RAKPI4OE.js → chunk-5VYSKVZT.js} +28 -25
- package/dist/{chunk-FFPCVN5M.js → chunk-6UPBZ2ZR.js} +4 -4
- package/dist/{chunk-C5NQF2K4.js → chunk-AZFZE36I.js} +15 -6
- package/dist/chunk-B2PHPBFU.js +7 -0
- package/dist/{chunk-P45RJGOT.js → chunk-BKCW3JLL.js} +1 -1
- package/dist/{chunk-N4RTAGFY.js → chunk-BNFGDTEU.js} +2 -2
- package/dist/{chunk-JNHKKUGJ.js → chunk-BYSUSSSC.js} +2 -2
- package/dist/{chunk-NB2D6I64.js → chunk-CP44U7BT.js} +5 -5
- package/dist/{chunk-SVJFMZ2Q.js → chunk-EC5T5A6O.js} +11 -4
- package/dist/{chunk-RKMP74BB.js → chunk-EMI3YYLP.js} +3 -3
- package/dist/{chunk-BOSKQI62.js → chunk-FF2EKUQO.js} +4 -4
- package/dist/{chunk-XCK5IBO4.js → chunk-HGOTZWON.js} +41 -19
- package/dist/{chunk-XWNCKIPO.js → chunk-HKD4IMOE.js} +2 -2
- package/dist/{chunk-C372UH7N.js → chunk-KSXCOHHW.js} +18 -20
- package/dist/{chunk-Z56SEG4Z.js → chunk-O2YSYW2F.js} +6 -6
- package/dist/{chunk-UAF2FOI5.js → chunk-ONONXV3N.js} +7 -7
- package/dist/{chunk-LCQ5AN6Y.js → chunk-PWXBIUEY.js} +5 -1
- package/dist/{chunk-33Q7LCVD.js → chunk-R2MTWC7C.js} +2 -2
- package/dist/{chunk-JDT63SSP.js → chunk-SNLLOXCM.js} +3 -3
- package/dist/{chunk-FSYRANYR.js → chunk-TCGWZBTS.js} +3 -4
- package/dist/{chunk-IYTDCPEQ.js → chunk-TEQEDOWI.js} +206 -143
- package/dist/{chunk-PCC4DBPF.js → chunk-V4664YKR.js} +2 -2
- package/dist/{chunk-FR5LUTLQ.js → chunk-VGRVPYZ5.js} +10 -6
- package/dist/{chunk-RT2A2RRL.js → chunk-WWTYWLDM.js} +2 -2
- package/dist/{chunk-6FPGJR7O.js → chunk-XQR76MQ5.js} +2 -2
- package/dist/{chunk-RISQXU32.js → chunk-Y64PEWKP.js} +2 -2
- package/dist/{chunk-QGXLZZBS.js → chunk-YB6WYVNY.js} +2 -2
- package/dist/{chunk-SDGNV45R.js → chunk-YGPPFVLJ.js} +10 -10
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-QNQTX5EA.js → client-3LJGD6KY.js} +5 -5
- package/dist/{compactor-X2KZ3XFU.js → compactor-ZBNKANHV.js} +10 -10
- package/dist/{config-TW5FHQEM.js → config-EAB3V4QK.js} +2 -2
- package/dist/{dynamic-context-ZRQO2FJN.js → dynamic-context-F2XTQJR5.js} +9 -9
- package/dist/{events-Y6XXQYFG.js → events-224IO5NJ.js} +7 -7
- package/dist/{folding-Z4GNWRC3.js → folding-YTTTVS56.js} +5 -5
- package/dist/http-client-YC3UA5OZ.js +11 -0
- package/dist/{inspect-proxy-N42Z5TOG.js → inspect-proxy-B7LGGTM7.js} +4 -4
- package/dist/{manager-HCMDFEQH.js → manager-4QGXI6WZ.js} +5 -5
- package/dist/{model-overrides-O3ZYKFP7.js → model-overrides-OY2YKUNV.js} +4 -4
- package/dist/{orchestrator-P5EUMC7E.js → orchestrator-JKBY7B3P.js} +23 -23
- package/dist/package.json +5 -4
- package/dist/{path-security-525YLND3.js → path-security-PFMZY7IA.js} +11 -11
- package/dist/{platform-MEQUWG6U.js → platform-QNGCKX4L.js} +4 -4
- package/dist/{processor-UN4H4V7F.js → processor-NYPJ5PFA.js} +23 -23
- package/dist/{project-creator-BVA55HY6.js → project-creator-AWP2JUFS.js} +3 -3
- package/dist/{projects-PQXME5S4.js → projects-C4353IQK.js} +3 -3
- package/dist/{protocol-D6MISQyz.d.ts → protocol-CBT1d98i.d.ts} +3 -1
- package/dist/{protocol-FTHAR2YL.js → protocol-LZZ7C4VQ.js} +3 -3
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-3R4X62LW.js → provider-PIRPN2CC.js} +8 -8
- package/dist/{provider-manager-W5N4XRE5.js → provider-manager-GNEPR6UN.js} +6 -6
- package/dist/{registry-74KPZ5NV.js → registry-VCKDSVKA.js} +4 -4
- package/dist/{serve-WHFUNQ6Z.js → serve-6DRHQLCG.js} +31 -31
- package/dist/server/index.d.ts +7 -4
- package/dist/server/index.js +30 -30
- package/dist/server-HUHFJW7U.js +48 -0
- package/dist/{session-overrides-XH6I3COP.js → session-overrides-RNKV35MU.js} +6 -6
- package/dist/{sessions-D772YTWL.js → sessions-D5CEPQGU.js} +7 -5
- package/dist/{settings-KO6DSJLD.js → settings-BNRNX6IW.js} +3 -3
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/index.js +1 -1
- package/dist/skill-defaults/workflows/SKILL.md +499 -0
- package/dist/{tools-HTUTYMKI.js → tools-2B363F7L.js} +21 -21
- package/dist/{types-BMEOlLT0.d.ts → types-BAxh20ZL.d.ts} +8 -1
- package/dist/{types-D0TgGL3t.d.ts → types-cVfqOj6M.d.ts} +1 -1
- package/dist/{update-BRUFGGTW.js → update-IQMRYN7J.js} +2 -2
- package/dist/web/assets/{index-nS1p0g8O.css → index-CjWC6EQ4.css} +1 -1
- package/dist/web/assets/index-DBUtUSHK.js +323 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/workflow-defaults/default.workflow.json +41 -3
- package/dist/{workspace-YDUQZ3HC.js → workspace-YUNHV4WS.js} +4 -4
- package/package.json +5 -4
- package/dist/chunk-P5AA7OYJ.js +0 -7
- package/dist/http-client-2GDKHZIG.js +0 -11
- package/dist/server-7MOOJR2N.js +0 -48
- package/dist/web/assets/index-Dukvfqm-.js +0 -323
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.113 - 2026-08-07
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **⚠️ Heads-up: Build & Verify now asks where to work** — the workflow prompts for a workspace before running and can auto-create one, replacing the previous silent default
|
|
8
|
+
- **Pin favorite sessions to the top** — star any session to keep it at the top of the sidebar and session picker
|
|
9
|
+
- **Sidebars are resizable** — drag to resize the session and project rails; widths reset on page refresh
|
|
10
|
+
- **Built-in workflow authoring skill** — agents can load the canonical spec to write compliant workflows
|
|
11
|
+
|
|
12
|
+
### Enhancements
|
|
13
|
+
|
|
14
|
+
- **Editable attachments when editing a message** — attachments show with remove buttons and persist on resend
|
|
15
|
+
- **Launch command pinned in the log viewer** — background processes show their start command and cwd at the top
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- **Same-name workflows can coexist** — built-in, global, and project workflows share IDs without colliding, each tagged and separately editable
|
|
20
|
+
- **Native context menu over links** — right-clicking a link opens the browser menu instead of the custom one
|
|
21
|
+
- **Auto-scroll rearmed after replay** — replaying or edit-resending a message resumes live scrolling on streamed output
|
|
22
|
+
- **No stray empty workspace.json** — unrelated settings saves no longer drop an empty config file into `.openfox/`
|
|
23
|
+
- **Inputs behave on touch devices** — fields no longer steal focus and pop the soft keyboard on phones and tablets
|
|
24
|
+
- **OpenCode Go model catalog fixed** — models now load from the correct `/zen/go/v1` endpoint
|
|
25
|
+
- **Windows paths and root checks fixed** — backslash workspace paths are detected again, bare drive roots are rejected, casing changes no longer warn falsely, and the root save flag can't get stuck
|
|
26
|
+
- **Token budget counts output accurately** — context-size tracking includes prompt plus completion, preventing spurious context-length errors
|
|
27
|
+
- **Unknown slash commands sent as text** — a `/`-input that isn't a command sends as a normal message instead of vanishing
|
|
28
|
+
- **Slash commands honor their agent mode** — launching a command now applies the agent mode configured for it
|
|
29
|
+
|
|
3
30
|
## 2.0.112 - 2026-08-03
|
|
4
31
|
|
|
5
32
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -77,6 +77,7 @@ openfox provider remove # Remove provider
|
|
|
77
77
|
|
|
78
78
|
- **Plan → Builder Workflow**: Interactive task breakdown followed by autonomous implementation
|
|
79
79
|
- **Contract-Driven Execution**: Acceptance criteria serve as immutable contract
|
|
80
|
+
- **Workflows**: Declarative multi-step pipelines (agent turns, sub-agents, shell commands, user gates) with conditional transitions. File format and authoring reference: [docs/WORKFLOWS.md](docs/WORKFLOWS.md)
|
|
80
81
|
- **Iterative Verification**: Agent loops until all criteria pass
|
|
81
82
|
- **LSP Integration**: Immediate feedback on code validity
|
|
82
83
|
- **Real-Time Metrics**: Prefill time, generation speed, context usage
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.113 - 2026-08-07
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **⚠️ Heads-up: Build & Verify now asks where to work** — the workflow prompts for a workspace before running and can auto-create one, replacing the previous silent default
|
|
8
|
+
- **Pin favorite sessions to the top** — star any session to keep it at the top of the sidebar and session picker
|
|
9
|
+
- **Sidebars are resizable** — drag to resize the session and project rails; widths reset on page refresh
|
|
10
|
+
- **Built-in workflow authoring skill** — agents can load the canonical spec to write compliant workflows
|
|
11
|
+
|
|
12
|
+
### Enhancements
|
|
13
|
+
|
|
14
|
+
- **Editable attachments when editing a message** — attachments show with remove buttons and persist on resend
|
|
15
|
+
- **Launch command pinned in the log viewer** — background processes show their start command and cwd at the top
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- **Same-name workflows can coexist** — built-in, global, and project workflows share IDs without colliding, each tagged and separately editable
|
|
20
|
+
- **Native context menu over links** — right-clicking a link opens the browser menu instead of the custom one
|
|
21
|
+
- **Auto-scroll rearmed after replay** — replaying or edit-resending a message resumes live scrolling on streamed output
|
|
22
|
+
- **No stray empty workspace.json** — unrelated settings saves no longer drop an empty config file into `.openfox/`
|
|
23
|
+
- **Inputs behave on touch devices** — fields no longer steal focus and pop the soft keyboard on phones and tablets
|
|
24
|
+
- **OpenCode Go model catalog fixed** — models now load from the correct `/zen/go/v1` endpoint
|
|
25
|
+
- **Windows paths and root checks fixed** — backslash workspace paths are detected again, bare drive roots are rejected, casing changes no longer warn falsely, and the root save flag can't get stuck
|
|
26
|
+
- **Token budget counts output accurately** — context-size tracking includes prompt plus completion, preventing spurious context-length errors
|
|
27
|
+
- **Unknown slash commands sent as text** — a `/`-input that isn't a command sends as a normal message instead of vanishing
|
|
28
|
+
- **Slash commands honor their agent mode** — launching a command now applies the agent mode configured for it
|
|
29
|
+
|
|
3
30
|
## 2.0.112 - 2026-08-03
|
|
4
31
|
|
|
5
32
|
### Bug Fixes
|
|
@@ -2,49 +2,49 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3R43CMLS.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-YGPPFVLJ.js";
|
|
9
|
+
import "./chunk-O2YSYW2F.js";
|
|
10
|
+
import "./chunk-5VYSKVZT.js";
|
|
11
|
+
import "./chunk-FF2EKUQO.js";
|
|
12
12
|
import "./chunk-JR54MDZI.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-HKD4IMOE.js";
|
|
14
|
+
import "./chunk-R2MTWC7C.js";
|
|
15
|
+
import "./chunk-EC5T5A6O.js";
|
|
16
16
|
import "./chunk-I72ACQ6R.js";
|
|
17
17
|
import "./chunk-JE7LW7Y6.js";
|
|
18
18
|
import "./chunk-OAN4BXEW.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-VGRVPYZ5.js";
|
|
20
20
|
import "./chunk-J7GAZGZT.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-SNLLOXCM.js";
|
|
22
|
+
import "./chunk-6UPBZ2ZR.js";
|
|
23
23
|
import {
|
|
24
24
|
getEventStore
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-CP44U7BT.js";
|
|
26
26
|
import {
|
|
27
27
|
createChatMessageMessage,
|
|
28
28
|
createPhaseChangedMessage,
|
|
29
29
|
createSessionRunningMessage
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-4NMGX5F2.js";
|
|
31
|
+
import "./chunk-BNFGDTEU.js";
|
|
32
32
|
import "./chunk-JURM3RPZ.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-Y64PEWKP.js";
|
|
34
|
+
import "./chunk-XQR76MQ5.js";
|
|
35
|
+
import "./chunk-YB6WYVNY.js";
|
|
36
36
|
import "./chunk-LCLH6ZUL.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-AZFZE36I.js";
|
|
38
|
+
import "./chunk-BYSUSSSC.js";
|
|
39
39
|
import "./chunk-J2GP3J3X.js";
|
|
40
40
|
import "./chunk-V4IE7HJY.js";
|
|
41
41
|
import "./chunk-YHEQTVFV.js";
|
|
42
42
|
import "./chunk-L737Y63F.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-WWTYWLDM.js";
|
|
44
|
+
import "./chunk-PWXBIUEY.js";
|
|
45
45
|
import "./chunk-K44MW7JJ.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-BKCW3JLL.js";
|
|
47
|
+
import "./chunk-KSXCOHHW.js";
|
|
48
48
|
import "./chunk-CQGTEGKL.js";
|
|
49
49
|
import "./chunk-5WRI5ZAA.js";
|
|
50
50
|
|
|
@@ -167,4 +167,4 @@ export {
|
|
|
167
167
|
startChatSession,
|
|
168
168
|
stopSessionExecution
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=chat-handler-
|
|
170
|
+
//# sourceMappingURL=chat-handler-PEK5JDHO.js.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
combineEventsWithSnapshot,
|
|
3
3
|
getEventStore
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CP44U7BT.js";
|
|
5
5
|
import {
|
|
6
6
|
createContextStateMessage,
|
|
7
7
|
createSessionStateMessage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4NMGX5F2.js";
|
|
9
9
|
import {
|
|
10
10
|
getPendingQuestionsForSession
|
|
11
11
|
} from "./chunk-JURM3RPZ.js";
|
|
12
12
|
import {
|
|
13
13
|
buildMessagesFromStoredEvents,
|
|
14
14
|
foldPendingConfirmations
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YB6WYVNY.js";
|
|
16
16
|
import {
|
|
17
17
|
updateSessionMetadata
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-AZFZE36I.js";
|
|
19
19
|
import {
|
|
20
20
|
getRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-BYSUSSSC.js";
|
|
22
22
|
import {
|
|
23
23
|
getMaxVisibleItems
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WWTYWLDM.js";
|
|
25
25
|
import {
|
|
26
26
|
logger
|
|
27
27
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
|
|
|
153
153
|
client = deps.getLLMClient();
|
|
154
154
|
client.setModel(providerConfig.model);
|
|
155
155
|
} else if (providerConfig) {
|
|
156
|
-
const { createLLMClient } = await import("./client-
|
|
156
|
+
const { createLLMClient } = await import("./client-3LJGD6KY.js");
|
|
157
157
|
client = createLLMClient({
|
|
158
158
|
llm: {
|
|
159
159
|
baseUrl: providerConfig.baseUrl,
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
needsNameGeneration,
|
|
205
205
|
generateSessionNameForSession
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-3R43CMLS.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
LLMError,
|
|
19
19
|
OpenAIHttpClient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-V4664YKR.js";
|
|
21
21
|
import {
|
|
22
22
|
logger
|
|
23
23
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -310,4 +310,4 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
310
310
|
export {
|
|
311
311
|
createLLMClient
|
|
312
312
|
};
|
|
313
|
-
//# sourceMappingURL=chunk-
|
|
313
|
+
//# sourceMappingURL=chunk-43M7QZMX.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
createServerMessage,
|
|
6
6
|
isClientMessage
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BKCW3JLL.js";
|
|
8
8
|
|
|
9
9
|
// src/server/session/client-session.ts
|
|
10
10
|
function toClientSession(session) {
|
|
@@ -366,4 +366,4 @@ export {
|
|
|
366
366
|
createQueueStateMessage,
|
|
367
367
|
storedEventToServerMessage
|
|
368
368
|
};
|
|
369
|
-
//# sourceMappingURL=chunk-
|
|
369
|
+
//# sourceMappingURL=chunk-4NMGX5F2.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getEnabledSkillMetadata,
|
|
5
5
|
isSkillEnabled,
|
|
6
6
|
loadAllSkills
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FF2EKUQO.js";
|
|
8
8
|
import {
|
|
9
9
|
TurnMetrics,
|
|
10
10
|
consumeStreamGenerator,
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
COMPACTION_PROMPT,
|
|
20
20
|
buildBasePrompt,
|
|
21
21
|
computeEffectiveTools
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-HKD4IMOE.js";
|
|
23
23
|
import {
|
|
24
24
|
startInspectProxy
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-R2MTWC7C.js";
|
|
26
26
|
import {
|
|
27
27
|
checkAborted,
|
|
28
28
|
createProcess,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
spawnShellProcess,
|
|
37
37
|
startProcessCommand,
|
|
38
38
|
stopProcess
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-EC5T5A6O.js";
|
|
40
40
|
import {
|
|
41
41
|
getMaxPerSession,
|
|
42
42
|
getSessionProcessCount,
|
|
@@ -52,36 +52,36 @@ import {
|
|
|
52
52
|
getGitBranch,
|
|
53
53
|
isGitRepository,
|
|
54
54
|
listWorkspaces
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-VGRVPYZ5.js";
|
|
56
56
|
import {
|
|
57
57
|
getSessionDisabledServers
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-SNLLOXCM.js";
|
|
59
59
|
import {
|
|
60
60
|
PathAccessDeniedError,
|
|
61
61
|
extractAbsolutePathsFromCommand,
|
|
62
62
|
extractSensitivePathsFromCommand,
|
|
63
63
|
registerPathConfirmation,
|
|
64
64
|
requestPathAccess
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-6UPBZ2ZR.js";
|
|
66
66
|
import {
|
|
67
67
|
getCurrentContextWindowId,
|
|
68
68
|
getCurrentWindowMessageOptions,
|
|
69
69
|
getEventStore
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-CP44U7BT.js";
|
|
71
71
|
import {
|
|
72
72
|
createChatDoneMessage,
|
|
73
73
|
createChatMessageMessage,
|
|
74
74
|
createChatMessageUpdatedMessage,
|
|
75
75
|
createChatPathConfirmationMessage,
|
|
76
76
|
createQueueStateMessage
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-4NMGX5F2.js";
|
|
78
78
|
import {
|
|
79
79
|
AskUserInterrupt,
|
|
80
80
|
askUserTool
|
|
81
81
|
} from "./chunk-JURM3RPZ.js";
|
|
82
82
|
import {
|
|
83
83
|
resolveLLMClientForAgent
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-Y64PEWKP.js";
|
|
85
85
|
import {
|
|
86
86
|
buildContextMessagesFromEventHistory,
|
|
87
87
|
foldContextState,
|
|
@@ -91,13 +91,13 @@ import {
|
|
|
91
91
|
handleToolResult,
|
|
92
92
|
reorderToolMessages,
|
|
93
93
|
stripOrphanedToolCalls
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-YB6WYVNY.js";
|
|
95
95
|
import {
|
|
96
96
|
findAgentById,
|
|
97
97
|
getRuntimeConfig,
|
|
98
98
|
getSubAgents,
|
|
99
99
|
loadAllAgentsDefault
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-BYSUSSSC.js";
|
|
101
101
|
import {
|
|
102
102
|
modelSupportsVision
|
|
103
103
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -115,14 +115,14 @@ import {
|
|
|
115
115
|
import {
|
|
116
116
|
SETTINGS_KEYS,
|
|
117
117
|
getSetting
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-WWTYWLDM.js";
|
|
119
119
|
import {
|
|
120
120
|
logger
|
|
121
121
|
} from "./chunk-K44MW7JJ.js";
|
|
122
122
|
import {
|
|
123
123
|
loadGlobalConfig,
|
|
124
124
|
saveGlobalConfig
|
|
125
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-KSXCOHHW.js";
|
|
126
126
|
import {
|
|
127
127
|
getGlobalConfigDir
|
|
128
128
|
} from "./chunk-CQGTEGKL.js";
|
|
@@ -139,7 +139,7 @@ async function requestUserConfirmation(context, toolLabel, desc) {
|
|
|
139
139
|
if (context.dangerLevel === "dangerous") return Promise.resolve(true);
|
|
140
140
|
if (toolLabel === "workspace" || toolLabel === "command") {
|
|
141
141
|
try {
|
|
142
|
-
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-
|
|
142
|
+
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-BNRNX6IW.js");
|
|
143
143
|
if (getSetting2(SETTINGS_KEYS2.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
|
|
144
144
|
return Promise.resolve(true);
|
|
145
145
|
}
|
|
@@ -1927,10 +1927,15 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1927
1927
|
previousContextTokens,
|
|
1928
1928
|
result.modelParams
|
|
1929
1929
|
);
|
|
1930
|
-
sessionManager.setCurrentContextSize(
|
|
1930
|
+
sessionManager.setCurrentContextSize(
|
|
1931
|
+
sessionId,
|
|
1932
|
+
result.usage.promptTokens,
|
|
1933
|
+
result.usage.completionTokens,
|
|
1934
|
+
config.subAgentMetadata?.subAgentId
|
|
1935
|
+
);
|
|
1931
1936
|
if (!compacting) {
|
|
1932
1937
|
const contextState2 = sessionManager.getContextState(sessionId);
|
|
1933
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
1938
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-ZBNKANHV.js");
|
|
1934
1939
|
if (shouldCompact(
|
|
1935
1940
|
contextState2.currentTokens,
|
|
1936
1941
|
contextState2.maxTokens,
|
|
@@ -2300,7 +2305,7 @@ async function describeImageFromDataUrl(dataUrl, visionModel, options) {
|
|
|
2300
2305
|
// src/server/context/image-processor.ts
|
|
2301
2306
|
async function loadVisionModelFromGlobalConfig() {
|
|
2302
2307
|
try {
|
|
2303
|
-
const { loadGlobalConfig: loadGlobalConfig2, resolveVisionFallback } = await import("./config-
|
|
2308
|
+
const { loadGlobalConfig: loadGlobalConfig2, resolveVisionFallback } = await import("./config-EAB3V4QK.js");
|
|
2304
2309
|
const runtimeConfig = getRuntimeConfig();
|
|
2305
2310
|
const mode = runtimeConfig.mode ?? "production";
|
|
2306
2311
|
const globalConfig = await loadGlobalConfig2(mode);
|
|
@@ -2918,7 +2923,7 @@ var callSubAgentTool = {
|
|
|
2918
2923
|
};
|
|
2919
2924
|
}
|
|
2920
2925
|
try {
|
|
2921
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
2926
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-2B363F7L.js");
|
|
2922
2927
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
2923
2928
|
const turnMetrics = new TurnMetrics();
|
|
2924
2929
|
const result = await executeSubAgent({
|
|
@@ -3330,7 +3335,7 @@ var DevServerManager = class {
|
|
|
3330
3335
|
}
|
|
3331
3336
|
/**
|
|
3332
3337
|
* Load dev server config from workdir.
|
|
3333
|
-
* If not found and the path looks like a workspace (contains /workspaces/),
|
|
3338
|
+
* If not found and the path looks like a workspace (contains a /workspaces/ segment),
|
|
3334
3339
|
* falls back to the parent project root.
|
|
3335
3340
|
*/
|
|
3336
3341
|
async loadConfig(workdir) {
|
|
@@ -3352,7 +3357,7 @@ var DevServerManager = class {
|
|
|
3352
3357
|
};
|
|
3353
3358
|
const config = await tryLoad(workdir);
|
|
3354
3359
|
if (config) return config;
|
|
3355
|
-
const wsIdx = workdir.
|
|
3360
|
+
const wsIdx = workdir.search(/[\\/]workspaces[\\/]/);
|
|
3356
3361
|
if (wsIdx !== -1) {
|
|
3357
3362
|
const projectRoot = workdir.slice(0, wsIdx);
|
|
3358
3363
|
if (projectRoot !== workdir) {
|
|
@@ -3940,7 +3945,7 @@ var mcpConfigTool = createTool(
|
|
|
3940
3945
|
mcpNotifyChanged?.(sessionId);
|
|
3941
3946
|
}
|
|
3942
3947
|
async function rebuildTools() {
|
|
3943
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
3948
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-2B363F7L.js");
|
|
3944
3949
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
3945
3950
|
setMcpTools2(mcpTools);
|
|
3946
3951
|
}
|
|
@@ -4232,8 +4237,6 @@ If the requested branch does not exist, it will be created. By default it is bas
|
|
|
4232
4237
|
default branch of the project (origin/HEAD). You can specify sourceBranch to base the new
|
|
4233
4238
|
branch on a different existing branch.
|
|
4234
4239
|
|
|
4235
|
-
Actions that change the workspace (switch, delete) require explicit user approval via a confirmation dialog.
|
|
4236
|
-
|
|
4237
4240
|
Setup commands (e.g. npm install) are configured via .openfox/workspace.json.
|
|
4238
4241
|
|
|
4239
4242
|
Actions:
|
|
@@ -4635,4 +4638,4 @@ export {
|
|
|
4635
4638
|
getToolRegistryForAgent,
|
|
4636
4639
|
createToolRegistry
|
|
4637
4640
|
};
|
|
4638
|
-
//# sourceMappingURL=chunk-
|
|
4641
|
+
//# sourceMappingURL=chunk-5VYSKVZT.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getEventStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CP44U7BT.js";
|
|
4
4
|
import {
|
|
5
5
|
createChatPathConfirmationMessage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4NMGX5F2.js";
|
|
7
7
|
import {
|
|
8
8
|
getPlatformShell
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BNFGDTEU.js";
|
|
10
10
|
|
|
11
11
|
// src/server/tools/path-security.ts
|
|
12
12
|
import { realpath } from "fs/promises";
|
|
@@ -535,4 +535,4 @@ export {
|
|
|
535
535
|
getConfirmationSessionId,
|
|
536
536
|
getPendingConfirmationsBySession
|
|
537
537
|
};
|
|
538
|
-
//# sourceMappingURL=chunk-
|
|
538
|
+
//# sourceMappingURL=chunk-6UPBZ2ZR.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BYSUSSSC.js";
|
|
4
4
|
import {
|
|
5
5
|
getDatabase
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PWXBIUEY.js";
|
|
7
7
|
|
|
8
8
|
// src/server/db/sessions.ts
|
|
9
9
|
function getProjectDangerLevel(projectId) {
|
|
@@ -232,6 +232,7 @@ function listSessions() {
|
|
|
232
232
|
s.mode,
|
|
233
233
|
s.workflow_phase,
|
|
234
234
|
s.is_running,
|
|
235
|
+
s.is_favorite,
|
|
235
236
|
s.created_at,
|
|
236
237
|
s.updated_at,
|
|
237
238
|
s.title,
|
|
@@ -239,7 +240,7 @@ function listSessions() {
|
|
|
239
240
|
s.provider_model,
|
|
240
241
|
s.message_count
|
|
241
242
|
FROM sessions s
|
|
242
|
-
ORDER BY s.updated_at DESC
|
|
243
|
+
ORDER BY s.is_favorite DESC, s.updated_at DESC
|
|
243
244
|
`
|
|
244
245
|
).all();
|
|
245
246
|
return rows.map(mapSessionSummaryRow);
|
|
@@ -264,6 +265,7 @@ function listSessionsPaged(projectId, limit, offset) {
|
|
|
264
265
|
s.mode,
|
|
265
266
|
s.workflow_phase,
|
|
266
267
|
s.is_running,
|
|
268
|
+
s.is_favorite,
|
|
267
269
|
s.created_at,
|
|
268
270
|
s.updated_at,
|
|
269
271
|
s.title,
|
|
@@ -272,7 +274,7 @@ function listSessionsPaged(projectId, limit, offset) {
|
|
|
272
274
|
s.message_count
|
|
273
275
|
FROM sessions s
|
|
274
276
|
${where}
|
|
275
|
-
ORDER BY s.updated_at DESC
|
|
277
|
+
ORDER BY s.is_favorite DESC, s.updated_at DESC
|
|
276
278
|
LIMIT ? OFFSET ?
|
|
277
279
|
`
|
|
278
280
|
).all(...projectId ? [projectId] : [], limit + 1, offset);
|
|
@@ -293,6 +295,7 @@ function listHomeSessions(sessionsPerProject = 5) {
|
|
|
293
295
|
s.mode,
|
|
294
296
|
s.workflow_phase,
|
|
295
297
|
s.is_running,
|
|
298
|
+
s.is_favorite,
|
|
296
299
|
s.created_at,
|
|
297
300
|
s.updated_at,
|
|
298
301
|
s.title,
|
|
@@ -351,9 +354,14 @@ function mapSessionSummaryRow(row) {
|
|
|
351
354
|
...row.title ? { title: row.title } : {},
|
|
352
355
|
criteriaCount: 0,
|
|
353
356
|
criteriaCompleted: 0,
|
|
354
|
-
messageCount: row.message_count
|
|
357
|
+
messageCount: row.message_count,
|
|
358
|
+
isFavorite: Boolean(row.is_favorite)
|
|
355
359
|
};
|
|
356
360
|
}
|
|
361
|
+
function toggleFavorite(id, isFavorite) {
|
|
362
|
+
const db = getDatabase();
|
|
363
|
+
db.prepare(`UPDATE sessions SET is_favorite = ? WHERE id = ?`).run(isFavorite ? 1 : 0, id);
|
|
364
|
+
}
|
|
357
365
|
function createWorkflowExecution(id, sessionId, workflowId, workflowName, workflowColor, params) {
|
|
358
366
|
const db = getDatabase();
|
|
359
367
|
const now = Date.now();
|
|
@@ -405,9 +413,10 @@ export {
|
|
|
405
413
|
updateSessionWorkdir,
|
|
406
414
|
updateSessionBranch,
|
|
407
415
|
deleteSession,
|
|
416
|
+
toggleFavorite,
|
|
408
417
|
createWorkflowExecution,
|
|
409
418
|
updateWorkflowExecutionStatus,
|
|
410
419
|
getActiveWorkflowExecution,
|
|
411
420
|
clearWorkflowExecution
|
|
412
421
|
};
|
|
413
|
-
//# sourceMappingURL=chunk-
|
|
422
|
+
//# sourceMappingURL=chunk-AZFZE36I.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WWTYWLDM.js";
|
|
5
5
|
|
|
6
6
|
// src/server/utils/platform.ts
|
|
7
7
|
import os from "os";
|
|
@@ -63,4 +63,4 @@ export {
|
|
|
63
63
|
isWindowsPath,
|
|
64
64
|
isAbsolutePath
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-BNFGDTEU.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WWTYWLDM.js";
|
|
5
5
|
import {
|
|
6
6
|
logger
|
|
7
7
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -455,4 +455,4 @@ export {
|
|
|
455
455
|
getOverrideAgentIds,
|
|
456
456
|
resolveDefaultAgentId
|
|
457
457
|
};
|
|
458
|
-
//# sourceMappingURL=chunk-
|
|
458
|
+
//# sourceMappingURL=chunk-BYSUSSSC.js.map
|
|
@@ -6,16 +6,16 @@ import {
|
|
|
6
6
|
foldSessionState,
|
|
7
7
|
spreadOptionalMessageFields,
|
|
8
8
|
trimSnapshotStreamingOutput
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YB6WYVNY.js";
|
|
10
10
|
import {
|
|
11
11
|
updateSessionMessageCount
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AZFZE36I.js";
|
|
13
13
|
import {
|
|
14
14
|
getRuntimeConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BYSUSSSC.js";
|
|
16
16
|
import {
|
|
17
17
|
SETTINGS_KEYS
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WWTYWLDM.js";
|
|
19
19
|
import {
|
|
20
20
|
logger
|
|
21
21
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1465,4 +1465,4 @@ export {
|
|
|
1465
1465
|
truncateSessionMessages,
|
|
1466
1466
|
getRecentUserPromptsForSession
|
|
1467
1467
|
};
|
|
1468
|
-
//# sourceMappingURL=chunk-
|
|
1468
|
+
//# sourceMappingURL=chunk-CP44U7BT.js.map
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
} from "./chunk-I72ACQ6R.js";
|
|
12
12
|
import {
|
|
13
13
|
getPlatformShell
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BNFGDTEU.js";
|
|
15
15
|
import {
|
|
16
16
|
SETTINGS_KEYS,
|
|
17
17
|
getSetting
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WWTYWLDM.js";
|
|
19
19
|
|
|
20
20
|
// src/server/utils/shell.ts
|
|
21
21
|
import { spawn } from "child_process";
|
|
@@ -102,7 +102,14 @@ function startProcessCommand(processId, sessionId, command, cwd) {
|
|
|
102
102
|
updateStatus(processId, sessionId, "running");
|
|
103
103
|
emitProcessEvent(processId, {
|
|
104
104
|
type: "backgroundProcess.started",
|
|
105
|
-
payload: {
|
|
105
|
+
payload: {
|
|
106
|
+
processId,
|
|
107
|
+
name: proc.name,
|
|
108
|
+
command: proc.command,
|
|
109
|
+
cwd: proc.cwd,
|
|
110
|
+
pid: child.pid ?? null,
|
|
111
|
+
status: "running"
|
|
112
|
+
},
|
|
106
113
|
sessionId
|
|
107
114
|
});
|
|
108
115
|
const stdoutDecoder = createUtf8StreamDecoder();
|
|
@@ -207,4 +214,4 @@ export {
|
|
|
207
214
|
getSessionProcesses2 as getSessionProcesses,
|
|
208
215
|
getProcessLogs
|
|
209
216
|
};
|
|
210
|
-
//# sourceMappingURL=chunk-
|
|
217
|
+
//# sourceMappingURL=chunk-EC5T5A6O.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-JR54MDZI.js";
|
|
4
4
|
import {
|
|
5
5
|
COMPACTION_PROMPT
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HKD4IMOE.js";
|
|
7
7
|
import {
|
|
8
8
|
getCurrentWindowMessageOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CP44U7BT.js";
|
|
10
10
|
|
|
11
11
|
// src/server/context/compactor.ts
|
|
12
12
|
function appendCompactionPrompt(sessionId, append) {
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
COMPACTION_MAX_RATIO,
|
|
37
37
|
shouldCompact
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-EMI3YYLP.js.map
|