agentful 0.4.18 → 0.4.20

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/NOTICE CHANGED
@@ -20,4 +20,6 @@ Third-party software
20
20
  --------------------------------------------------------------------------
21
21
  This CLI downloads and runs the opencode engine
22
22
  (https://github.com/anomalyco/opencode), which is distributed under the MIT
23
- License. The full notice is reproduced in THIRD-PARTY-LICENSES.txt.
23
+ License. It also includes the npm packages commander, fflate and ignore, each
24
+ under the MIT License. The full notices are reproduced in
25
+ THIRD-PARTY-LICENSES.txt.
@@ -31,5 +31,78 @@ SOFTWARE.
31
31
 
32
32
  ## Bundled npm dependencies
33
33
 
34
- commander (MIT), fflate (MIT), ignore (MIT) — see their repositories
35
- for the full license texts.
34
+ The following packages are compiled into the CLI itself. Each is
35
+ distributed under the MIT License; their notices are reproduced below.
36
+
37
+ ### commander (https://github.com/tj/commander.js)
38
+
39
+ (The MIT License)
40
+
41
+ Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
42
+
43
+ Permission is hereby granted, free of charge, to any person obtaining
44
+ a copy of this software and associated documentation files (the
45
+ 'Software'), to deal in the Software without restriction, including
46
+ without limitation the rights to use, copy, modify, merge, publish,
47
+ distribute, sublicense, and/or sell copies of the Software, and to
48
+ permit persons to whom the Software is furnished to do so, subject to
49
+ the following conditions:
50
+
51
+ The above copyright notice and this permission notice shall be
52
+ included in all copies or substantial portions of the Software.
53
+
54
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
55
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
56
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
57
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
58
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
59
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
60
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
61
+
62
+ ### fflate (https://github.com/101arrowz/fflate)
63
+
64
+ MIT License
65
+
66
+ Copyright (c) 2026 Arjun Barrett
67
+
68
+ Permission is hereby granted, free of charge, to any person obtaining a copy
69
+ of this software and associated documentation files (the "Software"), to deal
70
+ in the Software without restriction, including without limitation the rights
71
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
72
+ copies of the Software, and to permit persons to whom the Software is
73
+ furnished to do so, subject to the following conditions:
74
+
75
+ The above copyright notice and this permission notice shall be included in all
76
+ copies or substantial portions of the Software.
77
+
78
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
79
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
80
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
81
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
82
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
83
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
84
+ SOFTWARE.
85
+
86
+ ### ignore (https://github.com/kaelzhang/node-ignore)
87
+
88
+ Copyright (c) 2013 Kael Zhang <i@kael.me>, contributors
89
+ http://kael.me/
90
+
91
+ Permission is hereby granted, free of charge, to any person obtaining
92
+ a copy of this software and associated documentation files (the
93
+ "Software"), to deal in the Software without restriction, including
94
+ without limitation the rights to use, copy, modify, merge, publish,
95
+ distribute, sublicense, and/or sell copies of the Software, and to
96
+ permit persons to whom the Software is furnished to do so, subject to
97
+ the following conditions:
98
+
99
+ The above copyright notice and this permission notice shall be
100
+ included in all copies or substantial portions of the Software.
101
+
102
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
103
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
104
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
105
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
106
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
107
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
108
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/dist/index.cjs CHANGED
@@ -33,9 +33,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
33
33
  mod
34
34
  ));
35
35
 
36
- // ../../mainmvp/cli/node_modules/commander/lib/error.js
36
+ // node_modules/commander/lib/error.js
37
37
  var require_error = __commonJS({
38
- "../../mainmvp/cli/node_modules/commander/lib/error.js"(exports2) {
38
+ "node_modules/commander/lib/error.js"(exports2) {
39
39
  "use strict";
40
40
  var CommanderError2 = class extends Error {
41
41
  /**
@@ -69,9 +69,9 @@ var require_error = __commonJS({
69
69
  }
70
70
  });
71
71
 
72
- // ../../mainmvp/cli/node_modules/commander/lib/argument.js
72
+ // node_modules/commander/lib/argument.js
73
73
  var require_argument = __commonJS({
74
- "../../mainmvp/cli/node_modules/commander/lib/argument.js"(exports2) {
74
+ "node_modules/commander/lib/argument.js"(exports2) {
75
75
  "use strict";
76
76
  var { InvalidArgumentError: InvalidArgumentError2 } = require_error();
77
77
  var Argument2 = class {
@@ -197,9 +197,9 @@ var require_argument = __commonJS({
197
197
  }
198
198
  });
199
199
 
200
- // ../../mainmvp/cli/node_modules/commander/lib/help.js
200
+ // node_modules/commander/lib/help.js
201
201
  var require_help = __commonJS({
202
- "../../mainmvp/cli/node_modules/commander/lib/help.js"(exports2) {
202
+ "node_modules/commander/lib/help.js"(exports2) {
203
203
  "use strict";
204
204
  var { humanReadableArgName } = require_argument();
205
205
  var Help2 = class {
@@ -612,9 +612,9 @@ var require_help = __commonJS({
612
612
  }
613
613
  });
614
614
 
615
- // ../../mainmvp/cli/node_modules/commander/lib/option.js
615
+ // node_modules/commander/lib/option.js
616
616
  var require_option = __commonJS({
617
- "../../mainmvp/cli/node_modules/commander/lib/option.js"(exports2) {
617
+ "node_modules/commander/lib/option.js"(exports2) {
618
618
  "use strict";
619
619
  var { InvalidArgumentError: InvalidArgumentError2 } = require_error();
620
620
  var Option2 = class {
@@ -885,9 +885,9 @@ var require_option = __commonJS({
885
885
  }
886
886
  });
887
887
 
888
- // ../../mainmvp/cli/node_modules/commander/lib/suggestSimilar.js
888
+ // node_modules/commander/lib/suggestSimilar.js
889
889
  var require_suggestSimilar = __commonJS({
890
- "../../mainmvp/cli/node_modules/commander/lib/suggestSimilar.js"(exports2) {
890
+ "node_modules/commander/lib/suggestSimilar.js"(exports2) {
891
891
  "use strict";
892
892
  var maxDistance = 3;
893
893
  function editDistance(a, b) {
@@ -966,9 +966,9 @@ var require_suggestSimilar = __commonJS({
966
966
  }
967
967
  });
968
968
 
969
- // ../../mainmvp/cli/node_modules/commander/lib/command.js
969
+ // node_modules/commander/lib/command.js
970
970
  var require_command = __commonJS({
971
- "../../mainmvp/cli/node_modules/commander/lib/command.js"(exports2) {
971
+ "node_modules/commander/lib/command.js"(exports2) {
972
972
  "use strict";
973
973
  var EventEmitter = require("events").EventEmitter;
974
974
  var childProcess = require("child_process");
@@ -3010,9 +3010,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
3010
3010
  }
3011
3011
  });
3012
3012
 
3013
- // ../../mainmvp/cli/node_modules/commander/index.js
3013
+ // node_modules/commander/index.js
3014
3014
  var require_commander = __commonJS({
3015
- "../../mainmvp/cli/node_modules/commander/index.js"(exports2) {
3015
+ "node_modules/commander/index.js"(exports2) {
3016
3016
  "use strict";
3017
3017
  var { Argument: Argument2 } = require_argument();
3018
3018
  var { Command: Command2 } = require_command();
@@ -3044,7 +3044,7 @@ var VERSION, brand, useColor, wrap, paint, tuiDesign, sym, ui;
3044
3044
  var init_branding = __esm({
3045
3045
  "src/branding.ts"() {
3046
3046
  "use strict";
3047
- VERSION = "0.4.18" ? "0.4.18" : null.version;
3047
+ VERSION = "0.4.20" ? "0.4.20" : null.version;
3048
3048
  brand = {
3049
3049
  name: "agentful",
3050
3050
  // the command users type
@@ -3103,9 +3103,9 @@ var init_branding = __esm({
3103
3103
  }
3104
3104
  });
3105
3105
 
3106
- // ../../mainmvp/cli/node_modules/ignore/index.js
3106
+ // node_modules/ignore/index.js
3107
3107
  var require_ignore = __commonJS({
3108
- "../../mainmvp/cli/node_modules/ignore/index.js"(exports2, module2) {
3108
+ "node_modules/ignore/index.js"(exports2, module2) {
3109
3109
  "use strict";
3110
3110
  function makeArray(subject) {
3111
3111
  return Array.isArray(subject) ? subject : [subject];
@@ -3521,6 +3521,23 @@ function dropEngineFarewell() {
3521
3521
  }
3522
3522
  });
3523
3523
 
3524
+ // src/lib/engineUpdate.ts
3525
+ var UPDATE_OVERRIDE_SOURCE;
3526
+ var init_engineUpdate = __esm({
3527
+ "src/lib/engineUpdate.ts"() {
3528
+ "use strict";
3529
+ UPDATE_OVERRIDE_SOURCE = String.raw`
3530
+ /** Hide the engine's /update. Returns the layer's dispose for api.lifecycle.onDispose. */
3531
+ function hideEngineUpdate(api) {
3532
+ return api.keymap.registerLayer({
3533
+ priority: 1,
3534
+ commands: [{ namespace: 'palette', name: 'opencode.update', hidden: true, run() {} }],
3535
+ })
3536
+ }
3537
+ `;
3538
+ }
3539
+ });
3540
+
3524
3541
  // src/branding/logo.txt
3525
3542
  var logo_default;
3526
3543
  var init_logo = __esm({
@@ -3566,13 +3583,15 @@ function tail(text, max) {
3566
3583
  const s = String(text)
3567
3584
  return s.length <= max ? s : '\u2026' + s.slice(s.length - (max - 1))
3568
3585
  }
3569
- ${FAREWELL_FILTER_SOURCE}
3586
+ ${FAREWELL_FILTER_SOURCE}${UPDATE_OVERRIDE_SOURCE}
3570
3587
  const plugin = {
3571
3588
  id: 'agentful-branding',
3572
3589
  tui(api) {
3573
3590
  // Through safe(): a throw here would make the host roll back the whole
3574
3591
  // plugin, and the design with it \u2014 for the sake of one line on quit.
3575
3592
  safe(() => api.lifecycle.onDispose(dropEngineFarewell))
3593
+ // Same for the /update override: without a keymap api it is just not there.
3594
+ safe(() => api.lifecycle.onDispose(hideEngineUpdate(api)))
3576
3595
 
3577
3596
  const Prompt = api.ui.Prompt
3578
3597
  const HostSlot = api.ui.Slot
@@ -3855,11 +3874,12 @@ var init_plugin = __esm({
3855
3874
  "use strict";
3856
3875
  init_branding();
3857
3876
  init_engineFarewell();
3877
+ init_engineUpdate();
3858
3878
  init_logo();
3859
3879
  }
3860
3880
  });
3861
3881
 
3862
- // ../../mainmvp/cli/node_modules/commander/esm.mjs
3882
+ // node_modules/commander/esm.mjs
3863
3883
  var import_index = __toESM(require_commander(), 1);
3864
3884
  var {
3865
3885
  program,
@@ -4821,7 +4841,7 @@ init_branding();
4821
4841
  var import_node_fs4 = require("fs");
4822
4842
  var import_node_path6 = require("path");
4823
4843
 
4824
- // ../../mainmvp/cli/node_modules/fflate/esm/index.mjs
4844
+ // node_modules/fflate/esm/index.mjs
4825
4845
  var import_module = require("module");
4826
4846
  var require2 = (0, import_module.createRequire)("/");
4827
4847
  var _a;
@@ -8008,7 +8028,7 @@ var import_node_stream = require("stream");
8008
8028
  var import_promises3 = require("stream/promises");
8009
8029
  init_branding();
8010
8030
  var ENGINE_BINARY = "agentful-engine";
8011
- var FALLBACK_ENGINE_VERSION = "v1.18.32";
8031
+ var FALLBACK_ENGINE_VERSION = "v1.19.4";
8012
8032
  function compareVersions(a, b) {
8013
8033
  const pa = a.replace(/^v/, "").split(".").map((n) => parseInt(n, 10) || 0);
8014
8034
  const pb = b.replace(/^v/, "").split(".").map((n) => parseInt(n, 10) || 0);
@@ -8114,7 +8134,7 @@ async function ensureEngine() {
8114
8134
  }
8115
8135
  (0, import_node_fs11.chmodSync)(binPath, 493);
8116
8136
  ui.ok(`Engine ready.`);
8117
- console.log(paint.dim(" powered by opencode (MIT) \xB7 run `agentful licenses` for details"));
8137
+ console.log(paint.dim(" Third-party licenses: run `agentful licenses`"));
8118
8138
  return binPath;
8119
8139
  }
8120
8140
 
@@ -10110,7 +10130,115 @@ async function pullCommand(opts) {
10110
10130
  }
10111
10131
 
10112
10132
  // THIRD-PARTY-LICENSES.txt
10113
- var THIRD_PARTY_LICENSES_default = 'Third-party software distributed with the Agentful CLI\n======================================================\n\n## Agentful engine (opencode)\n\nThe Agentful CLI downloads and runs the opencode engine\n(https://github.com/anomalyco/opencode) as its local coding engine.\nIt is distributed under the MIT License, reproduced below.\n\nMIT License\n\nCopyright (c) 2025 opencode\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Bundled npm dependencies\n\ncommander (MIT), fflate (MIT), ignore (MIT) \u2014 see their repositories\nfor the full license texts.\n';
10133
+ var THIRD_PARTY_LICENSES_default = `Third-party software distributed with the Agentful CLI
10134
+ ======================================================
10135
+
10136
+ ## Agentful engine (opencode)
10137
+
10138
+ The Agentful CLI downloads and runs the opencode engine
10139
+ (https://github.com/anomalyco/opencode) as its local coding engine.
10140
+ It is distributed under the MIT License, reproduced below.
10141
+
10142
+ MIT License
10143
+
10144
+ Copyright (c) 2025 opencode
10145
+
10146
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10147
+ of this software and associated documentation files (the "Software"), to deal
10148
+ in the Software without restriction, including without limitation the rights
10149
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10150
+ copies of the Software, and to permit persons to whom the Software is
10151
+ furnished to do so, subject to the following conditions:
10152
+
10153
+ The above copyright notice and this permission notice shall be included in all
10154
+ copies or substantial portions of the Software.
10155
+
10156
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10157
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
10158
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10159
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
10160
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10161
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
10162
+ SOFTWARE.
10163
+
10164
+ ## Bundled npm dependencies
10165
+
10166
+ The following packages are compiled into the CLI itself. Each is
10167
+ distributed under the MIT License; their notices are reproduced below.
10168
+
10169
+ ### commander (https://github.com/tj/commander.js)
10170
+
10171
+ (The MIT License)
10172
+
10173
+ Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
10174
+
10175
+ Permission is hereby granted, free of charge, to any person obtaining
10176
+ a copy of this software and associated documentation files (the
10177
+ 'Software'), to deal in the Software without restriction, including
10178
+ without limitation the rights to use, copy, modify, merge, publish,
10179
+ distribute, sublicense, and/or sell copies of the Software, and to
10180
+ permit persons to whom the Software is furnished to do so, subject to
10181
+ the following conditions:
10182
+
10183
+ The above copyright notice and this permission notice shall be
10184
+ included in all copies or substantial portions of the Software.
10185
+
10186
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
10187
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10188
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10189
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
10190
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10191
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
10192
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10193
+
10194
+ ### fflate (https://github.com/101arrowz/fflate)
10195
+
10196
+ MIT License
10197
+
10198
+ Copyright (c) 2026 Arjun Barrett
10199
+
10200
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10201
+ of this software and associated documentation files (the "Software"), to deal
10202
+ in the Software without restriction, including without limitation the rights
10203
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10204
+ copies of the Software, and to permit persons to whom the Software is
10205
+ furnished to do so, subject to the following conditions:
10206
+
10207
+ The above copyright notice and this permission notice shall be included in all
10208
+ copies or substantial portions of the Software.
10209
+
10210
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10211
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
10212
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10213
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
10214
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10215
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
10216
+ SOFTWARE.
10217
+
10218
+ ### ignore (https://github.com/kaelzhang/node-ignore)
10219
+
10220
+ Copyright (c) 2013 Kael Zhang <i@kael.me>, contributors
10221
+ http://kael.me/
10222
+
10223
+ Permission is hereby granted, free of charge, to any person obtaining
10224
+ a copy of this software and associated documentation files (the
10225
+ "Software"), to deal in the Software without restriction, including
10226
+ without limitation the rights to use, copy, modify, merge, publish,
10227
+ distribute, sublicense, and/or sell copies of the Software, and to
10228
+ permit persons to whom the Software is furnished to do so, subject to
10229
+ the following conditions:
10230
+
10231
+ The above copyright notice and this permission notice shall be
10232
+ included in all copies or substantial portions of the Software.
10233
+
10234
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
10235
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10236
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
10237
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
10238
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
10239
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
10240
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10241
+ `;
10114
10242
 
10115
10243
  // src/commands/licenses.ts
10116
10244
  init_branding();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentful",
3
- "version": "0.4.18",
3
+ "version": "0.4.20",
4
4
  "description": "Agentful in your terminal — local development with push-to-cloud previews",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://agentful.dev",