janction-render 0.4.7__tar.gz → 0.4.8__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.4
2
2
  Name: janction-render
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,3 +1,3 @@
1
1
  """JANCTION Render — ターミナルの AI エージェントから GPU で 3DCG を描く。"""
2
2
 
3
- __version__ = "0.4.7"
3
+ __version__ = "0.4.8"
@@ -136,6 +136,24 @@ def cmd_cancel(c: Client, args: argparse.Namespace) -> int:
136
136
  return 0
137
137
 
138
138
 
139
+ def cmd_revoke_key(c: Client, args: argparse.Namespace) -> int:
140
+ if not args.yes:
141
+ print("this revokes your key and disconnects every app that uses it; run again with --yes", file=sys.stderr)
142
+ return 2
143
+ print(_j(c.revoke_key()))
144
+ return 0
145
+
146
+
147
+ def cmd_connections(c: Client, args: argparse.Namespace) -> int:
148
+ print(_j(c.connections()))
149
+ return 0
150
+
151
+
152
+ def cmd_disconnect(c: Client, args: argparse.Namespace) -> int:
153
+ print(_j(c.disconnect(args.id)))
154
+ return 0
155
+
156
+
139
157
  def cmd_share(c: Client, args: argparse.Namespace) -> int:
140
158
  v = c.share(args.job, title=args.title or "", note=args.note or "", include_script=bool(args.script), listed=bool(args.gallery),
141
159
  prompt=args.prompt or "")
@@ -233,6 +251,14 @@ def build_parser() -> argparse.ArgumentParser:
233
251
  s.add_argument("--wait", type=float, default=0, help="seconds to wait for the job first")
234
252
  s.set_defaults(fn=cmd_download)
235
253
 
254
+ s = sub.add_parser("revoke-key", help="revoke your key (use when it leaked); every connected app stops working")
255
+ s.add_argument("--yes", action="store_true")
256
+ s.set_defaults(fn=cmd_revoke_key)
257
+ s = sub.add_parser("connections", help="apps connected with your key (Claude, ChatGPT, Codex ...)")
258
+ s.set_defaults(fn=cmd_connections)
259
+ s = sub.add_parser("disconnect", help="disconnect one app (id from 'connections')")
260
+ s.add_argument("id")
261
+ s.set_defaults(fn=cmd_disconnect)
236
262
  s = sub.add_parser("share", help="publish a finished job as a public page (/r/<id>)")
237
263
  s.add_argument("job")
238
264
  s.add_argument("--title", default=None)
@@ -379,6 +379,23 @@ class Client:
379
379
  self._raise(r)
380
380
  return r.json()
381
381
 
382
+ def revoke_key(self) -> dict[str, Any]:
383
+ """この鍵を失効させる(つながっているアプリも全部切れる)。手元の控えも消す。"""
384
+ r = self.s.post(f"{self.server}/v1/keys/revoke", headers=self._headers(), timeout=30)
385
+ self._raise(r)
386
+ self.forget_key()
387
+ return r.json()
388
+
389
+ def connections(self) -> dict[str, Any]:
390
+ r = self.s.get(f"{self.server}/v1/connections", headers=self._headers(), timeout=30)
391
+ self._raise(r)
392
+ return r.json()
393
+
394
+ def disconnect(self, conn_id: str) -> dict[str, Any]:
395
+ r = self.s.delete(f"{self.server}/v1/connections/{conn_id}", headers=self._headers(), timeout=30)
396
+ self._raise(r)
397
+ return r.json()
398
+
382
399
  def fetch_asset_urls(self, scene_id: str, urls: list[str]) -> dict[str, Any]:
383
400
  """URL か polyhaven:<id> の素材を受付に取らせてシーンに足す(受付が取るので手元には要らない)。"""
384
401
  r = self.s.post(f"{self.server}/v1/files/{scene_id}/assets/urls", headers=self._headers(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janction-render
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janction-render"
7
- version = "0.4.7"
7
+ version = "0.4.8"
8
8
  description = "Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes