cli-dolibarr 3.7.0__tar.gz → 3.7.2__tar.gz

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 (96) hide show
  1. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/PKG-INFO +1 -1
  2. cli_dolibarr-3.7.2/cli_dolibarr/dolibarr/__init__.py +1 -0
  3. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/config.py +78 -0
  4. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/PKG-INFO +1 -1
  5. cli_dolibarr-3.7.0/cli_dolibarr/dolibarr/__init__.py +0 -1
  6. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/LICENSE +0 -0
  7. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/README.md +0 -0
  8. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/README.md +0 -0
  9. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/__init__.py +0 -0
  10. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/_template.py +0 -0
  11. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/accountancy.py +0 -0
  12. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/agendaevents.py +0 -0
  13. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/apibridge.py +0 -0
  14. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/bankaccounts.py +0 -0
  15. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/boms.py +0 -0
  16. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/categories.py +0 -0
  17. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/contacts.py +0 -0
  18. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/contracts.py +0 -0
  19. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/delivery.py +0 -0
  20. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/documents.py +0 -0
  21. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/donations.py +0 -0
  22. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/expensereports.py +0 -0
  23. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/interventions.py +0 -0
  24. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/invoices.py +0 -0
  25. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/knowledge.py +0 -0
  26. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/login.py +0 -0
  27. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/member_types.py +0 -0
  28. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/members.py +0 -0
  29. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/mobilehub.py +0 -0
  30. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/mobilehubapi.py +0 -0
  31. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/mos.py +0 -0
  32. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/multicurrencies.py +0 -0
  33. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/orderprocessor.py +0 -0
  34. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/orders.py +0 -0
  35. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/partnerships.py +0 -0
  36. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/pdfa.py +0 -0
  37. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/productplus.py +0 -0
  38. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/products.py +0 -0
  39. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/projects.py +0 -0
  40. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/proposals.py +0 -0
  41. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/quickprint.py +0 -0
  42. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/receptions.py +0 -0
  43. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/recruitments.py +0 -0
  44. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/salaries.py +0 -0
  45. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/schema.py +0 -0
  46. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/setup.py +0 -0
  47. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/shipments.py +0 -0
  48. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/status.py +0 -0
  49. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/stock.py +0 -0
  50. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/stockmodule.py +0 -0
  51. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/stockmovements.py +0 -0
  52. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/subscriptions.py +0 -0
  53. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplier_invoices.py +0 -0
  54. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplier_orders.py +0 -0
  55. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplier_proposals.py +0 -0
  56. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplierinvoices.py +0 -0
  57. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplierorders.py +0 -0
  58. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/supplierproposals.py +0 -0
  59. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/system.py +0 -0
  60. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/tasks.py +0 -0
  61. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/thirdparties.py +0 -0
  62. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/tickets.py +0 -0
  63. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/users.py +0 -0
  64. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/warehouses.py +0 -0
  65. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/webhook.py +0 -0
  66. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/workstations.py +0 -0
  67. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/commands/zapier.py +0 -0
  68. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/__init__.py +0 -0
  69. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/client.py +0 -0
  70. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/config.py +0 -0
  71. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/output.py +0 -0
  72. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/schema_agents.py +0 -0
  73. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/schema_generator.py +0 -0
  74. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/schema_manager.py +0 -0
  75. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/core/session_client.py +0 -0
  76. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/dolibarr_cli.py +0 -0
  77. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/extrafields_cache.json +0 -0
  78. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/hermes_plugin/__init__.py +0 -0
  79. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/models_supplement.json +0 -0
  80. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/schema.json +0 -0
  81. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tests/__init__.py +0 -0
  82. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tests/test_core.py +0 -0
  83. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tests/test_enrich.py +0 -0
  84. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tests/test_full_e2e.py +0 -0
  85. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tests/test_tools.py +0 -0
  86. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tools/__init__.py +0 -0
  87. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tools/executor.py +0 -0
  88. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/tools/tools_schema.py +0 -0
  89. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr/dolibarr/utils/__init__.py +0 -0
  90. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/SOURCES.txt +0 -0
  91. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/dependency_links.txt +0 -0
  92. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/entry_points.txt +0 -0
  93. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/requires.txt +0 -0
  94. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/cli_dolibarr.egg-info/top_level.txt +0 -0
  95. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/pyproject.toml +0 -0
  96. {cli_dolibarr-3.7.0 → cli_dolibarr-3.7.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cli-dolibarr
3
- Version: 3.7.0
3
+ Version: 3.7.2
4
4
  Summary: CLI tool for Dolibarr ERP/CRM REST API management
5
5
  Author: CLI Anything
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ __version__ = "3.7.2"
@@ -177,4 +177,82 @@ def _install_hermes_plugin(url: str, api_key: str):
177
177
 
178
178
  click.echo(f" Plugin: {plugin_dir}")
179
179
  click.echo(f" Env: {env_file}")
180
+
181
+ # Auto-configure delegation.default_toolsets in config.yaml
182
+ _configure_hermes_toolsets(hermes_dir)
183
+
180
184
  click.echo(" Restart Hermes to load the plugin.")
185
+
186
+
187
+ def _configure_hermes_toolsets(hermes_dir: Path):
188
+ """Add dolibarr to delegation.default_toolsets in Hermes config.yaml."""
189
+ config_yaml = hermes_dir / 'config.yaml'
190
+ if not config_yaml.exists():
191
+ click.echo(" No Hermes config.yaml found, skipping toolset config.")
192
+ return
193
+
194
+ lines = config_yaml.read_text().splitlines()
195
+
196
+ # Case A: find default_toolsets: line (indented >= 2 spaces)
197
+ dt_idx = None
198
+ dt_indent = None
199
+ for i, line in enumerate(lines):
200
+ s = line.rstrip('\n')
201
+ if s.strip() == 'default_toolsets:' and (len(s) - len(s.lstrip())) >= 2:
202
+ dt_idx = i
203
+ dt_indent = len(s) - len(s.lstrip())
204
+ break
205
+
206
+ if dt_idx is not None:
207
+ # Check if dolibarr already in this block
208
+ for i in range(dt_idx + 1, len(lines)):
209
+ s = lines[i].rstrip('\n')
210
+ lead = len(s) - len(s.lstrip())
211
+ if lead <= dt_indent:
212
+ break
213
+ if s.strip() == '- dolibarr':
214
+ click.echo(" dolibarr already in default_toolsets (ok)")
215
+ return
216
+
217
+ # Not found — find last list item in block and insert after it
218
+ new_line = (' ' * (dt_indent + 2)) + '- dolibarr'
219
+ last_item = dt_idx
220
+ for i in range(dt_idx + 1, len(lines)):
221
+ s = lines[i].rstrip('\n')
222
+ lead = len(s) - len(s.lstrip())
223
+ if lead <= dt_indent:
224
+ break
225
+ if s.strip().startswith('- '):
226
+ last_item = i
227
+
228
+ lines.insert(last_item + 1, new_line)
229
+ config_yaml.write_text('\n'.join(lines) + '\n')
230
+ click.echo(" ✅ Added dolibarr to delegation.default_toolsets")
231
+ return
232
+
233
+ # Case B: delegation: exists but no default_toolsets
234
+ delegation_idx = None
235
+ for i, line in enumerate(lines):
236
+ if line.rstrip('\n').strip() == 'delegation:':
237
+ delegation_idx = i
238
+ break
239
+
240
+ if delegation_idx is not None:
241
+ d = lines[delegation_idx].rstrip('\n')
242
+ d_indent = len(d) - len(d.lstrip())
243
+ block_lines = [
244
+ (' ' * (d_indent + 2)) + 'default_toolsets:',
245
+ (' ' * (d_indent + 4)) + '- terminal',
246
+ (' ' * (d_indent + 4)) + '- file',
247
+ (' ' * (d_indent + 4)) + '- web',
248
+ (' ' * (d_indent + 4)) + '- dolibarr',
249
+ ]
250
+ for offset, block_line in enumerate(block_lines):
251
+ lines.insert(delegation_idx + 1 + offset, block_line)
252
+ config_yaml.write_text('\n'.join(lines) + '\n')
253
+ click.echo(" ✅ Added delegation.default_toolsets with dolibarr")
254
+ return
255
+
256
+ # Case C: no delegation section at all
257
+ click.echo(" ⚠️ No delegation section in config.yaml.")
258
+ click.echo(" Add 'dolibarr' to delegation.default_toolsets manually.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cli-dolibarr
3
- Version: 3.7.0
3
+ Version: 3.7.2
4
4
  Summary: CLI tool for Dolibarr ERP/CRM REST API management
5
5
  Author: CLI Anything
6
6
  License-Expression: MIT
@@ -1 +0,0 @@
1
- __version__ = "3.7.0"
File without changes
File without changes
File without changes