autotouch-cli 0.2.90__tar.gz → 0.2.92__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 (55) hide show
  1. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/PKG-INFO +2 -2
  2. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/README.md +1 -1
  3. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/agents.py +21 -4
  4. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/data/CLI_REFERENCE.md +6 -3
  5. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/data/cli-manifest.json +31 -3
  6. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/PKG-INFO +2 -2
  7. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/provider_registry.py +2 -0
  8. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/pyproject.toml +1 -1
  9. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/MANIFEST.in +0 -0
  10. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/__init__.py +0 -0
  11. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/cli.py +0 -0
  12. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/cli_contracts.py +0 -0
  13. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/__init__.py +0 -0
  14. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/auth.py +0 -0
  15. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/cells.py +0 -0
  16. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/columns.py +0 -0
  17. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/jobs.py +0 -0
  18. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/leads.py +0 -0
  19. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/linkedin.py +0 -0
  20. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/list_build.py +0 -0
  21. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/prompts.py +0 -0
  22. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/rows.py +0 -0
  23. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/search.py +0 -0
  24. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/sequences.py +0 -0
  25. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/tables.py +0 -0
  26. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/tasks.py +0 -0
  27. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/webhooks.py +0 -0
  28. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/commands/workspace_secrets.py +0 -0
  29. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/__init__.py +0 -0
  30. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/auth.py +0 -0
  31. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/config.py +0 -0
  32. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/csv_import.py +0 -0
  33. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/http.py +0 -0
  34. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/io.py +0 -0
  35. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/output.py +0 -0
  36. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/polling.py +0 -0
  37. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/run.py +0 -0
  38. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/core/validation.py +0 -0
  39. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/exceptions.py +0 -0
  40. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/mongo_status.py +0 -0
  41. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/parser.py +0 -0
  42. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/parser_groups.py +0 -0
  43. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/sequence_support.py +0 -0
  44. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli/templates.py +0 -0
  45. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/SOURCES.txt +0 -0
  46. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/dependency_links.txt +0 -0
  47. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/entry_points.txt +0 -0
  48. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/requires.txt +0 -0
  49. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_cli.egg-info/top_level.txt +0 -0
  50. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/__init__.py +0 -0
  51. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/linkedin_contract.py +0 -0
  52. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/linkedin_filters.py +0 -0
  53. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/list_build_contract.py +0 -0
  54. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/autotouch_shared/search_contract.py +0 -0
  55. {autotouch_cli-0.2.90 → autotouch_cli-0.2.92}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autotouch-cli
3
- Version: 0.2.90
3
+ Version: 0.2.92
4
4
  Summary: Autotouch Smart Table CLI
5
5
  Project-URL: Homepage, https://app.autotouch.ai
6
6
  Project-URL: Documentation, https://github.com/nicolonic/autotouch_main/tree/main/docs/research-table/reference
@@ -178,7 +178,7 @@ For automation or agent-driven setup, use:
178
178
  - `autotouch cli-manifest --output json` for the local machine-readable command contract
179
179
  - `autotouch cli-reference` for the shipped parser-generated reference
180
180
  - `autotouch capabilities --output json` for provider/workflow contracts
181
- - `autotouch --version` should be `0.2.90` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, and V2 sequence flowGraph recipes
181
+ - `autotouch --version` should be `0.2.92` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, V2 sequence flowGraph recipes, real agent soft-delete with associated-table handling, and research-table sequence handoff assignee config
182
182
  - `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
183
183
  - `autotouch list-build inputs` and `autotouch list-build pricing` before creating durable list-build jobs
184
184
  - `autotouch list-build companies` and `autotouch list-build leads` for durable LinkedIn-sourced company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned LinkedIn connection requirement
@@ -153,7 +153,7 @@ For automation or agent-driven setup, use:
153
153
  - `autotouch cli-manifest --output json` for the local machine-readable command contract
154
154
  - `autotouch cli-reference` for the shipped parser-generated reference
155
155
  - `autotouch capabilities --output json` for provider/workflow contracts
156
- - `autotouch --version` should be `0.2.90` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, and V2 sequence flowGraph recipes
156
+ - `autotouch --version` should be `0.2.92` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, V2 sequence flowGraph recipes, real agent soft-delete with associated-table handling, and research-table sequence handoff assignee config
157
157
  - `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
158
158
  - `autotouch list-build inputs` and `autotouch list-build pricing` before creating durable list-build jobs
159
159
  - `autotouch list-build companies` and `autotouch list-build leads` for durable LinkedIn-sourced company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned LinkedIn connection requirement
@@ -9,6 +9,8 @@ import time
9
9
  from dataclasses import dataclass
10
10
  from typing import Any, Callable, Dict, Optional, Sequence
11
11
 
12
+ from autotouch_cli.exceptions import AutotouchInputError
13
+
12
14
 
13
15
  AGENT_TARGET_CHOICES = ["LEADS", "ACCOUNTS"]
14
16
 
@@ -267,15 +269,20 @@ def cmd_agents_update(args: argparse.Namespace, *, runtime: AgentCommandRuntime)
267
269
 
268
270
 
269
271
  def cmd_agents_delete(args: argparse.Namespace, *, runtime: AgentCommandRuntime) -> None:
272
+ delete_associated_tables = bool(getattr(args, "delete_associated_tables", False))
273
+ if delete_associated_tables and not bool(getattr(args, "yes", False)):
274
+ raise AutotouchInputError(
275
+ "deleting associated agent tables is destructive. Re-run with --delete-associated-tables --yes to confirm."
276
+ )
277
+
270
278
  token = runtime.resolve_token(args.token, required=True)
271
279
  data = runtime.request_api(
272
- "PATCH", f"/api/agents/{args.agent_id}",
280
+ "DELETE", f"/api/agents/{args.agent_id}",
273
281
  base_url=args.base_url, token=token,
274
282
  use_x_api_key=args.use_x_api_key,
275
- payload={"status": "DRAFT"},
283
+ params={"deleteAssociatedTables": delete_associated_tables},
276
284
  timeout=args.timeout, verbose=args.verbose,
277
285
  )
278
- sys.stderr.write(f"Agent {args.agent_id} deleted.\n")
279
286
  runtime.print_json(data, args.compact)
280
287
 
281
288
 
@@ -574,8 +581,18 @@ def register_agents_subcommands(
574
581
  pau.set_defaults(func=handlers["update"])
575
582
 
576
583
  # -- delete --
577
- pad = agents_sub.add_parser("delete", help="Delete an agent (sets status to DRAFT)")
584
+ pad = agents_sub.add_parser("delete", help="Soft-delete an agent and detach its associated tables")
578
585
  pad.add_argument("agent_id", help="Agent ID")
586
+ pad.add_argument(
587
+ "--delete-associated-tables",
588
+ action="store_true",
589
+ help="Also queue deletion for agent-owned associated tables; shared tables are kept",
590
+ )
591
+ pad.add_argument(
592
+ "--yes",
593
+ action="store_true",
594
+ help="Confirm destructive deletion of associated tables",
595
+ )
579
596
  add_api_common_arguments(pad)
580
597
  pad.set_defaults(func=handlers["delete"])
581
598
 
@@ -1,6 +1,6 @@
1
1
  # Autotouch CLI Reference
2
2
 
3
- Generated from the installed parser for `autotouch-cli` `0.2.90`.
3
+ Generated from the installed parser for `autotouch-cli` `0.2.92`.
4
4
  Manifest schema version: `2`.
5
5
 
6
6
  ## Output Modes
@@ -85,20 +85,23 @@ Create a new agent
85
85
 
86
86
  #### `autotouch agents delete`
87
87
 
88
- Delete an agent (sets status to DRAFT)
88
+ Soft-delete an agent and detach its associated tables
89
89
 
90
90
  - Auth: `developer_key_or_user_session`
91
91
  - Stability: `stable`
92
92
  - Destructive: `yes`
93
93
  - Output modes: `json, ndjson, human`
94
94
  - Example:
95
- - `autotouch agents delete [-h] [--base-url BASE_URL] [--token TOKEN]
95
+ - `autotouch agents delete [-h] [--delete-associated-tables] [--yes]
96
+ [--base-url BASE_URL] [--token TOKEN]
96
97
  [--use-x-api-key] [--timeout TIMEOUT]
97
98
  [--output {json,ndjson,human}] [--compact]
98
99
  [--select SELECT | --json-pointer JSON_POINTER]
99
100
  [--verbose]
100
101
  agent_id`
101
102
  - Options:
103
+ - `--delete-associated-tables` (kind=boolean; when omitted=False; when present=True): Also queue deletion for agent-owned associated tables; shared tables are kept
104
+ - `--yes` (kind=boolean; when omitted=False; when present=True): Confirm destructive deletion of associated tables
102
105
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
103
106
  - `--token` (kind=string; sensitive): Developer API key / JWT token
104
107
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.90",
2
+ "version": "0.2.92",
3
3
  "manifest_schema_version": 2,
4
4
  "entry_points": {
5
5
  "autotouch": "autotouch_cli.cli:main",
@@ -35569,7 +35569,7 @@
35569
35569
  ],
35570
35570
  "aliases": [],
35571
35571
  "group": "agents",
35572
- "help": "Delete an agent (sets status to DRAFT)",
35572
+ "help": "Soft-delete an agent and detach its associated tables",
35573
35573
  "description": null,
35574
35574
  "notes": null,
35575
35575
  "required_flags": [],
@@ -35585,6 +35585,34 @@
35585
35585
  }
35586
35586
  ],
35587
35587
  "options": [
35588
+ {
35589
+ "dest": "delete_associated_tables",
35590
+ "required": false,
35591
+ "help": "Also queue deletion for agent-owned associated tables; shared tables are kept",
35592
+ "kind": "boolean",
35593
+ "action": "store_true",
35594
+ "nargs": 0,
35595
+ "default_when_omitted": false,
35596
+ "value_when_present": true,
35597
+ "flags": [
35598
+ "--delete-associated-tables"
35599
+ ],
35600
+ "takes_value": false
35601
+ },
35602
+ {
35603
+ "dest": "yes",
35604
+ "required": false,
35605
+ "help": "Confirm destructive deletion of associated tables",
35606
+ "kind": "boolean",
35607
+ "action": "store_true",
35608
+ "nargs": 0,
35609
+ "default_when_omitted": false,
35610
+ "value_when_present": true,
35611
+ "flags": [
35612
+ "--yes"
35613
+ ],
35614
+ "takes_value": false
35615
+ },
35588
35616
  {
35589
35617
  "dest": "base_url",
35590
35618
  "required": false,
@@ -35738,7 +35766,7 @@
35738
35766
  },
35739
35767
  "availability": null,
35740
35768
  "examples": [
35741
- "autotouch agents delete [-h] [--base-url BASE_URL] [--token TOKEN]\n [--use-x-api-key] [--timeout TIMEOUT]\n [--output {json,ndjson,human}] [--compact]\n [--select SELECT | --json-pointer JSON_POINTER]\n [--verbose]\n agent_id"
35769
+ "autotouch agents delete [-h] [--delete-associated-tables] [--yes]\n [--base-url BASE_URL] [--token TOKEN]\n [--use-x-api-key] [--timeout TIMEOUT]\n [--output {json,ndjson,human}] [--compact]\n [--select SELECT | --json-pointer JSON_POINTER]\n [--verbose]\n agent_id"
35742
35770
  ],
35743
35771
  "stability": "stable",
35744
35772
  "handler": "_fn"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autotouch-cli
3
- Version: 0.2.90
3
+ Version: 0.2.92
4
4
  Summary: Autotouch Smart Table CLI
5
5
  Project-URL: Homepage, https://app.autotouch.ai
6
6
  Project-URL: Documentation, https://github.com/nicolonic/autotouch_main/tree/main/docs/research-table/reference
@@ -178,7 +178,7 @@ For automation or agent-driven setup, use:
178
178
  - `autotouch cli-manifest --output json` for the local machine-readable command contract
179
179
  - `autotouch cli-reference` for the shipped parser-generated reference
180
180
  - `autotouch capabilities --output json` for provider/workflow contracts
181
- - `autotouch --version` should be `0.2.90` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, and V2 sequence flowGraph recipes
181
+ - `autotouch --version` should be `0.2.92` or newer for structured company list builds without user-supplied keywords, stored list-build input lookup, research-workspace list-build guidance, the cleaned single LinkedIn-sourced list-build path, Exa Company Search up to 100 results, scheduled agent `--target ACCOUNTS|LEADS`, paced HTTP Request column contracts, V2 sequence flowGraph recipes, real agent soft-delete with associated-table handling, and research-table sequence handoff assignee config
182
182
  - `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
183
183
  - `autotouch list-build inputs` and `autotouch list-build pricing` before creating durable list-build jobs
184
184
  - `autotouch list-build companies` and `autotouch list-build leads` for durable LinkedIn-sourced company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned LinkedIn connection requirement
@@ -1016,11 +1016,13 @@ _PROVIDER_CONTRACTS: Tuple[ResearchTableProviderContract, ...] = (
1016
1016
  "provider": "add_to_sequence",
1017
1017
  "sequenceId": "<SEQUENCE_ID>",
1018
1018
  "sourceLeadColumn": "sync_to_leads",
1019
+ "assignedToUserId": "<USER_ID>",
1019
1020
  },
1020
1021
  },
1021
1022
  recipe_notes=(
1022
1023
  "sourceLeadColumn should reference the source column key that stores lead IDs (for example sync_to_leads), not the provider name add_to_crm.",
1023
1024
  "Set sequenceId to the target workflow sequence ID.",
1025
+ "Set assignedToUserId to choose who owns the generated sequence tasks.",
1024
1026
  "The target sequence must already be ACTIVE for real enrollment.",
1025
1027
  "Common tail order after contact rows or lead IDs exist is email_finder -> Sync to Leads (`add_to_crm`) -> create/activate sequence -> add_to_sequence.",
1026
1028
  "Creating add_to_sequence after lead IDs already exist does not replay those older updates; run add_to_sequence explicitly or rerun the lead-id source column.",
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "autotouch-cli"
7
- version = "0.2.90"
7
+ version = "0.2.92"
8
8
  description = "Autotouch Smart Table CLI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes