@ai-matrx/records 0.76.8 → 0.76.10

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.
@@ -1,7 +1,7 @@
1
- import { A as AgentSnapshotRow, T as TemplateSpec, a as TemplateTable, S as SharedBlockId, C as CapabilityWord, b as TemplateField, c as TemplateAgent, d as TemplateAutomation, e as TemplateBooking, f as TemplateChecklist, g as TemplateDashboard, h as TemplateDigest, i as TemplateDocument, j as TemplateDrillDown, k as TemplateDimensions, l as TemplateForm, m as TemplateNotification, n as TemplatePortal, o as TemplateRowAction, p as TemplateStageRules, q as TemplateView, r as TemplateMergeBinding, s as TemplateTryIt, t as TemplateWorkflow, u as TemplateFootprint } from '../types-DlRG9iZh.cjs';
2
- export { v as CAPABILITY_WORDS, w as CATALOGUE_QUOTAS, x as CATALOGUE_STATUSES, y as CHOICE_COLORS, z as CHOICE_COLORS_DISTINCT_UP_TO, B as CatalogueRow, D as CatalogueStatus, E as ChoiceColor, F as ConfidentialLevel, G as ConfidentialRequest, H as DEFAULT_TEMPLATE_AGENT, I as ENTITY_REFERENCE_KINDS, J as INDUSTRY_GROUPS, K as IndustryGroup, R as RELATIVE_DATE, L as RetiredId, M as SHARED_BLOCKS, N as SHARED_BLOCK_IDS, O as STRENGTHS, P as SharedBlock, Q as SharedBlockField, U as SharedBlockUse, V as Strength, W as TABLE_KERNEL_ID, X as TEACHES_FEATURES, Y as TEMPLATE_AUDIENCES, Z as TEMPLATE_EXTRA_KINDS, _ as TEMPLATE_JOBS, $ as TEMPLATE_REFERENCE_DATE, a0 as TEMPLATE_SPEC_VERSION, a1 as TEMPLATE_VIEW_KINDS, a2 as TeachesFeature, a3 as TemplateAgentQuestion, a4 as TemplateAgentVariable, a5 as TemplateAudience, a6 as TemplateBookingWindow, a7 as TemplateCalendarView, a8 as TemplateChecklistStep, a9 as TemplateConfidential, aa as TemplateConfidentialReader, ab as TemplateDashboardBlock, ac as TemplateDimensionOverride, ad as TemplateDrillPath, ae as TemplateExtra, af as TemplateExtraAgent, ag as TemplateExtraAgentVariable, ah as TemplateExtraKind, ai as TemplateFormField, aj as TemplateFoundation, ak as TemplateGalleryView, al as TemplateGridView, am as TemplateGuideStep, an as TemplateJob, ao as TemplateKanbanView, ap as TemplateMeasureOverride, aq as TemplatePortalTable, ar as TemplateProvenance, as as TemplateSource, at as TemplateTableSettings, au as TemplateTimelineView, av as TemplateViewKind, aw as TemplateViewSort, ax as UseCaseSingulars, ay as WalkAction, az as WalkAssertion, aA as WalkImport, aB as WalkMove, aC as WalkStep, aD as confidentialPending, aE as confidentialRequests, aF as footprintOf, aG as membersAddRowsSteps, aH as tableSettingsProblems, aI as whenRule } from '../types-DlRG9iZh.cjs';
1
+ import { A as AgentSnapshotRow, T as TemplateSpec, a as TemplateTable, S as SharedBlockId, C as CapabilityWord, b as TemplateField, c as TemplateAgent, d as TemplateAutomation, e as TemplateBooking, f as TemplateChecklist, g as TemplateDashboard, h as TemplateDigest, i as TemplateDocument, j as TemplateDrillDown, k as TemplateDimensions, l as TemplateForm, m as TemplateNotification, n as TemplatePortal, o as TemplateRowAction, p as TemplateStageRules, q as TemplateView, r as TemplateMergeBinding, s as TemplateTryIt, t as TemplateWorkflow, u as TemplateFootprint, I as IndustryGroup, v as TemplateJob, w as TeachesFeature, x as TemplateViewKind, y as TemplateBookingWindow } from '../types-D9HN8YZS.cjs';
2
+ export { z as CAPABILITY_WORDS, B as CATALOGUE_QUOTAS, D as CATALOGUE_STATUSES, E as CHOICE_COLORS, F as CHOICE_COLORS_DISTINCT_UP_TO, G as CatalogueRow, H as CatalogueStatus, J as ChoiceColor, K as ConfidentialLevel, L as ConfidentialRequest, M as DEFAULT_TEMPLATE_AGENT, N as ENTITY_REFERENCE_KINDS, O as INDUSTRY_GROUPS, R as RELATIVE_DATE, P as RetiredId, Q as SHARED_BLOCKS, U as SHARED_BLOCK_IDS, V as STRENGTHS, W as SharedBlock, X as SharedBlockField, Y as SharedBlockUse, Z as Strength, _ as TABLE_KERNEL_ID, $ as TEACHES_FEATURES, a0 as TEMPLATE_AUDIENCES, a1 as TEMPLATE_EXTRA_KINDS, a2 as TEMPLATE_JOBS, a3 as TEMPLATE_REFERENCE_DATE, a4 as TEMPLATE_SPEC_VERSION, a5 as TEMPLATE_VIEW_KINDS, a6 as TemplateAgentQuestion, a7 as TemplateAgentVariable, a8 as TemplateAudience, a9 as TemplateCalendarView, aa as TemplateChecklistStep, ab as TemplateConfidential, ac as TemplateConfidentialReader, ad as TemplateDashboardBlock, ae as TemplateDimensionOverride, af as TemplateDrillPath, ag as TemplateExtra, ah as TemplateExtraAgent, ai as TemplateExtraAgentVariable, aj as TemplateExtraKind, ak as TemplateFormField, al as TemplateFoundation, am as TemplateGalleryView, an as TemplateGridView, ao as TemplateGuideStep, ap as TemplateKanbanView, aq as TemplateMeasureOverride, ar as TemplatePortalTable, as as TemplateProvenance, at as TemplateSource, au as TemplateTableSettings, av as TemplateTimelineView, aw as TemplateViewSort, ax as UseCaseSingulars, ay as WalkAction, az as WalkAssertion, aA as WalkImport, aB as WalkMove, aC as WalkStep, aD as confidentialPending, aE as confidentialRequests, aF as footprintOf, aG as membersAddRowsSteps, aH as tableSettingsProblems, aI as whenRule } from '../types-D9HN8YZS.cjs';
3
3
  import { g as AggregateMeasure, p as AggregateFilter } from '../subscription-BJgDMerQ.cjs';
4
- import { U as UseCase } from '../types-DWoJFBbr.cjs';
4
+ import { U as UseCase, o as UseCaseRelationship } from '../types-DWoJFBbr.cjs';
5
5
  import { U as UseCaseProblem } from '../validate-CEE0ts9g.cjs';
6
6
  export { R as RESOLVABLE_FIELD_TYPE_WORDS } from '../validate-CEE0ts9g.cjs';
7
7
  import { b as RecordsDataSource } from '../ports-C83nhjoM.cjs';
@@ -221,6 +221,9 @@ declare function attachmentProblems(raw: TemplateSpec & {
221
221
  declare function validateTemplate(raw: TemplateSpec, options?: ValidateOptions): TemplateVerdict;
222
222
  /** Validate and throw with every problem. A waiting template does not throw — it is held, not broken. */
223
223
  declare function assertTemplate(spec: TemplateSpec, options?: ValidateOptions): TemplateVerdict;
224
+ /** Choice words that are a good outcome (never painted red) and a bad one (never painted green). One reading for the check and the describe autofix. */
225
+ declare const GOOD_OUTCOME: RegExp;
226
+ declare const BAD_OUTCOME: RegExp;
224
227
  /**
225
228
  * The lowest sensitivity the store accepts for a field, by what it holds: "restricted" (kept from the AI:
226
229
  * an identity or health fact about a person, a code, a card or bank number, privileged notes),
@@ -654,4 +657,262 @@ declare function runTemplateDoor(source: RecordsDataSource, door: TemplateFamily
654
657
  /** Tables a plan makes (for a suite): the `tables.*` refs its steps save. */
655
658
  declare function planTables(plan: TemplateInstallPlan): string[];
656
659
 
657
- export { AgentSnapshotRow, type AggregateOutcome, type CapabilityStatus, CapabilityWord, DESIGNATED_REAL_NUMBERS, type DerivedUseCase, FORMULA_FUNCTIONS, INSTALL_PLAN_VERSION, MAIN_TABLE_ROWS_MAX, MAIN_TABLE_ROWS_MIN, PUBLIC_MAIL_DOMAINS, RECORDS_UI_CALENDAR_MODES, RECORDS_UI_FIELD_SURFACES, RECORDS_UI_VIEW_LAYOUTS, SERVER_DATE_GRAMMAR, type SeedRow, SharedBlockId, TABLES_MAX, TABLES_MIN, TEMPLATE_PLAN_DOORS, TIME_BOUND_STAGE, TITLE_DISTINCT_SHARE, TemplateAgent, type TemplateAgentBinding, type TemplateAgentCopyRequest, type TemplateAssetRow, type TemplateAttachment, TemplateAutomation, TemplateBooking, type TemplateCard, TemplateChecklist, TemplateDashboard, type TemplateDeclaration, TemplateDigest, TemplateDimensions, TemplateDocument, type TemplateDoorAnswer, type TemplateDoorRun, TemplateDrillDown, type TemplateFamilyDoor, TemplateField, TemplateFootprint, TemplateForm, type TemplateHostExtras, type TemplateInstallPlan, type TemplateMadeKind, TemplateMergeBinding, TemplateNotification, type TemplatePlanAgent, type TemplatePlanBinding, type TemplatePlanDoor, type TemplatePlanExtraAgent, type TemplatePlanStep, TemplatePortal, TemplateRowAction, TemplateSpec, type TemplateSpecWithAttachments, TemplateStageRules, type TemplateStatus, TemplateTable, TemplateTryIt, type TemplateUpgradeAnswer, type TemplateUpgradeHint, type TemplateUpgradeRun, type TemplateVerdict, TemplateView, TemplateWorkflow, type ValidateOptions, agentCopyRequest, allTables, anyOfWhere, assertTemplate, attachmentProblems, automationHeld, blockTable, bookingArgs, bookingColumnsProblem, capabilitiesUsed, capabilityStatus, checklistSpec, choiceDisplayFormat, compileHostExtras, compileInstallPlan, dashboardBlocks, deferredRelationFields, deferredRelations, derivedFieldSpec, digestSpec, documentBody, domainsIn, drillDownDashboard, evalFormula, extrasProblems, foreignTextProblems, formArgs, formulaFieldSpec, formulaOrder, formulaRefs, foundationTokens, isSelfDeclaredField, isTimedField, normalizeForPhones, notificationParts, numberText, numberedStreet, parseFormula, parseNumeric, peopleOf, phonesOutsideFictionalRange, planTables, portalArgs, relationFieldSpec, relationPatches, relativeHasTime, requiredCircleProblem, resolveDateToken, resolveRelativeDates, rowActionList, rowLevels, rowsFor, ruleBreak, runTemplateDoor, selfDeclaredFieldSpec, sensitivityFloorOf, shellsPayload, stageFieldOf, stageRulesSpec, storeAggregate, storeFilterMatches, storeText, tableShellPayload, templateCard, templateDeclaration, templateText, templateUpgradeHint, timedFieldSpec, toUseCase, unwrap, upgradeTemplateInstall, useCaseProblemsOf, validateTemplate, viewMatches, viewSpec, zoneOffset };
660
+ /** One table of the plan's skeleton: every name S2, S3 and S4 must agree on. */
661
+ interface DescribePlanTable {
662
+ token: string;
663
+ name: string;
664
+ labelSingular: string;
665
+ subject: "person" | "animal" | "thing";
666
+ /** One line: why the business needs it. */
667
+ purpose: string;
668
+ titleField: {
669
+ key: string;
670
+ label: string;
671
+ };
672
+ /** The organization's own table this one IS (keys that already exist are kept verbatim). */
673
+ reuse?: {
674
+ existing_table_id: string;
675
+ keepKeys: string[];
676
+ };
677
+ /** The flow, in order. The field is keyed `status`. */
678
+ status?: {
679
+ choices: string[];
680
+ default: string;
681
+ };
682
+ /** Booking lands here: a required `slot` datetime. */
683
+ slot?: true;
684
+ /** The child holds the single link. */
685
+ links: Array<{
686
+ key: string;
687
+ label: string;
688
+ target: string;
689
+ many: boolean;
690
+ }>;
691
+ /** 3–8 plain facts the work needs ("amount", "address"). */
692
+ mustHave: string[];
693
+ }
694
+ interface DescribePlanDoor {
695
+ kind: "form" | "booking";
696
+ table: string;
697
+ audience: "public" | "staff" | "member";
698
+ purpose: string;
699
+ }
700
+ /** S1 output. */
701
+ interface DescribePlan {
702
+ business: {
703
+ name: string;
704
+ describes: string;
705
+ timezone: string;
706
+ };
707
+ id: string;
708
+ useCase: string;
709
+ industry: IndustryGroup;
710
+ vertical: string;
711
+ job: TemplateJob;
712
+ teaches: TeachesFeature;
713
+ audience: "organization" | "individual";
714
+ tables: DescribePlanTable[];
715
+ doors: DescribePlanDoor[];
716
+ views: Array<{
717
+ kind: TemplateViewKind;
718
+ table: string;
719
+ why: string;
720
+ }>;
721
+ booking?: {
722
+ visit: string;
723
+ minutes: number;
724
+ windows: TemplateBookingWindow[];
725
+ source: "org_hours" | "assumed";
726
+ };
727
+ leaveOut: string[];
728
+ assumptions: string[];
729
+ }
730
+ /** S2 output. */
731
+ interface TablesPart {
732
+ tables: TemplateTable[];
733
+ relationships: UseCaseRelationship[];
734
+ }
735
+ /** A field S3 needs and asks the merge to add (skipped when the key already exists). */
736
+ interface FieldRequest {
737
+ table: string;
738
+ key: string;
739
+ label: string;
740
+ parityType: string;
741
+ choices?: string[];
742
+ askOfSubject?: boolean;
743
+ askOfGuardian?: boolean;
744
+ required?: boolean;
745
+ help?: string;
746
+ }
747
+ /** S3 output. */
748
+ interface DoorsPart {
749
+ forms: TemplateForm[];
750
+ booking?: TemplateBooking;
751
+ fieldRequests: FieldRequest[];
752
+ }
753
+ /** S4 output. */
754
+ interface ViewsPart {
755
+ views: TemplateView[];
756
+ }
757
+ /** S6 output: a patch list. `path` names a piece of the spec; `set` is merged onto it. */
758
+ interface RepairPatch {
759
+ /** "tables.visit.fields.pain_level" · "tables.visit" · "forms.intake.fields.phone" · "extras.booking" · "views.<token>" */
760
+ path: string;
761
+ set: Record<string, unknown>;
762
+ }
763
+ interface RepairAnswer {
764
+ patches: RepairPatch[];
765
+ notes?: string[];
766
+ }
767
+ /** What a check says is wrong: the validator's own words, verbatim. */
768
+ interface DescribeProblem {
769
+ at: string;
770
+ says: string;
771
+ }
772
+ /** The organization's own table, as the mandate's `existing_tables` variable carries it. */
773
+ interface ExistingTable {
774
+ id: string;
775
+ name: string;
776
+ fields: Array<{
777
+ key: string;
778
+ label: string;
779
+ kind: string;
780
+ choices?: string[];
781
+ }>;
782
+ }
783
+ /** What the code steps may know beyond the spec. All optional: a bare spec is checked on its own. */
784
+ interface DescribeCtx {
785
+ plan?: DescribePlan;
786
+ existingTables?: ExistingTable[];
787
+ }
788
+ /** S7: the answer the frontend's describe box already reads. */
789
+ interface DescribeResult {
790
+ __kind: "describe_template_result";
791
+ template: Record<string, unknown>;
792
+ notes: string[];
793
+ reuses: Array<{
794
+ token: string;
795
+ existing_table_id: string;
796
+ }>;
797
+ }
798
+
799
+ /** Keys only a gallery card carries; a describe spec never sends them to the check. */
800
+ declare const GALLERY_ONLY: string[];
801
+ /**
802
+ * The spec as the check reads it: the mandate's template with the lists the shape always has defaulted
803
+ * (an omitted empty list is not a defect) and every gallery-only key taken off.
804
+ */
805
+ declare function describeSpec(template: Record<string, unknown>): TemplateSpec;
806
+
807
+ /** The deterministic default view of one table: kanban by status, else calendar by slot, else grid by title. */
808
+ declare function fallbackView(t: {
809
+ token: string;
810
+ name?: unknown;
811
+ titleField?: unknown;
812
+ fields: Array<{
813
+ key: string;
814
+ parityType: string;
815
+ }>;
816
+ }): TemplateView;
817
+ /** The plan's reuse decisions, in the shape the frontend's bindReuses takes. */
818
+ declare function reusesOf(plan: DescribePlan): Array<{
819
+ token: string;
820
+ existing_table_id: string;
821
+ }>;
822
+ /**
823
+ * S5 step 1 and assembly. `doors` and `views` may be missing (a failed step): the views fall back to the default, the
824
+ * forms stay empty (a missing front door is for the check to say, never for code to invent).
825
+ */
826
+ declare function mergeDescribeParts(plan: DescribePlan, tables: TablesPart, doors: DoorsPart | null | undefined, views: ViewsPart | null | undefined, existingTables?: ExistingTable[]): TemplateSpec;
827
+
828
+ interface AutofixResult {
829
+ spec: TemplateSpec;
830
+ autoFixes: string[];
831
+ }
832
+ interface DescribeCheckResult extends AutofixResult {
833
+ problems: DescribeProblem[];
834
+ }
835
+ /** S5 steps 2–9. Never mutates its input. */
836
+ declare function autofixDescribeSpec(input: TemplateSpec | Record<string, unknown>, ctx?: DescribeCtx): AutofixResult;
837
+ /** S5 whole: autofix, then the describe-profile check. */
838
+ declare function describeCheck(spec: TemplateSpec | Record<string, unknown>, ctx?: DescribeCtx): DescribeCheckResult;
839
+
840
+ type Rec = Record<string, unknown>;
841
+ /**
842
+ * "tables (visit).fields (pain_level).rules" → [{root:"tables",id:"visit"},{root:"fields",id:"pain_level"},{root:"rules"}].
843
+ * A piece the validator could only name by position ("views[1] (undefined)", "forms[0]") gets the id "#1" / "#0": the
844
+ * place in its list, which resolvePath reads. (A missing name is never an id.)
845
+ */
846
+ declare function parseAt(at: string): Array<{
847
+ root: string;
848
+ id?: string;
849
+ }>;
850
+ /** The repair path a problem's `at` points at: the deepest piece that can be patched. Never a path that resolves to nothing for a piece that exists. */
851
+ declare function pathOfAt(at: string): string;
852
+ /** The object a repair path names, inside `spec` (not a copy). */
853
+ declare function resolvePath(spec: TemplateSpec, path: string): Rec | undefined;
854
+ interface RepairSlice {
855
+ /** The repair path a patch for this slice would use. */
856
+ path: string;
857
+ /** The JSON the problems point at. Never the whole spec. */
858
+ slice: unknown;
859
+ problems: DescribeProblem[];
860
+ }
861
+ /**
862
+ * The minimal slices S6's agent is sent: for each distinct piece the problems point at, that piece's JSON and the
863
+ * problems' own words. A table-level problem gets the table with its fields indexed; a field-level problem, only that field.
864
+ */
865
+ declare function repairSlices(spec: TemplateSpec, problems: DescribeProblem[]): RepairSlice[];
866
+ interface ApplyResult {
867
+ spec: TemplateSpec;
868
+ /** Paths that landed. */
869
+ applied: string[];
870
+ /** Paths that did not, with why (an unknown piece, or a patch that tried to rename). */
871
+ skipped: Array<{
872
+ path: string;
873
+ why: string;
874
+ }>;
875
+ }
876
+ /**
877
+ * Apply S6's patch list: each `set` is merged (shallow, `null` removes a key) onto the piece its `path` names. A key, token
878
+ * or fieldKey is never changed (references would break). A field or question that does not exist yet is ADDED when the patch
879
+ * carries what makes one (label + parityType for a field, `ask` for a question). Never mutates its input.
880
+ */
881
+ declare function applyRepairPatches(input: TemplateSpec, patches: RepairPatch[]): ApplyResult;
882
+ interface TrimResult {
883
+ spec: TemplateSpec;
884
+ /** One line per piece left out, for the notes. */
885
+ notes: string[];
886
+ }
887
+ /**
888
+ * The deterministic last resort when repair did not clear a problem: leave out the offending OPTIONAL piece, with a note —
889
+ * a view, a help text, a question the field does not require. Anything else stays a problem (the honest failure).
890
+ */
891
+ declare function lastResortTrim(input: TemplateSpec, problems: DescribeProblem[]): TrimResult;
892
+
893
+ /**
894
+ * S7. Notes: the plan's assumptions, what it left out, then the auto-fixes that changed the setup, then `extraNotes`
895
+ * (what a last-resort trim left out). Capped at 7 lines. `reuses` keeps only tokens the spec has.
896
+ */
897
+ declare function packageDescribeResult(spec: TemplateSpec, plan: Pick<DescribePlan, "assumptions" | "leaveOut"> | undefined, autoFixes: string[], reuses: Array<{
898
+ token: string;
899
+ existing_table_id: string;
900
+ }>, extraNotes?: string[]): DescribeResult;
901
+
902
+ /** Each booking availability key: what it means and the type the install door takes. */
903
+ declare const BOOKING_AVAILABILITY_FACTS: Record<string, string>;
904
+ /** What a view is made of. */
905
+ declare const VIEW_SHAPE_FACTS: {
906
+ readonly token: "snake_case, unique among every view, form and extra — always written";
907
+ readonly name: "what a person clicks, such as \"Intake board\"";
908
+ readonly table: "the token of one of the template's tables";
909
+ readonly kind: readonly ["grid", "kanban", "calendar", "gallery", "timeline"];
910
+ readonly groupBy: "kanban only, required: the key of a select field whose choices become the columns";
911
+ readonly dateField: "calendar only, required: the key of a datetime field";
912
+ readonly startField_endField: "timeline only, required: keys of two datetime fields";
913
+ readonly coverField: "gallery only, required: the key of a file field";
914
+ };
915
+ /** The store's closed lists, as the mandate's `vocabulary` value — read from the package, never typed by a caller. */
916
+ declare function describeVocabulary(): Record<string, unknown>;
917
+
918
+ export { AgentSnapshotRow, type AggregateOutcome, type ApplyResult, type AutofixResult, BAD_OUTCOME, BOOKING_AVAILABILITY_FACTS, type CapabilityStatus, CapabilityWord, DESIGNATED_REAL_NUMBERS, type DerivedUseCase, type DescribeCheckResult, type DescribeCtx, type DescribePlan, type DescribePlanDoor, type DescribePlanTable, type DescribeProblem, type DescribeResult, type DoorsPart, type ExistingTable, FORMULA_FUNCTIONS, type FieldRequest, GALLERY_ONLY, GOOD_OUTCOME, INSTALL_PLAN_VERSION, IndustryGroup, MAIN_TABLE_ROWS_MAX, MAIN_TABLE_ROWS_MIN, PUBLIC_MAIL_DOMAINS, RECORDS_UI_CALENDAR_MODES, RECORDS_UI_FIELD_SURFACES, RECORDS_UI_VIEW_LAYOUTS, type RepairAnswer, type RepairPatch, type RepairSlice, SERVER_DATE_GRAMMAR, type SeedRow, SharedBlockId, TABLES_MAX, TABLES_MIN, TEMPLATE_PLAN_DOORS, TIME_BOUND_STAGE, TITLE_DISTINCT_SHARE, type TablesPart, TeachesFeature, TemplateAgent, type TemplateAgentBinding, type TemplateAgentCopyRequest, type TemplateAssetRow, type TemplateAttachment, TemplateAutomation, TemplateBooking, TemplateBookingWindow, type TemplateCard, TemplateChecklist, TemplateDashboard, type TemplateDeclaration, TemplateDigest, TemplateDimensions, TemplateDocument, type TemplateDoorAnswer, type TemplateDoorRun, TemplateDrillDown, type TemplateFamilyDoor, TemplateField, TemplateFootprint, TemplateForm, type TemplateHostExtras, type TemplateInstallPlan, TemplateJob, type TemplateMadeKind, TemplateMergeBinding, TemplateNotification, type TemplatePlanAgent, type TemplatePlanBinding, type TemplatePlanDoor, type TemplatePlanExtraAgent, type TemplatePlanStep, TemplatePortal, TemplateRowAction, TemplateSpec, type TemplateSpecWithAttachments, TemplateStageRules, type TemplateStatus, TemplateTable, TemplateTryIt, type TemplateUpgradeAnswer, type TemplateUpgradeHint, type TemplateUpgradeRun, type TemplateVerdict, TemplateView, TemplateViewKind, TemplateWorkflow, type TrimResult, VIEW_SHAPE_FACTS, type ValidateOptions, type ViewsPart, agentCopyRequest, allTables, anyOfWhere, applyRepairPatches, assertTemplate, attachmentProblems, autofixDescribeSpec, automationHeld, blockTable, bookingArgs, bookingColumnsProblem, capabilitiesUsed, capabilityStatus, checklistSpec, choiceDisplayFormat, compileHostExtras, compileInstallPlan, dashboardBlocks, deferredRelationFields, deferredRelations, derivedFieldSpec, describeCheck, describeSpec, describeVocabulary, digestSpec, documentBody, domainsIn, drillDownDashboard, evalFormula, extrasProblems, fallbackView, foreignTextProblems, formArgs, formulaFieldSpec, formulaOrder, formulaRefs, foundationTokens, isSelfDeclaredField, isTimedField, lastResortTrim, mergeDescribeParts, normalizeForPhones, notificationParts, numberText, numberedStreet, packageDescribeResult, parseAt, parseFormula, parseNumeric, pathOfAt, peopleOf, phonesOutsideFictionalRange, planTables, portalArgs, relationFieldSpec, relationPatches, relativeHasTime, repairSlices, requiredCircleProblem, resolveDateToken, resolvePath, resolveRelativeDates, reusesOf, rowActionList, rowLevels, rowsFor, ruleBreak, runTemplateDoor, selfDeclaredFieldSpec, sensitivityFloorOf, shellsPayload, stageFieldOf, stageRulesSpec, storeAggregate, storeFilterMatches, storeText, tableShellPayload, templateCard, templateDeclaration, templateText, templateUpgradeHint, timedFieldSpec, toUseCase, unwrap, upgradeTemplateInstall, useCaseProblemsOf, validateTemplate, viewMatches, viewSpec, zoneOffset };
@@ -1,7 +1,7 @@
1
- import { A as AgentSnapshotRow, T as TemplateSpec, a as TemplateTable, S as SharedBlockId, C as CapabilityWord, b as TemplateField, c as TemplateAgent, d as TemplateAutomation, e as TemplateBooking, f as TemplateChecklist, g as TemplateDashboard, h as TemplateDigest, i as TemplateDocument, j as TemplateDrillDown, k as TemplateDimensions, l as TemplateForm, m as TemplateNotification, n as TemplatePortal, o as TemplateRowAction, p as TemplateStageRules, q as TemplateView, r as TemplateMergeBinding, s as TemplateTryIt, t as TemplateWorkflow, u as TemplateFootprint } from '../types-bdEWPW4p.js';
2
- export { v as CAPABILITY_WORDS, w as CATALOGUE_QUOTAS, x as CATALOGUE_STATUSES, y as CHOICE_COLORS, z as CHOICE_COLORS_DISTINCT_UP_TO, B as CatalogueRow, D as CatalogueStatus, E as ChoiceColor, F as ConfidentialLevel, G as ConfidentialRequest, H as DEFAULT_TEMPLATE_AGENT, I as ENTITY_REFERENCE_KINDS, J as INDUSTRY_GROUPS, K as IndustryGroup, R as RELATIVE_DATE, L as RetiredId, M as SHARED_BLOCKS, N as SHARED_BLOCK_IDS, O as STRENGTHS, P as SharedBlock, Q as SharedBlockField, U as SharedBlockUse, V as Strength, W as TABLE_KERNEL_ID, X as TEACHES_FEATURES, Y as TEMPLATE_AUDIENCES, Z as TEMPLATE_EXTRA_KINDS, _ as TEMPLATE_JOBS, $ as TEMPLATE_REFERENCE_DATE, a0 as TEMPLATE_SPEC_VERSION, a1 as TEMPLATE_VIEW_KINDS, a2 as TeachesFeature, a3 as TemplateAgentQuestion, a4 as TemplateAgentVariable, a5 as TemplateAudience, a6 as TemplateBookingWindow, a7 as TemplateCalendarView, a8 as TemplateChecklistStep, a9 as TemplateConfidential, aa as TemplateConfidentialReader, ab as TemplateDashboardBlock, ac as TemplateDimensionOverride, ad as TemplateDrillPath, ae as TemplateExtra, af as TemplateExtraAgent, ag as TemplateExtraAgentVariable, ah as TemplateExtraKind, ai as TemplateFormField, aj as TemplateFoundation, ak as TemplateGalleryView, al as TemplateGridView, am as TemplateGuideStep, an as TemplateJob, ao as TemplateKanbanView, ap as TemplateMeasureOverride, aq as TemplatePortalTable, ar as TemplateProvenance, as as TemplateSource, at as TemplateTableSettings, au as TemplateTimelineView, av as TemplateViewKind, aw as TemplateViewSort, ax as UseCaseSingulars, ay as WalkAction, az as WalkAssertion, aA as WalkImport, aB as WalkMove, aC as WalkStep, aD as confidentialPending, aE as confidentialRequests, aF as footprintOf, aG as membersAddRowsSteps, aH as tableSettingsProblems, aI as whenRule } from '../types-bdEWPW4p.js';
1
+ import { A as AgentSnapshotRow, T as TemplateSpec, a as TemplateTable, S as SharedBlockId, C as CapabilityWord, b as TemplateField, c as TemplateAgent, d as TemplateAutomation, e as TemplateBooking, f as TemplateChecklist, g as TemplateDashboard, h as TemplateDigest, i as TemplateDocument, j as TemplateDrillDown, k as TemplateDimensions, l as TemplateForm, m as TemplateNotification, n as TemplatePortal, o as TemplateRowAction, p as TemplateStageRules, q as TemplateView, r as TemplateMergeBinding, s as TemplateTryIt, t as TemplateWorkflow, u as TemplateFootprint, I as IndustryGroup, v as TemplateJob, w as TeachesFeature, x as TemplateViewKind, y as TemplateBookingWindow } from '../types-DvhixdUB.js';
2
+ export { z as CAPABILITY_WORDS, B as CATALOGUE_QUOTAS, D as CATALOGUE_STATUSES, E as CHOICE_COLORS, F as CHOICE_COLORS_DISTINCT_UP_TO, G as CatalogueRow, H as CatalogueStatus, J as ChoiceColor, K as ConfidentialLevel, L as ConfidentialRequest, M as DEFAULT_TEMPLATE_AGENT, N as ENTITY_REFERENCE_KINDS, O as INDUSTRY_GROUPS, R as RELATIVE_DATE, P as RetiredId, Q as SHARED_BLOCKS, U as SHARED_BLOCK_IDS, V as STRENGTHS, W as SharedBlock, X as SharedBlockField, Y as SharedBlockUse, Z as Strength, _ as TABLE_KERNEL_ID, $ as TEACHES_FEATURES, a0 as TEMPLATE_AUDIENCES, a1 as TEMPLATE_EXTRA_KINDS, a2 as TEMPLATE_JOBS, a3 as TEMPLATE_REFERENCE_DATE, a4 as TEMPLATE_SPEC_VERSION, a5 as TEMPLATE_VIEW_KINDS, a6 as TemplateAgentQuestion, a7 as TemplateAgentVariable, a8 as TemplateAudience, a9 as TemplateCalendarView, aa as TemplateChecklistStep, ab as TemplateConfidential, ac as TemplateConfidentialReader, ad as TemplateDashboardBlock, ae as TemplateDimensionOverride, af as TemplateDrillPath, ag as TemplateExtra, ah as TemplateExtraAgent, ai as TemplateExtraAgentVariable, aj as TemplateExtraKind, ak as TemplateFormField, al as TemplateFoundation, am as TemplateGalleryView, an as TemplateGridView, ao as TemplateGuideStep, ap as TemplateKanbanView, aq as TemplateMeasureOverride, ar as TemplatePortalTable, as as TemplateProvenance, at as TemplateSource, au as TemplateTableSettings, av as TemplateTimelineView, aw as TemplateViewSort, ax as UseCaseSingulars, ay as WalkAction, az as WalkAssertion, aA as WalkImport, aB as WalkMove, aC as WalkStep, aD as confidentialPending, aE as confidentialRequests, aF as footprintOf, aG as membersAddRowsSteps, aH as tableSettingsProblems, aI as whenRule } from '../types-DvhixdUB.js';
3
3
  import { g as AggregateMeasure, p as AggregateFilter } from '../subscription-D8OHY3kw.js';
4
- import { U as UseCase } from '../types-DqCWKOYh.js';
4
+ import { U as UseCase, o as UseCaseRelationship } from '../types-DqCWKOYh.js';
5
5
  import { U as UseCaseProblem } from '../validate-d9QMYjBm.js';
6
6
  export { R as RESOLVABLE_FIELD_TYPE_WORDS } from '../validate-d9QMYjBm.js';
7
7
  import { b as RecordsDataSource } from '../ports-C2_pOWrL.js';
@@ -221,6 +221,9 @@ declare function attachmentProblems(raw: TemplateSpec & {
221
221
  declare function validateTemplate(raw: TemplateSpec, options?: ValidateOptions): TemplateVerdict;
222
222
  /** Validate and throw with every problem. A waiting template does not throw — it is held, not broken. */
223
223
  declare function assertTemplate(spec: TemplateSpec, options?: ValidateOptions): TemplateVerdict;
224
+ /** Choice words that are a good outcome (never painted red) and a bad one (never painted green). One reading for the check and the describe autofix. */
225
+ declare const GOOD_OUTCOME: RegExp;
226
+ declare const BAD_OUTCOME: RegExp;
224
227
  /**
225
228
  * The lowest sensitivity the store accepts for a field, by what it holds: "restricted" (kept from the AI:
226
229
  * an identity or health fact about a person, a code, a card or bank number, privileged notes),
@@ -654,4 +657,262 @@ declare function runTemplateDoor(source: RecordsDataSource, door: TemplateFamily
654
657
  /** Tables a plan makes (for a suite): the `tables.*` refs its steps save. */
655
658
  declare function planTables(plan: TemplateInstallPlan): string[];
656
659
 
657
- export { AgentSnapshotRow, type AggregateOutcome, type CapabilityStatus, CapabilityWord, DESIGNATED_REAL_NUMBERS, type DerivedUseCase, FORMULA_FUNCTIONS, INSTALL_PLAN_VERSION, MAIN_TABLE_ROWS_MAX, MAIN_TABLE_ROWS_MIN, PUBLIC_MAIL_DOMAINS, RECORDS_UI_CALENDAR_MODES, RECORDS_UI_FIELD_SURFACES, RECORDS_UI_VIEW_LAYOUTS, SERVER_DATE_GRAMMAR, type SeedRow, SharedBlockId, TABLES_MAX, TABLES_MIN, TEMPLATE_PLAN_DOORS, TIME_BOUND_STAGE, TITLE_DISTINCT_SHARE, TemplateAgent, type TemplateAgentBinding, type TemplateAgentCopyRequest, type TemplateAssetRow, type TemplateAttachment, TemplateAutomation, TemplateBooking, type TemplateCard, TemplateChecklist, TemplateDashboard, type TemplateDeclaration, TemplateDigest, TemplateDimensions, TemplateDocument, type TemplateDoorAnswer, type TemplateDoorRun, TemplateDrillDown, type TemplateFamilyDoor, TemplateField, TemplateFootprint, TemplateForm, type TemplateHostExtras, type TemplateInstallPlan, type TemplateMadeKind, TemplateMergeBinding, TemplateNotification, type TemplatePlanAgent, type TemplatePlanBinding, type TemplatePlanDoor, type TemplatePlanExtraAgent, type TemplatePlanStep, TemplatePortal, TemplateRowAction, TemplateSpec, type TemplateSpecWithAttachments, TemplateStageRules, type TemplateStatus, TemplateTable, TemplateTryIt, type TemplateUpgradeAnswer, type TemplateUpgradeHint, type TemplateUpgradeRun, type TemplateVerdict, TemplateView, TemplateWorkflow, type ValidateOptions, agentCopyRequest, allTables, anyOfWhere, assertTemplate, attachmentProblems, automationHeld, blockTable, bookingArgs, bookingColumnsProblem, capabilitiesUsed, capabilityStatus, checklistSpec, choiceDisplayFormat, compileHostExtras, compileInstallPlan, dashboardBlocks, deferredRelationFields, deferredRelations, derivedFieldSpec, digestSpec, documentBody, domainsIn, drillDownDashboard, evalFormula, extrasProblems, foreignTextProblems, formArgs, formulaFieldSpec, formulaOrder, formulaRefs, foundationTokens, isSelfDeclaredField, isTimedField, normalizeForPhones, notificationParts, numberText, numberedStreet, parseFormula, parseNumeric, peopleOf, phonesOutsideFictionalRange, planTables, portalArgs, relationFieldSpec, relationPatches, relativeHasTime, requiredCircleProblem, resolveDateToken, resolveRelativeDates, rowActionList, rowLevels, rowsFor, ruleBreak, runTemplateDoor, selfDeclaredFieldSpec, sensitivityFloorOf, shellsPayload, stageFieldOf, stageRulesSpec, storeAggregate, storeFilterMatches, storeText, tableShellPayload, templateCard, templateDeclaration, templateText, templateUpgradeHint, timedFieldSpec, toUseCase, unwrap, upgradeTemplateInstall, useCaseProblemsOf, validateTemplate, viewMatches, viewSpec, zoneOffset };
660
+ /** One table of the plan's skeleton: every name S2, S3 and S4 must agree on. */
661
+ interface DescribePlanTable {
662
+ token: string;
663
+ name: string;
664
+ labelSingular: string;
665
+ subject: "person" | "animal" | "thing";
666
+ /** One line: why the business needs it. */
667
+ purpose: string;
668
+ titleField: {
669
+ key: string;
670
+ label: string;
671
+ };
672
+ /** The organization's own table this one IS (keys that already exist are kept verbatim). */
673
+ reuse?: {
674
+ existing_table_id: string;
675
+ keepKeys: string[];
676
+ };
677
+ /** The flow, in order. The field is keyed `status`. */
678
+ status?: {
679
+ choices: string[];
680
+ default: string;
681
+ };
682
+ /** Booking lands here: a required `slot` datetime. */
683
+ slot?: true;
684
+ /** The child holds the single link. */
685
+ links: Array<{
686
+ key: string;
687
+ label: string;
688
+ target: string;
689
+ many: boolean;
690
+ }>;
691
+ /** 3–8 plain facts the work needs ("amount", "address"). */
692
+ mustHave: string[];
693
+ }
694
+ interface DescribePlanDoor {
695
+ kind: "form" | "booking";
696
+ table: string;
697
+ audience: "public" | "staff" | "member";
698
+ purpose: string;
699
+ }
700
+ /** S1 output. */
701
+ interface DescribePlan {
702
+ business: {
703
+ name: string;
704
+ describes: string;
705
+ timezone: string;
706
+ };
707
+ id: string;
708
+ useCase: string;
709
+ industry: IndustryGroup;
710
+ vertical: string;
711
+ job: TemplateJob;
712
+ teaches: TeachesFeature;
713
+ audience: "organization" | "individual";
714
+ tables: DescribePlanTable[];
715
+ doors: DescribePlanDoor[];
716
+ views: Array<{
717
+ kind: TemplateViewKind;
718
+ table: string;
719
+ why: string;
720
+ }>;
721
+ booking?: {
722
+ visit: string;
723
+ minutes: number;
724
+ windows: TemplateBookingWindow[];
725
+ source: "org_hours" | "assumed";
726
+ };
727
+ leaveOut: string[];
728
+ assumptions: string[];
729
+ }
730
+ /** S2 output. */
731
+ interface TablesPart {
732
+ tables: TemplateTable[];
733
+ relationships: UseCaseRelationship[];
734
+ }
735
+ /** A field S3 needs and asks the merge to add (skipped when the key already exists). */
736
+ interface FieldRequest {
737
+ table: string;
738
+ key: string;
739
+ label: string;
740
+ parityType: string;
741
+ choices?: string[];
742
+ askOfSubject?: boolean;
743
+ askOfGuardian?: boolean;
744
+ required?: boolean;
745
+ help?: string;
746
+ }
747
+ /** S3 output. */
748
+ interface DoorsPart {
749
+ forms: TemplateForm[];
750
+ booking?: TemplateBooking;
751
+ fieldRequests: FieldRequest[];
752
+ }
753
+ /** S4 output. */
754
+ interface ViewsPart {
755
+ views: TemplateView[];
756
+ }
757
+ /** S6 output: a patch list. `path` names a piece of the spec; `set` is merged onto it. */
758
+ interface RepairPatch {
759
+ /** "tables.visit.fields.pain_level" · "tables.visit" · "forms.intake.fields.phone" · "extras.booking" · "views.<token>" */
760
+ path: string;
761
+ set: Record<string, unknown>;
762
+ }
763
+ interface RepairAnswer {
764
+ patches: RepairPatch[];
765
+ notes?: string[];
766
+ }
767
+ /** What a check says is wrong: the validator's own words, verbatim. */
768
+ interface DescribeProblem {
769
+ at: string;
770
+ says: string;
771
+ }
772
+ /** The organization's own table, as the mandate's `existing_tables` variable carries it. */
773
+ interface ExistingTable {
774
+ id: string;
775
+ name: string;
776
+ fields: Array<{
777
+ key: string;
778
+ label: string;
779
+ kind: string;
780
+ choices?: string[];
781
+ }>;
782
+ }
783
+ /** What the code steps may know beyond the spec. All optional: a bare spec is checked on its own. */
784
+ interface DescribeCtx {
785
+ plan?: DescribePlan;
786
+ existingTables?: ExistingTable[];
787
+ }
788
+ /** S7: the answer the frontend's describe box already reads. */
789
+ interface DescribeResult {
790
+ __kind: "describe_template_result";
791
+ template: Record<string, unknown>;
792
+ notes: string[];
793
+ reuses: Array<{
794
+ token: string;
795
+ existing_table_id: string;
796
+ }>;
797
+ }
798
+
799
+ /** Keys only a gallery card carries; a describe spec never sends them to the check. */
800
+ declare const GALLERY_ONLY: string[];
801
+ /**
802
+ * The spec as the check reads it: the mandate's template with the lists the shape always has defaulted
803
+ * (an omitted empty list is not a defect) and every gallery-only key taken off.
804
+ */
805
+ declare function describeSpec(template: Record<string, unknown>): TemplateSpec;
806
+
807
+ /** The deterministic default view of one table: kanban by status, else calendar by slot, else grid by title. */
808
+ declare function fallbackView(t: {
809
+ token: string;
810
+ name?: unknown;
811
+ titleField?: unknown;
812
+ fields: Array<{
813
+ key: string;
814
+ parityType: string;
815
+ }>;
816
+ }): TemplateView;
817
+ /** The plan's reuse decisions, in the shape the frontend's bindReuses takes. */
818
+ declare function reusesOf(plan: DescribePlan): Array<{
819
+ token: string;
820
+ existing_table_id: string;
821
+ }>;
822
+ /**
823
+ * S5 step 1 and assembly. `doors` and `views` may be missing (a failed step): the views fall back to the default, the
824
+ * forms stay empty (a missing front door is for the check to say, never for code to invent).
825
+ */
826
+ declare function mergeDescribeParts(plan: DescribePlan, tables: TablesPart, doors: DoorsPart | null | undefined, views: ViewsPart | null | undefined, existingTables?: ExistingTable[]): TemplateSpec;
827
+
828
+ interface AutofixResult {
829
+ spec: TemplateSpec;
830
+ autoFixes: string[];
831
+ }
832
+ interface DescribeCheckResult extends AutofixResult {
833
+ problems: DescribeProblem[];
834
+ }
835
+ /** S5 steps 2–9. Never mutates its input. */
836
+ declare function autofixDescribeSpec(input: TemplateSpec | Record<string, unknown>, ctx?: DescribeCtx): AutofixResult;
837
+ /** S5 whole: autofix, then the describe-profile check. */
838
+ declare function describeCheck(spec: TemplateSpec | Record<string, unknown>, ctx?: DescribeCtx): DescribeCheckResult;
839
+
840
+ type Rec = Record<string, unknown>;
841
+ /**
842
+ * "tables (visit).fields (pain_level).rules" → [{root:"tables",id:"visit"},{root:"fields",id:"pain_level"},{root:"rules"}].
843
+ * A piece the validator could only name by position ("views[1] (undefined)", "forms[0]") gets the id "#1" / "#0": the
844
+ * place in its list, which resolvePath reads. (A missing name is never an id.)
845
+ */
846
+ declare function parseAt(at: string): Array<{
847
+ root: string;
848
+ id?: string;
849
+ }>;
850
+ /** The repair path a problem's `at` points at: the deepest piece that can be patched. Never a path that resolves to nothing for a piece that exists. */
851
+ declare function pathOfAt(at: string): string;
852
+ /** The object a repair path names, inside `spec` (not a copy). */
853
+ declare function resolvePath(spec: TemplateSpec, path: string): Rec | undefined;
854
+ interface RepairSlice {
855
+ /** The repair path a patch for this slice would use. */
856
+ path: string;
857
+ /** The JSON the problems point at. Never the whole spec. */
858
+ slice: unknown;
859
+ problems: DescribeProblem[];
860
+ }
861
+ /**
862
+ * The minimal slices S6's agent is sent: for each distinct piece the problems point at, that piece's JSON and the
863
+ * problems' own words. A table-level problem gets the table with its fields indexed; a field-level problem, only that field.
864
+ */
865
+ declare function repairSlices(spec: TemplateSpec, problems: DescribeProblem[]): RepairSlice[];
866
+ interface ApplyResult {
867
+ spec: TemplateSpec;
868
+ /** Paths that landed. */
869
+ applied: string[];
870
+ /** Paths that did not, with why (an unknown piece, or a patch that tried to rename). */
871
+ skipped: Array<{
872
+ path: string;
873
+ why: string;
874
+ }>;
875
+ }
876
+ /**
877
+ * Apply S6's patch list: each `set` is merged (shallow, `null` removes a key) onto the piece its `path` names. A key, token
878
+ * or fieldKey is never changed (references would break). A field or question that does not exist yet is ADDED when the patch
879
+ * carries what makes one (label + parityType for a field, `ask` for a question). Never mutates its input.
880
+ */
881
+ declare function applyRepairPatches(input: TemplateSpec, patches: RepairPatch[]): ApplyResult;
882
+ interface TrimResult {
883
+ spec: TemplateSpec;
884
+ /** One line per piece left out, for the notes. */
885
+ notes: string[];
886
+ }
887
+ /**
888
+ * The deterministic last resort when repair did not clear a problem: leave out the offending OPTIONAL piece, with a note —
889
+ * a view, a help text, a question the field does not require. Anything else stays a problem (the honest failure).
890
+ */
891
+ declare function lastResortTrim(input: TemplateSpec, problems: DescribeProblem[]): TrimResult;
892
+
893
+ /**
894
+ * S7. Notes: the plan's assumptions, what it left out, then the auto-fixes that changed the setup, then `extraNotes`
895
+ * (what a last-resort trim left out). Capped at 7 lines. `reuses` keeps only tokens the spec has.
896
+ */
897
+ declare function packageDescribeResult(spec: TemplateSpec, plan: Pick<DescribePlan, "assumptions" | "leaveOut"> | undefined, autoFixes: string[], reuses: Array<{
898
+ token: string;
899
+ existing_table_id: string;
900
+ }>, extraNotes?: string[]): DescribeResult;
901
+
902
+ /** Each booking availability key: what it means and the type the install door takes. */
903
+ declare const BOOKING_AVAILABILITY_FACTS: Record<string, string>;
904
+ /** What a view is made of. */
905
+ declare const VIEW_SHAPE_FACTS: {
906
+ readonly token: "snake_case, unique among every view, form and extra — always written";
907
+ readonly name: "what a person clicks, such as \"Intake board\"";
908
+ readonly table: "the token of one of the template's tables";
909
+ readonly kind: readonly ["grid", "kanban", "calendar", "gallery", "timeline"];
910
+ readonly groupBy: "kanban only, required: the key of a select field whose choices become the columns";
911
+ readonly dateField: "calendar only, required: the key of a datetime field";
912
+ readonly startField_endField: "timeline only, required: keys of two datetime fields";
913
+ readonly coverField: "gallery only, required: the key of a file field";
914
+ };
915
+ /** The store's closed lists, as the mandate's `vocabulary` value — read from the package, never typed by a caller. */
916
+ declare function describeVocabulary(): Record<string, unknown>;
917
+
918
+ export { AgentSnapshotRow, type AggregateOutcome, type ApplyResult, type AutofixResult, BAD_OUTCOME, BOOKING_AVAILABILITY_FACTS, type CapabilityStatus, CapabilityWord, DESIGNATED_REAL_NUMBERS, type DerivedUseCase, type DescribeCheckResult, type DescribeCtx, type DescribePlan, type DescribePlanDoor, type DescribePlanTable, type DescribeProblem, type DescribeResult, type DoorsPart, type ExistingTable, FORMULA_FUNCTIONS, type FieldRequest, GALLERY_ONLY, GOOD_OUTCOME, INSTALL_PLAN_VERSION, IndustryGroup, MAIN_TABLE_ROWS_MAX, MAIN_TABLE_ROWS_MIN, PUBLIC_MAIL_DOMAINS, RECORDS_UI_CALENDAR_MODES, RECORDS_UI_FIELD_SURFACES, RECORDS_UI_VIEW_LAYOUTS, type RepairAnswer, type RepairPatch, type RepairSlice, SERVER_DATE_GRAMMAR, type SeedRow, SharedBlockId, TABLES_MAX, TABLES_MIN, TEMPLATE_PLAN_DOORS, TIME_BOUND_STAGE, TITLE_DISTINCT_SHARE, type TablesPart, TeachesFeature, TemplateAgent, type TemplateAgentBinding, type TemplateAgentCopyRequest, type TemplateAssetRow, type TemplateAttachment, TemplateAutomation, TemplateBooking, TemplateBookingWindow, type TemplateCard, TemplateChecklist, TemplateDashboard, type TemplateDeclaration, TemplateDigest, TemplateDimensions, TemplateDocument, type TemplateDoorAnswer, type TemplateDoorRun, TemplateDrillDown, type TemplateFamilyDoor, TemplateField, TemplateFootprint, TemplateForm, type TemplateHostExtras, type TemplateInstallPlan, TemplateJob, type TemplateMadeKind, TemplateMergeBinding, TemplateNotification, type TemplatePlanAgent, type TemplatePlanBinding, type TemplatePlanDoor, type TemplatePlanExtraAgent, type TemplatePlanStep, TemplatePortal, TemplateRowAction, TemplateSpec, type TemplateSpecWithAttachments, TemplateStageRules, type TemplateStatus, TemplateTable, TemplateTryIt, type TemplateUpgradeAnswer, type TemplateUpgradeHint, type TemplateUpgradeRun, type TemplateVerdict, TemplateView, TemplateViewKind, TemplateWorkflow, type TrimResult, VIEW_SHAPE_FACTS, type ValidateOptions, type ViewsPart, agentCopyRequest, allTables, anyOfWhere, applyRepairPatches, assertTemplate, attachmentProblems, autofixDescribeSpec, automationHeld, blockTable, bookingArgs, bookingColumnsProblem, capabilitiesUsed, capabilityStatus, checklistSpec, choiceDisplayFormat, compileHostExtras, compileInstallPlan, dashboardBlocks, deferredRelationFields, deferredRelations, derivedFieldSpec, describeCheck, describeSpec, describeVocabulary, digestSpec, documentBody, domainsIn, drillDownDashboard, evalFormula, extrasProblems, fallbackView, foreignTextProblems, formArgs, formulaFieldSpec, formulaOrder, formulaRefs, foundationTokens, isSelfDeclaredField, isTimedField, lastResortTrim, mergeDescribeParts, normalizeForPhones, notificationParts, numberText, numberedStreet, packageDescribeResult, parseAt, parseFormula, parseNumeric, pathOfAt, peopleOf, phonesOutsideFictionalRange, planTables, portalArgs, relationFieldSpec, relationPatches, relativeHasTime, repairSlices, requiredCircleProblem, resolveDateToken, resolvePath, resolveRelativeDates, reusesOf, rowActionList, rowLevels, rowsFor, ruleBreak, runTemplateDoor, selfDeclaredFieldSpec, sensitivityFloorOf, shellsPayload, stageFieldOf, stageRulesSpec, storeAggregate, storeFilterMatches, storeText, tableShellPayload, templateCard, templateDeclaration, templateText, templateUpgradeHint, timedFieldSpec, toUseCase, unwrap, upgradeTemplateInstall, useCaseProblemsOf, validateTemplate, viewMatches, viewSpec, zoneOffset };