@deepraxis/cli 0.1.0-dev.449ac38 → 0.1.0-dev.67c7f3b
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.
- package/COMMANDS.md +14 -2
- package/dist/praxis.js +482 -7
- package/package.json +1 -1
package/COMMANDS.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Generated by `bun run commands`. DO NOT EDIT.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
365 HTTP operations; 367 commands including aliases.
|
|
6
6
|
|
|
7
7
|
Environment: `PRAXIS_ENV=develop|production` (dev package defaults to `develop`; stable package defaults to `production`). No `--env` option.
|
|
8
8
|
|
|
@@ -27,6 +27,8 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
|
|
|
27
27
|
| `praxis agent computer file get-content` | `agent.computers.files.retrieveContent` | GET `/agent/v1/computers/{computer_id}/files/content` | `--computer`, `--path` |
|
|
28
28
|
| `praxis agent computer file list` | `agent.computers.files.list` | GET `/agent/v1/computers/{computer_id}/files` | `--computer`, `--path` |
|
|
29
29
|
| `praxis agent computer get <computer_id>` | `agent.computers.retrieve` | GET `/agent/v1/computers/{computer_id}` | |
|
|
30
|
+
| `praxis agent computer lease delete <lease_id>` | `agent.computers.leases.delete` | DELETE `/agent/v1/computers/{computer_id}/leases/{lease_id}` | `--computer` |
|
|
31
|
+
| `praxis agent computer lease renew create` | `agent.computers.leases.renew.create` | POST `/agent/v1/computers/{computer_id}/leases/{lease_id}/renew` | `--computer`, `--lease` |
|
|
30
32
|
| `praxis agent computer list` | `agent.computers.list` | GET `/agent/v1/computers` | `--param-limit`, `--page` |
|
|
31
33
|
| `praxis agent computer update <computer_id>` | `agent.computers.update` | POST `/agent/v1/computers/{computer_id}` | `--name` |
|
|
32
34
|
| `praxis agent create` | `agent.agents.create` | POST `/agent/v1/agents` | `--name`, `--description`, `--system`, `--kind`, `--computer-id`, `--subagent-model` |
|
|
@@ -40,9 +42,19 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
|
|
|
40
42
|
| `praxis agent deployment update <deployment_id>` | `agent.deployments.update` | POST `/agent/v1/deployments/{deployment_id}` | `--description`, `--environment-id`, `--name`, `--vault-ids` |
|
|
41
43
|
| `praxis agent deployment-run get <deployment_run_id>` | `agent.deploymentRuns.retrieve` | GET `/agent/v1/deployment_runs/{deployment_run_id}` | |
|
|
42
44
|
| `praxis agent deployment-run list` | `agent.deploymentRuns.list` | GET `/agent/v1/deployment_runs` | `--created-at-gt`, `--created-at-gte`, `--created-at-lt`, `--created-at-lte`, `--deployment-id`, `--has-error`, `--trigger-type`, `--param-limit`, `--page` |
|
|
43
|
-
| `praxis agent embed
|
|
45
|
+
| `praxis agent embed exchange create` | `agent.embed.exchange.create` | POST `/agent/v1/embed/exchange` | `--code` |
|
|
46
|
+
| `praxis agent embed get-appearance` | `agent.embed.retrieveAppearance` | GET `/agent/v1/embed/appearance` | |
|
|
47
|
+
| `praxis agent embed-token anonymous create` | `agent.embedTokens.anonymous.create` | POST `/agent/v1/embed_tokens/anonymous` | `--publishable-key`, `--visitor-secret` |
|
|
48
|
+
| `praxis agent embed-token create` | `agent.embedTokens.create` | POST `/agent/v1/embed_tokens` | `--hosted`, `--agent`, `--param-version`, `--external-user-id`, `--ttl-seconds`, `--budget-cents`, `--allowed-origins` |
|
|
44
49
|
| `praxis agent embed-token list` | `agent.embedTokens.list` | GET `/agent/v1/embed_tokens` | `--agent-id`, `--external-user-id`, `--param-limit`, `--page` |
|
|
45
50
|
| `praxis agent embed-token revoke create` | `agent.embedTokens.revoke.create` | POST `/agent/v1/embed_tokens/{id}/revoke` | `--embed-token` |
|
|
51
|
+
| `praxis agent end-user block create` | `agent.agents.endUsers.block.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block` | `--agent`, `--end-user` |
|
|
52
|
+
| `praxis agent end-user delete <external_user_id>` | `agent.agents.endUsers.delete` | DELETE `/agent/v1/agents/{agent_id}/end_users/{external_user_id}` | `--agent`, `--confirm` |
|
|
53
|
+
| `praxis agent end-user get <external_user_id>` | `agent.agents.endUsers.retrieve` | GET `/agent/v1/agents/{agent_id}/end_users/{external_user_id}` | `--agent` |
|
|
54
|
+
| `praxis agent end-user get-deletion <external_user_id>` | `agent.agents.endUsers.retrieveDeletion` | GET `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion` | `--agent` |
|
|
55
|
+
| `praxis agent end-user list` | `agent.agents.endUsers.list` | GET `/agent/v1/agents/{agent_id}/end_users` | `--agent`, `--param-limit`, `--page`, `--q` |
|
|
56
|
+
| `praxis agent end-user revoke-token create` | `agent.agents.endUsers.revokeTokens.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens` | `--agent`, `--end-user` |
|
|
57
|
+
| `praxis agent end-user unblock create` | `agent.agents.endUsers.unblock.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock` | `--agent`, `--end-user` |
|
|
46
58
|
| `praxis agent environment archive <environment_id>` | `agent.environments.archive` | POST `/agent/v1/environments/{environment_id}/archive` | |
|
|
47
59
|
| `praxis agent environment create` | `agent.environments.create` | POST `/agent/v1/environments` | `--name`, `--description`, `--scope` |
|
|
48
60
|
| `praxis agent environment get <environment_id>` | `agent.environments.retrieve` | GET `/agent/v1/environments/{environment_id}` | |
|
package/dist/praxis.js
CHANGED
|
@@ -68,7 +68,7 @@ var operations = [
|
|
|
68
68
|
resource: "agent.agents",
|
|
69
69
|
method: "create",
|
|
70
70
|
summary: "Create agent",
|
|
71
|
-
description: 'Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. Unlike Anthropic Managed Agents, nonempty skills attachments
|
|
71
|
+
description: 'Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. Unlike Anthropic Managed Agents, nonempty skills attachments return 400; the native skill tool is separate from the skills field. Use tools: [{type: "agent_toolset_20260401"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: "agent_toolset_20260401", default_config: {enabled: false}, configs: [{name: "codemode", enabled: true}, {name: "bash", enabled: true, permission_policy: {type: "always_ask"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. Example: {"name":"helper","model":{"id":"deepseek-flash"},"tools":[{"type":"agent_toolset_20260401"}]}.',
|
|
72
72
|
http: "POST",
|
|
73
73
|
path: "/agent/v1/agents",
|
|
74
74
|
streaming: "no",
|
|
@@ -215,7 +215,7 @@ across all toolsets allowed.`
|
|
|
215
215
|
resource: "agent.agents",
|
|
216
216
|
method: "update",
|
|
217
217
|
summary: "Update agent",
|
|
218
|
-
description: "Update an agent. Send the current version in the body for optimistic concurrency: a stale version returns 409, and an update that changes nothing keeps the version number. Any real change saves a new version; existing sessions keep the version they were created with. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. Unlike Anthropic Managed Agents, nonempty skills attachments
|
|
218
|
+
description: "Update an agent. Send the current version in the body for optimistic concurrency: a stale version returns 409, and an update that changes nothing keeps the version number. Any real change saves a new version; existing sessions keep the version they were created with. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. Unlike Anthropic Managed Agents, nonempty skills attachments return 400; use the native skill tool for available runtime skills.",
|
|
219
219
|
http: "POST",
|
|
220
220
|
path: "/agent/v1/agents/{agent_id}",
|
|
221
221
|
streaming: "no",
|
|
@@ -369,6 +369,189 @@ current version; omit to apply the update unconditionally.`
|
|
|
369
369
|
],
|
|
370
370
|
query: []
|
|
371
371
|
},
|
|
372
|
+
{
|
|
373
|
+
resource: "agent.agents.endUsers",
|
|
374
|
+
method: "list",
|
|
375
|
+
summary: "List End Users",
|
|
376
|
+
description: `List users who have sessions or token issuance history on a service agent.
|
|
377
|
+
|
|
378
|
+
Ordered by last_active_at and external_user_id descending. q is a case-sensitive literal prefix, including underscores. limit is 1–100, default 20. Reuse next_page with the same organization, agent, q and limit. Preemptively blocked users without history do not appear. End-user credentials and inaccessible or personal agents return 404.`,
|
|
379
|
+
http: "GET",
|
|
380
|
+
path: "/agent/v1/agents/{agent_id}/end_users",
|
|
381
|
+
streaming: "no",
|
|
382
|
+
pagination: false,
|
|
383
|
+
pathParams: [
|
|
384
|
+
{
|
|
385
|
+
name: "agent_id",
|
|
386
|
+
sdkName: "agent_id"
|
|
387
|
+
}
|
|
388
|
+
],
|
|
389
|
+
query: [
|
|
390
|
+
{
|
|
391
|
+
name: "limit",
|
|
392
|
+
type: "integer",
|
|
393
|
+
required: false,
|
|
394
|
+
description: "Maximum users per page; defaults to 20."
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
name: "page",
|
|
398
|
+
type: "string",
|
|
399
|
+
required: false,
|
|
400
|
+
description: "next_page from the previous response with the same agent, q and limit."
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: "q",
|
|
404
|
+
type: "string",
|
|
405
|
+
required: false,
|
|
406
|
+
description: "Case-sensitive literal prefix of external_user_id; omit or use an empty string for all users."
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
resource: "agent.agents.endUsers",
|
|
412
|
+
method: "delete",
|
|
413
|
+
summary: "Delete end-user data",
|
|
414
|
+
description: `Delete a host application's end-user data from one service agent after explicit confirmation.
|
|
415
|
+
|
|
416
|
+
Develop only. Set confirm to the exact external_user_id; missing or mismatched confirmation returns 400. Returns 202 with a pending task id, not completion. Poll the deletion endpoint. Concurrent requests reuse the unfinished task; retry DELETE after failure to resume it. Tokens are revoked and the user is blocked before a seven-day recovery snapshot is verified. Sessions including child sessions, conversation data, grants and feedback are then removed. A pre-existing block remains; a temporary block is removed on success. Attachment metadata is recorded and File attachments are retained. No charge is introduced by this operation. Example: DELETE /agent/v1/agents/agent_example/end_users/customer_123?confirm=customer_123.`,
|
|
417
|
+
http: "DELETE",
|
|
418
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}",
|
|
419
|
+
streaming: "no",
|
|
420
|
+
pagination: false,
|
|
421
|
+
pathParams: [
|
|
422
|
+
{
|
|
423
|
+
name: "agent_id",
|
|
424
|
+
sdkName: "agent_id"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
name: "external_user_id",
|
|
428
|
+
sdkName: "external_user_id"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
query: [
|
|
432
|
+
{
|
|
433
|
+
name: "confirm",
|
|
434
|
+
type: "string",
|
|
435
|
+
required: true,
|
|
436
|
+
description: "Must exactly equal the external_user_id path parameter to confirm destructive deletion."
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
resource: "agent.agents.endUsers",
|
|
442
|
+
method: "retrieve",
|
|
443
|
+
summary: "Get End User",
|
|
444
|
+
description: `Inspect one end user and their twenty most recently updated sessions.
|
|
445
|
+
|
|
446
|
+
Use external_user_id from listing or your host application. Users without session or issuance history return 404, including preemptively blocked users. End-user credentials and inaccessible or personal agents return 404.`,
|
|
447
|
+
http: "GET",
|
|
448
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}",
|
|
449
|
+
streaming: "no",
|
|
450
|
+
pagination: false,
|
|
451
|
+
pathParams: [
|
|
452
|
+
{
|
|
453
|
+
name: "agent_id",
|
|
454
|
+
sdkName: "agent_id"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
name: "external_user_id",
|
|
458
|
+
sdkName: "external_user_id"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
query: []
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
resource: "agent.agents.endUsers.block",
|
|
465
|
+
method: "create",
|
|
466
|
+
summary: "Block End User",
|
|
467
|
+
description: `Block token issuance and session creation, then revoke existing tokens for an end user.
|
|
468
|
+
|
|
469
|
+
May block a user before any history exists; timestamps are then null and counts and cost are zero. Requires an embed policy, otherwise returns 409 with setup guidance. Deduplicates the policy blocklist and retains its 1000-user maximum. If revocation returns 502, the user remains blocked; retry to finish revocation. Repeats keep the user blocked and revoke any remaining grants. End-user credentials and inaccessible or personal agents return 404.`,
|
|
470
|
+
http: "POST",
|
|
471
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block",
|
|
472
|
+
streaming: "no",
|
|
473
|
+
pagination: false,
|
|
474
|
+
pathParams: [
|
|
475
|
+
{
|
|
476
|
+
name: "agent_id",
|
|
477
|
+
sdkName: "agent_id"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
name: "external_user_id",
|
|
481
|
+
sdkName: "external_user_id"
|
|
482
|
+
}
|
|
483
|
+
],
|
|
484
|
+
query: []
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
resource: "agent.agents.endUsers",
|
|
488
|
+
method: "retrieveDeletion",
|
|
489
|
+
summary: "Get end-user deletion",
|
|
490
|
+
description: `Poll the latest deletion task for an end user, including after the user data has been removed.
|
|
491
|
+
|
|
492
|
+
Use the same agent_id and external_user_id as the confirmed DELETE. Status is pending, snapshotting, deleting, done or failed. Counts are empty until a verified snapshot exists. A failed task remains blocked and resumes when DELETE is retried with matching confirmation. snapshot_key is an operator recovery reference retained for seven days, not a public download URL. End-user credentials, inaccessible or personal agents, and missing tasks return 404. This read does not create a task or charge usage.`,
|
|
493
|
+
http: "GET",
|
|
494
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion",
|
|
495
|
+
streaming: "no",
|
|
496
|
+
pagination: false,
|
|
497
|
+
pathParams: [
|
|
498
|
+
{
|
|
499
|
+
name: "agent_id",
|
|
500
|
+
sdkName: "agent_id"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
name: "external_user_id",
|
|
504
|
+
sdkName: "external_user_id"
|
|
505
|
+
}
|
|
506
|
+
],
|
|
507
|
+
query: []
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
resource: "agent.agents.endUsers.revokeTokens",
|
|
511
|
+
method: "create",
|
|
512
|
+
summary: "Revoke End User Tokens",
|
|
513
|
+
description: `Revoke all issued tokens for an end user and terminate their open embed streams.
|
|
514
|
+
|
|
515
|
+
Revokes credentials before marking grants revoked. Upstream failure returns 502 without changing grant revocation timestamps. Returns the count of newly revoked grants; a repeat without new grants returns zero. Does not block future issuance. End-user credentials and inaccessible or personal agents return 404.`,
|
|
516
|
+
http: "POST",
|
|
517
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens",
|
|
518
|
+
streaming: "no",
|
|
519
|
+
pagination: false,
|
|
520
|
+
pathParams: [
|
|
521
|
+
{
|
|
522
|
+
name: "agent_id",
|
|
523
|
+
sdkName: "agent_id"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
name: "external_user_id",
|
|
527
|
+
sdkName: "external_user_id"
|
|
528
|
+
}
|
|
529
|
+
],
|
|
530
|
+
query: []
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
resource: "agent.agents.endUsers.unblock",
|
|
534
|
+
method: "create",
|
|
535
|
+
summary: "Unblock End User",
|
|
536
|
+
description: `Allow an end user to receive new tokens and create new sessions again.
|
|
537
|
+
|
|
538
|
+
Removes the user from the blocklist; previously revoked tokens stay revoked. Idempotent. Requires an embed policy, otherwise returns 409 with setup guidance. Returns null timestamps and zero counts and cost when no session or issuance history exists. End-user credentials and inaccessible or personal agents return 404.`,
|
|
539
|
+
http: "POST",
|
|
540
|
+
path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock",
|
|
541
|
+
streaming: "no",
|
|
542
|
+
pagination: false,
|
|
543
|
+
pathParams: [
|
|
544
|
+
{
|
|
545
|
+
name: "agent_id",
|
|
546
|
+
sdkName: "agent_id"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
name: "external_user_id",
|
|
550
|
+
sdkName: "external_user_id"
|
|
551
|
+
}
|
|
552
|
+
],
|
|
553
|
+
query: []
|
|
554
|
+
},
|
|
372
555
|
{
|
|
373
556
|
resource: "agent.agents.versions",
|
|
374
557
|
method: "list",
|
|
@@ -580,7 +763,7 @@ Own-face superset: Managed Agents has no persistent Computer attachment director
|
|
|
580
763
|
summary: "Connect computer",
|
|
581
764
|
description: `Resume the computer and issue a sandbox connection.
|
|
582
765
|
|
|
583
|
-
Own-face extension: Managed Agents has no persistent Computer connection. Returns the public SDK sandbox_id, envd_access_token and template_id. Archived computers remain accessible; foreign or absent computers return 404. Never cache credentials.`,
|
|
766
|
+
Own-face extension: Managed Agents has no persistent Computer connection. Returns the public SDK sandbox_id, envd_access_token and template_id, plus the machine tier the computer is on now (light or heavy) and the lease that keeps it there (lease_id, lease_expires_at; lease_id is null when no lease exists). Keep the lease while the connection stays open: renew it about every 20 seconds (POST .../leases/{lease_id}/renew) and release it on close (DELETE .../leases/{lease_id}). An unrenewed lease simply expires, and the full machine is reclaimed only after that. Archived computers remain accessible; foreign or absent computers return 404. Never cache credentials.`,
|
|
584
767
|
http: "POST",
|
|
585
768
|
path: "/agent/v1/computers/{computer_id}/connect",
|
|
586
769
|
streaming: "no",
|
|
@@ -645,6 +828,52 @@ Praxis extension: MA only has session-scoped temporary containers and memory_sto
|
|
|
645
828
|
}
|
|
646
829
|
]
|
|
647
830
|
},
|
|
831
|
+
{
|
|
832
|
+
resource: "agent.computers.leases",
|
|
833
|
+
method: "delete",
|
|
834
|
+
summary: "Release computer lease",
|
|
835
|
+
description: `Give the lease back when a connection closes so the full machine can be reclaimed without waiting for it to expire.
|
|
836
|
+
|
|
837
|
+
Own-face extension. Idempotent: an unknown or already released lease succeeds as well. Foreign or absent computers return 404.`,
|
|
838
|
+
http: "DELETE",
|
|
839
|
+
path: "/agent/v1/computers/{computer_id}/leases/{lease_id}",
|
|
840
|
+
streaming: "no",
|
|
841
|
+
pagination: false,
|
|
842
|
+
pathParams: [
|
|
843
|
+
{
|
|
844
|
+
name: "computer_id",
|
|
845
|
+
sdkName: "computer_id"
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
name: "lease_id",
|
|
849
|
+
sdkName: "lease_id"
|
|
850
|
+
}
|
|
851
|
+
],
|
|
852
|
+
query: []
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
resource: "agent.computers.leases.renew",
|
|
856
|
+
method: "create",
|
|
857
|
+
summary: "Renew computer lease",
|
|
858
|
+
description: `Extend the lease a connection holds so the full machine stays in service while the connection is open.
|
|
859
|
+
|
|
860
|
+
Own-face extension. A lease that is no longer valid (released, expired, or the computer moved to another machine) returns 409 LEASE_STALE; call connect again for a new connection and lease. Foreign or absent computers return 404.`,
|
|
861
|
+
http: "POST",
|
|
862
|
+
path: "/agent/v1/computers/{computer_id}/leases/{lease_id}/renew",
|
|
863
|
+
streaming: "no",
|
|
864
|
+
pagination: false,
|
|
865
|
+
pathParams: [
|
|
866
|
+
{
|
|
867
|
+
name: "computer_id",
|
|
868
|
+
sdkName: "computer_id"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
name: "lease_id",
|
|
872
|
+
sdkName: "lease_id"
|
|
873
|
+
}
|
|
874
|
+
],
|
|
875
|
+
query: []
|
|
876
|
+
},
|
|
648
877
|
{
|
|
649
878
|
resource: "agent.deploymentRuns",
|
|
650
879
|
method: "list",
|
|
@@ -1074,6 +1303,43 @@ null to clear. Maximum 50.`
|
|
|
1074
1303
|
],
|
|
1075
1304
|
query: []
|
|
1076
1305
|
},
|
|
1306
|
+
{
|
|
1307
|
+
resource: "agent.embed",
|
|
1308
|
+
method: "retrieveAppearance",
|
|
1309
|
+
summary: "Read chat appearance",
|
|
1310
|
+
description: "Load saved appearance for an iframe or Hosted chat page. Supply an end-user embed token as Bearer authorization, or a console-issued publishable key in Praxis-Publishable-Key before anonymous token issuance. The credential selects the agent; identity_number and agent_id query parameters are rejected with 400. Missing appearance returns an empty object. Kit option names retain camelCase. Responses are private and cacheable for 60 seconds. Component hosts configure Kit in their own code instead.",
|
|
1311
|
+
http: "GET",
|
|
1312
|
+
path: "/agent/v1/embed/appearance",
|
|
1313
|
+
streaming: "no",
|
|
1314
|
+
pagination: false,
|
|
1315
|
+
pathParams: [],
|
|
1316
|
+
query: []
|
|
1317
|
+
},
|
|
1318
|
+
{
|
|
1319
|
+
resource: "agent.embed.exchange",
|
|
1320
|
+
method: "create",
|
|
1321
|
+
summary: "Exchange Hosted Code",
|
|
1322
|
+
description: `Redeem a single-use hosted link credential for an end-user token.
|
|
1323
|
+
|
|
1324
|
+
Read code from the c fragment parameter of hosted_url returned by embed token creation with hosted true, then remove the fragment before exchanging. No Authorization header is required; the code authenticates this request. The code expires after 60 seconds and is consumed atomically on exchange, so concurrent attempts have only one winner. Expired, used and unknown codes return the same 404 body. Keep the token in memory and return to the host website for a fresh link when it expires; exchange cannot refresh it. Requests are IP limited per minute using the anonymous entrypoint budget (default 20). Example body is {"code":"<code from hosted_url>"}.`,
|
|
1325
|
+
http: "POST",
|
|
1326
|
+
path: "/agent/v1/embed/exchange",
|
|
1327
|
+
streaming: "no",
|
|
1328
|
+
pagination: false,
|
|
1329
|
+
pathParams: [],
|
|
1330
|
+
query: [],
|
|
1331
|
+
body: {
|
|
1332
|
+
required: true,
|
|
1333
|
+
fields: [
|
|
1334
|
+
{
|
|
1335
|
+
name: "code",
|
|
1336
|
+
type: "string",
|
|
1337
|
+
required: true,
|
|
1338
|
+
description: "Single-use credential from the c fragment parameter of hosted_url returned by embed token creation. Valid for 60 seconds."
|
|
1339
|
+
}
|
|
1340
|
+
]
|
|
1341
|
+
}
|
|
1342
|
+
},
|
|
1077
1343
|
{
|
|
1078
1344
|
resource: "agent.embedTokens",
|
|
1079
1345
|
method: "list",
|
|
@@ -1119,7 +1385,7 @@ Includes expired and revoked grants; returns neither token nor token_id. Sorts b
|
|
|
1119
1385
|
summary: "Create Embed Token",
|
|
1120
1386
|
description: `Issue a short-lived credential on your backend for an end user of a service agent.
|
|
1121
1387
|
|
|
1122
|
-
Requires an active service agent in your organization with an embed policy. Pins the requested version or the latest version and snapshots the policy environment, vaults and resources; metadata comes from the request. Blocked users cannot receive tokens. Keep your API key on the backend and pass only the returned token to the frontend. Every call creates a new grant; issuance is not idempotent.
|
|
1388
|
+
Requires an active service agent in your organization with an embed policy. Pins the requested version or the latest version and snapshots the policy environment, vaults and resources; metadata comes from the request. Blocked users cannot receive tokens. Keep your API key on the backend and pass only the returned token to the frontend. Every call creates a new grant; issuance is not idempotent. Set hosted to true to also receive hosted_url; redirect the user there within 60 seconds. The agent must have an identity_number. The URL fragment contains a single-use exchange credential, not the token. Omit hosted or set false for ordinary token issuance.`,
|
|
1123
1389
|
http: "POST",
|
|
1124
1390
|
path: "/agent/v1/embed_tokens",
|
|
1125
1391
|
streaming: "no",
|
|
@@ -1129,6 +1395,12 @@ Requires an active service agent in your organization with an embed policy. Pins
|
|
|
1129
1395
|
body: {
|
|
1130
1396
|
required: true,
|
|
1131
1397
|
fields: [
|
|
1398
|
+
{
|
|
1399
|
+
name: "hosted",
|
|
1400
|
+
type: "boolean",
|
|
1401
|
+
required: false,
|
|
1402
|
+
description: "Set true to also return a hosted chat URL with a single-use credential valid for 60 seconds. Defaults to false; the agent must have an identity_number."
|
|
1403
|
+
},
|
|
1132
1404
|
{
|
|
1133
1405
|
name: "agent",
|
|
1134
1406
|
type: "string",
|
|
@@ -1188,6 +1460,37 @@ Requires an active service agent in your organization with an embed policy. Pins
|
|
|
1188
1460
|
]
|
|
1189
1461
|
}
|
|
1190
1462
|
},
|
|
1463
|
+
{
|
|
1464
|
+
resource: "agent.embedTokens.anonymous",
|
|
1465
|
+
method: "create",
|
|
1466
|
+
summary: "Issue anonymous visitor token",
|
|
1467
|
+
description: `Obtain a short-lived embedding token for a visitor without an account using the agent owner's publishable key.
|
|
1468
|
+
|
|
1469
|
+
No Authorization header is required. Send the browser Origin allowed by the agent policy. Save a returned visitor_secret and reuse it for refreshes; only new visitors receive one. Unknown secrets create new visitors, and extra fields including visitor_id return 400. Issuance uses the key creator's organization membership, the key session budget and the smaller of the policy TTL maximum and 3600 seconds. IP requests are limited per minute (default 20); UTC daily session and spending caps are checked across the key's primary sessions created that day. Token issuance itself does not create a session or charge usage; subsequent sessions bill the host organization. Example body: {"publishable_key":"pk_praxis_example"}.`,
|
|
1470
|
+
http: "POST",
|
|
1471
|
+
path: "/agent/v1/embed_tokens/anonymous",
|
|
1472
|
+
streaming: "no",
|
|
1473
|
+
pagination: false,
|
|
1474
|
+
pathParams: [],
|
|
1475
|
+
query: [],
|
|
1476
|
+
body: {
|
|
1477
|
+
required: true,
|
|
1478
|
+
fields: [
|
|
1479
|
+
{
|
|
1480
|
+
name: "publishable_key",
|
|
1481
|
+
type: "string",
|
|
1482
|
+
required: true,
|
|
1483
|
+
description: "Public key created by the service agent owner; safe to include in browser code."
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
name: "visitor_secret",
|
|
1487
|
+
type: "string",
|
|
1488
|
+
required: false,
|
|
1489
|
+
description: "Secret returned by a previous anonymous issuance for this key. Omit for a new visitor; an unknown secret creates a new visitor."
|
|
1490
|
+
}
|
|
1491
|
+
]
|
|
1492
|
+
}
|
|
1493
|
+
},
|
|
1191
1494
|
{
|
|
1192
1495
|
resource: "agent.embedTokens.revoke",
|
|
1193
1496
|
method: "create",
|
|
@@ -1891,7 +2194,7 @@ Praxis extension available only on /agent/v1, following Claude Agent SDK getCont
|
|
|
1891
2194
|
resource: "agent.sessions.events",
|
|
1892
2195
|
method: "list",
|
|
1893
2196
|
summary: "List session events",
|
|
1894
|
-
description: "Read the event history of a session as a page of events, oldest first by default (order=desc for newest first). Use it after sending a message to collect the reply, to find tool calls that wait for approval (session.status_idle with stop_reason requires_action lists their event_ids), or to audit a run; to follow a running session live use sessions.events.stream instead. Filter by types and by a created_at range on processed_at; pages hold at most 100 events (default 20) and next_page continues. A failed run emits session.error before session.status_terminated. Native history also includes user.steer, user.withdraw, system.notification, session.forked, session.goal_changed and session.goal_verification; these are not accepted by the /anthropic/v1 event-type filter.",
|
|
2197
|
+
description: "Read the event history of a session as a page of events, oldest first by default (order=desc for newest first). Use it after sending a message to collect the reply, to find tool calls that wait for approval or client custom tool results (session.status_idle with stop_reason requires_action lists their event_ids), or to audit a run; to follow a running session live use sessions.events.stream instead. Filter by types and by a created_at range on processed_at; pages hold at most 100 events (default 20) and next_page continues. A failed run emits session.error before session.status_terminated. Native history also includes user.steer, user.withdraw, system.notification, session.forked, session.goal_changed and session.goal_verification; these are not accepted by the /anthropic/v1 event-type filter.",
|
|
1895
2198
|
http: "GET",
|
|
1896
2199
|
path: "/agent/v1/sessions/{session_id}/events",
|
|
1897
2200
|
streaming: "no",
|
|
@@ -1962,7 +2265,7 @@ Praxis extension available only on /agent/v1, following Claude Agent SDK getCont
|
|
|
1962
2265
|
resource: "agent.sessions.events",
|
|
1963
2266
|
method: "send",
|
|
1964
2267
|
summary: "Send session events",
|
|
1965
|
-
description: 'Send events to a session: user.message (exactly one nonempty text block), user.interrupt, user.tool_confirmation to allow or deny a pending tool call, user.steer to inject a queued user.message into a turn that is still running, and user.withdraw to retract a queued message. The response only acknowledges the inputs; read replies with sessions.events.list or sessions.events.stream. A message sent while the session waits for tool approval is queued (processed_at null) and runs in order after the approval is resolved. Archived sessions reject new messages. To approve, read a pending agent.tool_use or agent.mcp_tool_use event and send {type: "user.tool_confirmation", tool_use_id: <that event id>, result: "allow"} (or deny); include session_thread_id for a child approval. Native confirmations also accept updated_permissions, answers and annotations, which /anthropic/v1 rejects.',
|
|
2268
|
+
description: 'Attach optional praxis_context={items:[{name,value}]} to user.message for untrusted page context on this turn only (maximum 32 items, 4096 UTF-8 JSON bytes). /anthropic/v1 rejects this field. Send events to a session: user.message (exactly one nonempty text block), user.interrupt, user.tool_confirmation to allow or deny a pending tool call, user.custom_tool_result to return a custom tool result, user.steer to inject a queued user.message into a turn that is still running, and user.withdraw to retract a queued message. The response only acknowledges the inputs; read replies with sessions.events.list or sessions.events.stream. A message sent while the session waits for tool approval is queued (processed_at null) and runs in order after the approval is resolved. Archived sessions reject new messages. To approve, read a pending agent.tool_use or agent.mcp_tool_use event and send {type: "user.tool_confirmation", tool_use_id: <that event id>, result: "allow"} (or deny); include session_thread_id for a child approval. Native confirmations also accept updated_permissions, answers and annotations, which /anthropic/v1 rejects. Both faces accept user.custom_tool_result with custom_tool_use_id from agent.custom_tool_use.id or the requires_action stop_reason.event_ids. Unlike Anthropic, result content accepts only text blocks (omit it for an empty array). Omitted or null is_error means false. The server routes child calls by id; session_thread_id is rejected in this input. Unknown call ids return 400; duplicate results or calls no longer waiting return 409.',
|
|
1966
2269
|
http: "POST",
|
|
1967
2270
|
path: "/agent/v1/sessions/{session_id}/events",
|
|
1968
2271
|
streaming: "no",
|
|
@@ -15156,6 +15459,113 @@ var setRunFeedback = (options) => (options.client ?? client).post({
|
|
|
15156
15459
|
...options.headers
|
|
15157
15460
|
}
|
|
15158
15461
|
});
|
|
15462
|
+
var listEndUsers = (options) => (options.client ?? client).get({
|
|
15463
|
+
security: [{
|
|
15464
|
+
key: "BearerAuth",
|
|
15465
|
+
scheme: "bearer",
|
|
15466
|
+
type: "http"
|
|
15467
|
+
}, {
|
|
15468
|
+
key: "ApiKeyAuth",
|
|
15469
|
+
name: "X-API-Key",
|
|
15470
|
+
type: "apiKey"
|
|
15471
|
+
}],
|
|
15472
|
+
url: "/agent/v1/agents/{agent_id}/end_users",
|
|
15473
|
+
...options
|
|
15474
|
+
});
|
|
15475
|
+
var deleteEndUser = (options) => (options.client ?? client).delete({
|
|
15476
|
+
security: [{
|
|
15477
|
+
key: "BearerAuth",
|
|
15478
|
+
scheme: "bearer",
|
|
15479
|
+
type: "http"
|
|
15480
|
+
}, {
|
|
15481
|
+
key: "ApiKeyAuth",
|
|
15482
|
+
name: "X-API-Key",
|
|
15483
|
+
type: "apiKey"
|
|
15484
|
+
}],
|
|
15485
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}",
|
|
15486
|
+
...options
|
|
15487
|
+
});
|
|
15488
|
+
var getEndUser = (options) => (options.client ?? client).get({
|
|
15489
|
+
security: [{
|
|
15490
|
+
key: "BearerAuth",
|
|
15491
|
+
scheme: "bearer",
|
|
15492
|
+
type: "http"
|
|
15493
|
+
}, {
|
|
15494
|
+
key: "ApiKeyAuth",
|
|
15495
|
+
name: "X-API-Key",
|
|
15496
|
+
type: "apiKey"
|
|
15497
|
+
}],
|
|
15498
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}",
|
|
15499
|
+
...options
|
|
15500
|
+
});
|
|
15501
|
+
var getEndUserDeletion = (options) => (options.client ?? client).get({
|
|
15502
|
+
security: [{
|
|
15503
|
+
key: "BearerAuth",
|
|
15504
|
+
scheme: "bearer",
|
|
15505
|
+
type: "http"
|
|
15506
|
+
}, {
|
|
15507
|
+
key: "ApiKeyAuth",
|
|
15508
|
+
name: "X-API-Key",
|
|
15509
|
+
type: "apiKey"
|
|
15510
|
+
}],
|
|
15511
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion",
|
|
15512
|
+
...options
|
|
15513
|
+
});
|
|
15514
|
+
var revokeEndUserTokens = (options) => (options.client ?? client).post({
|
|
15515
|
+
security: [{
|
|
15516
|
+
key: "BearerAuth",
|
|
15517
|
+
scheme: "bearer",
|
|
15518
|
+
type: "http"
|
|
15519
|
+
}, {
|
|
15520
|
+
key: "ApiKeyAuth",
|
|
15521
|
+
name: "X-API-Key",
|
|
15522
|
+
type: "apiKey"
|
|
15523
|
+
}],
|
|
15524
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens",
|
|
15525
|
+
...options
|
|
15526
|
+
});
|
|
15527
|
+
var blockEndUser = (options) => (options.client ?? client).post({
|
|
15528
|
+
security: [{
|
|
15529
|
+
key: "BearerAuth",
|
|
15530
|
+
scheme: "bearer",
|
|
15531
|
+
type: "http"
|
|
15532
|
+
}, {
|
|
15533
|
+
key: "ApiKeyAuth",
|
|
15534
|
+
name: "X-API-Key",
|
|
15535
|
+
type: "apiKey"
|
|
15536
|
+
}],
|
|
15537
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block",
|
|
15538
|
+
...options
|
|
15539
|
+
});
|
|
15540
|
+
var unblockEndUser = (options) => (options.client ?? client).post({
|
|
15541
|
+
security: [{
|
|
15542
|
+
key: "BearerAuth",
|
|
15543
|
+
scheme: "bearer",
|
|
15544
|
+
type: "http"
|
|
15545
|
+
}, {
|
|
15546
|
+
key: "ApiKeyAuth",
|
|
15547
|
+
name: "X-API-Key",
|
|
15548
|
+
type: "apiKey"
|
|
15549
|
+
}],
|
|
15550
|
+
url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock",
|
|
15551
|
+
...options
|
|
15552
|
+
});
|
|
15553
|
+
var exchangeEmbedCode = (options) => (options.client ?? client).post({
|
|
15554
|
+
url: "/agent/v1/embed/exchange",
|
|
15555
|
+
...options,
|
|
15556
|
+
headers: {
|
|
15557
|
+
"Content-Type": "application/json",
|
|
15558
|
+
...options.headers
|
|
15559
|
+
}
|
|
15560
|
+
});
|
|
15561
|
+
var createAnonymousEmbedToken = (options) => (options.client ?? client).post({
|
|
15562
|
+
url: "/agent/v1/embed_tokens/anonymous",
|
|
15563
|
+
...options,
|
|
15564
|
+
headers: {
|
|
15565
|
+
"Content-Type": "application/json",
|
|
15566
|
+
...options.headers
|
|
15567
|
+
}
|
|
15568
|
+
});
|
|
15159
15569
|
var listEmbedTokens = (options) => (options?.client ?? client).get({
|
|
15160
15570
|
security: [{
|
|
15161
15571
|
key: "BearerAuth",
|
|
@@ -15342,6 +15752,32 @@ var connectComputer = (options) => (options.client ?? client).post({
|
|
|
15342
15752
|
url: "/agent/v1/computers/{computer_id}/connect",
|
|
15343
15753
|
...options
|
|
15344
15754
|
});
|
|
15755
|
+
var renewComputerLease = (options) => (options.client ?? client).post({
|
|
15756
|
+
security: [{
|
|
15757
|
+
key: "BearerAuth",
|
|
15758
|
+
scheme: "bearer",
|
|
15759
|
+
type: "http"
|
|
15760
|
+
}, {
|
|
15761
|
+
key: "ApiKeyAuth",
|
|
15762
|
+
name: "X-API-Key",
|
|
15763
|
+
type: "apiKey"
|
|
15764
|
+
}],
|
|
15765
|
+
url: "/agent/v1/computers/{computer_id}/leases/{lease_id}/renew",
|
|
15766
|
+
...options
|
|
15767
|
+
});
|
|
15768
|
+
var releaseComputerLease = (options) => (options.client ?? client).delete({
|
|
15769
|
+
security: [{
|
|
15770
|
+
key: "BearerAuth",
|
|
15771
|
+
scheme: "bearer",
|
|
15772
|
+
type: "http"
|
|
15773
|
+
}, {
|
|
15774
|
+
key: "ApiKeyAuth",
|
|
15775
|
+
name: "X-API-Key",
|
|
15776
|
+
type: "apiKey"
|
|
15777
|
+
}],
|
|
15778
|
+
url: "/agent/v1/computers/{computer_id}/leases/{lease_id}",
|
|
15779
|
+
...options
|
|
15780
|
+
});
|
|
15345
15781
|
var listToolsets = (options) => (options?.client ?? client).get({
|
|
15346
15782
|
security: [{
|
|
15347
15783
|
key: "BearerAuth",
|
|
@@ -15467,6 +15903,15 @@ var listSessionCompactions = (options) => (options.client ?? client).get({
|
|
|
15467
15903
|
url: "/agent/v1/sessions/{session_id}/compactions",
|
|
15468
15904
|
...options
|
|
15469
15905
|
});
|
|
15906
|
+
var getEmbedAppearance = (options) => (options?.client ?? client).get({
|
|
15907
|
+
security: [{
|
|
15908
|
+
key: "BearerAuth",
|
|
15909
|
+
scheme: "bearer",
|
|
15910
|
+
type: "http"
|
|
15911
|
+
}, { name: "Praxis-Publishable-Key", type: "apiKey" }],
|
|
15912
|
+
url: "/agent/v1/embed/appearance",
|
|
15913
|
+
...options
|
|
15914
|
+
});
|
|
15470
15915
|
var createAudioSpeech = (options) => (options.client ?? client).post({
|
|
15471
15916
|
security: [{
|
|
15472
15917
|
key: "BearerAuth",
|
|
@@ -20043,6 +20488,21 @@ function createAgent(transport) {
|
|
|
20043
20488
|
agents: {
|
|
20044
20489
|
archive: bind(transport, agentsArchive),
|
|
20045
20490
|
create: bind(transport, agentsCreate),
|
|
20491
|
+
endUsers: {
|
|
20492
|
+
block: {
|
|
20493
|
+
create: bind(transport, blockEndUser)
|
|
20494
|
+
},
|
|
20495
|
+
delete: bind(transport, deleteEndUser),
|
|
20496
|
+
list: bind(transport, listEndUsers),
|
|
20497
|
+
retrieve: bind(transport, getEndUser),
|
|
20498
|
+
retrieveDeletion: bind(transport, getEndUserDeletion),
|
|
20499
|
+
revokeTokens: {
|
|
20500
|
+
create: bind(transport, revokeEndUserTokens)
|
|
20501
|
+
},
|
|
20502
|
+
unblock: {
|
|
20503
|
+
create: bind(transport, unblockEndUser)
|
|
20504
|
+
}
|
|
20505
|
+
},
|
|
20046
20506
|
list: bind(transport, agentsList),
|
|
20047
20507
|
retrieve: bind(transport, agentsRetrieve),
|
|
20048
20508
|
update: bind(transport, agentsUpdate),
|
|
@@ -20062,6 +20522,12 @@ function createAgent(transport) {
|
|
|
20062
20522
|
list: bind(transport, computersFilesList),
|
|
20063
20523
|
retrieveContent: bind(transport, computersFilesContent)
|
|
20064
20524
|
},
|
|
20525
|
+
leases: {
|
|
20526
|
+
delete: bind(transport, releaseComputerLease),
|
|
20527
|
+
renew: {
|
|
20528
|
+
create: bind(transport, renewComputerLease)
|
|
20529
|
+
}
|
|
20530
|
+
},
|
|
20065
20531
|
list: bind(transport, computersList),
|
|
20066
20532
|
retrieve: bind(transport, computersRetrieve),
|
|
20067
20533
|
update: bind(transport, computersUpdate)
|
|
@@ -20084,7 +20550,16 @@ function createAgent(transport) {
|
|
|
20084
20550
|
},
|
|
20085
20551
|
update: bind(transport, deploymentsUpdate)
|
|
20086
20552
|
},
|
|
20553
|
+
embed: {
|
|
20554
|
+
exchange: {
|
|
20555
|
+
create: bind(transport, exchangeEmbedCode)
|
|
20556
|
+
},
|
|
20557
|
+
retrieveAppearance: bind(transport, getEmbedAppearance)
|
|
20558
|
+
},
|
|
20087
20559
|
embedTokens: {
|
|
20560
|
+
anonymous: {
|
|
20561
|
+
create: bind(transport, createAnonymousEmbedToken)
|
|
20562
|
+
},
|
|
20088
20563
|
create: bind(transport, createEmbedToken),
|
|
20089
20564
|
list: bind(transport, listEmbedTokens),
|
|
20090
20565
|
revoke: {
|
|
@@ -22805,7 +23280,7 @@ function startProgress(ctx, write = (text) => writeOutput({ stderr: text })) {
|
|
|
22805
23280
|
}
|
|
22806
23281
|
|
|
22807
23282
|
// src/main.ts
|
|
22808
|
-
var version = "0.1.0-dev.
|
|
23283
|
+
var version = "0.1.0-dev.67c7f3b";
|
|
22809
23284
|
var commands = commandTree(operations);
|
|
22810
23285
|
var manual = [["login"], ["logout"], ["whoami"], ["org", "list"], ["org", "switch"], ["api"], ["skill"]];
|
|
22811
23286
|
function route(argv) {
|