@archastro/sdk 0.9.0 → 0.10.0

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.
Files changed (47) hide show
  1. package/dist/types/chat.d.ts +81 -20
  2. package/dist/types/chat.d.ts.map +1 -1
  3. package/dist/types/common.d.ts +367 -364
  4. package/dist/types/common.d.ts.map +1 -1
  5. package/dist/types/common.js +20 -62
  6. package/dist/types/common.js.map +1 -1
  7. package/dist/types/index.d.ts +1 -0
  8. package/dist/types/index.d.ts.map +1 -1
  9. package/dist/types/index.js +2 -1
  10. package/dist/types/index.js.map +1 -1
  11. package/dist/types/tasks.d.ts +347 -0
  12. package/dist/types/tasks.d.ts.map +1 -0
  13. package/dist/types/tasks.js +67 -0
  14. package/dist/types/tasks.js.map +1 -0
  15. package/dist/types/threads.d.ts +540 -3
  16. package/dist/types/threads.d.ts.map +1 -1
  17. package/dist/types/threads.js +45 -2
  18. package/dist/types/threads.js.map +1 -1
  19. package/dist/v1/resources/agents.d.ts +2 -2
  20. package/dist/v1/resources/agents.js +3 -3
  21. package/dist/v1/resources/custom_objects.d.ts +55 -4
  22. package/dist/v1/resources/custom_objects.d.ts.map +1 -1
  23. package/dist/v1/resources/custom_objects.js +7 -4
  24. package/dist/v1/resources/custom_objects.js.map +1 -1
  25. package/dist/v1/resources/slack_channel_bindings.d.ts +37 -0
  26. package/dist/v1/resources/slack_channel_bindings.d.ts.map +1 -1
  27. package/dist/v1/resources/slack_channel_bindings.js +31 -1
  28. package/dist/v1/resources/slack_channel_bindings.js.map +1 -1
  29. package/dist/v1/resources/solutions.d.ts +2 -0
  30. package/dist/v1/resources/solutions.d.ts.map +1 -1
  31. package/dist/v1/resources/solutions.js +2 -1
  32. package/dist/v1/resources/solutions.js.map +1 -1
  33. package/dist/v1/resources/teams.d.ts +76 -0
  34. package/dist/v1/resources/teams.d.ts.map +1 -1
  35. package/dist/v1/resources/teams.js +58 -1
  36. package/dist/v1/resources/teams.js.map +1 -1
  37. package/dist/v1/resources/thread_messages.d.ts +19 -0
  38. package/dist/v1/resources/thread_messages.d.ts.map +1 -1
  39. package/dist/v1/resources/thread_messages.js +21 -1
  40. package/dist/v1/resources/thread_messages.js.map +1 -1
  41. package/dist/v1/resources/threads.d.ts +1 -0
  42. package/dist/v1/resources/threads.d.ts.map +1 -1
  43. package/dist/v1/resources/threads.js +1 -1
  44. package/dist/v1/resources/users.d.ts +1 -0
  45. package/dist/v1/resources/users.d.ts.map +1 -1
  46. package/dist/v1/resources/users.js +1 -1
  47. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2026 ArchAstro Inc. Licensed under the MIT License.
2
2
  // This file is auto-generated by @archastro/sdk-generator. Do not edit.
3
- // Content hash: 616a0f880281
3
+ // Content hash: 3cf6aaa1b1df
4
4
  import { z } from "zod";
5
5
  import { automationParticipantSlotSchema, automationPrefillsSchema } from "./automations.js";
6
6
  import { configSchema } from "./config.js";
@@ -353,6 +353,8 @@ export const messageSchema = z.object({
353
353
  reply_count: z.number().int().optional().describe("Total number of direct replies to this message. Only present when explicitly requested or computed by the server."),
354
354
  /** The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. */
355
355
  reply_to: z.record(z.unknown()).optional().describe("The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded."),
356
+ /** ID of the root message in this reply chain (`msg_...`). `null` for a top-level message. The value is persisted when the reply is created, so callers can correlate a multi-turn session without walking parent messages. */
357
+ root_message_id: z.string().nullable().optional().describe("ID of the root message in this reply chain (`msg_...`). `null` for a top-level message. The value is persisted when the reply is created, so callers can correlate a multi-turn session without walking parent messages."),
356
358
  /** ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. */
357
359
  sandbox: z.string().optional().describe("ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages."),
358
360
  /** ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. */
@@ -460,6 +462,8 @@ export const contextIngestionSchema = z.object({
460
462
  }).describe("A context ingestion job that processes a context source and populates its documents. Tracks status and timing from submission through completion or failure.");
461
463
  /** Runtime validator for {@link CustomObject}. */
462
464
  export const customObjectSchema = z.object({
465
+ /** Access control list governing read and write access to this custom object. Only returned to resource owners and privileged or organization-admin viewers; `null` for everyone else. */
466
+ acl: aclSchema.optional().describe("Access control list governing read and write access to this custom object. Only returned to resource owners and privileged or organization-admin viewers; `null` for everyone else."),
463
467
  /** When the custom object was created (ISO 8601). */
464
468
  created_at: z.string().optional().describe("When the custom object was created (ISO 8601)."),
465
469
  /** Map of field names to their current values as defined by the object's schema type. */
@@ -872,6 +876,8 @@ export const slackChannelBindingSchema = z.object({
872
876
  customer_label: z.string().optional().describe("Human-readable label identifying the customer, derived from the binding's embedded config. `null` when not set."),
873
877
  /** Staging thread the deposit pipe copies this channel's mirror content into (`thr_…` public ID). `null` when the pipe is off for this binding. */
874
878
  deposit_thread: z.string().optional().describe("Staging thread the deposit pipe copies this channel's mirror content into (`thr_…` public ID). `null` when the pipe is off for this binding."),
879
+ /** Slack Connect lifecycle: `pending` while the customer has not accepted the invite (nothing mirrors), `posted` once the AI disclosure is in the channel and the channel is live, `suppressed` when relay is stopped. `null` for a binding that never went through Connect provisioning. */
880
+ disclosure_state: z.enum(["pending", "posted", "suppressed"]).optional().describe("Slack Connect lifecycle: `pending` while the customer has not accepted the invite (nothing mirrors), `posted` once the AI disclosure is in the channel and the channel is live, `suppressed` when relay is stopped. `null` for a binding that never went through Connect provisioning."),
875
881
  /** Unique identifier for this Slack channel binding. */
876
882
  id: z.string().describe("Unique identifier for this Slack channel binding."),
877
883
  /** ID of the Slack integration that owns this binding. */
@@ -890,8 +896,12 @@ export const slackChannelBindingSchema = z.object({
890
896
  resident_agent: z.string().optional().describe("ID of the non-concierge agent selected by Slack ingress. `null` when ingress falls back to the concierge."),
891
897
  /** Effective Slack ingress route: `fda` for a team-bound resident, `resident` for an unbound resident, or `concierge` when no non-concierge agent is attached. */
892
898
  route_kind: z.enum(["fda", "resident", "concierge"]).describe("Effective Slack ingress route: `fda` for a team-bound resident, `resident` for an unbound resident, or `concierge` when no non-concierge agent is attached."),
899
+ /** The customer key this channel's agent is locked to, written when adding the customer finishes. A `posted` binding whose `scope_key` is still null has been accepted but not finished — the addition is either in flight or was refused. */
900
+ scope_key: z.string().optional().describe("The customer key this channel's agent is locked to, written when adding the customer finishes. A `posted` binding whose `scope_key` is still null has been accepted but not finished — the addition is either in flight or was refused."),
893
901
  /** ID of the ArchAstro team this channel is bound to. */
894
902
  team: z.string().optional().describe("ID of the ArchAstro team this channel is bound to."),
903
+ /** Whether the admin who added this customer ended up inside a Connect channel we created for them: `invited` (we put them in), `already_member` (they were in it already), `no_slack_user` (their account email is not a Slack account in your workspace, so nobody was invited), or `failed` (Slack refused). A created Connect channel is private and has no self-join, so the last two mean the channel has no human from your side until someone already in it adds one. `null` when nobody was added: the channel was adopted rather than created (an existing channel already has its own members), the binding never went through Connect provisioning, or the call had no admin behind it. */
904
+ vendor_admin_channel_access: z.enum(["invited", "already_member", "no_slack_user", "failed"]).optional().describe("Whether the admin who added this customer ended up inside a Connect channel we created for them: `invited` (we put them in), `already_member` (they were in it already), `no_slack_user` (their account email is not a Slack account in your workspace, so nobody was invited), or `failed` (Slack refused). A created Connect channel is private and has no self-join, so the last two mean the channel has no human from your side until someone already in it adds one. `null` when nobody was added: the channel was adopted rather than created (an existing channel already has its own members), the binding never went through Connect provisioning, or the call had no admin behind it."),
895
905
  }).describe("A binding that connects a Slack channel to an ArchAstro team and one or more agents, enabling those agents to receive and respond to messages in that channel.");
896
906
  /** Runtime validator for {@link SlackChannelBindingListResponse}. */
897
907
  export const slackChannelBindingListResponseSchema = z.object({
@@ -906,67 +916,6 @@ export const slackChannelBindingListResponseSchema = z.object({
906
916
  /** Total number of pages available at the current `per_page` size. */
907
917
  total_pages: z.number().int().describe("Total number of pages available at the current `per_page` size."),
908
918
  }).describe("Paginated list of Slack channel bindings for the requested integration or team. Use the `page` and `per_page` fields to navigate pages of results.");
909
- /** Runtime validator for {@link Task}. */
910
- export const taskSchema = z.object({
911
- /** ID of the agent that owns this task (`agi_...`). `null` if the task is scoped to a team or user. */
912
- agent: z.string().optional().describe("ID of the agent that owns this task (`agi_...`). `null` if the task is scoped to a team or user."),
913
- /** Number of tasks marked as blocking this task, whether or not they are done (see `GET /tasks/{task}/blockers`). Computed on list/show reads; create/update responses may lag one read behind. */
914
- blocked_by_count: z.number().int().optional().describe("Number of tasks marked as blocking this task, whether or not they are done (see `GET /tasks/{task}/blockers`). Computed on list/show reads; create/update responses may lag one read behind."),
915
- /** When the task was marked as done or otherwise closed (ISO 8601). `null` if the task is still open. */
916
- closed_at: z.string().optional().describe("When the task was marked as done or otherwise closed (ISO 8601). `null` if the task is still open."),
917
- /** Total number of comments posted on this task. */
918
- comments_count: z.number().int().optional().describe("Total number of comments posted on this task."),
919
- /** When the task was created (ISO 8601). */
920
- created_at: z.string().optional().describe("When the task was created (ISO 8601)."),
921
- /** Resolved creator details including `id`, `name`, `alias`, and `profile_picture`. `null` if no creator is set or the creator cannot be resolved (e.g. creating agent was deleted). */
922
- created_by_actor: actorSchema.optional().describe("Resolved creator details including `id`, `name`, `alias`, and `profile_picture`. `null` if no creator is set or the creator cannot be resolved (e.g. creating agent was deleted)."),
923
- /** ID of the agent that created this task (`agi_...`). `null` if the task was created by a human user, or if the creating agent was later deleted. */
924
- created_by_agent: z.string().optional().describe("ID of the agent that created this task (`agi_...`). `null` if the task was created by a human user, or if the creating agent was later deleted."),
925
- /** ID of the user who created this task (`usr_...`). `null` if the task was created by an agent, or if creator provenance was cleared after the creator was deleted. */
926
- created_by_user: z.string().optional().describe("ID of the user who created this task (`usr_...`). `null` if the task was created by an agent, or if creator provenance was cleared after the creator was deleted."),
927
- /** Long-form description or notes for the task. `null` if no description has been provided. */
928
- description: z.string().optional().describe("Long-form description or notes for the task. `null` if no description has been provided."),
929
- /** Date and time by which the task should be completed (ISO 8601). `null` if no due date is set. */
930
- due_date: z.string().optional().describe("Date and time by which the task should be completed (ISO 8601). `null` if no due date is set."),
931
- /** Task ID (`tsk_...`). */
932
- id: z.string().describe("Task ID (`tsk_...`)."),
933
- /** `true` while at least one blocking task is not yet done. Informational only — a blocked task can still change status — and derived at read time, so the task un-blocks automatically when its last open blocker completes. Computed on list/show reads; create/update responses report `false` until the next read. */
934
- is_blocked: z.boolean().optional().describe("`true` while at least one blocking task is not yet done. Informational only — a blocked task can still change status — and derived at read time, so the task un-blocks automatically when its last open blocker completes. Computed on list/show reads; create/update responses report `false` until the next read."),
935
- /** Key-value map of named URLs or references associated with the task. Returns an empty object when no links have been set. */
936
- links: z.record(z.unknown()).optional().describe("Key-value map of named URLs or references associated with the task. Returns an empty object when no links have been set."),
937
- /** Arbitrary key-value map of application-specific data stored alongside the task. Returns an empty object when no metadata has been set. */
938
- metadata: z.record(z.unknown()).optional().describe("Arbitrary key-value map of application-specific data stored alongside the task. Returns an empty object when no metadata has been set."),
939
- /** Human-readable title of the task. */
940
- name: z.string().describe("Human-readable title of the task."),
941
- /** ID of the organization this task belongs to (`org_...`). `null` for tasks outside an org context. */
942
- org: z.string().optional().describe("ID of the organization this task belongs to (`org_...`). `null` for tasks outside an org context."),
943
- /** Resolved owner details including `id`, `name`, `alias`, and `profile_picture`. `null` if the task is unassigned or the owner cannot be resolved (e.g. assigned agent was deleted). */
944
- owner_actor: actorSchema.optional().describe("Resolved owner details including `id`, `name`, `alias`, and `profile_picture`. `null` if the task is unassigned or the owner cannot be resolved (e.g. assigned agent was deleted)."),
945
- /** ID of the agent assigned as owner (`agi_...`). `null` if the owner is a human user, the task is unassigned, or the assigned agent was deleted. */
946
- owner_agent: z.string().optional().describe("ID of the agent assigned as owner (`agi_...`). `null` if the owner is a human user, the task is unassigned, or the assigned agent was deleted."),
947
- /** ID of the user assigned as owner (`usr_...`). `null` if the owner is an agent, the task is unassigned, or the assigned agent was deleted. */
948
- owner_user: z.string().optional().describe("ID of the user assigned as owner (`usr_...`). `null` if the owner is an agent, the task is unassigned, or the assigned agent was deleted."),
949
- /** ID of the parent task when this task is a subtask (`tsk_...`). `null` for top-level tasks. Subtasks nest exactly one level. */
950
- parent: z.string().optional().describe("ID of the parent task when this task is a subtask (`tsk_...`). `null` for top-level tasks. Subtasks nest exactly one level."),
951
- /** Priority level of the task from `0` (highest) to `4` (lowest). Defaults to `2` (medium) when not explicitly set. */
952
- priority: z.number().int().optional().describe("Priority level of the task from `0` (highest) to `4` (lowest). Defaults to `2` (medium) when not explicitly set."),
953
- /** ID of the developer sandbox this task is scoped to (`dsb_...`). `null` for tasks outside a sandbox environment. */
954
- sandbox: z.string().optional().describe("ID of the developer sandbox this task is scoped to (`dsb_...`). `null` for tasks outside a sandbox environment."),
955
- /** Current status of the task. One of `"open"`, `"in_progress"`, or `"done"`. */
956
- status: z.string().describe("Current status of the task. One of `\"open\"`, `\"in_progress\"`, or `\"done\"`."),
957
- /** Number of subtasks under this task. Computed on list/show reads; create/update responses may report 0 until the next read. Always 0 for subtasks. */
958
- subtasks_count: z.number().int().optional().describe("Number of subtasks under this task. Computed on list/show reads; create/update responses may report 0 until the next read. Always 0 for subtasks."),
959
- /** Labels for grouping and filtering, stored lowercase and de-duplicated. Empty array when untagged. */
960
- tags: z.array(z.string()).optional().describe("Labels for grouping and filtering, stored lowercase and de-duplicated. Empty array when untagged."),
961
- /** ID of the team that owns this task (`tem_...`). `null` if the task is not scoped to a team. */
962
- team: z.string().optional().describe("ID of the team that owns this task (`tem_...`). `null` if the task is not scoped to a team."),
963
- /** ID of the thread this task is bound to (`thr_...`) — the conversation it was filed from, or the thread passed at creation. `null` for tasks not tied to a thread. */
964
- thread: z.string().optional().describe("ID of the thread this task is bound to (`thr_...`) — the conversation it was filed from, or the thread passed at creation. `null` for tasks not tied to a thread."),
965
- /** When the task was last modified (ISO 8601). */
966
- updated_at: z.string().optional().describe("When the task was last modified (ISO 8601)."),
967
- /** ID of the user that owns this task (`usr_...`). `null` if the task is scoped to a team. */
968
- user: z.string().optional().describe("ID of the user that owns this task (`usr_...`). `null` if the task is scoped to a team."),
969
- }).describe("A task representing a unit of work, optionally assignable to a user or agent.");
970
919
  /** Runtime validator for {@link ValidationResult}. */
971
920
  export const validationResultSchema = z.object({
972
921
  /** List of human-readable error messages describing why validation failed. Empty or absent when `valid` is `true`. */
@@ -1871,6 +1820,11 @@ export const solutionImportResponseSchema = z.object({
1871
1820
  /** The `virtual_path` stored on the Solution config, used as the stable dedupe key across owner scopes. `null` when no virtual path was assigned. */
1872
1821
  virtual_path: z.string().optional().describe("The `virtual_path` stored on the Solution config, used as the stable dedupe key across owner scopes. `null` when no virtual path was assigned."),
1873
1822
  }).describe("The result of importing a Solution bundle into the library, including the Solution config record, a structured import result, and the list of all configs persisted during the transaction.");
1823
+ /** Runtime validator for {@link SolutionInstallResponseWebhook}. */
1824
+ export const solutionInstallResponseWebhookSchema = z.object({
1825
+ signing_secret: z.string(),
1826
+ url: z.string(),
1827
+ }).describe("One-time connection details for a webhook-auth Automation install.");
1874
1828
  /** Runtime validator for {@link SolutionInstallResponse}. */
1875
1829
  export const solutionInstallResponseSchema = z.object({
1876
1830
  /** Public ID of the provisioned resource. The prefix reflects the resource kind: `agi_...` for Agent, `aut_...` for Automation, `art_...` for AgentRoutine, `att_...` for AgentTool, `ask_...` for AgentSkill, `cmp_...` for AgentComputer. */
@@ -1881,11 +1835,15 @@ export const solutionInstallResponseSchema = z.object({
1881
1835
  lookup_key: z.string().optional().describe("The `lookup_key` stamped on the provisioned resource. `null` for `AgentSkill`, which is a join record and does not carry a lookup key."),
1882
1836
  /** Solution config ID (`cfg_...`) that was used as the source for this install. */
1883
1837
  solution: z.string().describe("Solution config ID (`cfg_...`) that was used as the source for this install."),
1838
+ /** One-time connection details for a webhook-auth Automation install. */
1839
+ webhook: solutionInstallResponseWebhookSchema.optional().describe("One-time connection details for a webhook-auth Automation install."),
1884
1840
  }).describe("The runtime resource provisioned by installing a Solution, along with a reference back to the source Solution config.");
1885
1841
  /** Runtime validator for {@link SolutionInstance}. */
1886
1842
  export const solutionInstanceSchema = z.object({
1887
1843
  /** Materialized agent for this customer (`agi_...`). `null` for a row without an agent. */
1888
1844
  agent: z.string().optional().describe("Materialized agent for this customer (`agi_...`). `null` for a row without an agent."),
1845
+ /** Human-readable display name of the materialized agent. `null` when no agent is visible. */
1846
+ agent_name: z.string().optional().describe("Human-readable display name of the materialized agent. `null` when no agent is visible."),
1889
1847
  /** Opaque tagged reference to the deployment target. Consumers interpret its kind. */
1890
1848
  attachment_ref: z.record(z.unknown()).optional().describe("Opaque tagged reference to the deployment target. Consumers interpret its kind."),
1891
1849
  /** When this instance was stamped. */