autotouch-cli 0.2.32__tar.gz → 0.2.34__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 (29) hide show
  1. autotouch_cli-0.2.34/MANIFEST.in +4 -0
  2. autotouch_cli-0.2.34/PKG-INFO +142 -0
  3. autotouch_cli-0.2.34/README.md +133 -0
  4. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli/cli.py +654 -49
  5. autotouch_cli-0.2.34/autotouch_cli.egg-info/PKG-INFO +142 -0
  6. autotouch_cli-0.2.34/autotouch_cli.egg-info/SOURCES.txt +14 -0
  7. autotouch_cli-0.2.34/autotouch_shared/linkedin_contract.py +212 -0
  8. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_shared/provider_registry.py +256 -2
  9. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/pyproject.toml +5 -5
  10. autotouch_cli-0.2.32/PKG-INFO +0 -1525
  11. autotouch_cli-0.2.32/autotouch_cli.egg-info/PKG-INFO +0 -1525
  12. autotouch_cli-0.2.32/autotouch_cli.egg-info/SOURCES.txt +0 -21
  13. autotouch_cli-0.2.32/docs/research-table/reference/autotouch-cli.md +0 -1516
  14. autotouch_cli-0.2.32/tests/test_column_prompt_compiler.py +0 -178
  15. autotouch_cli-0.2.32/tests/test_contactout_custom.py +0 -227
  16. autotouch_cli-0.2.32/tests/test_contactout_integration.py +0 -214
  17. autotouch_cli-0.2.32/tests/test_contactout_multi_titles.py +0 -126
  18. autotouch_cli-0.2.32/tests/test_contactout_pipeline.py +0 -371
  19. autotouch_cli-0.2.32/tests/test_contactout_simple.py +0 -284
  20. autotouch_cli-0.2.32/tests/test_contactout_v2_bulk.py +0 -248
  21. autotouch_cli-0.2.32/tests/test_lead_required_fields.py +0 -124
  22. autotouch_cli-0.2.32/tests/test_phone_provider_pipeline.py +0 -651
  23. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli/__init__.py +0 -0
  24. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/dependency_links.txt +0 -0
  25. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/entry_points.txt +0 -0
  26. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/requires.txt +0 -0
  27. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/top_level.txt +0 -0
  28. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_shared/__init__.py +0 -0
  29. {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/setup.cfg +0 -0
@@ -0,0 +1,4 @@
1
+ exclude docs/research-table/reference/autotouch-cli.md
2
+ prune scripts
3
+ prune tests
4
+ prune build
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.4
2
+ Name: autotouch-cli
3
+ Version: 0.2.34
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
+ # Autotouch CLI
11
+
12
+ Installable CLI for the Smart Table developer API.
13
+
14
+ Use it when you want command-driven access to tables, columns, runs, jobs, leads, sequences, and task workflows without hand-writing raw HTTP requests.
15
+
16
+ The CLI talks to the same API the product uses. For automation, prefer `--output json`.
17
+
18
+ ## Install
19
+
20
+ ```bash
21
+ pipx install autotouch-cli
22
+ # or
23
+ pip install autotouch-cli
24
+ ```
25
+
26
+ ## First Run
27
+
28
+ Existing developer key:
29
+
30
+ ```bash
31
+ autotouch setup --api-key stk_... --base-url https://app.autotouch.ai
32
+ ```
33
+
34
+ Equivalent manual steps:
35
+
36
+ ```bash
37
+ autotouch auth set-key --api-key stk_... --base-url https://app.autotouch.ai
38
+ autotouch auth check --base-url https://app.autotouch.ai
39
+ ```
40
+
41
+ Fresh account:
42
+
43
+ ```bash
44
+ export AUTOTOUCH_CONFIG_PATH=/tmp/autotouch-audit.json
45
+
46
+ autotouch auth bootstrap \
47
+ --first-name Ada \
48
+ --last-name Lovelace \
49
+ --email ada+audit@example.com \
50
+ --password 'use-a-strong-random-password' \
51
+ --organization-name "Audit Org" \
52
+ --save-key
53
+
54
+ autotouch auth check
55
+ ```
56
+
57
+ ## 5-Minute Flow
58
+
59
+ ```bash
60
+ # 0) First-run setup
61
+ autotouch setup --api-key stk_... --base-url https://app.autotouch.ai
62
+
63
+ # 1) Inspect machine-readable contract
64
+ autotouch capabilities --output json
65
+
66
+ # 2) Create a table and capture its id
67
+ autotouch tables create --name "CLI Contacts" --output json > table.json
68
+ TABLE_ID=$(python3 -c 'import json; print(json.load(open("table.json"))["id"])')
69
+
70
+ # 3) Add a couple rows with the default lead_finder recipe's expected field
71
+ autotouch rows add \
72
+ --table-id "$TABLE_ID" \
73
+ --records-json '[{"domain":"openai.com","companyName":"OpenAI"},{"domain":"stripe.com","companyName":"Stripe"}]' \
74
+ --output json > rows.json
75
+ ROW_ID=$(python3 -c 'import json; print((json.load(open("rows.json")).get("rowIds") or [None])[0])')
76
+
77
+ # 4) Generate a provider-backed column payload
78
+ autotouch columns recipe --type lead_finder --out-file column.json
79
+
80
+ # 5) Create the column and capture its id
81
+ autotouch columns create --table-id "$TABLE_ID" --data-file column.json --output json > column-create.json
82
+ COLUMN_ID=$(python3 -c 'import json; print(json.load(open("column-create.json"))["id"])')
83
+
84
+ # 6) Run a small controlled slice and capture the bulk job id
85
+ autotouch columns run-next \
86
+ --table-id "$TABLE_ID" \
87
+ --column-id "$COLUMN_ID" \
88
+ --count 10 \
89
+ --show-estimate \
90
+ --wait \
91
+ --output json > run.json
92
+ JOB_ID=$(python3 -c 'import json; payload=json.load(open("run.json")); print(payload.get("job_id") or payload.get("jobId"))')
93
+
94
+ # 7) Verify backend truth
95
+ autotouch jobs get --job-id "$JOB_ID" --output json
96
+
97
+ # 8) Inspect exactly what changed
98
+ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
99
+ ```
100
+
101
+ ## Cheat Sheet
102
+
103
+ - Create table: `autotouch tables create`
104
+ - Add rows: `autotouch rows add`
105
+ - Inspect rows: `autotouch rows list`, `autotouch rows get`
106
+ - Inspect one cell: `autotouch cells get`
107
+ - Create a workflow column: `autotouch columns recipe`, `autotouch columns create`
108
+ - Run controlled slices: `autotouch columns run-next`
109
+ - Poll authoritative state: `autotouch jobs get`
110
+ - Create/activate sequences: `autotouch sequences recipe`, `autotouch sequences create`, `autotouch sequences activate`
111
+ - Query leads: `autotouch leads query`
112
+
113
+ ## Automation Workflow
114
+
115
+ For automation or agent-driven setup, read machine-readable contract first:
116
+
117
+ ```bash
118
+ autotouch capabilities --output json
119
+ ```
120
+
121
+ Important sections:
122
+
123
+ - `automation.providers`: provider setup contracts
124
+ - `automation.workflow_blueprints`: common multi-step workflow patterns
125
+ - `inspection.research_table`: exact row/cell audit endpoints and audit loop
126
+
127
+ ## Local Backend
128
+
129
+ Point the CLI at a local backend when you want fast iteration against `run_local.sh` or another local stack:
130
+
131
+ ```bash
132
+ autotouch capabilities --base-url http://localhost:8005 --output json
133
+ ```
134
+
135
+ Use a dedicated `AUTOTOUCH_CONFIG_PATH` if you want a clean local account instead of your saved config.
136
+
137
+ ## Docs
138
+
139
+ - Full CLI reference: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/reference/autotouch-cli.md
140
+ - Agent playbook: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/guides/autotouch-cli-agent-playbook.md
141
+ - Tables/API reference: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/reference/tables-api.md
142
+ - Authentication/scopes: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/platform/authentication.md
@@ -0,0 +1,133 @@
1
+ # Autotouch CLI
2
+
3
+ Installable CLI for the Smart Table developer API.
4
+
5
+ Use it when you want command-driven access to tables, columns, runs, jobs, leads, sequences, and task workflows without hand-writing raw HTTP requests.
6
+
7
+ The CLI talks to the same API the product uses. For automation, prefer `--output json`.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ pipx install autotouch-cli
13
+ # or
14
+ pip install autotouch-cli
15
+ ```
16
+
17
+ ## First Run
18
+
19
+ Existing developer key:
20
+
21
+ ```bash
22
+ autotouch setup --api-key stk_... --base-url https://app.autotouch.ai
23
+ ```
24
+
25
+ Equivalent manual steps:
26
+
27
+ ```bash
28
+ autotouch auth set-key --api-key stk_... --base-url https://app.autotouch.ai
29
+ autotouch auth check --base-url https://app.autotouch.ai
30
+ ```
31
+
32
+ Fresh account:
33
+
34
+ ```bash
35
+ export AUTOTOUCH_CONFIG_PATH=/tmp/autotouch-audit.json
36
+
37
+ autotouch auth bootstrap \
38
+ --first-name Ada \
39
+ --last-name Lovelace \
40
+ --email ada+audit@example.com \
41
+ --password 'use-a-strong-random-password' \
42
+ --organization-name "Audit Org" \
43
+ --save-key
44
+
45
+ autotouch auth check
46
+ ```
47
+
48
+ ## 5-Minute Flow
49
+
50
+ ```bash
51
+ # 0) First-run setup
52
+ autotouch setup --api-key stk_... --base-url https://app.autotouch.ai
53
+
54
+ # 1) Inspect machine-readable contract
55
+ autotouch capabilities --output json
56
+
57
+ # 2) Create a table and capture its id
58
+ autotouch tables create --name "CLI Contacts" --output json > table.json
59
+ TABLE_ID=$(python3 -c 'import json; print(json.load(open("table.json"))["id"])')
60
+
61
+ # 3) Add a couple rows with the default lead_finder recipe's expected field
62
+ autotouch rows add \
63
+ --table-id "$TABLE_ID" \
64
+ --records-json '[{"domain":"openai.com","companyName":"OpenAI"},{"domain":"stripe.com","companyName":"Stripe"}]' \
65
+ --output json > rows.json
66
+ ROW_ID=$(python3 -c 'import json; print((json.load(open("rows.json")).get("rowIds") or [None])[0])')
67
+
68
+ # 4) Generate a provider-backed column payload
69
+ autotouch columns recipe --type lead_finder --out-file column.json
70
+
71
+ # 5) Create the column and capture its id
72
+ autotouch columns create --table-id "$TABLE_ID" --data-file column.json --output json > column-create.json
73
+ COLUMN_ID=$(python3 -c 'import json; print(json.load(open("column-create.json"))["id"])')
74
+
75
+ # 6) Run a small controlled slice and capture the bulk job id
76
+ autotouch columns run-next \
77
+ --table-id "$TABLE_ID" \
78
+ --column-id "$COLUMN_ID" \
79
+ --count 10 \
80
+ --show-estimate \
81
+ --wait \
82
+ --output json > run.json
83
+ JOB_ID=$(python3 -c 'import json; payload=json.load(open("run.json")); print(payload.get("job_id") or payload.get("jobId"))')
84
+
85
+ # 7) Verify backend truth
86
+ autotouch jobs get --job-id "$JOB_ID" --output json
87
+
88
+ # 8) Inspect exactly what changed
89
+ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
90
+ ```
91
+
92
+ ## Cheat Sheet
93
+
94
+ - Create table: `autotouch tables create`
95
+ - Add rows: `autotouch rows add`
96
+ - Inspect rows: `autotouch rows list`, `autotouch rows get`
97
+ - Inspect one cell: `autotouch cells get`
98
+ - Create a workflow column: `autotouch columns recipe`, `autotouch columns create`
99
+ - Run controlled slices: `autotouch columns run-next`
100
+ - Poll authoritative state: `autotouch jobs get`
101
+ - Create/activate sequences: `autotouch sequences recipe`, `autotouch sequences create`, `autotouch sequences activate`
102
+ - Query leads: `autotouch leads query`
103
+
104
+ ## Automation Workflow
105
+
106
+ For automation or agent-driven setup, read machine-readable contract first:
107
+
108
+ ```bash
109
+ autotouch capabilities --output json
110
+ ```
111
+
112
+ Important sections:
113
+
114
+ - `automation.providers`: provider setup contracts
115
+ - `automation.workflow_blueprints`: common multi-step workflow patterns
116
+ - `inspection.research_table`: exact row/cell audit endpoints and audit loop
117
+
118
+ ## Local Backend
119
+
120
+ Point the CLI at a local backend when you want fast iteration against `run_local.sh` or another local stack:
121
+
122
+ ```bash
123
+ autotouch capabilities --base-url http://localhost:8005 --output json
124
+ ```
125
+
126
+ Use a dedicated `AUTOTOUCH_CONFIG_PATH` if you want a clean local account instead of your saved config.
127
+
128
+ ## Docs
129
+
130
+ - Full CLI reference: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/reference/autotouch-cli.md
131
+ - Agent playbook: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/guides/autotouch-cli-agent-playbook.md
132
+ - Tables/API reference: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/research-table/reference/tables-api.md
133
+ - Authentication/scopes: https://github.com/nicolonic/autotouch_main/blob/autotouch-cli-v0.2.32/docs/platform/authentication.md