@ai-matrx/records 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { Timestamp, Uuid, RelationCoordinate, RecordsConfig, RecordDocument, RecordsResult, RecordRead, ReadRow, Table, Field, StoredRecord, TableCapacity, NewFieldDeclaration, FieldPatch, EntityTableFacts, NewEntityFieldDeclaration, EntityFieldRights, EntityRecordRead, EntityRecordsFound, FormSummary, ImportPlan, ImportPolicy, ImportOpened, ImportBatchResult, ImportFinished, ImportReport, ImportRun, InboundDeclared, InboundAddress, PortalSummary, PortalCard, PortalInvitation, PortalRevocation, PortalPreviewRow, DashboardSummary, DashboardBlock, AggregateFilter, DashboardRunResult, StuckRow, AggregateMeasure, AggregateBucket, AggregateRow, Subscription, MySubscription, DocToken, DocUnresolvedToken, DocTemplateRow, DocRenderRow, DocSignatureRow, RecordRevision, RecordHistoryEntry, RecordScopeContext, ConversationScope, ConversationScopeContext, FieldHistoryEntry, RestorePreview, RestoreResult, CommentThreadRead, CommentWritten, ReadValue, AnonTokenBinding, WorkState, WorkGraph, WorkInstantiation, WorkTurn, WorkAssignmentField, WorkSlotHold, WorkInboxItem, WorkListFlavour, WorkListItem, WorkAssignment, WorkRecordState, WorkApprover, WorkChange, WorkApprovalFiled, WorkApprovalDecision, ExternalPrincipalCard, PublishBinding, ResolvedPublishBinding, FieldProposal, TableProposal, MyLevel, RecordsError, WriteConflict, PgError, RecordsDataSource, StaleWriteDetail, PredictedRefusal } from '../index.cjs';
2
- export { ABSENCE_REASONS, ACTOR_VOCABULARY, AbsenceReason, Actor, AggregateOperation, AggregateWindow, COMPUTE_ON, CONTEXT_POLICIES, ChoiceOption, ComputeOn, ContextPolicy, CustomFieldTableType, DELIVERIES, DashboardBlockKind, DashboardBlockResult, Delivery, DocSignatureCheck, ENTITY_TOKENS, EntityFieldValue, EntityRecordMatch, EntityToken, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, FieldBehavior, FieldRule, FieldSensitivity, FieldSource, FieldTypeWord, ForbiddenEnvelopeWord, Freshness, HiddenFieldNotice, HistoryActor, HistoryActorKind, HistoryChange, Home, ImportColumnPlan, ImportOutcome, ImportProposal, KERNEL_TABLES, KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, MergeField, MergeFieldModifier, MergeFieldProvenance, MergeFieldResolution, MergeFieldSemanticType, MergeFieldSource, MergeFieldTransform, MissingBehavior, ON_DELETE, OVERRIDE_POLICIES, OnDelete, OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, ParityFieldType, ParityFieldTypeDescriptor, PerValueAccessWord, PermissionLevel, PortalPrincipal, PortalTableExposure, ProvenancePointer, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, RecordComment, RecordScopeComment, RecordScopeField, RecordScopeHistoryEntry, RecordScopeRelation, RecordScopeWithheld, RecordsActor, RecordsErrorCode, RecordsErrorSink, RecordsFilter, RecordsRealtimePort, RecordsResolverPort, RecordsResponse, RecordsTableQuery, RegisteredTable, Relation, RelationBinding, RelationCardinality, RelationCarries, RelationFlavor, RelationProperties, RelationTarget, ResolutionTriple, RetiredActorWord, Rule, RuleAnswer, RuleExpression, RuleNodeKind, RuleUse, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, StorageMode, StoreDoorName, StoreRefusalCode, SubscriptionBlock, SubscriptionCadence, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, TableDisplay, TableOrigin, TableType, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, ValueAlternate, ValueAlternateKey, ValueEnvelope, ValueEnvelopeKey, ValueSource, WorkDueState, WorkInboxKind, WorkOrigin, WorkTemplateNode, WorkTemplateRelation, asPermissionLevel, atLeast, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, isRecordsErr, isTheChosen, looksLikeAnId, measureKey, ok, optionKey, optionLabel, portalPath, publicFormPath, scopeChip } from '../index.cjs';
1
+ import { Timestamp, Uuid, RelationCoordinate, RecordsConfig, RecordDocument, RecordsResult, RecordRead, ReadRow, Table, Field, StoredRecord, TableCapacity, NewFieldDeclaration, FieldPatch, EntityTableFacts, NewEntityFieldDeclaration, EntityFieldRights, EntityRecordRead, EntityRecordsFound, FormSummary, ImportPlan, ImportPolicy, ImportOpened, ImportBatchResult, ImportFinished, ImportReport, ImportRun, InboundDeclared, InboundAddress, PortalSummary, PortalCard, PortalInvitation, PortalRevocation, PortalPreviewRow, DashboardSummary, DashboardBlock, AggregateFilter, DashboardRunResult, StuckRow, AggregateMeasure, AggregateBucket, AggregateRow, Subscription, MySubscription, DocToken, DocUnresolvedToken, DocTemplateRow, DocRenderRow, DocSignatureRow, RecordRevision, RecordHistoryEntry, RecordScopeContext, ConversationScope, ConversationScopeContext, FieldHistoryEntry, RestorePreview, RestoreResult, CommentThreadRead, CommentWritten, ReadValue, AnonTokenBinding, ChecklistSpec, ChecklistDeclared, ChecklistTemplateSummary, ChecklistTemplateShape, ChecklistRunStarted, ChecklistRunStep, ChecklistRunSummary, ChecklistStepCompleted, WorkState, WorkGraph, WorkInstantiation, WorkTurn, WorkAssignmentField, WorkSlotHold, WorkInboxItem, WorkListFlavour, WorkListItem, WorkAssignment, WorkRecordState, WorkApprover, WorkChange, WorkApprovalFiled, WorkApprovalDecision, ExternalPrincipalCard, PublishBinding, ResolvedPublishBinding, FieldProposal, TableProposal, MyLevel, RecordsError, WriteConflict, PgError, RecordsDataSource, StaleWriteDetail, PredictedRefusal } from '../index.cjs';
2
+ export { ABSENCE_REASONS, ACTOR_VOCABULARY, AbsenceReason, Actor, AggregateOperation, AggregateWindow, COMPUTE_ON, CONTEXT_POLICIES, ChecklistRequirement, ChecklistRequirementKind, ChecklistRoleSpec, ChecklistStepSpec, ChecklistTrigger, ChecklistTriggerKind, ChoiceOption, ComputeOn, ContextPolicy, CustomFieldTableType, DELIVERIES, DashboardBlockKind, DashboardBlockResult, Delivery, DocSignatureCheck, ENTITY_TOKENS, EntityFieldValue, EntityRecordMatch, EntityToken, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, FieldBehavior, FieldRule, FieldSensitivity, FieldSource, FieldTypeWord, ForbiddenEnvelopeWord, Freshness, HiddenFieldNotice, HistoryActor, HistoryActorKind, HistoryChange, Home, ImportColumnPlan, ImportOutcome, ImportProposal, KERNEL_TABLES, KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, MergeField, MergeFieldModifier, MergeFieldProvenance, MergeFieldResolution, MergeFieldSemanticType, MergeFieldSource, MergeFieldTransform, MissingBehavior, ON_DELETE, OVERRIDE_POLICIES, OnDelete, OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, ParityFieldType, ParityFieldTypeDescriptor, PerValueAccessWord, PermissionLevel, PortalPrincipal, PortalTableExposure, ProvenancePointer, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, RecordComment, RecordScopeComment, RecordScopeField, RecordScopeHistoryEntry, RecordScopeRelation, RecordScopeWithheld, RecordsActor, RecordsErrorCode, RecordsErrorSink, RecordsFilter, RecordsRealtimePort, RecordsResolverPort, RecordsResponse, RecordsTableQuery, RegisteredTable, Relation, RelationBinding, RelationCardinality, RelationCarries, RelationFlavor, RelationProperties, RelationTarget, ResolutionTriple, RetiredActorWord, Rule, RuleAnswer, RuleExpression, RuleNodeKind, RuleUse, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, StorageMode, StoreDoorName, StoreRefusalCode, SubscriptionBlock, SubscriptionCadence, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, TableDisplay, TableOrigin, TableType, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, ValueAlternate, ValueAlternateKey, ValueEnvelope, ValueEnvelopeKey, ValueSource, WorkDueState, WorkInboxKind, WorkOrigin, WorkTemplateNode, WorkTemplateRelation, asPermissionLevel, atLeast, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, isRecordsErr, isTheChosen, looksLikeAnId, measureKey, ok, optionKey, optionLabel, portalPath, publicFormPath, scopeChip } from '../index.cjs';
3
3
 
4
4
  /**
5
5
  * DOOR-8. As-of on EITHER clock, and they are different questions:
@@ -763,6 +763,67 @@ interface RecordsClient {
763
763
  form_id: Uuid;
764
764
  published?: boolean;
765
765
  }): Promise<RecordsResult<Timestamp | null>>;
766
+ /**
767
+ * What is wrong with a checklist somebody is writing, in the words they would
768
+ * use. `null` means it is fine. Pure — it reads no row and writes nothing —
769
+ * so an editor may ask it on every keystroke and the refusal arrives BEFORE
770
+ * the save rather than after it.
771
+ */
772
+ checklistRefusal(args: {
773
+ spec: ChecklistSpec;
774
+ }): Promise<RecordsResult<string | null>>;
775
+ /**
776
+ * Store a checklist, whole: ordered steps, who each belongs to by role, how
777
+ * many days in each is due, what each waits for, what each asks for, and what
778
+ * starts a run. Pass `template_id` to change the checklist that already
779
+ * exists rather than making a second one.
780
+ */
781
+ checklistDeclare(args: {
782
+ spec: ChecklistSpec;
783
+ template_id?: Uuid | null;
784
+ }): Promise<RecordsResult<ChecklistDeclared>>;
785
+ checklistTemplates(args?: {
786
+ about_table_id?: Uuid | null;
787
+ limit?: number;
788
+ }): Promise<RecordsResult<ChecklistTemplateSummary[]>>;
789
+ checklistTemplateShape(args: {
790
+ template_id: Uuid;
791
+ }): Promise<RecordsResult<ChecklistTemplateShape>>;
792
+ /**
793
+ * Run a checklist for one record: one work item per step in the ONE work
794
+ * layer, assigned by role to real people, dated from the offsets,
795
+ * dependencies carried across. `roles` names who stands in each role for THIS
796
+ * run, over whatever the checklist says by default.
797
+ */
798
+ checklistStart(args: {
799
+ template_id: Uuid;
800
+ about_record_id?: Uuid | null;
801
+ roles?: Record<string, Uuid>;
802
+ startingAt?: Timestamp | null;
803
+ }): Promise<RecordsResult<ChecklistRunStarted>>;
804
+ checklistRun(args: {
805
+ run_id: Uuid;
806
+ }): Promise<RecordsResult<ChecklistRunStep[]>>;
807
+ checklistRuns(args?: {
808
+ about_table_id?: Uuid | null;
809
+ about_record_id?: Uuid | null;
810
+ includeClosed?: boolean;
811
+ limit?: number;
812
+ }): Promise<RecordsResult<ChecklistRunSummary[]>>;
813
+ /**
814
+ * Tick a step off with whatever it asked for. Refused by name while a step it
815
+ * waits for is open, or while what it asks for is missing — and the same
816
+ * refusal meets `workSetState`, because the rule lives in the store and not
817
+ * in this door.
818
+ */
819
+ checklistStepComplete(args: {
820
+ step_id: Uuid;
821
+ evidence?: Record<string, unknown>;
822
+ }): Promise<RecordsResult<ChecklistStepCompleted>>;
823
+ /** Why this step cannot be finished right now. `null` means it can. */
824
+ checklistStepRefusal(args: {
825
+ step_id: Uuid;
826
+ }): Promise<RecordsResult<string | null>>;
766
827
  /** The five states and what each one may become. Asked, never hardcoded in a picker. */
767
828
  workStates(): Promise<RecordsResult<WorkState[]>>;
768
829
  /** Why this graph would be refused — asked BEFORE it is written. `null` means it is fine. */
@@ -1149,6 +1210,15 @@ declare const DOORS: {
1149
1210
  readonly workApprovalMayDecide: "work_approval_may_decide";
1150
1211
  readonly workApprovalDecide: "work_approval_decide";
1151
1212
  readonly workApprovalRead: "work_approval_read";
1213
+ readonly checklistRefusal: "checklist_refusal";
1214
+ readonly checklistDeclare: "checklist_declare";
1215
+ readonly checklistTemplates: "checklist_templates";
1216
+ readonly checklistTemplateShape: "checklist_template_shape";
1217
+ readonly checklistStart: "checklist_start";
1218
+ readonly checklistRun: "checklist_run";
1219
+ readonly checklistRuns: "checklist_runs";
1220
+ readonly checklistStepComplete: "checklist_step_complete";
1221
+ readonly checklistStepRefusal: "checklist_step_refusal";
1152
1222
  readonly metadataSearch: "metadata_search";
1153
1223
  readonly ruleDeclare: "rule_declare";
1154
1224
  readonly fieldPropose: "field_propose";
@@ -1269,4 +1339,4 @@ declare function parseCsv(text: string): string[][];
1269
1339
  declare function importCsv(fields: Field[], text: string): ParsedImport;
1270
1340
  declare function importXlsx(fields: Field[], bytes: ArrayBuffer | Uint8Array): Promise<ParsedImport>;
1271
1341
 
1272
- export { AggregateBucket, AggregateFilter, AggregateMeasure, AggregateRow, AnonTokenBinding, type AsOf, CommentThreadRead, CommentWritten, ConversationScope, ConversationScopeContext, DEFAULT_DOCUMENT_MAX_BYTES, DEFAULT_PAGE_SIZE, DEFAULT_VALUE_MAX_BYTES, DOORS, DashboardBlock, DashboardRunResult, DashboardSummary, DocRenderRow, DocSignatureRow, DocTemplateRow, DocToken, DocUnresolvedToken, type DoorKey, EntityFieldRights, EntityRecordRead, EntityRecordsFound, EntityTableFacts, type ExportRow, ExternalPrincipalCard, Field, FieldHistoryEntry, FieldPatch, FieldProposal, FormSummary, ImportBatchResult, ImportFinished, ImportOpened, ImportPlan, ImportPolicy, ImportReport, ImportRun, InboundAddress, InboundDeclared, MAPPED_SQLSTATES, type MirrorLimits, MyLevel, MySubscription, NewEntityFieldDeclaration, NewFieldDeclaration, type ParsedImport, PgError, PortalCard, PortalInvitation, PortalPreviewRow, PortalRevocation, PortalSummary, PredictedRefusal, type PromotedPredicate, PublishBinding, type QueryPlan, ReadRow, ReadValue, RecordDocument, RecordHistoryEntry, type RecordQuery, RecordRead, RecordRevision, RecordScopeContext, type RecordsClient, RecordsConfig, RecordsDataSource, RecordsError, RecordsResult, RelationCoordinate, ResolvedPublishBinding, RestorePreview, RestoreResult, StaleWriteDetail, StoredRecord, StuckRow, Subscription, type SupabaseLike, Table, TableCapacity, TableProposal, Timestamp, Uuid, WorkApprovalDecision, WorkApprovalFiled, WorkApprover, WorkAssignment, WorkAssignmentField, WorkChange, WorkGraph, WorkInboxItem, WorkInstantiation, WorkListFlavour, WorkListItem, WorkRecordState, WorkSlotHold, WorkState, WorkTurn, WriteConflict, asWriteConflict, cellText, createRecordsClient, doorAbsent, doorCensus, doorExists, exportCsv, exportXlsx, importCsv, importXlsx, intersectIds, mapPgError, parseCsv, planQuery, predictEnvelopeRefusal, predictSizeRefusal, predictValueRefusals, predictWriteRefusals, staleWriteDetail, supabaseDataSource, toAoa };
1342
+ export { AggregateBucket, AggregateFilter, AggregateMeasure, AggregateRow, AnonTokenBinding, type AsOf, ChecklistDeclared, ChecklistRunStarted, ChecklistRunStep, ChecklistRunSummary, ChecklistSpec, ChecklistStepCompleted, ChecklistTemplateShape, ChecklistTemplateSummary, CommentThreadRead, CommentWritten, ConversationScope, ConversationScopeContext, DEFAULT_DOCUMENT_MAX_BYTES, DEFAULT_PAGE_SIZE, DEFAULT_VALUE_MAX_BYTES, DOORS, DashboardBlock, DashboardRunResult, DashboardSummary, DocRenderRow, DocSignatureRow, DocTemplateRow, DocToken, DocUnresolvedToken, type DoorKey, EntityFieldRights, EntityRecordRead, EntityRecordsFound, EntityTableFacts, type ExportRow, ExternalPrincipalCard, Field, FieldHistoryEntry, FieldPatch, FieldProposal, FormSummary, ImportBatchResult, ImportFinished, ImportOpened, ImportPlan, ImportPolicy, ImportReport, ImportRun, InboundAddress, InboundDeclared, MAPPED_SQLSTATES, type MirrorLimits, MyLevel, MySubscription, NewEntityFieldDeclaration, NewFieldDeclaration, type ParsedImport, PgError, PortalCard, PortalInvitation, PortalPreviewRow, PortalRevocation, PortalSummary, PredictedRefusal, type PromotedPredicate, PublishBinding, type QueryPlan, ReadRow, ReadValue, RecordDocument, RecordHistoryEntry, type RecordQuery, RecordRead, RecordRevision, RecordScopeContext, type RecordsClient, RecordsConfig, RecordsDataSource, RecordsError, RecordsResult, RelationCoordinate, ResolvedPublishBinding, RestorePreview, RestoreResult, StaleWriteDetail, StoredRecord, StuckRow, Subscription, type SupabaseLike, Table, TableCapacity, TableProposal, Timestamp, Uuid, WorkApprovalDecision, WorkApprovalFiled, WorkApprover, WorkAssignment, WorkAssignmentField, WorkChange, WorkGraph, WorkInboxItem, WorkInstantiation, WorkListFlavour, WorkListItem, WorkRecordState, WorkSlotHold, WorkState, WorkTurn, WriteConflict, asWriteConflict, cellText, createRecordsClient, doorAbsent, doorCensus, doorExists, exportCsv, exportXlsx, importCsv, importXlsx, intersectIds, mapPgError, parseCsv, planQuery, predictEnvelopeRefusal, predictSizeRefusal, predictValueRefusals, predictWriteRefusals, staleWriteDetail, supabaseDataSource, toAoa };
@@ -1,5 +1,5 @@
1
- import { Timestamp, Uuid, RelationCoordinate, RecordsConfig, RecordDocument, RecordsResult, RecordRead, ReadRow, Table, Field, StoredRecord, TableCapacity, NewFieldDeclaration, FieldPatch, EntityTableFacts, NewEntityFieldDeclaration, EntityFieldRights, EntityRecordRead, EntityRecordsFound, FormSummary, ImportPlan, ImportPolicy, ImportOpened, ImportBatchResult, ImportFinished, ImportReport, ImportRun, InboundDeclared, InboundAddress, PortalSummary, PortalCard, PortalInvitation, PortalRevocation, PortalPreviewRow, DashboardSummary, DashboardBlock, AggregateFilter, DashboardRunResult, StuckRow, AggregateMeasure, AggregateBucket, AggregateRow, Subscription, MySubscription, DocToken, DocUnresolvedToken, DocTemplateRow, DocRenderRow, DocSignatureRow, RecordRevision, RecordHistoryEntry, RecordScopeContext, ConversationScope, ConversationScopeContext, FieldHistoryEntry, RestorePreview, RestoreResult, CommentThreadRead, CommentWritten, ReadValue, AnonTokenBinding, WorkState, WorkGraph, WorkInstantiation, WorkTurn, WorkAssignmentField, WorkSlotHold, WorkInboxItem, WorkListFlavour, WorkListItem, WorkAssignment, WorkRecordState, WorkApprover, WorkChange, WorkApprovalFiled, WorkApprovalDecision, ExternalPrincipalCard, PublishBinding, ResolvedPublishBinding, FieldProposal, TableProposal, MyLevel, RecordsError, WriteConflict, PgError, RecordsDataSource, StaleWriteDetail, PredictedRefusal } from '../index.js';
2
- export { ABSENCE_REASONS, ACTOR_VOCABULARY, AbsenceReason, Actor, AggregateOperation, AggregateWindow, COMPUTE_ON, CONTEXT_POLICIES, ChoiceOption, ComputeOn, ContextPolicy, CustomFieldTableType, DELIVERIES, DashboardBlockKind, DashboardBlockResult, Delivery, DocSignatureCheck, ENTITY_TOKENS, EntityFieldValue, EntityRecordMatch, EntityToken, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, FieldBehavior, FieldRule, FieldSensitivity, FieldSource, FieldTypeWord, ForbiddenEnvelopeWord, Freshness, HiddenFieldNotice, HistoryActor, HistoryActorKind, HistoryChange, Home, ImportColumnPlan, ImportOutcome, ImportProposal, KERNEL_TABLES, KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, MergeField, MergeFieldModifier, MergeFieldProvenance, MergeFieldResolution, MergeFieldSemanticType, MergeFieldSource, MergeFieldTransform, MissingBehavior, ON_DELETE, OVERRIDE_POLICIES, OnDelete, OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, ParityFieldType, ParityFieldTypeDescriptor, PerValueAccessWord, PermissionLevel, PortalPrincipal, PortalTableExposure, ProvenancePointer, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, RecordComment, RecordScopeComment, RecordScopeField, RecordScopeHistoryEntry, RecordScopeRelation, RecordScopeWithheld, RecordsActor, RecordsErrorCode, RecordsErrorSink, RecordsFilter, RecordsRealtimePort, RecordsResolverPort, RecordsResponse, RecordsTableQuery, RegisteredTable, Relation, RelationBinding, RelationCardinality, RelationCarries, RelationFlavor, RelationProperties, RelationTarget, ResolutionTriple, RetiredActorWord, Rule, RuleAnswer, RuleExpression, RuleNodeKind, RuleUse, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, StorageMode, StoreDoorName, StoreRefusalCode, SubscriptionBlock, SubscriptionCadence, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, TableDisplay, TableOrigin, TableType, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, ValueAlternate, ValueAlternateKey, ValueEnvelope, ValueEnvelopeKey, ValueSource, WorkDueState, WorkInboxKind, WorkOrigin, WorkTemplateNode, WorkTemplateRelation, asPermissionLevel, atLeast, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, isRecordsErr, isTheChosen, looksLikeAnId, measureKey, ok, optionKey, optionLabel, portalPath, publicFormPath, scopeChip } from '../index.js';
1
+ import { Timestamp, Uuid, RelationCoordinate, RecordsConfig, RecordDocument, RecordsResult, RecordRead, ReadRow, Table, Field, StoredRecord, TableCapacity, NewFieldDeclaration, FieldPatch, EntityTableFacts, NewEntityFieldDeclaration, EntityFieldRights, EntityRecordRead, EntityRecordsFound, FormSummary, ImportPlan, ImportPolicy, ImportOpened, ImportBatchResult, ImportFinished, ImportReport, ImportRun, InboundDeclared, InboundAddress, PortalSummary, PortalCard, PortalInvitation, PortalRevocation, PortalPreviewRow, DashboardSummary, DashboardBlock, AggregateFilter, DashboardRunResult, StuckRow, AggregateMeasure, AggregateBucket, AggregateRow, Subscription, MySubscription, DocToken, DocUnresolvedToken, DocTemplateRow, DocRenderRow, DocSignatureRow, RecordRevision, RecordHistoryEntry, RecordScopeContext, ConversationScope, ConversationScopeContext, FieldHistoryEntry, RestorePreview, RestoreResult, CommentThreadRead, CommentWritten, ReadValue, AnonTokenBinding, ChecklistSpec, ChecklistDeclared, ChecklistTemplateSummary, ChecklistTemplateShape, ChecklistRunStarted, ChecklistRunStep, ChecklistRunSummary, ChecklistStepCompleted, WorkState, WorkGraph, WorkInstantiation, WorkTurn, WorkAssignmentField, WorkSlotHold, WorkInboxItem, WorkListFlavour, WorkListItem, WorkAssignment, WorkRecordState, WorkApprover, WorkChange, WorkApprovalFiled, WorkApprovalDecision, ExternalPrincipalCard, PublishBinding, ResolvedPublishBinding, FieldProposal, TableProposal, MyLevel, RecordsError, WriteConflict, PgError, RecordsDataSource, StaleWriteDetail, PredictedRefusal } from '../index.js';
2
+ export { ABSENCE_REASONS, ACTOR_VOCABULARY, AbsenceReason, Actor, AggregateOperation, AggregateWindow, COMPUTE_ON, CONTEXT_POLICIES, ChecklistRequirement, ChecklistRequirementKind, ChecklistRoleSpec, ChecklistStepSpec, ChecklistTrigger, ChecklistTriggerKind, ChoiceOption, ComputeOn, ContextPolicy, CustomFieldTableType, DELIVERIES, DashboardBlockKind, DashboardBlockResult, Delivery, DocSignatureCheck, ENTITY_TOKENS, EntityFieldValue, EntityRecordMatch, EntityToken, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, FieldBehavior, FieldRule, FieldSensitivity, FieldSource, FieldTypeWord, ForbiddenEnvelopeWord, Freshness, HiddenFieldNotice, HistoryActor, HistoryActorKind, HistoryChange, Home, ImportColumnPlan, ImportOutcome, ImportProposal, KERNEL_TABLES, KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, MergeField, MergeFieldModifier, MergeFieldProvenance, MergeFieldResolution, MergeFieldSemanticType, MergeFieldSource, MergeFieldTransform, MissingBehavior, ON_DELETE, OVERRIDE_POLICIES, OnDelete, OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, ParityFieldType, ParityFieldTypeDescriptor, PerValueAccessWord, PermissionLevel, PortalPrincipal, PortalTableExposure, ProvenancePointer, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, RecordComment, RecordScopeComment, RecordScopeField, RecordScopeHistoryEntry, RecordScopeRelation, RecordScopeWithheld, RecordsActor, RecordsErrorCode, RecordsErrorSink, RecordsFilter, RecordsRealtimePort, RecordsResolverPort, RecordsResponse, RecordsTableQuery, RegisteredTable, Relation, RelationBinding, RelationCardinality, RelationCarries, RelationFlavor, RelationProperties, RelationTarget, ResolutionTriple, RetiredActorWord, Rule, RuleAnswer, RuleExpression, RuleNodeKind, RuleUse, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, StorageMode, StoreDoorName, StoreRefusalCode, SubscriptionBlock, SubscriptionCadence, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, TableDisplay, TableOrigin, TableType, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, ValueAlternate, ValueAlternateKey, ValueEnvelope, ValueEnvelopeKey, ValueSource, WorkDueState, WorkInboxKind, WorkOrigin, WorkTemplateNode, WorkTemplateRelation, asPermissionLevel, atLeast, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, isRecordsErr, isTheChosen, looksLikeAnId, measureKey, ok, optionKey, optionLabel, portalPath, publicFormPath, scopeChip } from '../index.js';
3
3
 
4
4
  /**
5
5
  * DOOR-8. As-of on EITHER clock, and they are different questions:
@@ -763,6 +763,67 @@ interface RecordsClient {
763
763
  form_id: Uuid;
764
764
  published?: boolean;
765
765
  }): Promise<RecordsResult<Timestamp | null>>;
766
+ /**
767
+ * What is wrong with a checklist somebody is writing, in the words they would
768
+ * use. `null` means it is fine. Pure — it reads no row and writes nothing —
769
+ * so an editor may ask it on every keystroke and the refusal arrives BEFORE
770
+ * the save rather than after it.
771
+ */
772
+ checklistRefusal(args: {
773
+ spec: ChecklistSpec;
774
+ }): Promise<RecordsResult<string | null>>;
775
+ /**
776
+ * Store a checklist, whole: ordered steps, who each belongs to by role, how
777
+ * many days in each is due, what each waits for, what each asks for, and what
778
+ * starts a run. Pass `template_id` to change the checklist that already
779
+ * exists rather than making a second one.
780
+ */
781
+ checklistDeclare(args: {
782
+ spec: ChecklistSpec;
783
+ template_id?: Uuid | null;
784
+ }): Promise<RecordsResult<ChecklistDeclared>>;
785
+ checklistTemplates(args?: {
786
+ about_table_id?: Uuid | null;
787
+ limit?: number;
788
+ }): Promise<RecordsResult<ChecklistTemplateSummary[]>>;
789
+ checklistTemplateShape(args: {
790
+ template_id: Uuid;
791
+ }): Promise<RecordsResult<ChecklistTemplateShape>>;
792
+ /**
793
+ * Run a checklist for one record: one work item per step in the ONE work
794
+ * layer, assigned by role to real people, dated from the offsets,
795
+ * dependencies carried across. `roles` names who stands in each role for THIS
796
+ * run, over whatever the checklist says by default.
797
+ */
798
+ checklistStart(args: {
799
+ template_id: Uuid;
800
+ about_record_id?: Uuid | null;
801
+ roles?: Record<string, Uuid>;
802
+ startingAt?: Timestamp | null;
803
+ }): Promise<RecordsResult<ChecklistRunStarted>>;
804
+ checklistRun(args: {
805
+ run_id: Uuid;
806
+ }): Promise<RecordsResult<ChecklistRunStep[]>>;
807
+ checklistRuns(args?: {
808
+ about_table_id?: Uuid | null;
809
+ about_record_id?: Uuid | null;
810
+ includeClosed?: boolean;
811
+ limit?: number;
812
+ }): Promise<RecordsResult<ChecklistRunSummary[]>>;
813
+ /**
814
+ * Tick a step off with whatever it asked for. Refused by name while a step it
815
+ * waits for is open, or while what it asks for is missing — and the same
816
+ * refusal meets `workSetState`, because the rule lives in the store and not
817
+ * in this door.
818
+ */
819
+ checklistStepComplete(args: {
820
+ step_id: Uuid;
821
+ evidence?: Record<string, unknown>;
822
+ }): Promise<RecordsResult<ChecklistStepCompleted>>;
823
+ /** Why this step cannot be finished right now. `null` means it can. */
824
+ checklistStepRefusal(args: {
825
+ step_id: Uuid;
826
+ }): Promise<RecordsResult<string | null>>;
766
827
  /** The five states and what each one may become. Asked, never hardcoded in a picker. */
767
828
  workStates(): Promise<RecordsResult<WorkState[]>>;
768
829
  /** Why this graph would be refused — asked BEFORE it is written. `null` means it is fine. */
@@ -1149,6 +1210,15 @@ declare const DOORS: {
1149
1210
  readonly workApprovalMayDecide: "work_approval_may_decide";
1150
1211
  readonly workApprovalDecide: "work_approval_decide";
1151
1212
  readonly workApprovalRead: "work_approval_read";
1213
+ readonly checklistRefusal: "checklist_refusal";
1214
+ readonly checklistDeclare: "checklist_declare";
1215
+ readonly checklistTemplates: "checklist_templates";
1216
+ readonly checklistTemplateShape: "checklist_template_shape";
1217
+ readonly checklistStart: "checklist_start";
1218
+ readonly checklistRun: "checklist_run";
1219
+ readonly checklistRuns: "checklist_runs";
1220
+ readonly checklistStepComplete: "checklist_step_complete";
1221
+ readonly checklistStepRefusal: "checklist_step_refusal";
1152
1222
  readonly metadataSearch: "metadata_search";
1153
1223
  readonly ruleDeclare: "rule_declare";
1154
1224
  readonly fieldPropose: "field_propose";
@@ -1269,4 +1339,4 @@ declare function parseCsv(text: string): string[][];
1269
1339
  declare function importCsv(fields: Field[], text: string): ParsedImport;
1270
1340
  declare function importXlsx(fields: Field[], bytes: ArrayBuffer | Uint8Array): Promise<ParsedImport>;
1271
1341
 
1272
- export { AggregateBucket, AggregateFilter, AggregateMeasure, AggregateRow, AnonTokenBinding, type AsOf, CommentThreadRead, CommentWritten, ConversationScope, ConversationScopeContext, DEFAULT_DOCUMENT_MAX_BYTES, DEFAULT_PAGE_SIZE, DEFAULT_VALUE_MAX_BYTES, DOORS, DashboardBlock, DashboardRunResult, DashboardSummary, DocRenderRow, DocSignatureRow, DocTemplateRow, DocToken, DocUnresolvedToken, type DoorKey, EntityFieldRights, EntityRecordRead, EntityRecordsFound, EntityTableFacts, type ExportRow, ExternalPrincipalCard, Field, FieldHistoryEntry, FieldPatch, FieldProposal, FormSummary, ImportBatchResult, ImportFinished, ImportOpened, ImportPlan, ImportPolicy, ImportReport, ImportRun, InboundAddress, InboundDeclared, MAPPED_SQLSTATES, type MirrorLimits, MyLevel, MySubscription, NewEntityFieldDeclaration, NewFieldDeclaration, type ParsedImport, PgError, PortalCard, PortalInvitation, PortalPreviewRow, PortalRevocation, PortalSummary, PredictedRefusal, type PromotedPredicate, PublishBinding, type QueryPlan, ReadRow, ReadValue, RecordDocument, RecordHistoryEntry, type RecordQuery, RecordRead, RecordRevision, RecordScopeContext, type RecordsClient, RecordsConfig, RecordsDataSource, RecordsError, RecordsResult, RelationCoordinate, ResolvedPublishBinding, RestorePreview, RestoreResult, StaleWriteDetail, StoredRecord, StuckRow, Subscription, type SupabaseLike, Table, TableCapacity, TableProposal, Timestamp, Uuid, WorkApprovalDecision, WorkApprovalFiled, WorkApprover, WorkAssignment, WorkAssignmentField, WorkChange, WorkGraph, WorkInboxItem, WorkInstantiation, WorkListFlavour, WorkListItem, WorkRecordState, WorkSlotHold, WorkState, WorkTurn, WriteConflict, asWriteConflict, cellText, createRecordsClient, doorAbsent, doorCensus, doorExists, exportCsv, exportXlsx, importCsv, importXlsx, intersectIds, mapPgError, parseCsv, planQuery, predictEnvelopeRefusal, predictSizeRefusal, predictValueRefusals, predictWriteRefusals, staleWriteDetail, supabaseDataSource, toAoa };
1342
+ export { AggregateBucket, AggregateFilter, AggregateMeasure, AggregateRow, AnonTokenBinding, type AsOf, ChecklistDeclared, ChecklistRunStarted, ChecklistRunStep, ChecklistRunSummary, ChecklistSpec, ChecklistStepCompleted, ChecklistTemplateShape, ChecklistTemplateSummary, CommentThreadRead, CommentWritten, ConversationScope, ConversationScopeContext, DEFAULT_DOCUMENT_MAX_BYTES, DEFAULT_PAGE_SIZE, DEFAULT_VALUE_MAX_BYTES, DOORS, DashboardBlock, DashboardRunResult, DashboardSummary, DocRenderRow, DocSignatureRow, DocTemplateRow, DocToken, DocUnresolvedToken, type DoorKey, EntityFieldRights, EntityRecordRead, EntityRecordsFound, EntityTableFacts, type ExportRow, ExternalPrincipalCard, Field, FieldHistoryEntry, FieldPatch, FieldProposal, FormSummary, ImportBatchResult, ImportFinished, ImportOpened, ImportPlan, ImportPolicy, ImportReport, ImportRun, InboundAddress, InboundDeclared, MAPPED_SQLSTATES, type MirrorLimits, MyLevel, MySubscription, NewEntityFieldDeclaration, NewFieldDeclaration, type ParsedImport, PgError, PortalCard, PortalInvitation, PortalPreviewRow, PortalRevocation, PortalSummary, PredictedRefusal, type PromotedPredicate, PublishBinding, type QueryPlan, ReadRow, ReadValue, RecordDocument, RecordHistoryEntry, type RecordQuery, RecordRead, RecordRevision, RecordScopeContext, type RecordsClient, RecordsConfig, RecordsDataSource, RecordsError, RecordsResult, RelationCoordinate, ResolvedPublishBinding, RestorePreview, RestoreResult, StaleWriteDetail, StoredRecord, StuckRow, Subscription, type SupabaseLike, Table, TableCapacity, TableProposal, Timestamp, Uuid, WorkApprovalDecision, WorkApprovalFiled, WorkApprover, WorkAssignment, WorkAssignmentField, WorkChange, WorkGraph, WorkInboxItem, WorkInstantiation, WorkListFlavour, WorkListItem, WorkRecordState, WorkSlotHold, WorkState, WorkTurn, WriteConflict, asWriteConflict, cellText, createRecordsClient, doorAbsent, doorCensus, doorExists, exportCsv, exportXlsx, importCsv, importXlsx, intersectIds, mapPgError, parseCsv, planQuery, predictEnvelopeRefusal, predictSizeRefusal, predictValueRefusals, predictWriteRefusals, staleWriteDetail, supabaseDataSource, toAoa };
@@ -2102,6 +2102,16 @@ var DOORS = {
2102
2102
  workApprovalMayDecide: "work_approval_may_decide",
2103
2103
  workApprovalDecide: "work_approval_decide",
2104
2104
  workApprovalRead: "work_approval_read",
2105
+ // PRODUCTS row 13 — checklists and SOP runs.
2106
+ checklistRefusal: "checklist_refusal",
2107
+ checklistDeclare: "checklist_declare",
2108
+ checklistTemplates: "checklist_templates",
2109
+ checklistTemplateShape: "checklist_template_shape",
2110
+ checklistStart: "checklist_start",
2111
+ checklistRun: "checklist_run",
2112
+ checklistRuns: "checklist_runs",
2113
+ checklistStepComplete: "checklist_step_complete",
2114
+ checklistStepRefusal: "checklist_step_refusal",
2105
2115
  // Declared here BECAUSE they do not exist yet: naming them is what makes the
2106
2116
  // absence visible to `pnpm check:store-registry` and to the suite.
2107
2117
  metadataSearch: "metadata_search",
@@ -3440,6 +3450,86 @@ function createRecordsClient(config) {
3440
3450
  "workSlotExpire"
3441
3451
  );
3442
3452
  },
3453
+ // ── checklists and SOP runs ──────────────────────────────────────────
3454
+ async checklistRefusal({ spec }) {
3455
+ return callDoor(
3456
+ DOORS.checklistRefusal,
3457
+ { p_spec: spec },
3458
+ "checklistRefusal"
3459
+ );
3460
+ },
3461
+ async checklistDeclare({ spec, template_id = null }) {
3462
+ return callDoor(
3463
+ DOORS.checklistDeclare,
3464
+ { p_organization_id: org, p_spec: spec, p_template_id: template_id },
3465
+ "checklistDeclare"
3466
+ );
3467
+ },
3468
+ async checklistTemplates(args) {
3469
+ return callDoor(
3470
+ DOORS.checklistTemplates,
3471
+ {
3472
+ p_organization_id: org,
3473
+ p_about_table_id: args?.about_table_id ?? null,
3474
+ p_limit: args?.limit ?? 100
3475
+ },
3476
+ "checklistTemplates"
3477
+ );
3478
+ },
3479
+ async checklistTemplateShape({ template_id }) {
3480
+ return callDoor(
3481
+ DOORS.checklistTemplateShape,
3482
+ { p_organization_id: org, p_template_id: template_id },
3483
+ "checklistTemplateShape"
3484
+ );
3485
+ },
3486
+ async checklistStart({ template_id, about_record_id = null, roles = {}, startingAt = null }) {
3487
+ return callDoor(
3488
+ DOORS.checklistStart,
3489
+ {
3490
+ p_organization_id: org,
3491
+ p_template_id: template_id,
3492
+ p_about_record_id: about_record_id,
3493
+ p_roles: roles,
3494
+ p_starting_at: startingAt
3495
+ },
3496
+ "checklistStart"
3497
+ );
3498
+ },
3499
+ async checklistRun({ run_id }) {
3500
+ return callDoor(
3501
+ DOORS.checklistRun,
3502
+ { p_organization_id: org, p_run_id: run_id },
3503
+ "checklistRun"
3504
+ );
3505
+ },
3506
+ async checklistRuns(args) {
3507
+ return callDoor(
3508
+ DOORS.checklistRuns,
3509
+ {
3510
+ p_organization_id: org,
3511
+ p_about_table_id: args?.about_table_id ?? null,
3512
+ p_about_record_id: args?.about_record_id ?? null,
3513
+ p_include_closed: args?.includeClosed ?? true,
3514
+ p_limit: args?.limit ?? 100
3515
+ },
3516
+ "checklistRuns"
3517
+ );
3518
+ },
3519
+ async checklistStepComplete({ step_id, evidence = {} }) {
3520
+ return callDoor(
3521
+ DOORS.checklistStepComplete,
3522
+ { p_organization_id: org, p_step_id: step_id, p_evidence: evidence },
3523
+ "checklistStepComplete"
3524
+ );
3525
+ },
3526
+ async checklistStepRefusal({ step_id }) {
3527
+ return callDoor(
3528
+ DOORS.checklistStepRefusal,
3529
+ { p_organization_id: org, p_step_id: step_id },
3530
+ "checklistStepRefusal"
3531
+ );
3532
+ },
3443
3533
  // ── the work layer a person actually uses ────────────────────────────
3444
3534
  async workInbox(args) {
3445
3535
  return callDoor(