@stndrds/schema 1.0.0-alpha.354 → 1.0.0-alpha.356

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -3989,7 +3989,6 @@ export interface RetryPolicy {
3989
3989
  export interface AgentExecutionConfig {
3990
3990
  maxConcurrentRuns: number;
3991
3991
  retryPolicy: RetryPolicy;
3992
- timeoutMs: number;
3993
3992
  costLimitUsd?: number;
3994
3993
  inference?: AgentInferencePreferences;
3995
3994
  }
@@ -4007,7 +4006,6 @@ export interface AgentConfig {
4007
4006
  * none — so agents that predate this field are tool-identical.
4008
4007
  */
4009
4008
  mcpServers?: string[] | "all";
4010
- timeoutMs?: number;
4011
4009
  costLimitUsd?: number | null;
4012
4010
  canDelegate: boolean;
4013
4011
  maxDepth: number;
@@ -6628,6 +6626,17 @@ export interface FormSlotFieldRef {
6628
6626
  label?: string;
6629
6627
  tooltip?: string;
6630
6628
  required?: boolean;
6629
+ /**
6630
+ * Shows the value, not editable: the value the slot seeds (a selected
6631
+ * record's own value) is displayed and cannot be changed. `required` then
6632
+ * demands nothing, and `FormService` ignores client writes to the field's key
6633
+ * on save and submit — a slot with a record never has this attribute written
6634
+ * by the form. The lock guards the seed, not its source: the seed is fixed
6635
+ * when the submission is created, from the `slotValues` its creator passes.
6636
+ * A required attribute behind a locked field of a `create` slot with no seed
6637
+ * is refused by name at submit, as if the form had no field for it.
6638
+ */
6639
+ readOnly?: boolean;
6631
6640
  }
6632
6641
  export interface FormFreeFieldRef {
6633
6642
  type: "free";
@@ -6635,6 +6644,13 @@ export interface FormFreeFieldRef {
6635
6644
  label?: string;
6636
6645
  tooltip?: string;
6637
6646
  required?: boolean;
6647
+ /**
6648
+ * Shows the value, not editable: the prefill is displayed and submitted as
6649
+ * is. `required` then demands nothing, and `FormService` ignores client
6650
+ * writes to the field's key on save and submit. The prefill is resolved when
6651
+ * the submission is created, over the `slotValues` its creator passes.
6652
+ */
6653
+ readOnly?: boolean;
6638
6654
  prefillExpression?: string;
6639
6655
  }
6640
6656
  export type FormFieldRef = FormSlotFieldRef | FormFreeFieldRef;
@@ -6643,7 +6659,8 @@ export declare function isFormFreeFieldRef(f: FormFieldRef): f is FormFreeFieldR
6643
6659
  /**
6644
6660
  * Whether a form field must be filled.
6645
6661
  *
6646
- * An explicit `required` on the field always wins — dropping it from a field is
6662
+ * A `readOnly` field never is — its value is the seed, not the respondent's.
6663
+ * Otherwise an explicit `required` on the field always wins — dropping it from a field is
6647
6664
  * how a form makes it optional. Only when the field says nothing does the
6648
6665
  * underlying attribute's own `required` apply, and then for a `create` slot
6649
6666
  * alone: that is the one mode which always writes a record, so a `select`,
@@ -6660,6 +6677,8 @@ export declare function resolveFieldRequired(input: {
6660
6677
  fieldRequired: boolean | undefined;
6661
6678
  slotMode?: string;
6662
6679
  attributeRequired: boolean | undefined;
6680
+ /** A `readOnly` field is never required: the respondent cannot fill it (#4670). */
6681
+ readOnly?: boolean;
6663
6682
  }): boolean;
6664
6683
  /** All slot ids a slot field writes to: the primary followed by any additional slots. */
6665
6684
  export declare function getSlotFieldTargets(field: FormSlotFieldRef): string[];
@@ -10071,21 +10090,29 @@ export declare function validateAttributeName(name: string): void;
10071
10090
  interface AnyAttributeBuilder {
10072
10091
  build(): Attribute;
10073
10092
  }
10093
+ /** Options of `.field()`, on a step or in a row. */
10094
+ interface SlotFieldOptions {
10095
+ label?: string;
10096
+ required?: boolean;
10097
+ tooltip?: string;
10098
+ /** Shows the value, not editable (#4670). See `FormSlotFieldRef.readOnly`. */
10099
+ readOnly?: boolean;
10100
+ }
10101
+ /** Options of `.freeField()`, on a step or in a row. */
10102
+ interface FreeFieldOptions {
10103
+ label?: string;
10104
+ required?: boolean;
10105
+ prefillExpression?: string;
10106
+ /** Shows the value, not editable (#4670). See `FormFreeFieldRef.readOnly`. */
10107
+ readOnly?: boolean;
10108
+ }
10074
10109
  export declare class FormRowBuilder {
10075
10110
  private stepBuilder;
10076
10111
  private rowData;
10077
10112
  private _finalized;
10078
10113
  constructor(stepBuilder: FormStepBuilder, rowId: string, order: number);
10079
- field(slotIdOrIds: string | string[], attribute: string, options?: {
10080
- label?: string;
10081
- required?: boolean;
10082
- tooltip?: string;
10083
- }): this;
10084
- freeField(builder: AnyAttributeBuilder, options?: {
10085
- label?: string;
10086
- required?: boolean;
10087
- prefillExpression?: string;
10088
- }): this;
10114
+ field(slotIdOrIds: string | string[], attribute: string, options?: SlotFieldOptions): this;
10115
+ freeField(builder: AnyAttributeBuilder, options?: FreeFieldOptions): this;
10089
10116
  row(id: string): FormRowBuilder;
10090
10117
  heading(content: string, level?: 1 | 2 | 3): FormStepBuilder;
10091
10118
  separator(): FormStepBuilder;
@@ -10098,16 +10125,8 @@ export declare class FormStepBuilder {
10098
10125
  private rowOrder;
10099
10126
  constructor(formBuilder: FormBuilder, id: string, label: string);
10100
10127
  description(text: string): this;
10101
- field(slotIdOrIds: string | string[], attribute: string, options?: {
10102
- label?: string;
10103
- required?: boolean;
10104
- tooltip?: string;
10105
- }): this;
10106
- freeField(builder: AnyAttributeBuilder, options?: {
10107
- label?: string;
10108
- required?: boolean;
10109
- prefillExpression?: string;
10110
- }): this;
10128
+ field(slotIdOrIds: string | string[], attribute: string, options?: SlotFieldOptions): this;
10129
+ freeField(builder: AnyAttributeBuilder, options?: FreeFieldOptions): this;
10111
10130
  row(id: string): FormRowBuilder;
10112
10131
  heading(content: string, level?: 1 | 2 | 3): this;
10113
10132
  separator(): this;
@@ -10137,6 +10156,8 @@ export declare class FormBuilder {
10137
10156
  private validateRequiredData;
10138
10157
  private validateSlotReferences;
10139
10158
  private validatePrefillExpressions;
10159
+ /** `readOnly`, when set, is a boolean — the same rule as `ContentField.readOnly`. */
10160
+ private validateReadOnly;
10140
10161
  private validateFreeFields;
10141
10162
  }
10142
10163
  export declare function form(name: string, label: string): FormBuilder;
package/dist/index.d.ts CHANGED
@@ -3989,7 +3989,6 @@ export interface RetryPolicy {
3989
3989
  export interface AgentExecutionConfig {
3990
3990
  maxConcurrentRuns: number;
3991
3991
  retryPolicy: RetryPolicy;
3992
- timeoutMs: number;
3993
3992
  costLimitUsd?: number;
3994
3993
  inference?: AgentInferencePreferences;
3995
3994
  }
@@ -4007,7 +4006,6 @@ export interface AgentConfig {
4007
4006
  * none — so agents that predate this field are tool-identical.
4008
4007
  */
4009
4008
  mcpServers?: string[] | "all";
4010
- timeoutMs?: number;
4011
4009
  costLimitUsd?: number | null;
4012
4010
  canDelegate: boolean;
4013
4011
  maxDepth: number;
@@ -6628,6 +6626,17 @@ export interface FormSlotFieldRef {
6628
6626
  label?: string;
6629
6627
  tooltip?: string;
6630
6628
  required?: boolean;
6629
+ /**
6630
+ * Shows the value, not editable: the value the slot seeds (a selected
6631
+ * record's own value) is displayed and cannot be changed. `required` then
6632
+ * demands nothing, and `FormService` ignores client writes to the field's key
6633
+ * on save and submit — a slot with a record never has this attribute written
6634
+ * by the form. The lock guards the seed, not its source: the seed is fixed
6635
+ * when the submission is created, from the `slotValues` its creator passes.
6636
+ * A required attribute behind a locked field of a `create` slot with no seed
6637
+ * is refused by name at submit, as if the form had no field for it.
6638
+ */
6639
+ readOnly?: boolean;
6631
6640
  }
6632
6641
  export interface FormFreeFieldRef {
6633
6642
  type: "free";
@@ -6635,6 +6644,13 @@ export interface FormFreeFieldRef {
6635
6644
  label?: string;
6636
6645
  tooltip?: string;
6637
6646
  required?: boolean;
6647
+ /**
6648
+ * Shows the value, not editable: the prefill is displayed and submitted as
6649
+ * is. `required` then demands nothing, and `FormService` ignores client
6650
+ * writes to the field's key on save and submit. The prefill is resolved when
6651
+ * the submission is created, over the `slotValues` its creator passes.
6652
+ */
6653
+ readOnly?: boolean;
6638
6654
  prefillExpression?: string;
6639
6655
  }
6640
6656
  export type FormFieldRef = FormSlotFieldRef | FormFreeFieldRef;
@@ -6643,7 +6659,8 @@ export declare function isFormFreeFieldRef(f: FormFieldRef): f is FormFreeFieldR
6643
6659
  /**
6644
6660
  * Whether a form field must be filled.
6645
6661
  *
6646
- * An explicit `required` on the field always wins — dropping it from a field is
6662
+ * A `readOnly` field never is — its value is the seed, not the respondent's.
6663
+ * Otherwise an explicit `required` on the field always wins — dropping it from a field is
6647
6664
  * how a form makes it optional. Only when the field says nothing does the
6648
6665
  * underlying attribute's own `required` apply, and then for a `create` slot
6649
6666
  * alone: that is the one mode which always writes a record, so a `select`,
@@ -6660,6 +6677,8 @@ export declare function resolveFieldRequired(input: {
6660
6677
  fieldRequired: boolean | undefined;
6661
6678
  slotMode?: string;
6662
6679
  attributeRequired: boolean | undefined;
6680
+ /** A `readOnly` field is never required: the respondent cannot fill it (#4670). */
6681
+ readOnly?: boolean;
6663
6682
  }): boolean;
6664
6683
  /** All slot ids a slot field writes to: the primary followed by any additional slots. */
6665
6684
  export declare function getSlotFieldTargets(field: FormSlotFieldRef): string[];
@@ -10071,21 +10090,29 @@ export declare function validateAttributeName(name: string): void;
10071
10090
  interface AnyAttributeBuilder {
10072
10091
  build(): Attribute;
10073
10092
  }
10093
+ /** Options of `.field()`, on a step or in a row. */
10094
+ interface SlotFieldOptions {
10095
+ label?: string;
10096
+ required?: boolean;
10097
+ tooltip?: string;
10098
+ /** Shows the value, not editable (#4670). See `FormSlotFieldRef.readOnly`. */
10099
+ readOnly?: boolean;
10100
+ }
10101
+ /** Options of `.freeField()`, on a step or in a row. */
10102
+ interface FreeFieldOptions {
10103
+ label?: string;
10104
+ required?: boolean;
10105
+ prefillExpression?: string;
10106
+ /** Shows the value, not editable (#4670). See `FormFreeFieldRef.readOnly`. */
10107
+ readOnly?: boolean;
10108
+ }
10074
10109
  export declare class FormRowBuilder {
10075
10110
  private stepBuilder;
10076
10111
  private rowData;
10077
10112
  private _finalized;
10078
10113
  constructor(stepBuilder: FormStepBuilder, rowId: string, order: number);
10079
- field(slotIdOrIds: string | string[], attribute: string, options?: {
10080
- label?: string;
10081
- required?: boolean;
10082
- tooltip?: string;
10083
- }): this;
10084
- freeField(builder: AnyAttributeBuilder, options?: {
10085
- label?: string;
10086
- required?: boolean;
10087
- prefillExpression?: string;
10088
- }): this;
10114
+ field(slotIdOrIds: string | string[], attribute: string, options?: SlotFieldOptions): this;
10115
+ freeField(builder: AnyAttributeBuilder, options?: FreeFieldOptions): this;
10089
10116
  row(id: string): FormRowBuilder;
10090
10117
  heading(content: string, level?: 1 | 2 | 3): FormStepBuilder;
10091
10118
  separator(): FormStepBuilder;
@@ -10098,16 +10125,8 @@ export declare class FormStepBuilder {
10098
10125
  private rowOrder;
10099
10126
  constructor(formBuilder: FormBuilder, id: string, label: string);
10100
10127
  description(text: string): this;
10101
- field(slotIdOrIds: string | string[], attribute: string, options?: {
10102
- label?: string;
10103
- required?: boolean;
10104
- tooltip?: string;
10105
- }): this;
10106
- freeField(builder: AnyAttributeBuilder, options?: {
10107
- label?: string;
10108
- required?: boolean;
10109
- prefillExpression?: string;
10110
- }): this;
10128
+ field(slotIdOrIds: string | string[], attribute: string, options?: SlotFieldOptions): this;
10129
+ freeField(builder: AnyAttributeBuilder, options?: FreeFieldOptions): this;
10111
10130
  row(id: string): FormRowBuilder;
10112
10131
  heading(content: string, level?: 1 | 2 | 3): this;
10113
10132
  separator(): this;
@@ -10137,6 +10156,8 @@ export declare class FormBuilder {
10137
10156
  private validateRequiredData;
10138
10157
  private validateSlotReferences;
10139
10158
  private validatePrefillExpressions;
10159
+ /** `readOnly`, when set, is a boolean — the same rule as `ContentField.readOnly`. */
10160
+ private validateReadOnly;
10140
10161
  private validateFreeFields;
10141
10162
  }
10142
10163
  export declare function form(name: string, label: string): FormBuilder;