autotouch-cli 0.2.17__tar.gz → 0.2.18__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 (63) hide show
  1. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/PKG-INFO +9 -1
  2. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/PKG-INFO +9 -1
  3. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/docs/research-table/reference/autotouch-cli-pypi.md +8 -0
  4. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/pyproject.toml +1 -1
  5. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/smart_table_cli.py +40 -0
  6. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/SOURCES.txt +0 -0
  7. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/dependency_links.txt +0 -0
  8. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/entry_points.txt +0 -0
  9. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/requires.txt +0 -0
  10. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/autotouch_cli.egg-info/top_level.txt +0 -0
  11. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/__init__.py +0 -0
  12. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/add_column_unique_index.py +0 -0
  13. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/attach_csv_import_leads_to_research_table.py +0 -0
  14. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/bundle_sequences_backend.py +0 -0
  15. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/check_agent_traces.py +0 -0
  16. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/check_column_mode.py +0 -0
  17. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/exit_terminal_leads_from_sequences.py +0 -0
  18. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/fetch_lead.py +0 -0
  19. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/fix_lead_titles_from_csv.py +0 -0
  20. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250106_add_column_position.py +0 -0
  21. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250108_fix_legacy_column_fields.py +0 -0
  22. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250109_add_user_fields_to_tables.py +0 -0
  23. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250117_add_call_logs_webhook_indexes.py +0 -0
  24. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250117_rename_call_logs_collection.py +0 -0
  25. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250119_create_leads_unique_email_index.py +0 -0
  26. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250123_add_filter_indexes.py +0 -0
  27. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250123_add_llm_responses_collection.py +0 -0
  28. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250128_migrate_user_ids_to_objectid.py +0 -0
  29. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250208_backfill_task_research_values.py +0 -0
  30. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250604_add_origin_indexes.py +0 -0
  31. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250608_cleanup_agent_metadata.py +0 -0
  32. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250608_rename_agent_metadata_to_metadata.py +0 -0
  33. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250922_add_activity_indexes.py +0 -0
  34. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250926_migrate_single_to_arrays.py +0 -0
  35. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250928_add_missing_timestamp_fields.py +0 -0
  36. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250929_add_task_join_indexes.py +0 -0
  37. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250929_add_task_join_indexes_safe.py +0 -0
  38. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20250929_create_shared_phone_cache.py +0 -0
  39. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20251007_add_rows_position_id_index.py +0 -0
  40. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20251109_add_ttl_for_llm_and_preview_traces.py +0 -0
  41. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20260113_normalize_table_filter_operators.py +0 -0
  42. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20260113_set_user_permissions_user_admin.py +0 -0
  43. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20260204_sync_lead_owner_from_tasks.py +0 -0
  44. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/20260303_add_webhook_subscription_collections.py +0 -0
  45. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/migrate_org_user_credits.py +0 -0
  46. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/set_default_lead_status.py +0 -0
  47. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/migrations/update_lead_owner_from_tasks.py +0 -0
  48. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/reassign_sequence_owner.py +0 -0
  49. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/run_sidecar_orchestrator_demo.py +0 -0
  50. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/test_crm_company_policy.py +0 -0
  51. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/test_sequences_instantly_e2e.py +0 -0
  52. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/test_sequences_personal_e2e.py +0 -0
  53. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/test_task_error_logger.py +0 -0
  54. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/scripts/verify_azurite_voicemail.py +0 -0
  55. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/setup.cfg +0 -0
  56. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_custom.py +0 -0
  57. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_integration.py +0 -0
  58. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_multi_titles.py +0 -0
  59. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_pipeline.py +0 -0
  60. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_simple.py +0 -0
  61. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_contactout_v2_bulk.py +0 -0
  62. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/tests/test_lead_required_fields.py +0 -0
  63. {autotouch_cli-0.2.17 → autotouch_cli-0.2.18}/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.17
3
+ Version: 0.2.18
4
4
  Summary: Autotouch Smart Table CLI
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -140,6 +140,8 @@ Recipe-first flow (recommended):
140
140
 
141
141
  ```bash
142
142
  autotouch columns recipe --type add_to_crm --output human
143
+ autotouch columns recipe --type sync_to_table --output human
144
+ autotouch columns recipe --type add_to_sequence --output human
143
145
  ```
144
146
 
145
147
  Then create from the generated payload:
@@ -155,6 +157,12 @@ Notes:
155
157
  - `add_to_crm` is optional and non-billable.
156
158
  - Email/phone enrichment does not require creating/running `add_to_crm`.
157
159
  - For `add_to_crm`, required mapping keys are `linkedinUrl` and `companyDomain`.
160
+ - `sync_to_table` supports both:
161
+ - single destination: `destinationTableId` + `columnMappings`
162
+ - router mode: `routes[]` (first matching route wins)
163
+ - `add_to_sequence` requires:
164
+ - `sequenceId`
165
+ - `sourceLeadColumn` pointing to a lead-id producing column (`add_to_crm` or `lead_finder` output)
158
166
 
159
167
  ## Recommended ICP buyer discovery pattern
160
168
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autotouch-cli
3
- Version: 0.2.17
3
+ Version: 0.2.18
4
4
  Summary: Autotouch Smart Table CLI
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -140,6 +140,8 @@ Recipe-first flow (recommended):
140
140
 
141
141
  ```bash
142
142
  autotouch columns recipe --type add_to_crm --output human
143
+ autotouch columns recipe --type sync_to_table --output human
144
+ autotouch columns recipe --type add_to_sequence --output human
143
145
  ```
144
146
 
145
147
  Then create from the generated payload:
@@ -155,6 +157,12 @@ Notes:
155
157
  - `add_to_crm` is optional and non-billable.
156
158
  - Email/phone enrichment does not require creating/running `add_to_crm`.
157
159
  - For `add_to_crm`, required mapping keys are `linkedinUrl` and `companyDomain`.
160
+ - `sync_to_table` supports both:
161
+ - single destination: `destinationTableId` + `columnMappings`
162
+ - router mode: `routes[]` (first matching route wins)
163
+ - `add_to_sequence` requires:
164
+ - `sequenceId`
165
+ - `sourceLeadColumn` pointing to a lead-id producing column (`add_to_crm` or `lead_finder` output)
158
166
 
159
167
  ## Recommended ICP buyer discovery pattern
160
168
 
@@ -131,6 +131,8 @@ Recipe-first flow (recommended):
131
131
 
132
132
  ```bash
133
133
  autotouch columns recipe --type add_to_crm --output human
134
+ autotouch columns recipe --type sync_to_table --output human
135
+ autotouch columns recipe --type add_to_sequence --output human
134
136
  ```
135
137
 
136
138
  Then create from the generated payload:
@@ -146,6 +148,12 @@ Notes:
146
148
  - `add_to_crm` is optional and non-billable.
147
149
  - Email/phone enrichment does not require creating/running `add_to_crm`.
148
150
  - For `add_to_crm`, required mapping keys are `linkedinUrl` and `companyDomain`.
151
+ - `sync_to_table` supports both:
152
+ - single destination: `destinationTableId` + `columnMappings`
153
+ - router mode: `routes[]` (first matching route wins)
154
+ - `add_to_sequence` requires:
155
+ - `sequenceId`
156
+ - `sourceLeadColumn` pointing to a lead-id producing column (`add_to_crm` or `lead_finder` output)
149
157
 
150
158
  ## Recommended ICP buyer discovery pattern
151
159
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "autotouch-cli"
7
- version = "0.2.17"
7
+ version = "0.2.18"
8
8
  description = "Autotouch Smart Table CLI"
9
9
  readme = "docs/research-table/reference/autotouch-cli-pypi.md"
10
10
  requires-python = ">=3.9"
@@ -77,6 +77,8 @@ COLUMN_RECIPE_TYPES = [
77
77
  "lead_finder",
78
78
  "llm_enrichment",
79
79
  "add_to_crm",
80
+ "sync_to_table",
81
+ "add_to_sequence",
80
82
  ]
81
83
 
82
84
  COLUMN_CREATE_RECIPES: Dict[str, Dict[str, Any]] = {
@@ -181,6 +183,36 @@ COLUMN_CREATE_RECIPES: Dict[str, Dict[str, Any]] = {
181
183
  ],
182
184
  },
183
185
  },
186
+ "sync_to_table": {
187
+ "key": "sync_to_table",
188
+ "label": "Sync to Table",
189
+ "kind": "enrichment",
190
+ "dataType": "json",
191
+ "origin": "manual",
192
+ "autoRun": "onSourceUpdate",
193
+ "config": {
194
+ "provider": "sync_to_table",
195
+ "destinationTableId": "<DESTINATION_TABLE_ID>",
196
+ "columnMappings": [
197
+ {"sourceKey": "company", "destKey": "company"},
198
+ {"sourceKey": "domain", "destKey": "company_domain"},
199
+ {"sourceKey": "work_email", "destKey": "work_email"},
200
+ ],
201
+ },
202
+ },
203
+ "add_to_sequence": {
204
+ "key": "add_to_sequence",
205
+ "label": "Add to Sequence",
206
+ "kind": "enrichment",
207
+ "dataType": "json",
208
+ "origin": "manual",
209
+ "autoRun": "onSourceUpdate",
210
+ "config": {
211
+ "provider": "add_to_sequence",
212
+ "sequenceId": "<SEQUENCE_ID>",
213
+ "sourceLeadColumn": "add_to_leads",
214
+ },
215
+ },
184
216
  }
185
217
 
186
218
  COLUMN_RECIPE_NOTES: Dict[str, List[str]] = {
@@ -201,6 +233,14 @@ COLUMN_RECIPE_NOTES: Dict[str, List[str]] = {
201
233
  "LinkedIn URL + company domain mappings are required for eligibility.",
202
234
  "Add to CRM is optional and non-billable.",
203
235
  ],
236
+ "sync_to_table": [
237
+ "Use destinationTableId + columnMappings for single-destination sync.",
238
+ "Router mode is supported via config.routes[] (first matching route wins).",
239
+ ],
240
+ "add_to_sequence": [
241
+ "sourceLeadColumn should reference a column that stores lead IDs (for example add_to_crm or lead_finder output).",
242
+ "Set sequenceId to the target workflow sequence ID.",
243
+ ],
204
244
  }
205
245
 
206
246
  RUN_SOP_GUIDE: Dict[str, Any] = {
File without changes