@stndrds/schema 1.0.0-alpha.347 → 1.0.0-alpha.348

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 (63) hide show
  1. package/dist/{all-BDkJ5lPJ.d.mts → all-CpdLgGJS.d.mts} +8 -8
  2. package/dist/{all-n32KD_Pw.d.ts → all-DjK6Qyn7.d.ts} +8 -8
  3. package/dist/{checkbox-BR-7mIkg.d.mts → checkbox-BLcG591z.d.mts} +2 -2
  4. package/dist/{checkbox-BVTPPcis.d.ts → checkbox-DZM_nCHU.d.ts} +2 -2
  5. package/dist/{date-CJWfx4s2.d.mts → date-DFpmksL8.d.mts} +2 -2
  6. package/dist/{date-Cmk9GSXp.d.ts → date-DdaRGJ6k.d.ts} +2 -2
  7. package/dist/{exceptions-Bon8Edct.d.mts → exceptions-S2lmNz74.d.mts} +3 -1
  8. package/dist/{exceptions-Bon8Edct.d.ts → exceptions-S2lmNz74.d.ts} +3 -1
  9. package/dist/exceptions.d.mts +1 -1
  10. package/dist/exceptions.d.ts +1 -1
  11. package/dist/exceptions.js +1 -1
  12. package/dist/exceptions.mjs +1 -1
  13. package/dist/{index-By2s4V9c.d.mts → index-BCihfYR9.d.mts} +1 -1
  14. package/dist/{index-DPOFnGla.d.ts → index-BT6-WMrI.d.ts} +1 -1
  15. package/dist/{index-CBnIKnvt.d.ts → index-C2P7eGBD.d.ts} +2 -2
  16. package/dist/{index-DF2Os8Es.d.mts → index-DkmrYLFg.d.mts} +1 -1
  17. package/dist/{index-OO5ADZYz.d.ts → index-TBK4s5wH.d.ts} +1 -1
  18. package/dist/{index-ChtJn338.d.mts → index-wvMnaDN-.d.mts} +2 -2
  19. package/dist/index.d.mts +234 -18
  20. package/dist/index.d.ts +234 -18
  21. package/dist/index.js +2 -2
  22. package/dist/index.mjs +9 -9
  23. package/dist/{number-C1HpLQUY.d.mts → number-Bo9vQnrk.d.mts} +2 -2
  24. package/dist/{number-DuIbEHO4.d.ts → number-CL8uftq2.d.ts} +2 -2
  25. package/dist/{text-Jg083ClK.d.ts → text-BUJ5u8t4.d.ts} +2 -2
  26. package/dist/{text-BrCsJIFO.d.mts → text-ClvAbA62.d.mts} +2 -2
  27. package/dist/utils.d.mts +1 -1
  28. package/dist/utils.d.ts +1 -1
  29. package/dist/validation/all.d.mts +4 -4
  30. package/dist/validation/all.d.ts +4 -4
  31. package/dist/validation/complex/currency.d.mts +2 -2
  32. package/dist/validation/complex/currency.d.ts +2 -2
  33. package/dist/validation/complex/location.d.mts +2 -2
  34. package/dist/validation/complex/location.d.ts +2 -2
  35. package/dist/validation/complex/phone.d.mts +2 -2
  36. package/dist/validation/complex/phone.d.ts +2 -2
  37. package/dist/validation/complex/relation.d.mts +2 -2
  38. package/dist/validation/complex/relation.d.ts +2 -2
  39. package/dist/validation/complex/richtext.d.mts +2 -2
  40. package/dist/validation/complex/richtext.d.ts +2 -2
  41. package/dist/validation/complex/select.d.mts +2 -2
  42. package/dist/validation/complex/select.d.ts +2 -2
  43. package/dist/validation/complex/user.d.mts +2 -2
  44. package/dist/validation/complex/user.d.ts +2 -2
  45. package/dist/validation/computed/formula.d.mts +2 -2
  46. package/dist/validation/computed/formula.d.ts +2 -2
  47. package/dist/validation/computed/rollup.d.mts +2 -2
  48. package/dist/validation/computed/rollup.d.ts +2 -2
  49. package/dist/validation/config/index.d.mts +1 -1
  50. package/dist/validation/config/index.d.ts +1 -1
  51. package/dist/validation/core/index.d.mts +1 -1
  52. package/dist/validation/core/index.d.ts +1 -1
  53. package/dist/validation/object/index.d.mts +1 -1
  54. package/dist/validation/object/index.d.ts +1 -1
  55. package/dist/validation/primitives/checkbox.d.mts +1 -1
  56. package/dist/validation/primitives/checkbox.d.ts +1 -1
  57. package/dist/validation/primitives/date.d.mts +1 -1
  58. package/dist/validation/primitives/date.d.ts +1 -1
  59. package/dist/validation/primitives/number.d.mts +1 -1
  60. package/dist/validation/primitives/number.d.ts +1 -1
  61. package/dist/validation/primitives/text.d.mts +1 -1
  62. package/dist/validation/primitives/text.d.ts +1 -1
  63. package/package.json +2 -2
package/dist/index.d.mts CHANGED
@@ -1,13 +1,13 @@
1
1
 
2
- import { $ as AttributeGroup, $t as asUserId, A as SchemaErrorCode, An as ComputedFunctionName, At as SelectAttribute, B as ValidationErrorDetail, Bn as ComputedFormulaBinaryNode, Bt as isBilateralRelation, C as RecordReference, Cn as ComputedCompileSchema, Ct as RELATION_TARGET_ANY, D as ReservedObjectNameError, Dn as compileComputedFormula, Dt as RichtextAttribute, E as RepositoryOperation, En as assertAcyclicComputedDependencies, Et as RichTextAttribute, F as SyncCascadeError, Fn as ComputedOptionsSource, Ft as TimeFormat, G as isRecordReferencedError, Gn as ComputedFormulaPathNode, Gt as PropertySchema, H as isNotFoundError, Hn as ComputedFormulaCallNode, Ht as relationTargetsOf, I as SyncConflictError, In as ComputedPlan, It as UserAttribute, J as BuiltInTransform, Jt as resolvePropertyDefinitions, K as isSchemaError, Kn as parseComputedFormula, Kt as PropertyType, L as SyncError, Ln as ComputedReturnType, Lt as UserReferenceType, M as SearchBackendError, Mn as isComputedFunctionName, Mt as StatusAttribute, N as StorageError, Nn as ComputedDependency, Nt as StatusGroup, O as RoleNotFoundError, On as COMPUTED_FUNCTIONS, Ot as RollupAttribute, P as StorageOperation, Pn as ComputedFieldKind, Pt as TextAttribute, Q as Attribute, Qt as asTenantId, R as SystemEntityImmutableError, Rn as ComputedValueType, Rt as inferInverseCardinality, S as RecordNotFoundError, Sn as ComputedCompileObject, St as PhoneAttribute, T as RepositoryError, Tn as ComputedFormulaCompileError, Tt as RelationTarget, U as isObjectReferencedError, Un as ComputedFormulaLiteralNode, Ut as OptionPropertyAttribute, V as isAttributeInUseError, Vn as ComputedFormulaBinaryOperator, Vt as isUniversalRelation, W as isProtectedResourceError, Wn as ComputedFormulaParseError, Wt as PropertyAttribute, X as SchemaOperation, Xt as UserId, Y as MigrationDefinition, Yt as TenantId, Z as ATTRIBUTE_TYPES, Zt as Uuid, _ as ProtectedResourceError, _n as compileRollupAttribute, _t as MultiselectAttribute, a as ChangeTypeNotSupportedError, an as sameStableValue, at as CurrencyAttribute, b as RealtimeRateLimitedError, bn as CompileComputedFormulaInput, bt as Option, c as DuplicateError, cn as COMPUTED_FUNCTION_METADATA, ct as DateRangeValue, d as MigrationTimeoutError, dn as ComputedFormulaResult, dt as FormulaAttribute, en as deepEqual, et as AttributeType, f as NotFoundError, fn as evaluateComputedAst, ft as FormulaReturnType, g as OrphanSystemAttributeError, gn as isPlainRecord, gt as MultiRelationAttribute, h as ObjectReferencedError, hn as formatComputedResult, ht as LocationGranularity, i as AttributeUsage, in as canonicalStringify, it as Currency, j as SchemaPlanNotFoundError, jn as ComputedFunctionSignature, jt as SingleRelationAttribute, k as SchemaError, kn as COMPUTED_FUNCTION_NAMES, kt as RollupFunction, l as ForbiddenError, ln as ComputedFunctionCategory, lt as DateValue, m as ObjectNotFoundError, mn as evaluateComputedFormulaWithResult, mt as LocationAttribute, n as AttributeInUseError, nn as indexBy, nt as BilateralConfig, o as ConcurrentModificationError, on as serializeCanonicalJson, ot as DateAttribute, p as NotImplementedError, pn as evaluateComputedFormula, pt as Location, q as isValidationError, qt as hasOptions, r as AttributeNotFoundError, rn as NonJsonValueError, rt as CheckboxAttribute, s as DestructiveSyncNotAllowedError, sn as serializeStableJson, st as DateFormat, t as AccessDeniedError, tn as generateId, tt as BaseAttribute, u as MemoryNotFoundError, un as ComputedFunctionMetadata, ut as DocumentAttribute, v as ProtectedRoleError, vn as inferRollupReturnType, vt as NumberAttribute, w as RecordReferencedError, wn as ComputedDependencyGraphNode, wt as RelationAttribute, x as RealtimeSubscriptionError, xn as ComputedCompileAttribute, xt as Phone, y as RealtimeDeliveryError, yn as rollupToFormulaExpression, yt as NumberUnit, z as ValidationError, zn as ComputedFormulaAstNode, zt as isAttributeSortable } from "./exceptions-Bon8Edct.mjs";
3
- import { $ as RelativeDateValue, A as FormDensity, B as DynamicValue, C as ContentPlacement, D as DocumentsContentDefinition, E as CustomContentDefinition, F as RichtextContentDefinition, G as FilterRule, H as ExtendedFilterRule, I as ViewContentDefinition, J as NO_VALUE_OPERATORS, K as FilterState, L as ViewRead, M as KanbanCollectionContentDefinition, N as ListViewLayout, O as EmailsContentDefinition, P as MeetingsContentDefinition, Q as QueryState, R as CurrencyFilterValue, S as ContentOpenMode, T as ContentViewDefinition, U as FilterCombinator, V as EdgeQuantifier, W as FilterOperator, X as OPERATORS_BY_TYPE, Y as NoValueOperator, Z as PhoneFilterValue, _ as CollectionContentSource, a as displayAttributesSchema, b as ContentField, c as filterStateSchema, d as colorIdSchema, et as SortDirection, f as iconNameSchema, g as CollectionContentDefinition, h as CollectionAction, i as contentViewDefinitionSchemaFor, it as isNoValueOperator, j as FormsContentDefinition, k as FormContentDefinition, l as publishedViewContentDefinitionSchema, m as ActivityContentDefinition, n as columnsSchema, nt as filterOperatorsByTypeForGeneration, o as draftContentViewDefinitionSchema, p as SCHEMA_LIMITS, q as FilterValue, r as contentViewDefinitionSchema, rt as getRollupFilterOperators, s as draftContentViewDefinitionSchemaFor, t as collectionContentSourceSchema, tt as SortRule, u as sortsSchema, v as ColumnReference, w as ContentViewContext, x as ContentFieldGroup, y as ContentCreateMode, z as DayMonthValue } from "./all-BDkJ5lPJ.mjs";
4
- import { A as FolderPreset, C as ResourceVisibility, D as parseResourceVisibility, E as Timestamps, M as PresetNode, O as DocumentLayout, S as ReservedObjectName, T as SystemFieldName, _ as ObjectRecord, a as validateDraft, b as RESOURCE_VISIBILITIES, c as validateObjectOrThrow, f as createFormAttributeValidator, g as ObjectDefinition, h as ObjectAttribute, j as MAX_PRESET_DEPTH, k as DocumentLayoutVariant, m as ListViewTabVisibility, o as validateDraftOrThrow, p as LIST_VIEW_TAB_VISIBILITIES, r as rejectUnknownAttributesOrThrow, s as validateObject, v as RESERVED_ATTRIBUTE_NAMES, w as SYSTEM_FIELD_NAMES, x as ReservedAttributeName, y as RESERVED_OBJECT_NAMES } from "./index-ChtJn338.mjs";
5
- import { S as UpdateObjectInput, _ as statusOptionWriteSchema, b as RelationOption, c as parseAttributeConfigForCreate, d as propertyAttributeWireSchema, f as propertySchemaSchema, g as statusGroupSchema, h as selectOptionWriteSchema, l as parseAttributeConfigForUpdate, m as refuseForeignKeys, n as WIRE_OMITTED_CONFIG_KEYS, o as multiselectOptionWriteSchema, p as propertySchemaWireSchema, r as attributeConfigSchemas, s as parseAttributeConfig, t as SIMPLE_PROPERTY_TYPES, u as propertyAttributeSchema, v as AddAttributeInput, x as RelationOptionsResponse, y as CreateCustomObjectInput } from "./index-By2s4V9c.mjs";
6
- import { n as DEFAULT_VALIDATION_MESSAGES, r as ValidationMessages, t as formatZodErrors } from "./index-DF2Os8Es.mjs";
7
- import { t as createTextValidator } from "./text-BrCsJIFO.mjs";
8
- import { t as createNumberValidator } from "./number-C1HpLQUY.mjs";
9
- import { t as createCheckboxValidator } from "./checkbox-BR-7mIkg.mjs";
10
- import { t as createDateValidator } from "./date-CJWfx4s2.mjs";
2
+ import { $ as AttributeGroup, $t as asUserId, A as SchemaErrorCode, An as ComputedFunctionName, At as SelectAttribute, B as ValidationErrorDetail, Bn as ComputedFormulaBinaryNode, Bt as isBilateralRelation, C as RecordReference, Cn as ComputedCompileSchema, Ct as RELATION_TARGET_ANY, D as ReservedObjectNameError, Dn as compileComputedFormula, Dt as RichtextAttribute, E as RepositoryOperation, En as assertAcyclicComputedDependencies, Et as RichTextAttribute, F as SyncCascadeError, Fn as ComputedOptionsSource, Ft as TimeFormat, G as isRecordReferencedError, Gn as ComputedFormulaPathNode, Gt as PropertySchema, H as isNotFoundError, Hn as ComputedFormulaCallNode, Ht as relationTargetsOf, I as SyncConflictError, In as ComputedPlan, It as UserAttribute, J as BuiltInTransform, Jt as resolvePropertyDefinitions, K as isSchemaError, Kn as parseComputedFormula, Kt as PropertyType, L as SyncError, Ln as ComputedReturnType, Lt as UserReferenceType, M as SearchBackendError, Mn as isComputedFunctionName, Mt as StatusAttribute, N as StorageError, Nn as ComputedDependency, Nt as StatusGroup, O as RoleNotFoundError, On as COMPUTED_FUNCTIONS, Ot as RollupAttribute, P as StorageOperation, Pn as ComputedFieldKind, Pt as TextAttribute, Q as Attribute, Qt as asTenantId, R as SystemEntityImmutableError, Rn as ComputedValueType, Rt as inferInverseCardinality, S as RecordNotFoundError, Sn as ComputedCompileObject, St as PhoneAttribute, T as RepositoryError, Tn as ComputedFormulaCompileError, Tt as RelationTarget, U as isObjectReferencedError, Un as ComputedFormulaLiteralNode, Ut as OptionPropertyAttribute, V as isAttributeInUseError, Vn as ComputedFormulaBinaryOperator, Vt as isUniversalRelation, W as isProtectedResourceError, Wn as ComputedFormulaParseError, Wt as PropertyAttribute, X as SchemaOperation, Xt as UserId, Y as MigrationDefinition, Yt as TenantId, Z as ATTRIBUTE_TYPES, Zt as Uuid, _ as ProtectedResourceError, _n as compileRollupAttribute, _t as MultiselectAttribute, a as ChangeTypeNotSupportedError, an as sameStableValue, at as CurrencyAttribute, b as RealtimeRateLimitedError, bn as CompileComputedFormulaInput, bt as Option, c as DuplicateError, cn as COMPUTED_FUNCTION_METADATA, ct as DateRangeValue, d as MigrationTimeoutError, dn as ComputedFormulaResult, dt as FormulaAttribute, en as deepEqual, et as AttributeType, f as NotFoundError, fn as evaluateComputedAst, ft as FormulaReturnType, g as OrphanSystemAttributeError, gn as isPlainRecord, gt as MultiRelationAttribute, h as ObjectReferencedError, hn as formatComputedResult, ht as LocationGranularity, i as AttributeUsage, in as canonicalStringify, it as Currency, j as SchemaPlanNotFoundError, jn as ComputedFunctionSignature, jt as SingleRelationAttribute, k as SchemaError, kn as COMPUTED_FUNCTION_NAMES, kt as RollupFunction, l as ForbiddenError, ln as ComputedFunctionCategory, lt as DateValue, m as ObjectNotFoundError, mn as evaluateComputedFormulaWithResult, mt as LocationAttribute, n as AttributeInUseError, nn as indexBy, nt as BilateralConfig, o as ConcurrentModificationError, on as serializeCanonicalJson, ot as DateAttribute, p as NotImplementedError, pn as evaluateComputedFormula, pt as Location, q as isValidationError, qt as hasOptions, r as AttributeNotFoundError, rn as NonJsonValueError, rt as CheckboxAttribute, s as DestructiveSyncNotAllowedError, sn as serializeStableJson, st as DateFormat, t as AccessDeniedError, tn as generateId, tt as BaseAttribute, u as MemoryNotFoundError, un as ComputedFunctionMetadata, ut as DocumentAttribute, v as ProtectedRoleError, vn as inferRollupReturnType, vt as NumberAttribute, w as RecordReferencedError, wn as ComputedDependencyGraphNode, wt as RelationAttribute, x as RealtimeSubscriptionError, xn as ComputedCompileAttribute, xt as Phone, y as RealtimeDeliveryError, yn as rollupToFormulaExpression, yt as NumberUnit, z as ValidationError, zn as ComputedFormulaAstNode, zt as isAttributeSortable } from "./exceptions-S2lmNz74.mjs";
3
+ import { $ as RelativeDateValue, A as FormDensity, B as DynamicValue, C as ContentPlacement, D as DocumentsContentDefinition, E as CustomContentDefinition, F as RichtextContentDefinition, G as FilterRule, H as ExtendedFilterRule, I as ViewContentDefinition, J as NO_VALUE_OPERATORS, K as FilterState, L as ViewRead, M as KanbanCollectionContentDefinition, N as ListViewLayout, O as EmailsContentDefinition, P as MeetingsContentDefinition, Q as QueryState, R as CurrencyFilterValue, S as ContentOpenMode, T as ContentViewDefinition, U as FilterCombinator, V as EdgeQuantifier, W as FilterOperator, X as OPERATORS_BY_TYPE, Y as NoValueOperator, Z as PhoneFilterValue, _ as CollectionContentSource, a as displayAttributesSchema, b as ContentField, c as filterStateSchema, d as colorIdSchema, et as SortDirection, f as iconNameSchema, g as CollectionContentDefinition, h as CollectionAction, i as contentViewDefinitionSchemaFor, it as isNoValueOperator, j as FormsContentDefinition, k as FormContentDefinition, l as publishedViewContentDefinitionSchema, m as ActivityContentDefinition, n as columnsSchema, nt as filterOperatorsByTypeForGeneration, o as draftContentViewDefinitionSchema, p as SCHEMA_LIMITS, q as FilterValue, r as contentViewDefinitionSchema, rt as getRollupFilterOperators, s as draftContentViewDefinitionSchemaFor, t as collectionContentSourceSchema, tt as SortRule, u as sortsSchema, v as ColumnReference, w as ContentViewContext, x as ContentFieldGroup, y as ContentCreateMode, z as DayMonthValue } from "./all-CpdLgGJS.mjs";
4
+ import { A as FolderPreset, C as ResourceVisibility, D as parseResourceVisibility, E as Timestamps, M as PresetNode, O as DocumentLayout, S as ReservedObjectName, T as SystemFieldName, _ as ObjectRecord, a as validateDraft, b as RESOURCE_VISIBILITIES, c as validateObjectOrThrow, f as createFormAttributeValidator, g as ObjectDefinition, h as ObjectAttribute, j as MAX_PRESET_DEPTH, k as DocumentLayoutVariant, m as ListViewTabVisibility, o as validateDraftOrThrow, p as LIST_VIEW_TAB_VISIBILITIES, r as rejectUnknownAttributesOrThrow, s as validateObject, v as RESERVED_ATTRIBUTE_NAMES, w as SYSTEM_FIELD_NAMES, x as ReservedAttributeName, y as RESERVED_OBJECT_NAMES } from "./index-wvMnaDN-.mjs";
5
+ import { S as UpdateObjectInput, _ as statusOptionWriteSchema, b as RelationOption, c as parseAttributeConfigForCreate, d as propertyAttributeWireSchema, f as propertySchemaSchema, g as statusGroupSchema, h as selectOptionWriteSchema, l as parseAttributeConfigForUpdate, m as refuseForeignKeys, n as WIRE_OMITTED_CONFIG_KEYS, o as multiselectOptionWriteSchema, p as propertySchemaWireSchema, r as attributeConfigSchemas, s as parseAttributeConfig, t as SIMPLE_PROPERTY_TYPES, u as propertyAttributeSchema, v as AddAttributeInput, x as RelationOptionsResponse, y as CreateCustomObjectInput } from "./index-BCihfYR9.mjs";
6
+ import { n as DEFAULT_VALIDATION_MESSAGES, r as ValidationMessages, t as formatZodErrors } from "./index-DkmrYLFg.mjs";
7
+ import { t as createTextValidator } from "./text-ClvAbA62.mjs";
8
+ import { t as createNumberValidator } from "./number-Bo9vQnrk.mjs";
9
+ import { t as createCheckboxValidator } from "./checkbox-BLcG591z.mjs";
10
+ import { t as createDateValidator } from "./date-DFpmksL8.mjs";
11
11
  import z, { z as z$1 } from "zod";
12
12
  import { ColorId, CountryIso3, CurrencyCode, IconName, MimeType } from "@stndrds/constants";
13
13
  import { StandardSchemaV1, StandardSchemaV1 as StandardSchemaV1$1 } from "@standard-schema/spec";
@@ -948,6 +948,28 @@ export interface MentionedContext {
948
948
  /** Summary text for AI system prompt */
949
949
  summary: string;
950
950
  }
951
+ /**
952
+ * A span the person selected in an Artifact preview and carried into their
953
+ * next message as a removable chip (#4117).
954
+ *
955
+ * Deliberately NOT a {@link MentionReference}: that one requires `startIndex`
956
+ * and `endIndex` into the message text, so the transcript can place it inline.
957
+ * A quote chip is not in the text and has no honest value for them. It travels
958
+ * beside `attachments`, which is the message's existing shape for a removable
959
+ * chip that is not part of what was typed.
960
+ *
961
+ * `revision` is what closes the loop: `publish_artifact` already takes
962
+ * `artifactId` + `baseRevision`, so the agent can revise exactly the revision
963
+ * the span was read from rather than whatever is newest when it answers.
964
+ */
965
+ export interface ArtifactQuote {
966
+ /** Unique per chip, so removing one of two quotes of the same span works. */
967
+ id: string;
968
+ artifactId: string;
969
+ /** The revision the span was read from. */
970
+ revision: number;
971
+ selectedText: string;
972
+ }
951
973
  //#endregion
952
974
  //#region src/types/notifications.d.ts
953
975
  export declare const NOTIFICATION_KINDS: readonly ["fyi", "task", "question", "handoff", "system"];
@@ -1520,6 +1542,38 @@ export declare function describeOperations(operations: readonly ViewOperation[],
1520
1542
  */
1521
1543
  export declare function parseOperation(candidate: unknown): ViewOperation;
1522
1544
  //#endregion
1545
+ //#region src/architect/published-config-exception.d.ts
1546
+ /**
1547
+ * The one key a PUBLISHED attribute's configuration may still change (#4165).
1548
+ *
1549
+ * A published attribute's config is frozen in a draft. The writer does publish
1550
+ * config — it forwards every changed key to `updateAttribute` — so the freeze
1551
+ * is not about a change vanishing: it is that a config change reinterprets the
1552
+ * values already stored under it (options, targets, cardinality), and the
1553
+ * route for that stays a new attribute plus a migration. `bilateral` binds an
1554
+ * inverse without touching the values on this side, which is why Karl's
1555
+ * ruling of 2026-09-21 — « Déroger pour `config.bilateral` seul » — opens
1556
+ * exactly that key, so that Architect can pair two one-sided relations that
1557
+ * are already published instead of recreating them and losing their data.
1558
+ *
1559
+ * A named exception, not a thaw. Select options stay frozen, explicitly.
1560
+ *
1561
+ * It lives in `@stndrds/schema` because both sides enforce it and they must
1562
+ * not drift: the runtime refuses the operation, and the editor decides whether
1563
+ * to send a config at all. Two spellings of one rule is how a carve-out
1564
+ * quietly becomes a thaw on one side only.
1565
+ */
1566
+ export declare const PUBLISHED_CONFIG_EXCEPTION = "bilateral";
1567
+ /**
1568
+ * Whether `next` differs from `published` in the exempt key ALONE.
1569
+ *
1570
+ * `update_attribute` replaces the whole config rather than merging it, so this
1571
+ * cannot be read off the incoming keys: it is everything else being identical
1572
+ * that makes a change the exception, and not a way to carry an options change
1573
+ * past the freeze alongside a bilateral one.
1574
+ */
1575
+ export declare function isPublishedConfigChangeAllowed(next: unknown, published: unknown): boolean;
1576
+ //#endregion
1523
1577
  //#region src/architect/presentation.d.ts
1524
1578
  export declare function presentationOf(operation: ViewOperation): ArchitectPresentation;
1525
1579
  export declare function episodeImpactOf(operations: readonly ViewOperation[]): ArchitectImpact;
@@ -2220,6 +2274,7 @@ export declare function toDraftableAttributes(object: ObjectDefinition): Draftab
2220
2274
  * never more, never less than publish creates (#3028).
2221
2275
  */
2222
2276
  export declare function toAttribute(attribute: DraftableAttribute): Attribute;
2277
+ export declare function toDraftableAttribute(attribute: Attribute, objectId: string): DraftableAttribute;
2223
2278
  /** The record label a drafted object publishes with: its first drafted attribute, else the id. */
2224
2279
  export declare function draftedLabelExpression(attributes: readonly DraftableAttribute[]): string;
2225
2280
  /**
@@ -4467,6 +4522,8 @@ export interface AgentSessionMessage {
4467
4522
  parts: AgentMessagePart[];
4468
4523
  attachments?: AgentMessageAttachment[];
4469
4524
  mentions?: MentionReference[];
4525
+ /** Spans quoted from an Artifact preview, as removable composer chips (#4117). */
4526
+ quotes?: ArtifactQuote[];
4470
4527
  model?: ModelDefinition;
4471
4528
  tokenUsage?: {
4472
4529
  input: number;
@@ -5459,6 +5516,30 @@ export interface Document extends Timestamps {
5459
5516
  export interface DocumentWithSubCount extends Document {
5460
5517
  subCount: number | null;
5461
5518
  }
5519
+ /**
5520
+ * One hit of a drive-wide name search: a folder or a file of the record's
5521
+ * drive whose title contains the query, with the path that places it. The
5522
+ * walk is the agent tool's (`listRecordDrive` in query mode); this is what
5523
+ * the open-drive loupe reads (#3217).
5524
+ */
5525
+ export interface RecordDriveSearchHit {
5526
+ id: string;
5527
+ kind: "folder" | "file";
5528
+ title: string;
5529
+ /** The hit's titles from the drive root down to itself, `/`-joined — the agent tool's shape. */
5530
+ path: string;
5531
+ parentId: string | null;
5532
+ depth: number;
5533
+ }
5534
+ export interface RecordDriveSearchResult {
5535
+ recordId: string;
5536
+ hits: RecordDriveSearchHit[];
5537
+ /** Present when the walk stopped at its entry cap: more may match than are listed. */
5538
+ truncated?: {
5539
+ maxEntries: number;
5540
+ returnedEntries: number;
5541
+ };
5542
+ }
5462
5543
  /** OCR processing lifecycle for a single file within a document pack. */
5463
5544
  export type FileOcrStatus = "pending" | "processing" | "completed" | "failed";
5464
5545
  /**
@@ -5860,6 +5941,48 @@ export interface BuilderConfig {
5860
5941
  label: string;
5861
5942
  }
5862
5943
  //#endregion
5944
+ //#region src/types/recent-activity.d.ts
5945
+ /** The browser ledger holds fifty entries; the wire and the server read the
5946
+ * same cap, so it is declared once here and imported on both sides. */
5947
+ export declare const RECENT_ACTIVITY_LEDGER_LIMIT = 50;
5948
+ export type RecentActivityLedgerEntry = {
5949
+ kind: "record";
5950
+ objectName: string;
5951
+ recordId: string;
5952
+ interactedAt: string;
5953
+ } | {
5954
+ kind: "conversation";
5955
+ sessionId: string;
5956
+ interactedAt: string;
5957
+ };
5958
+ export interface ResolvedRecentRecord {
5959
+ kind: "record";
5960
+ objectName: string;
5961
+ recordId: string;
5962
+ /** The record's persisted display label. */
5963
+ label: string;
5964
+ interactedAt: string;
5965
+ }
5966
+ export interface ResolvedRecentConversation {
5967
+ kind: "conversation";
5968
+ /** The session as the viewer may read it — what the sidebar row is drawn from. */
5969
+ session: AgentSession;
5970
+ interactedAt: string;
5971
+ }
5972
+ export type ResolvedRecentActivityItem = ResolvedRecentRecord | ResolvedRecentConversation;
5973
+ /** The ledger, resolved: only what the viewer may see, in the ledger's order. */
5974
+ export interface ResolvedRecentActivity {
5975
+ items: ResolvedRecentActivityItem[];
5976
+ }
5977
+ /**
5978
+ * The identity of one ledger subject — the record it points at, or the
5979
+ * conversation it points at — encoded once for every side that needs it: the
5980
+ * browser ledger's de-duplication, the query key that carries the ledger, and
5981
+ * the pairing of the server's answer back onto the entry that asked for it.
5982
+ * JSON keeps it unambiguous whatever an object name contains.
5983
+ */
5984
+ export declare function recentActivityEntryKey(entry: RecentActivityLedgerEntry | ResolvedRecentActivityItem): string;
5985
+ //#endregion
5863
5986
  //#region src/types/errors.d.ts
5864
5987
  /**
5865
5988
  * Extracts a safe error message from an unknown error value.
@@ -7438,6 +7561,29 @@ export interface ImageModelCatalog {
7438
7561
  defaultModelId: string | null;
7439
7562
  models: readonly ImageModelOption[];
7440
7563
  }
7564
+ /** The shape the format/request coherence rule reads, on either side of the boundary. */
7565
+ interface ImageFormatDeclaration {
7566
+ readonly formats: readonly ImageFormat[];
7567
+ readonly requests: Readonly<Partial<Record<ImageFormat, unknown>>>;
7568
+ }
7569
+ /**
7570
+ * The single coherence rule between an image model's declared formats and its
7571
+ * Gateway request mappings, written once for every gate that enforces it: the
7572
+ * remote catalogue door and the host catalogue the runtime accepts.
7573
+ *
7574
+ * Returns the defect as a clause a caller can fold into its own error type and
7575
+ * wording, or `undefined` when the model is coherent.
7576
+ */
7577
+ export declare function imageModelFormatDefect(model: ImageFormatDeclaration): string | undefined;
7578
+ /**
7579
+ * The request mappings a model actually declares. A stray key is dropped rather
7580
+ * than read: `requests` is looked up by the requested format, so a mapping the
7581
+ * model never advertised would otherwise serve a format `formats` denies.
7582
+ */
7583
+ export declare function declaredImageRequests<T>(model: {
7584
+ readonly formats: readonly ImageFormat[];
7585
+ readonly requests: Readonly<Partial<Record<ImageFormat, T>>>;
7586
+ }): Partial<Record<ImageFormat, T>>;
7441
7587
  /** Image attempts carry the shared usage cost; kept as a name for existing callers. */
7442
7588
  export type ImageCost = UsageCost;
7443
7589
  export interface GenerateImageInput {
@@ -7496,8 +7642,9 @@ export type ImageFormatRequest = {
7496
7642
  } | {
7497
7643
  readonly aspectRatio: `${number}:${number}`;
7498
7644
  };
7645
+ /** `id` carries its provider (`openai/gpt-image-2`) — see the asymmetry above. */
7499
7646
  export interface CatalogImageModel extends ImageModelOption {
7500
- readonly requests: Readonly<Record<ImageFormat, ImageFormatRequest>>;
7647
+ readonly requests: Readonly<Partial<Record<ImageFormat, ImageFormatRequest>>>;
7501
7648
  readonly isDefault?: boolean;
7502
7649
  }
7503
7650
  export interface CatalogEmbeddingModel {
@@ -13531,6 +13678,13 @@ export declare const agentMessageAttachmentSchema: z$1.ZodObject<{
13531
13678
  mimeType: z$1.ZodString;
13532
13679
  size: z$1.ZodNumber;
13533
13680
  }, z$1.core.$strict>;
13681
+ /** A span quoted from an Artifact preview and carried as a composer chip (#4117). */
13682
+ export declare const artifactQuoteSchema: z$1.ZodObject<{
13683
+ id: z$1.ZodString;
13684
+ artifactId: z$1.ZodString;
13685
+ revision: z$1.ZodNumber;
13686
+ selectedText: z$1.ZodString;
13687
+ }, z$1.core.$strict>;
13534
13688
  export declare const mentionReferenceSchema: z$1.ZodObject<{
13535
13689
  id: z$1.ZodString;
13536
13690
  type: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<"record" | "user" | (string & {}), string>>;
@@ -13673,6 +13827,12 @@ export declare const agentSessionMessageSchema: z$1.ZodObject<{
13673
13827
  startIndex: z$1.ZodNumber;
13674
13828
  endIndex: z$1.ZodNumber;
13675
13829
  }, z$1.core.$strict>>>;
13830
+ quotes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
13831
+ id: z$1.ZodString;
13832
+ artifactId: z$1.ZodString;
13833
+ revision: z$1.ZodNumber;
13834
+ selectedText: z$1.ZodString;
13835
+ }, z$1.core.$strict>>>;
13676
13836
  model: z$1.ZodOptional<z$1.ZodObject<{
13677
13837
  provider: z$1.ZodEnum<{
13678
13838
  openai: "openai";
@@ -13889,6 +14049,12 @@ export declare const customDataChunkSchemas: {
13889
14049
  startIndex: z$1.ZodNumber;
13890
14050
  endIndex: z$1.ZodNumber;
13891
14051
  }, z$1.core.$strict>>>;
14052
+ quotes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
14053
+ id: z$1.ZodString;
14054
+ artifactId: z$1.ZodString;
14055
+ revision: z$1.ZodNumber;
14056
+ selectedText: z$1.ZodString;
14057
+ }, z$1.core.$strict>>>;
13892
14058
  model: z$1.ZodOptional<z$1.ZodObject<{
13893
14059
  provider: z$1.ZodEnum<{
13894
14060
  openai: "openai";
@@ -14030,6 +14196,12 @@ export declare const customDataChunkSchemas: {
14030
14196
  startIndex: z$1.ZodNumber;
14031
14197
  endIndex: z$1.ZodNumber;
14032
14198
  }, z$1.core.$strict>>>;
14199
+ quotes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
14200
+ id: z$1.ZodString;
14201
+ artifactId: z$1.ZodString;
14202
+ revision: z$1.ZodNumber;
14203
+ selectedText: z$1.ZodString;
14204
+ }, z$1.core.$strict>>>;
14033
14205
  model: z$1.ZodOptional<z$1.ZodObject<{
14034
14206
  provider: z$1.ZodEnum<{
14035
14207
  openai: "openai";
@@ -14310,7 +14482,7 @@ export declare function catalogTextModelSchema(id: string, free: boolean): z$1.Z
14310
14482
  * are absent from it, so the check the text door applies would refuse a valid
14311
14483
  * catalogue outright.
14312
14484
  */
14313
- export declare function catalogImageModelSchema(id: string): z$1.ZodObject<{
14485
+ export declare function catalogImageModelSchema(id: string): z$1.ZodPipe<z$1.ZodObject<{
14314
14486
  id: z$1.ZodString;
14315
14487
  name: z$1.ZodString;
14316
14488
  provider: z$1.ZodString;
@@ -14320,24 +14492,68 @@ export declare function catalogImageModelSchema(id: string): z$1.ZodObject<{
14320
14492
  portrait: "portrait";
14321
14493
  }>>;
14322
14494
  requests: z$1.ZodObject<{
14323
- square: z$1.ZodUnion<readonly [z$1.ZodObject<{
14495
+ square: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodObject<{
14324
14496
  size: z$1.ZodCustom<`${number}x${number}`, `${number}x${number}`>;
14325
14497
  }, z$1.core.$loose>, z$1.ZodObject<{
14326
14498
  aspectRatio: z$1.ZodCustom<`${number}:${number}`, `${number}:${number}`>;
14327
- }, z$1.core.$loose>]>;
14328
- landscape: z$1.ZodUnion<readonly [z$1.ZodObject<{
14499
+ }, z$1.core.$loose>]>>;
14500
+ landscape: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodObject<{
14329
14501
  size: z$1.ZodCustom<`${number}x${number}`, `${number}x${number}`>;
14330
14502
  }, z$1.core.$loose>, z$1.ZodObject<{
14331
14503
  aspectRatio: z$1.ZodCustom<`${number}:${number}`, `${number}:${number}`>;
14332
- }, z$1.core.$loose>]>;
14333
- portrait: z$1.ZodUnion<readonly [z$1.ZodObject<{
14504
+ }, z$1.core.$loose>]>>;
14505
+ portrait: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodObject<{
14334
14506
  size: z$1.ZodCustom<`${number}x${number}`, `${number}x${number}`>;
14335
14507
  }, z$1.core.$loose>, z$1.ZodObject<{
14336
14508
  aspectRatio: z$1.ZodCustom<`${number}:${number}`, `${number}:${number}`>;
14337
- }, z$1.core.$loose>]>;
14509
+ }, z$1.core.$loose>]>>;
14338
14510
  }, z$1.core.$loose>;
14339
14511
  isDefault: z$1.ZodOptional<z$1.ZodBoolean>;
14340
- }, z$1.core.$loose>;
14512
+ }, z$1.core.$loose>, z$1.ZodTransform<{
14513
+ requests: Partial<Record<"square" | "landscape" | "portrait", {
14514
+ [x: string]: unknown;
14515
+ size: `${number}x${number}`;
14516
+ } | {
14517
+ [x: string]: unknown;
14518
+ aspectRatio: `${number}:${number}`;
14519
+ }>>;
14520
+ id: string;
14521
+ name: string;
14522
+ provider: string;
14523
+ formats: ("square" | "landscape" | "portrait")[];
14524
+ isDefault?: boolean | undefined;
14525
+ }, {
14526
+ [x: string]: unknown;
14527
+ id: string;
14528
+ name: string;
14529
+ provider: string;
14530
+ formats: ("square" | "landscape" | "portrait")[];
14531
+ requests: {
14532
+ [x: string]: unknown;
14533
+ square?: {
14534
+ [x: string]: unknown;
14535
+ size: `${number}x${number}`;
14536
+ } | {
14537
+ [x: string]: unknown;
14538
+ aspectRatio: `${number}:${number}`;
14539
+ } | undefined;
14540
+ landscape?: {
14541
+ [x: string]: unknown;
14542
+ size: `${number}x${number}`;
14543
+ } | {
14544
+ [x: string]: unknown;
14545
+ aspectRatio: `${number}:${number}`;
14546
+ } | undefined;
14547
+ portrait?: {
14548
+ [x: string]: unknown;
14549
+ size: `${number}x${number}`;
14550
+ } | {
14551
+ [x: string]: unknown;
14552
+ aspectRatio: `${number}:${number}`;
14553
+ } | undefined;
14554
+ };
14555
+ isDefault?: boolean | undefined;
14556
+ }>>;
14341
14557
  export declare const catalogEmbeddingSchema: z$1.ZodObject<{
14342
14558
  model: z$1.ZodString;
14343
14559
  dimensions: z$1.ZodNumber;