node-type-registry 0.2.2 → 0.3.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.
Files changed (159) hide show
  1. package/authz/authz-allow-all.js +9 -7
  2. package/authz/authz-composite.js +10 -7
  3. package/authz/authz-deny-all.js +9 -7
  4. package/authz/authz-direct-owner-any.js +10 -7
  5. package/authz/authz-direct-owner.js +10 -7
  6. package/authz/authz-entity-membership.js +10 -7
  7. package/authz/authz-member-list.js +10 -7
  8. package/authz/authz-membership-check.js +10 -7
  9. package/authz/authz-org-hierarchy.js +11 -7
  10. package/authz/authz-peer-ownership.js +11 -7
  11. package/authz/authz-publishable.js +11 -7
  12. package/authz/authz-related-entity-membership.js +10 -7
  13. package/authz/authz-related-member-list.js +10 -7
  14. package/authz/authz-related-peer-ownership.js +11 -7
  15. package/authz/authz-temporal.js +10 -7
  16. package/data/data-bm25.js +11 -7
  17. package/data/data-direct-owner.js +10 -7
  18. package/data/data-embedding.js +12 -7
  19. package/data/data-entity-membership.js +10 -7
  20. package/data/data-force-current-user.d.ts +2 -0
  21. package/data/data-force-current-user.js +25 -0
  22. package/data/data-full-text-search.js +12 -7
  23. package/data/data-id.js +10 -7
  24. package/data/data-immutable-fields.d.ts +2 -0
  25. package/data/data-immutable-fields.js +30 -0
  26. package/data/data-inflection.d.ts +2 -0
  27. package/data/data-inflection.js +45 -0
  28. package/data/data-inherit-from-parent.d.ts +2 -0
  29. package/data/data-inherit-from-parent.js +43 -0
  30. package/data/data-job-trigger.js +11 -7
  31. package/data/data-jsonb.js +10 -7
  32. package/data/data-owned-fields.d.ts +2 -0
  33. package/data/data-owned-fields.js +35 -0
  34. package/data/data-ownership-in-entity.js +12 -7
  35. package/data/data-peoplestamps.js +10 -7
  36. package/data/data-postgis-aggregate.js +13 -7
  37. package/data/data-postgis.js +12 -7
  38. package/data/data-publishable.js +11 -7
  39. package/data/data-search.js +11 -7
  40. package/{field/field-slug.d.ts → data/data-slug.d.ts} +1 -1
  41. package/data/data-slug.js +30 -0
  42. package/data/data-soft-delete.js +9 -7
  43. package/data/data-status-field.js +10 -7
  44. package/data/data-tags.js +10 -7
  45. package/data/data-timestamps.js +10 -7
  46. package/data/data-trgm.js +11 -7
  47. package/data/index.d.ts +9 -0
  48. package/data/index.js +19 -1
  49. package/data/table-organization-settings.js +20 -0
  50. package/data/table-user-profiles.js +20 -0
  51. package/data/table-user-settings.js +20 -0
  52. package/esm/authz/authz-allow-all.js +9 -7
  53. package/esm/authz/authz-composite.js +10 -7
  54. package/esm/authz/authz-deny-all.js +9 -7
  55. package/esm/authz/authz-direct-owner-any.js +10 -7
  56. package/esm/authz/authz-direct-owner.js +10 -7
  57. package/esm/authz/authz-entity-membership.js +10 -7
  58. package/esm/authz/authz-member-list.js +10 -7
  59. package/esm/authz/authz-membership-check.js +10 -7
  60. package/esm/authz/authz-org-hierarchy.js +11 -7
  61. package/esm/authz/authz-peer-ownership.js +11 -7
  62. package/esm/authz/authz-publishable.js +11 -7
  63. package/esm/authz/authz-related-entity-membership.js +10 -7
  64. package/esm/authz/authz-related-member-list.js +10 -7
  65. package/esm/authz/authz-related-peer-ownership.js +11 -7
  66. package/esm/authz/authz-temporal.js +10 -7
  67. package/esm/data/data-bm25.js +11 -7
  68. package/esm/data/data-direct-owner.js +10 -7
  69. package/esm/data/data-embedding.js +12 -7
  70. package/esm/data/data-entity-membership.js +10 -7
  71. package/esm/data/data-force-current-user.d.ts +2 -0
  72. package/esm/data/data-force-current-user.js +22 -0
  73. package/esm/data/data-full-text-search.js +12 -7
  74. package/esm/data/data-id.js +10 -7
  75. package/esm/data/data-immutable-fields.d.ts +2 -0
  76. package/esm/data/data-immutable-fields.js +27 -0
  77. package/esm/data/data-inflection.d.ts +2 -0
  78. package/esm/data/data-inflection.js +42 -0
  79. package/esm/data/data-inherit-from-parent.d.ts +2 -0
  80. package/esm/data/data-inherit-from-parent.js +40 -0
  81. package/esm/data/data-job-trigger.js +11 -7
  82. package/esm/data/data-jsonb.js +10 -7
  83. package/esm/data/data-owned-fields.d.ts +2 -0
  84. package/esm/data/data-owned-fields.js +32 -0
  85. package/esm/data/data-ownership-in-entity.js +12 -7
  86. package/esm/data/data-peoplestamps.js +10 -7
  87. package/esm/data/data-postgis-aggregate.js +13 -7
  88. package/esm/data/data-postgis.js +12 -7
  89. package/esm/data/data-publishable.js +11 -7
  90. package/esm/data/data-search.js +11 -7
  91. package/esm/{field/field-slug.d.ts → data/data-slug.d.ts} +1 -1
  92. package/esm/data/data-slug.js +27 -0
  93. package/esm/data/data-soft-delete.js +9 -7
  94. package/esm/data/data-status-field.js +10 -7
  95. package/esm/data/data-tags.js +10 -7
  96. package/esm/data/data-timestamps.js +10 -7
  97. package/esm/data/data-trgm.js +11 -7
  98. package/esm/data/index.d.ts +9 -0
  99. package/esm/data/index.js +9 -0
  100. package/esm/data/table-organization-settings.js +17 -0
  101. package/esm/data/table-user-profiles.js +17 -0
  102. package/esm/data/table-user-settings.js +17 -0
  103. package/esm/index.d.ts +0 -2
  104. package/esm/index.js +0 -7
  105. package/esm/relation/relation-belongs-to.js +11 -7
  106. package/esm/relation/relation-has-many.js +12 -7
  107. package/esm/relation/relation-has-one.js +12 -7
  108. package/esm/relation/relation-many-to-many.js +12 -7
  109. package/esm/view/view-aggregated.js +11 -7
  110. package/esm/view/view-composite.js +12 -7
  111. package/esm/view/view-filtered-table.js +11 -7
  112. package/esm/view/view-joined-tables.js +10 -7
  113. package/esm/view/view-table-projection.js +10 -7
  114. package/index.d.ts +0 -2
  115. package/index.js +0 -7
  116. package/package.json +4 -4
  117. package/relation/relation-belongs-to.js +11 -7
  118. package/relation/relation-has-many.js +12 -7
  119. package/relation/relation-has-one.js +12 -7
  120. package/relation/relation-many-to-many.js +12 -7
  121. package/view/view-aggregated.js +11 -7
  122. package/view/view-composite.js +12 -7
  123. package/view/view-filtered-table.js +11 -7
  124. package/view/view-joined-tables.js +10 -7
  125. package/view/view-table-projection.js +10 -7
  126. package/esm/field/field-immutable.d.ts +0 -2
  127. package/esm/field/field-immutable.js +0 -21
  128. package/esm/field/field-inflection.d.ts +0 -2
  129. package/esm/field/field-inflection.js +0 -29
  130. package/esm/field/field-owned.d.ts +0 -2
  131. package/esm/field/field-owned.js +0 -36
  132. package/esm/field/field-slug.js +0 -26
  133. package/esm/field/index.d.ts +0 -4
  134. package/esm/field/index.js +0 -4
  135. package/esm/table/index.d.ts +0 -3
  136. package/esm/table/index.js +0 -3
  137. package/esm/table/table-organization-settings.js +0 -12
  138. package/esm/table/table-user-profiles.js +0 -12
  139. package/esm/table/table-user-settings.js +0 -12
  140. package/field/field-immutable.d.ts +0 -2
  141. package/field/field-immutable.js +0 -24
  142. package/field/field-inflection.d.ts +0 -2
  143. package/field/field-inflection.js +0 -32
  144. package/field/field-owned.d.ts +0 -2
  145. package/field/field-owned.js +0 -39
  146. package/field/field-slug.js +0 -29
  147. package/field/index.d.ts +0 -4
  148. package/field/index.js +0 -11
  149. package/table/index.d.ts +0 -3
  150. package/table/index.js +0 -9
  151. package/table/table-organization-settings.js +0 -15
  152. package/table/table-user-profiles.js +0 -15
  153. package/table/table-user-settings.js +0 -15
  154. /package/{esm/table → data}/table-organization-settings.d.ts +0 -0
  155. /package/{esm/table → data}/table-user-profiles.d.ts +0 -0
  156. /package/{esm/table → data}/table-user-settings.d.ts +0 -0
  157. /package/{table → esm/data}/table-organization-settings.d.ts +0 -0
  158. /package/{table → esm/data}/table-user-profiles.d.ts +0 -0
  159. /package/{table → esm/data}/table-user-settings.d.ts +0 -0
package/data/index.d.ts CHANGED
@@ -17,3 +17,12 @@ export { DataTags } from './data-tags';
17
17
  export { DataStatusField } from './data-status-field';
18
18
  export { DataJsonb } from './data-jsonb';
19
19
  export { DataTrgm } from './data-trgm';
20
+ export { DataSlug } from './data-slug';
21
+ export { DataInflection } from './data-inflection';
22
+ export { DataOwnedFields } from './data-owned-fields';
23
+ export { DataInheritFromParent } from './data-inherit-from-parent';
24
+ export { DataForceCurrentUser } from './data-force-current-user';
25
+ export { DataImmutableFields } from './data-immutable-fields';
26
+ export { TableUserProfiles } from './table-user-profiles';
27
+ export { TableOrganizationSettings } from './table-organization-settings';
28
+ export { TableUserSettings } from './table-user-settings';
package/data/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTrgm = exports.DataJsonb = exports.DataStatusField = exports.DataTags = exports.DataJobTrigger = exports.DataPostGISAggregate = exports.DataPostGIS = exports.DataSearch = exports.DataBm25 = exports.DataFullTextSearch = exports.DataEmbedding = exports.DataSoftDelete = exports.DataPublishable = exports.DataPeoplestamps = exports.DataTimestamps = exports.DataOwnershipInEntity = exports.DataEntityMembership = exports.DataDirectOwner = exports.DataId = void 0;
3
+ exports.TableUserSettings = exports.TableOrganizationSettings = exports.TableUserProfiles = exports.DataImmutableFields = exports.DataForceCurrentUser = exports.DataInheritFromParent = exports.DataOwnedFields = exports.DataInflection = exports.DataSlug = exports.DataTrgm = exports.DataJsonb = exports.DataStatusField = exports.DataTags = exports.DataJobTrigger = exports.DataPostGISAggregate = exports.DataPostGIS = exports.DataSearch = exports.DataBm25 = exports.DataFullTextSearch = exports.DataEmbedding = exports.DataSoftDelete = exports.DataPublishable = exports.DataPeoplestamps = exports.DataTimestamps = exports.DataOwnershipInEntity = exports.DataEntityMembership = exports.DataDirectOwner = exports.DataId = void 0;
4
4
  var data_id_1 = require("./data-id");
5
5
  Object.defineProperty(exports, "DataId", { enumerable: true, get: function () { return data_id_1.DataId; } });
6
6
  var data_direct_owner_1 = require("./data-direct-owner");
@@ -39,3 +39,21 @@ var data_jsonb_1 = require("./data-jsonb");
39
39
  Object.defineProperty(exports, "DataJsonb", { enumerable: true, get: function () { return data_jsonb_1.DataJsonb; } });
40
40
  var data_trgm_1 = require("./data-trgm");
41
41
  Object.defineProperty(exports, "DataTrgm", { enumerable: true, get: function () { return data_trgm_1.DataTrgm; } });
42
+ var data_slug_1 = require("./data-slug");
43
+ Object.defineProperty(exports, "DataSlug", { enumerable: true, get: function () { return data_slug_1.DataSlug; } });
44
+ var data_inflection_1 = require("./data-inflection");
45
+ Object.defineProperty(exports, "DataInflection", { enumerable: true, get: function () { return data_inflection_1.DataInflection; } });
46
+ var data_owned_fields_1 = require("./data-owned-fields");
47
+ Object.defineProperty(exports, "DataOwnedFields", { enumerable: true, get: function () { return data_owned_fields_1.DataOwnedFields; } });
48
+ var data_inherit_from_parent_1 = require("./data-inherit-from-parent");
49
+ Object.defineProperty(exports, "DataInheritFromParent", { enumerable: true, get: function () { return data_inherit_from_parent_1.DataInheritFromParent; } });
50
+ var data_force_current_user_1 = require("./data-force-current-user");
51
+ Object.defineProperty(exports, "DataForceCurrentUser", { enumerable: true, get: function () { return data_force_current_user_1.DataForceCurrentUser; } });
52
+ var data_immutable_fields_1 = require("./data-immutable-fields");
53
+ Object.defineProperty(exports, "DataImmutableFields", { enumerable: true, get: function () { return data_immutable_fields_1.DataImmutableFields; } });
54
+ var table_user_profiles_1 = require("./table-user-profiles");
55
+ Object.defineProperty(exports, "TableUserProfiles", { enumerable: true, get: function () { return table_user_profiles_1.TableUserProfiles; } });
56
+ var table_organization_settings_1 = require("./table-organization-settings");
57
+ Object.defineProperty(exports, "TableOrganizationSettings", { enumerable: true, get: function () { return table_organization_settings_1.TableOrganizationSettings; } });
58
+ var table_user_settings_1 = require("./table-user-settings");
59
+ Object.defineProperty(exports, "TableUserSettings", { enumerable: true, get: function () { return table_user_settings_1.TableUserSettings; } });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableOrganizationSettings = void 0;
4
+ exports.TableOrganizationSettings = {
5
+ "name": "TableOrganizationSettings",
6
+ "slug": "table_organization_settings",
7
+ "category": "data",
8
+ "display_name": "Organization Settings",
9
+ "description": "Creates an organization settings table with standard business fields (legal_name, address fields). Uses AuthzEntityMembership for access control.",
10
+ "parameter_schema": {
11
+ "type": "object",
12
+ "properties": {}
13
+ },
14
+ "tags": [
15
+ "template",
16
+ "settings",
17
+ "membership",
18
+ "schema"
19
+ ]
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableUserProfiles = void 0;
4
+ exports.TableUserProfiles = {
5
+ "name": "TableUserProfiles",
6
+ "slug": "table_user_profiles",
7
+ "category": "data",
8
+ "display_name": "User Profiles",
9
+ "description": "Creates a user profiles table with standard profile fields (profile_picture, bio, first_name, last_name, tags, desired). Uses AuthzDirectOwner for edit access and AuthzAllowAll for select.",
10
+ "parameter_schema": {
11
+ "type": "object",
12
+ "properties": {}
13
+ },
14
+ "tags": [
15
+ "template",
16
+ "settings",
17
+ "ownership",
18
+ "schema"
19
+ ]
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableUserSettings = void 0;
4
+ exports.TableUserSettings = {
5
+ "name": "TableUserSettings",
6
+ "slug": "table_user_settings",
7
+ "category": "data",
8
+ "display_name": "User Settings",
9
+ "description": "Creates a user settings table for user-specific configuration. Uses AuthzDirectOwner for access control.",
10
+ "parameter_schema": {
11
+ "type": "object",
12
+ "properties": {}
13
+ },
14
+ "tags": [
15
+ "template",
16
+ "settings",
17
+ "ownership",
18
+ "schema"
19
+ ]
20
+ };
@@ -1,12 +1,14 @@
1
1
  export const AuthzAllowAll = {
2
- name: 'AuthzAllowAll',
3
- slug: 'authz_allow_all',
4
- category: 'authz',
5
- display_name: 'Public Access',
6
- description: 'Allows all access. Generates TRUE expression.',
7
- parameter_schema: {
2
+ "name": "AuthzAllowAll",
3
+ "slug": "authz_allow_all",
4
+ "category": "authz",
5
+ "display_name": "Public Access",
6
+ "description": "Allows all access. Generates TRUE expression.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {}
10
10
  },
11
- tags: ['authz'],
11
+ "tags": [
12
+ "authz"
13
+ ]
12
14
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzComposite = {
2
- name: 'AuthzComposite',
3
- slug: 'authz_composite',
4
- category: 'authz',
5
- display_name: 'Composite Policy',
6
- description: 'Composite authorization policy that combines multiple authorization nodes using boolean logic (AND/OR). The data field contains a JSONB AST with nested authorization nodes.',
7
- parameter_schema: {
2
+ "name": "AuthzComposite",
3
+ "slug": "authz_composite",
4
+ "category": "authz",
5
+ "display_name": "Composite Policy",
6
+ "description": "Composite authorization policy that combines multiple authorization nodes using boolean logic (AND/OR). The data field contains a JSONB AST with nested authorization nodes.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "description": "A composite policy containing nested authorization nodes combined with boolean logic",
10
10
  "properties": {
@@ -32,5 +32,8 @@ export const AuthzComposite = {
32
32
  }
33
33
  }
34
34
  },
35
- tags: ['composite', 'authz'],
35
+ "tags": [
36
+ "composite",
37
+ "authz"
38
+ ]
36
39
  };
@@ -1,12 +1,14 @@
1
1
  export const AuthzDenyAll = {
2
- name: 'AuthzDenyAll',
3
- slug: 'authz_deny_all',
4
- category: 'authz',
5
- display_name: 'No Access',
6
- description: 'Denies all access. Generates FALSE expression.',
7
- parameter_schema: {
2
+ "name": "AuthzDenyAll",
3
+ "slug": "authz_deny_all",
4
+ "category": "authz",
5
+ "display_name": "No Access",
6
+ "description": "Denies all access. Generates FALSE expression.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {}
10
10
  },
11
- tags: ['authz'],
11
+ "tags": [
12
+ "authz"
13
+ ]
12
14
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzDirectOwnerAny = {
2
- name: 'AuthzDirectOwnerAny',
3
- slug: 'authz_direct_owner_any',
4
- category: 'authz',
5
- display_name: 'Multi-Owner Access',
6
- description: 'OR logic for multiple ownership fields. Checks if current user matches any of the specified fields.',
7
- parameter_schema: {
2
+ "name": "AuthzDirectOwnerAny",
3
+ "slug": "authz_direct_owner_any",
4
+ "category": "authz",
5
+ "display_name": "Multi-Owner Access",
6
+ "description": "OR logic for multiple ownership fields. Checks if current user matches any of the specified fields.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_fields": {
@@ -19,5 +19,8 @@ export const AuthzDirectOwnerAny = {
19
19
  "entity_fields"
20
20
  ]
21
21
  },
22
- tags: ['ownership', 'authz'],
22
+ "tags": [
23
+ "ownership",
24
+ "authz"
25
+ ]
23
26
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzDirectOwner = {
2
- name: 'AuthzDirectOwner',
3
- slug: 'authz_direct_owner',
4
- category: 'authz',
5
- display_name: 'Direct Ownership',
6
- description: 'Direct equality comparison between a table column and the current user ID. Simplest authorization pattern with no subqueries.',
7
- parameter_schema: {
2
+ "name": "AuthzDirectOwner",
3
+ "slug": "authz_direct_owner",
4
+ "category": "authz",
5
+ "display_name": "Direct Ownership",
6
+ "description": "Direct equality comparison between a table column and the current user ID. Simplest authorization pattern with no subqueries.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_field": {
@@ -16,5 +16,8 @@ export const AuthzDirectOwner = {
16
16
  "entity_field"
17
17
  ]
18
18
  },
19
- tags: ['ownership', 'authz'],
19
+ "tags": [
20
+ "ownership",
21
+ "authz"
22
+ ]
20
23
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzEntityMembership = {
2
- name: 'AuthzEntityMembership',
3
- slug: 'authz_entity_membership',
4
- category: 'authz',
5
- display_name: 'Entity Membership',
6
- description: 'Membership check scoped by a field on the row through the SPRT table. Verifies user has membership in the entity referenced by the row.',
7
- parameter_schema: {
2
+ "name": "AuthzEntityMembership",
3
+ "slug": "authz_entity_membership",
4
+ "category": "authz",
5
+ "display_name": "Entity Membership",
6
+ "description": "Membership check scoped by a field on the row through the SPRT table. Verifies user has membership in the entity referenced by the row.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_field": {
@@ -42,5 +42,8 @@ export const AuthzEntityMembership = {
42
42
  "entity_field"
43
43
  ]
44
44
  },
45
- tags: ['membership', 'authz'],
45
+ "tags": [
46
+ "membership",
47
+ "authz"
48
+ ]
46
49
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzMemberList = {
2
- name: 'AuthzMemberList',
3
- slug: 'authz_member_list',
4
- category: 'authz',
5
- display_name: 'Member List',
6
- description: 'Check if current user is in an array column on the same row.',
7
- parameter_schema: {
2
+ "name": "AuthzMemberList",
3
+ "slug": "authz_member_list",
4
+ "category": "authz",
5
+ "display_name": "Member List",
6
+ "description": "Check if current user is in an array column on the same row.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "array_field": {
@@ -16,5 +16,8 @@ export const AuthzMemberList = {
16
16
  "array_field"
17
17
  ]
18
18
  },
19
- tags: ['ownership', 'authz'],
19
+ "tags": [
20
+ "ownership",
21
+ "authz"
22
+ ]
20
23
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzMembership = {
2
- name: 'AuthzMembership',
3
- slug: 'authz_membership_check',
4
- category: 'authz',
5
- display_name: 'Membership Check',
6
- description: 'Membership check that verifies the user has membership (optionally with specific permission) without binding to any entity from the row. Uses EXISTS subquery against SPRT table.',
7
- parameter_schema: {
2
+ "name": "AuthzMembership",
3
+ "slug": "authz_membership_check",
4
+ "category": "authz",
5
+ "display_name": "Membership Check",
6
+ "description": "Membership check that verifies the user has membership (optionally with specific permission) without binding to any entity from the row. Uses EXISTS subquery against SPRT table.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "membership_type": {
@@ -38,5 +38,8 @@ export const AuthzMembership = {
38
38
  "membership_type"
39
39
  ]
40
40
  },
41
- tags: ['membership', 'authz'],
41
+ "tags": [
42
+ "membership",
43
+ "authz"
44
+ ]
42
45
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzOrgHierarchy = {
2
- name: 'AuthzOrgHierarchy',
3
- slug: 'authz_org_hierarchy',
4
- category: 'authz',
5
- display_name: 'Org Hierarchy',
6
- description: 'Organizational hierarchy visibility using closure table. Managers can see subordinate data or subordinates can see manager data.',
7
- parameter_schema: {
2
+ "name": "AuthzOrgHierarchy",
3
+ "slug": "authz_org_hierarchy",
4
+ "category": "authz",
5
+ "display_name": "Org Hierarchy",
6
+ "description": "Organizational hierarchy visibility using closure table. Managers can see subordinate data or subordinates can see manager data.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "direction": {
@@ -34,5 +34,9 @@ export const AuthzOrgHierarchy = {
34
34
  "anchor_field"
35
35
  ]
36
36
  },
37
- tags: ['membership', 'hierarchy', 'authz'],
37
+ "tags": [
38
+ "membership",
39
+ "hierarchy",
40
+ "authz"
41
+ ]
38
42
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzPeerOwnership = {
2
- name: 'AuthzPeerOwnership',
3
- slug: 'authz_peer_ownership',
4
- category: 'authz',
5
- display_name: 'Peer Ownership',
6
- description: 'Peer visibility through shared entity membership. Authorizes access to user-owned rows when the owner and current user are both members of the same entity. Self-joins the SPRT table to find peers.',
7
- parameter_schema: {
2
+ "name": "AuthzPeerOwnership",
3
+ "slug": "authz_peer_ownership",
4
+ "category": "authz",
5
+ "display_name": "Peer Ownership",
6
+ "description": "Peer visibility through shared entity membership. Authorizes access to user-owned rows when the owner and current user are both members of the same entity. Self-joins the SPRT table to find peers.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "owner_field": {
@@ -42,5 +42,9 @@ export const AuthzPeerOwnership = {
42
42
  "owner_field"
43
43
  ]
44
44
  },
45
- tags: ['membership', 'peer', 'authz'],
45
+ "tags": [
46
+ "membership",
47
+ "peer",
48
+ "authz"
49
+ ]
46
50
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzPublishable = {
2
- name: 'AuthzPublishable',
3
- slug: 'authz_publishable',
4
- category: 'authz',
5
- display_name: 'Published Content',
6
- description: 'Published state access control. Restricts access to records that are published.',
7
- parameter_schema: {
2
+ "name": "AuthzPublishable",
3
+ "slug": "authz_publishable",
4
+ "category": "authz",
5
+ "display_name": "Published Content",
6
+ "description": "Published state access control. Restricts access to records that are published.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "is_published_field": {
@@ -24,5 +24,9 @@ export const AuthzPublishable = {
24
24
  }
25
25
  }
26
26
  },
27
- tags: ['temporal', 'publishing', 'authz'],
27
+ "tags": [
28
+ "temporal",
29
+ "publishing",
30
+ "authz"
31
+ ]
28
32
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzRelatedEntityMembership = {
2
- name: 'AuthzRelatedEntityMembership',
3
- slug: 'authz_related_entity_membership',
4
- category: 'authz',
5
- display_name: 'Related Entity Membership',
6
- description: 'JOIN-based membership verification through related tables. Joins SPRT table with another table to verify membership.',
7
- parameter_schema: {
2
+ "name": "AuthzRelatedEntityMembership",
3
+ "slug": "authz_related_entity_membership",
4
+ "category": "authz",
5
+ "display_name": "Related Entity Membership",
6
+ "description": "JOIN-based membership verification through related tables. Joins SPRT table with another table to verify membership.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_field": {
@@ -64,5 +64,8 @@ export const AuthzRelatedEntityMembership = {
64
64
  "entity_field"
65
65
  ]
66
66
  },
67
- tags: ['membership', 'authz'],
67
+ "tags": [
68
+ "membership",
69
+ "authz"
70
+ ]
68
71
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzRelatedMemberList = {
2
- name: 'AuthzRelatedMemberList',
3
- slug: 'authz_related_member_list',
4
- category: 'authz',
5
- display_name: 'Related Member List',
6
- description: 'Array membership check in a related table.',
7
- parameter_schema: {
2
+ "name": "AuthzRelatedMemberList",
3
+ "slug": "authz_related_member_list",
4
+ "category": "authz",
5
+ "display_name": "Related Member List",
6
+ "description": "Array membership check in a related table.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "owned_schema": {
@@ -36,5 +36,8 @@ export const AuthzRelatedMemberList = {
36
36
  "this_object_key"
37
37
  ]
38
38
  },
39
- tags: ['ownership', 'authz'],
39
+ "tags": [
40
+ "ownership",
41
+ "authz"
42
+ ]
40
43
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzRelatedPeerOwnership = {
2
- name: 'AuthzRelatedPeerOwnership',
3
- slug: 'authz_related_peer_ownership',
4
- category: 'authz',
5
- display_name: 'Related Peer Ownership',
6
- description: 'Peer visibility through shared entity membership via a related table. Like AuthzPeerOwnership but the owning user is resolved through a FK JOIN to a related table. Combines SPRT self-join with object table JOIN.',
7
- parameter_schema: {
2
+ "name": "AuthzRelatedPeerOwnership",
3
+ "slug": "authz_related_peer_ownership",
4
+ "category": "authz",
5
+ "display_name": "Related Peer Ownership",
6
+ "description": "Peer visibility through shared entity membership via a related table. Like AuthzPeerOwnership but the owning user is resolved through a FK JOIN to a related table. Combines SPRT self-join with object table JOIN.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_field": {
@@ -68,5 +68,9 @@ export const AuthzRelatedPeerOwnership = {
68
68
  "entity_field"
69
69
  ]
70
70
  },
71
- tags: ['membership', 'peer', 'authz'],
71
+ "tags": [
72
+ "membership",
73
+ "peer",
74
+ "authz"
75
+ ]
72
76
  };
@@ -1,10 +1,10 @@
1
1
  export const AuthzTemporal = {
2
- name: 'AuthzTemporal',
3
- slug: 'authz_temporal',
4
- category: 'authz',
5
- display_name: 'Temporal Access',
6
- description: 'Time-window based access control. Restricts access based on valid_from and/or valid_until timestamps. At least one of valid_from_field or valid_until_field must be provided.',
7
- parameter_schema: {
2
+ "name": "AuthzTemporal",
3
+ "slug": "authz_temporal",
4
+ "category": "authz",
5
+ "display_name": "Temporal Access",
6
+ "description": "Time-window based access control. Restricts access based on valid_from and/or valid_until timestamps. At least one of valid_from_field or valid_until_field must be provided.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "valid_from_field": {
@@ -39,5 +39,8 @@ export const AuthzTemporal = {
39
39
  }
40
40
  ]
41
41
  },
42
- tags: ['temporal', 'authz'],
42
+ "tags": [
43
+ "temporal",
44
+ "authz"
45
+ ]
43
46
  };
@@ -1,10 +1,10 @@
1
1
  export const DataBm25 = {
2
- name: 'DataBm25',
3
- slug: 'data_bm25',
4
- category: 'data',
5
- display_name: 'BM25 Search',
6
- description: 'Creates a BM25 index on an existing text column using pg_textsearch. Enables statistical relevance ranking with configurable k1 and b parameters. The BM25 index is auto-detected by graphile-search.',
7
- parameter_schema: {
2
+ "name": "DataBm25",
3
+ "slug": "data_bm25",
4
+ "category": "data",
5
+ "display_name": "BM25 Search",
6
+ "description": "Creates a BM25 index on an existing text column using pg_textsearch. Enables statistical relevance ranking with configurable k1 and b parameters. The BM25 index is auto-detected by graphile-search.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "field_name": {
@@ -36,5 +36,9 @@ export const DataBm25 = {
36
36
  "field_name"
37
37
  ]
38
38
  },
39
- tags: ['search', 'bm25', 'schema'],
39
+ "tags": [
40
+ "search",
41
+ "bm25",
42
+ "schema"
43
+ ]
40
44
  };
@@ -1,10 +1,10 @@
1
1
  export const DataDirectOwner = {
2
- name: 'DataDirectOwner',
3
- slug: 'data_direct_owner',
4
- category: 'data',
5
- display_name: 'Ownership',
6
- description: 'Adds ownership column for direct user ownership. Enables AuthzDirectOwner authorization.',
7
- parameter_schema: {
2
+ "name": "DataDirectOwner",
3
+ "slug": "data_direct_owner",
4
+ "category": "data",
5
+ "display_name": "Ownership",
6
+ "description": "Adds ownership column for direct user ownership. Enables AuthzDirectOwner authorization.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "owner_field_name": {
@@ -24,5 +24,8 @@ export const DataDirectOwner = {
24
24
  }
25
25
  }
26
26
  },
27
- tags: ['ownership', 'schema'],
27
+ "tags": [
28
+ "ownership",
29
+ "schema"
30
+ ]
28
31
  };
@@ -1,10 +1,10 @@
1
1
  export const DataEmbedding = {
2
- name: 'DataEmbedding',
3
- slug: 'data_embedding',
4
- category: 'data',
5
- display_name: 'Embedding',
6
- description: 'Adds a vector embedding column with HNSW or IVFFlat index for similarity search. Supports configurable dimensions, distance metrics (cosine, l2, ip), stale tracking strategies (column, null, hash), and automatic job enqueue triggers for embedding generation.',
7
- parameter_schema: {
2
+ "name": "DataEmbedding",
3
+ "slug": "data_embedding",
4
+ "category": "data",
5
+ "display_name": "Embedding",
6
+ "description": "Adds a vector embedding column with HNSW or IVFFlat index for similarity search. Supports configurable dimensions, distance metrics (cosine, l2, ip), stale tracking strategies (column, null, hash), and automatic job enqueue triggers for embedding generation.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "field_name": {
@@ -75,5 +75,10 @@ export const DataEmbedding = {
75
75
  }
76
76
  }
77
77
  },
78
- tags: ['embedding', 'vector', 'ai', 'schema'],
78
+ "tags": [
79
+ "embedding",
80
+ "vector",
81
+ "ai",
82
+ "schema"
83
+ ]
79
84
  };
@@ -1,10 +1,10 @@
1
1
  export const DataEntityMembership = {
2
- name: 'DataEntityMembership',
3
- slug: 'data_entity_membership',
4
- category: 'data',
5
- display_name: 'Entity Membership',
6
- description: 'Adds entity reference for organization/group scoping. Enables AuthzEntityMembership, AuthzMembership, AuthzOrgHierarchy authorization.',
7
- parameter_schema: {
2
+ "name": "DataEntityMembership",
3
+ "slug": "data_entity_membership",
4
+ "category": "data",
5
+ "display_name": "Entity Membership",
6
+ "description": "Adds entity reference for organization/group scoping. Enables AuthzEntityMembership, AuthzMembership, AuthzOrgHierarchy authorization.",
7
+ "parameter_schema": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "entity_field_name": {
@@ -24,5 +24,8 @@ export const DataEntityMembership = {
24
24
  }
25
25
  }
26
26
  },
27
- tags: ['membership', 'schema'],
27
+ "tags": [
28
+ "membership",
29
+ "schema"
30
+ ]
28
31
  };