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.
- autotouch_cli-0.2.34/MANIFEST.in +4 -0
- autotouch_cli-0.2.34/PKG-INFO +142 -0
- autotouch_cli-0.2.34/README.md +133 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli/cli.py +654 -49
- autotouch_cli-0.2.34/autotouch_cli.egg-info/PKG-INFO +142 -0
- autotouch_cli-0.2.34/autotouch_cli.egg-info/SOURCES.txt +14 -0
- autotouch_cli-0.2.34/autotouch_shared/linkedin_contract.py +212 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_shared/provider_registry.py +256 -2
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/pyproject.toml +5 -5
- autotouch_cli-0.2.32/PKG-INFO +0 -1525
- autotouch_cli-0.2.32/autotouch_cli.egg-info/PKG-INFO +0 -1525
- autotouch_cli-0.2.32/autotouch_cli.egg-info/SOURCES.txt +0 -21
- autotouch_cli-0.2.32/docs/research-table/reference/autotouch-cli.md +0 -1516
- autotouch_cli-0.2.32/tests/test_column_prompt_compiler.py +0 -178
- autotouch_cli-0.2.32/tests/test_contactout_custom.py +0 -227
- autotouch_cli-0.2.32/tests/test_contactout_integration.py +0 -214
- autotouch_cli-0.2.32/tests/test_contactout_multi_titles.py +0 -126
- autotouch_cli-0.2.32/tests/test_contactout_pipeline.py +0 -371
- autotouch_cli-0.2.32/tests/test_contactout_simple.py +0 -284
- autotouch_cli-0.2.32/tests/test_contactout_v2_bulk.py +0 -248
- autotouch_cli-0.2.32/tests/test_lead_required_fields.py +0 -124
- autotouch_cli-0.2.32/tests/test_phone_provider_pipeline.py +0 -651
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli/__init__.py +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/dependency_links.txt +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/entry_points.txt +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/requires.txt +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_cli.egg-info/top_level.txt +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/autotouch_shared/__init__.py +0 -0
- {autotouch_cli-0.2.32 → autotouch_cli-0.2.34}/setup.cfg +0 -0
|
@@ -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
|