primethink-cli 1.3.4__tar.gz → 1.4.1__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 (47) hide show
  1. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/MANIFEST.in +2 -0
  2. {primethink_cli-1.3.4/primethink_cli.egg-info → primethink_cli-1.4.1}/PKG-INFO +59 -6
  3. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/README.md +56 -3
  4. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/SPECS.md +123 -5
  5. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/USER_GUIDE.md +527 -15
  6. primethink_cli-1.4.1/docs/cli-reference.md +2725 -0
  7. primethink_cli-1.4.1/primethink.py +5345 -0
  8. {primethink_cli-1.3.4 → primethink_cli-1.4.1/primethink_cli.egg-info}/PKG-INFO +59 -6
  9. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/primethink_cli.egg-info/SOURCES.txt +0 -1
  10. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/primethink_cli.egg-info/requires.txt +2 -2
  11. primethink_cli-1.4.1/primethink_mcp.py +2281 -0
  12. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/pyproject.toml +5 -3
  13. primethink_cli-1.4.1/skills/primethink-cli/SKILL.md +502 -0
  14. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_agent_commands.py +17 -0
  15. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_cli.py +1569 -2
  16. primethink_cli-1.4.1/tests/test_mcp_server.py +1357 -0
  17. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_search_commands.py +20 -0
  18. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_task_commands.py +28 -0
  19. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_whoami.py +16 -7
  20. primethink_cli-1.3.4/docs/cli-reference.md +0 -1400
  21. primethink_cli-1.3.4/docs/superpowers/specs/2026-08-16-install-attached-skills-design.md +0 -184
  22. primethink_cli-1.3.4/primethink.py +0 -2774
  23. primethink_cli-1.3.4/primethink_mcp.py +0 -773
  24. primethink_cli-1.3.4/skills/primethink-cli/SKILL.md +0 -191
  25. primethink_cli-1.3.4/tests/test_mcp_server.py +0 -283
  26. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/DEVELOPER.md +0 -0
  27. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/LICENSE +0 -0
  28. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/docs/install.md +0 -0
  29. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/docs/primethink_help_llms.txt +0 -0
  30. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/install/homebrew/primethink-cli.rb +0 -0
  31. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/install/install.cmd +0 -0
  32. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/install/install.ps1 +0 -0
  33. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/install/install.sh +0 -0
  34. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/primethink_cli.egg-info/dependency_links.txt +0 -0
  35. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/primethink_cli.egg-info/entry_points.txt +0 -0
  36. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/primethink_cli.egg-info/top_level.txt +0 -0
  37. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/scripts/build.sh +0 -0
  38. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/scripts/deploy.sh +0 -0
  39. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/scripts/publish.sh +0 -0
  40. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/setup.cfg +0 -0
  41. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/setup.py +0 -0
  42. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/skills/__init__.py +0 -0
  43. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_env_config.py +0 -0
  44. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_install_developer_skill.py +0 -0
  45. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_install_skill.py +0 -0
  46. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_live_app.py +0 -0
  47. {primethink_cli-1.3.4 → primethink_cli-1.4.1}/tests/test_project_workflows.py +0 -0
@@ -7,6 +7,8 @@ recursive-include docs *.md *.txt
7
7
  recursive-include install *.sh *.ps1 *.cmd *.rb
8
8
  recursive-include scripts *.sh
9
9
  recursive-include skills *.md
10
+ # Internal design/spec artifacts live under docs/ but must not ship in the sdist.
11
+ prune docs/superpowers
10
12
  global-exclude __pycache__
11
13
  global-exclude *.py[co]
12
14
  global-exclude .DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: primethink-cli
3
- Version: 1.3.4
3
+ Version: 1.4.1
4
4
  Summary: PrimeThink CLI - A powerful tool for interacting with PrimeThink AI API
5
5
  Author-email: PrimeThink <support@primethink.ai>
6
6
  License-Expression: MIT
@@ -25,11 +25,11 @@ License-File: LICENSE
25
25
  Requires-Dist: click>=8.0.0
26
26
  Requires-Dist: requests>=2.25.0
27
27
  Provides-Extra: mcp
28
- Requires-Dist: mcp>=1.2.0; extra == "mcp"
28
+ Requires-Dist: mcp<2,>=1.2.0; extra == "mcp"
29
29
  Provides-Extra: dev
30
30
  Requires-Dist: pytest>=7.0.0; extra == "dev"
31
31
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
32
- Requires-Dist: mcp>=1.2.0; python_version >= "3.10" and extra == "dev"
32
+ Requires-Dist: mcp<2,>=1.2.0; python_version >= "3.10" and extra == "dev"
33
33
  Dynamic: license-file
34
34
 
35
35
  # PrimeThink CLI
@@ -66,7 +66,7 @@ pt chat send --agent AGENT_ID --message "your message"
66
66
  | Command | Description |
67
67
  |---|---|
68
68
  | `pt version` | Display the CLI version |
69
- | `pt whoami` | Show the authenticated user and their groups |
69
+ | `pt whoami` | Show the authenticated user, their groups, active group, and configured providers |
70
70
  | `pt mcp` | Run PrimeThink as an MCP server (exposes the API as tools over stdio) |
71
71
  | `pt install-skill` | Install the bundled CLI agent skill for Claude Code and compatible agents |
72
72
  | `pt install-developer-skill` | Install the complete public PrimeThink developer skill, including nested resources |
@@ -89,26 +89,72 @@ pt chat send --agent AGENT_ID --message "your message"
89
89
  | `pt chat list-files` | List files and directories in a chat |
90
90
  | `pt chat upload-files` | Upload local files to a chat |
91
91
  | `pt chat download-file` | Download a file from a chat |
92
+ | `pt chat delete-file` | Delete a file from a chat by document ID (asks for confirmation) |
93
+ | `pt chat upload-text` | Create a chat document from raw text (no local file) |
94
+ | `pt chat list-users` | List a chat's members |
95
+ | `pt chat invite-members` / `pt chat remove-members` | Invite / remove users and agents in a chat |
96
+ | `pt chat edit-message` / `delete-message` / `clear-messages` / `retry-message` | Edit, delete, clear, or retry chat messages |
97
+ | `pt chat export-message` / `save-as-task` | Export a message (md/docx/pdf) or save a chat as a task |
92
98
  | `pt chat sync-to` | Sync a local directory into a chat |
93
99
  | `pt chat sync-from` | Sync a chat's files to a local directory |
94
100
  | `pt chat sync` | Two-way sync between a chat folder and a local directory |
101
+ | `pt chatdb init` | Initialize a chat's ChatDB (Live App data) store |
102
+ | `pt chatdb list` | List entities in a chat's ChatDB store |
103
+ | `pt chatdb get` | Get one ChatDB entity by ID |
104
+ | `pt chatdb add` | Add one or more rows to a ChatDB entity |
105
+ | `pt chatdb update` | Update ChatDB entities (single or bulk) |
106
+ | `pt chatdb delete` | Delete ChatDB entities (asks for confirmation) |
95
107
  | `pt collection list` | List collections (paginated, searchable) |
108
+ | `pt collection create` | Create a collection |
109
+ | `pt collection get` | Fetch a collection's details as JSON |
110
+ | `pt collection update` | Update a collection's fields (name, indexing, …) |
111
+ | `pt collection reindex` | Trigger a reindex of a collection |
112
+ | `pt collection copy` | Duplicate a collection (by UUID) |
113
+ | `pt collection delete` | Delete a collection (asks for confirmation; `--yes` to skip) |
96
114
  | `pt collection list-files` | List files and directories in a collection |
97
115
  | `pt collection upload-files` | Upload local files to a collection |
116
+ | `pt collection upload-text` | Create a collection document from raw text (no local file) |
117
+ | `pt collection delete-file` | Delete files from a collection by document ID (asks for confirmation) |
98
118
  | `pt collection download-file` | Download a file from a collection |
99
119
  | `pt collection sync-to` | Sync a local directory into a collection |
100
120
  | `pt collection sync-from` | Sync a collection's files to a local directory |
101
- | `pt agent list` | List agents (virtual assistants), filterable by name/type/status |
121
+ | `pt agent list` | List agents (virtual assistants), filterable by name/type/status (`--summary` trims heavy config) |
102
122
  | `pt agent get` | Fetch an agent's details as JSON |
103
123
  | `pt agent create` | Create an agent |
104
124
  | `pt agent update` | Update fields on an existing agent |
105
125
  | `pt agent delete` | Delete an agent (asks for confirmation; `--yes` to skip) |
106
126
  | `pt agent types` | List available agent types |
127
+ | `pt agent list-docs` | List documents in an agent's knowledge base |
128
+ | `pt agent upload-docs` | Upload files to an agent's knowledge base |
129
+ | `pt agent attach-collections` / `pt agent detach-collection` | Attach / detach collections for agent RAG |
130
+ | `pt agent upload-image` / `pt agent delete-image` | Upload / delete an agent's image |
131
+ | `pt capability list` / `create` / `update` / `delete` | Manage agent capabilities |
132
+ | `pt capability archive` / `unarchive` / `duplicate` | Archive, unarchive, or duplicate a capability |
133
+ | `pt capability resolve` | Resolve capability codes/ids to ids |
134
+ | `pt models list` / `pt models embeddings` | Discover LLM / embedding models from the catalog |
135
+ | `pt scheduled-job list` / `create` / `update` | Manage scheduled jobs (prompts on a schedule) in a chat |
136
+ | `pt scheduled-job set-status` / `delete` | Pause/resume or delete a scheduled job |
137
+ | `pt {chat,collection,task,agent} mkdir` / `rmdir` | Create / delete a folder in a chat, collection, task, or agent |
138
+ | `pt {chat,collection,task,agent} move-dir` / `rename-dir` | Move / rename a folder |
139
+ | `pt {chat,collection,task} list-versions` / `new-version` / `new-text-version` | Manage a document's versions |
140
+ | `pt {chat,collection,task} set-production-version` / `delete-version` | Promote or delete a document version |
141
+ | `pt workspace list` / `create` / `rename` / `set-goal` / `delete` | Manage chat workspaces |
142
+ | `pt workspace archive` / `pin` / `add-chat` / `remove-chat` | Organize chats within workspaces |
143
+ | `pt tag list` / `create` / `assign` | List, create, and assign tags (task/agent/capability/collection) |
144
+ | `pt group list` / `get` / `create` / `update` / `delete` | Manage groups (organizations) |
145
+ | `pt group members` / `remove-member` / `invite` / `add-agent` | Manage group members, invites, and agents |
146
+ | `pt settings list` / `get` / `set` / `delete` | Manage group/user settings and provider API keys (secrets never shown) |
147
+ | `pt user list` / `search` | Look up users you can see by name or email |
148
+ | `pt notification list` / `unread-count` | List your notifications or count the unread ones |
149
+ | `pt notification mark-read` / `mark-unread` / `mark-all-read` / `delete` | Mark notifications read/unread, mark all read, or delete one |
150
+ | `pt task list` | List tasks, filterable by name/type/status and paginated |
107
151
  | `pt task actions` | List available task actions |
108
152
  | `pt task execute` | Execute a task action with a message and optional files |
109
153
  | `pt task create` | Create a task (supports schedules, canvases, and more) |
110
154
  | `pt task update` | Update fields on an existing task |
111
155
  | `pt task get` | Fetch a task's details as JSON |
156
+ | `pt task upload-text` | Create a task document from raw text (no local file) |
157
+ | `pt task add-docs` / `pt task delete-docs` | Add / delete task knowledge documents |
112
158
  | `pt task delete` | Delete a task (asks for confirmation; `--yes` to skip) |
113
159
  | `pt task duplicate` | Duplicate a task |
114
160
  | `pt task set-public` / `pt task set-private` | Make a task public / private |
@@ -118,17 +164,24 @@ pt chat send --agent AGENT_ID --message "your message"
118
164
  | `pt task import` | Create a new task from an exported JSON file (deploy across environments with `--profile`) |
119
165
  | `pt task create-version` | Snapshot a task's current state as a named version |
120
166
  | `pt task upload-image` | Upload an image for a task |
167
+ | `pt eval list` / `add` / `update` / `delete` | Manage a task's evaluation-data set (the test plan) |
168
+ | `pt eval settings` | Configure a task's evaluation settings (schedule, evaluator, thresholds) |
169
+ | `pt eval run` / `runs` / `run-get` / `results` / `download` | Run a task evaluation and inspect its runs and results |
170
+ | `pt eval simulate` / `simulations` / `delete-simulation` | Run and manage agent-vs-agent task simulations |
121
171
  | `pt search documents` | Semantic search across documents in a vector store collection |
122
172
  | `pt search chat` | Semantic search within a chat |
123
173
  | `pt search collection` | Semantic search within a collection |
124
174
  | `pt search messages` | Semantic search across chat messages |
175
+ | `pt search images` | Search a collection's images by example image and/or text |
125
176
  | `pt image generate` | Generate an AI image and save it locally |
177
+ | `pt voice stt` / `tts` / `diarize` / `translate` | Transcribe, synthesize, diarize, or translate audio |
178
+ | `pt video analyze` | Analyze a video file |
126
179
 
127
180
  Every command that calls the API also accepts `--profile` (use a specific profile for one request) and `--api-url`/`-u` (override the API URL for one request). See the [full CLI reference](docs/cli-reference.md) for every option and example.
128
181
 
129
182
  `--help` works in either position: `pt chat send --help`, `pt chat --help send`, and `pt --help chat send` all print the same page.
130
183
 
131
- > **Tip:** `-p` is the short flag for `--profile` in the `pt task`, `pt agent`, and `pt search` groups, `pt image generate`, and `pt whoami`, but in the `pt chat` and `pt collection` groups there is no `-p` for profile — there `-p` means `--path` (a directory inside the chat/collection) on the file commands. Use the long form `--profile` when in doubt.
184
+ > **Tip:** `-p` is the short flag for `--profile` in most groups (e.g. `pt task`, `pt agent`, `pt search`, `pt settings`, `pt user`, `pt notification`, `pt eval`), `pt image generate`, and `pt whoami`, but in the `pt chat` and `pt collection` groups there is no `-p` for profile — there `-p` means `--path` (a directory inside the chat/collection) on the file commands. Use the long form `--profile` when in doubt.
132
185
 
133
186
  ## Configuration
134
187
 
@@ -32,7 +32,7 @@ pt chat send --agent AGENT_ID --message "your message"
32
32
  | Command | Description |
33
33
  |---|---|
34
34
  | `pt version` | Display the CLI version |
35
- | `pt whoami` | Show the authenticated user and their groups |
35
+ | `pt whoami` | Show the authenticated user, their groups, active group, and configured providers |
36
36
  | `pt mcp` | Run PrimeThink as an MCP server (exposes the API as tools over stdio) |
37
37
  | `pt install-skill` | Install the bundled CLI agent skill for Claude Code and compatible agents |
38
38
  | `pt install-developer-skill` | Install the complete public PrimeThink developer skill, including nested resources |
@@ -55,26 +55,72 @@ pt chat send --agent AGENT_ID --message "your message"
55
55
  | `pt chat list-files` | List files and directories in a chat |
56
56
  | `pt chat upload-files` | Upload local files to a chat |
57
57
  | `pt chat download-file` | Download a file from a chat |
58
+ | `pt chat delete-file` | Delete a file from a chat by document ID (asks for confirmation) |
59
+ | `pt chat upload-text` | Create a chat document from raw text (no local file) |
60
+ | `pt chat list-users` | List a chat's members |
61
+ | `pt chat invite-members` / `pt chat remove-members` | Invite / remove users and agents in a chat |
62
+ | `pt chat edit-message` / `delete-message` / `clear-messages` / `retry-message` | Edit, delete, clear, or retry chat messages |
63
+ | `pt chat export-message` / `save-as-task` | Export a message (md/docx/pdf) or save a chat as a task |
58
64
  | `pt chat sync-to` | Sync a local directory into a chat |
59
65
  | `pt chat sync-from` | Sync a chat's files to a local directory |
60
66
  | `pt chat sync` | Two-way sync between a chat folder and a local directory |
67
+ | `pt chatdb init` | Initialize a chat's ChatDB (Live App data) store |
68
+ | `pt chatdb list` | List entities in a chat's ChatDB store |
69
+ | `pt chatdb get` | Get one ChatDB entity by ID |
70
+ | `pt chatdb add` | Add one or more rows to a ChatDB entity |
71
+ | `pt chatdb update` | Update ChatDB entities (single or bulk) |
72
+ | `pt chatdb delete` | Delete ChatDB entities (asks for confirmation) |
61
73
  | `pt collection list` | List collections (paginated, searchable) |
74
+ | `pt collection create` | Create a collection |
75
+ | `pt collection get` | Fetch a collection's details as JSON |
76
+ | `pt collection update` | Update a collection's fields (name, indexing, …) |
77
+ | `pt collection reindex` | Trigger a reindex of a collection |
78
+ | `pt collection copy` | Duplicate a collection (by UUID) |
79
+ | `pt collection delete` | Delete a collection (asks for confirmation; `--yes` to skip) |
62
80
  | `pt collection list-files` | List files and directories in a collection |
63
81
  | `pt collection upload-files` | Upload local files to a collection |
82
+ | `pt collection upload-text` | Create a collection document from raw text (no local file) |
83
+ | `pt collection delete-file` | Delete files from a collection by document ID (asks for confirmation) |
64
84
  | `pt collection download-file` | Download a file from a collection |
65
85
  | `pt collection sync-to` | Sync a local directory into a collection |
66
86
  | `pt collection sync-from` | Sync a collection's files to a local directory |
67
- | `pt agent list` | List agents (virtual assistants), filterable by name/type/status |
87
+ | `pt agent list` | List agents (virtual assistants), filterable by name/type/status (`--summary` trims heavy config) |
68
88
  | `pt agent get` | Fetch an agent's details as JSON |
69
89
  | `pt agent create` | Create an agent |
70
90
  | `pt agent update` | Update fields on an existing agent |
71
91
  | `pt agent delete` | Delete an agent (asks for confirmation; `--yes` to skip) |
72
92
  | `pt agent types` | List available agent types |
93
+ | `pt agent list-docs` | List documents in an agent's knowledge base |
94
+ | `pt agent upload-docs` | Upload files to an agent's knowledge base |
95
+ | `pt agent attach-collections` / `pt agent detach-collection` | Attach / detach collections for agent RAG |
96
+ | `pt agent upload-image` / `pt agent delete-image` | Upload / delete an agent's image |
97
+ | `pt capability list` / `create` / `update` / `delete` | Manage agent capabilities |
98
+ | `pt capability archive` / `unarchive` / `duplicate` | Archive, unarchive, or duplicate a capability |
99
+ | `pt capability resolve` | Resolve capability codes/ids to ids |
100
+ | `pt models list` / `pt models embeddings` | Discover LLM / embedding models from the catalog |
101
+ | `pt scheduled-job list` / `create` / `update` | Manage scheduled jobs (prompts on a schedule) in a chat |
102
+ | `pt scheduled-job set-status` / `delete` | Pause/resume or delete a scheduled job |
103
+ | `pt {chat,collection,task,agent} mkdir` / `rmdir` | Create / delete a folder in a chat, collection, task, or agent |
104
+ | `pt {chat,collection,task,agent} move-dir` / `rename-dir` | Move / rename a folder |
105
+ | `pt {chat,collection,task} list-versions` / `new-version` / `new-text-version` | Manage a document's versions |
106
+ | `pt {chat,collection,task} set-production-version` / `delete-version` | Promote or delete a document version |
107
+ | `pt workspace list` / `create` / `rename` / `set-goal` / `delete` | Manage chat workspaces |
108
+ | `pt workspace archive` / `pin` / `add-chat` / `remove-chat` | Organize chats within workspaces |
109
+ | `pt tag list` / `create` / `assign` | List, create, and assign tags (task/agent/capability/collection) |
110
+ | `pt group list` / `get` / `create` / `update` / `delete` | Manage groups (organizations) |
111
+ | `pt group members` / `remove-member` / `invite` / `add-agent` | Manage group members, invites, and agents |
112
+ | `pt settings list` / `get` / `set` / `delete` | Manage group/user settings and provider API keys (secrets never shown) |
113
+ | `pt user list` / `search` | Look up users you can see by name or email |
114
+ | `pt notification list` / `unread-count` | List your notifications or count the unread ones |
115
+ | `pt notification mark-read` / `mark-unread` / `mark-all-read` / `delete` | Mark notifications read/unread, mark all read, or delete one |
116
+ | `pt task list` | List tasks, filterable by name/type/status and paginated |
73
117
  | `pt task actions` | List available task actions |
74
118
  | `pt task execute` | Execute a task action with a message and optional files |
75
119
  | `pt task create` | Create a task (supports schedules, canvases, and more) |
76
120
  | `pt task update` | Update fields on an existing task |
77
121
  | `pt task get` | Fetch a task's details as JSON |
122
+ | `pt task upload-text` | Create a task document from raw text (no local file) |
123
+ | `pt task add-docs` / `pt task delete-docs` | Add / delete task knowledge documents |
78
124
  | `pt task delete` | Delete a task (asks for confirmation; `--yes` to skip) |
79
125
  | `pt task duplicate` | Duplicate a task |
80
126
  | `pt task set-public` / `pt task set-private` | Make a task public / private |
@@ -84,17 +130,24 @@ pt chat send --agent AGENT_ID --message "your message"
84
130
  | `pt task import` | Create a new task from an exported JSON file (deploy across environments with `--profile`) |
85
131
  | `pt task create-version` | Snapshot a task's current state as a named version |
86
132
  | `pt task upload-image` | Upload an image for a task |
133
+ | `pt eval list` / `add` / `update` / `delete` | Manage a task's evaluation-data set (the test plan) |
134
+ | `pt eval settings` | Configure a task's evaluation settings (schedule, evaluator, thresholds) |
135
+ | `pt eval run` / `runs` / `run-get` / `results` / `download` | Run a task evaluation and inspect its runs and results |
136
+ | `pt eval simulate` / `simulations` / `delete-simulation` | Run and manage agent-vs-agent task simulations |
87
137
  | `pt search documents` | Semantic search across documents in a vector store collection |
88
138
  | `pt search chat` | Semantic search within a chat |
89
139
  | `pt search collection` | Semantic search within a collection |
90
140
  | `pt search messages` | Semantic search across chat messages |
141
+ | `pt search images` | Search a collection's images by example image and/or text |
91
142
  | `pt image generate` | Generate an AI image and save it locally |
143
+ | `pt voice stt` / `tts` / `diarize` / `translate` | Transcribe, synthesize, diarize, or translate audio |
144
+ | `pt video analyze` | Analyze a video file |
92
145
 
93
146
  Every command that calls the API also accepts `--profile` (use a specific profile for one request) and `--api-url`/`-u` (override the API URL for one request). See the [full CLI reference](docs/cli-reference.md) for every option and example.
94
147
 
95
148
  `--help` works in either position: `pt chat send --help`, `pt chat --help send`, and `pt --help chat send` all print the same page.
96
149
 
97
- > **Tip:** `-p` is the short flag for `--profile` in the `pt task`, `pt agent`, and `pt search` groups, `pt image generate`, and `pt whoami`, but in the `pt chat` and `pt collection` groups there is no `-p` for profile — there `-p` means `--path` (a directory inside the chat/collection) on the file commands. Use the long form `--profile` when in doubt.
150
+ > **Tip:** `-p` is the short flag for `--profile` in most groups (e.g. `pt task`, `pt agent`, `pt search`, `pt settings`, `pt user`, `pt notification`, `pt eval`), `pt image generate`, and `pt whoami`, but in the `pt chat` and `pt collection` groups there is no `-p` for profile — there `-p` means `--path` (a directory inside the chat/collection) on the file commands. Use the long form `--profile` when in doubt.
98
151
 
99
152
  ## Configuration
100
153
 
@@ -34,7 +34,7 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
34
34
  | CLI command | Method & endpoint |
35
35
  |---|---|
36
36
  | `pt task actions` | `GET /api/v1/tasks/available_task_actions` |
37
- | `pt task execute` | `POST /api/v1/tasks/execute_task_action` |
37
+ | `pt task execute` | `POST /api/v1/tasks/{action_name}/execute` |
38
38
  | `pt chat send CHAT_ID` | `POST /api/v1/chats/{chat_id_or_mention}/messages` |
39
39
  | `pt chat send --agent ID` | `POST /api/v1/virtual-assistants/{agent_id}/messages` |
40
40
  | `pt chat list` | `GET /api/v1/chats` |
@@ -48,8 +48,38 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
48
48
  | `pt chat list-files` | `GET /api/v1/chats/{chat_id}/directories` |
49
49
  | `pt chat upload-files` / `sync-to` | `POST /api/v1/chats/{chat_id}/documents` |
50
50
  | `pt chat download-file` (filename lookup, then download below) | `GET /api/v1/chats/{chat_id}/document/{document_id}` |
51
+ | `pt chat delete-file` | `DELETE /api/v1/chats/{chat_id}/document/{document_id}` |
52
+ | `pt chat upload-text` | `POST /api/v1/chats/{chat_id}/texts` (bare array; `path` is a query param) |
53
+ | `pt chat list-users` | `GET /api/v1/chats/{chat_id}/users` |
54
+ | `pt chat invite-members` | `POST /api/v1/chats/{chat_id}/members` (`{user_ids, vas_ids}`) |
55
+ | `pt chat remove-members` | `DELETE /api/v1/chats/{chat_id}/members` (`{user_ids, vas_ids}`) |
56
+ | `pt chat edit-message` | `PUT /api/v1/chats/update_message_text/{message_id}` (`{message}`) |
57
+ | `pt chat delete-message` | `DELETE /api/v1/chats/{chat_id}/messages/{message_id}` |
58
+ | `pt chat clear-messages` | `POST /api/v1/chats/{chat_id}/messages/clear` |
59
+ | `pt chat retry-message` | `POST /api/v1/chats/messages/{message_id}/retry` |
60
+ | `pt chat export-message` | `GET /api/v1/chats/{chat_id}/save-as-{md\|docx\|pdf}-file/{msg_id}` |
61
+ | `pt chat save-as-task` | `POST /api/v1/chats/{chat_id}/save-as-task` |
62
+ | `pt scheduled-job list` | `GET /api/v1/scheduled_jobs/scheduled_jobs_in_chat/{chat_id}` |
63
+ | `pt scheduled-job create` | `POST /api/v1/scheduled_jobs/scheduled_job_in_chat` |
64
+ | `pt scheduled-job update` | `PUT /api/v1/scheduled_jobs/scheduled_job_in_chat/{job_id}` |
65
+ | `pt scheduled-job set-status` | `PATCH /api/v1/scheduled_jobs/scheduled_job_in_chat/{job_id}/status?status=Active\|Paused` |
66
+ | `pt scheduled-job delete` | `DELETE /api/v1/scheduled_jobs/scheduled_job_in_chat/{job_id}` |
51
67
  | document download (used by `download-file` and `sync-from`) | `GET /api/v1/documents/{document_id}/download` |
68
+ | `pt chatdb init` | `POST /api/v1/chats/{chat_id}/chatdb/init` |
69
+ | `pt chatdb list` | `POST /api/v1/chats/{chat_id}/chatdb/list` |
70
+ | `pt chatdb get` | `GET /api/v1/chats/{chat_id}/chatdb/entities/{entity_id}` |
71
+ | `pt chatdb add` | `POST /api/v1/chats/{chat_id}/chatdb/entities` |
72
+ | `pt chatdb update` | `PATCH /api/v1/chats/{chat_id}/chatdb/entities` |
73
+ | `pt chatdb delete` | `DELETE /api/v1/chats/{chat_id}/chatdb/entities` |
52
74
  | `pt collection list` | `GET /api/v1/collections` |
75
+ | `pt collection create` | `POST /api/v1/collections` (params: `name`, `description`, `type`, `public`) |
76
+ | `pt collection get` | `GET /api/v1/collections/{collection_id}` |
77
+ | `pt collection update` | `PATCH /api/v1/collections/{collection_id}` |
78
+ | `pt collection reindex` | `POST /api/v1/collections/{collection_id}/reindex` |
79
+ | `pt collection copy` | `POST /api/v1/collections/{collection_uuid}/copy` |
80
+ | `pt collection upload-text` | `POST /api/v1/collections/{collection_id}/texts` (`{texts, path}` body) |
81
+ | `pt collection delete` | `DELETE /api/v1/collections/{collection_id}` |
82
+ | `pt collection delete-file` | `DELETE /api/v1/collections/{collection_id}/documents` (body: array of document IDs) |
53
83
  | `pt collection list-files` | `GET /api/v1/collections/{collection_id}/directories` |
54
84
  | `pt collection upload-files` / `sync-to` | `POST /api/v1/collections/{collection_id}/documents` |
55
85
  | `pt collection download-file` (filename lookup, then download above) | `GET /api/v1/collections/{collection_id}` |
@@ -59,9 +89,28 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
59
89
  | `pt agent update` | `PATCH /api/v1/virtual-assistants/{va_id}` |
60
90
  | `pt agent delete` | `DELETE /api/v1/virtual-assistants/{va_id}` |
61
91
  | `pt agent types` | `GET /api/v1/virtual-assistants/types` |
92
+ | `pt agent list-docs` | `GET /api/v1/virtual-assistants/{va_id}/documents` |
93
+ | `pt agent upload-docs` | `POST /api/v1/virtual-assistants/{va_id}/documents` (multipart) |
94
+ | `pt agent attach-collections` | `POST /api/v1/virtual-assistants/{va_id}/collections/attach` |
95
+ | `pt agent detach-collection` | `DELETE /api/v1/virtual-assistants/{va_id}/collections/{collection_id}` |
96
+ | `pt agent upload-image` | `POST /api/v1/virtual-assistants/{va_id}/image` (multipart) |
97
+ | `pt agent delete-image` | `DELETE /api/v1/virtual-assistants/{va_id}/image` |
98
+ | `pt capability list` | `GET /api/v1/virtual-assistants/capabilities` |
99
+ | `pt capability create` | `POST /api/v1/virtual-assistants/capabilities` |
100
+ | `pt capability update` | `PATCH /api/v1/virtual-assistants/capabilities/{capability_id}` |
101
+ | `pt capability delete` | `DELETE /api/v1/virtual-assistants/capabilities/{capability_id}` |
102
+ | `pt capability archive` / `unarchive` | `PUT /api/v1/virtual-assistants/capabilities/{capability_id}/archived?archived=true\|false` |
103
+ | `pt capability duplicate` | `POST /api/v1/virtual-assistants/capabilities/{capability_id}/duplicate` |
104
+ | `pt capability resolve` | resolves capability codes/ids to ids via `GET /api/v1/virtual-assistants/capabilities` |
105
+ | `pt models list` | `GET /api/v1/catalog/llm/models` |
106
+ | `pt models embeddings` | `GET /api/v1/catalog/embeddings/models` |
107
+ | `pt task list` | `GET /api/v1/tasks/` |
62
108
  | `pt task create` | `POST /api/v1/tasks/` |
63
109
  | `pt task update` | `PATCH /api/v1/tasks/{task_id}` |
64
110
  | `pt task get` | `GET /api/v1/tasks/{task_id}` |
111
+ | `pt task upload-text` | `POST /api/v1/tasks/{task_id}/texts` (bare array; `path` is a query param) |
112
+ | `pt task add-docs` | `POST /api/v1/tasks/{task_id}/documents` (multipart) |
113
+ | `pt task delete-docs` | `DELETE /api/v1/tasks/{task_id}/documents` (`{document_ids}`) |
65
114
  | `pt task delete` | `DELETE /api/v1/tasks/{task_id}` |
66
115
  | `pt task duplicate` | `POST /api/v1/tasks/{task_id}/duplicate` |
67
116
  | `pt task set-public` / `set-private` | `PATCH /api/v1/tasks/{task_id}/public-status?task_type=public\|private` |
@@ -77,8 +126,74 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
77
126
  | `pt search chat` | `GET /api/v1/chats/{chat_id}/semantic_search` |
78
127
  | `pt search collection` | `POST /api/v1/collections/{collection_id}/search` |
79
128
  | `pt search messages` | `GET /api/v1/chats/chat_semantic_search_messages` |
129
+ | `pt search images` | `POST /api/v1/collections/{collection_id}/search/images` (multipart `image`, form `query`) |
80
130
  | `pt image generate` | `POST /api/v1/images/tti` |
81
- | `pt whoami` | `GET /api/v1/users/me` + `GET /api/v1/users/me/groups` |
131
+ | `pt voice stt` | `POST /api/v1/voice/stt` (multipart `file`) |
132
+ | `pt voice tts` | `POST /api/v1/voice/tts` (JSON; returns audio or JSON) |
133
+ | `pt voice diarize` | `POST /api/v1/voice/diarize` (multipart `file`[, `speaker_file`]) |
134
+ | `pt voice translate` | `POST /api/v1/voice/translate` (multipart `file`) |
135
+ | `pt video analyze` | `POST /api/v1/video/analyze` (multipart `file`) |
136
+ | `pt whoami` | `GET /api/v1/users/me` + `GET /api/v1/users/me/groups` (response also includes `active_group` and `configured_providers`) |
137
+ | `pt workspace list` | `GET /api/v1/chat-workspaces` |
138
+ | `pt workspace create` | `POST /api/v1/chat-workspaces` |
139
+ | `pt workspace rename` | `PUT /api/v1/chat-workspaces/{id}/name` |
140
+ | `pt workspace set-goal` | `PUT /api/v1/chat-workspaces/{id}/goal` |
141
+ | `pt workspace archive` / `unarchive` | `POST /api/v1/chat-workspaces/{id}/archive/{true\|false}` |
142
+ | `pt workspace pin` / `unpin` | `POST /api/v1/chat-workspaces/{id}/pin/{true\|false}` |
143
+ | `pt workspace add-chat` | `POST /api/v1/chat-workspaces/{id}/add-chat/{chat_id}` |
144
+ | `pt workspace remove-chat` | `DELETE /api/v1/chat-workspaces/remove-chat/{chat_id}` |
145
+ | `pt workspace delete` | `DELETE /api/v1/chat-workspaces/{id}?delete_chats_in_workspace=` |
146
+ | `pt tag list` | `GET /api/v1/tags?model=` |
147
+ | `pt tag create` | `POST /api/v1/tags` (`{model, name, tag_category}`) |
148
+ | `pt tag assign` | `PUT /api/v1/tags/assignments` (`{model, owner_id, tag_ids}`) |
149
+ | `pt group list` | `GET /api/v1/groups/` |
150
+ | `pt group get` | `GET /api/v1/groups/{group_id}` |
151
+ | `pt group create` | `POST /api/v1/groups/` |
152
+ | `pt group update` | `PUT /api/v1/groups/{group_id}` |
153
+ | `pt group delete` | `DELETE /api/v1/groups/{group_id}` |
154
+ | `pt group members` | `GET /api/v1/groups/{group_id}/members` |
155
+ | `pt group remove-member` | `DELETE /api/v1/groups/{group_id}/members/` (`[user_ids]`) |
156
+ | `pt group invite` | `POST /api/v1/groups/invite/?email=&role_id=` |
157
+ | `pt group add-agent` / `remove-agent` | `POST /api/v1/groups/{group_id}/add_vas` / `DELETE .../remove_vas` (`[vas_ids]`) |
158
+ | `pt settings list` | `GET /api/v1/groups/current/settings` + `GET /api/v1/users/me/settings` (+ dedicated properties); secret values never shown |
159
+ | `pt settings get` | `GET` the group or user setting for KEY (`--scope group\|user`; sensitive values redacted) |
160
+ | `pt settings set` | routed by KEY to the group/user setting endpoint; provider `*_API_KEY` keys stored as secrets |
161
+ | `pt settings delete` | `DELETE` the KV setting for KEY (`--scope group\|user`; dedicated properties can't be deleted) |
162
+ | `pt user list` / `search` | `GET /api/v1/users/me/visible-users[/full]` (search/limit are client-side) |
163
+ | `pt notification list` | `GET /api/v1/notifications?page=&page_size=` (`--unread-only` is client-side) |
164
+ | `pt notification unread-count` | `GET /api/v1/notifications/unread-count` |
165
+ | `pt notification mark-read` / `mark-unread` | `POST /api/v1/notifications/{notification_id}/mark-as-read` / `.../mark-as-unread` |
166
+ | `pt notification mark-all-read` | `POST /api/v1/notifications/mark-all-as-read` |
167
+ | `pt notification delete` | `DELETE /api/v1/notifications/{notification_id}` |
168
+ | `pt eval list` | `GET /api/v1/tasks/{task_id}/evaluation-data` |
169
+ | `pt eval add` | `POST /api/v1/tasks/{task_id}/evaluation-data` |
170
+ | `pt eval update` | `PATCH /api/v1/tasks/{task_id}/evaluation-data/{eval_id}` |
171
+ | `pt eval delete` | `DELETE /api/v1/tasks/{task_id}/evaluation-data/{eval_id}` |
172
+ | `pt eval settings` | `PATCH /api/v1/tasks/{task_id}/evaluation-settings` |
173
+ | `pt eval run` | `POST /api/v1/tasks/{task_id}/evaluation` |
174
+ | `pt eval runs` | `GET /api/v1/tasks/{task_id}/evaluations/runs/` |
175
+ | `pt eval run-get` | `GET /api/v1/tasks/{task_id}/evaluations/runs/{run_id}` |
176
+ | `pt eval results` | `GET /api/v1/tasks/{task_id}/evaluation_results` |
177
+ | `pt eval download` | `GET /api/v1/tasks/{task_id}/evaluations/runs/{run_id}/download` |
178
+ | `pt eval simulate` | `POST /api/v1/tasks/{task_id}/simulations` |
179
+ | `pt eval simulations` | `GET /api/v1/tasks/{task_id}/simulations` |
180
+ | `pt eval delete-simulation` | `DELETE /api/v1/tasks/{task_id}/simulations/{sim_id}` |
181
+ | `pt {chat,collection,task,agent} mkdir` | `POST /api/v1/{owner}/{id}/directories?path=…` |
182
+ | `pt {chat,collection,task,agent} rmdir` | `DELETE /api/v1/{owner}/{id}/directories/delete` (`{dir_path, delete_recursively}`) |
183
+ | `pt {chat,collection,task,agent} move-dir` | `POST /api/v1/{owner}/{id}/directories/move` (`{src_dir, dest_parent, merge_dirs}`) |
184
+ | `pt {chat,collection,task,agent} rename-dir` | `PUT /api/v1/{owner}/{id}/directories/rename` (`{src_dir_path, new_dir_name}`) |
185
+
186
+ `{owner}` is `chats`, `collections`, `tasks`, or `virtual-assistants`; the MCP `create_directory`/`delete_directory`/`move_directory`/`rename_directory` tools select it via an `owner_type` of `chat`/`collection`/`task`/`agent`.
187
+
188
+ | Command (under `pt chat` / `pt collection` / `pt task`) | Endpoint (`{owner}` = `chats`/`collections`/`tasks`) |
189
+ |---|---|
190
+ | `list-versions` | `GET /api/v1/{owner}/{id}/documents/{document_id}/versions` |
191
+ | `new-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/create_new_version?version_name=…` (multipart `document`) |
192
+ | `new-text-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/create_new_text_version?version_name=…` (`TextWithName` body) |
193
+ | `set-production-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/set_production_version?version_number=…` |
194
+ | `delete-version` | `DELETE /api/v1/{owner}/{id}/documents/{document_id}/delete_version/{version_number}` |
195
+
196
+ The MCP `list_document_versions`/`create_document_version`/`create_document_text_version`/`set_production_version`/`delete_document_version` tools select the owner via an `owner_type` of `chat`/`collection`/`task`.
82
197
 
83
198
  ---
84
199
 
@@ -103,12 +218,15 @@ pt task actions [--profile PROFILE_NAME] [--api-url API_URL]
103
218
 
104
219
  Execute a specific task action with a message and optional files.
105
220
 
106
- **Endpoint**: `POST /api/v1/tasks/execute_task_action`
221
+ **Endpoint**: `POST /api/v1/tasks/{task_id_or_action_name}/execute`
222
+
223
+ The action name (or task ID) is URL-encoded into the path — there is no
224
+ generic `/tasks/execute_task_action` route.
107
225
 
108
226
  **Content-Type**: `multipart/form-data`
109
227
 
110
228
  **Parameters**:
111
- - `task_action_name` (string, required): Name of the task action to execute
229
+ - `{task_id_or_action_name}` (path, required): Name of the task action to execute (or a task ID)
112
230
  - `message_input` (string, required): Input message for the task
113
231
  - `files` (file, optional): Files to attach (can be multiple)
114
232
  - `return_original_message` (boolean, optional): Whether to return the original message
@@ -735,7 +853,7 @@ pt search messages QUERY --collection-name NAME [--chat-id N] [--user-id N] [--a
735
853
 
736
854
  **Endpoints**: `GET /api/v1/users/me` and `GET /api/v1/users/me/groups`
737
855
 
738
- The CLI calls both and prints one combined JSON object: `{ "user": { ... }, "groups": [ ... ] }`.
856
+ The CLI calls both and prints one combined JSON object: `{ "user": { ... }, "groups": [ ... ], "active_group": { "id": …, "name": … }, "configured_providers": [ ... ] }`. `active_group` is the user's currently active group; `configured_providers` lists the LLM provider slugs that have an API key set.
739
857
 
740
858
  **CLI Command**:
741
859
  ```bash