@standards/schema 1.0.0-alpha.387 → 1.0.0-alpha.388
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.mts +84 -2
- package/dist/api/index.d.ts +84 -2
- package/dist/api/index.js +1 -1
- package/dist/api/index.mjs +1 -1
- package/dist/{index-Dc724-qa.d.mts → index-CAS7YRMe.d.mts} +227 -10
- package/dist/{index-Yeb7Tt27.d.ts → index-DJ3ba5Wr.d.ts} +227 -10
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/record-aggregates-DY8qLwuF.mjs +2 -0
- package/dist/record-aggregates-ayabJXQ0.js +2 -0
- package/dist/record-operation-Fjq2V4-g.js +2 -0
- package/dist/record-operation-yFJABAKm.mjs +2 -0
- package/dist/validation/all.js +1 -1
- package/dist/validation/all.mjs +1 -1
- package/dist/view-config.schema-8c37WcS7.mjs +2 -0
- package/dist/view-config.schema-DqucFfKS.js +2 -0
- package/package.json +2 -2
- package/dist/record-aggregates-Cj3p3_ce.js +0 -2
- package/dist/record-aggregates-DQXrIuGE.mjs +0 -2
- package/dist/record-operation-Bn9owi4P.mjs +0 -2
- package/dist/record-operation-C5aJiLMH.js +0 -2
- package/dist/view-config.schema-B_UjfDBH.js +0 -2
- package/dist/view-config.schema-ppIfAAZj.mjs +0 -2
|
@@ -814,6 +814,9 @@ export interface LinkedRecordRef {
|
|
|
814
814
|
export type MeetingStatus = "confirmed" | "tentative" | "cancelled";
|
|
815
815
|
export type MeetingParticipantRole = "organizer" | "required" | "optional";
|
|
816
816
|
export type MeetingResponseStatus = "accepted" | "declined" | "tentative" | "needs_action";
|
|
817
|
+
/** An invitation's answer; "needs_action" is no answer and is not sent. */
|
|
818
|
+
export declare const MEETING_RESPONSES: readonly ["accepted", "declined", "tentative"];
|
|
819
|
+
export type MeetingResponse = (typeof MEETING_RESPONSES)[number];
|
|
817
820
|
/** Lifecycle of the recording bot's transcript for one meeting. */
|
|
818
821
|
export type TranscriptStatus = "scheduled" | "recording" | "completed" | "failed";
|
|
819
822
|
/** An explicit per-meeting choice that beats the workspace policy. */
|
|
@@ -1029,6 +1032,19 @@ export interface MeetingsListResponse {
|
|
|
1029
1032
|
meetings: Meeting[];
|
|
1030
1033
|
/** Offset to request next, absent when the page was the last one. */
|
|
1031
1034
|
nextOffset?: number;
|
|
1035
|
+
/**
|
|
1036
|
+
* The calls a record's meetings tab lists — one per call however many of
|
|
1037
|
+
* its copies the viewer sees, and only meetings the viewer can see — not
|
|
1038
|
+
* the page. Present only when `meetings.forRecord` was asked a `countMode`:
|
|
1039
|
+
* `null` under `countMode: "none"`, which is "not counted" and never "zero".
|
|
1040
|
+
*/
|
|
1041
|
+
total?: number | null;
|
|
1042
|
+
/**
|
|
1043
|
+
* False when `total` is a lower bound rather than the real count, as on the
|
|
1044
|
+
* records page: see `ContinuationPage.totalIsExact`. Present beside a
|
|
1045
|
+
* numeric `total`; derive it from the response, never from the mode asked.
|
|
1046
|
+
*/
|
|
1047
|
+
totalIsExact?: boolean;
|
|
1032
1048
|
}
|
|
1033
1049
|
//#endregion
|
|
1034
1050
|
//#region src/api/meetings.operations.d.ts
|
|
@@ -1059,7 +1075,7 @@ export declare const meetingsQuery: z$2.ZodDefault<z$2.ZodObject<{
|
|
|
1059
1075
|
limit: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1060
1076
|
offset: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1061
1077
|
}, z$2.core.$strip>>;
|
|
1062
|
-
/** `POST /meetings/records/:recordId` — the record's email attributes and the
|
|
1078
|
+
/** `POST /meetings/records/:recordId` — the record's email attributes, the same query and the count asked for. */
|
|
1063
1079
|
export declare const recordMeetingsBody: z$2.ZodDefault<z$2.ZodObject<{
|
|
1064
1080
|
emailAttributeIds: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
1065
1081
|
query: z$2.ZodOptional<z$2.ZodObject<{
|
|
@@ -1075,6 +1091,11 @@ export declare const recordMeetingsBody: z$2.ZodDefault<z$2.ZodObject<{
|
|
|
1075
1091
|
limit: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1076
1092
|
offset: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1077
1093
|
}, z$2.core.$strip>>;
|
|
1094
|
+
countMode: z$2.ZodOptional<z$2.ZodEnum<{
|
|
1095
|
+
exact: "exact";
|
|
1096
|
+
none: "none";
|
|
1097
|
+
estimated: "estimated";
|
|
1098
|
+
}>>;
|
|
1078
1099
|
}, z$2.core.$strip>>;
|
|
1079
1100
|
export declare const meetingsOperations: {
|
|
1080
1101
|
search: Operation<{
|
|
@@ -1227,6 +1248,11 @@ export declare const meetingsOperations: {
|
|
|
1227
1248
|
limit: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1228
1249
|
offset: z$2.ZodOptional<z$2.ZodNumber>;
|
|
1229
1250
|
}, z$2.core.$strip>>;
|
|
1251
|
+
countMode: z$2.ZodOptional<z$2.ZodEnum<{
|
|
1252
|
+
exact: "exact";
|
|
1253
|
+
none: "none";
|
|
1254
|
+
estimated: "estimated";
|
|
1255
|
+
}>>;
|
|
1230
1256
|
}, z$2.core.$strip>;
|
|
1231
1257
|
readonly output: OutputType<MeetingsListResponse>;
|
|
1232
1258
|
}>;
|
|
@@ -1363,6 +1389,15 @@ export declare const NOTIFICATION_TYPE_CONNECTOR_CONNECTION_ERROR = "connector.c
|
|
|
1363
1389
|
* `objectPluralLabel`, `recordLabel`, `actorName` and `count`.
|
|
1364
1390
|
*/
|
|
1365
1391
|
export declare const NOTIFICATION_TYPE_RECORD_ASSIGNED = "record.assigned";
|
|
1392
|
+
/**
|
|
1393
|
+
* A person newly mentioned (`[@Name](stndrds:user/<id>)`) in a record's
|
|
1394
|
+
* richtext (#5828). Shaped like `record.assigned`: the subject is the record
|
|
1395
|
+
* when one is announced; the mentions of one window by the same actor on one
|
|
1396
|
+
* object are one notification with `payload.count`. `payload` carries
|
|
1397
|
+
* `objectName`, `objectLabel`, `objectPluralLabel`, `recordLabel`,
|
|
1398
|
+
* `actorName` and `count`.
|
|
1399
|
+
*/
|
|
1400
|
+
export declare const NOTIFICATION_TYPE_RECORD_MENTIONED = "record.mentioned";
|
|
1366
1401
|
/**
|
|
1367
1402
|
* Someone gave the recipient access to an agent, a routine or a record, or
|
|
1368
1403
|
* raised it (#5303). `payload.role` is the level granted, `payload.actorName`
|
|
@@ -1370,13 +1405,13 @@ export declare const NOTIFICATION_TYPE_RECORD_ASSIGNED = "record.assigned";
|
|
|
1370
1405
|
* carries `payload.objectName`.
|
|
1371
1406
|
*/
|
|
1372
1407
|
export declare const NOTIFICATION_TYPE_ACCESS_GRANTED = "access.granted";
|
|
1373
|
-
export declare const NOTIFICATION_TYPES_V1: readonly ["agent.session.waiting_human", "agent.task.assigned", "agent.question.requested", "agent.routine_run.failed", "agent.routine_run.notice", "connector.connection.reauth_required", "connector.connection.error", "record.assigned", "access.granted"];
|
|
1408
|
+
export declare const NOTIFICATION_TYPES_V1: readonly ["agent.session.waiting_human", "agent.task.assigned", "agent.question.requested", "agent.routine_run.failed", "agent.routine_run.notice", "connector.connection.reauth_required", "connector.connection.error", "record.assigned", "record.mentioned", "access.granted"];
|
|
1374
1409
|
export type NotificationV1Type = (typeof NOTIFICATION_TYPES_V1)[number];
|
|
1375
1410
|
/** Kinds that ask the recipient to act: always delivered in-app (#5448). */
|
|
1376
1411
|
export declare const ACTIONABLE_NOTIFICATION_KINDS: readonly ["task", "question", "handoff"];
|
|
1377
1412
|
export declare function isActionableNotificationKind(kind: NotificationKind): boolean;
|
|
1378
1413
|
/** Where a type's delivery switches sit on the Account ▸ Notifications screen. */
|
|
1379
|
-
export declare const NOTIFICATION_SETTINGS_AREAS: readonly ["agents", "connectors", "assignment", "sharing"];
|
|
1414
|
+
export declare const NOTIFICATION_SETTINGS_AREAS: readonly ["agents", "connectors", "assignment", "mentions", "sharing"];
|
|
1380
1415
|
export type NotificationSettingsArea = (typeof NOTIFICATION_SETTINGS_AREAS)[number];
|
|
1381
1416
|
/**
|
|
1382
1417
|
* Every declared notification type, its kind and its settings area (#5448):
|
|
@@ -1418,6 +1453,10 @@ export declare const NOTIFICATION_TYPE_KINDS: {
|
|
|
1418
1453
|
readonly kind: "fyi";
|
|
1419
1454
|
readonly area: "assignment";
|
|
1420
1455
|
};
|
|
1456
|
+
readonly "record.mentioned": {
|
|
1457
|
+
readonly kind: "fyi";
|
|
1458
|
+
readonly area: "mentions";
|
|
1459
|
+
};
|
|
1421
1460
|
readonly "access.granted": {
|
|
1422
1461
|
readonly kind: "fyi";
|
|
1423
1462
|
readonly area: "sharing";
|
|
@@ -3109,7 +3148,7 @@ export declare function harnessModelChoices(harness: EnvironmentHarnessId, model
|
|
|
3109
3148
|
* Typed agent references: `<kind>:<id>`. The one parser shared by the runtime
|
|
3110
3149
|
* verbs and the UI tool views; it never guesses a kind from a bare id.
|
|
3111
3150
|
*/
|
|
3112
|
-
export declare const REFERENCE_KINDS: readonly ["record", "document", "file", "email", "thread", "event", "memory", "skill", "schema", "user", "guide", "draft"];
|
|
3151
|
+
export declare const REFERENCE_KINDS: readonly ["record", "document", "file", "email", "thread", "event", "memory", "skill", "schema", "user", "guide", "catalog", "draft"];
|
|
3113
3152
|
export type ReferenceKind = (typeof REFERENCE_KINDS)[number];
|
|
3114
3153
|
export type Reference = {
|
|
3115
3154
|
kind: ReferenceKind;
|
|
@@ -3336,11 +3375,11 @@ export declare const RESOURCE_KIND_CATALOG: {
|
|
|
3336
3375
|
};
|
|
3337
3376
|
readonly browser: {
|
|
3338
3377
|
readonly icon: "link";
|
|
3339
|
-
readonly tools: readonly ["browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_tabs"];
|
|
3378
|
+
readonly tools: readonly ["browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_sign_in", "browser_tabs"];
|
|
3340
3379
|
};
|
|
3341
3380
|
readonly "browser-profile": {
|
|
3342
3381
|
readonly icon: "globe";
|
|
3343
|
-
readonly tools: readonly ["browser_launch", "browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_tabs"];
|
|
3382
|
+
readonly tools: readonly ["browser_launch", "browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_sign_in", "browser_tabs"];
|
|
3344
3383
|
};
|
|
3345
3384
|
readonly login: {
|
|
3346
3385
|
readonly icon: "key";
|
|
@@ -3442,12 +3481,12 @@ export declare const GRANT_ENABLES: {
|
|
|
3442
3481
|
readonly browser: {
|
|
3443
3482
|
readonly kinds: readonly [];
|
|
3444
3483
|
readonly capabilities: readonly [];
|
|
3445
|
-
readonly tools: readonly ["browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_tabs"];
|
|
3484
|
+
readonly tools: readonly ["browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_sign_in", "browser_tabs"];
|
|
3446
3485
|
};
|
|
3447
3486
|
readonly "browser-profile": {
|
|
3448
3487
|
readonly kinds: readonly [];
|
|
3449
3488
|
readonly capabilities: readonly [];
|
|
3450
|
-
readonly tools: readonly ["browser_launch", "browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_tabs"];
|
|
3489
|
+
readonly tools: readonly ["browser_launch", "browser_autopilot", "browser_batch", "browser_computer", "browser_find", "browser_form_input", "browser_get_text", "browser_javascript", "browser_navigate", "browser_read_page", "browser_sign_in", "browser_tabs"];
|
|
3451
3490
|
};
|
|
3452
3491
|
readonly login: {
|
|
3453
3492
|
readonly kinds: readonly [];
|
|
@@ -6016,6 +6055,84 @@ export interface BundleSyncResult {
|
|
|
6016
6055
|
}>;
|
|
6017
6056
|
}
|
|
6018
6057
|
//#endregion
|
|
6058
|
+
//#region src/types/catalog.d.ts
|
|
6059
|
+
export type CatalogLocale = "fr" | "en";
|
|
6060
|
+
export type CatalogEntryKind = "object" | "view" | "agent";
|
|
6061
|
+
/** Where an installed piece came from; stamped on every draft operation it produces. */
|
|
6062
|
+
export interface OperationOrigin {
|
|
6063
|
+
entryId: string;
|
|
6064
|
+
version: number;
|
|
6065
|
+
packId?: string;
|
|
6066
|
+
/** The language the piece was compiled in; its install row records it. */
|
|
6067
|
+
locale: CatalogLocale;
|
|
6068
|
+
}
|
|
6069
|
+
export interface CatalogSummary {
|
|
6070
|
+
label: string;
|
|
6071
|
+
description: string;
|
|
6072
|
+
icon: IconName;
|
|
6073
|
+
category?: string;
|
|
6074
|
+
}
|
|
6075
|
+
export interface CatalogEntrySummary extends CatalogSummary {
|
|
6076
|
+
id: string;
|
|
6077
|
+
kind: CatalogEntryKind;
|
|
6078
|
+
version: number;
|
|
6079
|
+
requires: string[];
|
|
6080
|
+
installed: boolean;
|
|
6081
|
+
}
|
|
6082
|
+
export interface CatalogPackSummary extends CatalogSummary {
|
|
6083
|
+
id: string;
|
|
6084
|
+
version: number;
|
|
6085
|
+
entries: string[];
|
|
6086
|
+
hasSamples: boolean;
|
|
6087
|
+
installed: boolean;
|
|
6088
|
+
}
|
|
6089
|
+
/** A summary plus the ids it pulls in when installed. */
|
|
6090
|
+
export type CatalogEntryDetail = (CatalogEntrySummary | CatalogPackSummary) & {
|
|
6091
|
+
closure: string[];
|
|
6092
|
+
};
|
|
6093
|
+
export interface CatalogSelection {
|
|
6094
|
+
entries?: string[];
|
|
6095
|
+
packs?: string[];
|
|
6096
|
+
}
|
|
6097
|
+
export type CatalogDecision = "bind" | "skip" | {
|
|
6098
|
+
rename: string;
|
|
6099
|
+
};
|
|
6100
|
+
export interface CatalogPlanPiece {
|
|
6101
|
+
entryId: string;
|
|
6102
|
+
kind: CatalogEntryKind;
|
|
6103
|
+
status: "new" | "collides";
|
|
6104
|
+
existingName?: string;
|
|
6105
|
+
installable: boolean;
|
|
6106
|
+
reason?: string;
|
|
6107
|
+
inverseRelations?: {
|
|
6108
|
+
objectName: string;
|
|
6109
|
+
attributeName: string;
|
|
6110
|
+
}[];
|
|
6111
|
+
}
|
|
6112
|
+
export interface CatalogInstallPlan {
|
|
6113
|
+
pieces: CatalogPlanPiece[];
|
|
6114
|
+
fingerprint: string;
|
|
6115
|
+
}
|
|
6116
|
+
export interface CatalogInstallInput {
|
|
6117
|
+
selection: CatalogSelection;
|
|
6118
|
+
locale: CatalogLocale;
|
|
6119
|
+
withSamples: boolean;
|
|
6120
|
+
decisions: Record<string, CatalogDecision>;
|
|
6121
|
+
fingerprint: string;
|
|
6122
|
+
}
|
|
6123
|
+
export interface CatalogInstallResult {
|
|
6124
|
+
installed: {
|
|
6125
|
+
entryId: string;
|
|
6126
|
+
version: number;
|
|
6127
|
+
targetKind: CatalogEntryKind;
|
|
6128
|
+
targetId: string;
|
|
6129
|
+
}[];
|
|
6130
|
+
failed: {
|
|
6131
|
+
entryId: string;
|
|
6132
|
+
reason: string;
|
|
6133
|
+
}[];
|
|
6134
|
+
}
|
|
6135
|
+
//#endregion
|
|
6019
6136
|
//#region src/types/schema-state.d.ts
|
|
6020
6137
|
type Without<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
6021
6138
|
export type ViewSourceOwner = "core" | `bundle:${string}` | `source:${string}`;
|
|
@@ -10633,10 +10750,13 @@ export declare const RECORD_LINKS_BLOCK: BlockDefinition<"record_links", import(
|
|
|
10633
10750
|
/** The chosen record's object; absent, the block centres on the host record. */
|
|
10634
10751
|
readonly object: BlockInput<"object", import("zod").ZodString, true>;
|
|
10635
10752
|
readonly record: BlockInput<"record", import("zod").ZodString, true>;
|
|
10636
|
-
/** How many rings are expanded on open; two when absent. */
|
|
10753
|
+
/** How many rings are expanded on open, one to five; two when absent. */
|
|
10637
10754
|
readonly depth: ListableBlockInput<"enum", import("zod").ZodEnum<{
|
|
10638
10755
|
1: "1";
|
|
10639
10756
|
2: "2";
|
|
10757
|
+
3: "3";
|
|
10758
|
+
4: "4";
|
|
10759
|
+
5: "5";
|
|
10640
10760
|
}>, true>;
|
|
10641
10761
|
}>, import("zod/v4/core").$strip>>;
|
|
10642
10762
|
/**
|
|
@@ -11027,10 +11147,13 @@ export declare const NATIVE_BLOCKS: readonly [BlockDefinition<"artifact_preview"
|
|
|
11027
11147
|
/** The chosen record's object; absent, the block centres on the host record. */
|
|
11028
11148
|
readonly object: BlockInput<"object", import("zod").ZodString, true>;
|
|
11029
11149
|
readonly record: BlockInput<"record", import("zod").ZodString, true>;
|
|
11030
|
-
/** How many rings are expanded on open; two when absent. */
|
|
11150
|
+
/** How many rings are expanded on open, one to five; two when absent. */
|
|
11031
11151
|
readonly depth: ListableBlockInput<"enum", import("zod").ZodEnum<{
|
|
11032
11152
|
1: "1";
|
|
11033
11153
|
2: "2";
|
|
11154
|
+
3: "3";
|
|
11155
|
+
4: "4";
|
|
11156
|
+
5: "5";
|
|
11034
11157
|
}>, true>;
|
|
11035
11158
|
}>, import("zod/v4/core").$strip>>];
|
|
11036
11159
|
//#endregion
|
|
@@ -11811,6 +11934,20 @@ export declare function collectContentViewCatalogue(input: ContentViewCatalogueI
|
|
|
11811
11934
|
* `rule` discriminator that carried it. A reader refuses every violation.
|
|
11812
11935
|
*/
|
|
11813
11936
|
export declare function validateStoredViews(input: ContentViewCatalogueInput): void;
|
|
11937
|
+
/** The first rule a view breaks and where: `<message> (<path>)`, the path left out at the root. */
|
|
11938
|
+
export declare function describeViewIssue(issue: {
|
|
11939
|
+
message: string;
|
|
11940
|
+
path: readonly PropertyKey[];
|
|
11941
|
+
}): string;
|
|
11942
|
+
/**
|
|
11943
|
+
* Says which view was refused and the first rule it breaks: the bare "Invalid
|
|
11944
|
+
* content view" reached the person and the agent with nothing to fix (#5888).
|
|
11945
|
+
* The architect's publish blockers word the same refusal through it (#5932).
|
|
11946
|
+
*/
|
|
11947
|
+
export declare function invalidViewMessage(raw: unknown, issue: {
|
|
11948
|
+
message: string;
|
|
11949
|
+
path: readonly PropertyKey[];
|
|
11950
|
+
} | undefined): string;
|
|
11814
11951
|
/** Resolves names against a collected snapshot; it performs no writes or adoption. */
|
|
11815
11952
|
export declare function validateContentViewCatalogue(input: ContentViewCatalogueInput): ContentViewCatalogueResult;
|
|
11816
11953
|
//#endregion
|
|
@@ -12356,6 +12493,8 @@ export interface ArchitectChange {
|
|
|
12356
12493
|
after: unknown;
|
|
12357
12494
|
/** The agent's note on this operation, when it wrote one (D9). */
|
|
12358
12495
|
note?: string;
|
|
12496
|
+
/** Set when the operation was produced by a catalog install. */
|
|
12497
|
+
origin?: OperationOrigin;
|
|
12359
12498
|
}
|
|
12360
12499
|
/** One operation of a draft as stored and sent: its shared fields plus its type's payload. */
|
|
12361
12500
|
export type ViewOperation = BaseOperation & Record<string, unknown>;
|
|
@@ -12448,6 +12587,8 @@ export interface BaseOperation {
|
|
|
12448
12587
|
type: string;
|
|
12449
12588
|
/** The architect's own sentence — what it does and why; ≤ 160 chars. Persisted with the operation. */
|
|
12450
12589
|
note?: string;
|
|
12590
|
+
/** Set on every operation a catalog install produced; the publish records it in `catalog_installs`. */
|
|
12591
|
+
origin?: OperationOrigin;
|
|
12451
12592
|
}
|
|
12452
12593
|
//#endregion
|
|
12453
12594
|
//#region src/architect/proposal-types.d.ts
|
|
@@ -12489,6 +12630,45 @@ export declare const namedTargetSchema: z$2.ZodUnion<readonly [z$2.ZodObject<{
|
|
|
12489
12630
|
}, z$2.core.$strict>]>;
|
|
12490
12631
|
export type NamedTarget = z$2.infer<typeof namedTargetSchema>;
|
|
12491
12632
|
export declare function parseNamedTarget(input: unknown): NamedTarget;
|
|
12633
|
+
/** How much a step deserves the person's eye: a new object is dwelt on, a rename flown past. */
|
|
12634
|
+
export type DraftStepPace = "major" | "normal" | "minor";
|
|
12635
|
+
/**
|
|
12636
|
+
* An operation's focus, resolved on the draft it was committed to: the ids the
|
|
12637
|
+
* draft minted, and what a route needs that the operation itself does not
|
|
12638
|
+
* name. A step routes from this alone, with no catalogue and no projection.
|
|
12639
|
+
*/
|
|
12640
|
+
export interface DraftStepFocus extends DraftFocus {
|
|
12641
|
+
/** The focused view's id, the minted one for a view only the draft holds. */
|
|
12642
|
+
viewId?: string;
|
|
12643
|
+
/** The focused content's id within its view. */
|
|
12644
|
+
contentId?: string;
|
|
12645
|
+
/** How the focused object view is reached: its context, and whether it is its object's default. */
|
|
12646
|
+
viewRoute?: {
|
|
12647
|
+
context: "collection" | "record";
|
|
12648
|
+
default: boolean;
|
|
12649
|
+
};
|
|
12650
|
+
/**
|
|
12651
|
+
* How the focused page is reached: a record page through its object's record
|
|
12652
|
+
* view (on the tab rendering it, when one does), a standalone page by the key
|
|
12653
|
+
* its route carries.
|
|
12654
|
+
*/
|
|
12655
|
+
pageRoute?: {
|
|
12656
|
+
objectName: string;
|
|
12657
|
+
tabName?: string;
|
|
12658
|
+
} | {
|
|
12659
|
+
key: string;
|
|
12660
|
+
};
|
|
12661
|
+
}
|
|
12662
|
+
/** One committed operation, as the follow shows it. */
|
|
12663
|
+
export interface DraftStep {
|
|
12664
|
+
/** The draft version the operation's commit produced. */
|
|
12665
|
+
version: number;
|
|
12666
|
+
operationId: string;
|
|
12667
|
+
focus: DraftStepFocus;
|
|
12668
|
+
pace: DraftStepPace;
|
|
12669
|
+
/** The agent's note on the operation, when it wrote one. */
|
|
12670
|
+
note?: string;
|
|
12671
|
+
}
|
|
12492
12672
|
export interface MutationReceipt {
|
|
12493
12673
|
operationIds: string[];
|
|
12494
12674
|
revision: ProposalRevision;
|
|
@@ -12498,10 +12678,47 @@ export interface MutationReceipt {
|
|
|
12498
12678
|
}>;
|
|
12499
12679
|
/** Operation id → the agent's note, for the committed operations that carry one. Absent when none does. */
|
|
12500
12680
|
notes?: Readonly<Record<string, string>>;
|
|
12681
|
+
/**
|
|
12682
|
+
* One step per operation this receipt committed, in order. Empty for a
|
|
12683
|
+
* receipt that commits none (a removal, a discard, a publication); absent
|
|
12684
|
+
* from a receipt sent before steps existed.
|
|
12685
|
+
*/
|
|
12686
|
+
steps?: DraftStep[];
|
|
12687
|
+
}
|
|
12688
|
+
/**
|
|
12689
|
+
* What a publish refusal or a publish blocker names: an object, one of its
|
|
12690
|
+
* attributes or views, or a page (addressed by id). Its kind is the most
|
|
12691
|
+
* specific key present.
|
|
12692
|
+
*/
|
|
12693
|
+
export interface PublishTarget {
|
|
12694
|
+
objectName?: string;
|
|
12695
|
+
attributeName?: string;
|
|
12696
|
+
viewName?: string;
|
|
12697
|
+
pageId?: string;
|
|
12698
|
+
}
|
|
12699
|
+
export type PublishTargetKind = "object" | "attribute" | "view" | "page";
|
|
12700
|
+
/** The target a publish refusal carries in its `details.target`. */
|
|
12701
|
+
export interface PublishRefusalTarget extends PublishTarget {
|
|
12702
|
+
kind: PublishTargetKind;
|
|
12703
|
+
}
|
|
12704
|
+
/**
|
|
12705
|
+
* The publish rules the append runs on the folded draft, beyond its own: what
|
|
12706
|
+
* no single operation breaks, so the append accepts it, and the publish then
|
|
12707
|
+
* refuses (#5932).
|
|
12708
|
+
*/
|
|
12709
|
+
export type PublishBlockerRule = "computed-cycle" | "bilateral-pair" | "content-view";
|
|
12710
|
+
/** One thing the publish would refuse in the draft as it stands. */
|
|
12711
|
+
export interface PublishBlocker {
|
|
12712
|
+
rule: PublishBlockerRule;
|
|
12713
|
+
target: PublishTarget;
|
|
12714
|
+
/** The refusal the publish would raise, word for word. */
|
|
12715
|
+
message: string;
|
|
12501
12716
|
}
|
|
12502
12717
|
/** HTTP append result: enough to continue editing without a second guard request. */
|
|
12503
12718
|
export interface DraftAppendReceipt extends MutationReceipt {
|
|
12504
12719
|
commandGuard: DraftCommandGuard;
|
|
12720
|
+
/** What the publish would refuse in the draft after this append; empty when nothing. */
|
|
12721
|
+
publishBlockers: PublishBlocker[];
|
|
12505
12722
|
}
|
|
12506
12723
|
export interface DraftPublishCommand {
|
|
12507
12724
|
revision: ProposalRevision;
|