primethink-cli 1.3.3__tar.gz → 1.4.0__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.
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/MANIFEST.in +2 -0
- {primethink_cli-1.3.3/primethink_cli.egg-info → primethink_cli-1.4.0}/PKG-INFO +52 -11
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/README.md +49 -8
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/SPECS.md +95 -4
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/USER_GUIDE.md +389 -5
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/docs/cli-reference.md +1161 -31
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink.py +1779 -139
- {primethink_cli-1.3.3 → primethink_cli-1.4.0/primethink_cli.egg-info}/PKG-INFO +52 -11
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink_cli.egg-info/SOURCES.txt +0 -1
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink_cli.egg-info/requires.txt +2 -2
- primethink_cli-1.4.0/primethink_mcp.py +1865 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/pyproject.toml +5 -3
- primethink_cli-1.4.0/skills/primethink-cli/SKILL.md +464 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_agent_commands.py +17 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_cli.py +1531 -170
- primethink_cli-1.4.0/tests/test_mcp_server.py +1075 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_project_workflows.py +15 -134
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_search_commands.py +20 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_task_commands.py +28 -0
- primethink_cli-1.3.3/docs/superpowers/specs/2026-08-16-install-attached-skills-design.md +0 -184
- primethink_cli-1.3.3/primethink_mcp.py +0 -773
- primethink_cli-1.3.3/skills/primethink-cli/SKILL.md +0 -190
- primethink_cli-1.3.3/tests/test_mcp_server.py +0 -283
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/DEVELOPER.md +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/LICENSE +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/docs/install.md +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/docs/primethink_help_llms.txt +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/install/homebrew/primethink-cli.rb +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/install/install.cmd +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/install/install.ps1 +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/install/install.sh +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink_cli.egg-info/dependency_links.txt +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink_cli.egg-info/entry_points.txt +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/primethink_cli.egg-info/top_level.txt +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/scripts/build.sh +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/scripts/deploy.sh +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/scripts/publish.sh +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/setup.cfg +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/setup.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/skills/__init__.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_env_config.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_install_developer_skill.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_install_skill.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_live_app.py +0 -0
- {primethink_cli-1.3.3 → primethink_cli-1.4.0}/tests/test_whoami.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
|
+
Version: 1.4.0
|
|
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
|
|
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
|
|
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
|
|
@@ -73,7 +73,6 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
73
73
|
| `pt live-app new` | Scaffold a React or HTML Live App from a GitHub template catalog |
|
|
74
74
|
| `pt live-app publish` | Create/update a Live App task and sync its flat artifact |
|
|
75
75
|
| `pt live-app test` | Sync a Live App into a new or existing chat |
|
|
76
|
-
| `pt live-app test-ui` | Run Kiro/Playwright tests against an existing Live App chat |
|
|
77
76
|
| `pt profile add` | Configure an API token for a profile |
|
|
78
77
|
| `pt profile use` | Switch the active profile |
|
|
79
78
|
| `pt profile list` | List configured profiles |
|
|
@@ -90,26 +89,66 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
90
89
|
| `pt chat list-files` | List files and directories in a chat |
|
|
91
90
|
| `pt chat upload-files` | Upload local files to a chat |
|
|
92
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 |
|
|
93
98
|
| `pt chat sync-to` | Sync a local directory into a chat |
|
|
94
99
|
| `pt chat sync-from` | Sync a chat's files to a local directory |
|
|
95
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) |
|
|
96
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) |
|
|
97
114
|
| `pt collection list-files` | List files and directories in a collection |
|
|
98
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) |
|
|
99
118
|
| `pt collection download-file` | Download a file from a collection |
|
|
100
119
|
| `pt collection sync-to` | Sync a local directory into a collection |
|
|
101
120
|
| `pt collection sync-from` | Sync a collection's files to a local directory |
|
|
102
|
-
| `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) |
|
|
103
122
|
| `pt agent get` | Fetch an agent's details as JSON |
|
|
104
123
|
| `pt agent create` | Create an agent |
|
|
105
124
|
| `pt agent update` | Update fields on an existing agent |
|
|
106
125
|
| `pt agent delete` | Delete an agent (asks for confirmation; `--yes` to skip) |
|
|
107
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 capability list` / `create` / `update` / `delete` | Manage agent capabilities |
|
|
131
|
+
| `pt capability archive` / `unarchive` / `duplicate` | Archive, unarchive, or duplicate a capability |
|
|
132
|
+
| `pt models list` / `pt models embeddings` | Discover LLM / embedding models from the catalog |
|
|
133
|
+
| `pt scheduled-job list` / `create` / `update` | Manage scheduled jobs (prompts on a schedule) in a chat |
|
|
134
|
+
| `pt scheduled-job set-status` / `delete` | Pause/resume or delete a scheduled job |
|
|
135
|
+
| `pt {chat,collection,task,agent} mkdir` / `rmdir` | Create / delete a folder in a chat, collection, task, or agent |
|
|
136
|
+
| `pt {chat,collection,task,agent} move-dir` / `rename-dir` | Move / rename a folder |
|
|
137
|
+
| `pt {chat,collection,task} list-versions` / `new-version` / `new-text-version` | Manage a document's versions |
|
|
138
|
+
| `pt {chat,collection,task} set-production-version` / `delete-version` | Promote or delete a document version |
|
|
139
|
+
| `pt workspace list` / `create` / `rename` / `set-goal` / `delete` | Manage chat workspaces |
|
|
140
|
+
| `pt workspace archive` / `pin` / `add-chat` / `remove-chat` | Organize chats within workspaces |
|
|
141
|
+
| `pt tag list` / `create` / `assign` | List, create, and assign tags (task/agent/capability/collection) |
|
|
142
|
+
| `pt group list` / `get` / `create` / `update` / `delete` | Manage groups (organizations) |
|
|
143
|
+
| `pt group members` / `remove-member` / `invite` / `add-agent` | Manage group members, invites, and agents |
|
|
144
|
+
| `pt task list` | List tasks, filterable by name/type/status and paginated |
|
|
108
145
|
| `pt task actions` | List available task actions |
|
|
109
146
|
| `pt task execute` | Execute a task action with a message and optional files |
|
|
110
147
|
| `pt task create` | Create a task (supports schedules, canvases, and more) |
|
|
111
148
|
| `pt task update` | Update fields on an existing task |
|
|
112
149
|
| `pt task get` | Fetch a task's details as JSON |
|
|
150
|
+
| `pt task upload-text` | Create a task document from raw text (no local file) |
|
|
151
|
+
| `pt task add-docs` / `pt task delete-docs` | Add / delete task knowledge documents |
|
|
113
152
|
| `pt task delete` | Delete a task (asks for confirmation; `--yes` to skip) |
|
|
114
153
|
| `pt task duplicate` | Duplicate a task |
|
|
115
154
|
| `pt task set-public` / `pt task set-private` | Make a task public / private |
|
|
@@ -123,10 +162,15 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
123
162
|
| `pt search chat` | Semantic search within a chat |
|
|
124
163
|
| `pt search collection` | Semantic search within a collection |
|
|
125
164
|
| `pt search messages` | Semantic search across chat messages |
|
|
165
|
+
| `pt search images` | Search a collection's images by example image and/or text |
|
|
126
166
|
| `pt image generate` | Generate an AI image and save it locally |
|
|
167
|
+
| `pt voice stt` / `tts` / `diarize` / `translate` | Transcribe, synthesize, diarize, or translate audio |
|
|
168
|
+
| `pt video analyze` | Analyze a video file |
|
|
127
169
|
|
|
128
170
|
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.
|
|
129
171
|
|
|
172
|
+
`--help` works in either position: `pt chat send --help`, `pt chat --help send`, and `pt --help chat send` all print the same page.
|
|
173
|
+
|
|
130
174
|
> **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.
|
|
131
175
|
|
|
132
176
|
## Configuration
|
|
@@ -341,14 +385,11 @@ pt live-app test ./my-live-app --chat-id EXISTING_CHAT_ID
|
|
|
341
385
|
# Change any chat's renderer explicitly
|
|
342
386
|
pt chat type EXISTING_CHAT_ID live-app
|
|
343
387
|
pt chat type EXISTING_CHAT_ID chat
|
|
344
|
-
|
|
345
|
-
# Run the agentic Playwright guide against that exact chat
|
|
346
|
-
pt live-app test-ui ./my-live-app EXISTING_CHAT_ID \
|
|
347
|
-
--guide ./AGENTIC_UI_TESTING.md \
|
|
348
|
-
--instructions "Verify create, edit, and delete"
|
|
349
388
|
```
|
|
350
389
|
|
|
351
|
-
Project metadata follows the reference-script conventions: `.name.config`, `.description.config`, `GOAL.md`, and optional `INITIAL_PROMPT.md`; `.image.png` is uploaded when publishing a Live App. Existing same-named app documents receive a new `Production` version, while identical content is reported as unchanged.
|
|
390
|
+
Project metadata follows the reference-script conventions: `.name.config`, `.description.config`, `GOAL.md`, and optional `INITIAL_PROMPT.md`; `.image.png` is uploaded when publishing a Live App. Existing same-named app documents receive a new `Production` version, while identical content is reported as unchanged.
|
|
391
|
+
|
|
392
|
+
Automated Live App UI testing is no longer a `pt` command. It now lives in the `primethink-developer` skill as a deterministic, plan-driven workflow: the skill authors a reviewable `tests/test_plan.yaml`, runs it with a bundled Playwright runner (no LLM in the execution loop), reads the structured results, and heals failing selectors before re-running. Install it with `pt install-developer-skill`.
|
|
352
393
|
|
|
353
394
|
## MCP Server
|
|
354
395
|
|
|
@@ -39,7 +39,6 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
39
39
|
| `pt live-app new` | Scaffold a React or HTML Live App from a GitHub template catalog |
|
|
40
40
|
| `pt live-app publish` | Create/update a Live App task and sync its flat artifact |
|
|
41
41
|
| `pt live-app test` | Sync a Live App into a new or existing chat |
|
|
42
|
-
| `pt live-app test-ui` | Run Kiro/Playwright tests against an existing Live App chat |
|
|
43
42
|
| `pt profile add` | Configure an API token for a profile |
|
|
44
43
|
| `pt profile use` | Switch the active profile |
|
|
45
44
|
| `pt profile list` | List configured profiles |
|
|
@@ -56,26 +55,66 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
56
55
|
| `pt chat list-files` | List files and directories in a chat |
|
|
57
56
|
| `pt chat upload-files` | Upload local files to a chat |
|
|
58
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 |
|
|
59
64
|
| `pt chat sync-to` | Sync a local directory into a chat |
|
|
60
65
|
| `pt chat sync-from` | Sync a chat's files to a local directory |
|
|
61
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) |
|
|
62
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) |
|
|
63
80
|
| `pt collection list-files` | List files and directories in a collection |
|
|
64
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) |
|
|
65
84
|
| `pt collection download-file` | Download a file from a collection |
|
|
66
85
|
| `pt collection sync-to` | Sync a local directory into a collection |
|
|
67
86
|
| `pt collection sync-from` | Sync a collection's files to a local directory |
|
|
68
|
-
| `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) |
|
|
69
88
|
| `pt agent get` | Fetch an agent's details as JSON |
|
|
70
89
|
| `pt agent create` | Create an agent |
|
|
71
90
|
| `pt agent update` | Update fields on an existing agent |
|
|
72
91
|
| `pt agent delete` | Delete an agent (asks for confirmation; `--yes` to skip) |
|
|
73
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 capability list` / `create` / `update` / `delete` | Manage agent capabilities |
|
|
97
|
+
| `pt capability archive` / `unarchive` / `duplicate` | Archive, unarchive, or duplicate a capability |
|
|
98
|
+
| `pt models list` / `pt models embeddings` | Discover LLM / embedding models from the catalog |
|
|
99
|
+
| `pt scheduled-job list` / `create` / `update` | Manage scheduled jobs (prompts on a schedule) in a chat |
|
|
100
|
+
| `pt scheduled-job set-status` / `delete` | Pause/resume or delete a scheduled job |
|
|
101
|
+
| `pt {chat,collection,task,agent} mkdir` / `rmdir` | Create / delete a folder in a chat, collection, task, or agent |
|
|
102
|
+
| `pt {chat,collection,task,agent} move-dir` / `rename-dir` | Move / rename a folder |
|
|
103
|
+
| `pt {chat,collection,task} list-versions` / `new-version` / `new-text-version` | Manage a document's versions |
|
|
104
|
+
| `pt {chat,collection,task} set-production-version` / `delete-version` | Promote or delete a document version |
|
|
105
|
+
| `pt workspace list` / `create` / `rename` / `set-goal` / `delete` | Manage chat workspaces |
|
|
106
|
+
| `pt workspace archive` / `pin` / `add-chat` / `remove-chat` | Organize chats within workspaces |
|
|
107
|
+
| `pt tag list` / `create` / `assign` | List, create, and assign tags (task/agent/capability/collection) |
|
|
108
|
+
| `pt group list` / `get` / `create` / `update` / `delete` | Manage groups (organizations) |
|
|
109
|
+
| `pt group members` / `remove-member` / `invite` / `add-agent` | Manage group members, invites, and agents |
|
|
110
|
+
| `pt task list` | List tasks, filterable by name/type/status and paginated |
|
|
74
111
|
| `pt task actions` | List available task actions |
|
|
75
112
|
| `pt task execute` | Execute a task action with a message and optional files |
|
|
76
113
|
| `pt task create` | Create a task (supports schedules, canvases, and more) |
|
|
77
114
|
| `pt task update` | Update fields on an existing task |
|
|
78
115
|
| `pt task get` | Fetch a task's details as JSON |
|
|
116
|
+
| `pt task upload-text` | Create a task document from raw text (no local file) |
|
|
117
|
+
| `pt task add-docs` / `pt task delete-docs` | Add / delete task knowledge documents |
|
|
79
118
|
| `pt task delete` | Delete a task (asks for confirmation; `--yes` to skip) |
|
|
80
119
|
| `pt task duplicate` | Duplicate a task |
|
|
81
120
|
| `pt task set-public` / `pt task set-private` | Make a task public / private |
|
|
@@ -89,10 +128,15 @@ pt chat send --agent AGENT_ID --message "your message"
|
|
|
89
128
|
| `pt search chat` | Semantic search within a chat |
|
|
90
129
|
| `pt search collection` | Semantic search within a collection |
|
|
91
130
|
| `pt search messages` | Semantic search across chat messages |
|
|
131
|
+
| `pt search images` | Search a collection's images by example image and/or text |
|
|
92
132
|
| `pt image generate` | Generate an AI image and save it locally |
|
|
133
|
+
| `pt voice stt` / `tts` / `diarize` / `translate` | Transcribe, synthesize, diarize, or translate audio |
|
|
134
|
+
| `pt video analyze` | Analyze a video file |
|
|
93
135
|
|
|
94
136
|
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.
|
|
95
137
|
|
|
138
|
+
`--help` works in either position: `pt chat send --help`, `pt chat --help send`, and `pt --help chat send` all print the same page.
|
|
139
|
+
|
|
96
140
|
> **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.
|
|
97
141
|
|
|
98
142
|
## Configuration
|
|
@@ -307,14 +351,11 @@ pt live-app test ./my-live-app --chat-id EXISTING_CHAT_ID
|
|
|
307
351
|
# Change any chat's renderer explicitly
|
|
308
352
|
pt chat type EXISTING_CHAT_ID live-app
|
|
309
353
|
pt chat type EXISTING_CHAT_ID chat
|
|
310
|
-
|
|
311
|
-
# Run the agentic Playwright guide against that exact chat
|
|
312
|
-
pt live-app test-ui ./my-live-app EXISTING_CHAT_ID \
|
|
313
|
-
--guide ./AGENTIC_UI_TESTING.md \
|
|
314
|
-
--instructions "Verify create, edit, and delete"
|
|
315
354
|
```
|
|
316
355
|
|
|
317
|
-
Project metadata follows the reference-script conventions: `.name.config`, `.description.config`, `GOAL.md`, and optional `INITIAL_PROMPT.md`; `.image.png` is uploaded when publishing a Live App. Existing same-named app documents receive a new `Production` version, while identical content is reported as unchanged.
|
|
356
|
+
Project metadata follows the reference-script conventions: `.name.config`, `.description.config`, `GOAL.md`, and optional `INITIAL_PROMPT.md`; `.image.png` is uploaded when publishing a Live App. Existing same-named app documents receive a new `Production` version, while identical content is reported as unchanged.
|
|
357
|
+
|
|
358
|
+
Automated Live App UI testing is no longer a `pt` command. It now lives in the `primethink-developer` skill as a deterministic, plan-driven workflow: the skill authors a reviewable `tests/test_plan.yaml`, runs it with a bundled Playwright runner (no LLM in the execution loop), reads the structured results, and heals failing selectors before re-running. Install it with `pt install-developer-skill`.
|
|
318
359
|
|
|
319
360
|
## MCP Server
|
|
320
361
|
|
|
@@ -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/
|
|
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,25 @@ 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 capability list` | `GET /api/v1/virtual-assistants/capabilities` |
|
|
97
|
+
| `pt capability create` | `POST /api/v1/virtual-assistants/capabilities` |
|
|
98
|
+
| `pt capability update` | `PATCH /api/v1/virtual-assistants/capabilities/{capability_id}` |
|
|
99
|
+
| `pt capability delete` | `DELETE /api/v1/virtual-assistants/capabilities/{capability_id}` |
|
|
100
|
+
| `pt capability archive` / `unarchive` | `PUT /api/v1/virtual-assistants/capabilities/{capability_id}/archived?archived=true\|false` |
|
|
101
|
+
| `pt capability duplicate` | `POST /api/v1/virtual-assistants/capabilities/{capability_id}/duplicate` |
|
|
102
|
+
| `pt models list` | `GET /api/v1/catalog/llm/models` |
|
|
103
|
+
| `pt models embeddings` | `GET /api/v1/catalog/embeddings/models` |
|
|
104
|
+
| `pt task list` | `GET /api/v1/tasks/` |
|
|
62
105
|
| `pt task create` | `POST /api/v1/tasks/` |
|
|
63
106
|
| `pt task update` | `PATCH /api/v1/tasks/{task_id}` |
|
|
64
107
|
| `pt task get` | `GET /api/v1/tasks/{task_id}` |
|
|
108
|
+
| `pt task upload-text` | `POST /api/v1/tasks/{task_id}/texts` (bare array; `path` is a query param) |
|
|
109
|
+
| `pt task add-docs` | `POST /api/v1/tasks/{task_id}/documents` (multipart) |
|
|
110
|
+
| `pt task delete-docs` | `DELETE /api/v1/tasks/{task_id}/documents` (`{document_ids}`) |
|
|
65
111
|
| `pt task delete` | `DELETE /api/v1/tasks/{task_id}` |
|
|
66
112
|
| `pt task duplicate` | `POST /api/v1/tasks/{task_id}/duplicate` |
|
|
67
113
|
| `pt task set-public` / `set-private` | `PATCH /api/v1/tasks/{task_id}/public-status?task_type=public\|private` |
|
|
@@ -69,7 +115,6 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
|
|
|
69
115
|
| `pt task test` | `POST /api/v1/chats` (new only), `PUT /api/v1/chats/{chat_id}/page_type` (existing only), `PUT /api/v1/chats/{chat_id}/goal` |
|
|
70
116
|
| `pt live-app publish` | task create/update + task version + task directory/document/version endpoints |
|
|
71
117
|
| `pt live-app test` | chat create/page-type/goal + chat directory/document/version endpoints |
|
|
72
|
-
| `pt live-app test-ui` | Local `kiro-cli` process; no PrimeThink API request by this command |
|
|
73
118
|
| `pt task export` | `GET /api/v1/tasks/{task_id}` (portable fields filtered client-side) |
|
|
74
119
|
| `pt task import` | `POST /api/v1/tasks/` |
|
|
75
120
|
| `pt task create-version` | `POST /api/v1/tasks/{task_id}/versions` |
|
|
@@ -78,8 +123,51 @@ To obtain an API key, go to `Settings > API Keys` in the PrimeThink app and gene
|
|
|
78
123
|
| `pt search chat` | `GET /api/v1/chats/{chat_id}/semantic_search` |
|
|
79
124
|
| `pt search collection` | `POST /api/v1/collections/{collection_id}/search` |
|
|
80
125
|
| `pt search messages` | `GET /api/v1/chats/chat_semantic_search_messages` |
|
|
126
|
+
| `pt search images` | `POST /api/v1/collections/{collection_id}/search/images` (multipart `image`, form `query`) |
|
|
81
127
|
| `pt image generate` | `POST /api/v1/images/tti` |
|
|
128
|
+
| `pt voice stt` | `POST /api/v1/voice/stt` (multipart `file`) |
|
|
129
|
+
| `pt voice tts` | `POST /api/v1/voice/tts` (JSON; returns audio or JSON) |
|
|
130
|
+
| `pt voice diarize` | `POST /api/v1/voice/diarize` (multipart `file`[, `speaker_file`]) |
|
|
131
|
+
| `pt voice translate` | `POST /api/v1/voice/translate` (multipart `file`) |
|
|
132
|
+
| `pt video analyze` | `POST /api/v1/video/analyze` (multipart `file`) |
|
|
82
133
|
| `pt whoami` | `GET /api/v1/users/me` + `GET /api/v1/users/me/groups` |
|
|
134
|
+
| `pt workspace list` | `GET /api/v1/chat-workspaces` |
|
|
135
|
+
| `pt workspace create` | `POST /api/v1/chat-workspaces` |
|
|
136
|
+
| `pt workspace rename` | `PUT /api/v1/chat-workspaces/{id}/name` |
|
|
137
|
+
| `pt workspace set-goal` | `PUT /api/v1/chat-workspaces/{id}/goal` |
|
|
138
|
+
| `pt workspace archive` / `unarchive` | `POST /api/v1/chat-workspaces/{id}/archive/{true\|false}` |
|
|
139
|
+
| `pt workspace pin` / `unpin` | `POST /api/v1/chat-workspaces/{id}/pin/{true\|false}` |
|
|
140
|
+
| `pt workspace add-chat` | `POST /api/v1/chat-workspaces/{id}/add-chat/{chat_id}` |
|
|
141
|
+
| `pt workspace remove-chat` | `DELETE /api/v1/chat-workspaces/remove-chat/{chat_id}` |
|
|
142
|
+
| `pt workspace delete` | `DELETE /api/v1/chat-workspaces/{id}?delete_chats_in_workspace=` |
|
|
143
|
+
| `pt tag list` | `GET /api/v1/tags?model=` |
|
|
144
|
+
| `pt tag create` | `POST /api/v1/tags` (`{model, name, tag_category}`) |
|
|
145
|
+
| `pt tag assign` | `PUT /api/v1/tags/assignments` (`{model, owner_id, tag_ids}`) |
|
|
146
|
+
| `pt group list` | `GET /api/v1/groups/` |
|
|
147
|
+
| `pt group get` | `GET /api/v1/groups/{group_id}` |
|
|
148
|
+
| `pt group create` | `POST /api/v1/groups/` |
|
|
149
|
+
| `pt group update` | `PUT /api/v1/groups/{group_id}` |
|
|
150
|
+
| `pt group delete` | `DELETE /api/v1/groups/{group_id}` |
|
|
151
|
+
| `pt group members` | `GET /api/v1/groups/{group_id}/members` |
|
|
152
|
+
| `pt group remove-member` | `DELETE /api/v1/groups/{group_id}/members/` (`[user_ids]`) |
|
|
153
|
+
| `pt group invite` | `POST /api/v1/groups/invite/?email=&role_id=` |
|
|
154
|
+
| `pt group add-agent` / `remove-agent` | `POST /api/v1/groups/{group_id}/add_vas` / `DELETE .../remove_vas` (`[vas_ids]`) |
|
|
155
|
+
| `pt {chat,collection,task,agent} mkdir` | `POST /api/v1/{owner}/{id}/directories?path=…` |
|
|
156
|
+
| `pt {chat,collection,task,agent} rmdir` | `DELETE /api/v1/{owner}/{id}/directories/delete` (`{dir_path, delete_recursively}`) |
|
|
157
|
+
| `pt {chat,collection,task,agent} move-dir` | `POST /api/v1/{owner}/{id}/directories/move` (`{src_dir, dest_parent, merge_dirs}`) |
|
|
158
|
+
| `pt {chat,collection,task,agent} rename-dir` | `PUT /api/v1/{owner}/{id}/directories/rename` (`{src_dir_path, new_dir_name}`) |
|
|
159
|
+
|
|
160
|
+
`{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`.
|
|
161
|
+
|
|
162
|
+
| Command (under `pt chat` / `pt collection` / `pt task`) | Endpoint (`{owner}` = `chats`/`collections`/`tasks`) |
|
|
163
|
+
|---|---|
|
|
164
|
+
| `list-versions` | `GET /api/v1/{owner}/{id}/documents/{document_id}/versions` |
|
|
165
|
+
| `new-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/create_new_version?version_name=…` (multipart `document`) |
|
|
166
|
+
| `new-text-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/create_new_text_version?version_name=…` (`TextWithName` body) |
|
|
167
|
+
| `set-production-version` | `POST /api/v1/{owner}/{id}/documents/{document_id}/set_production_version?version_number=…` |
|
|
168
|
+
| `delete-version` | `DELETE /api/v1/{owner}/{id}/documents/{document_id}/delete_version/{version_number}` |
|
|
169
|
+
|
|
170
|
+
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`.
|
|
83
171
|
|
|
84
172
|
---
|
|
85
173
|
|
|
@@ -104,12 +192,15 @@ pt task actions [--profile PROFILE_NAME] [--api-url API_URL]
|
|
|
104
192
|
|
|
105
193
|
Execute a specific task action with a message and optional files.
|
|
106
194
|
|
|
107
|
-
**Endpoint**: `POST /api/v1/tasks/
|
|
195
|
+
**Endpoint**: `POST /api/v1/tasks/{task_id_or_action_name}/execute`
|
|
196
|
+
|
|
197
|
+
The action name (or task ID) is URL-encoded into the path — there is no
|
|
198
|
+
generic `/tasks/execute_task_action` route.
|
|
108
199
|
|
|
109
200
|
**Content-Type**: `multipart/form-data`
|
|
110
201
|
|
|
111
202
|
**Parameters**:
|
|
112
|
-
- `
|
|
203
|
+
- `{task_id_or_action_name}` (path, required): Name of the task action to execute (or a task ID)
|
|
113
204
|
- `message_input` (string, required): Input message for the task
|
|
114
205
|
- `files` (file, optional): Files to attach (can be multiple)
|
|
115
206
|
- `return_original_message` (boolean, optional): Whether to return the original message
|