@deepraxis/sdk 0.1.1-dev.b176367 → 0.1.1-dev.bdcd5e6

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.
@@ -107,7 +107,7 @@ export declare const operations: readonly [{
107
107
  readonly type: "array";
108
108
  readonly itemType: "object";
109
109
  readonly required: false;
110
- readonly 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.";
110
+ readonly 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. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time.";
111
111
  }, {
112
112
  readonly name: "kind";
113
113
  readonly type: "string";
@@ -124,6 +124,11 @@ export declare const operations: readonly [{
124
124
  readonly type: "string";
125
125
  readonly required: false;
126
126
  readonly description: "Praxis extension: default subagent model ID, pinned in the agent revision. Call model overrides this; otherwise it overrides the roster member model or the parent model for built-ins. Null clears the default. /agent/v1 only.";
127
+ }, {
128
+ readonly name: "image_model";
129
+ readonly type: "string";
130
+ readonly required: false;
131
+ readonly description: "Model used by the imagine image tool; defaults to gpt-image-2 when unset. Only models that can generate images are accepted. Omit to preserve; null clears the configured model. /agent/v1 only.";
127
132
  }, {
128
133
  readonly name: "subagents";
129
134
  readonly type: "array";
@@ -292,6 +297,11 @@ export declare const operations: readonly [{
292
297
  readonly type: "string";
293
298
  readonly required: false;
294
299
  readonly description: "Praxis extension: default subagent model ID, pinned in the agent revision. Call model overrides this; otherwise it overrides the roster member model or the parent model for built-ins. Null clears the default. /agent/v1 only.";
300
+ }, {
301
+ readonly name: "image_model";
302
+ readonly type: "string";
303
+ readonly required: false;
304
+ readonly description: "Model used by the imagine image tool; defaults to gpt-image-2 when unset. Only models that can generate images are accepted. Omit to preserve; null clears the configured model. /agent/v1 only.";
295
305
  }, {
296
306
  readonly name: "subagents";
297
307
  readonly type: "array";
@@ -338,6 +348,21 @@ export declare const operations: readonly [{
338
348
  readonly description: "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor.";
339
349
  }];
340
350
  };
351
+ }, {
352
+ readonly resource: "agent.agents";
353
+ readonly method: "retrieveAppearance";
354
+ readonly summary: "Get agent appearance";
355
+ readonly description: "Read the saved chat appearance of a service agent.\n\nAgent Kit calls this from the page with a customer access token of this agent; your API key and console members can read it too. A token of another agent returns 404. The body is the same as the embed appearance read; a missing appearance returns the agent's own name and avatar only. Responses are private and cacheable for 60 seconds.";
356
+ readonly http: "GET";
357
+ readonly path: "/agent/v1/agents/{agent_id}/appearance";
358
+ readonly streaming: "no";
359
+ readonly pagination: false;
360
+ readonly pathParams: readonly [{
361
+ readonly name: "agent_id";
362
+ readonly sdkName: "agent_id";
363
+ readonly description: "Service agent id from agent creation or listing; with a customer access token, the agent the token was issued for.";
364
+ }];
365
+ readonly query: readonly [];
341
366
  }, {
342
367
  readonly resource: "agent.agents";
343
368
  readonly method: "archive";
@@ -353,6 +378,47 @@ export declare const operations: readonly [{
353
378
  readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name.";
354
379
  }];
355
380
  readonly query: readonly [];
381
+ }, {
382
+ readonly resource: "agent.agents.customers";
383
+ readonly method: "list";
384
+ readonly summary: "List customers";
385
+ readonly description: "List the customers of a service agent, identified and anonymous, most recently seen first.\n\nCall this from your backend with your API key, or from the console. Customers follow Shopify Admin customers (list, retrieve, block, sign-out and data deletion of the people who use your storefront), so that experience applies. The list includes customers who signed in but have not started a session yet, and customers recorded under your own ids by embed tokens before customer sign-in existed; an id first seen that way is identified unless it starts with anon_. Unlike Shopify, a customer can be anonymous: a visitor admitted with the publishable key gets an anon_ id, and when it later signs in with anonymous_access_token it is merged: merged_into names the identified customer, and its sessions count toward that customer. Filter with q (a case-sensitive customer id prefix), type (identified or anonymous) and blocked (true or false). limit is 1 to 100, default 20; reuse next_page with the same filters and limit. A customer access token gets 404. Example: GET /agent/v1/agents/agent_example/customers?type=identified&blocked=false&limit=50.";
386
+ readonly http: "GET";
387
+ readonly path: "/agent/v1/agents/{agent_id}/customers";
388
+ readonly streaming: "no";
389
+ readonly pagination: false;
390
+ readonly pathParams: readonly [{
391
+ readonly name: "agent_id";
392
+ readonly sdkName: "agent_id";
393
+ readonly description: "Active service agent id from agent creation or listing.";
394
+ }];
395
+ readonly query: readonly [{
396
+ readonly name: "limit";
397
+ readonly type: "integer";
398
+ readonly required: false;
399
+ readonly description: "Maximum customers per page, 1 to 100; defaults to 20.";
400
+ }, {
401
+ readonly name: "page";
402
+ readonly type: "string";
403
+ readonly required: false;
404
+ readonly description: "next_page from the previous response with the same q, type, blocked and limit.";
405
+ }, {
406
+ readonly name: "q";
407
+ readonly type: "string";
408
+ readonly required: false;
409
+ readonly description: "Case-sensitive literal prefix of the customer id; omit for all customers.";
410
+ }, {
411
+ readonly name: "type";
412
+ readonly type: "string";
413
+ readonly enum: readonly ["identified", "anonymous"];
414
+ readonly required: false;
415
+ readonly description: "Only identified or only anonymous customers; omit for both.";
416
+ }, {
417
+ readonly name: "blocked";
418
+ readonly type: "boolean";
419
+ readonly required: false;
420
+ readonly description: "true for blocked customers only, false for customers who are not blocked; omit for both.";
421
+ }];
356
422
  }, {
357
423
  readonly resource: "agent.agents.customers.auth.accessTokens";
358
424
  readonly method: "create";
@@ -406,7 +472,7 @@ export declare const operations: readonly [{
406
472
  readonly resource: "agent.agents.customers.auth.grantCodes";
407
473
  readonly method: "create";
408
474
  readonly summary: "Create customer grant code";
409
- readonly 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.\n\nCall 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\"}.";
475
+ readonly 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.\n\nCall 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 (US dollars, at most 2 decimals), 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\"}.";
410
476
  readonly http: "POST";
411
477
  readonly path: "/agent/v1/agents/{agent_id}/customers/auth/grant_codes";
412
478
  readonly streaming: "no";
@@ -430,10 +496,10 @@ export declare const operations: readonly [{
430
496
  readonly required: false;
431
497
  readonly description: "Existing agent version that every token of this sign-in pins. Defaults to the agent's active_version when the code is issued.";
432
498
  }, {
433
- readonly name: "budget_cents";
434
- readonly type: "integer";
499
+ readonly name: "budget";
500
+ readonly type: "object";
435
501
  readonly required: false;
436
- readonly description: "Budget in cents for each session the customer starts. Defaults to the embed policy session budget and cannot exceed its maximum.";
502
+ readonly description: "Budget for each session the customer starts, in the same shape as a session budget. Defaults to the embed policy session budget and cannot exceed its maximum.";
437
503
  }, {
438
504
  readonly name: "system_message";
439
505
  readonly type: "array";
@@ -478,152 +544,122 @@ export declare const operations: readonly [{
478
544
  }];
479
545
  };
480
546
  }, {
481
- readonly resource: "agent.agents.endUsers";
482
- readonly method: "list";
483
- readonly summary: "List End Users";
484
- readonly description: "List users who have sessions or token issuance history on a service agent.\n\nOrdered 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.";
485
- readonly http: "GET";
486
- readonly path: "/agent/v1/agents/{agent_id}/end_users";
487
- readonly streaming: "no";
488
- readonly pagination: false;
489
- readonly pathParams: readonly [{
490
- readonly name: "agent_id";
491
- readonly sdkName: "agent_id";
492
- readonly description: "Active service agent identifier from agent creation or listing.";
493
- }];
494
- readonly query: readonly [{
495
- readonly name: "limit";
496
- readonly type: "integer";
497
- readonly required: false;
498
- readonly description: "Maximum users per page; defaults to 20.";
499
- }, {
500
- readonly name: "page";
501
- readonly type: "string";
502
- readonly required: false;
503
- readonly description: "next_page from the previous response with the same agent, q and limit.";
504
- }, {
505
- readonly name: "q";
506
- readonly type: "string";
507
- readonly required: false;
508
- readonly description: "Case-sensitive literal prefix of external_user_id; omit or use an empty string for all users.";
509
- }];
510
- }, {
511
- readonly resource: "agent.agents.endUsers";
547
+ readonly resource: "agent.agents.customers";
512
548
  readonly method: "delete";
513
- readonly summary: "Delete end-user data";
514
- readonly description: "Delete a host application's end-user data from one service agent after explicit confirmation.\n\nDevelop 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.";
549
+ readonly summary: "Delete customer data";
550
+ readonly description: "Delete a customer's data from one service agent after explicit confirmation.\n\nDevelop only. Set confirm to the exact customer id; a missing or different confirm returns 400 naming the value to send. Returns 202 with a pending task id; poll the deletion endpoint. Concurrent requests reuse the unfinished task; retry DELETE after failure to resume it. Tokens are revoked and the customer is blocked before a seven-day recovery snapshot is verified; sessions including child sessions, conversation data, grants and feedback are then removed. A block that existed before stays; a temporary block is removed on success. File attachments are retained. Example: DELETE /agent/v1/agents/agent_example/customers/cus_8f2a91?confirm=cus_8f2a91.";
515
551
  readonly http: "DELETE";
516
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}";
552
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}";
517
553
  readonly streaming: "no";
518
554
  readonly pagination: false;
519
555
  readonly pathParams: readonly [{
520
556
  readonly name: "agent_id";
521
557
  readonly sdkName: "agent_id";
522
- readonly description: "Active service agent identifier from agent creation or listing.";
558
+ readonly description: "Active service agent id from agent creation or listing.";
523
559
  }, {
524
- readonly name: "external_user_id";
525
- readonly sdkName: "external_user_id";
526
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
560
+ readonly name: "customer_id";
561
+ readonly sdkName: "customer_id";
562
+ readonly description: "Customer id from customer listing, or your own customer_id.";
527
563
  }];
528
564
  readonly query: readonly [{
529
565
  readonly name: "confirm";
530
566
  readonly type: "string";
531
567
  readonly required: true;
532
- readonly description: "Must exactly equal the external_user_id path parameter to confirm destructive deletion.";
568
+ readonly description: "Must equal the customer_id path parameter exactly, confirming the destructive deletion.";
533
569
  }];
534
570
  }, {
535
- readonly resource: "agent.agents.endUsers";
571
+ readonly resource: "agent.agents.customers";
536
572
  readonly method: "retrieve";
537
- readonly summary: "Get End User";
538
- readonly description: "Inspect one end user and their twenty most recently updated sessions.\n\nUse 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.";
573
+ readonly summary: "Get customer";
574
+ readonly description: "Retrieve one customer of a service agent with its twenty most recently updated sessions.\n\nUse the customer id from the list or your own customer_id. An unknown customer returns 404 CUSTOMER_NOT_FOUND, and so does a customer access token. Unlike Shopify, an identified customer's session_count, cost and recent_sessions include the sessions of anonymous customers merged into it; the merged anonymous customer still shows its own sessions and its merged_into.";
539
575
  readonly http: "GET";
540
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}";
576
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}";
541
577
  readonly streaming: "no";
542
578
  readonly pagination: false;
543
579
  readonly pathParams: readonly [{
544
580
  readonly name: "agent_id";
545
581
  readonly sdkName: "agent_id";
546
- readonly description: "Active service agent identifier from agent creation or listing.";
582
+ readonly description: "Active service agent id from agent creation or listing.";
547
583
  }, {
548
- readonly name: "external_user_id";
549
- readonly sdkName: "external_user_id";
550
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
584
+ readonly name: "customer_id";
585
+ readonly sdkName: "customer_id";
586
+ readonly description: "Customer id from customer listing, or your own customer_id.";
551
587
  }];
552
588
  readonly query: readonly [];
553
589
  }, {
554
- readonly resource: "agent.agents.endUsers.block";
590
+ readonly resource: "agent.agents.customers.block";
555
591
  readonly method: "create";
556
- readonly summary: "Block End User";
557
- readonly description: "Block token issuance and session creation, then revoke existing tokens for an end user.\n\nMay 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.";
592
+ readonly summary: "Block customer";
593
+ readonly description: "Block a customer and end every sign-in it has on this agent.\n\nBlocks the customer, then ends every live sign-in the way logout does: each access token is revoked and its open event streams close. From then on grant_codes, access_tokens, renew and new sessions for this customer return CUSTOMER_BLOCKED until you unblock it. Idempotent: a repeat keeps the first block time and revokes whatever is still live. If credential revocation fails the request returns 502 and the customer stays blocked; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.";
558
594
  readonly http: "POST";
559
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block";
595
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}/block";
560
596
  readonly streaming: "no";
561
597
  readonly pagination: false;
562
598
  readonly pathParams: readonly [{
563
599
  readonly name: "agent_id";
564
600
  readonly sdkName: "agent_id";
565
- readonly description: "Active service agent identifier from agent creation or listing.";
601
+ readonly description: "Active service agent id from agent creation or listing.";
566
602
  }, {
567
- readonly name: "external_user_id";
568
- readonly sdkName: "external_user_id";
569
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
603
+ readonly name: "customer_id";
604
+ readonly sdkName: "customer_id";
605
+ readonly description: "Customer id from customer listing, or your own customer_id.";
570
606
  }];
571
607
  readonly query: readonly [];
572
608
  }, {
573
- readonly resource: "agent.agents.endUsers";
609
+ readonly resource: "agent.agents.customers";
574
610
  readonly method: "retrieveDeletion";
575
- readonly summary: "Get end-user deletion";
576
- readonly description: "Poll the latest deletion task for an end user, including after the user data has been removed.\n\nUse 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.";
611
+ readonly summary: "Get customer deletion";
612
+ readonly description: "Poll the latest deletion task of a customer, including after its data has been removed.\n\nUse the same agent_id and customer id as the confirmed DELETE. Status is pending, snapshotting, deleting, done or failed. Counts are empty until a verified snapshot exists. snapshot_key is an operator recovery reference retained for seven days, not a download URL. A customer access token and a missing task return 404.";
577
613
  readonly http: "GET";
578
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion";
614
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}/deletion";
579
615
  readonly streaming: "no";
580
616
  readonly pagination: false;
581
617
  readonly pathParams: readonly [{
582
618
  readonly name: "agent_id";
583
619
  readonly sdkName: "agent_id";
584
- readonly description: "Active service agent identifier from agent creation or listing.";
620
+ readonly description: "Active service agent id from agent creation or listing.";
585
621
  }, {
586
- readonly name: "external_user_id";
587
- readonly sdkName: "external_user_id";
588
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
622
+ readonly name: "customer_id";
623
+ readonly sdkName: "customer_id";
624
+ readonly description: "Customer id from customer listing, or your own customer_id.";
589
625
  }];
590
626
  readonly query: readonly [];
591
627
  }, {
592
- readonly resource: "agent.agents.endUsers.revokeTokens";
628
+ readonly resource: "agent.agents.customers.revokeTokens";
593
629
  readonly method: "create";
594
- readonly summary: "Revoke End User Tokens";
595
- readonly description: "Revoke all issued tokens for an end user and terminate their open embed streams.\n\nRevokes 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.";
630
+ readonly summary: "Revoke customer tokens";
631
+ readonly description: "Sign a customer out everywhere without blocking it.\n\nEnds every live sign-in of the customer, revoking each access token and closing its open event streams; the customer can sign in again right away. Returns the number of access tokens this request revoked; a repeat returns 0. Credential revocation failure returns 502; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.";
596
632
  readonly http: "POST";
597
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens";
633
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}/revoke_tokens";
598
634
  readonly streaming: "no";
599
635
  readonly pagination: false;
600
636
  readonly pathParams: readonly [{
601
637
  readonly name: "agent_id";
602
638
  readonly sdkName: "agent_id";
603
- readonly description: "Active service agent identifier from agent creation or listing.";
639
+ readonly description: "Active service agent id from agent creation or listing.";
604
640
  }, {
605
- readonly name: "external_user_id";
606
- readonly sdkName: "external_user_id";
607
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
641
+ readonly name: "customer_id";
642
+ readonly sdkName: "customer_id";
643
+ readonly description: "Customer id from customer listing, or your own customer_id.";
608
644
  }];
609
645
  readonly query: readonly [];
610
646
  }, {
611
- readonly resource: "agent.agents.endUsers.unblock";
647
+ readonly resource: "agent.agents.customers.unblock";
612
648
  readonly method: "create";
613
- readonly summary: "Unblock End User";
614
- readonly description: "Allow an end user to receive new tokens and create new sessions again.\n\nRemoves 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.";
649
+ readonly summary: "Unblock customer";
650
+ readonly description: "Allow a blocked customer to sign in and start sessions again.\n\nIdempotent. Access tokens revoked while the customer was blocked stay revoked; sign the customer in again with a new grant code. An unknown customer returns 404 CUSTOMER_NOT_FOUND.";
615
651
  readonly http: "POST";
616
- readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock";
652
+ readonly path: "/agent/v1/agents/{agent_id}/customers/{customer_id}/unblock";
617
653
  readonly streaming: "no";
618
654
  readonly pagination: false;
619
655
  readonly pathParams: readonly [{
620
656
  readonly name: "agent_id";
621
657
  readonly sdkName: "agent_id";
622
- readonly description: "Active service agent identifier from agent creation or listing.";
658
+ readonly description: "Active service agent id from agent creation or listing.";
623
659
  }, {
624
- readonly name: "external_user_id";
625
- readonly sdkName: "external_user_id";
626
- readonly description: "Host user identifier supplied at issuance or from end-user listing.";
660
+ readonly name: "customer_id";
661
+ readonly sdkName: "customer_id";
662
+ readonly description: "Customer id from customer listing, or your own customer_id.";
627
663
  }];
628
664
  readonly query: readonly [];
629
665
  }, {
@@ -1274,175 +1310,6 @@ export declare const operations: readonly [{
1274
1310
  readonly description: "Deployment id (depl_...), returned by deployments.create or deployments.list.";
1275
1311
  }];
1276
1312
  readonly query: readonly [];
1277
- }, {
1278
- readonly resource: "agent.embed";
1279
- readonly method: "retrieveAppearance";
1280
- readonly summary: "Read chat appearance";
1281
- readonly 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.";
1282
- readonly http: "GET";
1283
- readonly path: "/agent/v1/embed/appearance";
1284
- readonly streaming: "no";
1285
- readonly pagination: false;
1286
- readonly pathParams: readonly [];
1287
- readonly query: readonly [];
1288
- }, {
1289
- readonly resource: "agent.embed.exchange";
1290
- readonly method: "create";
1291
- readonly summary: "Exchange Hosted Code";
1292
- readonly description: "Redeem a single-use hosted link credential for an end-user token.\n\nRead 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>\"}.";
1293
- readonly http: "POST";
1294
- readonly path: "/agent/v1/embed/exchange";
1295
- readonly streaming: "no";
1296
- readonly pagination: false;
1297
- readonly pathParams: readonly [];
1298
- readonly query: readonly [];
1299
- readonly body: {
1300
- readonly required: true;
1301
- readonly fields: readonly [{
1302
- readonly name: "code";
1303
- readonly type: "string";
1304
- readonly required: true;
1305
- readonly description: "Single-use credential from the c fragment parameter of hosted_url returned by embed token creation. Valid for 60 seconds.";
1306
- }];
1307
- };
1308
- }, {
1309
- readonly resource: "agent.embedTokens";
1310
- readonly method: "list";
1311
- readonly summary: "List Embed Tokens";
1312
- readonly description: "List embed token issuance records in your organization.\n\nIncludes expired and revoked grants; returns neither token nor token_id. Sorts by created_at, then grant id, both descending. agent_id accepts agent_ or agt_; external_user_id matches exactly. limit is 1–100 (default 20). Reuse next_page as page with the same filters and organization; a mismatch returns 400. End-user credentials return 404.";
1313
- readonly http: "GET";
1314
- readonly path: "/agent/v1/embed_tokens";
1315
- readonly streaming: "no";
1316
- readonly pagination: false;
1317
- readonly pathParams: readonly [];
1318
- readonly query: readonly [{
1319
- readonly name: "agent_id";
1320
- readonly type: "string";
1321
- readonly required: false;
1322
- readonly description: "Filter by service agent identifier (agent_ or agt_ prefix).";
1323
- }, {
1324
- readonly name: "external_user_id";
1325
- readonly type: "string";
1326
- readonly required: false;
1327
- readonly description: "Exact host user identifier supplied at issuance.";
1328
- }, {
1329
- readonly name: "limit";
1330
- readonly type: "integer";
1331
- readonly required: false;
1332
- readonly description: "Maximum records per page; defaults to 20.";
1333
- }, {
1334
- readonly name: "page";
1335
- readonly type: "string";
1336
- readonly required: false;
1337
- readonly description: "next_page from a previous response with the same filters.";
1338
- }];
1339
- }, {
1340
- readonly resource: "agent.embedTokens";
1341
- readonly method: "create";
1342
- readonly summary: "Create Embed Token";
1343
- readonly description: "Issue a short-lived credential on your backend for an end user of a service agent.\n\nRequires 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.";
1344
- readonly http: "POST";
1345
- readonly path: "/agent/v1/embed_tokens";
1346
- readonly streaming: "no";
1347
- readonly pagination: false;
1348
- readonly pathParams: readonly [];
1349
- readonly query: readonly [];
1350
- readonly body: {
1351
- readonly required: true;
1352
- readonly fields: readonly [{
1353
- readonly name: "hosted";
1354
- readonly type: "boolean";
1355
- readonly required: false;
1356
- readonly 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.";
1357
- }, {
1358
- readonly name: "agent";
1359
- readonly type: "string";
1360
- readonly required: true;
1361
- readonly description: "Service agent ID or identity_number from agent retrieval; it must belong to your organization and be active.";
1362
- }, {
1363
- readonly name: "version";
1364
- readonly type: "integer";
1365
- readonly required: false;
1366
- readonly description: "Existing agent version to pin. Omit to pin the latest version at issuance.";
1367
- }, {
1368
- readonly name: "external_user_id";
1369
- readonly type: "string";
1370
- readonly required: true;
1371
- readonly description: "Your application's stable end-user identifier, scoped to this organization and agent.";
1372
- }, {
1373
- readonly name: "ttl_seconds";
1374
- readonly type: "integer";
1375
- readonly required: false;
1376
- readonly description: "Token lifetime in seconds. Defaults to the embed policy TTL and cannot exceed its maximum or 3600 seconds.";
1377
- }, {
1378
- readonly name: "budget_cents";
1379
- readonly type: "integer";
1380
- readonly required: false;
1381
- readonly description: "Session budget in cents. Defaults to the embed policy session budget and cannot exceed its maximum.";
1382
- }, {
1383
- readonly name: "system_message";
1384
- readonly type: "array";
1385
- readonly itemType: "object";
1386
- readonly required: false;
1387
- readonly description: "Optional host context as text blocks, limited to 8192 UTF-8 bytes in total.";
1388
- }, {
1389
- readonly name: "agent_override";
1390
- readonly type: "object";
1391
- readonly required: false;
1392
- readonly description: "Optional system prompt override, accepted only when the embed policy allows agent overrides.";
1393
- }, {
1394
- readonly name: "allowed_origins";
1395
- readonly type: "array";
1396
- readonly itemType: "string";
1397
- readonly required: false;
1398
- readonly description: "Optional subset of the policy origin entries, compared exactly. Omit to snapshot every policy origin.";
1399
- }, {
1400
- readonly name: "metadata";
1401
- readonly type: "object";
1402
- readonly required: false;
1403
- readonly description: "Host metadata preserved verbatim; at most 16 keys of 1–64 characters and string values of at most 512 characters. Defaults to an empty object.";
1404
- }];
1405
- };
1406
- }, {
1407
- readonly resource: "agent.embedTokens.anonymous";
1408
- readonly method: "create";
1409
- readonly summary: "Issue anonymous visitor token";
1410
- readonly description: "Obtain a short-lived embedding token for a visitor without an account using the agent owner's publishable key.\n\nNo 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\"}.";
1411
- readonly http: "POST";
1412
- readonly path: "/agent/v1/embed_tokens/anonymous";
1413
- readonly streaming: "no";
1414
- readonly pagination: false;
1415
- readonly pathParams: readonly [];
1416
- readonly query: readonly [];
1417
- readonly body: {
1418
- readonly required: true;
1419
- readonly fields: readonly [{
1420
- readonly name: "publishable_key";
1421
- readonly type: "string";
1422
- readonly required: true;
1423
- readonly description: "Public key created by the service agent owner; safe to include in browser code.";
1424
- }, {
1425
- readonly name: "visitor_secret";
1426
- readonly type: "string";
1427
- readonly required: false;
1428
- readonly description: "Secret returned by a previous anonymous issuance for this key. Omit for a new visitor; an unknown secret creates a new visitor.";
1429
- }];
1430
- };
1431
- }, {
1432
- readonly resource: "agent.embedTokens.revoke";
1433
- readonly method: "create";
1434
- readonly summary: "Revoke Embed Token";
1435
- readonly description: "Revoke an embed token and close its open event streams.\n\nUse an id from issuance or listing. Revokes the credential before setting revoked_at; upstream failure leaves it unset. Streams receive session.error (EMBED_TOKEN_REVOKED), then close immediately; other credentials are unaffected. Idempotent; repeats return the original revoked record without another revocation or audit. Missing or foreign grants and end-user credentials return 404.";
1436
- readonly http: "POST";
1437
- readonly path: "/agent/v1/embed_tokens/{id}/revoke";
1438
- readonly streaming: "no";
1439
- readonly pagination: false;
1440
- readonly pathParams: readonly [{
1441
- readonly name: "id";
1442
- readonly sdkName: "id";
1443
- readonly description: "Grant id returned by issuance or listing.";
1444
- }];
1445
- readonly query: readonly [];
1446
1313
  }, {
1447
1314
  readonly resource: "agent.environments";
1448
1315
  readonly method: "list";
@@ -1692,7 +1559,7 @@ export declare const operations: readonly [{
1692
1559
  readonly name: "budget";
1693
1560
  readonly type: "object";
1694
1561
  readonly required: false;
1695
- readonly description: "Session spending limit, {type: \"limit\", max_list_cost: {amount, currency}}; null when unlimited. Creation defaults to a limit of 2000 US cents (USD 20.00) when omitted. amount is a positive integer string of US cents; removing the limit with null prevents setting it again for that session.";
1562
+ readonly description: "Session spending limit, {type: \"limit\", max_list_cost: {amount, currency}}; null when unlimited. amount is in US dollars: send an integer or up to 2 decimals (\"0.50\"), and responses carry exactly 2 decimals (\"20.00\"). Creation defaults to USD 20.00 when omitted. More decimals, zero or a number return 400. Removing the limit with null prevents setting it again for that session.";
1696
1563
  }, {
1697
1564
  readonly name: "initial_events";
1698
1565
  readonly type: "array";