autotouch-cli 0.2.24__tar.gz → 0.2.25__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 (64) hide show
  1. {autotouch_cli-0.2.24/autotouch_cli.egg-info → autotouch_cli-0.2.25}/PKG-INFO +15 -1
  2. autotouch_cli-0.2.24/docs/research-table/reference/autotouch-cli.md → autotouch_cli-0.2.25/autotouch_cli.egg-info/PKG-INFO +23 -0
  3. autotouch_cli-0.2.24/PKG-INFO → autotouch_cli-0.2.25/docs/research-table/reference/autotouch-cli.md +14 -9
  4. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/pyproject.toml +1 -1
  5. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/smart_table_cli.py +28 -0
  6. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/autotouch_cli.egg-info/SOURCES.txt +0 -0
  7. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/autotouch_cli.egg-info/dependency_links.txt +0 -0
  8. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/autotouch_cli.egg-info/entry_points.txt +0 -0
  9. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/autotouch_cli.egg-info/requires.txt +0 -0
  10. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/autotouch_cli.egg-info/top_level.txt +0 -0
  11. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/__init__.py +0 -0
  12. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/add_column_unique_index.py +0 -0
  13. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/attach_csv_import_leads_to_research_table.py +0 -0
  14. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/bundle_sequences_backend.py +0 -0
  15. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/check_agent_traces.py +0 -0
  16. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/check_column_mode.py +0 -0
  17. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/exit_terminal_leads_from_sequences.py +0 -0
  18. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/fetch_lead.py +0 -0
  19. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/fix_lead_titles_from_csv.py +0 -0
  20. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250106_add_column_position.py +0 -0
  21. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250108_fix_legacy_column_fields.py +0 -0
  22. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250109_add_user_fields_to_tables.py +0 -0
  23. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250117_add_call_logs_webhook_indexes.py +0 -0
  24. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250117_rename_call_logs_collection.py +0 -0
  25. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250119_create_leads_unique_email_index.py +0 -0
  26. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250123_add_filter_indexes.py +0 -0
  27. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250123_add_llm_responses_collection.py +0 -0
  28. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250128_migrate_user_ids_to_objectid.py +0 -0
  29. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250208_backfill_task_research_values.py +0 -0
  30. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250604_add_origin_indexes.py +0 -0
  31. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250608_cleanup_agent_metadata.py +0 -0
  32. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250608_rename_agent_metadata_to_metadata.py +0 -0
  33. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250922_add_activity_indexes.py +0 -0
  34. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250926_migrate_single_to_arrays.py +0 -0
  35. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250928_add_missing_timestamp_fields.py +0 -0
  36. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250929_add_task_join_indexes.py +0 -0
  37. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250929_add_task_join_indexes_safe.py +0 -0
  38. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20250929_create_shared_phone_cache.py +0 -0
  39. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20251007_add_rows_position_id_index.py +0 -0
  40. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20251109_add_ttl_for_llm_and_preview_traces.py +0 -0
  41. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20260113_normalize_table_filter_operators.py +0 -0
  42. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20260113_set_user_permissions_user_admin.py +0 -0
  43. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20260204_sync_lead_owner_from_tasks.py +0 -0
  44. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20260303_add_webhook_subscription_collections.py +0 -0
  45. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/20260305_force_formatter_autorun_on_source_update.py +0 -0
  46. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/migrate_org_user_credits.py +0 -0
  47. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/set_default_lead_status.py +0 -0
  48. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/migrations/update_lead_owner_from_tasks.py +0 -0
  49. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/reassign_sequence_owner.py +0 -0
  50. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/run_sidecar_orchestrator_demo.py +0 -0
  51. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/test_crm_company_policy.py +0 -0
  52. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/test_sequences_instantly_e2e.py +0 -0
  53. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/test_sequences_personal_e2e.py +0 -0
  54. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/test_task_error_logger.py +0 -0
  55. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/scripts/verify_azurite_voicemail.py +0 -0
  56. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/setup.cfg +0 -0
  57. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_custom.py +0 -0
  58. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_integration.py +0 -0
  59. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_multi_titles.py +0 -0
  60. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_pipeline.py +0 -0
  61. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_simple.py +0 -0
  62. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_contactout_v2_bulk.py +0 -0
  63. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_lead_required_fields.py +0 -0
  64. {autotouch_cli-0.2.24 → autotouch_cli-0.2.25}/tests/test_phone_provider_pipeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autotouch-cli
3
- Version: 0.2.24
3
+ Version: 0.2.25
4
4
  Summary: Autotouch Smart Table CLI
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -121,6 +121,7 @@ Notes:
121
121
  | `GET /api/tables/{table_id}/columns` | `autotouch columns list --table-id <TABLE_ID>` |
122
122
  | `POST /api/tables/{table_id}/columns` | `autotouch columns create --table-id <TABLE_ID> --data-file column.json` |
123
123
  | `PATCH /api/tables/{table_id}/columns/{column_id}` | `autotouch columns update --table-id <TABLE_ID> --column-id <COLUMN_ID> --data-file column-update.json` |
124
+ | `DELETE /api/tables/{table_id}/columns/{column_id}` | `autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes` |
124
125
  | `POST /api/tables/{table_id}/columns/projections` | `autotouch columns projections --table-id <TABLE_ID> --data-file projections.json` |
125
126
  | `POST /api/tables/{table_id}/columns/{column_id}/estimate` | `autotouch columns estimate --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
126
127
  | `POST /api/tables/{table_id}/columns/{column_id}/run` | `autotouch columns run --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
@@ -132,6 +133,19 @@ Notes:
132
133
  | `POST /api/webhooks/tables/{table_id}/ingest` | `autotouch webhooks ingest --table-id <TABLE_ID> --records-file records.json --webhook-token <WEBHOOK_TOKEN>` |
133
134
  | `POST /api/auth/agent-bootstrap` | HTTP-only bootstrap (no direct CLI wrapper yet) |
134
135
 
136
+ ## Delete column
137
+
138
+ Delete is a hard delete:
139
+ - removes the column definition
140
+ - removes all cells stored under that column
141
+ - requires `columns:write`
142
+
143
+ CLI:
144
+
145
+ ```bash
146
+ autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes
147
+ ```
148
+
135
149
  ## Workflow API coverage (sequences/tasks)
136
150
 
137
151
  Sequences/tasks APIs are supported by the backend developer-key model but do not yet have dedicated `autotouch` CLI commands.
@@ -1,3 +1,12 @@
1
+ Metadata-Version: 2.4
2
+ Name: autotouch-cli
3
+ Version: 0.2.25
4
+ Summary: Autotouch Smart Table CLI
5
+ Requires-Python: >=3.9
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: requests>=2.31.0
8
+ Requires-Dist: python-dotenv>=1.0.0
9
+
1
10
  # Autotouch CLI Reference (`autotouch`)
2
11
 
3
12
  This page documents the installable CLI for the Smart Table developer API.
@@ -112,6 +121,7 @@ Notes:
112
121
  | `GET /api/tables/{table_id}/columns` | `autotouch columns list --table-id <TABLE_ID>` |
113
122
  | `POST /api/tables/{table_id}/columns` | `autotouch columns create --table-id <TABLE_ID> --data-file column.json` |
114
123
  | `PATCH /api/tables/{table_id}/columns/{column_id}` | `autotouch columns update --table-id <TABLE_ID> --column-id <COLUMN_ID> --data-file column-update.json` |
124
+ | `DELETE /api/tables/{table_id}/columns/{column_id}` | `autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes` |
115
125
  | `POST /api/tables/{table_id}/columns/projections` | `autotouch columns projections --table-id <TABLE_ID> --data-file projections.json` |
116
126
  | `POST /api/tables/{table_id}/columns/{column_id}/estimate` | `autotouch columns estimate --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
117
127
  | `POST /api/tables/{table_id}/columns/{column_id}/run` | `autotouch columns run --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
@@ -123,6 +133,19 @@ Notes:
123
133
  | `POST /api/webhooks/tables/{table_id}/ingest` | `autotouch webhooks ingest --table-id <TABLE_ID> --records-file records.json --webhook-token <WEBHOOK_TOKEN>` |
124
134
  | `POST /api/auth/agent-bootstrap` | HTTP-only bootstrap (no direct CLI wrapper yet) |
125
135
 
136
+ ## Delete column
137
+
138
+ Delete is a hard delete:
139
+ - removes the column definition
140
+ - removes all cells stored under that column
141
+ - requires `columns:write`
142
+
143
+ CLI:
144
+
145
+ ```bash
146
+ autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes
147
+ ```
148
+
126
149
  ## Workflow API coverage (sequences/tasks)
127
150
 
128
151
  Sequences/tasks APIs are supported by the backend developer-key model but do not yet have dedicated `autotouch` CLI commands.
@@ -1,12 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: autotouch-cli
3
- Version: 0.2.24
4
- Summary: Autotouch Smart Table CLI
5
- Requires-Python: >=3.9
6
- Description-Content-Type: text/markdown
7
- Requires-Dist: requests>=2.31.0
8
- Requires-Dist: python-dotenv>=1.0.0
9
-
10
1
  # Autotouch CLI Reference (`autotouch`)
11
2
 
12
3
  This page documents the installable CLI for the Smart Table developer API.
@@ -121,6 +112,7 @@ Notes:
121
112
  | `GET /api/tables/{table_id}/columns` | `autotouch columns list --table-id <TABLE_ID>` |
122
113
  | `POST /api/tables/{table_id}/columns` | `autotouch columns create --table-id <TABLE_ID> --data-file column.json` |
123
114
  | `PATCH /api/tables/{table_id}/columns/{column_id}` | `autotouch columns update --table-id <TABLE_ID> --column-id <COLUMN_ID> --data-file column-update.json` |
115
+ | `DELETE /api/tables/{table_id}/columns/{column_id}` | `autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes` |
124
116
  | `POST /api/tables/{table_id}/columns/projections` | `autotouch columns projections --table-id <TABLE_ID> --data-file projections.json` |
125
117
  | `POST /api/tables/{table_id}/columns/{column_id}/estimate` | `autotouch columns estimate --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
126
118
  | `POST /api/tables/{table_id}/columns/{column_id}/run` | `autotouch columns run --table-id <TABLE_ID> --column-id <COLUMN_ID> --scope all` |
@@ -132,6 +124,19 @@ Notes:
132
124
  | `POST /api/webhooks/tables/{table_id}/ingest` | `autotouch webhooks ingest --table-id <TABLE_ID> --records-file records.json --webhook-token <WEBHOOK_TOKEN>` |
133
125
  | `POST /api/auth/agent-bootstrap` | HTTP-only bootstrap (no direct CLI wrapper yet) |
134
126
 
127
+ ## Delete column
128
+
129
+ Delete is a hard delete:
130
+ - removes the column definition
131
+ - removes all cells stored under that column
132
+ - requires `columns:write`
133
+
134
+ CLI:
135
+
136
+ ```bash
137
+ autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes
138
+ ```
139
+
135
140
  ## Workflow API coverage (sequences/tasks)
136
141
 
137
142
  Sequences/tasks APIs are supported by the backend developer-key model but do not yet have dedicated `autotouch` CLI commands.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "autotouch-cli"
7
- version = "0.2.24"
7
+ version = "0.2.25"
8
8
  description = "Autotouch Smart Table CLI"
9
9
  readme = "docs/research-table/reference/autotouch-cli.md"
10
10
  requires-python = ">=3.9"
@@ -3562,6 +3562,27 @@ def cmd_columns_update(args: argparse.Namespace) -> None:
3562
3562
  _print_json(data, compact=args.compact)
3563
3563
 
3564
3564
 
3565
+ def cmd_columns_delete(args: argparse.Namespace) -> None:
3566
+ if not getattr(args, "yes", False):
3567
+ print(
3568
+ "ERROR: column delete is destructive and also removes all cells for that column. Re-run with --yes to confirm.",
3569
+ file=sys.stderr,
3570
+ )
3571
+ sys.exit(2)
3572
+
3573
+ token = _resolve_token(args.token, required=True)
3574
+ data = _request_api(
3575
+ "DELETE",
3576
+ f"/api/tables/{args.table_id}/columns/{args.column_id}",
3577
+ base_url=args.base_url,
3578
+ token=token,
3579
+ use_x_api_key=args.use_x_api_key,
3580
+ timeout=args.timeout,
3581
+ verbose=args.verbose,
3582
+ )
3583
+ _print_json(data, compact=args.compact)
3584
+
3585
+
3565
3586
  def cmd_columns_projections(args: argparse.Namespace) -> None:
3566
3587
  token = _resolve_token(args.token, required=True)
3567
3588
  payload = _load_json_input(
@@ -4461,6 +4482,13 @@ def build_parser() -> argparse.ArgumentParser:
4461
4482
  _add_api_common_arguments(pcu)
4462
4483
  pcu.set_defaults(func=cmd_columns_update)
4463
4484
 
4485
+ pcd = col_sub.add_parser("delete", help="Delete a column and all of its cells")
4486
+ pcd.add_argument("--table-id", required=True)
4487
+ pcd.add_argument("--column-id", required=True)
4488
+ pcd.add_argument("--yes", action="store_true", help="Required confirmation flag for destructive delete")
4489
+ _add_api_common_arguments(pcd)
4490
+ pcd.set_defaults(func=cmd_columns_delete)
4491
+
4464
4492
  pcpj = col_sub.add_parser("projections", help="Create JSON projection columns")
4465
4493
  pcpj.add_argument("--table-id", required=True)
4466
4494
  pcpj.add_argument("--data-json", help="CreateProjectionsRequest payload JSON")
File without changes