deepsieve-cli 0.3.0__tar.gz → 0.5.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: deepsieve-cli
3
- Version: 0.3.0
3
+ Version: 0.5.0
4
4
  Summary: DeepSieve CLI — run cited deep research from your terminal
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: httpx>=0.27
@@ -20,19 +20,31 @@ scoped API key. Nothing to copy, nothing pasted into your shell history. The
20
20
  credential appears in **Settings → API keys** on your deployment and can be
21
21
  revoked there at any time.
22
22
 
23
+ The key covers the CLI's own commands and cannot create a Blueprint. If an agent
24
+ will use it to create Blueprints, run `deepsieve login --preset agent`; the
25
+ approval screen lists the extra scopes.
26
+
23
27
  ## Commands
24
28
 
25
29
  ```bash
26
- deepsieve whoami # identity, workspace, scopes
30
+ deepsieve whoami # identity, organization, active Blueprint, scopes
27
31
  deepsieve runs create --query "..." --dry-run # free simulated run (~15s)
28
- deepsieve runs create --query "..." --wait # real run: spends credits
29
- deepsieve runs create --seeds "..." --allowed-source "*.gov" # only cite these
32
+ deepsieve runs create --blueprint <id> --query "..." --wait # real run: spends credits
33
+ deepsieve runs create --blueprint <id> --seeds "..." --allowed-source "*.gov" # only cite these
30
34
  deepsieve runs list
31
35
  deepsieve runs get <id> # exit 4 while still running
32
36
  deepsieve runs cancel <id>
33
- deepsieve members list # who is in the workspace + seat usage
37
+ deepsieve members list # who is in the organization + seat usage
38
+ deepsieve changes list --live # merges, renames, successor links
39
+ deepsieve changes undo <id> # asks first; --yes in scripts
40
+ deepsieve merge preview <entity> --survivor <id> --loser <id> # writes nothing
41
+ deepsieve merge apply <entity> --survivor <id> --loser <id> [--choice KEY=loser]
34
42
  deepsieve data catalog # entities + columns (never guess)
35
43
  deepsieve data get companies --receipts # rows with per-cell citations
44
+ deepsieve chat thread <run-id> # changes, with status + warnings
45
+ deepsieve chat confirm <action-id> # apply a change that waits for confirmation
46
+ deepsieve chat dismiss <action-id> # decline it; nothing is written
47
+ deepsieve chat revert <action-id> # undo a change a chat answer applied
36
48
  deepsieve setup mcp # MCP registration for this origin
37
49
  ```
38
50
 
@@ -12,19 +12,31 @@ scoped API key. Nothing to copy, nothing pasted into your shell history. The
12
12
  credential appears in **Settings → API keys** on your deployment and can be
13
13
  revoked there at any time.
14
14
 
15
+ The key covers the CLI's own commands and cannot create a Blueprint. If an agent
16
+ will use it to create Blueprints, run `deepsieve login --preset agent`; the
17
+ approval screen lists the extra scopes.
18
+
15
19
  ## Commands
16
20
 
17
21
  ```bash
18
- deepsieve whoami # identity, workspace, scopes
22
+ deepsieve whoami # identity, organization, active Blueprint, scopes
19
23
  deepsieve runs create --query "..." --dry-run # free simulated run (~15s)
20
- deepsieve runs create --query "..." --wait # real run: spends credits
21
- deepsieve runs create --seeds "..." --allowed-source "*.gov" # only cite these
24
+ deepsieve runs create --blueprint <id> --query "..." --wait # real run: spends credits
25
+ deepsieve runs create --blueprint <id> --seeds "..." --allowed-source "*.gov" # only cite these
22
26
  deepsieve runs list
23
27
  deepsieve runs get <id> # exit 4 while still running
24
28
  deepsieve runs cancel <id>
25
- deepsieve members list # who is in the workspace + seat usage
29
+ deepsieve members list # who is in the organization + seat usage
30
+ deepsieve changes list --live # merges, renames, successor links
31
+ deepsieve changes undo <id> # asks first; --yes in scripts
32
+ deepsieve merge preview <entity> --survivor <id> --loser <id> # writes nothing
33
+ deepsieve merge apply <entity> --survivor <id> --loser <id> [--choice KEY=loser]
26
34
  deepsieve data catalog # entities + columns (never guess)
27
35
  deepsieve data get companies --receipts # rows with per-cell citations
36
+ deepsieve chat thread <run-id> # changes, with status + warnings
37
+ deepsieve chat confirm <action-id> # apply a change that waits for confirmation
38
+ deepsieve chat dismiss <action-id> # decline it; nothing is written
39
+ deepsieve chat revert <action-id> # undo a change a chat answer applied
28
40
  deepsieve setup mcp # MCP registration for this origin
29
41
  ```
30
42
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deepsieve-cli"
3
- version = "0.3.0"
3
+ version = "0.5.0"
4
4
  description = "DeepSieve CLI — run cited deep research from your terminal"
5
5
  requires-python = ">=3.11"
6
6
  readme = "README.md"
@@ -21,10 +21,19 @@ USER_AGENT = "deepsieve-cli"
21
21
 
22
22
 
23
23
  class ApiError(Exception):
24
- def __init__(self, code: str, message: str, *, request_id: str | None = None) -> None:
24
+ def __init__(
25
+ self,
26
+ code: str,
27
+ message: str,
28
+ *,
29
+ request_id: str | None = None,
30
+ details: dict | None = None,
31
+ ) -> None:
25
32
  self.code = code
26
33
  self.message = message
27
34
  self.request_id = request_id
35
+ #: Structured facts from the error envelope (`locked_until`), when the API sent them.
36
+ self.details = details or {}
28
37
  super().__init__(message)
29
38
 
30
39
  def __str__(self) -> str:
@@ -87,6 +96,7 @@ class Client:
87
96
  err.get("code", f"http_{r.status_code}"),
88
97
  err.get("message", f"HTTP {r.status_code} from {path}"),
89
98
  request_id=err.get("request_id"),
99
+ details=err.get("details"),
90
100
  )
91
101
  return body
92
102