openfox 2.0.132 → 2.0.134

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/CHANGELOG.md +31 -0
  3. package/dist/agent-defaults/code-reviewer.agent.md +1 -0
  4. package/dist/agent-defaults/explorer.agent.md +1 -0
  5. package/dist/agent-defaults/verifier.agent.md +1 -0
  6. package/dist/{chat-handler-T47GATL5.js → chat-handler-YCZE2XEJ.js} +23 -22
  7. package/dist/chunk-24YKXKCG.js +35 -0
  8. package/dist/chunk-2OMGR7LN.js +45 -0
  9. package/dist/{chunk-ZSBNXJZ5.js → chunk-5IXCCMFU.js} +342 -188
  10. package/dist/{chunk-MQMPIXON.js → chunk-5UMXFLET.js} +3 -3
  11. package/dist/{chunk-5JWJEZJ3.js → chunk-5UQ4CKOA.js} +2 -2
  12. package/dist/{chunk-GVOOOV7M.js → chunk-7HGBJFIJ.js} +44 -25
  13. package/dist/{chunk-7JVBDBXE.js → chunk-7QMWYNVF.js} +2 -2
  14. package/dist/{chunk-P57IBMK4.js → chunk-AATMPL7S.js} +4 -4
  15. package/dist/{chunk-ZL4IAFF3.js → chunk-BZND27IB.js} +3 -3
  16. package/dist/{chunk-FGNJMKDV.js → chunk-CSYOWFPU.js} +5 -5
  17. package/dist/{chunk-LQKXJPKP.js → chunk-CTWZPN7G.js} +5 -1
  18. package/dist/{chunk-BKMWZTNO.js → chunk-DWA4IE65.js} +14 -2
  19. package/dist/{chunk-RRUSYVQD.js → chunk-FAQDLL2X.js} +8 -8
  20. package/dist/{chunk-HCYSGLY2.js → chunk-HF3NDXB4.js} +1 -1
  21. package/dist/{chunk-6EZDW4JS.js → chunk-J3NMNYGM.js} +2 -2
  22. package/dist/{chunk-HXHPKGJE.js → chunk-J5HOUEPE.js} +614 -157
  23. package/dist/{chunk-RUFXKUOL.js → chunk-M4J2L4VH.js} +132 -45
  24. package/dist/{chunk-M5T4RDPJ.js → chunk-MEEUXRFL.js} +2 -2
  25. package/dist/{chunk-EOHEDEIH.js → chunk-MRE4OYKI.js} +69 -27
  26. package/dist/{chunk-MGEYAYGU.js → chunk-O3RCSKUH.js} +2 -2
  27. package/dist/{chunk-ELYHHEYL.js → chunk-ORCQ3EXQ.js} +2 -2
  28. package/dist/{chunk-FEIRWXLX.js → chunk-OZWHRBDY.js} +64 -17
  29. package/dist/{chunk-TACWRDDC.js → chunk-QDARWVQ2.js} +2 -2
  30. package/dist/{chunk-VXG3AFFY.js → chunk-QICVOQNX.js} +8 -8
  31. package/dist/chunk-QTLYD2FF.js +7 -0
  32. package/dist/{chunk-Y6ZGHOKM.js → chunk-YLVOU7T7.js} +4 -4
  33. package/dist/{chunk-GFW2HWJ6.js → chunk-YOPXAI2W.js} +37 -16
  34. package/dist/{chunk-CLDCHOEA.js → chunk-ZMK4VX7V.js} +2 -2
  35. package/dist/{chunk-KWAHD2JA.js → chunk-ZTBKMVV6.js} +2 -2
  36. package/dist/cli/dev.js +4 -1
  37. package/dist/cli/index.js +4 -1
  38. package/dist/{client-2K6PPPJJ.js → client-VVYOWXRR.js} +4 -4
  39. package/dist/{compactor-OEJAA2YP.js → compactor-PD6DQ4NY.js} +9 -9
  40. package/dist/{dynamic-context-NJZKAZE3.js → dynamic-context-WKEXQCTK.js} +10 -10
  41. package/dist/{events-ZJPRGVL2.js → events-3WSNI7XC.js} +6 -6
  42. package/dist/{folding-QRZOHY2I.js → folding-H7JTX6KI.js} +4 -4
  43. package/dist/{http-client-P4XTKAZA.js → http-client-A445WYZU.js} +3 -3
  44. package/dist/{install-VA2F6X6Z.js → install-AVTFA344.js} +64 -15
  45. package/dist/{launch-6I5ADTVT.js → launch-FJ65HRV4.js} +23 -22
  46. package/dist/{manager-TMBFBCQL.js → manager-ZACEUL5P.js} +4 -4
  47. package/dist/{mcp-YU7AM3UV.js → mcp-SQ4DOGPT.js} +22 -9
  48. package/dist/{orchestrator-GX22Y5EM.js → orchestrator-OT66EDXO.js} +22 -21
  49. package/dist/package.json +3 -1
  50. package/dist/{path-security-CBACXAMS.js → path-security-5CFMMULR.js} +10 -10
  51. package/dist/{platform-5LQXOZO3.js → platform-XPMZKAUB.js} +3 -3
  52. package/dist/{processor-FMEULCNQ.js → processor-CHMHMMIE.js} +37 -21
  53. package/dist/{project-creator-6AGQTNXB.js → project-creator-T3A4H3YV.js} +42 -29
  54. package/dist/{protocol-BMUoqwYH.d.ts → protocol-Nr_H1_oC.d.ts} +3 -1
  55. package/dist/{protocol-Y7MRKRUO.js → protocol-XO4ZROAU.js} +3 -3
  56. package/dist/provider/index.d.ts +4 -4
  57. package/dist/provider-JWUNG2TD.js +507 -0
  58. package/dist/{provider-manager-BO5ZBG3T.js → provider-manager-2KKZ37XJ.js} +5 -5
  59. package/dist/pwa-V5PFB4OQ.js +502 -0
  60. package/dist/{registry-CMSSZHDC.js → registry-BEIR7Y5G.js} +3 -3
  61. package/dist/{serve-BFGHUM4Y.js → serve-HSDVY37K.js} +47 -36
  62. package/dist/server/index.d.ts +3 -3
  63. package/dist/server/index.js +27 -26
  64. package/dist/{server-WPWUYB6I.js → server-3UVLECD5.js} +26 -25
  65. package/dist/{service-WKABQHKL.js → service-M77VWL2M.js} +97 -32
  66. package/dist/{service-O3LCO3TQ.js → service-XIUNS5XV.js} +7 -6
  67. package/dist/{session-overrides-OECQYRDK.js → session-overrides-Y5B4XQPU.js} +5 -5
  68. package/dist/{sessions-NMPX5ICI.js → sessions-IGINPPBP.js} +4 -4
  69. package/dist/{settings-MDCRNQBY.js → settings-ZJPM6PQV.js} +2 -2
  70. package/dist/shared/index.d.ts +31 -4
  71. package/dist/shared/index.js +16 -2
  72. package/dist/{tasks-WOC3QUFA.js → tasks-3JJWJJ3X.js} +34 -18
  73. package/dist/{tools-CW6POKUL.js → tools-WWIWD3O7.js} +20 -19
  74. package/dist/{types-CoY8Ka1C.d.ts → types-BlQjLBui.d.ts} +1 -1
  75. package/dist/{types-BIkpxjaj.d.ts → types-G10ho8PT.d.ts} +1 -1
  76. package/dist/update-Q6SH7UP2.js +76 -0
  77. package/dist/web/assets/index-C48qmBAI.js +313 -0
  78. package/dist/web/index.html +1 -1
  79. package/dist/web/sw.js +1 -1
  80. package/package.json +3 -1
  81. package/dist/chunk-55RHB5JB.js +0 -7
  82. package/dist/provider-NWRGNGS3.js +0 -403
  83. package/dist/pwa-2GRFSXD7.js +0 -363
  84. package/dist/update-VPCDKFLD.js +0 -49
  85. package/dist/web/assets/index-Bx5r3aJx.js +0 -310
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.134 - 2026-08-31
4
+
5
+ ### Features
6
+
7
+ - **Interface language setting** — pick Automatic, English, or French to localize the web UI, server messages, and CLI
8
+ - **Agent language setting** — the agent replies in your chosen language via injected instructions
9
+ - **Create projects without git** — git init is skipped when git is missing, so git-less codebases work out of the box
10
+
11
+ ### Enhancements
12
+
13
+ - **Full error on LLM failures** — an (i) button on failed bubbles and retry pills opens a modal with the details
14
+
15
+ ## 2.0.133 - 2026-08-30
16
+
17
+ ### Features
18
+
19
+ - **Edit providers straight from model selectors** — a pencil button on each provider group header opens the editor without digging through settings
20
+ - **Sub-agents can load skills** — explorer, verifier, and code reviewer now use the load_skill tool
21
+
22
+ ### Enhancements
23
+
24
+ - **Smoother workflow completion nudge** — when a step's transition condition is already satisfied, the agent gets a short "call step_done" reminder instead of the verbose prompt
25
+ - **Faster settings and config loading** — shared caching dedupes and single-flights resource requests
26
+
27
+ ### Bug Fixes
28
+
29
+ - **Stale blocked-workflow message cleared** — starting a plain chat turn no longer leaves a "retry to continue" step message behind
30
+ - **Workflow template-variable suggestions load again** — the editor no longer hits a 404
31
+ - **Duplicate and Customize creates a real copy** — no longer overwrites the original command
32
+ - **No more 401s on the login page** — settings requests no longer fire before sign-in
33
+
3
34
  ## 2.0.132 - 2026-08-28
4
35
 
5
36
  ### Enhancements
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.134 - 2026-08-31
4
+
5
+ ### Features
6
+
7
+ - **Interface language setting** — pick Automatic, English, or French to localize the web UI, server messages, and CLI
8
+ - **Agent language setting** — the agent replies in your chosen language via injected instructions
9
+ - **Create projects without git** — git init is skipped when git is missing, so git-less codebases work out of the box
10
+
11
+ ### Enhancements
12
+
13
+ - **Full error on LLM failures** — an (i) button on failed bubbles and retry pills opens a modal with the details
14
+
15
+ ## 2.0.133 - 2026-08-30
16
+
17
+ ### Features
18
+
19
+ - **Edit providers straight from model selectors** — a pencil button on each provider group header opens the editor without digging through settings
20
+ - **Sub-agents can load skills** — explorer, verifier, and code reviewer now use the load_skill tool
21
+
22
+ ### Enhancements
23
+
24
+ - **Smoother workflow completion nudge** — when a step's transition condition is already satisfied, the agent gets a short "call step_done" reminder instead of the verbose prompt
25
+ - **Faster settings and config loading** — shared caching dedupes and single-flights resource requests
26
+
27
+ ### Bug Fixes
28
+
29
+ - **Stale blocked-workflow message cleared** — starting a plain chat turn no longer leaves a "retry to continue" step message behind
30
+ - **Workflow template-variable suggestions load again** — the editor no longer hits a 404
31
+ - **Duplicate and Customize creates a real copy** — no longer overwrites the original command
32
+ - **No more 401s on the login page** — settings requests no longer fire before sign-in
33
+
3
34
  ## 2.0.132 - 2026-08-28
4
35
 
5
36
  ### Enhancements
@@ -9,6 +9,7 @@ allowedTools:
9
9
  - run_command
10
10
  - web_fetch
11
11
  - session_metadata
12
+ - load_skill
12
13
  ---
13
14
 
14
15
  You are a code reviewer. Review the **git diff** of the modified files rather than reading the full files.
@@ -8,6 +8,7 @@ allowedTools:
8
8
  - read_file
9
9
  - run_command
10
10
  - web_fetch
11
+ - load_skill
11
12
  ---
12
13
 
13
14
  You are a codebase exploration expert.
@@ -9,6 +9,7 @@ allowedTools:
9
9
  - run_command
10
10
  - session_metadata
11
11
  - web_fetch
12
+ - load_skill
12
13
  ---
13
14
 
14
15
  You are a code reviewer performing independent verification.
@@ -2,55 +2,56 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-RRUSYVQD.js";
5
+ } from "./chunk-FAQDLL2X.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-GFW2HWJ6.js";
9
- import "./chunk-HXHPKGJE.js";
8
+ } from "./chunk-YOPXAI2W.js";
9
+ import "./chunk-J5HOUEPE.js";
10
10
  import "./chunk-XE6UC5Z3.js";
11
11
  import "./chunk-J7GAZGZT.js";
12
- import "./chunk-FEIRWXLX.js";
13
- import "./chunk-TACWRDDC.js";
12
+ import "./chunk-OZWHRBDY.js";
13
+ import "./chunk-QDARWVQ2.js";
14
14
  import "./chunk-7ET46SNE.js";
15
15
  import "./chunk-LW6MMSTD.js";
16
- import "./chunk-MQMPIXON.js";
16
+ import "./chunk-5UMXFLET.js";
17
17
  import "./chunk-I72ACQ6R.js";
18
18
  import "./chunk-JE7LW7Y6.js";
19
19
  import "./chunk-OAN4BXEW.js";
20
- import "./chunk-VXG3AFFY.js";
21
- import "./chunk-BKMWZTNO.js";
22
- import "./chunk-7JVBDBXE.js";
20
+ import "./chunk-QICVOQNX.js";
21
+ import "./chunk-DWA4IE65.js";
22
+ import "./chunk-7QMWYNVF.js";
23
23
  import "./chunk-JURM3RPZ.js";
24
- import "./chunk-Y6ZGHOKM.js";
24
+ import "./chunk-YLVOU7T7.js";
25
25
  import {
26
26
  getEventStore
27
- } from "./chunk-FGNJMKDV.js";
28
- import "./chunk-M5T4RDPJ.js";
29
- import "./chunk-KWAHD2JA.js";
30
- import "./chunk-ELYHHEYL.js";
27
+ } from "./chunk-CSYOWFPU.js";
28
+ import "./chunk-MEEUXRFL.js";
29
+ import "./chunk-ZTBKMVV6.js";
30
+ import "./chunk-ORCQ3EXQ.js";
31
31
  import "./chunk-OSXPQSLW.js";
32
32
  import {
33
33
  createChatMessageMessage,
34
34
  createPhaseChangedMessage,
35
35
  createSessionRunningMessage
36
- } from "./chunk-P57IBMK4.js";
36
+ } from "./chunk-AATMPL7S.js";
37
37
  import "./chunk-LCLH6ZUL.js";
38
- import "./chunk-MGEYAYGU.js";
39
- import "./chunk-5JWJEZJ3.js";
38
+ import "./chunk-O3RCSKUH.js";
39
+ import "./chunk-5UQ4CKOA.js";
40
40
  import "./chunk-OA2FURC3.js";
41
41
  import "./chunk-J2GP3J3X.js";
42
42
  import "./chunk-DPFET73G.js";
43
- import "./chunk-CLDCHOEA.js";
43
+ import "./chunk-ZMK4VX7V.js";
44
44
  import "./chunk-TS5WKTFB.js";
45
45
  import "./chunk-UV6IH6HK.js";
46
46
  import "./chunk-HNCM3D7Y.js";
47
47
  import "./chunk-EUOWCVU6.js";
48
- import "./chunk-6EZDW4JS.js";
49
- import "./chunk-LQKXJPKP.js";
48
+ import "./chunk-J3NMNYGM.js";
49
+ import "./chunk-CTWZPN7G.js";
50
50
  import "./chunk-JU757HVI.js";
51
51
  import "./chunk-2AI7VYPN.js";
52
52
  import "./chunk-K44MW7JJ.js";
53
- import "./chunk-HCYSGLY2.js";
53
+ import "./chunk-HF3NDXB4.js";
54
+ import "./chunk-24YKXKCG.js";
54
55
  import "./chunk-R5FAEKXQ.js";
55
56
  import "./chunk-CQGTEGKL.js";
56
57
  import "./chunk-YLJ4XMA6.js";
@@ -174,4 +175,4 @@ export {
174
175
  startChatSession,
175
176
  stopSessionExecution
176
177
  };
177
- //# sourceMappingURL=chat-handler-T47GATL5.js.map
178
+ //# sourceMappingURL=chat-handler-YCZE2XEJ.js.map
@@ -0,0 +1,35 @@
1
+ // src/shared/i18n/index.ts
2
+ var locales = ["en", "fr"];
3
+ var pluralForms = ["one", "other"];
4
+ var currentLocale = "en";
5
+ function getLocale() {
6
+ return currentLocale;
7
+ }
8
+ function setLocale(locale) {
9
+ currentLocale = locale;
10
+ }
11
+ function interpolate(msg, vars) {
12
+ return msg.replace(/\{\{(\w+)\}\}/g, (match, key) => {
13
+ const value = vars[key];
14
+ return value === void 0 ? match : String(value);
15
+ });
16
+ }
17
+ function t(tx, vars) {
18
+ const entry = tx[currentLocale];
19
+ if (typeof entry === "string") {
20
+ return interpolate(entry, vars ?? {});
21
+ }
22
+ const count = typeof vars?.["count"] === "number" ? vars["count"] : 1;
23
+ const form = new Intl.PluralRules(currentLocale).select(count);
24
+ return interpolate(entry[form], { ...vars, count });
25
+ }
26
+
27
+ export {
28
+ locales,
29
+ pluralForms,
30
+ getLocale,
31
+ setLocale,
32
+ interpolate,
33
+ t
34
+ };
35
+ //# sourceMappingURL=chunk-24YKXKCG.js.map
@@ -0,0 +1,45 @@
1
+ import {
2
+ getLocale,
3
+ setLocale,
4
+ t
5
+ } from "./chunk-24YKXKCG.js";
6
+ import {
7
+ getDatabasePath
8
+ } from "./chunk-CQGTEGKL.js";
9
+
10
+ // src/cli/i18n.ts
11
+ import Database from "better-sqlite3";
12
+ var mode = null;
13
+ var resolved = null;
14
+ function setCliMode(value) {
15
+ mode = value;
16
+ resolved = null;
17
+ }
18
+ function resolveLocale() {
19
+ if (resolved) return resolved;
20
+ let locale = "en";
21
+ try {
22
+ if (!mode) return "en";
23
+ const db = new Database(getDatabasePath(mode), { readonly: true });
24
+ try {
25
+ const row = db.prepare(`SELECT value FROM settings WHERE key = 'display.locale'`).get();
26
+ if (row?.value === "fr") locale = "fr";
27
+ } finally {
28
+ db.close();
29
+ }
30
+ } catch {
31
+ }
32
+ resolved = locale;
33
+ return locale;
34
+ }
35
+ function cliT(tx, vars) {
36
+ const locale = resolveLocale();
37
+ if (getLocale() !== locale) setLocale(locale);
38
+ return t(tx, vars);
39
+ }
40
+
41
+ export {
42
+ setCliMode,
43
+ cliT
44
+ };
45
+ //# sourceMappingURL=chunk-2OMGR7LN.js.map