@notionhq/apps 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +2 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/notion-as-code/custom-agent.d.ts +75 -1
  6. package/dist/notion-as-code/custom-agent.d.ts.map +1 -1
  7. package/dist/notion-as-code/custom-agent.js +11 -0
  8. package/dist/notion-as-code/custom-agent.test.d.ts +2 -0
  9. package/dist/notion-as-code/custom-agent.test.d.ts.map +1 -0
  10. package/dist/notion-as-code/database.d.ts +5 -1
  11. package/dist/notion-as-code/database.d.ts.map +1 -1
  12. package/dist/notion-as-code/database.js +3 -1
  13. package/dist/notion-as-code/index.d.ts +2 -2
  14. package/dist/notion-as-code/index.d.ts.map +1 -1
  15. package/dist/notion-as-code/intents.d.ts +133 -11
  16. package/dist/notion-as-code/intents.d.ts.map +1 -1
  17. package/dist/notion-as-code/notion-as-code-types.test.d.ts +2 -0
  18. package/dist/notion-as-code/notion-as-code-types.test.d.ts.map +1 -0
  19. package/dist/notion-as-code/page.d.ts +2 -2
  20. package/dist/notion-as-code/page.d.ts.map +1 -1
  21. package/dist/workflow-access.d.ts +29 -0
  22. package/dist/workflow-access.d.ts.map +1 -1
  23. package/dist/workflow-access.js +23 -0
  24. package/dist/workflow.d.ts +1 -0
  25. package/dist/workflow.d.ts.map +1 -1
  26. package/dist/workflow.js +2 -0
  27. package/docs/BUILD.md +1 -1
  28. package/package.json +1 -1
  29. package/skills/notion-as-code/SKILL.md +13 -7
  30. package/skills/workflow/SKILL.md +5 -5
  31. package/src/cli/build.test.ts +5 -0
  32. package/src/index.ts +1 -0
  33. package/src/notion-as-code/custom-agent.test.ts +79 -0
  34. package/src/notion-as-code/custom-agent.ts +111 -2
  35. package/src/notion-as-code/database.test.ts +38 -0
  36. package/src/notion-as-code/database.ts +7 -0
  37. package/src/notion-as-code/index.ts +39 -1
  38. package/src/notion-as-code/intents.ts +219 -24
  39. package/src/notion-as-code/notion-as-code-types.test.ts +167 -0
  40. package/src/notion-as-code/page.test.ts +24 -0
  41. package/src/notion-as-code/page.ts +2 -2
  42. package/src/workflow-access-types.test.ts +8 -4
  43. package/src/workflow-access.ts +41 -0
  44. package/src/workflow.test.ts +5 -4
  45. package/src/workflow.ts +1 -0
package/README.md CHANGED
@@ -9,6 +9,7 @@ The package root exports only resource and capability creation helpers:
9
9
 
10
10
  ```ts
11
11
  import {
12
+ access,
12
13
  page,
13
14
  database,
14
15
  teamspace,
@@ -113,7 +114,7 @@ credentials automatically, so do not configure or push `NOTION_API_TOKEN`.
113
114
  Local execution needs the token in `.env` before making a Notion API request.
114
115
 
115
116
  For a resource declared with Notion as Code, add a named runtime binding with
116
- `access: { handbook: { resource: handbook, level: "view" } }`. Cloud deployment
117
+ `access: { handbook: access.view(handbook) }`. Cloud deployment
117
118
  resolves the declaration's NaC `resourceId` to a live ID and exposes it to the
118
119
  handler as `context.access.handbook.id`. Deployment also reconciles the declared
119
120
  access through the existing Notion-module permissions. Those permissions, not
package/dist/index.d.ts CHANGED
@@ -5,6 +5,6 @@ export { page } from "./notion-as-code/page.js";
5
5
  export { teamspace } from "./notion-as-code/teamspace.js";
6
6
  export { view } from "./notion-as-code/view.js";
7
7
  export { sync } from "./sync.js";
8
- export { workflow, type Workflow, type WorkflowAccess, type WorkflowAccessAgentLevel, type WorkflowAccessBindings, type WorkflowAccessDeclaration, type WorkflowAccessDeclarations, type WorkflowAccessLevel, type WorkflowAccessLevelFor, type WorkflowAccessResource, type WorkflowAccessResourceLevel, type WorkflowAccessResourceType, type WorkflowAccessRequirement, type WorkflowAccessRequirements, type WorkflowAccessValue, type WorkflowConfiguration, type WorkflowContext, type WorkflowTriggerConfiguration, } from "./workflow.js";
8
+ export { access, workflow, type Workflow, type WorkflowAccess, type WorkflowAccessAgentLevel, type WorkflowAccessBindings, type WorkflowAccessDeclaration, type WorkflowAccessDeclarations, type WorkflowAccessLevel, type WorkflowAccessLevelFor, type WorkflowAccessResource, type WorkflowAccessResourceLevel, type WorkflowAccessResourceType, type WorkflowAccessRequirement, type WorkflowAccessRequirements, type WorkflowAccessValue, type WorkflowConfiguration, type WorkflowContext, type WorkflowTriggerConfiguration, } from "./workflow.js";
9
9
  export type { WorkflowState, WorkflowStateValue } from "./workflow-state.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,4BAA4B,GACjC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,MAAM,EACN,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,4BAA4B,GACjC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -6,9 +6,11 @@ import { teamspace } from "./notion-as-code/teamspace.js";
6
6
  import { view } from "./notion-as-code/view.js";
7
7
  import { sync } from "./sync.js";
8
8
  import {
9
+ access,
9
10
  workflow
10
11
  } from "./workflow.js";
11
12
  export {
13
+ access,
12
14
  customAgent,
13
15
  customBlock,
14
16
  database,
@@ -1,4 +1,77 @@
1
1
  import type { NotionAsCodeIcon, ResourceId } from "./intents.js";
2
+ type RecurrenceWeekday = "MO" | "TU" | "WE" | "TH" | "FR" | "SA" | "SU";
3
+ /** A nonempty selection of weekdays for a weekly recurrence. */
4
+ export type RecurrenceWeekdays = {
5
+ [Day in RecurrenceWeekday]?: true;
6
+ } & {
7
+ [Day in RecurrenceWeekday]: Required<Pick<Record<RecurrenceWeekday, true>, Day>>;
8
+ }[RecurrenceWeekday];
9
+ export type MonthlyWeekdayOccurrence = "1st" | "2nd" | "3rd" | "4th" | "last";
10
+ export type MonthlyRecurrenceRestriction = {
11
+ type: "day_of_month";
12
+ day: number;
13
+ } | {
14
+ type: "weekday_of_month";
15
+ weekday: RecurrenceWeekday;
16
+ occurrence: MonthlyWeekdayOccurrence;
17
+ };
18
+ export type RecurrenceScheduleEnd = {
19
+ type: "date";
20
+ endsAt: string;
21
+ } | {
22
+ type: "occurrences";
23
+ count: number;
24
+ };
25
+ type RecurrenceScheduleBase = {
26
+ interval: number;
27
+ start: string;
28
+ timeZone: string;
29
+ end?: RecurrenceScheduleEnd;
30
+ };
31
+ export type HourlyRecurrenceSchedule = RecurrenceScheduleBase & {
32
+ frequency: "hour";
33
+ };
34
+ export type DailyRecurrenceSchedule = RecurrenceScheduleBase & {
35
+ frequency: "day";
36
+ };
37
+ export type WeeklyRecurrenceSchedule = RecurrenceScheduleBase & {
38
+ frequency: "week";
39
+ weekdays: RecurrenceWeekdays;
40
+ };
41
+ export type MonthlyRecurrenceSchedule = RecurrenceScheduleBase & {
42
+ frequency: "month";
43
+ monthlyRestriction: MonthlyRecurrenceRestriction;
44
+ };
45
+ export type YearlyRecurrenceSchedule = RecurrenceScheduleBase & {
46
+ frequency: "year";
47
+ };
48
+ export type CustomAgentRecurrenceSchedule = (HourlyRecurrenceSchedule | DailyRecurrenceSchedule | WeeklyRecurrenceSchedule | MonthlyRecurrenceSchedule | YearlyRecurrenceSchedule) & {
49
+ type: "recurrence";
50
+ };
51
+ export type CustomAgentTriggerBase = {
52
+ resourceId: ResourceId;
53
+ enabled?: boolean;
54
+ };
55
+ export type CustomAgentRecurrenceTrigger = CustomAgentTriggerBase & CustomAgentRecurrenceSchedule;
56
+ export type PropertyTriggerCondition = {
57
+ type: "property_edited";
58
+ };
59
+ export type CustomAgentPageAddedTrigger = CustomAgentTriggerBase & {
60
+ type: "page_added";
61
+ dataSourceResourceId: ResourceId;
62
+ };
63
+ type PropertyUpdatedTriggerTarget = {
64
+ propertyConditions: Readonly<Record<ResourceId, PropertyTriggerCondition>>;
65
+ triggerWhenPageContentEdited?: boolean;
66
+ } | {
67
+ propertyConditions?: never;
68
+ triggerWhenPageContentEdited: true;
69
+ };
70
+ export type CustomAgentPropertyUpdatedTrigger = CustomAgentTriggerBase & PropertyUpdatedTriggerTarget & {
71
+ type: "property_updated";
72
+ dataSourceResourceId: ResourceId;
73
+ };
74
+ export type CustomAgentTrigger = CustomAgentRecurrenceTrigger | CustomAgentPageAddedTrigger | CustomAgentPropertyUpdatedTrigger;
2
75
  export type CustomAgentArgs = {
3
76
  resourceId: ResourceId;
4
77
  name: string;
@@ -8,7 +81,7 @@ export type CustomAgentArgs = {
8
81
  instructions?: string;
9
82
  model?: "ambrosia-tart-high" | "opal-quince-medium" | "almond-croissant-low";
10
83
  sharedResources?: readonly ResourceId[];
11
- triggers?: readonly unknown[];
84
+ triggers?: readonly CustomAgentTrigger[];
12
85
  };
13
86
  export type CustomAgentHandle = {
14
87
  readonly resourceType: "customAgent";
@@ -16,4 +89,5 @@ export type CustomAgentHandle = {
16
89
  };
17
90
  /** Declare a custom agent and validate every shared resource reference. */
18
91
  export declare function customAgent(args: CustomAgentArgs): CustomAgentHandle;
92
+ export {};
19
93
  //# sourceMappingURL=custom-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-agent.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/custom-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAIpF,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;IAC7E,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAExC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CASpE"}
1
+ {"version":3,"file":"custom-agent.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/custom-agent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,17 @@ function customAgent(args) {
5
5
  for (const resourceId of args.sharedResources ?? []) {
6
6
  assertUserResourceId(resourceId);
7
7
  }
8
+ for (const trigger of args.triggers ?? []) {
9
+ assertUserResourceId(trigger.resourceId);
10
+ if (trigger.type === "page_added" || trigger.type === "property_updated") {
11
+ assertUserResourceId(trigger.dataSourceResourceId);
12
+ }
13
+ if (trigger.type === "property_updated") {
14
+ for (const propertyResourceId of Object.keys(trigger.propertyConditions ?? {})) {
15
+ assertUserResourceId(propertyResourceId);
16
+ }
17
+ }
18
+ }
8
19
  recordIntent({ type: "custom_agent", ...args });
9
20
  return { resourceType: "customAgent", resourceId: args.resourceId };
10
21
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-agent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-agent.test.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/custom-agent.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { Database } from "../database.js";
2
- import { type DatabaseIntent, type NotionAsCodeIcon, type NotionAsCodeSchema, type Parent, type ResourceId } from "./intents.js";
2
+ import { type DatabaseIntent, type DatabasePageLayout, type NotionAsCodeIcon, type NotionAsCodeSchema, type Parent, type ResourceId } from "./intents.js";
3
3
  import { type ChildPageArgs, type PageHandle } from "./page.js";
4
4
  import { type AppsSchemaForSchema } from "./schema.js";
5
5
  import type { ViewSchema } from "./views.js";
@@ -12,6 +12,7 @@ export type DataSourceArgs<Schema extends NotionAsCodeSchema = NotionAsCodeSchem
12
12
  name?: never;
13
13
  schema: Schema;
14
14
  icon?: NotionAsCodeIcon;
15
+ pageLayout?: DatabasePageLayout<Schema>;
15
16
  };
16
17
  /** Data sources keyed by the names used to access their handles. */
17
18
  export type DataSourceMap = Record<string, DataSourceArgs>;
@@ -23,6 +24,7 @@ type SingleSourceDatabaseOptions<Schema extends NotionAsCodeSchema = NotionAsCod
23
24
  dataSourceResourceId: ResourceId;
24
25
  name: string;
25
26
  schema: Schema;
27
+ pageLayout?: DatabasePageLayout<Schema>;
26
28
  datasources?: never;
27
29
  };
28
30
  /** Top-level single-source inputs may choose a parent; page.addDatabase/teamspace.addDatabase bind it instead. */
@@ -38,6 +40,7 @@ type MultiSourceDatabaseOptions<DataSources extends DataSourceMap = DataSourceMa
38
40
  datasources: DataSources;
39
41
  dataSourceResourceId?: never;
40
42
  schema?: never;
43
+ pageLayout?: never;
41
44
  } & (keyof NoInfer<DataSources> extends never ? {
42
45
  views: NonEmptyViewSchemas;
43
46
  } : {
@@ -52,6 +55,7 @@ type ViewOnlyDatabaseOptions = DatabaseMetadata & {
52
55
  datasources?: never;
53
56
  dataSourceResourceId?: never;
54
57
  schema?: never;
58
+ pageLayout?: never;
55
59
  views: NonEmptyViewSchemas;
56
60
  };
57
61
  type ViewOnlyDatabaseArgs = ViewOnlyDatabaseOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/database.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,8 @@ function buildDatabaseHandle(databaseResourceId, args, parent) {
43
43
  const source = {
44
44
  resourceId: args.dataSourceResourceId,
45
45
  name: args.name,
46
- properties: normalizeProperties(args.schema)
46
+ properties: normalizeProperties(args.schema),
47
+ ...args.pageLayout === void 0 ? {} : { pageLayout: args.pageLayout }
47
48
  };
48
49
  const handle = recordDatabase(databaseResourceId, args, parent, [
49
50
  { key: "dataSource", schema: args.schema, definition: source }
@@ -76,6 +77,7 @@ function normalizeDatabaseMetadata(args) {
76
77
  schema: _schema,
77
78
  datasources: _datasources,
78
79
  dataSourceResourceId: _dataSourceResourceId,
80
+ pageLayout: _pageLayout,
79
81
  ...metadata
80
82
  } = args;
81
83
  return metadata;
@@ -1,6 +1,6 @@
1
1
  export { APPS_RESERVED_RESOURCE_ID_PREFIX, APPS_WORKSPACE_RESOURCE_ID } from "./intents.js";
2
- export type { DatabaseIntent, DataSourceDefinition, NotionAsCodeIcon, NotionAsCodeProperty, NotionAsCodePropertyConfig, NotionAsCodeSchema, NotionAsCodeSelectOption, NotionAsCodeStatusOption, Parent, ResourceId, } from "./intents.js";
3
- export type { CustomAgentArgs, CustomAgentHandle } from "./custom-agent.js";
2
+ export type { ContentPageLayoutTab, DatabasePageLayout, DatabasePageLayoutTab, DatabaseIntent, DataSourceDefinition, NotionAsCodeIcon, NotionAsCodeProperty, NotionAsCodePropertyConfig, NotionAsCodeSchema, NotionAsCodeSelectOption, NotionAsCodeStatusOption, PageCoverReference, PageLayoutMainModule, PageLayoutNumberAndFormulaStyle, PageLayoutPersonStyle, PageLayoutPropertiesModule, PageLayoutPropertyConfig, PageLayoutPropertyModule, PageLayoutPropertySection, PageLayoutRelationConfig, PageLayoutRelationsGroupModule, PageLayoutSidebarModule, Parent, ResourceId, RollupBaseAggregationType, RollupDateAggregationType, RollupNumberAggregationType, RollupTargetPropertyType, ViewPageLayoutTab, } from "./intents.js";
3
+ export type { CustomAgentArgs, CustomAgentHandle, CustomAgentPageAddedTrigger, CustomAgentPropertyUpdatedTrigger, CustomAgentRecurrenceSchedule, CustomAgentRecurrenceTrigger, CustomAgentTrigger, CustomAgentTriggerBase, DailyRecurrenceSchedule, HourlyRecurrenceSchedule, MonthlyRecurrenceRestriction, MonthlyRecurrenceSchedule, MonthlyWeekdayOccurrence, PropertyTriggerCondition, RecurrenceScheduleEnd, RecurrenceWeekdays, WeeklyRecurrenceSchedule, YearlyRecurrenceSchedule, } from "./custom-agent.js";
4
4
  export type { ChildDatabaseArgs, ChildDatabaseFactory, ChildMultiSourceDatabaseArgs, ChildSingleSourceDatabaseArgs, DataSourceArgs, DataSourceHandle, DataSourceMap, DatabaseArgs, DatabaseHandle, MultiSourceDatabaseArgs, SingleSourceDatabaseArgs, SingleSourceDatabaseHandle, } from "./database.js";
5
5
  export type { ChildPageArgs, PageArgs, PageHandle, PropertyValue, SimpleTextToken, TextValue, VerificationInput, VerificationPropertyValue, } from "./page.js";
6
6
  export type { TeamspaceArgs, TeamspaceHandle } from "./teamspace.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC5F,YAAY,EACX,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,EACN,UAAU,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EACX,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EACX,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,4BAA4B,EAC5B,iCAAiC,EACjC,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,EAC/B,qBAAqB,EACrB,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,QAAQ,GACR,MAAM,YAAY,CAAC;AAEpB,wEAAwE;AACxE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC5F,YAAY,EACX,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EACX,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,4BAA4B,EAC5B,iCAAiC,EACjC,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,+BAA+B,EAC/B,qBAAqB,EACrB,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,QAAQ,GACR,MAAM,YAAY,CAAC;AAEpB,wEAAwE;AACxE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAAiB,CAAC"}
@@ -23,6 +23,13 @@ export type NotionAsCodeIcon = {
23
23
  type: "file";
24
24
  resourceId: ResourceId;
25
25
  };
26
+ /** A URL reference used as a page or database cover. */
27
+ export type PageCoverReference = {
28
+ type: "url";
29
+ url: string;
30
+ /** Vertical position from the top, where 0 is the top and 1 is the bottom. */
31
+ position?: number;
32
+ };
26
33
  export type NotionAsCodeSelectColor = "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red";
27
34
  export type NotionAsCodeSelectOption = {
28
35
  name: string;
@@ -39,9 +46,49 @@ type PropertyBase = {
39
46
  }>;
40
47
  description?: string;
41
48
  };
42
- type UnsupportedProperty = PropertyBase & {
43
- type: "relation" | "formula" | "rollup" | "created_time" | "last_edited_time" | "created_by" | "last_edited_by" | "auto_increment_id" | "person" | "verification";
44
- [key: string]: unknown;
49
+ /** Rollup aggregations supported for every target property type. */
50
+ export type RollupBaseAggregationType = "count" | "count_values" | "unique" | "empty" | "not_empty" | "percent_empty" | "percent_not_empty" | "show_unique";
51
+ /** Numeric-only rollup aggregations. */
52
+ export type RollupNumberAggregationType = RollupBaseAggregationType | "sum" | "average" | "median" | "min" | "max" | "range";
53
+ /** Date-only rollup aggregations. */
54
+ export type RollupDateAggregationType = RollupBaseAggregationType | "earliest_date" | "latest_date" | "date_range";
55
+ export type RollupTargetPropertyType = "title" | "text" | "number" | "select" | "multi_select" | "status" | "date" | "checkbox" | "url" | "email" | "phone_number" | "relation" | "person" | "created_time" | "last_edited_time" | "created_by" | "last_edited_by";
56
+ type RollupTarget = {
57
+ targetPropertyType: "number";
58
+ aggregation?: RollupNumberAggregationType;
59
+ } | {
60
+ targetPropertyType: "date" | "created_time" | "last_edited_time";
61
+ aggregation?: RollupDateAggregationType;
62
+ } | {
63
+ targetPropertyType: Exclude<RollupTargetPropertyType, "number" | "date" | "created_time" | "last_edited_time">;
64
+ aggregation?: RollupBaseAggregationType;
65
+ };
66
+ type RelationProperty = PropertyBase & {
67
+ type: "relation";
68
+ targetDataSourceResourceId: ResourceId;
69
+ targetDataSourcePropertyResourceId?: ResourceId;
70
+ limit?: 1;
71
+ };
72
+ type FormulaProperty = PropertyBase & {
73
+ type: "formula";
74
+ expression?: string;
75
+ };
76
+ type RollupProperty = PropertyBase & RollupTarget & {
77
+ type: "rollup";
78
+ relationPropertyResourceId: ResourceId;
79
+ targetPropertyResourceId: ResourceId;
80
+ };
81
+ type AutoIncrementIdProperty = PropertyBase & {
82
+ type: "auto_increment_id";
83
+ prefix?: string;
84
+ };
85
+ type PersonProperty = PropertyBase & {
86
+ type: "person";
87
+ limit?: 1;
88
+ };
89
+ type VerificationProperty = PropertyBase & {
90
+ type: "verification";
91
+ verifierPropertyResourceId: ResourceId;
45
92
  };
46
93
  /** A normalized Notion-as-Code property with its resolved display name. */
47
94
  export type NotionAsCodeProperty = (PropertyBase & {
@@ -81,31 +128,106 @@ export type NotionAsCodeProperty = (PropertyBase & {
81
128
  type: "phone_number";
82
129
  }) | (PropertyBase & {
83
130
  type: "file";
84
- }) | UnsupportedProperty;
131
+ }) | RelationProperty | FormulaProperty | RollupProperty | (PropertyBase & {
132
+ type: "created_time";
133
+ }) | (PropertyBase & {
134
+ type: "last_edited_time";
135
+ }) | (PropertyBase & {
136
+ type: "created_by";
137
+ }) | (PropertyBase & {
138
+ type: "last_edited_by";
139
+ }) | AutoIncrementIdProperty | PersonProperty | VerificationProperty;
85
140
  /**
86
141
  * `T extends unknown` applies Omit to each property variant separately, preserving
87
142
  * variant-specific fields such as required status options. Plain Omit on the union
88
- * would retain only shared keys. Pick also restores type/resourceId on the
89
- * unsupported variant, whose string index signature would otherwise erase them.
143
+ * would retain only shared keys.
90
144
  */
91
- type DistributivePropertyConfig<T extends NotionAsCodeProperty> = T extends unknown ? Omit<T, "name"> & Pick<T, "type" | "resourceId"> : never;
145
+ type DistributivePropertyConfig<T extends NotionAsCodeProperty> = T extends unknown ? Omit<T, "name"> : never;
92
146
  /**
93
147
  * Authoring properties are keyed by their schema object name. A property-level
94
- * `name` override would make the key and serialized property diverge, so it is
95
- * explicitly rejected even for the string-indexed unsupported-property variant.
148
+ * `name` override would make the key and serialized property diverge.
96
149
  */
97
150
  export type NotionAsCodePropertyConfig = DistributivePropertyConfig<NotionAsCodeProperty> & {
98
151
  name?: never;
99
152
  };
100
153
  /** A keyed property schema, with object keys supplying serialized property names. */
101
154
  export type NotionAsCodeSchema = Record<string, NotionAsCodePropertyConfig>;
155
+ type SchemaProperty<Schema extends NotionAsCodeSchema> = Schema[keyof Schema & string];
156
+ type PropertyType = NotionAsCodePropertyConfig["type"];
157
+ type PropertyResourceIdFor<Schema extends NotionAsCodeSchema, Types extends PropertyType = PropertyType> = Extract<SchemaProperty<Schema>, {
158
+ type: Types;
159
+ }>["resourceId"];
160
+ export type PageLayoutPropertyConfig<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
161
+ property: PropertyResourceIdFor<Schema>;
162
+ visibility?: "show" | "hide_if_empty" | "hide";
163
+ };
164
+ export type PageLayoutPropertySection<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
165
+ name: string;
166
+ properties: readonly PageLayoutPropertyConfig<Schema>[];
167
+ };
168
+ export type PageLayoutPropertiesModule<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
169
+ type: "properties";
170
+ } & ({
171
+ properties?: readonly PageLayoutPropertyConfig<Schema>[];
172
+ sections?: never;
173
+ } | {
174
+ sections: readonly PageLayoutPropertySection<Schema>[];
175
+ properties?: never;
176
+ });
177
+ export type PageLayoutPersonStyle = "compact" | "large";
178
+ export type PageLayoutNumberAndFormulaStyle = "large" | "small";
179
+ type PageLayoutStyleFor<Property extends NotionAsCodePropertyConfig> = Property["type"] extends "person" | "created_by" | "last_edited_by" ? {
180
+ style?: PageLayoutPersonStyle;
181
+ } : Property["type"] extends "number" | "formula" ? {
182
+ style?: PageLayoutNumberAndFormulaStyle;
183
+ } : {
184
+ style?: never;
185
+ };
186
+ type PageLayoutPropertyModuleFor<Property extends NotionAsCodePropertyConfig> = Property extends unknown ? {
187
+ type: "property";
188
+ property: Property["resourceId"];
189
+ } & PageLayoutStyleFor<Property> : never;
190
+ /**
191
+ * A standalone property module. Its available style is inferred from the
192
+ * referenced property's type when the layout is declared with a literal schema.
193
+ */
194
+ export type PageLayoutPropertyModule<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = PageLayoutPropertyModuleFor<SchemaProperty<Schema>>;
195
+ export type PageLayoutRelationConfig<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
196
+ property: PropertyResourceIdFor<Schema, "relation">;
197
+ display: "pageSection" | "minimal";
198
+ };
199
+ export type PageLayoutRelationsGroupModule<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
200
+ type: "relations";
201
+ relations: readonly PageLayoutRelationConfig<Schema>[];
202
+ };
203
+ export type PageLayoutMainModule<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = PageLayoutPropertiesModule<Schema> | PageLayoutPropertyModule<Schema> | PageLayoutRelationsGroupModule<Schema>;
204
+ export type PageLayoutSidebarModule<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = PageLayoutPropertiesModule<Schema> | PageLayoutPropertyModule<Schema>;
205
+ export type ContentPageLayoutTab = {
206
+ type: "content";
207
+ name?: string;
208
+ };
209
+ export type ViewPageLayoutTab = {
210
+ type: "view";
211
+ resourceId: ResourceId;
212
+ };
213
+ export type DatabasePageLayoutTab = ContentPageLayoutTab | ViewPageLayoutTab;
214
+ export type DatabasePageLayout<Schema extends NotionAsCodeSchema = NotionAsCodeSchema> = {
215
+ main: readonly PageLayoutMainModule<Schema>[];
216
+ sidebar?: readonly PageLayoutSidebarModule<Schema>[];
217
+ pinnedProperties?: readonly PropertyResourceIdFor<Schema>[];
218
+ discussions?: "top" | "bottom" | "hidden";
219
+ tabs?: readonly DatabasePageLayoutTab[];
220
+ fullWidth?: boolean;
221
+ showPropertyIcons?: boolean;
222
+ showTemplates?: boolean;
223
+ };
102
224
  /** The normalized data-source shape emitted in provisioning artifacts. */
103
225
  export type DataSourceDefinition<Properties extends readonly NotionAsCodeProperty[] = readonly NotionAsCodeProperty[]> = {
104
226
  resourceId: ResourceId;
105
227
  name: string;
106
228
  properties: Properties;
107
229
  icon?: NotionAsCodeIcon;
108
- pageLayout?: unknown;
230
+ pageLayout?: DatabasePageLayout;
109
231
  };
110
232
  export type TeamspaceIntent = TeamspaceArgs & {
111
233
  parent: Parent;
@@ -122,7 +244,7 @@ export type DatabaseIntent = {
122
244
  dataSources: readonly DataSourceDefinition[];
123
245
  views?: readonly ViewSchema[];
124
246
  icon?: NotionAsCodeIcon;
125
- cover?: unknown;
247
+ cover?: PageCoverReference;
126
248
  hideDataSourceTitle?: boolean;
127
249
  hideDatabaseTitleIfEmpty?: boolean;
128
250
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/intents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/intents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,+EAA+E;AAC/E,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AACtE,kEAAkE;AAClE,eAAO,MAAM,gCAAgC,mBAAmB,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5C,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAChC,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,KAAK,CAAC;AAET,MAAM,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,GAAG;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,yBAAyB,GAClC,OAAO,GACP,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,GACX,eAAe,GACf,mBAAmB,GACnB,aAAa,CAAC;AAEjB,wCAAwC;AACxC,MAAM,MAAM,2BAA2B,GACpC,yBAAyB,GACzB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,KAAK,GACL,KAAK,GACL,OAAO,CAAC;AAEX,qCAAqC;AACrC,MAAM,MAAM,yBAAyB,GAClC,yBAAyB,GACzB,eAAe,GACf,aAAa,GACb,YAAY,CAAC;AAEhB,MAAM,MAAM,wBAAwB,GACjC,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,QAAQ,GACR,MAAM,GACN,UAAU,GACV,KAAK,GACL,OAAO,GACP,cAAc,GACd,UAAU,GACV,QAAQ,GACR,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,gBAAgB,CAAC;AAEpB,KAAK,YAAY,GACd;IACA,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,2BAA2B,CAAC;CACzC,GACD;IACA,kBAAkB,EAAE,MAAM,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACjE,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACvC,GACD;IACA,kBAAkB,EAAE,OAAO,CAC1B,wBAAwB,EACxB,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,kBAAkB,CACvD,CAAC;IACF,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC;AAEL,KAAK,gBAAgB,GAAG,YAAY,GAAG;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,0BAA0B,EAAE,UAAU,CAAC;IACvC,kCAAkC,CAAC,EAAE,UAAU,CAAC;IAChD,KAAK,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,KAAK,eAAe,GAAG,YAAY,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,YAAY,GACjC,YAAY,GAAG;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,0BAA0B,EAAE,UAAU,CAAC;IACvC,wBAAwB,EAAE,UAAU,CAAC;CACrC,CAAC;AAEH,KAAK,uBAAuB,GAAG,YAAY,GAAG;IAC7C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,cAAc,GAAG,YAAY,GAAG;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,GAAG;IAC1C,IAAI,EAAE,cAAc,CAAC;IACrB,0BAA0B,EAAE,UAAU,CAAC;CACvC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAC7B,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAClC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACjC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GACnC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAAE,CAAC,GAClF,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAAE,CAAC,GACxF;IACA,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACR,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;QAC1C,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;QAChD,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;KAC9C,CAAC;CACD,GACD,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACjC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GACrC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,GAChC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAClC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,GACzC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACjC,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,GACzC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,GAC7C,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,GACvC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC3C,uBAAuB,GACvB,cAAc,GACd,oBAAoB,CAAC;AAExB;;;;GAIG;AACH,KAAK,0BAA0B,CAAC,CAAC,SAAS,oBAAoB,IAAI,CAAC,SAAS,OAAO,GAChF,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GACf,KAAK,CAAC;AAET;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,oBAAoB,CAAC,GAAG;IAC3F,IAAI,CAAC,EAAE,KAAK,CAAC;CACb,CAAC;AACF,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;AAE5E,KAAK,cAAc,CAAC,MAAM,SAAS,kBAAkB,IAAI,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;AACvF,KAAK,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACvD,KAAK,qBAAqB,CACzB,MAAM,SAAS,kBAAkB,EACjC,KAAK,SAAS,YAAY,GAAG,YAAY,IACtC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CAAC;AAEnE,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IAC9F,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IAChG,IAAI,EAAE,YAAY,CAAC;CACnB,GAAG,CACD;IACA,UAAU,CAAC,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC;CAChB,GACD;IACA,QAAQ,EAAE,SAAS,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;IACvD,UAAU,CAAC,EAAE,KAAK,CAAC;CAClB,CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,+BAA+B,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhE,KAAK,kBAAkB,CAAC,QAAQ,SAAS,0BAA0B,IAAI,QAAQ,CAAC,MAAM,CAAC,SACpF,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,GACjC,QAAQ,CAAC,MAAM,CAAC,SAAS,QAAQ,GAAG,SAAS,GAC5C;IAAE,KAAK,CAAC,EAAE,+BAA+B,CAAA;CAAE,GAC3C;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtB,KAAK,2BAA2B,CAAC,QAAQ,SAAS,0BAA0B,IAC3E,QAAQ,SAAS,OAAO,GACrB;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACjC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAC/B,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAC1F,2BAA2B,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IAC9F,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,8BAA8B,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAChG;IACC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;CACvD,CAAC;AAEH,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IACpF,0BAA0B,CAAC,MAAM,CAAC,GAClC,wBAAwB,CAAC,MAAM,CAAC,GAChC,8BAA8B,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IACvF,0BAA0B,CAAC,MAAM,CAAC,GAClC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;AAE7E,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IACxF,IAAI,EAAE,SAAS,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,EAAE,SAAS,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;IACrD,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,IAAI,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,CAC/B,UAAU,SAAS,SAAS,oBAAoB,EAAE,GAAG,SAAS,oBAAoB,EAAE,IACjF;IACH,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACxB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B,CAAC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,eAAe,CAAC,GACzC,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,cAAc,CAAC,GACvC,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,GAC/B,CAAC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,iBAAiB,CAAC,GAC9C,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=notion-as-code-types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion-as-code-types.test.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/notion-as-code-types.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { type Parent, type ResourceId } from "./intents.js";
1
+ import { type PageCoverReference, type Parent, type ResourceId } from "./intents.js";
2
2
  import { type ChildDatabaseFactory } from "./database.js";
3
3
  /**
4
4
  * A single text token: plain text as `[string]`, or text with annotations as
@@ -37,7 +37,7 @@ export type PageArgs = {
37
37
  resourceId: ResourceId;
38
38
  /** Omit to create a private top-level page in the Apps workspace. */
39
39
  parent?: Parent;
40
- cover?: unknown;
40
+ cover?: PageCoverReference;
41
41
  /**
42
42
  * Page properties, including the page title.
43
43
  *
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,MAAM,EACX,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI/E;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAC1B;IACA,KAAK,EAAE,UAAU,CAAC;IAClB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,SAAS,CAAC;CACpB,GACD;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC3D,IAAI,EAAE,cAAc,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACtB,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,EAAE,GACR,yBAAyB,GACzB,SAAS,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACvD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,UAAU,CAAC;CAC7C,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAS/C;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAgBrF"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/notion-as-code/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI/E;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAC1B;IACA,KAAK,EAAE,UAAU,CAAC;IAClB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,SAAS,CAAC;CACpB,GACD;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC3D,IAAI,EAAE,cAAc,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACtB,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,EAAE,GACR,yBAAyB,GACzB,SAAS,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACvD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,UAAU,CAAC;CAC7C,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAS/C;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAgBrF"}
@@ -3,6 +3,7 @@ import type { DataSourceHandle, DatabaseHandle, SingleSourceDatabaseHandle } fro
3
3
  import type { PageHandle } from "./notion-as-code/page.js";
4
4
  /** A Notion-as-Code resource that can provide a named workflow binding. */
5
5
  export type WorkflowAccessResource = PageHandle | DatabaseHandle | SingleSourceDatabaseHandle | DataSourceHandle | CustomAgentHandle;
6
+ type WorkflowAccessContentResource = Exclude<WorkflowAccessResource, CustomAgentHandle>;
6
7
  /** Resource kinds accepted by workflow access declarations. */
7
8
  export type WorkflowAccessResourceType = WorkflowAccessResource["resourceType"];
8
9
  /** Levels accepted by pages, databases, and data sources. */
@@ -50,6 +51,34 @@ export type WorkflowAccess<TAccess extends WorkflowAccessDeclarations = Workflow
50
51
  }>;
51
52
  /** Resolved NaC bindings keyed by public aliases, without declaration metadata. */
52
53
  export type WorkflowAccessBindings = Readonly<Record<string, WorkflowAccessValue>>;
54
+ /** Create type-safe access declarations for Notion-as-Code resource handles. */
55
+ export declare const access: {
56
+ view: typeof view;
57
+ comment: typeof comment;
58
+ edit: typeof edit;
59
+ fullAccess: typeof fullAccess;
60
+ call: typeof call;
61
+ };
62
+ declare function view<TResource extends WorkflowAccessContentResource>(resource: TResource): Readonly<{
63
+ resource: TResource;
64
+ level: "view";
65
+ }>;
66
+ declare function comment<TResource extends WorkflowAccessContentResource>(resource: TResource): Readonly<{
67
+ resource: TResource;
68
+ level: "comment";
69
+ }>;
70
+ declare function edit<TResource extends WorkflowAccessContentResource>(resource: TResource): Readonly<{
71
+ resource: TResource;
72
+ level: "edit";
73
+ }>;
74
+ declare function fullAccess<TResource extends WorkflowAccessContentResource>(resource: TResource): Readonly<{
75
+ resource: TResource;
76
+ level: "fullAccess";
77
+ }>;
78
+ declare function call(resource: CustomAgentHandle): Readonly<{
79
+ resource: CustomAgentHandle;
80
+ level: "call";
81
+ }>;
53
82
  /**
54
83
  * Normalize public binding declarations without retaining the handle objects.
55
84
  * Handles contain methods and schema objects, so they must never be cloned into
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-access.d.ts","sourceRoot":"","sources":["../src/workflow-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-access.d.ts","sourceRoot":"","sources":["../src/workflow-access.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,25 @@
1
+ const access = {
2
+ view,
3
+ comment,
4
+ edit,
5
+ fullAccess,
6
+ call
7
+ };
8
+ function view(resource) {
9
+ return { resource, level: "view" };
10
+ }
11
+ function comment(resource) {
12
+ return { resource, level: "comment" };
13
+ }
14
+ function edit(resource) {
15
+ return { resource, level: "edit" };
16
+ }
17
+ function fullAccess(resource) {
18
+ return { resource, level: "fullAccess" };
19
+ }
20
+ function call(resource) {
21
+ return { resource, level: "call" };
22
+ }
1
23
  const ACCESS_ALIAS_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]{0,127}$/;
2
24
  const RESERVED_ACCESS_ALIASES = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
3
25
  const RESOURCE_TYPES = {
@@ -130,6 +152,7 @@ function isRecord(value) {
130
152
  return typeof value === "object" && value !== null && !Array.isArray(value);
131
153
  }
132
154
  export {
155
+ access,
133
156
  hydrateWorkflowAccess,
134
157
  normalizeWorkflowAccess
135
158
  };