@proteos/sdk 0.61.0 → 0.76.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 (40) hide show
  1. package/dist/{chunk-OOOTPEJK.js → chunk-C5642XOH.js} +79 -11
  2. package/dist/chunk-C5642XOH.js.map +1 -0
  3. package/dist/{chunk-25PD6TYH.cjs → chunk-Z773P4RO.cjs} +85 -10
  4. package/dist/chunk-Z773P4RO.cjs.map +1 -0
  5. package/dist/index.cjs +387 -130
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +815 -81
  8. package/dist/index.d.ts +815 -81
  9. package/dist/index.js +250 -13
  10. package/dist/index.js.map +1 -1
  11. package/dist/meta/index.cjs +117 -89
  12. package/dist/meta/index.d.cts +1 -1
  13. package/dist/meta/index.d.ts +1 -1
  14. package/dist/meta/index.js +1 -1
  15. package/dist/{types-DQmqR_G8.d.cts → types-Bn5y5wHZ.d.cts} +744 -48
  16. package/dist/{types-DQmqR_G8.d.ts → types-Bn5y5wHZ.d.ts} +744 -48
  17. package/package.json +1 -1
  18. package/src/agent/session-types.ts +8 -1
  19. package/src/agent/sessions.ts +6 -4
  20. package/src/agent/types.ts +9 -0
  21. package/src/auth/platform-entities.ts +6 -0
  22. package/src/client.ts +28 -4
  23. package/src/conversation/index.ts +327 -15
  24. package/src/conversation/types.ts +596 -5
  25. package/src/data/entity-indexes.ts +54 -0
  26. package/src/data/index.ts +12 -0
  27. package/src/data/types.ts +66 -0
  28. package/src/errors.ts +5 -0
  29. package/src/index.ts +60 -0
  30. package/src/meta/components.ts +23 -3
  31. package/src/meta/index.ts +11 -0
  32. package/src/meta/layout/common-props.ts +9 -0
  33. package/src/meta/layout/elements.ts +57 -0
  34. package/src/meta/layout/index.ts +5 -0
  35. package/src/meta/layout/page-layout.ts +15 -3
  36. package/src/meta/types.ts +253 -21
  37. package/src/scheduling/types.ts +5 -1
  38. package/src/workflow/types.ts +10 -2
  39. package/dist/chunk-25PD6TYH.cjs.map +0 -1
  40. package/dist/chunk-OOOTPEJK.js.map +0 -1
@@ -143,6 +143,14 @@ declare class ProteosClient {
143
143
  * Creates an AbortSignal with timeout.
144
144
  */
145
145
  private createTimeoutSignal;
146
+ /**
147
+ * Runs fetch and turns a transport failure — DNS, connection refused, the
148
+ * network being down, the timeout signal firing — into a ProteosError with
149
+ * httpStatus 0, so callers can tell "the server said no" from "the server
150
+ * was never reached" (the latter is worth retrying). An abort the caller
151
+ * asked for is theirs and passes through untouched.
152
+ */
153
+ private send;
146
154
  /**
147
155
  * Performs an HTTP request and decodes the JSON response.
148
156
  *
@@ -648,6 +656,12 @@ interface AppService {
648
656
  delete(slug: string): Promise<void>;
649
657
  }
650
658
 
659
+ /**
660
+ * The hex digest of a `bundle_checksum` (`sha256:<hex>`), which is what the
661
+ * bundle endpoint compares its `v` query against. `undefined` for an absent
662
+ * or malformed checksum.
663
+ */
664
+ declare function bundleVersionOf(bundleChecksum: string | undefined): string | undefined;
651
665
  /**
652
666
  * Service for managing UI component definitions.
653
667
  * Components define reusable UI elements in the system.
@@ -712,7 +726,7 @@ interface ComponentService {
712
726
  * @param slug - Component slug
713
727
  * @returns The relative bundle URL
714
728
  */
715
- bundleUrl(slug: string): string;
729
+ bundleUrl(slug: string, bundleChecksum?: string): string;
716
730
  }
717
731
 
718
732
  /**
@@ -1543,6 +1557,9 @@ interface SizingProps {
1543
1557
  /** Floor under `height` (px or %). Under `height: 'fill'` in a column it
1544
1558
  * replaces the default 320px floor. */
1545
1559
  min_height?: LengthValue;
1560
+ /** Ceiling over `height` (px or %). A box that would grow past it scrolls
1561
+ * its content instead; a field scrolls its value and keeps its label. */
1562
+ max_height?: LengthValue;
1546
1563
  grow?: number;
1547
1564
  shrink?: number;
1548
1565
  align?: LayoutAlign;
@@ -1582,6 +1599,10 @@ interface CommonProps {
1582
1599
  height?: SizeValue;
1583
1600
  /** Floor under `height`, px or %. */
1584
1601
  min_height?: LengthValue;
1602
+ /** Ceiling over `height`, px or %. Content past it scrolls inside the
1603
+ * element (a field scrolls its value, the label stays). A fixed px / %
1604
+ * `height` bounds the same way. */
1605
+ max_height?: LengthValue;
1585
1606
  grow?: number;
1586
1607
  shrink?: number;
1587
1608
  align?: LayoutAlign;
@@ -1642,6 +1663,7 @@ declare const LayoutElementType: {
1642
1663
  readonly WorkflowTrigger: "workflow_trigger";
1643
1664
  readonly SchedulingPicker: "scheduling_picker";
1644
1665
  readonly Calendar: "calendar";
1666
+ readonly Stepper: "stepper";
1645
1667
  };
1646
1668
  type LayoutElementType = (typeof LayoutElementType)[keyof typeof LayoutElementType];
1647
1669
  type RowElement = CommonProps & {
@@ -1705,6 +1727,39 @@ type TabsElement = CommonProps & {
1705
1727
  tabs: LayoutTab[];
1706
1728
  default_tab_id?: string;
1707
1729
  };
1730
+ /**
1731
+ * One stage inside a `stepper` element, bound to one value of the stepper's
1732
+ * enum attribute. Steps are ordered: the step whose `value` the record holds
1733
+ * is current, the ones before it completed, the ones after it upcoming.
1734
+ * `visible_when` hides a step from the rail without changing the order;
1735
+ * `continue_label` overrides the Continue button while this step is current.
1736
+ * Step ids share the page-wide id namespace with element ids.
1737
+ */
1738
+ type LayoutStep = {
1739
+ id: string;
1740
+ value: string;
1741
+ label: string;
1742
+ icon?: string;
1743
+ continue_label?: string;
1744
+ visible_when?: FilterGroup;
1745
+ content: LayoutElement;
1746
+ };
1747
+ /**
1748
+ * Tabs for a record that walks through stages: ordered steps bound to one
1749
+ * enum `attribute` of the page record, one content tree per step, and
1750
+ * Continue / Back buttons that write the attribute through the normal record
1751
+ * update — `before_update` hooks stay the authority on readiness and their
1752
+ * refusal is shown inline. Record pages only.
1753
+ */
1754
+ type StepperElement = CommonProps & {
1755
+ type: 'stepper';
1756
+ attribute: string;
1757
+ /** Continue button label (default "Continue"); a step's own `continue_label` wins. */
1758
+ continue_label?: string;
1759
+ /** Back button label (default "Back"). */
1760
+ back_label?: string;
1761
+ steps: LayoutStep[];
1762
+ };
1708
1763
  type FieldElement = CommonProps & {
1709
1764
  type: 'field';
1710
1765
  attribute: string;
@@ -1925,8 +1980,9 @@ type TextElement = CommonProps & {
1925
1980
  variant: TextVariant;
1926
1981
  content: string;
1927
1982
  };
1928
- type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement | SchedulingPickerElement | CalendarElement;
1983
+ type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement | SchedulingPickerElement | CalendarElement | StepperElement;
1929
1984
  declare const LayoutTabSchema: z.ZodType<LayoutTab>;
1985
+ declare const LayoutStepSchema: z.ZodType<LayoutStep>;
1930
1986
  declare const LayoutElementSchema: z.ZodType<LayoutElement>;
1931
1987
 
1932
1988
  /**
@@ -1958,6 +2014,12 @@ declare const PageLayoutSidePanelSchema: z.ZodObject<{
1958
2014
  */
1959
2015
  declare const PAGE_BACKGROUND_TOKENS: readonly ["bg", "bg-2", "bg-3", "ink", "ink-2", "ink-3", "ink-4", "rule", "rule-2", "accent", "accent-2", "accent-ink", "success", "warning", "danger", "info"];
1960
2016
  type PageBackgroundToken = (typeof PAGE_BACKGROUND_TOKENS)[number];
2017
+ /** Record toolbar shapes. `full` (default) = title strip + actions strip;
2018
+ * `condensed` = title strip only: a (⋯) overflow with the page actions and
2019
+ * the record's links (hidden when there are none), then Edit / Delete,
2020
+ * beside the close button. */
2021
+ declare const PAGE_HEADERS: readonly ["full", "condensed"];
2022
+ type PageHeader = (typeof PAGE_HEADERS)[number];
1961
2023
  /**
1962
2024
  * A raw CSS color a page background may use instead of a token: a hex literal
1963
2025
  * or one of a few color functions with a restricted argument charset (no `;{}`,
@@ -1975,9 +2037,10 @@ declare function isPageBackground(text: string): boolean;
1975
2037
  * bg / 1200px / 24px-32px look). `max_width: "fill"` (or `"auto"`) with zero
1976
2038
  * padding lets a component fill the page edge-to-edge.
1977
2039
  *
1978
- * Honored on `platform`, `public` and `kiosk` pages; record pages reject it
1979
- * (enforced server-side). On platform pages it styles the app shell's content
1980
- * area rather than a standalone shell.
2040
+ * Honored on `platform`, `record`, `public` and `kiosk` pages; on platform
2041
+ * and record pages it styles the app shell's content area rather than a
2042
+ * standalone shell. Trigger pages take `max_width` only; `header` is
2043
+ * record-only (enforced server-side).
1981
2044
  */
1982
2045
  interface PageStyle {
1983
2046
  /** Design-token key (see PAGE_BACKGROUND_TOKENS) or a raw CSS color
@@ -1988,22 +2051,27 @@ interface PageStyle {
1988
2051
  /** Horizontal / vertical padding of the content container (Tailwind px/py). */
1989
2052
  padding_x?: StyleSizeValue;
1990
2053
  padding_y?: StyleSizeValue;
2054
+ /** Record toolbar shape (record pages only); unset = `full`. */
2055
+ header?: PageHeader;
1991
2056
  }
1992
2057
  declare const PageStyleSchema: z.ZodObject<{
1993
2058
  background: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1994
2059
  max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1995
2060
  padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1996
2061
  padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2062
+ header: z.ZodOptional<z.ZodEnum<["full", "condensed"]>>;
1997
2063
  }, "strip", z.ZodTypeAny, {
1998
2064
  background?: string | undefined;
1999
2065
  max_width?: StyleSizeValue | undefined;
2000
2066
  padding_x?: StyleSizeValue | undefined;
2001
2067
  padding_y?: StyleSizeValue | undefined;
2068
+ header?: "full" | "condensed" | undefined;
2002
2069
  }, {
2003
2070
  background?: string | undefined;
2004
2071
  max_width?: StyleSizeValue | undefined;
2005
2072
  padding_x?: StyleSizeValue | undefined;
2006
2073
  padding_y?: StyleSizeValue | undefined;
2074
+ header?: "full" | "condensed" | undefined;
2007
2075
  }>;
2008
2076
  /**
2009
2077
  * Top-level page layout. Replaces the legacy `mainContent` / `side_panel`
@@ -2036,16 +2104,19 @@ declare const PageLayoutSchema: z.ZodObject<{
2036
2104
  max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2037
2105
  padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2038
2106
  padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2107
+ header: z.ZodOptional<z.ZodEnum<["full", "condensed"]>>;
2039
2108
  }, "strip", z.ZodTypeAny, {
2040
2109
  background?: string | undefined;
2041
2110
  max_width?: StyleSizeValue | undefined;
2042
2111
  padding_x?: StyleSizeValue | undefined;
2043
2112
  padding_y?: StyleSizeValue | undefined;
2113
+ header?: "full" | "condensed" | undefined;
2044
2114
  }, {
2045
2115
  background?: string | undefined;
2046
2116
  max_width?: StyleSizeValue | undefined;
2047
2117
  padding_x?: StyleSizeValue | undefined;
2048
2118
  padding_y?: StyleSizeValue | undefined;
2119
+ header?: "full" | "condensed" | undefined;
2049
2120
  }>>;
2050
2121
  }, "strip", z.ZodTypeAny, {
2051
2122
  version: 1;
@@ -2060,6 +2131,7 @@ declare const PageLayoutSchema: z.ZodObject<{
2060
2131
  max_width?: StyleSizeValue | undefined;
2061
2132
  padding_x?: StyleSizeValue | undefined;
2062
2133
  padding_y?: StyleSizeValue | undefined;
2134
+ header?: "full" | "condensed" | undefined;
2063
2135
  } | undefined;
2064
2136
  }, {
2065
2137
  version: 1;
@@ -2074,6 +2146,7 @@ declare const PageLayoutSchema: z.ZodObject<{
2074
2146
  max_width?: StyleSizeValue | undefined;
2075
2147
  padding_x?: StyleSizeValue | undefined;
2076
2148
  padding_y?: StyleSizeValue | undefined;
2149
+ header?: "full" | "condensed" | undefined;
2077
2150
  } | undefined;
2078
2151
  }>;
2079
2152
 
@@ -2723,6 +2796,18 @@ declare const EntityContactBindingSchema: z.ZodObject<{
2723
2796
  interface EntityContactBindingInput {
2724
2797
  duplicate_policy?: ContactBindingDuplicatePolicy;
2725
2798
  }
2799
+ /**
2800
+ * A composite unique constraint: no two records may share the same values for
2801
+ * `attributes` (2+). One-attribute constraints are `is_unique` on the
2802
+ * attribute. Enforced as a unique index on the record table; a violating write
2803
+ * fails with 409 `record_unique_violation` naming the constraint.
2804
+ */
2805
+ interface UniqueConstraint {
2806
+ /** snake_case, unique within the entity. */
2807
+ name: string;
2808
+ /** Attribute names or object paths (`address.city`); never platform columns. */
2809
+ attributes: string[];
2810
+ }
2726
2811
  interface Entity extends AuditFields {
2727
2812
  slug: string;
2728
2813
  name: string;
@@ -2755,6 +2840,8 @@ interface Entity extends AuditFields {
2755
2840
  */
2756
2841
  title_template: string;
2757
2842
  attributes: Attribute[];
2843
+ /** Composite unique constraints; absent when none are declared. */
2844
+ unique_constraints?: UniqueConstraint[];
2758
2845
  }
2759
2846
  declare const EntitySchema: z.ZodObject<{
2760
2847
  created_at: z.ZodString;
@@ -2894,6 +2981,16 @@ declare const EntitySchema: z.ZodObject<{
2894
2981
  } | undefined;
2895
2982
  default_value?: unknown;
2896
2983
  }>, "many">;
2984
+ unique_constraints: z.ZodOptional<z.ZodArray<z.ZodObject<{
2985
+ name: z.ZodString;
2986
+ attributes: z.ZodArray<z.ZodString, "many">;
2987
+ }, "strip", z.ZodTypeAny, {
2988
+ name: string;
2989
+ attributes: string[];
2990
+ }, {
2991
+ name: string;
2992
+ attributes: string[];
2993
+ }>, "many">>;
2897
2994
  }, "strip", z.ZodTypeAny, {
2898
2995
  name: string;
2899
2996
  created_at: string;
@@ -2939,6 +3036,10 @@ declare const EntitySchema: z.ZodObject<{
2939
3036
  contact_binding?: {
2940
3037
  duplicate_policy: "reject" | "flag";
2941
3038
  } | undefined;
3039
+ unique_constraints?: {
3040
+ name: string;
3041
+ attributes: string[];
3042
+ }[] | undefined;
2942
3043
  }, {
2943
3044
  name: string;
2944
3045
  created_at: string;
@@ -2984,6 +3085,10 @@ declare const EntitySchema: z.ZodObject<{
2984
3085
  duplicate_policy: "reject" | "flag";
2985
3086
  } | undefined;
2986
3087
  title_template?: string | undefined;
3088
+ unique_constraints?: {
3089
+ name: string;
3090
+ attributes: string[];
3091
+ }[] | undefined;
2987
3092
  }>;
2988
3093
  /**
2989
3094
  * Entity with JSON Schema representation.
@@ -3129,6 +3234,16 @@ declare const EntityWithSchemaSchema: z.ZodObject<{
3129
3234
  } | undefined;
3130
3235
  default_value?: unknown;
3131
3236
  }>, "many">;
3237
+ unique_constraints: z.ZodOptional<z.ZodArray<z.ZodObject<{
3238
+ name: z.ZodString;
3239
+ attributes: z.ZodArray<z.ZodString, "many">;
3240
+ }, "strip", z.ZodTypeAny, {
3241
+ name: string;
3242
+ attributes: string[];
3243
+ }, {
3244
+ name: string;
3245
+ attributes: string[];
3246
+ }>, "many">>;
3132
3247
  } & {
3133
3248
  schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3134
3249
  }, "strip", z.ZodTypeAny, {
@@ -3177,6 +3292,10 @@ declare const EntityWithSchemaSchema: z.ZodObject<{
3177
3292
  contact_binding?: {
3178
3293
  duplicate_policy: "reject" | "flag";
3179
3294
  } | undefined;
3295
+ unique_constraints?: {
3296
+ name: string;
3297
+ attributes: string[];
3298
+ }[] | undefined;
3180
3299
  }, {
3181
3300
  name: string;
3182
3301
  created_at: string;
@@ -3223,6 +3342,10 @@ declare const EntityWithSchemaSchema: z.ZodObject<{
3223
3342
  duplicate_policy: "reject" | "flag";
3224
3343
  } | undefined;
3225
3344
  title_template?: string | undefined;
3345
+ unique_constraints?: {
3346
+ name: string;
3347
+ attributes: string[];
3348
+ }[] | undefined;
3226
3349
  }>;
3227
3350
  /**
3228
3351
  * Options for listing entities.
@@ -3257,6 +3380,11 @@ interface CreateEntityRequest {
3257
3380
  description: string;
3258
3381
  title_template?: string;
3259
3382
  attributes: Attribute[];
3383
+ /**
3384
+ * Composite unique constraints. Full-replacement on upsert: omitted means
3385
+ * none (the `is_unique` ones travel with their attributes).
3386
+ */
3387
+ unique_constraints?: UniqueConstraint[];
3260
3388
  }
3261
3389
  /**
3262
3390
  * Request to update an entity.
@@ -3274,6 +3402,8 @@ interface UpdateEntityRequest {
3274
3402
  description?: string;
3275
3403
  title_template?: string;
3276
3404
  attributes?: Attribute[];
3405
+ /** Omitted leaves the stored list alone; a list (empty included) replaces it. */
3406
+ unique_constraints?: UniqueConstraint[];
3277
3407
  }
3278
3408
  /**
3279
3409
  * Module deployment status.
@@ -3495,6 +3625,14 @@ interface Component extends AuditFields {
3495
3625
  bundle_file_id: string;
3496
3626
  /** FK to a tar.gz of the component source directory in storage (provenance / rebuild). Empty until deployed. */
3497
3627
  source_file_id: string;
3628
+ /**
3629
+ * Content address of the compiled bundle, `sha256:<hex>`, stamped server-side
3630
+ * at deploy. Lets `pro module deploy` skip an unchanged upload and lets the
3631
+ * runtime fetch the bundle under an immutable URL
3632
+ * ({@link ComponentService.bundleUrl}). Absent on rows deployed before
3633
+ * checksum stamping.
3634
+ */
3635
+ bundle_checksum?: string;
3498
3636
  /** The component's JSON Schema, driving the page-designer props editor + runtime validation. `null` until set. */
3499
3637
  props_schema: Record<string, unknown> | null;
3500
3638
  /**
@@ -3504,6 +3642,13 @@ interface Component extends AuditFields {
3504
3642
  * `functions.actions.invokePublic`.
3505
3643
  */
3506
3644
  is_public: boolean;
3645
+ /**
3646
+ * Height in px the host reserves for a placement of this component before
3647
+ * it has rendered — when the page element sets no `reserved_height` and no
3648
+ * earlier visit is remembered. Declared in the component's manifest.
3649
+ * Absent / 0 = undeclared, the host default applies.
3650
+ */
3651
+ reserved_height?: number;
3507
3652
  }
3508
3653
  declare const ComponentSchema: z.ZodObject<{
3509
3654
  created_at: z.ZodString;
@@ -3535,6 +3680,8 @@ declare const ComponentSchema: z.ZodObject<{
3535
3680
  module_slug: z.ZodString;
3536
3681
  bundle_file_id: z.ZodString;
3537
3682
  source_file_id: z.ZodString;
3683
+ bundle_checksum: z.ZodOptional<z.ZodString>;
3684
+ reserved_height: z.ZodOptional<z.ZodNumber>;
3538
3685
  props_schema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3539
3686
  is_public: z.ZodDefault<z.ZodBoolean>;
3540
3687
  }, "strip", z.ZodTypeAny, {
@@ -3556,6 +3703,8 @@ declare const ComponentSchema: z.ZodObject<{
3556
3703
  source_file_id: string;
3557
3704
  props_schema: Record<string, unknown> | null;
3558
3705
  is_public: boolean;
3706
+ reserved_height?: number | undefined;
3707
+ bundle_checksum?: string | undefined;
3559
3708
  }, {
3560
3709
  name: string;
3561
3710
  created_at: string;
@@ -3574,6 +3723,8 @@ declare const ComponentSchema: z.ZodObject<{
3574
3723
  bundle_file_id: string;
3575
3724
  source_file_id: string;
3576
3725
  props_schema: Record<string, unknown> | null;
3726
+ reserved_height?: number | undefined;
3727
+ bundle_checksum?: string | undefined;
3577
3728
  is_public?: boolean | undefined;
3578
3729
  }>;
3579
3730
  /**
@@ -3597,6 +3748,8 @@ interface CreateComponentRequest {
3597
3748
  props_schema?: Record<string, unknown>;
3598
3749
  /** See {@link Component.is_public}. Manifest-driven: omitting it sets false. */
3599
3750
  is_public?: boolean;
3751
+ /** See {@link Component.reserved_height}. Manifest-driven: omitting it sets 0. */
3752
+ reserved_height?: number;
3600
3753
  }
3601
3754
  /**
3602
3755
  * Request to update a component.
@@ -3608,6 +3761,7 @@ interface UpdateComponentRequest {
3608
3761
  source_file_id?: string;
3609
3762
  props_schema?: Record<string, unknown>;
3610
3763
  is_public?: boolean;
3764
+ reserved_height?: number;
3611
3765
  }
3612
3766
  /**
3613
3767
  * List column definition.
@@ -3651,19 +3805,80 @@ interface SortConfig {
3651
3805
  }
3652
3806
 
3653
3807
  /**
3654
- * What a page toolbar button invokes. Absent normalizes to `action` (pages
3808
+ * What an action button invokes. Absent normalizes to `action` (buttons
3655
3809
  * persisted before `kind` existed).
3656
3810
  */
3657
- type PageActionKind = 'action' | 'workflow';
3811
+ type PageActionKind = 'action' | 'workflow' | 'agent' | 'intent' | 'link';
3812
+ /** What a `kind: intent` button has the model prepare — a record proposal
3813
+ * (`*_record`) or an action's / workflow's inputs (`invoke_*`). */
3814
+ type PageActionIntent = 'create_record' | 'update_record' | 'upsert_record' | 'invoke_action' | 'invoke_workflow';
3815
+ /** Most candidates an `upsert_record` button hands the model. */
3816
+ declare const PAGE_ACTION_MATCH_MAX_LIMIT = 25;
3817
+ /**
3818
+ * The list query an `upsert_record` button finds its candidate records with —
3819
+ * a page of `entity` records, fetched when the button is pressed. `filter`
3820
+ * has the list endpoint's `_filter` shape; every element's `value` is a
3821
+ * Liquid template, and a value that renders empty yields NO candidates (never
3822
+ * a wider query). `sort` is `field:asc|desc`; `limit` defaults to 10.
3823
+ */
3824
+ interface PageActionMatch {
3825
+ filter?: FilterGroup;
3826
+ sort?: string;
3827
+ limit?: number;
3828
+ }
3829
+ declare const PageActionMatchSchema: z.ZodObject<{
3830
+ filter: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
3831
+ sort: z.ZodOptional<z.ZodString>;
3832
+ limit: z.ZodOptional<z.ZodNumber>;
3833
+ }, "strip", z.ZodTypeAny, {
3834
+ sort?: string | undefined;
3835
+ filter?: FilterGroup | undefined;
3836
+ limit?: number | undefined;
3837
+ }, {
3838
+ sort?: string | undefined;
3839
+ filter?: FilterGroup | undefined;
3840
+ limit?: number | undefined;
3841
+ }>;
3658
3842
  /**
3659
- * Page action definition — one toolbar button. `kind: action` invokes a
3660
- * function-service Action by slug (`action`) and may prefill its params;
3661
- * `kind: workflow` starts a manual run of a workflow by key (`workflow`) and
3662
- * may prefill its manual-trigger inputs. `params` / `inputs` map target field
3663
- * names to Liquid templates rendered against the page scope
3664
- * `{ record, entity, params, user }`; a resolved field is locked in the invoke
3665
- * dialog. `skip_confirmation` fires the target immediately when every required
3666
- * field resolved from the templates.
3843
+ * One action button — a page's or a list's toolbar button, or a conversation
3844
+ * type's action (the strip in the call or meeting surface's footer, during
3845
+ * and after the conversation).
3846
+ * Which target it invokes follows from `kind`:
3847
+ *
3848
+ * - `action` → `action` (slug) + `params`
3849
+ * - `workflow` → `workflow` (key) + `inputs`
3850
+ * - `agent` → `agent` (key) + `prompt` + `context`: opens an Ava chat with
3851
+ * that agent; `prompt` becomes the visible first message (the label when
3852
+ * empty), `context` is handed to the model alongside it and never shown.
3853
+ * - `intent` → `intent` + `entity` (+ `record` | `match`) + `prompt` + `context`:
3854
+ * prepares a record proposal (one model call), shows it as an editable
3855
+ * review and saves only what the person confirms. `update_record` targets
3856
+ * `record` when set, else the surface's linked record of `entity`.
3857
+ * `upsert_record` hands the model the records `match` finds and lets it
3858
+ * change one of them or prepare a new record — `prompt` says how to choose.
3859
+ * `field_scope` (any intent) lists the attributes the proposal may fill,
3860
+ * replacing the app's bound create / edit page.
3861
+ * `invoke_action` / `invoke_workflow` open the invoke dialog of `action` /
3862
+ * `workflow` with the model's values in the fields `params` / `inputs`
3863
+ * (Liquid, locked) left open — always reviewed, never run unseen; on a
3864
+ * call surface it opens as a workspace tab instead of a modal.
3865
+ * - `link` → `url`: opens the rendered address in a new browser tab
3866
+ * (http, https, mailto and tel only). Renders synchronously on the press,
3867
+ * so `| summarize` renders '' there.
3868
+ *
3869
+ * `params` / `inputs` map target field names to Liquid templates; `prompt`,
3870
+ * `context`, `entity`, `record` and `url` are Liquid templates too. Everything
3871
+ * renders client-side against the surface's scope (a page:
3872
+ * `{ record, entity, params, current_user }`; a conversation:
3873
+ * `{ conversation, contact, records, records_by_entity, tags,
3874
+ * tags_by_definition, brief, current_user }`, where `| summarize: "<lens>"`
3875
+ * on the conversation or a tag writes a focused summary of what was said when
3876
+ * the button is pressed). `prompt` is literal message TEXT, never a Prompt
3877
+ * resource key. `visible_when` hides the button unless the surface's subject
3878
+ * matches (the record on a page, the whole scope on a conversation — the
3879
+ * stage is `conversation.status eq active` / `in ended|archived`, a detected
3880
+ * tag `tags_by_definition.<key> not_empty`). `skip_confirmation` fires an
3881
+ * action/workflow immediately when every required field resolved.
3667
3882
  */
3668
3883
  interface PageAction {
3669
3884
  label: string;
@@ -3671,42 +3886,106 @@ interface PageAction {
3671
3886
  kind?: PageActionKind;
3672
3887
  action?: string;
3673
3888
  workflow?: string;
3889
+ agent?: string;
3890
+ intent?: PageActionIntent;
3891
+ entity?: string;
3892
+ record?: string;
3893
+ /** `upsert_record` only: how the candidate records are found. */
3894
+ match?: PageActionMatch;
3895
+ /** Intent only: the attribute names the proposal may fill (plain names).
3896
+ * Replaces the app's bound create / edit page as the scope; required
3897
+ * attributes without a default are always added. */
3898
+ field_scope?: string[];
3899
+ url?: string;
3674
3900
  params?: Record<string, string>;
3675
3901
  inputs?: Record<string, string>;
3902
+ prompt?: string;
3903
+ context?: string;
3676
3904
  skip_confirmation?: boolean;
3905
+ visible_when?: FilterGroup;
3677
3906
  /** List-extension stamp on a toolbar action a list extension appended to its host list. */
3678
3907
  extension_key?: string;
3679
3908
  }
3680
3909
  declare const PageActionSchema: z.ZodObject<{
3681
3910
  label: z.ZodString;
3682
3911
  icon: z.ZodString;
3683
- kind: z.ZodOptional<z.ZodEnum<["action", "workflow"]>>;
3912
+ kind: z.ZodOptional<z.ZodEnum<["action", "workflow", "agent", "intent", "link"]>>;
3684
3913
  action: z.ZodOptional<z.ZodString>;
3685
3914
  workflow: z.ZodOptional<z.ZodString>;
3915
+ agent: z.ZodOptional<z.ZodString>;
3916
+ intent: z.ZodOptional<z.ZodEnum<["create_record", "update_record", "upsert_record", "invoke_action", "invoke_workflow"]>>;
3917
+ entity: z.ZodOptional<z.ZodString>;
3918
+ record: z.ZodOptional<z.ZodString>;
3919
+ match: z.ZodOptional<z.ZodObject<{
3920
+ filter: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
3921
+ sort: z.ZodOptional<z.ZodString>;
3922
+ limit: z.ZodOptional<z.ZodNumber>;
3923
+ }, "strip", z.ZodTypeAny, {
3924
+ sort?: string | undefined;
3925
+ filter?: FilterGroup | undefined;
3926
+ limit?: number | undefined;
3927
+ }, {
3928
+ sort?: string | undefined;
3929
+ filter?: FilterGroup | undefined;
3930
+ limit?: number | undefined;
3931
+ }>>;
3932
+ field_scope: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3933
+ url: z.ZodOptional<z.ZodString>;
3686
3934
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3687
3935
  inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3936
+ prompt: z.ZodOptional<z.ZodString>;
3937
+ context: z.ZodOptional<z.ZodString>;
3688
3938
  skip_confirmation: z.ZodOptional<z.ZodBoolean>;
3939
+ visible_when: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
3689
3940
  extension_key: z.ZodOptional<z.ZodString>;
3690
3941
  }, "strip", z.ZodTypeAny, {
3691
3942
  label: string;
3692
3943
  icon: string;
3693
3944
  params?: Record<string, string> | undefined;
3945
+ agent?: string | undefined;
3694
3946
  extension_key?: string | undefined;
3947
+ visible_when?: FilterGroup | undefined;
3695
3948
  workflow?: string | undefined;
3696
3949
  inputs?: Record<string, string> | undefined;
3697
3950
  skip_confirmation?: boolean | undefined;
3698
- kind?: "workflow" | "action" | undefined;
3951
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3699
3952
  action?: string | undefined;
3953
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
3954
+ entity?: string | undefined;
3955
+ record?: string | undefined;
3956
+ match?: {
3957
+ sort?: string | undefined;
3958
+ filter?: FilterGroup | undefined;
3959
+ limit?: number | undefined;
3960
+ } | undefined;
3961
+ field_scope?: string[] | undefined;
3962
+ url?: string | undefined;
3963
+ prompt?: string | undefined;
3964
+ context?: string | undefined;
3700
3965
  }, {
3701
3966
  label: string;
3702
3967
  icon: string;
3703
3968
  params?: Record<string, string> | undefined;
3969
+ agent?: string | undefined;
3704
3970
  extension_key?: string | undefined;
3971
+ visible_when?: FilterGroup | undefined;
3705
3972
  workflow?: string | undefined;
3706
3973
  inputs?: Record<string, string> | undefined;
3707
3974
  skip_confirmation?: boolean | undefined;
3708
- kind?: "workflow" | "action" | undefined;
3975
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3709
3976
  action?: string | undefined;
3977
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
3978
+ entity?: string | undefined;
3979
+ record?: string | undefined;
3980
+ match?: {
3981
+ sort?: string | undefined;
3982
+ filter?: FilterGroup | undefined;
3983
+ limit?: number | undefined;
3984
+ } | undefined;
3985
+ field_scope?: string[] | undefined;
3986
+ url?: string | undefined;
3987
+ prompt?: string | undefined;
3988
+ context?: string | undefined;
3710
3989
  }>;
3711
3990
  /**
3712
3991
  * Whether a list's rows can be checked, and whether the checkboxes show from
@@ -3814,33 +4093,83 @@ declare const ListSchema: z.ZodObject<{
3814
4093
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3815
4094
  label: z.ZodString;
3816
4095
  icon: z.ZodString;
3817
- kind: z.ZodOptional<z.ZodEnum<["action", "workflow"]>>;
4096
+ kind: z.ZodOptional<z.ZodEnum<["action", "workflow", "agent", "intent", "link"]>>;
3818
4097
  action: z.ZodOptional<z.ZodString>;
3819
4098
  workflow: z.ZodOptional<z.ZodString>;
4099
+ agent: z.ZodOptional<z.ZodString>;
4100
+ intent: z.ZodOptional<z.ZodEnum<["create_record", "update_record", "upsert_record", "invoke_action", "invoke_workflow"]>>;
4101
+ entity: z.ZodOptional<z.ZodString>;
4102
+ record: z.ZodOptional<z.ZodString>;
4103
+ match: z.ZodOptional<z.ZodObject<{
4104
+ filter: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
4105
+ sort: z.ZodOptional<z.ZodString>;
4106
+ limit: z.ZodOptional<z.ZodNumber>;
4107
+ }, "strip", z.ZodTypeAny, {
4108
+ sort?: string | undefined;
4109
+ filter?: FilterGroup | undefined;
4110
+ limit?: number | undefined;
4111
+ }, {
4112
+ sort?: string | undefined;
4113
+ filter?: FilterGroup | undefined;
4114
+ limit?: number | undefined;
4115
+ }>>;
4116
+ field_scope: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4117
+ url: z.ZodOptional<z.ZodString>;
3820
4118
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3821
4119
  inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4120
+ prompt: z.ZodOptional<z.ZodString>;
4121
+ context: z.ZodOptional<z.ZodString>;
3822
4122
  skip_confirmation: z.ZodOptional<z.ZodBoolean>;
4123
+ visible_when: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
3823
4124
  extension_key: z.ZodOptional<z.ZodString>;
3824
4125
  }, "strip", z.ZodTypeAny, {
3825
4126
  label: string;
3826
4127
  icon: string;
3827
4128
  params?: Record<string, string> | undefined;
4129
+ agent?: string | undefined;
3828
4130
  extension_key?: string | undefined;
4131
+ visible_when?: FilterGroup | undefined;
3829
4132
  workflow?: string | undefined;
3830
4133
  inputs?: Record<string, string> | undefined;
3831
4134
  skip_confirmation?: boolean | undefined;
3832
- kind?: "workflow" | "action" | undefined;
4135
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3833
4136
  action?: string | undefined;
4137
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4138
+ entity?: string | undefined;
4139
+ record?: string | undefined;
4140
+ match?: {
4141
+ sort?: string | undefined;
4142
+ filter?: FilterGroup | undefined;
4143
+ limit?: number | undefined;
4144
+ } | undefined;
4145
+ field_scope?: string[] | undefined;
4146
+ url?: string | undefined;
4147
+ prompt?: string | undefined;
4148
+ context?: string | undefined;
3834
4149
  }, {
3835
4150
  label: string;
3836
4151
  icon: string;
3837
4152
  params?: Record<string, string> | undefined;
4153
+ agent?: string | undefined;
3838
4154
  extension_key?: string | undefined;
4155
+ visible_when?: FilterGroup | undefined;
3839
4156
  workflow?: string | undefined;
3840
4157
  inputs?: Record<string, string> | undefined;
3841
4158
  skip_confirmation?: boolean | undefined;
3842
- kind?: "workflow" | "action" | undefined;
4159
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3843
4160
  action?: string | undefined;
4161
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4162
+ entity?: string | undefined;
4163
+ record?: string | undefined;
4164
+ match?: {
4165
+ sort?: string | undefined;
4166
+ filter?: FilterGroup | undefined;
4167
+ limit?: number | undefined;
4168
+ } | undefined;
4169
+ field_scope?: string[] | undefined;
4170
+ url?: string | undefined;
4171
+ prompt?: string | undefined;
4172
+ context?: string | undefined;
3844
4173
  }>, "many">>;
3845
4174
  selection_mode: z.ZodOptional<z.ZodEnum<["on_demand", "always", "off"]>>;
3846
4175
  sorting: z.ZodArray<z.ZodObject<{
@@ -3884,12 +4213,26 @@ declare const ListSchema: z.ZodObject<{
3884
4213
  label: string;
3885
4214
  icon: string;
3886
4215
  params?: Record<string, string> | undefined;
4216
+ agent?: string | undefined;
3887
4217
  extension_key?: string | undefined;
4218
+ visible_when?: FilterGroup | undefined;
3888
4219
  workflow?: string | undefined;
3889
4220
  inputs?: Record<string, string> | undefined;
3890
4221
  skip_confirmation?: boolean | undefined;
3891
- kind?: "workflow" | "action" | undefined;
4222
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3892
4223
  action?: string | undefined;
4224
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4225
+ entity?: string | undefined;
4226
+ record?: string | undefined;
4227
+ match?: {
4228
+ sort?: string | undefined;
4229
+ filter?: FilterGroup | undefined;
4230
+ limit?: number | undefined;
4231
+ } | undefined;
4232
+ field_scope?: string[] | undefined;
4233
+ url?: string | undefined;
4234
+ prompt?: string | undefined;
4235
+ context?: string | undefined;
3893
4236
  }[] | undefined;
3894
4237
  selection_mode?: "on_demand" | "always" | "off" | undefined;
3895
4238
  }, {
@@ -3922,12 +4265,26 @@ declare const ListSchema: z.ZodObject<{
3922
4265
  label: string;
3923
4266
  icon: string;
3924
4267
  params?: Record<string, string> | undefined;
4268
+ agent?: string | undefined;
3925
4269
  extension_key?: string | undefined;
4270
+ visible_when?: FilterGroup | undefined;
3926
4271
  workflow?: string | undefined;
3927
4272
  inputs?: Record<string, string> | undefined;
3928
4273
  skip_confirmation?: boolean | undefined;
3929
- kind?: "workflow" | "action" | undefined;
4274
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
3930
4275
  action?: string | undefined;
4276
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4277
+ entity?: string | undefined;
4278
+ record?: string | undefined;
4279
+ match?: {
4280
+ sort?: string | undefined;
4281
+ filter?: FilterGroup | undefined;
4282
+ limit?: number | undefined;
4283
+ } | undefined;
4284
+ field_scope?: string[] | undefined;
4285
+ url?: string | undefined;
4286
+ prompt?: string | undefined;
4287
+ context?: string | undefined;
3931
4288
  }[] | undefined;
3932
4289
  selection_mode?: "on_demand" | "always" | "off" | undefined;
3933
4290
  }>;
@@ -4132,8 +4489,42 @@ interface UpdateListViewRequest {
4132
4489
  * - `public`: standalone, NO app chrome (bare page at `/p/…`);
4133
4490
  * UNAUTHENTICATED — the layout is world-readable and its components may only
4134
4491
  * call `is_public` global actions.
4492
+ * - `trigger`: what the person sees when they trigger an action or a
4493
+ * workflow — rendered inside the invoke dialog. Bound by `kind` +
4494
+ * `reference` to ONE invocable; its `field` elements bind to that
4495
+ * invocable's params and returns instead of an entity's attributes. Which
4496
+ * dialog phase a trigger page renders in is the app configuration's binding
4497
+ * (`action_pages` / `workflow_pages`), like which record mode a record page
4498
+ * opens in (`record_pages`).
4499
+ */
4500
+ type PageType = 'record' | 'platform' | 'kiosk' | 'public' | 'trigger';
4501
+ /**
4502
+ * How the viewer interacts with a record page — the `mode` the Liquid scope
4503
+ * and the component protocol carry (the same three words as `PageMode` in
4504
+ * `@proteos/component-sdk`). A record page serves every mode; which page a
4505
+ * mode opens in is the app configuration's `record_pages` binding.
4506
+ *
4507
+ * - `view`: a read-only record page.
4508
+ * - `create`: the form for a record that is not saved yet.
4509
+ * - `edit`: the form over a saved record.
4135
4510
  */
4136
- type PageType = 'record' | 'platform' | 'kiosk' | 'public';
4511
+ type PageMode = 'view' | 'create' | 'edit';
4512
+ /**
4513
+ * Where an invocation is in the invoke dialog's lifecycle — the `phase` the
4514
+ * dialog's Liquid scope and component protocol carry, and the key of a
4515
+ * `TriggerPageBinding`. Orthogonal to `PageMode`: the input phase renders in
4516
+ * `create` mode, running and result in `view` mode. A trigger page serves
4517
+ * every phase; which page a phase renders is the app configuration's binding.
4518
+ *
4519
+ * - `input`: the form (and the confirm step, rendered read-only) over the
4520
+ * params.
4521
+ * - `running`: while the invoke call runs; for a workflow, the "started" page
4522
+ * after the run was accepted. The params, read-only; the scope also carries
4523
+ * `execution` for workflows.
4524
+ * - `result`: once the action returned (the params plus its returns) or the
4525
+ * workflow run reached a terminal status (`execution` in scope).
4526
+ */
4527
+ type TriggerPhase = 'input' | 'running' | 'result';
4137
4528
  /**
4138
4529
  * Page configuration. A `record` page is the detail-page shape for a single
4139
4530
  * entity; a `platform` page is standalone (no entity, no record).
@@ -4147,8 +4538,13 @@ interface Page extends AuditFields {
4147
4538
  name: string;
4148
4539
  module_slug: string;
4149
4540
  type: PageType;
4150
- /** Required for `record` pages; absent on `platform` pages. */
4541
+ /** Required for `record` pages; absent on every other type. */
4151
4542
  entity_slug?: string;
4543
+ /** Trigger pages only: what the page opens for — `action` (an action slug)
4544
+ * or `workflow` (a workflow key). Absent = `action`. Immutable. */
4545
+ kind?: PageActionKind;
4546
+ /** Trigger pages only: the action slug / workflow key. Immutable. */
4547
+ reference?: string;
4152
4548
  actions: PageAction[];
4153
4549
  layout: PageLayout;
4154
4550
  }
@@ -4179,38 +4575,90 @@ declare const PageSchema: z.ZodObject<{
4179
4575
  slug: z.ZodString;
4180
4576
  name: z.ZodString;
4181
4577
  module_slug: z.ZodString;
4182
- type: z.ZodEnum<["record", "platform", "kiosk", "public"]>;
4578
+ type: z.ZodEnum<["record", "platform", "kiosk", "public", "trigger"]>;
4183
4579
  entity_slug: z.ZodOptional<z.ZodString>;
4580
+ kind: z.ZodOptional<z.ZodEnum<["action", "workflow", "agent", "intent", "link"]>>;
4581
+ reference: z.ZodOptional<z.ZodString>;
4184
4582
  actions: z.ZodArray<z.ZodObject<{
4185
4583
  label: z.ZodString;
4186
4584
  icon: z.ZodString;
4187
- kind: z.ZodOptional<z.ZodEnum<["action", "workflow"]>>;
4585
+ kind: z.ZodOptional<z.ZodEnum<["action", "workflow", "agent", "intent", "link"]>>;
4188
4586
  action: z.ZodOptional<z.ZodString>;
4189
4587
  workflow: z.ZodOptional<z.ZodString>;
4588
+ agent: z.ZodOptional<z.ZodString>;
4589
+ intent: z.ZodOptional<z.ZodEnum<["create_record", "update_record", "upsert_record", "invoke_action", "invoke_workflow"]>>;
4590
+ entity: z.ZodOptional<z.ZodString>;
4591
+ record: z.ZodOptional<z.ZodString>;
4592
+ match: z.ZodOptional<z.ZodObject<{
4593
+ filter: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
4594
+ sort: z.ZodOptional<z.ZodString>;
4595
+ limit: z.ZodOptional<z.ZodNumber>;
4596
+ }, "strip", z.ZodTypeAny, {
4597
+ sort?: string | undefined;
4598
+ filter?: FilterGroup | undefined;
4599
+ limit?: number | undefined;
4600
+ }, {
4601
+ sort?: string | undefined;
4602
+ filter?: FilterGroup | undefined;
4603
+ limit?: number | undefined;
4604
+ }>>;
4605
+ field_scope: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4606
+ url: z.ZodOptional<z.ZodString>;
4190
4607
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4191
4608
  inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4609
+ prompt: z.ZodOptional<z.ZodString>;
4610
+ context: z.ZodOptional<z.ZodString>;
4192
4611
  skip_confirmation: z.ZodOptional<z.ZodBoolean>;
4612
+ visible_when: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
4193
4613
  extension_key: z.ZodOptional<z.ZodString>;
4194
4614
  }, "strip", z.ZodTypeAny, {
4195
4615
  label: string;
4196
4616
  icon: string;
4197
4617
  params?: Record<string, string> | undefined;
4618
+ agent?: string | undefined;
4198
4619
  extension_key?: string | undefined;
4620
+ visible_when?: FilterGroup | undefined;
4199
4621
  workflow?: string | undefined;
4200
4622
  inputs?: Record<string, string> | undefined;
4201
4623
  skip_confirmation?: boolean | undefined;
4202
- kind?: "workflow" | "action" | undefined;
4624
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4203
4625
  action?: string | undefined;
4626
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4627
+ entity?: string | undefined;
4628
+ record?: string | undefined;
4629
+ match?: {
4630
+ sort?: string | undefined;
4631
+ filter?: FilterGroup | undefined;
4632
+ limit?: number | undefined;
4633
+ } | undefined;
4634
+ field_scope?: string[] | undefined;
4635
+ url?: string | undefined;
4636
+ prompt?: string | undefined;
4637
+ context?: string | undefined;
4204
4638
  }, {
4205
4639
  label: string;
4206
4640
  icon: string;
4207
4641
  params?: Record<string, string> | undefined;
4642
+ agent?: string | undefined;
4208
4643
  extension_key?: string | undefined;
4644
+ visible_when?: FilterGroup | undefined;
4209
4645
  workflow?: string | undefined;
4210
4646
  inputs?: Record<string, string> | undefined;
4211
4647
  skip_confirmation?: boolean | undefined;
4212
- kind?: "workflow" | "action" | undefined;
4648
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4213
4649
  action?: string | undefined;
4650
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4651
+ entity?: string | undefined;
4652
+ record?: string | undefined;
4653
+ match?: {
4654
+ sort?: string | undefined;
4655
+ filter?: FilterGroup | undefined;
4656
+ limit?: number | undefined;
4657
+ } | undefined;
4658
+ field_scope?: string[] | undefined;
4659
+ url?: string | undefined;
4660
+ prompt?: string | undefined;
4661
+ context?: string | undefined;
4214
4662
  }>, "many">;
4215
4663
  layout: z.ZodObject<{
4216
4664
  version: z.ZodLiteral<1>;
@@ -4233,16 +4681,19 @@ declare const PageSchema: z.ZodObject<{
4233
4681
  max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4234
4682
  padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4235
4683
  padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4684
+ header: z.ZodOptional<z.ZodEnum<["full", "condensed"]>>;
4236
4685
  }, "strip", z.ZodTypeAny, {
4237
4686
  background?: string | undefined;
4238
4687
  max_width?: StyleSizeValue | undefined;
4239
4688
  padding_x?: StyleSizeValue | undefined;
4240
4689
  padding_y?: StyleSizeValue | undefined;
4690
+ header?: "full" | "condensed" | undefined;
4241
4691
  }, {
4242
4692
  background?: string | undefined;
4243
4693
  max_width?: StyleSizeValue | undefined;
4244
4694
  padding_x?: StyleSizeValue | undefined;
4245
4695
  padding_y?: StyleSizeValue | undefined;
4696
+ header?: "full" | "condensed" | undefined;
4246
4697
  }>>;
4247
4698
  }, "strip", z.ZodTypeAny, {
4248
4699
  version: 1;
@@ -4257,6 +4708,7 @@ declare const PageSchema: z.ZodObject<{
4257
4708
  max_width?: StyleSizeValue | undefined;
4258
4709
  padding_x?: StyleSizeValue | undefined;
4259
4710
  padding_y?: StyleSizeValue | undefined;
4711
+ header?: "full" | "condensed" | undefined;
4260
4712
  } | undefined;
4261
4713
  }, {
4262
4714
  version: 1;
@@ -4271,10 +4723,11 @@ declare const PageSchema: z.ZodObject<{
4271
4723
  max_width?: StyleSizeValue | undefined;
4272
4724
  padding_x?: StyleSizeValue | undefined;
4273
4725
  padding_y?: StyleSizeValue | undefined;
4726
+ header?: "full" | "condensed" | undefined;
4274
4727
  } | undefined;
4275
4728
  }>;
4276
4729
  }, "strip", z.ZodTypeAny, {
4277
- type: "platform" | "record" | "kiosk" | "public";
4730
+ type: "platform" | "record" | "kiosk" | "public" | "trigger";
4278
4731
  name: string;
4279
4732
  created_at: string;
4280
4733
  updated_at: string;
@@ -4292,12 +4745,26 @@ declare const PageSchema: z.ZodObject<{
4292
4745
  label: string;
4293
4746
  icon: string;
4294
4747
  params?: Record<string, string> | undefined;
4748
+ agent?: string | undefined;
4295
4749
  extension_key?: string | undefined;
4750
+ visible_when?: FilterGroup | undefined;
4296
4751
  workflow?: string | undefined;
4297
4752
  inputs?: Record<string, string> | undefined;
4298
4753
  skip_confirmation?: boolean | undefined;
4299
- kind?: "workflow" | "action" | undefined;
4754
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4300
4755
  action?: string | undefined;
4756
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4757
+ entity?: string | undefined;
4758
+ record?: string | undefined;
4759
+ match?: {
4760
+ sort?: string | undefined;
4761
+ filter?: FilterGroup | undefined;
4762
+ limit?: number | undefined;
4763
+ } | undefined;
4764
+ field_scope?: string[] | undefined;
4765
+ url?: string | undefined;
4766
+ prompt?: string | undefined;
4767
+ context?: string | undefined;
4301
4768
  }[];
4302
4769
  layout: {
4303
4770
  version: 1;
@@ -4312,11 +4779,14 @@ declare const PageSchema: z.ZodObject<{
4312
4779
  max_width?: StyleSizeValue | undefined;
4313
4780
  padding_x?: StyleSizeValue | undefined;
4314
4781
  padding_y?: StyleSizeValue | undefined;
4782
+ header?: "full" | "condensed" | undefined;
4315
4783
  } | undefined;
4316
4784
  };
4785
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4317
4786
  entity_slug?: string | undefined;
4787
+ reference?: string | undefined;
4318
4788
  }, {
4319
- type: "platform" | "record" | "kiosk" | "public";
4789
+ type: "platform" | "record" | "kiosk" | "public" | "trigger";
4320
4790
  name: string;
4321
4791
  created_at: string;
4322
4792
  updated_at: string;
@@ -4334,12 +4804,26 @@ declare const PageSchema: z.ZodObject<{
4334
4804
  label: string;
4335
4805
  icon: string;
4336
4806
  params?: Record<string, string> | undefined;
4807
+ agent?: string | undefined;
4337
4808
  extension_key?: string | undefined;
4809
+ visible_when?: FilterGroup | undefined;
4338
4810
  workflow?: string | undefined;
4339
4811
  inputs?: Record<string, string> | undefined;
4340
4812
  skip_confirmation?: boolean | undefined;
4341
- kind?: "workflow" | "action" | undefined;
4813
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4342
4814
  action?: string | undefined;
4815
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
4816
+ entity?: string | undefined;
4817
+ record?: string | undefined;
4818
+ match?: {
4819
+ sort?: string | undefined;
4820
+ filter?: FilterGroup | undefined;
4821
+ limit?: number | undefined;
4822
+ } | undefined;
4823
+ field_scope?: string[] | undefined;
4824
+ url?: string | undefined;
4825
+ prompt?: string | undefined;
4826
+ context?: string | undefined;
4343
4827
  }[];
4344
4828
  layout: {
4345
4829
  version: 1;
@@ -4354,9 +4838,12 @@ declare const PageSchema: z.ZodObject<{
4354
4838
  max_width?: StyleSizeValue | undefined;
4355
4839
  padding_x?: StyleSizeValue | undefined;
4356
4840
  padding_y?: StyleSizeValue | undefined;
4841
+ header?: "full" | "condensed" | undefined;
4357
4842
  } | undefined;
4358
4843
  };
4844
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
4359
4845
  entity_slug?: string | undefined;
4846
+ reference?: string | undefined;
4360
4847
  }>;
4361
4848
  /**
4362
4849
  * Component metadata slice riding on the public page payload — just the slug
@@ -4366,6 +4853,10 @@ declare const PageSchema: z.ZodObject<{
4366
4853
  interface PublicPageComponent {
4367
4854
  slug: string;
4368
4855
  props_schema?: Record<string, unknown>;
4856
+ /** Content address of the compiled bundle (`sha256:<hex>`), for the immutable bundle URL. */
4857
+ bundle_checksum?: string;
4858
+ /** See {@link Component.reserved_height}. */
4859
+ reserved_height?: number;
4369
4860
  }
4370
4861
  /**
4371
4862
  * Payload of the unauthenticated `GET /meta/v1/public/orgs/{orgId}/pages/{slug}`:
@@ -4385,11 +4876,15 @@ interface ListPagesOptions extends MetaListOptions {
4385
4876
  module_slug?: string;
4386
4877
  type?: PageType;
4387
4878
  entity_slug?: string;
4879
+ /** The trigger pages of one invocable. */
4880
+ kind?: PageActionKind;
4881
+ reference?: string;
4388
4882
  }
4389
4883
  /**
4390
4884
  * Request to create a page. `type` defaults to `record` when omitted.
4391
- * `entity_slug` is required for record pages and must be absent for platform
4392
- * pages.
4885
+ * `entity_slug` is required for record pages and must be absent for every
4886
+ * other type. Trigger pages set `reference` (and `kind`, which defaults to
4887
+ * `action`); no other type may.
4393
4888
  */
4394
4889
  interface CreatePageRequest {
4395
4890
  slug: string;
@@ -4397,6 +4892,8 @@ interface CreatePageRequest {
4397
4892
  module_slug?: string;
4398
4893
  type?: PageType;
4399
4894
  entity_slug?: string;
4895
+ kind?: PageActionKind;
4896
+ reference?: string;
4400
4897
  actions: PageAction[];
4401
4898
  layout: PageLayout;
4402
4899
  }
@@ -5305,33 +5802,83 @@ declare const ListExtensionSchema: z.ZodObject<{
5305
5802
  actions: z.ZodArray<z.ZodObject<{
5306
5803
  label: z.ZodString;
5307
5804
  icon: z.ZodString;
5308
- kind: z.ZodOptional<z.ZodEnum<["action", "workflow"]>>;
5805
+ kind: z.ZodOptional<z.ZodEnum<["action", "workflow", "agent", "intent", "link"]>>;
5309
5806
  action: z.ZodOptional<z.ZodString>;
5310
5807
  workflow: z.ZodOptional<z.ZodString>;
5808
+ agent: z.ZodOptional<z.ZodString>;
5809
+ intent: z.ZodOptional<z.ZodEnum<["create_record", "update_record", "upsert_record", "invoke_action", "invoke_workflow"]>>;
5810
+ entity: z.ZodOptional<z.ZodString>;
5811
+ record: z.ZodOptional<z.ZodString>;
5812
+ match: z.ZodOptional<z.ZodObject<{
5813
+ filter: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
5814
+ sort: z.ZodOptional<z.ZodString>;
5815
+ limit: z.ZodOptional<z.ZodNumber>;
5816
+ }, "strip", z.ZodTypeAny, {
5817
+ sort?: string | undefined;
5818
+ filter?: FilterGroup | undefined;
5819
+ limit?: number | undefined;
5820
+ }, {
5821
+ sort?: string | undefined;
5822
+ filter?: FilterGroup | undefined;
5823
+ limit?: number | undefined;
5824
+ }>>;
5825
+ field_scope: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5826
+ url: z.ZodOptional<z.ZodString>;
5311
5827
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5312
5828
  inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5829
+ prompt: z.ZodOptional<z.ZodString>;
5830
+ context: z.ZodOptional<z.ZodString>;
5313
5831
  skip_confirmation: z.ZodOptional<z.ZodBoolean>;
5832
+ visible_when: z.ZodOptional<z.ZodType<FilterGroup, z.ZodTypeDef, FilterGroup>>;
5314
5833
  extension_key: z.ZodOptional<z.ZodString>;
5315
5834
  }, "strip", z.ZodTypeAny, {
5316
5835
  label: string;
5317
5836
  icon: string;
5318
5837
  params?: Record<string, string> | undefined;
5838
+ agent?: string | undefined;
5319
5839
  extension_key?: string | undefined;
5840
+ visible_when?: FilterGroup | undefined;
5320
5841
  workflow?: string | undefined;
5321
5842
  inputs?: Record<string, string> | undefined;
5322
5843
  skip_confirmation?: boolean | undefined;
5323
- kind?: "workflow" | "action" | undefined;
5844
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
5324
5845
  action?: string | undefined;
5846
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
5847
+ entity?: string | undefined;
5848
+ record?: string | undefined;
5849
+ match?: {
5850
+ sort?: string | undefined;
5851
+ filter?: FilterGroup | undefined;
5852
+ limit?: number | undefined;
5853
+ } | undefined;
5854
+ field_scope?: string[] | undefined;
5855
+ url?: string | undefined;
5856
+ prompt?: string | undefined;
5857
+ context?: string | undefined;
5325
5858
  }, {
5326
5859
  label: string;
5327
5860
  icon: string;
5328
5861
  params?: Record<string, string> | undefined;
5862
+ agent?: string | undefined;
5329
5863
  extension_key?: string | undefined;
5864
+ visible_when?: FilterGroup | undefined;
5330
5865
  workflow?: string | undefined;
5331
5866
  inputs?: Record<string, string> | undefined;
5332
5867
  skip_confirmation?: boolean | undefined;
5333
- kind?: "workflow" | "action" | undefined;
5868
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
5334
5869
  action?: string | undefined;
5870
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
5871
+ entity?: string | undefined;
5872
+ record?: string | undefined;
5873
+ match?: {
5874
+ sort?: string | undefined;
5875
+ filter?: FilterGroup | undefined;
5876
+ limit?: number | undefined;
5877
+ } | undefined;
5878
+ field_scope?: string[] | undefined;
5879
+ url?: string | undefined;
5880
+ prompt?: string | undefined;
5881
+ context?: string | undefined;
5335
5882
  }>, "many">;
5336
5883
  }, "strip", z.ZodTypeAny, {
5337
5884
  key: string;
@@ -5363,12 +5910,26 @@ declare const ListExtensionSchema: z.ZodObject<{
5363
5910
  label: string;
5364
5911
  icon: string;
5365
5912
  params?: Record<string, string> | undefined;
5913
+ agent?: string | undefined;
5366
5914
  extension_key?: string | undefined;
5915
+ visible_when?: FilterGroup | undefined;
5367
5916
  workflow?: string | undefined;
5368
5917
  inputs?: Record<string, string> | undefined;
5369
5918
  skip_confirmation?: boolean | undefined;
5370
- kind?: "workflow" | "action" | undefined;
5919
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
5371
5920
  action?: string | undefined;
5921
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
5922
+ entity?: string | undefined;
5923
+ record?: string | undefined;
5924
+ match?: {
5925
+ sort?: string | undefined;
5926
+ filter?: FilterGroup | undefined;
5927
+ limit?: number | undefined;
5928
+ } | undefined;
5929
+ field_scope?: string[] | undefined;
5930
+ url?: string | undefined;
5931
+ prompt?: string | undefined;
5932
+ context?: string | undefined;
5372
5933
  }[];
5373
5934
  org_id: string;
5374
5935
  }, {
@@ -5401,12 +5962,26 @@ declare const ListExtensionSchema: z.ZodObject<{
5401
5962
  label: string;
5402
5963
  icon: string;
5403
5964
  params?: Record<string, string> | undefined;
5965
+ agent?: string | undefined;
5404
5966
  extension_key?: string | undefined;
5967
+ visible_when?: FilterGroup | undefined;
5405
5968
  workflow?: string | undefined;
5406
5969
  inputs?: Record<string, string> | undefined;
5407
5970
  skip_confirmation?: boolean | undefined;
5408
- kind?: "workflow" | "action" | undefined;
5971
+ kind?: "agent" | "workflow" | "action" | "intent" | "link" | undefined;
5409
5972
  action?: string | undefined;
5973
+ intent?: "create_record" | "update_record" | "upsert_record" | "invoke_action" | "invoke_workflow" | undefined;
5974
+ entity?: string | undefined;
5975
+ record?: string | undefined;
5976
+ match?: {
5977
+ sort?: string | undefined;
5978
+ filter?: FilterGroup | undefined;
5979
+ limit?: number | undefined;
5980
+ } | undefined;
5981
+ field_scope?: string[] | undefined;
5982
+ url?: string | undefined;
5983
+ prompt?: string | undefined;
5984
+ context?: string | undefined;
5410
5985
  }[];
5411
5986
  org_id: string;
5412
5987
  }>;
@@ -5456,6 +6031,53 @@ declare const AppHomeSchema: z.ZodObject<{
5456
6031
  type: "page" | "list";
5457
6032
  reference: string;
5458
6033
  }>;
6034
+ /**
6035
+ * The record pages one entity opens in, per mode (`PageMode`). Every key
6036
+ * optional; the web falls back create → edit → view → the entity's first
6037
+ * record page. Strict object on the wire — no string shorthand.
6038
+ */
6039
+ interface RecordPageBinding {
6040
+ view?: string;
6041
+ create?: string;
6042
+ edit?: string;
6043
+ }
6044
+ declare const RecordPageBindingSchema: z.ZodObject<{
6045
+ view: z.ZodOptional<z.ZodString>;
6046
+ create: z.ZodOptional<z.ZodString>;
6047
+ edit: z.ZodOptional<z.ZodString>;
6048
+ }, "strict", z.ZodTypeAny, {
6049
+ view?: string | undefined;
6050
+ create?: string | undefined;
6051
+ edit?: string | undefined;
6052
+ }, {
6053
+ view?: string | undefined;
6054
+ create?: string | undefined;
6055
+ edit?: string | undefined;
6056
+ }>;
6057
+ /**
6058
+ * The trigger pages one action / workflow opens, per dialog phase
6059
+ * (`TriggerPhase`). Every key optional; an unbound phase falls back to the
6060
+ * invocable's first trigger page, then to the dialog's generated layout. One
6061
+ * page may serve every phase. Strict object on the wire.
6062
+ */
6063
+ interface TriggerPageBinding {
6064
+ input?: string;
6065
+ running?: string;
6066
+ result?: string;
6067
+ }
6068
+ declare const TriggerPageBindingSchema: z.ZodObject<{
6069
+ input: z.ZodOptional<z.ZodString>;
6070
+ running: z.ZodOptional<z.ZodString>;
6071
+ result: z.ZodOptional<z.ZodString>;
6072
+ }, "strict", z.ZodTypeAny, {
6073
+ input?: string | undefined;
6074
+ running?: string | undefined;
6075
+ result?: string | undefined;
6076
+ }, {
6077
+ input?: string | undefined;
6078
+ running?: string | undefined;
6079
+ result?: string | undefined;
6080
+ }>;
5459
6081
  /**
5460
6082
  * AppConfiguration — a TYPED binding row: "how app X presents itself" to
5461
6083
  * everyone (`profile_slug: ''` = the app's default configuration) or to one
@@ -5479,8 +6101,12 @@ interface AppConfiguration extends AuditFields {
5479
6101
  default_agent_key?: string;
5480
6102
  /** Agents offered in this app; empty = every org agent. */
5481
6103
  agent_keys?: string[];
5482
- /** entity_slug → record page slug opened from this app. */
5483
- record_pages?: Record<string, string>;
6104
+ /** entity_slug → the record pages opened from this app, per mode. */
6105
+ record_pages?: Record<string, RecordPageBinding>;
6106
+ /** action slug → the trigger pages its invoke dialog renders, per phase. */
6107
+ action_pages?: Record<string, TriggerPageBinding>;
6108
+ /** workflow key → the trigger pages its invoke dialog renders, per phase. */
6109
+ workflow_pages?: Record<string, TriggerPageBinding>;
5484
6110
  /** Entity slugs the command palette searches (by record title) inside
5485
6111
  * this app; empty = no record search. */
5486
6112
  searchable_entities?: string[];
@@ -5527,7 +6153,45 @@ declare const AppConfigurationSchema: z.ZodObject<{
5527
6153
  menu_slug: z.ZodOptional<z.ZodString>;
5528
6154
  default_agent_key: z.ZodOptional<z.ZodString>;
5529
6155
  agent_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5530
- record_pages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6156
+ record_pages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
6157
+ view: z.ZodOptional<z.ZodString>;
6158
+ create: z.ZodOptional<z.ZodString>;
6159
+ edit: z.ZodOptional<z.ZodString>;
6160
+ }, "strict", z.ZodTypeAny, {
6161
+ view?: string | undefined;
6162
+ create?: string | undefined;
6163
+ edit?: string | undefined;
6164
+ }, {
6165
+ view?: string | undefined;
6166
+ create?: string | undefined;
6167
+ edit?: string | undefined;
6168
+ }>>>;
6169
+ action_pages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
6170
+ input: z.ZodOptional<z.ZodString>;
6171
+ running: z.ZodOptional<z.ZodString>;
6172
+ result: z.ZodOptional<z.ZodString>;
6173
+ }, "strict", z.ZodTypeAny, {
6174
+ input?: string | undefined;
6175
+ running?: string | undefined;
6176
+ result?: string | undefined;
6177
+ }, {
6178
+ input?: string | undefined;
6179
+ running?: string | undefined;
6180
+ result?: string | undefined;
6181
+ }>>>;
6182
+ workflow_pages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
6183
+ input: z.ZodOptional<z.ZodString>;
6184
+ running: z.ZodOptional<z.ZodString>;
6185
+ result: z.ZodOptional<z.ZodString>;
6186
+ }, "strict", z.ZodTypeAny, {
6187
+ input?: string | undefined;
6188
+ running?: string | undefined;
6189
+ result?: string | undefined;
6190
+ }, {
6191
+ input?: string | undefined;
6192
+ running?: string | undefined;
6193
+ result?: string | undefined;
6194
+ }>>>;
5531
6195
  searchable_entities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5532
6196
  }, "strip", z.ZodTypeAny, {
5533
6197
  created_at: string;
@@ -5552,7 +6216,21 @@ declare const AppConfigurationSchema: z.ZodObject<{
5552
6216
  } | null | undefined;
5553
6217
  default_agent_key?: string | undefined;
5554
6218
  agent_keys?: string[] | undefined;
5555
- record_pages?: Record<string, string> | undefined;
6219
+ record_pages?: Record<string, {
6220
+ view?: string | undefined;
6221
+ create?: string | undefined;
6222
+ edit?: string | undefined;
6223
+ }> | undefined;
6224
+ action_pages?: Record<string, {
6225
+ input?: string | undefined;
6226
+ running?: string | undefined;
6227
+ result?: string | undefined;
6228
+ }> | undefined;
6229
+ workflow_pages?: Record<string, {
6230
+ input?: string | undefined;
6231
+ running?: string | undefined;
6232
+ result?: string | undefined;
6233
+ }> | undefined;
5556
6234
  searchable_entities?: string[] | undefined;
5557
6235
  }, {
5558
6236
  created_at: string;
@@ -5577,7 +6255,21 @@ declare const AppConfigurationSchema: z.ZodObject<{
5577
6255
  } | null | undefined;
5578
6256
  default_agent_key?: string | undefined;
5579
6257
  agent_keys?: string[] | undefined;
5580
- record_pages?: Record<string, string> | undefined;
6258
+ record_pages?: Record<string, {
6259
+ view?: string | undefined;
6260
+ create?: string | undefined;
6261
+ edit?: string | undefined;
6262
+ }> | undefined;
6263
+ action_pages?: Record<string, {
6264
+ input?: string | undefined;
6265
+ running?: string | undefined;
6266
+ result?: string | undefined;
6267
+ }> | undefined;
6268
+ workflow_pages?: Record<string, {
6269
+ input?: string | undefined;
6270
+ running?: string | undefined;
6271
+ result?: string | undefined;
6272
+ }> | undefined;
5581
6273
  searchable_entities?: string[] | undefined;
5582
6274
  }>;
5583
6275
  interface ListAppConfigurationsOptions extends MetaListOptions {
@@ -5600,7 +6292,9 @@ interface CreateAppConfigurationRequest {
5600
6292
  menu_slug?: string;
5601
6293
  default_agent_key?: string;
5602
6294
  agent_keys?: string[];
5603
- record_pages?: Record<string, string>;
6295
+ record_pages?: Record<string, RecordPageBinding>;
6296
+ action_pages?: Record<string, TriggerPageBinding>;
6297
+ workflow_pages?: Record<string, TriggerPageBinding>;
5604
6298
  searchable_entities?: string[];
5605
6299
  }
5606
6300
  /**
@@ -5613,7 +6307,9 @@ interface UpdateAppConfigurationRequest {
5613
6307
  menu_slug?: string;
5614
6308
  default_agent_key?: string;
5615
6309
  agent_keys?: string[];
5616
- record_pages?: Record<string, string>;
6310
+ record_pages?: Record<string, RecordPageBinding>;
6311
+ action_pages?: Record<string, TriggerPageBinding>;
6312
+ workflow_pages?: Record<string, TriggerPageBinding>;
5617
6313
  searchable_entities?: string[];
5618
6314
  }
5619
6315
  /**
@@ -5865,4 +6561,4 @@ declare function isCurrentUserDefault(value: unknown): value is CurrentUserDefau
5865
6561
  /** Only the identity-valued attribute types can carry the sentinel. */
5866
6562
  declare function acceptsCurrentUserDefault(type: AttributeType): boolean;
5867
6563
 
5868
- export { type CurrencyAttributeMeta as $, type AuditFields as A, ComponentSchema as B, CURRENT_USER as C, type ComponentService as D, type ContactAddressAttributeKind as E, type FileRef as F, type ContactAddressAttributeMeta as G, ContactAddressAttributeMetaSchema as H, type ContactBindingDuplicatePolicy as I, type CreateAppConfigurationRequest as J, type CreateAppRequest as K, type ListOptions as L, type CreateComponentRequest as M, type CreateDesignReferenceRequest as N, type CreateEntityExtensionRequest as O, PageIterator as P, type CreateEntityRequest as Q, type ResponseMeta as R, type CreateListExtensionRequest as S, type CreateListRequest as T, type UserRef as U, type CreateListViewRequest as V, type CreateMenuConfigurationExtensionRequest as W, type CreateMenuConfigurationRequest as X, type CreatePageExtensionRequest as Y, type CreatePageRequest as Z, type CreateVariableRequest as _, type Attribute as a, type MenuConfigurationExtension as a$, CurrencyAttributeMetaSchema as a0, type CurrencySymbolSide as a1, type CurrencyValue as a2, type CurrentUserDefault as a3, DEFAULT_OPTIONS as a4, DEFAULT_PAGE_SIZE as a5, DONE as a6, type DeployModuleRequest as a7, type DesignReference as a8, type DesignReferenceContent as a9, type ListComponentsOptions as aA, type ListDesignReferencesOptions as aB, type ListEntitiesOptions as aC, type ListEntityExtensionsOptions as aD, type ListExtension as aE, type ListExtensionColumnPlacement as aF, ListExtensionColumnPlacementSchema as aG, ListExtensionSchema as aH, type ListExtensionService as aI, type ListFn as aJ, type ListListExtensionsOptions as aK, type ListListViewsOptions as aL, type ListListsOptions as aM, type ListMenuConfigurationExtensionsOptions as aN, type ListMenuConfigurationsOptions as aO, type ListModulesOptions as aP, type ListPageExtensionsOptions as aQ, type ListPagesOptions as aR, ListSchema as aS, type ListService as aT, type ListVariablesOptions as aU, type ListView as aV, ListViewSchema as aW, type ListViewService as aX, type LogicalOperator as aY, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as aZ, type MenuConfiguration as a_, DesignReferenceSchema as aa, type DesignReferenceService as ab, type Done as ac, type Entity as ad, type EntityContactBinding as ae, EntityContactBindingSchema as af, type EntityExtension as ag, EntityExtensionSchema as ah, type EntityExtensionService as ai, EntitySchema as aj, type EntityService as ak, type EntityWithSchema as al, EntityWithSchemaSchema as am, type EnumAttributeMeta as an, type EnumValue as ao, type ExtensionPosition as ap, ExtensionPositionSchema as aq, type FileAttributeMeta as ar, FileRefSchema as as, type FilterElement as at, FilterElementSchema as au, type FilterGroup as av, FilterGroupSchema as aw, type List as ax, type ListAppConfigurationsOptions as ay, type ListAppsOptions as az, type ListResult as b, UserRefSchema as b$, type MenuConfigurationExtensionPlacement as b0, MenuConfigurationExtensionPlacementSchema as b1, type MenuConfigurationExtensionPosition as b2, MenuConfigurationExtensionPositionSchema as b3, MenuConfigurationExtensionSchema as b4, type MenuConfigurationExtensionService as b5, MenuConfigurationSchema as b6, type MenuConfigurationService as b7, type MenuItem as b8, MenuItemSchema as b9, type PageType as bA, type PublicPageComponent as bB, type PublicPageResponse as bC, type RelationAttributeMeta as bD, RelationAttributeMetaSchema as bE, type RequestOptions as bF, type ResolvedClientOptions as bG, ResponseMetaSchema as bH, type SortConfig as bI, SortConfigSchema as bJ, type SortDirection as bK, type Timestamps as bL, type TokenProvider as bM, type UpdateAppConfigurationRequest as bN, type UpdateAppRequest as bO, type UpdateComponentRequest as bP, type UpdateDesignReferenceRequest as bQ, type UpdateEntityExtensionRequest as bR, type UpdateEntityRequest as bS, type UpdateListExtensionRequest as bT, type UpdateListRequest as bU, type UpdateListViewRequest as bV, type UpdateMenuConfigurationExtensionRequest as bW, type UpdateMenuConfigurationRequest as bX, type UpdatePageExtensionRequest as bY, type UpdatePageRequest as bZ, type UpdateVariableRequest as b_, MenuItemType as ba, MetaClient as bb, type MetaListOptions as bc, type Module as bd, ModuleSchema as be, type ModuleService as bf, type ModuleStatus as bg, type OnDeleteAction as bh, OnDeleteActionSchema as bi, PAGE_EXTENSION_ANCHOR_MAIN as bj, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bk, PLATFORM_ATTRIBUTE_NAMES as bl, PLATFORM_USER_ID as bm, type Page as bn, type PageAction as bo, type PageActionKind as bp, PageActionSchema as bq, type PageExtension as br, type PageExtensionPlacement as bs, PageExtensionPlacementSchema as bt, PageExtensionSchema as bu, type PageExtensionService as bv, type PageLayout as bw, PageLayoutSchema as bx, PageSchema as by, type PageService as bz, ProteosClient as c, type PrincipalType as c$, type UserType as c0, type Variable as c1, VariableSchema as c2, type VariableService as c3, acceptsCurrentUserDefault as c4, allCurrencyCodes as c5, createIterator as c6, createListResultSchema as c7, currencyLabel as c8, currencySymbol as c9, type ControlBucket as cA, type DatetimeAttributeMeta as cB, type DatetimeFormat as cC, type DividerElement as cD, type FieldElement as cE, FileAttributeMetaSchema as cF, type LayoutAlign as cG, type LayoutElement as cH, LayoutElementSchema as cI, LayoutElementType as cJ, type LayoutGap as cK, type LayoutJustify as cL, type LayoutTab as cM, LayoutTabSchema as cN, type LengthValue as cO, LengthValueSchema as cP, type ListElement as cQ, type NumberAttributeMeta as cR, type ObjectAttributeMeta as cS, PAGE_BACKGROUND_COLOR_RE as cT, PAGE_BACKGROUND_TOKENS as cU, type PageBackgroundToken as cV, type PageLayoutSidePanel as cW, PageLayoutSidePanelSchema as cX, type PageStyle as cY, PageStyleSchema as cZ, type PrincipalAttributeMeta as c_, currencySymbolSide as ca, formatAmount as cb, formatMoney as cc, isCurrentUser as cd, isCurrentUserDefault as ce, isPlatformAttributeName as cf, localeNumberSeparators as cg, parseAmount as ch, parseContactAddressMeta as ci, parseCurrencyMeta as cj, parseFileMeta as ck, parseRelationMeta as cl, platformAttributes as cm, resolveOptions as cn, type AttributeForLookup as co, type AttributeMeta as cp, BUILT_IN_CONTROLS as cq, type BuiltInControlSlug as cr, CALENDAR_MAX_OVERLAY_USERS as cs, CALENDAR_VIEW_KINDS as ct, type CalendarElement as cu, type CalendarViewKind as cv, type CardElement as cw, type ColumnElement as cx, type CommonProps as cy, type ComponentElement as cz, type PrincipalRef as d, RECORD_TITLE_FIELD as d0, type RecordFilterElement as d1, type RelatedListElement as d2, type RelatedRecordElement as d3, type ResponsiveSizing as d4, type RowElement as d5, type SchedulingPickerElement as d6, type SectionElement as d7, type SizeValue as d8, SizeValueSchema as d9, type SizingProps as da, type StringAttributeMeta as db, type StringFormat as dc, type StyleSizeValue as dd, StyleSizeValueSchema as de, type TabsElement as df, type TextElement as dg, type TextVariant as dh, type UserAttributeMeta as di, UserAttributeMetaSchema as dj, type WorkflowTriggerElement as dk, isBuiltInControl as dl, isLengthValue as dm, isPageBackground as dn, isReservedAttributeName as dp, isStyleSizeValue as dq, isTitleQueryable as dr, lookupCompatibleControls as ds, lookupControls as dt, lookupPrimaryControl as du, parsePrincipalMeta as dv, parseUserMeta as dw, titleTemplateVariables as dx, type PublicAccessOperation as e, type App as f, type AppConfiguration as g, AppConfigurationSchema as h, type AppConfigurationService as i, type AppHome as j, AppHomeSchema as k, type AppHomeType as l, AppSchema as m, type AppService as n, type ArrayAttributeMeta as o, type AttributeAccessRule as p, type AttributeRestrictions as q, AttributeSchema as r, type AttributeType as s, AuditFieldsSchema as t, CURRENT_USER_DEFAULT as u, type ClientOptions as v, type Column as w, ColumnSchema as x, type ComparisonOperator as y, type Component as z };
6564
+ export { type CreateVariableRequest as $, type AuditFields as A, type Component as B, CURRENT_USER as C, ComponentSchema as D, type ComponentService as E, type FileRef as F, type ContactAddressAttributeKind as G, type ContactAddressAttributeMeta as H, ContactAddressAttributeMetaSchema as I, type ContactBindingDuplicatePolicy as J, type CreateAppConfigurationRequest as K, type ListOptions as L, type CreateAppRequest as M, type CreateComponentRequest as N, type CreateDesignReferenceRequest as O, PageIterator as P, type CreateEntityExtensionRequest as Q, type ResponseMeta as R, type CreateEntityRequest as S, type CreateListExtensionRequest as T, type UserRef as U, type CreateListRequest as V, type CreateListViewRequest as W, type CreateMenuConfigurationExtensionRequest as X, type CreateMenuConfigurationRequest as Y, type CreatePageExtensionRequest as Z, type CreatePageRequest as _, type Attribute as a, type MenuConfiguration as a$, type CurrencyAttributeMeta as a0, CurrencyAttributeMetaSchema as a1, type CurrencySymbolSide as a2, type CurrencyValue as a3, type CurrentUserDefault as a4, DEFAULT_OPTIONS as a5, DEFAULT_PAGE_SIZE as a6, DONE as a7, type DeployModuleRequest as a8, type DesignReference as a9, type ListAppsOptions as aA, type ListComponentsOptions as aB, type ListDesignReferencesOptions as aC, type ListEntitiesOptions as aD, type ListEntityExtensionsOptions as aE, type ListExtension as aF, type ListExtensionColumnPlacement as aG, ListExtensionColumnPlacementSchema as aH, ListExtensionSchema as aI, type ListExtensionService as aJ, type ListFn as aK, type ListListExtensionsOptions as aL, type ListListViewsOptions as aM, type ListListsOptions as aN, type ListMenuConfigurationExtensionsOptions as aO, type ListMenuConfigurationsOptions as aP, type ListModulesOptions as aQ, type ListPageExtensionsOptions as aR, type ListPagesOptions as aS, ListSchema as aT, type ListService as aU, type ListVariablesOptions as aV, type ListView as aW, ListViewSchema as aX, type ListViewService as aY, type LogicalOperator as aZ, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as a_, type DesignReferenceContent as aa, DesignReferenceSchema as ab, type DesignReferenceService as ac, type Done as ad, type Entity as ae, type EntityContactBinding as af, EntityContactBindingSchema as ag, type EntityExtension as ah, EntityExtensionSchema as ai, type EntityExtensionService as aj, EntitySchema as ak, type EntityService as al, type EntityWithSchema as am, EntityWithSchemaSchema as an, type EnumAttributeMeta as ao, type EnumValue as ap, type ExtensionPosition as aq, ExtensionPositionSchema as ar, type FileAttributeMeta as as, FileRefSchema as at, type FilterElement as au, FilterElementSchema as av, type FilterGroup as aw, FilterGroupSchema as ax, type List as ay, type ListAppConfigurationsOptions as az, type ListResult as b, type UpdateEntityExtensionRequest as b$, type MenuConfigurationExtension as b0, type MenuConfigurationExtensionPlacement as b1, MenuConfigurationExtensionPlacementSchema as b2, type MenuConfigurationExtensionPosition as b3, MenuConfigurationExtensionPositionSchema as b4, MenuConfigurationExtensionSchema as b5, type MenuConfigurationExtensionService as b6, MenuConfigurationSchema as b7, type MenuConfigurationService as b8, type MenuItem as b9, type PageLayout as bA, PageLayoutSchema as bB, type PageMode as bC, PageSchema as bD, type PageService as bE, type PageType as bF, type PublicPageComponent as bG, type PublicPageResponse as bH, type RecordPageBinding as bI, RecordPageBindingSchema as bJ, type RelationAttributeMeta as bK, RelationAttributeMetaSchema as bL, type RequestOptions as bM, type ResolvedClientOptions as bN, ResponseMetaSchema as bO, type SortConfig as bP, SortConfigSchema as bQ, type SortDirection as bR, type Timestamps as bS, type TokenProvider as bT, type TriggerPageBinding as bU, TriggerPageBindingSchema as bV, type TriggerPhase as bW, type UpdateAppConfigurationRequest as bX, type UpdateAppRequest as bY, type UpdateComponentRequest as bZ, type UpdateDesignReferenceRequest as b_, MenuItemSchema as ba, MenuItemType as bb, MetaClient as bc, type MetaListOptions as bd, type Module as be, ModuleSchema as bf, type ModuleService as bg, type ModuleStatus as bh, type OnDeleteAction as bi, OnDeleteActionSchema as bj, PAGE_ACTION_MATCH_MAX_LIMIT as bk, PAGE_EXTENSION_ANCHOR_MAIN as bl, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bm, PLATFORM_ATTRIBUTE_NAMES as bn, PLATFORM_USER_ID as bo, type Page as bp, type PageActionIntent as bq, type PageActionKind as br, type PageActionMatch as bs, PageActionMatchSchema as bt, PageActionSchema as bu, type PageExtension as bv, type PageExtensionPlacement as bw, PageExtensionPlacementSchema as bx, PageExtensionSchema as by, type PageExtensionService as bz, ProteosClient as c, type LengthValue as c$, type UpdateEntityRequest as c0, type UpdateListExtensionRequest as c1, type UpdateListRequest as c2, type UpdateListViewRequest as c3, type UpdateMenuConfigurationExtensionRequest as c4, type UpdateMenuConfigurationRequest as c5, type UpdatePageExtensionRequest as c6, type UpdatePageRequest as c7, type UpdateVariableRequest as c8, UserRefSchema as c9, type AttributeMeta as cA, BUILT_IN_CONTROLS as cB, type BuiltInControlSlug as cC, CALENDAR_MAX_OVERLAY_USERS as cD, CALENDAR_VIEW_KINDS as cE, type CalendarElement as cF, type CalendarViewKind as cG, type CardElement as cH, type ColumnElement as cI, type CommonProps as cJ, type ComponentElement as cK, type ControlBucket as cL, type DatetimeAttributeMeta as cM, type DatetimeFormat as cN, type DividerElement as cO, type FieldElement as cP, FileAttributeMetaSchema as cQ, type LayoutAlign as cR, type LayoutElement as cS, LayoutElementSchema as cT, LayoutElementType as cU, type LayoutGap as cV, type LayoutJustify as cW, type LayoutStep as cX, LayoutStepSchema as cY, type LayoutTab as cZ, LayoutTabSchema as c_, type UserType as ca, type Variable as cb, VariableSchema as cc, type VariableService as cd, acceptsCurrentUserDefault as ce, allCurrencyCodes as cf, bundleVersionOf as cg, createIterator as ch, createListResultSchema as ci, currencyLabel as cj, currencySymbol as ck, currencySymbolSide as cl, formatAmount as cm, formatMoney as cn, isCurrentUser as co, isCurrentUserDefault as cp, isPlatformAttributeName as cq, localeNumberSeparators as cr, parseAmount as cs, parseContactAddressMeta as ct, parseCurrencyMeta as cu, parseFileMeta as cv, parseRelationMeta as cw, platformAttributes as cx, resolveOptions as cy, type AttributeForLookup as cz, type PrincipalRef as d, LengthValueSchema as d0, type ListElement as d1, type NumberAttributeMeta as d2, type ObjectAttributeMeta as d3, PAGE_BACKGROUND_COLOR_RE as d4, PAGE_BACKGROUND_TOKENS as d5, PAGE_HEADERS as d6, type PageBackgroundToken as d7, type PageHeader as d8, type PageLayoutSidePanel as d9, UserAttributeMetaSchema as dA, type WorkflowTriggerElement as dB, isBuiltInControl as dC, isLengthValue as dD, isPageBackground as dE, isReservedAttributeName as dF, isStyleSizeValue as dG, isTitleQueryable as dH, lookupCompatibleControls as dI, lookupControls as dJ, lookupPrimaryControl as dK, parsePrincipalMeta as dL, parseUserMeta as dM, titleTemplateVariables as dN, PageLayoutSidePanelSchema as da, type PageStyle as db, PageStyleSchema as dc, type PrincipalAttributeMeta as dd, type PrincipalType as de, RECORD_TITLE_FIELD as df, type RecordFilterElement as dg, type RelatedListElement as dh, type RelatedRecordElement as di, type ResponsiveSizing as dj, type RowElement as dk, type SchedulingPickerElement as dl, type SectionElement as dm, type SizeValue as dn, SizeValueSchema as dp, type SizingProps as dq, type StepperElement as dr, type StringAttributeMeta as ds, type StringFormat as dt, type StyleSizeValue as du, StyleSizeValueSchema as dv, type TabsElement as dw, type TextElement as dx, type TextVariant as dy, type UserAttributeMeta as dz, type PageAction as e, type PublicAccessOperation as f, type App as g, type AppConfiguration as h, AppConfigurationSchema as i, type AppConfigurationService as j, type AppHome as k, AppHomeSchema as l, type AppHomeType as m, AppSchema as n, type AppService as o, type ArrayAttributeMeta as p, type AttributeAccessRule as q, type AttributeRestrictions as r, AttributeSchema as s, type AttributeType as t, AuditFieldsSchema as u, CURRENT_USER_DEFAULT as v, type ClientOptions as w, type Column as x, ColumnSchema as y, type ComparisonOperator as z };