@diffexai/diffex 0.2.1 → 0.2.3

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 (80) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +5 -725
  3. package/THIRD-PARTY-NOTICES.txt +6 -2
  4. package/dist/AGENTS.md +28 -0
  5. package/dist/cli/session-selection.d.ts +7 -0
  6. package/dist/cli/session-selection.js +181 -0
  7. package/dist/config.d.ts +2 -0
  8. package/dist/config.js +2 -0
  9. package/dist/core/extensions/factory.d.ts +21 -0
  10. package/dist/core/extensions/factory.js +254 -0
  11. package/dist/core/extensions/loader.d.ts +2 -10
  12. package/dist/core/extensions/loader.js +2 -251
  13. package/dist/core/prompt-templates.js +6 -1
  14. package/dist/core/resource-loader.js +7 -2
  15. package/dist/core/system-prompt.js +9 -8
  16. package/dist/core/tools/subagents.js +1 -0
  17. package/dist/main.js +3 -176
  18. package/dist/node_modules/@diffexai/diffex-agent-core/THIRD-PARTY-NOTICES.txt +6 -2
  19. package/dist/node_modules/@diffexai/diffex-agent-core/distribution-components.json +4 -4
  20. package/dist/node_modules/@diffexai/diffex-agent-core/distribution-files.json +1 -1
  21. package/dist/node_modules/@diffexai/diffex-agent-core/package.json +1 -6
  22. package/dist/node_modules/@diffexai/diffex-ai/THIRD-PARTY-NOTICES.txt +6 -2
  23. package/dist/node_modules/@diffexai/diffex-ai/dist/cli.js +0 -0
  24. package/dist/node_modules/@diffexai/diffex-ai/dist/image-models.generated.d.ts +180 -0
  25. package/dist/node_modules/@diffexai/diffex-ai/dist/image-models.generated.js +182 -2
  26. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/.manifest.json +1 -1
  27. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/kimi-coding.json +1 -1
  28. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/nvidia.json +1 -1
  29. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/openrouter.json +1 -1
  30. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
  31. package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  32. package/dist/node_modules/@diffexai/diffex-ai/distribution-components.json +3 -3
  33. package/dist/node_modules/@diffexai/diffex-ai/distribution-files.json +9 -9
  34. package/dist/node_modules/@diffexai/diffex-ai/package.json +1 -6
  35. package/dist/node_modules/@diffexai/diffex-client/THIRD-PARTY-NOTICES.txt +6 -2
  36. package/dist/node_modules/@diffexai/diffex-client/distribution-components.json +3 -3
  37. package/dist/node_modules/@diffexai/diffex-client/distribution-files.json +1 -1
  38. package/dist/node_modules/@diffexai/diffex-client/package.json +1 -6
  39. package/dist/node_modules/@diffexai/diffex-harness-state/THIRD-PARTY-NOTICES.txt +6 -2
  40. package/dist/node_modules/@diffexai/diffex-harness-state/distribution-components.json +2 -2
  41. package/dist/node_modules/@diffexai/diffex-harness-state/distribution-files.json +1 -1
  42. package/dist/node_modules/@diffexai/diffex-harness-state/package.json +1 -6
  43. package/dist/node_modules/@diffexai/diffex-protocol/THIRD-PARTY-NOTICES.txt +6 -2
  44. package/dist/node_modules/@diffexai/diffex-protocol/distribution-components.json +2 -2
  45. package/dist/node_modules/@diffexai/diffex-protocol/distribution-files.json +1 -1
  46. package/dist/node_modules/@diffexai/diffex-protocol/package.json +1 -6
  47. package/dist/node_modules/@diffexai/diffex-telemetry/THIRD-PARTY-NOTICES.txt +6 -2
  48. package/dist/node_modules/@diffexai/diffex-telemetry/distribution-components.json +2 -2
  49. package/dist/node_modules/@diffexai/diffex-telemetry/distribution-files.json +1 -1
  50. package/dist/node_modules/@diffexai/diffex-telemetry/package.json +1 -6
  51. package/dist/node_modules/@diffexai/diffex-tui/THIRD-PARTY-NOTICES.txt +6 -2
  52. package/dist/node_modules/@diffexai/diffex-tui/distribution-components.json +2 -2
  53. package/dist/node_modules/@diffexai/diffex-tui/distribution-files.json +1 -1
  54. package/dist/node_modules/@diffexai/diffex-tui/package.json +1 -6
  55. package/distribution-components.json +13 -13
  56. package/distribution-files.json +66 -74
  57. package/docs/installation.md +118 -0
  58. package/docs/quickstart.md +7 -24
  59. package/docs/usage.md +10 -4
  60. package/npm-shrinkwrap.json +2 -2
  61. package/package.json +36 -10
  62. package/release/distribution-manifest.json +7 -6
  63. package/release/install-package-lock.json +5 -5
  64. package/release/install-package.json +2 -2
  65. package/NOTICE +0 -6
  66. package/dist/node_modules/@diffexai/diffex-agent-core/NOTICE +0 -6
  67. package/dist/node_modules/@diffexai/diffex-ai/NOTICE +0 -6
  68. package/dist/node_modules/@diffexai/diffex-client/NOTICE +0 -6
  69. package/dist/node_modules/@diffexai/diffex-harness-state/NOTICE +0 -6
  70. package/dist/node_modules/@diffexai/diffex-protocol/NOTICE +0 -6
  71. package/dist/node_modules/@diffexai/diffex-telemetry/NOTICE +0 -6
  72. package/dist/node_modules/@diffexai/diffex-tui/NOTICE +0 -6
  73. package/docs/development.md +0 -71
  74. package/docs/docs.json +0 -160
  75. package/docs/images/doom-extension.png +0 -0
  76. package/docs/images/exy.png +0 -0
  77. package/docs/index.md +0 -78
  78. package/docs/invocation-traces.md +0 -82
  79. package/docs/termux.md +0 -127
  80. package/docs/windows.md +0 -17
@@ -1,7 +1,11 @@
1
1
  {
2
- "sourceCommit": "f2a661684af35fe6e9a3209c6f9720144e1fd423",
2
+ "sourceCommit": "a9a2beea7798edd34c62e836d73a0d50b6260950",
3
3
  "algorithm": "sha256",
4
4
  "files": [
5
+ {
6
+ "path": "dist/AGENTS.md",
7
+ "sha256": "46803080d679da46dfe9a35a32bc608317e410c2cc1b35e2cdc76351fccb5049"
8
+ },
5
9
  {
6
10
  "path": "dist/bun/cli.d.ts",
7
11
  "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
@@ -178,6 +182,14 @@
178
182
  "path": "dist/cli/session-picker.js",
179
183
  "sha256": "c4483745ad76b1b57a1bd2534e255d2296ea1f066dd3b79cc4b3eebe7d5af21e"
180
184
  },
185
+ {
186
+ "path": "dist/cli/session-selection.d.ts",
187
+ "sha256": "0cc8244c9115386a0003325d237d6aee8de3962c69de4cca80ddfeb420e75f5d"
188
+ },
189
+ {
190
+ "path": "dist/cli/session-selection.js",
191
+ "sha256": "86db8d22d585b7ed66125c89c374276cca828876578b535741cd27265099e4ba"
192
+ },
181
193
  {
182
194
  "path": "dist/cli/startup-ui.d.ts",
183
195
  "sha256": "5b0127f90c18df60ba0b8f2164c77030fc15bbca83c76a92bfb111efa2055005"
@@ -212,11 +224,11 @@
212
224
  },
213
225
  {
214
226
  "path": "dist/config.d.ts",
215
- "sha256": "d6524457bfa03ad6d309db76878a78b15b08e79413277c15175b3297c8e52977"
227
+ "sha256": "80ac9e0240538f6687de4f57f15f6eb8a9b91a775cc5f5bc3e622b2cbdb0fdea"
216
228
  },
217
229
  {
218
230
  "path": "dist/config.js",
219
- "sha256": "716aedbf5cc2829da6ce73c29ef592165802454652cb9d3c820a832a2cbea9e3"
231
+ "sha256": "40a190d6ff17ea594b7821fdd01514cbbc40b11afb065f3fd8618eed5f08b3c6"
220
232
  },
221
233
  {
222
234
  "path": "dist/core/account-auth-storage.d.ts",
@@ -454,6 +466,14 @@
454
466
  "path": "dist/core/export-html/vendor/marked.min.js",
455
467
  "sha256": "d5487edc7258b404bfa74c393d74a6393155f02517bd5e7e77cd64f8187f39a0"
456
468
  },
469
+ {
470
+ "path": "dist/core/extensions/factory.d.ts",
471
+ "sha256": "e84445577b098b077c7d42321226c3eaf9ba856f3279c31f2d85ad1668d92b27"
472
+ },
473
+ {
474
+ "path": "dist/core/extensions/factory.js",
475
+ "sha256": "cee9ad8be90aa74ce72e44887412889715e9102dd70e5eb680b2745b0eab5888"
476
+ },
457
477
  {
458
478
  "path": "dist/core/extensions/index.d.ts",
459
479
  "sha256": "2cf2e172af3588982853495d907549c8f81a64264174604df71041108f423619"
@@ -464,11 +484,11 @@
464
484
  },
465
485
  {
466
486
  "path": "dist/core/extensions/loader.d.ts",
467
- "sha256": "23b8ccf83cabfb5b5a54eaf226bcecc8fdcf5d2e3d8759fb547f808b42cf6a06"
487
+ "sha256": "cf1a657c20d54065e0ab55db90f59f383ed6191842deb3131b66e40e7b0005f3"
468
488
  },
469
489
  {
470
490
  "path": "dist/core/extensions/loader.js",
471
- "sha256": "7aaf941fcdd2027446a58a16f4d79d97f5e96b247da813f9e5bf9ebfb21b287c"
491
+ "sha256": "6188c57ea0857a666296a747a0f8ebf974baa1eb096f15cf7ea39f90dabd8c37"
472
492
  },
473
493
  {
474
494
  "path": "dist/core/extensions/runner.d.ts",
@@ -644,7 +664,7 @@
644
664
  },
645
665
  {
646
666
  "path": "dist/core/prompt-templates.js",
647
- "sha256": "f8588ceb9db41c5b7e09916a1f140878546c2a615d42987558f2818fa40b296b"
667
+ "sha256": "b85c46f913a73ee6f91ee10ad24565487f20b64f4fd327821c01ad20abb4d8de"
648
668
  },
649
669
  {
650
670
  "path": "dist/core/provider-attribution.d.ts",
@@ -692,7 +712,7 @@
692
712
  },
693
713
  {
694
714
  "path": "dist/core/resource-loader.js",
695
- "sha256": "7176588bbf816795e30ffc9343f948b09c299b4338941a14a2c2e901a8eaaa23"
715
+ "sha256": "2d21d01b80e8348e5284e35424e6a7a426a23a3ee94e7da0e04f4984f960e3da"
696
716
  },
697
717
  {
698
718
  "path": "dist/core/runtime-credentials.d.ts",
@@ -828,7 +848,7 @@
828
848
  },
829
849
  {
830
850
  "path": "dist/core/system-prompt.js",
831
- "sha256": "3672bec049bb1f3df749c0893c6f41000028fa34227cce469bfd9036ab17b6bd"
851
+ "sha256": "1c848d3dcf8bba0f631962b364eb78b25054aae26eb7185fedbfc8412c6293af"
832
852
  },
833
853
  {
834
854
  "path": "dist/core/telemetry.d.ts",
@@ -956,7 +976,7 @@
956
976
  },
957
977
  {
958
978
  "path": "dist/core/tools/subagents.js",
959
- "sha256": "2619f16e0b7cfa100c0682cd5f9ab4f6dafd970d62c56816aacd23c0177f3933"
979
+ "sha256": "b7cad3a8547da3dc7c8195198b23fa3e891b206471584f4bd73847c77dae687e"
960
980
  },
961
981
  {
962
982
  "path": "dist/core/tools/tool-definition-wrapper.d.ts",
@@ -1068,7 +1088,7 @@
1068
1088
  },
1069
1089
  {
1070
1090
  "path": "dist/main.js",
1071
- "sha256": "955a43eeb37d06b05cc84ebaa03e877fb0e4791313c6ab72d9689a50029c2a1d"
1091
+ "sha256": "d4260056f42d72787855e01df3838399e9fd54b44442e3fd25fa02abf2ab513a"
1072
1092
  },
1073
1093
  {
1074
1094
  "path": "dist/migrations.d.ts",
@@ -1988,27 +2008,23 @@
1988
2008
  },
1989
2009
  {
1990
2010
  "path": "dist/node_modules/@diffexai/diffex-agent-core/distribution-components.json",
1991
- "sha256": "71b0901531f95dafee515729146016eb7e387ebd067ec764e6ebee5d4e121a36"
2011
+ "sha256": "23e8b3e819552ab1683f4e44e0b795610b5f2fb6351b4ea4662e7f93486b32f8"
1992
2012
  },
1993
2013
  {
1994
2014
  "path": "dist/node_modules/@diffexai/diffex-agent-core/distribution-files.json",
1995
- "sha256": "a8ab47f1851ae411d0d28e7849c843d0df6e4bae8ed6503c4bdbd01ba9b94958"
2015
+ "sha256": "a0855896203a6ff8c27eacb48c39cde9291ee235db806fa30bda8c6edd133c8c"
1996
2016
  },
1997
2017
  {
1998
2018
  "path": "dist/node_modules/@diffexai/diffex-agent-core/LICENSE",
1999
2019
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
2000
2020
  },
2001
- {
2002
- "path": "dist/node_modules/@diffexai/diffex-agent-core/NOTICE",
2003
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
2004
- },
2005
2021
  {
2006
2022
  "path": "dist/node_modules/@diffexai/diffex-agent-core/package.json",
2007
- "sha256": "cdced68a704adc1888b1fc44dbe0515715b96f976cec044cec853141da1d2764"
2023
+ "sha256": "71341c2812ef7aad91de1d58d80e0fa3462b05614997197e9f2866f0611a8a70"
2008
2024
  },
2009
2025
  {
2010
2026
  "path": "dist/node_modules/@diffexai/diffex-agent-core/THIRD-PARTY-NOTICES.txt",
2011
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
2027
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
2012
2028
  },
2013
2029
  {
2014
2030
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/api/anthropic-messages.d.ts",
@@ -2440,11 +2456,11 @@
2440
2456
  },
2441
2457
  {
2442
2458
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/image-models.generated.d.ts",
2443
- "sha256": "e2f721b32afe98dddbe67635807aed051d51bffa767785a8e1710853366a03e6"
2459
+ "sha256": "2e2e697782ca8dbd0ea6f7405c590ad1c04674f8d1906ea55bcd1997490dab49"
2444
2460
  },
2445
2461
  {
2446
2462
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/image-models.generated.js",
2447
- "sha256": "5b97efcca10f14b18d8298c3d131bc334cb0026150f2d41f1eef0743a8ce65fc"
2463
+ "sha256": "55d20a1525eddacfdefdffe15f04c3dfe20864cb5630dd6dff98851e5eb5cd0d"
2448
2464
  },
2449
2465
  {
2450
2466
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/image-models.js",
@@ -2684,7 +2700,7 @@
2684
2700
  },
2685
2701
  {
2686
2702
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/.manifest.json",
2687
- "sha256": "2b5e284976eac0be4991a7e55382bb7cb3323940f8519be330b6b29927e465e0"
2703
+ "sha256": "4786d8d79b58eb3741266c39807f9489b7ad8593d350f5da94cdccb0f97e8c58"
2688
2704
  },
2689
2705
  {
2690
2706
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/amazon-bedrock.json",
@@ -2748,7 +2764,7 @@
2748
2764
  },
2749
2765
  {
2750
2766
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/kimi-coding.json",
2751
- "sha256": "ba42a26a69e5cb2122c0b384ba572efae93f42239ad86f26c2b7320a14aa75a1"
2767
+ "sha256": "9da7ea8e9eb8df5d8f73acc25d3da5b41164f522c0f09b45265b4bf104743ac1"
2752
2768
  },
2753
2769
  {
2754
2770
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/minimax-cn.json",
@@ -2772,7 +2788,7 @@
2772
2788
  },
2773
2789
  {
2774
2790
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/nvidia.json",
2775
- "sha256": "d9fbf18e811fcf04521c3dad7bd8a31c6716938611de392548319acc560c1e0c"
2791
+ "sha256": "7459d845fd752fb70a9be5a28be44dc5e2873fbd788e9c931d3200731db42ba9"
2776
2792
  },
2777
2793
  {
2778
2794
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/openai-codex.json",
@@ -2792,11 +2808,11 @@
2792
2808
  },
2793
2809
  {
2794
2810
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/openrouter.json",
2795
- "sha256": "14f7cd6992411e94e60e61b200b3aaad6d4371b60d11da6f1546db96cd2c1fbe"
2811
+ "sha256": "64bd70583cd0db09283381b3e7cc10e8750ddcf8b168b6edc64540efe77070e6"
2796
2812
  },
2797
2813
  {
2798
2814
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/qwen-token-plan-cn.json",
2799
- "sha256": "e62dde34edb603376a1dc60b2a74a9c2605b9e81d81df55cc259796c45aa4793"
2815
+ "sha256": "b18db950e464e8ea7fd5ef073ac2fe8445d28cf35a7dc2927ae366ac9dc6c8dc"
2800
2816
  },
2801
2817
  {
2802
2818
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/qwen-token-plan-individual.json",
@@ -2812,7 +2828,7 @@
2812
2828
  },
2813
2829
  {
2814
2830
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/vercel-ai-gateway.json",
2815
- "sha256": "e6e9eb2c2da25c85d428dab15765c5c539d73003a7acd432b238c86c5a398121"
2831
+ "sha256": "66d7477cdca2297252ad79531f11a1bf60b755f2f19fc051180042c9f6d5e40e"
2816
2832
  },
2817
2833
  {
2818
2834
  "path": "dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xai.json",
@@ -3556,27 +3572,23 @@
3556
3572
  },
3557
3573
  {
3558
3574
  "path": "dist/node_modules/@diffexai/diffex-ai/distribution-components.json",
3559
- "sha256": "c97478a3621ba61008b85740af492bf59544725ddb089f75aaff7df6a69c1508"
3575
+ "sha256": "c56100b24d5e05d66b5bf85947633ebb90b24bb687a35cf55cac2aa5d4af7535"
3560
3576
  },
3561
3577
  {
3562
3578
  "path": "dist/node_modules/@diffexai/diffex-ai/distribution-files.json",
3563
- "sha256": "a3530567f07c8c6a441a7e5c6176f846304613680a9f9b7dd786a95e173e07cf"
3579
+ "sha256": "488839af6f09f36d72999303a56c5d453e4203339f6d16b73676659ca1c443d8"
3564
3580
  },
3565
3581
  {
3566
3582
  "path": "dist/node_modules/@diffexai/diffex-ai/LICENSE",
3567
3583
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
3568
3584
  },
3569
- {
3570
- "path": "dist/node_modules/@diffexai/diffex-ai/NOTICE",
3571
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3572
- },
3573
3585
  {
3574
3586
  "path": "dist/node_modules/@diffexai/diffex-ai/package.json",
3575
- "sha256": "d9621bac4eebd476af495422c85b6525a801310e3468b3c6d60d39108ab79c13"
3587
+ "sha256": "dbd43e2eda79acf96eed38ad3e23d0561eb49f39e3857763ad5e185dabac705d"
3576
3588
  },
3577
3589
  {
3578
3590
  "path": "dist/node_modules/@diffexai/diffex-ai/THIRD-PARTY-NOTICES.txt",
3579
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
3591
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3580
3592
  },
3581
3593
  {
3582
3594
  "path": "dist/node_modules/@diffexai/diffex-client/dist/client.d.ts",
@@ -3676,27 +3688,23 @@
3676
3688
  },
3677
3689
  {
3678
3690
  "path": "dist/node_modules/@diffexai/diffex-client/distribution-components.json",
3679
- "sha256": "bf1f74465b67e7bd111a5f38e419586aeb754853ded3b4a0782774d6359874b1"
3691
+ "sha256": "acf017c608edd57d92996609ae9b44dd226aee5864b35266f0798db030d289a6"
3680
3692
  },
3681
3693
  {
3682
3694
  "path": "dist/node_modules/@diffexai/diffex-client/distribution-files.json",
3683
- "sha256": "6d342e688f45cb2f240812ca8f59d16420e00a76bd90f3fafea47a22b3988804"
3695
+ "sha256": "4ed015ab5ba91cad79080ed265602614dc4de68a6e152f10a0fd72fb1751da2c"
3684
3696
  },
3685
3697
  {
3686
3698
  "path": "dist/node_modules/@diffexai/diffex-client/LICENSE",
3687
3699
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
3688
3700
  },
3689
- {
3690
- "path": "dist/node_modules/@diffexai/diffex-client/NOTICE",
3691
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3692
- },
3693
3701
  {
3694
3702
  "path": "dist/node_modules/@diffexai/diffex-client/package.json",
3695
- "sha256": "0f2932f24ff7041e00abf09ba169b1620a7b2c738ab4f4a71512ceda4c2c1519"
3703
+ "sha256": "ad729910a444016cc2e9f5d37ec7cdb36826e12025cf522a6a4181b3d84978ae"
3696
3704
  },
3697
3705
  {
3698
3706
  "path": "dist/node_modules/@diffexai/diffex-client/THIRD-PARTY-NOTICES.txt",
3699
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
3707
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3700
3708
  },
3701
3709
  {
3702
3710
  "path": "dist/node_modules/@diffexai/diffex-harness-state/dist/index.d.ts",
@@ -3708,27 +3716,23 @@
3708
3716
  },
3709
3717
  {
3710
3718
  "path": "dist/node_modules/@diffexai/diffex-harness-state/distribution-components.json",
3711
- "sha256": "3b8188af3fab862bc686f6908c544399bf9c37360e78bcd30e70b4e0254a1068"
3719
+ "sha256": "716baba65927c93e5e9901c1dabe5c48da13935c48197a6fa3f0d32bd3a064de"
3712
3720
  },
3713
3721
  {
3714
3722
  "path": "dist/node_modules/@diffexai/diffex-harness-state/distribution-files.json",
3715
- "sha256": "55edd0a2954c45cbf12aff791e4ba5c8f037072bf40087f605cd8ce562cf2c9d"
3723
+ "sha256": "8d2b3e724517ce871b3579c7f5a2378e2060af80a76f5af071bc5d5aed1e870e"
3716
3724
  },
3717
3725
  {
3718
3726
  "path": "dist/node_modules/@diffexai/diffex-harness-state/LICENSE",
3719
3727
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
3720
3728
  },
3721
- {
3722
- "path": "dist/node_modules/@diffexai/diffex-harness-state/NOTICE",
3723
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3724
- },
3725
3729
  {
3726
3730
  "path": "dist/node_modules/@diffexai/diffex-harness-state/package.json",
3727
- "sha256": "a2fd31f702b1277d7f75ce64dd59f15ca507b18e302dcdee8f5cf760a383e0b4"
3731
+ "sha256": "758b5da2262fc4ac9d17747e44cdca068fd2a2a22d88f69bd4f51e544a281920"
3728
3732
  },
3729
3733
  {
3730
3734
  "path": "dist/node_modules/@diffexai/diffex-harness-state/THIRD-PARTY-NOTICES.txt",
3731
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
3735
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3732
3736
  },
3733
3737
  {
3734
3738
  "path": "dist/node_modules/@diffexai/diffex-protocol/dist/cbor/decoder.d.ts",
@@ -3796,27 +3800,23 @@
3796
3800
  },
3797
3801
  {
3798
3802
  "path": "dist/node_modules/@diffexai/diffex-protocol/distribution-components.json",
3799
- "sha256": "46686075070e30a0de4325197220eeb25d8e33a813410bc43eac55d962ad2935"
3803
+ "sha256": "f0b6997a5700803d141de6f44c28285737223ae01c7c2017c26ad5abf7e8283e"
3800
3804
  },
3801
3805
  {
3802
3806
  "path": "dist/node_modules/@diffexai/diffex-protocol/distribution-files.json",
3803
- "sha256": "5ccc4cbd5d95c3814b219aad9aa1bce059ae2cff63ffb2504ff924df91d837b2"
3807
+ "sha256": "295ebd7de4e99ddafc975ba23bd4d8e55ecd7ad68fd5e246c524ee3f81203bc9"
3804
3808
  },
3805
3809
  {
3806
3810
  "path": "dist/node_modules/@diffexai/diffex-protocol/LICENSE",
3807
3811
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
3808
3812
  },
3809
- {
3810
- "path": "dist/node_modules/@diffexai/diffex-protocol/NOTICE",
3811
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3812
- },
3813
3813
  {
3814
3814
  "path": "dist/node_modules/@diffexai/diffex-protocol/package.json",
3815
- "sha256": "32dbe80fe4124c154774da0ef035a5284f0d3a35c3661115cef883cc84ad96e1"
3815
+ "sha256": "e2b751b823f42b0c11d4c8890c0d92b6cad32398c38a20a4796f59469de36122"
3816
3816
  },
3817
3817
  {
3818
3818
  "path": "dist/node_modules/@diffexai/diffex-protocol/THIRD-PARTY-NOTICES.txt",
3819
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
3819
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3820
3820
  },
3821
3821
  {
3822
3822
  "path": "dist/node_modules/@diffexai/diffex-telemetry/dist/index.d.ts",
@@ -3868,27 +3868,23 @@
3868
3868
  },
3869
3869
  {
3870
3870
  "path": "dist/node_modules/@diffexai/diffex-telemetry/distribution-components.json",
3871
- "sha256": "2fbe9af183c9712f7c373c4bc7fe87381ace17499c9d4490668197c9a9d7b982"
3871
+ "sha256": "a99dde9ba03c8f62130ead771ca9f31b480b8437ddf451c44dec2069257c4a9b"
3872
3872
  },
3873
3873
  {
3874
3874
  "path": "dist/node_modules/@diffexai/diffex-telemetry/distribution-files.json",
3875
- "sha256": "b50253eaf34ccb7af5fc691f3a1f82d68866e833953b0754c38a29948cfe1691"
3875
+ "sha256": "b963a6a2121aadf67f0df1f0b21cbab2d7fc933f4e44a88750375ce73d4f2059"
3876
3876
  },
3877
3877
  {
3878
3878
  "path": "dist/node_modules/@diffexai/diffex-telemetry/LICENSE",
3879
3879
  "sha256": "35a4476d361a333186451f77937c9a070027ab3a83e3661fad4ccca8ac2b0a99"
3880
3880
  },
3881
- {
3882
- "path": "dist/node_modules/@diffexai/diffex-telemetry/NOTICE",
3883
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3884
- },
3885
3881
  {
3886
3882
  "path": "dist/node_modules/@diffexai/diffex-telemetry/package.json",
3887
- "sha256": "cfe29808e29fe3a588bb668a5902427c613ae034fa72ec5df836881e9241d9e8"
3883
+ "sha256": "ce2d06c525e082984d277456896b7aa18b94c19c18cb0233ce4190fce665c3ee"
3888
3884
  },
3889
3885
  {
3890
3886
  "path": "dist/node_modules/@diffexai/diffex-telemetry/THIRD-PARTY-NOTICES.txt",
3891
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
3887
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
3892
3888
  },
3893
3889
  {
3894
3890
  "path": "dist/node_modules/@diffexai/diffex-tui/dist/autocomplete.d.ts",
@@ -4204,11 +4200,11 @@
4204
4200
  },
4205
4201
  {
4206
4202
  "path": "dist/node_modules/@diffexai/diffex-tui/distribution-components.json",
4207
- "sha256": "e8c8eb8afab61df551d5edff8bd55ae92e72c44a27a190961981a08e075d67d5"
4203
+ "sha256": "c5e587f5ccd1b3057c6ddc46d12303c02d5d8ed21092e51a644e6b64de773585"
4208
4204
  },
4209
4205
  {
4210
4206
  "path": "dist/node_modules/@diffexai/diffex-tui/distribution-files.json",
4211
- "sha256": "d72f92d7640452729e9279d87f04a0bd64da6584d06ac35178a50be3c0887e0b"
4207
+ "sha256": "7a426f2846ae0fd5d567578f8af83ce8f156e8f8fe74240ab292757c6c158dc1"
4212
4208
  },
4213
4209
  {
4214
4210
  "path": "dist/node_modules/@diffexai/diffex-tui/LICENSE",
@@ -4230,17 +4226,13 @@
4230
4226
  "path": "dist/node_modules/@diffexai/diffex-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node",
4231
4227
  "sha256": "e40df72050ed02d451dee887b2e2a7408d7de27c5f483af8c489801bb3ae098d"
4232
4228
  },
4233
- {
4234
- "path": "dist/node_modules/@diffexai/diffex-tui/NOTICE",
4235
- "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
4236
- },
4237
4229
  {
4238
4230
  "path": "dist/node_modules/@diffexai/diffex-tui/package.json",
4239
- "sha256": "cd23216d3cb3a5a09a1a43d0fbc010d6b7bdcbd11c8e0e6c8eda0d7de59bf2e4"
4231
+ "sha256": "baad042242a3139246b749ce8dd0574344706df2f90541942ccdd29f465f81b6"
4240
4232
  },
4241
4233
  {
4242
4234
  "path": "dist/node_modules/@diffexai/diffex-tui/THIRD-PARTY-NOTICES.txt",
4243
- "sha256": "26a9889ffbcd21dbef5db453156ec85dc469580be6be9ee82800e0244e0f8b76"
4235
+ "sha256": "8871426fbd5907b1bf5c4e462c5c5c4f0d89fc3f3d527d0ab3a18f67d5da2f4d"
4244
4236
  },
4245
4237
  {
4246
4238
  "path": "dist/package-manager-cli.d.ts",
@@ -0,0 +1,118 @@
1
+ # Install, update, and remove Diffex
2
+
3
+ Diffex is distributed through npmjs.org as `@diffexai/diffex`.
4
+ Use Node.js 22.19.0 or newer and npm on macOS or Linux, on arm64 or x64.
5
+ Windows, Android/Termux, standalone binaries, and additional installation channels are not accepted release targets.
6
+ The hosted runtime image is for the cloud service.
7
+
8
+ ## Install and verify
9
+
10
+ ```sh
11
+ node --version
12
+ npm --version
13
+ npm install -g --ignore-scripts --registry=https://registry.npmjs.org @diffexai/diffex
14
+ diffex --version
15
+ diffex --help
16
+ diffex --list-models
17
+ ```
18
+
19
+ Only the CLI package is needed; its internal Diffex modules are included.
20
+ `--ignore-scripts` disables dependency installation scripts.
21
+ Npm verifies downloaded package bytes against registry integrity metadata.
22
+ For a reproducible installation, replace the package argument with `@diffexai/diffex@<verified-version>`, using an exact version you have checked on npmjs.org.
23
+
24
+ The executable directory is `$(npm prefix -g)/bin` on supported platforms.
25
+ If `diffex` is not found, add that directory to your shell's PATH:
26
+
27
+ ```sh
28
+ export PATH="$(npm prefix -g)/bin:$PATH"
29
+ command -v diffex
30
+ diffex --version
31
+ ```
32
+
33
+ Persist the PATH setting in your shell configuration if necessary.
34
+ Use a Node version manager or a user-writable npm prefix when the global directory is not writable.
35
+ Changing Node installations can change the npm prefix; check `command -v diffex` after switching.
36
+
37
+ Start `diffex` in your project directory, use `/login` to configure your provider, and send a short prompt.
38
+ See [Quickstart](quickstart.md) and [Providers](providers.md) for authentication and execution.
39
+
40
+ ## Upgrade
41
+
42
+ ```sh
43
+ diffex update --self
44
+ diffex --version
45
+ ```
46
+
47
+ Self-update validates the response from `https://api.diffex.ai/api/latest-version` and installs exactly `@diffexai/diffex@<verified-version>` using the detected package manager.
48
+ It rejects malformed metadata, foreign package names, redirects, and unavailable discovery before starting installation.
49
+ `--force` permits reinstalling a verified release; it does not bypass identity checks.
50
+ The discovery service can report no generally announced release even when a bootstrap package exists on npm.
51
+
52
+ To install a reviewed npm version directly, including when discovery has no release:
53
+
54
+ ```sh
55
+ npm install -g --ignore-scripts --registry=https://registry.npmjs.org '@diffexai/diffex@<verified-version>'
56
+ diffex --version
57
+ ```
58
+
59
+ Replace `<verified-version>` before running the command.
60
+ Use your original npm prefix if it differs from the active default.
61
+ Legacy clients that still trust Pi cannot migrate just by contacting the Diffex endpoint.
62
+ Install the canonical package directly with the command above, then verify `command -v diffex` and `diffex --version`.
63
+
64
+ ## Recover an interrupted installation
65
+
66
+ Npm owns replacement of an npm installation.
67
+ If an update was interrupted or `diffex` no longer starts, repeat the pinned npm install command with the same verified version and prefix, then check `diffex --version` and `diffex --help`.
68
+ Do not remove your user-data directory to repair an executable installation.
69
+ Npm can begin filesystem replacement before a download finishes.
70
+ If retrying reports `ENOTEMPTY` while renaming to a `.diffex-...` backup, move that reported backup directory aside.
71
+ If npm instead reports `ENOTEMPTY` while removing a dependency inside `$(npm root -g)/@diffexai/diffex`, move that complete CLI installation directory aside.
72
+ This preserves the partially installed package and lets npm install into an empty destination.
73
+ Use a separate backup directory and retry:
74
+
75
+ ```sh
76
+ DIFFEX_RECOVERY_FROM='/exact/affected/CLI/installation/or/backup'
77
+ DIFFEX_RECOVERY_DIR="$(mktemp -d)"
78
+ mv "$DIFFEX_RECOVERY_FROM" "$DIFFEX_RECOVERY_DIR/"
79
+ npm install -g --ignore-scripts --registry=https://registry.npmjs.org '@diffexai/diffex@<verified-version>'
80
+ diffex --version
81
+ diffex --help
82
+ ```
83
+
84
+ Replace both placeholders with the affected Diffex installation or backup path and the verified version.
85
+ Move only the `@diffexai/diffex` package directory or its reported `.diffex-...` backup, preserving it until the repaired installation works.
86
+ Do not move the global prefix, its shared `node_modules`, or another package.
87
+ This procedure does not move or delete your settings or sessions.
88
+
89
+ ## Remove
90
+
91
+ ```sh
92
+ npm uninstall -g --ignore-scripts @diffexai/diffex
93
+ command -v diffex
94
+ ```
95
+
96
+ Use the npm prefix that installed the executable.
97
+ The final command should find no executable unless another installation remains on PATH.
98
+ If your shell caches command locations, open a new terminal or refresh its command cache.
99
+
100
+ Removal retains settings, credentials, sessions, installed extensions, and harness data under `~/.diffex/agent/`, or the directory selected by `DIFFEX_CODING_AGENT_DIR`.
101
+ Project `.diffex` directories and any separately configured session directory are also retained.
102
+ Keep this data for reinstallation; delete it separately only if you intend to erase it.
103
+
104
+ ## Bun package installations
105
+
106
+ The same npm package can also be installed by Bun while running on Node:
107
+
108
+ ```sh
109
+ bun install -g --ignore-scripts @diffexai/diffex
110
+ diffex --version
111
+ diffex update --self
112
+ bun uninstall -g @diffexai/diffex
113
+ ```
114
+
115
+ Use `bun pm bin -g` to locate Bun's global executable directory and add it to PATH.
116
+ Pin direct upgrades to the reviewed `@diffexai/diffex@<verified-version>` in the install command.
117
+ Use the manager that owns the installation for repair and removal.
118
+ User data follows the same retention policy.
@@ -4,33 +4,15 @@ This page gets you from install to a useful first Diffex session.
4
4
 
5
5
  ## Install
6
6
 
7
- Diffex is distributed as an npm package:
7
+ Use Node.js 22.19.0 or newer on macOS or Linux, on arm64 or x64.
8
+ Install the canonical package from npmjs.org:
8
9
 
9
10
  ```bash
10
- npm install -g --ignore-scripts @diffexai/diffex
11
+ npm install -g --ignore-scripts --registry=https://registry.npmjs.org @diffexai/diffex
12
+ diffex --version
11
13
  ```
12
14
 
13
- `--ignore-scripts` disables dependency lifecycle scripts during install. Diffex does not require install scripts for normal npm installs.
14
-
15
- ### Uninstall
16
-
17
- Use the package manager that installed Diffex:
18
-
19
- ```bash
20
- # npm
21
- npm uninstall -g @diffexai/diffex
22
-
23
- # pnpm
24
- pnpm remove -g @diffexai/diffex
25
-
26
- # Yarn
27
- yarn global remove @diffexai/diffex
28
-
29
- # Bun
30
- bun uninstall -g @diffexai/diffex
31
- ```
32
-
33
- Uninstalling Diffex leaves settings, credentials, sessions, and installed Diffex packages in `~/.diffex/agent/`.
15
+ See [Installation](installation.md) for PATH setup, pinned versions, updates, recovery, removal, and retained user data.
34
16
 
35
17
  Then start Diffex in the project directory you want it to work on:
36
18
 
@@ -175,4 +157,5 @@ Use `--mode json` for JSON event output or `--mode rpc` for process integration.
175
157
  - [Keybindings](keybindings.md) - shortcuts and customization.
176
158
  - [Diffex Packages](packages.md) - install shared extensions, skills, prompts, and themes.
177
159
 
178
- Platform notes: [Windows](windows.md), [Termux](termux.md), [tmux](tmux.md), [Terminal setup](terminal-setup.md), [Shell aliases](shell-aliases.md).
160
+ Terminal notes: [tmux](tmux.md), [Terminal setup](terminal-setup.md), [Shell aliases](shell-aliases.md).
161
+ Windows and Android/Termux are not accepted release targets.
package/docs/usage.md CHANGED
@@ -222,15 +222,21 @@ The selected collaboration mode is restored independently for the active interac
222
222
 
223
223
  ## Context Files
224
224
 
225
- Diffex loads `AGENTS.md` or `CLAUDE.md` at startup from:
225
+ Diffex loads context files at startup in this order:
226
226
 
227
+ - the bundled `dist/AGENTS.md` for default instructions in production installations
227
228
  - `~/.diffex/agent/AGENTS.md` for global instructions
228
- - parent directories, walking up from the current working directory
229
+ - parent directories, from the outermost directory toward the current working directory
229
230
  - the current directory
230
231
 
231
- If a directory contains `AGENTS.override.md`, Diffex loads it instead of `AGENTS.md` or `CLAUDE.md` from that directory. Context files from other directories still layer normally.
232
+ The bundled defaults are loaded from the installed package without creating or overwriting user or project files.
233
+ Use global and project instructions to customize these defaults.
232
234
 
233
- Use context files for project conventions, commands, safety rules, and preferences. Disable loading with `--no-context-files` or `-nc`.
235
+ If a user or project directory contains `AGENTS.override.md`, Diffex loads it instead of `AGENTS.md` or `CLAUDE.md` from that directory.
236
+ Context files from other directories still layer normally.
237
+
238
+ Use context files for project conventions, commands, safety rules, and preferences.
239
+ Disable all context loading, including the bundled defaults, with `--no-context-files` or `-nc`.
234
240
 
235
241
  ### System Prompt Files
236
242
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@diffexai/diffex",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@diffexai/diffex",
9
- "version": "0.2.1",
9
+ "version": "0.2.3",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@anthropic-ai/sdk": "0.91.1",