@deepraxis/cli 0.1.0-dev.891e403 → 0.1.0-dev.8c50d77

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Generated by `bun run commands`. DO NOT EDIT.
4
4
 
5
- 422 HTTP operations; 424 commands including aliases.
5
+ 426 HTTP operations; 428 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
 
@@ -32,6 +32,10 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
32
32
  | `praxis agent computer list` | `agent.computers.list` | GET `/agent/v1/computers` | `--param-limit`, `--page` |
33
33
  | `praxis agent computer update <computer_id>` | `agent.computers.update` | POST `/agent/v1/computers/{computer_id}` | `--name` |
34
34
  | `praxis agent create` | `agent.agents.create` | POST `/agent/v1/agents` | `--name`, `--description`, `--system`, `--kind`, `--computer-id`, `--subagent-model`, `--avatar`, `--environment-id`, `--vault-ids`, `--preset` |
35
+ | `praxis agent customer auth access-token create` | `agent.agents.customers.auth.accessTokens.create` | POST `/agent/v1/agents/{agent_id}/customers/auth/access_tokens` | `--agent` |
36
+ | `praxis agent customer auth access-token delete-current` | `agent.agents.customers.auth.accessTokens.deleteCurrent` | DELETE `/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current` | `--agent` |
37
+ | `praxis agent customer auth access-token renew create` | `agent.agents.customers.auth.accessTokens.renew.create` | POST `/agent/v1/agents/{agent_id}/customers/auth/access_tokens/renew` | `--agent` |
38
+ | `praxis agent customer auth grant-code create` | `agent.agents.customers.auth.grantCodes.create` | POST `/agent/v1/agents/{agent_id}/customers/auth/grant_codes` | `--agent`, `--customer-id`, `--param-version`, `--budget-cents`, `--origin`, `--expires-in`, `--max-session-seconds`, `--anonymous-access-token` |
35
39
  | `praxis agent deployment archive <deployment_id>` | `agent.deployments.archive` | POST `/agent/v1/deployments/{deployment_id}/archive` | |
36
40
  | `praxis agent deployment create` | `agent.deployments.create` | POST `/agent/v1/deployments` | `--environment-id`, `--name`, `--description`, `--vault-ids` |
37
41
  | `praxis agent deployment get <deployment_id>` | `agent.deployments.retrieve` | GET `/agent/v1/deployments/{deployment_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 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"}]}.',
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. model and every models.allowed entry must be a catalog model that can run an agent: an unknown id returns 400 "model <id> is not in the model catalog" and an embedding, image or speech model returns 400 "model <id> cannot run an agent". name is trimmed and may not be blank or contain NUL or line breaks. avatar is trimmed, must not contain spaces or point at a loopback, private or internal host, and its scheme is stored in lowercase. script and workflow binding ids are stored in lowercase, the form automation matches; bindings together with environment_id null return 400 because bindings need a machine. 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",
@@ -82,7 +82,7 @@ var operations = [
82
82
  name: "model",
83
83
  type: "object",
84
84
  required: true,
85
- description: "Model identifier. Accepts the\n[model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),\ne.g. `claude-opus-5`, or a `model_config` object for additional configuration\ncontrol"
85
+ description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected."
86
86
  },
87
87
  {
88
88
  name: "name",
@@ -141,7 +141,7 @@ across all toolsets allowed.`
141
141
  type: "array",
142
142
  itemType: "object",
143
143
  required: false,
144
- description: "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file_..., read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. A resource that is not bound returns 404, a service that is not opened returns 403, and writes to read_only resources are refused. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings."
144
+ description: "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings."
145
145
  },
146
146
  {
147
147
  name: "kind",
@@ -292,7 +292,7 @@ to 64 chars each) with values up to 512 chars.`
292
292
  name: "model",
293
293
  type: "object",
294
294
  required: false,
295
- description: "Model identifier. Accepts the\n[model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),\ne.g. `claude-opus-5`, or a `model_config` object for additional configuration\ncontrol. Omit to preserve. Cannot be cleared."
295
+ description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected."
296
296
  },
297
297
  {
298
298
  name: "multiagent",
@@ -355,7 +355,7 @@ current version; omit to apply the update unconditionally.`
355
355
  type: "array",
356
356
  itemType: "object",
357
357
  required: false,
358
- description: "Replace the whole bindings list; omission preserves it, and null or [] clears it. Additions apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. Only service agents accept a nonempty list."
358
+ description: "Replace the whole bindings list; omission preserves it, and null or [] clears it. Additions apply only to new sessions; once this version is applied, disabling, removing or downgrading a binding revokes it immediately in running sessions on older versions, while apply=false changes no access. Only service agents accept a nonempty list."
359
359
  },
360
360
  {
361
361
  name: "kind",
@@ -455,6 +455,152 @@ current version; omit to apply the update unconditionally.`
455
455
  ],
456
456
  query: []
457
457
  },
458
+ {
459
+ resource: "agent.agents.customers.auth.accessTokens",
460
+ method: "create",
461
+ summary: "Create customer access token",
462
+ description: `Exchange a grant code, or the agent's publishable key for an anonymous visitor, for a customer access token that authorizes the agent's embedded sessions.
463
+
464
+ No Authorization header is required: the grant code or the publishable key is the credential. Agent Kit calls this from the browser, so send the page Origin. With grant_code, the code is consumed atomically: concurrent attempts have exactly one winner, and unknown, used, expired and other-agent codes all return the same 401 GRANT_CODE_INVALID. The sign-in starts now and lasts the code's max_session_seconds. Unlike Shopify, a visitor without an account gets a token too: send publishable_key instead and a new anonymous customer (anon_…) is created, bound to the request Origin, for 7 days. The access token lasts at most two hours and never outlives the sign-in; renew it with access_tokens/renew before expires_at. Both forms share the per-IP minute limit of anonymous issuance (default 20). Example body: {"grant_code":"cgc_…"}.`,
465
+ http: "POST",
466
+ path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens",
467
+ streaming: "no",
468
+ pagination: false,
469
+ pathParams: [
470
+ {
471
+ name: "agent_id",
472
+ sdkName: "agent_id"
473
+ }
474
+ ],
475
+ query: [],
476
+ body: {
477
+ required: true,
478
+ fields: []
479
+ }
480
+ },
481
+ {
482
+ resource: "agent.agents.customers.auth.accessTokens",
483
+ method: "deleteCurrent",
484
+ summary: "Log out customer",
485
+ description: `Log the customer out by revoking the sign-in of the presented access token and every token issued in it.
486
+
487
+ Send the current customer access token as the Bearer credential, with no body, when the customer logs out of your site. Every token of the sign-in, including renewed ones, stops working, and their live event streams close; the customer's conversations are kept. Returns 204. Calling it again with the same token returns 401 ACCESS_TOKEN_REVOKED, so treat that as already logged out.`,
488
+ http: "DELETE",
489
+ path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current",
490
+ streaming: "no",
491
+ pagination: false,
492
+ pathParams: [
493
+ {
494
+ name: "agent_id",
495
+ sdkName: "agent_id"
496
+ }
497
+ ],
498
+ query: []
499
+ },
500
+ {
501
+ resource: "agent.agents.customers.auth.accessTokens.renew",
502
+ method: "create",
503
+ summary: "Renew customer access token",
504
+ description: `Get a fresh customer access token in the same sign-in, authenticated with the current one.
505
+
506
+ Send the current customer access token as the Bearer credential, with no body, a few minutes before expires_at. The new token keeps the version, budget, context, metadata and origin binding of the sign-in and lasts at most two hours, never past session_expires_at. Unlike Shopify, renewal does not revoke the presented token: it stays valid until its own expiry, so a reply that is streaming on it is not cut off. When less than 60 seconds of the sign-in remain, renewal returns 401 CUSTOMER_SESSION_EXPIRED; sign the customer in again with a new grant code from your backend. A token that was logged out or merged returns 401 ACCESS_TOKEN_REVOKED.`,
507
+ http: "POST",
508
+ path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/renew",
509
+ streaming: "no",
510
+ pagination: false,
511
+ pathParams: [
512
+ {
513
+ name: "agent_id",
514
+ sdkName: "agent_id"
515
+ }
516
+ ],
517
+ query: []
518
+ },
519
+ {
520
+ resource: "agent.agents.customers.auth.grantCodes",
521
+ method: "create",
522
+ summary: "Create customer grant code",
523
+ description: `Sign your logged-in customer in to a service agent from your backend with a one-time grant code that Agent Kit exchanges for a customer access token.
524
+
525
+ Call this from your backend with your API key after your own login succeeds, then pass the returned code to Agent Kit in the browser; never call it from the browser. Customer authorization follows Shopify Storefront customer access tokens (Multipass-style sign-in, a short-lived token, renewal and logout), so that experience applies. customer_id is your own identifier for the customer: use an opaque id such as your database user id, not an email address or phone number. The value auth is reserved, and ids starting with anon_ are reserved for anonymous customers. The code works once and expires after expires_in seconds (default 900). The sign-in it starts lasts max_session_seconds (default 7 days); version, budget_cents, system_message, agent_override and metadata apply to every token of the sign-in. Unlike Shopify, origin binds the whole sign-in to one page origin, and anonymous_access_token merges the conversations of the anonymous visitor who chatted before signing in into this customer. Example body: {"customer_id":"cus_8f2a91","origin":"https://shop.example.com"}.`,
526
+ http: "POST",
527
+ path: "/agent/v1/agents/{agent_id}/customers/auth/grant_codes",
528
+ streaming: "no",
529
+ pagination: false,
530
+ pathParams: [
531
+ {
532
+ name: "agent_id",
533
+ sdkName: "agent_id"
534
+ }
535
+ ],
536
+ query: [],
537
+ body: {
538
+ required: true,
539
+ fields: [
540
+ {
541
+ name: "customer_id",
542
+ type: "string",
543
+ required: true,
544
+ description: 'Your stable, opaque identifier for the signed-in customer, such as your database user id. Do not use an email address or phone number. "auth" is reserved, and ids starting with anon_ are reserved for anonymous customers.'
545
+ },
546
+ {
547
+ name: "version",
548
+ type: "integer",
549
+ required: false,
550
+ description: "Existing agent version that every token of this sign-in pins. Defaults to the agent's active_version when the code is issued."
551
+ },
552
+ {
553
+ name: "budget_cents",
554
+ type: "integer",
555
+ required: false,
556
+ description: "Budget in cents for each session the customer starts. Defaults to the embed policy session budget and cannot exceed its maximum."
557
+ },
558
+ {
559
+ name: "system_message",
560
+ type: "array",
561
+ itemType: "object",
562
+ required: false,
563
+ description: "Optional context the agent receives at the start of each session, as text blocks, limited to 8192 UTF-8 bytes in total."
564
+ },
565
+ {
566
+ name: "agent_override",
567
+ type: "object",
568
+ required: false,
569
+ description: "Optional system prompt override, accepted only when the embed policy allows agent overrides."
570
+ },
571
+ {
572
+ name: "metadata",
573
+ type: "object",
574
+ required: false,
575
+ description: "Up to 16 string pairs copied onto every session the customer starts. The playground key is reserved."
576
+ },
577
+ {
578
+ name: "origin",
579
+ type: "string",
580
+ required: false,
581
+ description: "Page origin, such as https://shop.example.com, that must be one of the agent policy's allowed_origins (or localhost when the policy allows it). When set, every token of this sign-in works only from exactly this origin. Omit to accept any policy origin."
582
+ },
583
+ {
584
+ name: "expires_in",
585
+ type: "integer",
586
+ required: false,
587
+ description: "Seconds the code stays redeemable, from 60 to 86400. Defaults to 900."
588
+ },
589
+ {
590
+ name: "max_session_seconds",
591
+ type: "integer",
592
+ required: false,
593
+ description: "Total lifetime of the sign-in in seconds, from 3600 to 604800 (7 days). Tokens renew within it; after it the customer signs in again. Defaults to 604800."
594
+ },
595
+ {
596
+ name: "anonymous_access_token",
597
+ type: "string",
598
+ required: false,
599
+ description: "The current access token of the anonymous customer who used this agent before signing in. Their conversations become visible to the identified customer, and the anonymous sign-in ends at exchange."
600
+ }
601
+ ]
602
+ }
603
+ },
458
604
  {
459
605
  resource: "agent.agents.endUsers",
460
606
  method: "list",
@@ -1690,7 +1836,7 @@ Use an id from issuance or listing. Revokes the credential before setting revoke
1690
1836
  resource: "agent.environments",
1691
1837
  method: "create",
1692
1838
  summary: "Create environment",
1693
- description: "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported.",
1839
+ description: "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported. config.template must name an available sandbox template, otherwise 400 lists the available ones.",
1694
1840
  http: "POST",
1695
1841
  path: "/agent/v1/environments",
1696
1842
  streaming: "no",
@@ -1761,7 +1907,7 @@ rejected. If not specified, defaults based on organization type.`
1761
1907
  resource: "agent.environments",
1762
1908
  method: "update",
1763
1909
  summary: "Update environment",
1764
- description: "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value.",
1910
+ description: "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value. A changed config.template must name an available sandbox template, otherwise 400 lists the available ones.",
1765
1911
  http: "POST",
1766
1912
  path: "/agent/v1/environments/{environment_id}",
1767
1913
  streaming: "no",
@@ -1820,7 +1966,7 @@ owning account only.`
1820
1966
  resource: "agent.environments",
1821
1967
  method: "archive",
1822
1968
  summary: "Archive environment",
1823
- description: "Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived.",
1969
+ description: "Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived. An environment that the active version of a non-archived agent uses as environment_id returns 409 RESOURCE_IN_USE naming the agents; point them at another environment first.",
1824
1970
  http: "POST",
1825
1971
  path: "/agent/v1/environments/{environment_id}/archive",
1826
1972
  streaming: "no",
@@ -2915,7 +3061,7 @@ If provided, only skills from the specified source will be returned:
2915
3061
  resource: "agent.skills",
2916
3062
  method: "create",
2917
3063
  summary: "Create skill",
2918
- description: "Upload a skill: a directory that contains SKILL.md, which the agent reads when it needs the skill. Send multipart/form-data with one files part per file, each file name being its path under one top-level directory (pdf/SKILL.md, pdf/scripts/run.py), and an optional display_name. SKILL.md frontmatter needs a description; name defaults to the directory name. Limits: 8 MB in total, at most 200 files, no .. segments, absolute paths or empty names; a violation returns 400 naming the path or field. The upload creates the skill and its first version, and versions are immutable. Attach the skill to an agent with `skills` on the agent.",
3064
+ description: 'Upload a skill: a directory that contains SKILL.md, which the agent reads when it needs the skill. Send multipart/form-data with one files part per file, each file name being its path under one top-level directory (pdf/SKILL.md, pdf/scripts/run.py), and an optional display_name. SKILL.md frontmatter needs a description; name defaults to the directory name and must be one folder name (1-255 characters, no "/", backslash or NUL, not "." or ".."), otherwise the upload returns 400 stating the allowed form. Limits: 8 MB in total, at most 200 files, no .. segments, absolute paths or empty names; a violation returns 400 naming the path or field. The upload creates the skill and its first version, and versions are immutable. Attach the skill to an agent with `skills` on the agent.',
2919
3065
  http: "POST",
2920
3066
  path: "/agent/v1/skills",
2921
3067
  streaming: "no",
@@ -2949,7 +3095,7 @@ file at the root of that directory.`
2949
3095
  resource: "agent.skills",
2950
3096
  method: "delete",
2951
3097
  summary: "Delete skill",
2952
- description: "Delete a skill that has no live versions. A skill that still has versions returns 409 Delete all versions first; remove each with skills.versions.delete, then call this. Returns {id, type: skill_deleted}. skill_id comes from skills.create or skills.list.",
3098
+ description: "Delete a skill that has no live versions. A skill that is still attached to an agent returns 409 RESOURCE_IN_USE naming up to 10 agent ids (the active or latest version of a non-archived agent counts); remove it from those agents first. A skill that still has versions returns 409 Delete all versions first; remove each with skills.versions.delete, then call this. Returns {id, type: skill_deleted}. skill_id comes from skills.create or skills.list.",
2953
3099
  http: "DELETE",
2954
3100
  path: "/agent/v1/skills/{skill_id}",
2955
3101
  streaming: "no",
@@ -3046,7 +3192,7 @@ file at the root of that directory.`
3046
3192
  resource: "agent.skills.versions",
3047
3193
  method: "delete",
3048
3194
  summary: "Delete skill version",
3049
- description: "Soft-delete one version of a skill so it can no longer be read or downloaded; latest_version_id of the skill falls back to the newest remaining version. Returns {id, type: skill_version_deleted}. A skill can be deleted only after all of its versions are deleted.",
3195
+ description: "Soft-delete one version of a skill so it can no longer be read or downloaded; latest_version_id of the skill falls back to the newest remaining version. Returns {id, type: skill_version_deleted}. A skill can be deleted only after all of its versions are deleted. A version that a non-archived agent pins, or the last version of a skill an agent attaches without a pin, returns 409 RESOURCE_IN_USE naming the agents.",
3050
3196
  http: "DELETE",
3051
3197
  path: "/agent/v1/skills/{skill_id}/versions/{version}",
3052
3198
  streaming: "no",
@@ -17817,6 +17963,57 @@ var unblockEndUser = (options) => (options.client ?? client).post({
17817
17963
  url: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock",
17818
17964
  ...options
17819
17965
  });
17966
+ var createCustomerGrantCode = (options) => (options.client ?? client).post({
17967
+ security: [{
17968
+ key: "BearerAuth",
17969
+ scheme: "bearer",
17970
+ type: "http"
17971
+ }, {
17972
+ key: "ApiKeyAuth",
17973
+ name: "X-API-Key",
17974
+ type: "apiKey"
17975
+ }],
17976
+ url: "/agent/v1/agents/{agent_id}/customers/auth/grant_codes",
17977
+ ...options,
17978
+ headers: {
17979
+ "Content-Type": "application/json",
17980
+ ...options.headers
17981
+ }
17982
+ });
17983
+ var createCustomerAccessToken = (options) => (options.client ?? client).post({
17984
+ url: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens",
17985
+ ...options,
17986
+ headers: {
17987
+ "Content-Type": "application/json",
17988
+ ...options.headers
17989
+ }
17990
+ });
17991
+ var renewCustomerAccessToken = (options) => (options.client ?? client).post({
17992
+ security: [{
17993
+ key: "BearerAuth",
17994
+ scheme: "bearer",
17995
+ type: "http"
17996
+ }, {
17997
+ key: "ApiKeyAuth",
17998
+ name: "X-API-Key",
17999
+ type: "apiKey"
18000
+ }],
18001
+ url: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/renew",
18002
+ ...options
18003
+ });
18004
+ var deleteCurrentCustomerAccessToken = (options) => (options.client ?? client).delete({
18005
+ security: [{
18006
+ key: "BearerAuth",
18007
+ scheme: "bearer",
18008
+ type: "http"
18009
+ }, {
18010
+ key: "ApiKeyAuth",
18011
+ name: "X-API-Key",
18012
+ type: "apiKey"
18013
+ }],
18014
+ url: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current",
18015
+ ...options
18016
+ });
17820
18017
  var exchangeEmbedCode = (options) => (options.client ?? client).post({
17821
18018
  url: "/agent/v1/embed/exchange",
17822
18019
  ...options,
@@ -23533,6 +23730,20 @@ function createAgent(transport) {
23533
23730
  agents: {
23534
23731
  archive: bind(transport, agentsArchive),
23535
23732
  create: bind(transport, agentsCreate),
23733
+ customers: {
23734
+ auth: {
23735
+ accessTokens: {
23736
+ create: bind(transport, createCustomerAccessToken),
23737
+ deleteCurrent: bind(transport, deleteCurrentCustomerAccessToken),
23738
+ renew: {
23739
+ create: bind(transport, renewCustomerAccessToken)
23740
+ }
23741
+ },
23742
+ grantCodes: {
23743
+ create: bind(transport, createCustomerGrantCode)
23744
+ }
23745
+ }
23746
+ },
23536
23747
  endUsers: {
23537
23748
  block: {
23538
23749
  create: bind(transport, blockEndUser)
@@ -26377,7 +26588,7 @@ function startProgress(ctx, write = (text) => writeOutput({ stderr: text })) {
26377
26588
  }
26378
26589
 
26379
26590
  // src/main.ts
26380
- var version = "0.1.0-dev.891e403";
26591
+ var version = "0.1.0-dev.8c50d77";
26381
26592
  var commands = commandTree(operations);
26382
26593
  var manual = [["login"], ["logout"], ["whoami"], ["org", "list"], ["org", "switch"], ["api"], ["skill"]];
26383
26594
  function route(argv) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepraxis/cli",
3
- "version": "0.1.0-dev.891e403",
3
+ "version": "0.1.0-dev.8c50d77",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "praxis": "dist/praxis.js"