@party-stack/ontology 0.3.0 → 0.4.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 (278) hide show
  1. package/lib/OntologyConfig.d.ts +3 -2
  2. package/lib/OntologyConfig.d.ts.map +1 -1
  3. package/lib/cli/generate.d.ts.map +1 -1
  4. package/lib/cli/generate.js +65 -47
  5. package/lib/cli/generate.js.map +1 -1
  6. package/lib/cli/index.js +7 -4
  7. package/lib/cli/index.js.map +1 -1
  8. package/lib/cli/pull.d.ts.map +1 -1
  9. package/lib/cli/pull.js +10 -4
  10. package/lib/cli/pull.js.map +1 -1
  11. package/lib/examples/blog.d.ts +214 -17
  12. package/lib/examples/blog.d.ts.map +1 -1
  13. package/lib/examples/blog.js +20 -0
  14. package/lib/examples/blog.js.map +1 -1
  15. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  16. package/lib/examples/blog.live-queries.js +4 -2
  17. package/lib/examples/blog.live-queries.js.map +1 -1
  18. package/lib/examples/generated/live.d.ts +2 -2
  19. package/lib/examples/generated/live.d.ts.map +1 -1
  20. package/lib/examples/generated/live.js +2 -5
  21. package/lib/examples/generated/live.js.map +1 -1
  22. package/lib/examples/generated/types.d.ts +15 -10
  23. package/lib/examples/generated/types.d.ts.map +1 -1
  24. package/lib/generate/builders.d.ts +9 -0
  25. package/lib/generate/builders.d.ts.map +1 -0
  26. package/lib/generate/builders.js +60 -0
  27. package/lib/generate/builders.js.map +1 -0
  28. package/lib/generate/builders.test.d.ts +2 -0
  29. package/lib/generate/builders.test.d.ts.map +1 -0
  30. package/lib/generate/builders.test.js +49 -0
  31. package/lib/generate/builders.test.js.map +1 -0
  32. package/lib/generate/index.d.ts +5 -0
  33. package/lib/generate/index.d.ts.map +1 -0
  34. package/lib/generate/index.js +5 -0
  35. package/lib/generate/index.js.map +1 -0
  36. package/lib/generate/live.d.ts.map +1 -1
  37. package/lib/generate/live.js +13 -10
  38. package/lib/generate/live.js.map +1 -1
  39. package/lib/generate/ontology.d.ts.map +1 -1
  40. package/lib/generate/ontology.js +29 -8
  41. package/lib/generate/ontology.js.map +1 -1
  42. package/lib/generate/types.d.ts +11 -1
  43. package/lib/generate/types.d.ts.map +1 -1
  44. package/lib/generate/types.js +178 -118
  45. package/lib/generate/types.js.map +1 -1
  46. package/lib/generate/types.test.js +118 -8
  47. package/lib/generate/types.test.js.map +1 -1
  48. package/lib/generate/utils/buildJsDocs.d.ts +7 -0
  49. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -0
  50. package/lib/generate/utils/buildJsDocs.js +12 -0
  51. package/lib/generate/utils/buildJsDocs.js.map +1 -0
  52. package/lib/index.d.ts +4 -2
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +2 -1
  55. package/lib/index.js.map +1 -1
  56. package/lib/infer.d.ts +231 -0
  57. package/lib/infer.d.ts.map +1 -0
  58. package/lib/infer.js +10 -0
  59. package/lib/infer.js.map +1 -0
  60. package/lib/infer.test.d.ts +2 -0
  61. package/lib/infer.test.d.ts.map +1 -0
  62. package/lib/infer.test.js +116 -0
  63. package/lib/infer.test.js.map +1 -0
  64. package/lib/ir/generated/builders.d.ts +180 -180
  65. package/lib/ir/generated/builders.d.ts.map +1 -1
  66. package/lib/ir/generated/builders.js +24 -75
  67. package/lib/ir/generated/builders.js.map +1 -1
  68. package/lib/ir/generated/types.d.ts +32 -5
  69. package/lib/ir/generated/types.d.ts.map +1 -1
  70. package/lib/ir/schema.d.ts +1498 -5
  71. package/lib/ir/schema.d.ts.map +1 -1
  72. package/lib/ir/schema.js +509 -97
  73. package/lib/ir/schema.js.map +1 -1
  74. package/lib/ir/validate.d.ts.map +1 -1
  75. package/lib/ir/validate.js +31 -0
  76. package/lib/ir/validate.js.map +1 -1
  77. package/lib/ir/validate.test.js +53 -3
  78. package/lib/ir/validate.test.js.map +1 -1
  79. package/lib/json/index.d.ts +14 -0
  80. package/lib/json/index.d.ts.map +1 -0
  81. package/lib/json/index.js +158 -0
  82. package/lib/json/index.js.map +1 -0
  83. package/lib/json/index.test.d.ts +2 -0
  84. package/lib/json/index.test.d.ts.map +1 -0
  85. package/lib/json/index.test.js +123 -0
  86. package/lib/json/index.test.js.map +1 -0
  87. package/lib/live/LiveOntology.d.ts +43 -18
  88. package/lib/live/LiveOntology.d.ts.map +1 -1
  89. package/lib/live/LiveOntology.js +63 -67
  90. package/lib/live/LiveOntology.js.map +1 -1
  91. package/lib/live/LiveOntology.test.d.ts +2 -0
  92. package/lib/live/LiveOntology.test.d.ts.map +1 -0
  93. package/lib/live/LiveOntology.test.js +154 -0
  94. package/lib/live/LiveOntology.test.js.map +1 -0
  95. package/lib/live/OntologyBackendAdapter.d.ts +53 -0
  96. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -0
  97. package/lib/live/OntologyBackendAdapter.js +2 -0
  98. package/lib/live/OntologyBackendAdapter.js.map +1 -0
  99. package/lib/live/actions/createLiveOntologyAction.d.ts +20 -0
  100. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -0
  101. package/lib/live/actions/createLiveOntologyAction.js +22 -0
  102. package/lib/live/actions/createLiveOntologyAction.js.map +1 -0
  103. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -0
  104. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -0
  105. package/lib/live/actions/createLiveOntologyActions.js +129 -0
  106. package/lib/live/actions/createLiveOntologyActions.js.map +1 -0
  107. package/lib/live/actions/prepareActionParameters.d.ts +16 -0
  108. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -0
  109. package/lib/live/actions/prepareActionParameters.js +251 -0
  110. package/lib/live/actions/prepareActionParameters.js.map +1 -0
  111. package/lib/live/actions/prepareActionParameters.test.d.ts +2 -0
  112. package/lib/live/actions/prepareActionParameters.test.d.ts.map +1 -0
  113. package/lib/live/actions/prepareActionParameters.test.js +165 -0
  114. package/lib/live/actions/prepareActionParameters.test.js.map +1 -0
  115. package/lib/live/attachments/attachmentSources.d.ts +7 -0
  116. package/lib/live/attachments/attachmentSources.d.ts.map +1 -0
  117. package/lib/live/attachments/attachmentSources.js +80 -0
  118. package/lib/live/attachments/attachmentSources.js.map +1 -0
  119. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +38 -0
  120. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -0
  121. package/lib/live/attachments/createLiveOntologyAttachments.js +59 -0
  122. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -0
  123. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +2 -0
  124. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +1 -0
  125. package/lib/live/attachments/createLiveOntologyAttachments.test.js +244 -0
  126. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +1 -0
  127. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -0
  128. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -0
  129. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -0
  130. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -0
  131. package/lib/live/expression.d.ts +16 -3
  132. package/lib/live/expression.d.ts.map +1 -1
  133. package/lib/live/expression.js +54 -41
  134. package/lib/live/expression.js.map +1 -1
  135. package/lib/live/expression.test.d.ts +2 -0
  136. package/lib/live/expression.test.d.ts.map +1 -0
  137. package/lib/live/expression.test.js +76 -0
  138. package/lib/live/expression.test.js.map +1 -0
  139. package/lib/live/index.d.ts +4 -1
  140. package/lib/live/index.d.ts.map +1 -1
  141. package/lib/live/index.js +4 -1
  142. package/lib/live/index.js.map +1 -1
  143. package/lib/live/mutators/OntologyEdits.d.ts +11 -0
  144. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -0
  145. package/lib/live/mutators/OntologyEdits.js +66 -0
  146. package/lib/live/mutators/OntologyEdits.js.map +1 -0
  147. package/lib/live/mutators/createMutatorTx.d.ts +9 -0
  148. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -0
  149. package/lib/live/mutators/createMutatorTx.js +67 -0
  150. package/lib/live/mutators/createMutatorTx.js.map +1 -0
  151. package/lib/live/mutators/createMutatorTx.test.d.ts +2 -0
  152. package/lib/live/mutators/createMutatorTx.test.d.ts.map +1 -0
  153. package/lib/live/mutators/createMutatorTx.test.js +90 -0
  154. package/lib/live/mutators/createMutatorTx.test.js.map +1 -0
  155. package/lib/live/mutators/runOptimisticAction.d.ts +15 -0
  156. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -0
  157. package/lib/live/mutators/runOptimisticAction.js +29 -0
  158. package/lib/live/mutators/runOptimisticAction.js.map +1 -0
  159. package/lib/live/mutators/types.d.ts +24 -0
  160. package/lib/live/mutators/types.d.ts.map +1 -0
  161. package/lib/live/mutators/types.js +2 -0
  162. package/lib/live/mutators/types.js.map +1 -0
  163. package/lib/live/objects/OntologyObject.d.ts +2 -0
  164. package/lib/live/objects/OntologyObject.d.ts.map +1 -0
  165. package/lib/live/objects/OntologyObject.js +2 -0
  166. package/lib/live/objects/OntologyObject.js.map +1 -0
  167. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +14 -0
  168. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -0
  169. package/lib/live/objects/createLiveOntologyObjectCollection.js +59 -0
  170. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -0
  171. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +2 -0
  172. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +1 -0
  173. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +176 -0
  174. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +1 -0
  175. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  176. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -0
  177. package/lib/live/objects/ontologyObjectCollectionId.js +4 -0
  178. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -0
  179. package/lib/live/outbox/createOntologyOutbox.d.ts +19 -0
  180. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -0
  181. package/lib/live/outbox/createOntologyOutbox.js +321 -0
  182. package/lib/live/outbox/createOntologyOutbox.js.map +1 -0
  183. package/lib/live/outbox/createOntologyOutbox.test.d.ts +2 -0
  184. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +1 -0
  185. package/lib/live/outbox/createOntologyOutbox.test.js +914 -0
  186. package/lib/live/outbox/createOntologyOutbox.test.js.map +1 -0
  187. package/lib/live/outbox/leaderExecutor.d.ts +16 -0
  188. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -0
  189. package/lib/live/outbox/leaderExecutor.js +143 -0
  190. package/lib/live/outbox/leaderExecutor.js.map +1 -0
  191. package/lib/live/outbox/outboxService.d.ts +5 -0
  192. package/lib/live/outbox/outboxService.d.ts.map +1 -0
  193. package/lib/live/outbox/outboxService.js +73 -0
  194. package/lib/live/outbox/outboxService.js.map +1 -0
  195. package/lib/live/outbox/outboxValues.d.ts +7 -0
  196. package/lib/live/outbox/outboxValues.d.ts.map +1 -0
  197. package/lib/live/outbox/outboxValues.js +76 -0
  198. package/lib/live/outbox/outboxValues.js.map +1 -0
  199. package/lib/live/outbox/projectionManager.d.ts +29 -0
  200. package/lib/live/outbox/projectionManager.d.ts.map +1 -0
  201. package/lib/live/outbox/projectionManager.js +155 -0
  202. package/lib/live/outbox/projectionManager.js.map +1 -0
  203. package/lib/live/outbox/repository.d.ts +29 -0
  204. package/lib/live/outbox/repository.d.ts.map +1 -0
  205. package/lib/live/outbox/repository.js +245 -0
  206. package/lib/live/outbox/repository.js.map +1 -0
  207. package/lib/live/outbox/service.d.ts +59 -0
  208. package/lib/live/outbox/service.d.ts.map +1 -0
  209. package/lib/live/outbox/service.js +2 -0
  210. package/lib/live/outbox/service.js.map +1 -0
  211. package/lib/live/outbox/types.d.ts +45 -0
  212. package/lib/live/outbox/types.d.ts.map +1 -0
  213. package/lib/live/outbox/types.js +7 -0
  214. package/lib/live/outbox/types.js.map +1 -0
  215. package/lib/meta/generated/live.d.ts +5 -0
  216. package/lib/meta/generated/live.d.ts.map +1 -0
  217. package/lib/{ontology → meta}/generated/live.js +2 -5
  218. package/lib/meta/generated/live.js.map +1 -0
  219. package/lib/{ontology → meta}/generated/types.d.ts +32 -11
  220. package/lib/meta/generated/types.d.ts.map +1 -0
  221. package/lib/meta/generated/types.js.map +1 -0
  222. package/lib/{ontology → meta}/ontology.d.ts +1 -0
  223. package/lib/meta/ontology.d.ts.map +1 -0
  224. package/lib/{ontology → meta}/ontology.js +7 -0
  225. package/lib/meta/ontology.js.map +1 -0
  226. package/lib/meta/pull.d.ts +2 -1
  227. package/lib/meta/pull.d.ts.map +1 -1
  228. package/lib/meta/pull.js +20 -5
  229. package/lib/meta/pull.js.map +1 -1
  230. package/lib/utils/provide.d.ts +2 -0
  231. package/lib/utils/provide.d.ts.map +1 -0
  232. package/lib/utils/provide.js +11 -0
  233. package/lib/utils/provide.js.map +1 -0
  234. package/lib/utils/targets.d.ts +35 -0
  235. package/lib/utils/targets.d.ts.map +1 -0
  236. package/lib/utils/targets.js +2 -0
  237. package/lib/utils/targets.js.map +1 -0
  238. package/lib/utils/typeNames.d.ts +26 -0
  239. package/lib/utils/typeNames.d.ts.map +1 -0
  240. package/lib/utils/typeNames.js +2 -0
  241. package/lib/utils/typeNames.js.map +1 -0
  242. package/lib/utils/types.d.ts +6 -5
  243. package/lib/utils/types.d.ts.map +1 -1
  244. package/lib/utils/types.js +22 -1
  245. package/lib/utils/types.js.map +1 -1
  246. package/lib/utils/types.test.js +23 -3
  247. package/lib/utils/types.test.js.map +1 -1
  248. package/lib/utils/values.d.ts +25 -1
  249. package/lib/utils/values.d.ts.map +1 -1
  250. package/package.json +14 -8
  251. package/lib/ir/generated/validators.d.ts +0 -49
  252. package/lib/ir/generated/validators.d.ts.map +0 -1
  253. package/lib/ir/generated/validators.js +0 -173
  254. package/lib/ir/generated/validators.js.map +0 -1
  255. package/lib/live/OntologyAdapter.d.ts +0 -25
  256. package/lib/live/OntologyAdapter.d.ts.map +0 -1
  257. package/lib/live/OntologyAdapter.js +0 -2
  258. package/lib/live/OntologyAdapter.js.map +0 -1
  259. package/lib/live/applyActionLogic.d.ts +0 -10
  260. package/lib/live/applyActionLogic.d.ts.map +0 -1
  261. package/lib/live/applyActionLogic.js +0 -59
  262. package/lib/live/applyActionLogic.js.map +0 -1
  263. package/lib/live/createLiveOntologyAttachments.d.ts +0 -20
  264. package/lib/live/createLiveOntologyAttachments.d.ts.map +0 -1
  265. package/lib/live/createLiveOntologyAttachments.js +0 -30
  266. package/lib/live/createLiveOntologyAttachments.js.map +0 -1
  267. package/lib/live/materializeActionParameters.d.ts +0 -11
  268. package/lib/live/materializeActionParameters.d.ts.map +0 -1
  269. package/lib/live/materializeActionParameters.js +0 -86
  270. package/lib/live/materializeActionParameters.js.map +0 -1
  271. package/lib/ontology/generated/live.d.ts +0 -5
  272. package/lib/ontology/generated/live.d.ts.map +0 -1
  273. package/lib/ontology/generated/live.js.map +0 -1
  274. package/lib/ontology/generated/types.d.ts.map +0 -1
  275. package/lib/ontology/generated/types.js.map +0 -1
  276. package/lib/ontology/ontology.d.ts.map +0 -1
  277. package/lib/ontology/ontology.js.map +0 -1
  278. /package/lib/{ontology → meta}/generated/types.js +0 -0
package/lib/ir/schema.js CHANGED
@@ -1,27 +1,350 @@
1
- import { s, SchemaIRSchema } from "@party-stack/schema";
2
- const schemaTypes = SchemaIRSchema.types.filter((type) => type.name !== "SchemaIR");
3
- const typeDef = schemaTypes.find((type) => type.name === "TypeDef");
4
- typeDef.type.value.variants.push({
5
- name: "attachment",
6
- type: s.ref({ name: "AttachmentTypeDef" }),
7
- });
8
- typeDef.type.value.variants.push({
9
- name: "objectReference",
10
- type: s.ref({ name: "ObjectReferenceTypeDef" }),
11
- });
1
+ import { o } from "./generated/builders.js";
12
2
  export default {
13
3
  types: [
14
- ...schemaTypes,
4
+ {
5
+ name: "Deprecation",
6
+ type: o.struct({
7
+ fields: [
8
+ {
9
+ name: "message",
10
+ displayName: "Message",
11
+ type: o.string({}),
12
+ },
13
+ ],
14
+ }),
15
+ },
16
+ {
17
+ name: "StringEnumConstraint",
18
+ description: "Constrains a string to a set of allowed values.",
19
+ type: o.struct({
20
+ fields: [
21
+ {
22
+ name: "options",
23
+ displayName: "Options",
24
+ type: o.list({
25
+ elementType: o.struct({
26
+ fields: [
27
+ { name: "value", displayName: "Value", type: o.string({}) },
28
+ {
29
+ name: "label",
30
+ displayName: "Label",
31
+ type: o.optional({ type: o.string({}) }),
32
+ },
33
+ ],
34
+ }),
35
+ }),
36
+ },
37
+ ],
38
+ }),
39
+ },
40
+ {
41
+ name: "StringRegexConstraint",
42
+ description: "Constrains a string to a regex.",
43
+ type: o.struct({
44
+ fields: [
45
+ {
46
+ name: "regex",
47
+ displayName: "Regex",
48
+ type: o.string({}),
49
+ },
50
+ ],
51
+ }),
52
+ },
53
+ {
54
+ name: "StringConstraint",
55
+ description: "A constraint that can be applied to a string type.",
56
+ type: o.union({
57
+ variants: [
58
+ { name: "enum", type: o.ref({ name: "StringEnumConstraint" }) },
59
+ { name: "regex", type: o.ref({ name: "StringRegexConstraint" }) },
60
+ ],
61
+ }),
62
+ },
63
+ {
64
+ name: "StringTypeDef",
65
+ description: "A string type with optional constraints.",
66
+ type: o.struct({
67
+ fields: [
68
+ {
69
+ name: "constraint",
70
+ displayName: "Constraint",
71
+ type: o.optional({ type: o.ref({ name: "StringConstraint" }) }),
72
+ },
73
+ ],
74
+ }),
75
+ },
76
+ {
77
+ name: "BooleanTypeDef",
78
+ description: "A boolean type.",
79
+ type: o.struct({ fields: [] }),
80
+ },
81
+ {
82
+ name: "IntegerTypeDef",
83
+ description: "A 32-bit integer type.",
84
+ type: o.struct({ fields: [] }),
85
+ },
86
+ {
87
+ name: "FloatTypeDef",
88
+ description: "A 32-bit floating point type.",
89
+ type: o.struct({ fields: [] }),
90
+ },
91
+ {
92
+ name: "DoubleTypeDef",
93
+ description: "A 64-bit floating point type.",
94
+ type: o.struct({ fields: [] }),
95
+ },
96
+ {
97
+ name: "DateTypeDef",
98
+ description: "A date type (no time component).",
99
+ type: o.struct({ fields: [] }),
100
+ },
101
+ {
102
+ name: "TimestampTypeDef",
103
+ description: "A timestamp type (instant in time).",
104
+ type: o.struct({ fields: [] }),
105
+ },
106
+ {
107
+ name: "GeopointTypeDef",
108
+ description: "A geographic point (lat/lon).",
109
+ type: o.struct({ fields: [] }),
110
+ },
111
+ {
112
+ name: "UnknownTypeDef",
113
+ description: "An opaque type whose shape is not known at schema time.",
114
+ type: o.struct({ fields: [] }),
115
+ },
116
+ {
117
+ name: "ListTypeDef",
118
+ description: "A list/array type.",
119
+ type: o.struct({
120
+ fields: [
121
+ {
122
+ name: "elementType",
123
+ displayName: "Element Type",
124
+ type: o.ref({ name: "TypeDef" }),
125
+ description: "The type of elements in the list.",
126
+ },
127
+ ],
128
+ }),
129
+ },
130
+ {
131
+ name: "MapTypeDef",
132
+ description: "A map/record type.",
133
+ type: o.struct({
134
+ fields: [
135
+ {
136
+ name: "keyType",
137
+ displayName: "Key Type",
138
+ type: o.ref({ name: "TypeDef" }),
139
+ description: "The type of keys (must be string right now).",
140
+ },
141
+ {
142
+ name: "valueType",
143
+ displayName: "Value Type",
144
+ type: o.ref({ name: "TypeDef" }),
145
+ description: "The type of values.",
146
+ },
147
+ ],
148
+ }),
149
+ },
150
+ {
151
+ name: "FieldDef",
152
+ description: "Definition of a field in a struct.",
153
+ type: o.struct({
154
+ fields: [
155
+ {
156
+ name: "name",
157
+ displayName: "Name",
158
+ type: o.string({}),
159
+ description: "The field name in code.",
160
+ },
161
+ {
162
+ name: "displayName",
163
+ displayName: "Display Name",
164
+ type: o.string({}),
165
+ description: "Human-readable name.",
166
+ },
167
+ {
168
+ name: "type",
169
+ displayName: "Type",
170
+ type: o.ref({ name: "TypeDef" }),
171
+ description: "The field's type.",
172
+ },
173
+ {
174
+ name: "description",
175
+ displayName: "Description",
176
+ type: o.optional({ type: o.string({}) }),
177
+ description: "Optional description.",
178
+ },
179
+ {
180
+ name: "deprecated",
181
+ displayName: "Deprecated?",
182
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
183
+ },
184
+ ],
185
+ }),
186
+ },
187
+ {
188
+ name: "StructTypeDef",
189
+ description: "A struct type with named fields.",
190
+ type: o.struct({
191
+ fields: [
192
+ {
193
+ name: "fields",
194
+ displayName: "Fields",
195
+ type: o.list({ elementType: o.ref({ name: "FieldDef" }) }),
196
+ },
197
+ ],
198
+ }),
199
+ },
200
+ {
201
+ name: "VariantDef",
202
+ description: "Definition of a variant in a discriminated union.",
203
+ type: o.struct({
204
+ fields: [
205
+ {
206
+ name: "name",
207
+ displayName: "Name",
208
+ type: o.string({}),
209
+ description: "The variant's discriminator value.",
210
+ },
211
+ {
212
+ name: "type",
213
+ displayName: "Type",
214
+ type: o.ref({ name: "TypeDef" }),
215
+ description: "The variant's payload type.",
216
+ },
217
+ ],
218
+ }),
219
+ },
220
+ {
221
+ name: "UnionTypeDef",
222
+ description: "A discriminated union type.",
223
+ type: o.struct({
224
+ fields: [
225
+ {
226
+ name: "variants",
227
+ displayName: "Variants",
228
+ type: o.list({ elementType: o.ref({ name: "VariantDef" }) }),
229
+ },
230
+ ],
231
+ }),
232
+ },
233
+ {
234
+ name: "OptionalTypeDef",
235
+ description: "Wraps a type to make it optional.",
236
+ type: o.struct({
237
+ fields: [
238
+ {
239
+ name: "type",
240
+ displayName: "Type",
241
+ type: o.ref({ name: "TypeDef" }),
242
+ description: "The wrapped type.",
243
+ },
244
+ ],
245
+ }),
246
+ },
247
+ {
248
+ name: "ResultTypeDef",
249
+ description: "A result type (ok or error).",
250
+ type: o.struct({
251
+ fields: [
252
+ {
253
+ name: "okType",
254
+ displayName: "Ok Type",
255
+ type: o.ref({ name: "TypeDef" }),
256
+ description: "The type of the success value.",
257
+ },
258
+ {
259
+ name: "errType",
260
+ displayName: "Error Type",
261
+ type: o.ref({ name: "TypeDef" }),
262
+ description: "The type of the error value.",
263
+ },
264
+ ],
265
+ }),
266
+ },
267
+ {
268
+ name: "TypeRef",
269
+ description: "A reference to a named type.",
270
+ type: o.struct({
271
+ fields: [
272
+ {
273
+ name: "name",
274
+ displayName: "Name",
275
+ type: o.string({}),
276
+ description: "The name of the referenced type.",
277
+ },
278
+ ],
279
+ }),
280
+ },
281
+ {
282
+ name: "TypeDef",
283
+ description: "A type definition. Can be a primitive, collection, struct, union, optional, result, or reference.",
284
+ type: o.union({
285
+ variants: [
286
+ { name: "string", type: o.ref({ name: "StringTypeDef" }) },
287
+ { name: "boolean", type: o.ref({ name: "BooleanTypeDef" }) },
288
+ { name: "integer", type: o.ref({ name: "IntegerTypeDef" }) },
289
+ { name: "float", type: o.ref({ name: "FloatTypeDef" }) },
290
+ { name: "double", type: o.ref({ name: "DoubleTypeDef" }) },
291
+ { name: "date", type: o.ref({ name: "DateTypeDef" }) },
292
+ { name: "timestamp", type: o.ref({ name: "TimestampTypeDef" }) },
293
+ { name: "geopoint", type: o.ref({ name: "GeopointTypeDef" }) },
294
+ { name: "list", type: o.ref({ name: "ListTypeDef" }) },
295
+ { name: "map", type: o.ref({ name: "MapTypeDef" }) },
296
+ { name: "struct", type: o.ref({ name: "StructTypeDef" }) },
297
+ { name: "union", type: o.ref({ name: "UnionTypeDef" }) },
298
+ { name: "optional", type: o.ref({ name: "OptionalTypeDef" }) },
299
+ { name: "result", type: o.ref({ name: "ResultTypeDef" }) },
300
+ { name: "ref", type: o.ref({ name: "TypeRef" }) },
301
+ { name: "attachment", type: o.ref({ name: "AttachmentTypeDef" }) },
302
+ { name: "objectReference", type: o.ref({ name: "ObjectReferenceTypeDef" }) },
303
+ { name: "unknown", type: o.ref({ name: "UnknownTypeDef" }) },
304
+ ],
305
+ }),
306
+ },
307
+ {
308
+ name: "NamedTypeDef",
309
+ description: "A named type definition that can be referenced by other types.",
310
+ type: o.struct({
311
+ fields: [
312
+ {
313
+ name: "name",
314
+ displayName: "Name",
315
+ type: o.string({}),
316
+ description: "The type's name for use in code.",
317
+ },
318
+ {
319
+ name: "description",
320
+ displayName: "Description",
321
+ type: o.optional({ type: o.string({}) }),
322
+ description: "Optional documentation for the type.",
323
+ },
324
+ {
325
+ name: "deprecated",
326
+ displayName: "Deprecated?",
327
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
328
+ },
329
+ {
330
+ name: "type",
331
+ displayName: "Type",
332
+ type: o.ref({ name: "TypeDef" }),
333
+ description: "The type definition.",
334
+ },
335
+ ],
336
+ }),
337
+ },
15
338
  {
16
339
  name: "AttachmentTypeDef",
17
340
  description: "A file handle.",
18
- type: s.struct({
341
+ type: o.struct({
19
342
  fields: [
20
343
  {
21
344
  name: "meta",
22
345
  displayName: "Meta",
23
- type: s.optional({
24
- type: s.map({ keyType: s.string({}), valueType: s.unknown({}) }),
346
+ type: o.optional({
347
+ type: o.map({ keyType: o.string({}), valueType: o.unknown({}) }),
25
348
  }),
26
349
  },
27
350
  ],
@@ -30,12 +353,12 @@ export default {
30
353
  {
31
354
  name: "ObjectReferenceTypeDef",
32
355
  description: "A reference to an ontology object type.",
33
- type: s.struct({
356
+ type: o.struct({
34
357
  fields: [
35
358
  {
36
359
  name: "objectType",
37
360
  displayName: "Object type",
38
- type: s.string({}),
361
+ type: o.string({}),
39
362
  description: "The referenced object type name.",
40
363
  },
41
364
  ],
@@ -44,36 +367,36 @@ export default {
44
367
  {
45
368
  name: "PropertyDef",
46
369
  description: "A property on an Object type.",
47
- type: s.struct({
370
+ type: o.struct({
48
371
  fields: [
49
372
  {
50
373
  name: "name",
51
374
  displayName: "Name",
52
- type: s.string({}),
375
+ type: o.string({}),
53
376
  description: "The property's name.",
54
377
  },
55
378
  {
56
379
  name: "displayName",
57
380
  displayName: "Display name",
58
- type: s.string({}),
381
+ type: o.string({}),
59
382
  description: "Human-readable name.",
60
383
  },
61
384
  {
62
385
  name: "type",
63
386
  displayName: "Type",
64
- type: s.ref({ name: "TypeDef" }),
387
+ type: o.ref({ name: "TypeDef" }),
65
388
  description: "The property's type.",
66
389
  },
67
390
  {
68
391
  name: "description",
69
392
  displayName: "Description",
70
- type: s.optional({ type: s.string({}) }),
393
+ type: o.optional({ type: o.string({}) }),
71
394
  description: "Optional description.",
72
395
  },
73
396
  {
74
397
  name: "deprecated",
75
398
  displayName: "Deprecated?",
76
- type: s.optional({ type: s.ref({ name: "Deprecation" }) }),
399
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
77
400
  },
78
401
  ],
79
402
  }),
@@ -81,69 +404,69 @@ export default {
81
404
  {
82
405
  name: "ObjectTypeDef",
83
406
  description: "An object type in the ontology.",
84
- type: s.struct({
407
+ type: o.struct({
85
408
  fields: [
86
409
  {
87
410
  name: "name",
88
411
  displayName: "Name",
89
- type: s.string({}),
412
+ type: o.string({}),
90
413
  description: "The object type's programmatic name.",
91
414
  },
92
415
  {
93
416
  name: "displayName",
94
417
  displayName: "Display name",
95
- type: s.string({}),
418
+ type: o.string({}),
96
419
  description: "Human-readable name.",
97
420
  },
98
421
  {
99
422
  name: "pluralDisplayName",
100
423
  displayName: "Plural display name",
101
- type: s.string({}),
424
+ type: o.string({}),
102
425
  },
103
426
  {
104
427
  name: "primaryKey",
105
428
  displayName: "Primary key",
106
- type: s.string({}),
429
+ type: o.string({}),
107
430
  description: "The name of the property that serves as primary key.",
108
431
  },
109
432
  {
110
433
  name: "properties",
111
434
  displayName: "Properties",
112
- type: s.list({ elementType: s.ref({ name: "PropertyDef" }) }),
113
- description: "The object type's properties.",
435
+ type: o.list({ elementType: o.ref({ name: "PropertyDef" }) }),
436
+ description: "The object type's propertieo.",
114
437
  },
115
438
  {
116
439
  name: "description",
117
440
  displayName: "Description",
118
- type: s.optional({ type: s.string({}) }),
441
+ type: o.optional({ type: o.string({}) }),
119
442
  description: "Optional description.",
120
443
  },
121
444
  {
122
445
  name: "deprecated",
123
446
  displayName: "Deprecated?",
124
- type: s.optional({ type: s.ref({ name: "Deprecation" }) }),
447
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
125
448
  },
126
449
  ],
127
450
  }),
128
451
  },
129
452
  {
130
453
  name: "LinkTypeSideDef",
131
- type: s.struct({
454
+ type: o.struct({
132
455
  fields: [
133
456
  {
134
457
  name: "objectType",
135
458
  displayName: "Object type",
136
- type: s.string({}),
459
+ type: o.string({}),
137
460
  },
138
461
  {
139
462
  name: "name",
140
463
  displayName: "Name",
141
- type: s.string({}),
464
+ type: o.string({}),
142
465
  },
143
466
  {
144
467
  name: "displayName",
145
468
  displayName: "Display name",
146
- type: s.string({}),
469
+ type: o.string({}),
147
470
  },
148
471
  ],
149
472
  }),
@@ -151,8 +474,8 @@ export default {
151
474
  {
152
475
  name: "LinkCardinality",
153
476
  description: "The cardinality of a link from the source's perspective.",
154
- type: s.string({
155
- constraint: s.StringConstraint.enum({
477
+ type: o.string({
478
+ constraint: o.StringConstraint.enum({
156
479
  options: [
157
480
  { value: "one", label: "One" },
158
481
  { value: "many", label: "Many" },
@@ -163,34 +486,34 @@ export default {
163
486
  {
164
487
  name: "LinkTypeDef",
165
488
  description: "A relationship between two object types.",
166
- type: s.struct({
489
+ type: o.struct({
167
490
  fields: [
168
491
  {
169
492
  name: "id",
170
493
  displayName: "ID",
171
- type: s.string({}),
494
+ type: o.string({}),
172
495
  },
173
496
  {
174
497
  name: "source",
175
498
  displayName: "Source",
176
- type: s.ref({ name: "LinkTypeSideDef" }),
499
+ type: o.ref({ name: "LinkTypeSideDef" }),
177
500
  },
178
501
  {
179
502
  name: "target",
180
503
  displayName: "Target",
181
- type: s.ref({ name: "LinkTypeSideDef" }),
504
+ type: o.ref({ name: "LinkTypeSideDef" }),
182
505
  },
183
506
  {
184
507
  name: "foreignKey",
185
508
  displayName: "Foreign key",
186
- type: s.string({}),
509
+ type: o.string({}),
187
510
  description: "The foreign key on the source.",
188
511
  },
189
512
  {
190
513
  name: "cardinality",
191
514
  displayName: "Cardinality",
192
- type: s.string({
193
- constraint: s.StringConstraint.enum({
515
+ type: o.string({
516
+ constraint: o.StringConstraint.enum({
194
517
  options: [
195
518
  { value: "one", label: "One" },
196
519
  { value: "many", label: "Many" },
@@ -205,41 +528,41 @@ export default {
205
528
  {
206
529
  name: "ActionParameterDef",
207
530
  description: "A parameter of an Action type.",
208
- type: s.struct({
531
+ type: o.struct({
209
532
  fields: [
210
533
  {
211
534
  name: "name",
212
535
  displayName: "Name",
213
- type: s.string({}),
536
+ type: o.string({}),
214
537
  description: "The parameter's name.",
215
538
  },
216
539
  {
217
540
  name: "displayName",
218
541
  displayName: "Display name",
219
- type: s.string({}),
542
+ type: o.string({}),
220
543
  description: "Human-readable name.",
221
544
  },
222
545
  {
223
546
  name: "type",
224
547
  displayName: "Type",
225
- type: s.ref({ name: "TypeDef" }),
548
+ type: o.ref({ name: "TypeDef" }),
226
549
  description: "The parameter's type.",
227
550
  },
228
551
  {
229
552
  name: "description",
230
553
  displayName: "Description",
231
- type: s.optional({ type: s.string({}) }),
554
+ type: o.optional({ type: o.string({}) }),
232
555
  description: "Optional description.",
233
556
  },
234
557
  {
235
558
  name: "deprecated",
236
559
  displayName: "Deprecated?",
237
- type: s.optional({ type: s.ref({ name: "Deprecation" }) }),
560
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
238
561
  },
239
562
  {
240
563
  name: "defaultValue",
241
564
  displayName: "Default value",
242
- type: s.optional({ type: s.ref({ name: "Expression" }) }),
565
+ type: o.optional({ type: o.ref({ name: "Expression" }) }),
243
566
  description: "The expression used when the caller does not provide a value.",
244
567
  },
245
568
  ],
@@ -248,12 +571,12 @@ export default {
248
571
  {
249
572
  name: "ValueReferenceExpression",
250
573
  description: "Reads a value from scope by path.",
251
- type: s.struct({
574
+ type: o.struct({
252
575
  fields: [
253
576
  {
254
577
  name: "path",
255
578
  displayName: "Path",
256
- type: s.list({ elementType: s.string({}) }),
579
+ type: o.list({ elementType: o.string({}) }),
257
580
  },
258
581
  ],
259
582
  }),
@@ -261,12 +584,12 @@ export default {
261
584
  {
262
585
  name: "ContextReferenceExpression",
263
586
  description: "Reads a value from context by path.",
264
- type: s.struct({
587
+ type: o.struct({
265
588
  fields: [
266
589
  {
267
590
  name: "path",
268
591
  displayName: "Path",
269
- type: s.list({ elementType: s.string({}) }),
592
+ type: o.list({ elementType: o.string({}) }),
270
593
  },
271
594
  ],
272
595
  }),
@@ -274,26 +597,26 @@ export default {
274
597
  {
275
598
  name: "UuidFunctionCall",
276
599
  description: "Generates a UUID value.",
277
- type: s.struct({
600
+ type: o.struct({
278
601
  fields: [],
279
602
  }),
280
603
  },
281
604
  {
282
605
  name: "NowFunctionCall",
283
606
  description: "Returns the current timestamp.",
284
- type: s.struct({
607
+ type: o.struct({
285
608
  fields: [],
286
609
  }),
287
610
  },
288
611
  {
289
612
  name: "LiteralExpression",
290
613
  description: "A static literal value.",
291
- type: s.struct({
614
+ type: o.struct({
292
615
  fields: [
293
616
  {
294
617
  name: "value",
295
618
  displayName: "Value",
296
- type: s.unknown({}),
619
+ type: o.unknown({}),
297
620
  description: "The literal value.",
298
621
  },
299
622
  ],
@@ -302,33 +625,33 @@ export default {
302
625
  {
303
626
  name: "FunctionCallExpression",
304
627
  description: "Calls a function within an expression.",
305
- type: s.union({
628
+ type: o.union({
306
629
  variants: [
307
- { name: "uuid", type: s.ref({ name: "UuidFunctionCall" }) },
308
- { name: "now", type: s.ref({ name: "NowFunctionCall" }) },
630
+ { name: "uuid", type: o.ref({ name: "UuidFunctionCall" }) },
631
+ { name: "now", type: o.ref({ name: "NowFunctionCall" }) },
309
632
  ],
310
633
  }),
311
634
  },
312
635
  {
313
636
  name: "Expression",
314
637
  description: "An expression that resolves to a value.",
315
- type: s.union({
638
+ type: o.union({
316
639
  variants: [
317
640
  {
318
641
  name: "valueReference",
319
- type: s.ref({ name: "ValueReferenceExpression" }),
642
+ type: o.ref({ name: "ValueReferenceExpression" }),
320
643
  },
321
644
  {
322
645
  name: "contextReference",
323
- type: s.ref({ name: "ContextReferenceExpression" }),
646
+ type: o.ref({ name: "ContextReferenceExpression" }),
324
647
  },
325
648
  {
326
649
  name: "functionCall",
327
- type: s.ref({ name: "FunctionCallExpression" }),
650
+ type: o.ref({ name: "FunctionCallExpression" }),
328
651
  },
329
652
  {
330
653
  name: "literal",
331
- type: s.ref({ name: "LiteralExpression" }),
654
+ type: o.ref({ name: "LiteralExpression" }),
332
655
  },
333
656
  ],
334
657
  }),
@@ -336,17 +659,17 @@ export default {
336
659
  {
337
660
  name: "PropertyAssignment",
338
661
  description: "Assigns an expression to a property path on an object written by an action.",
339
- type: s.struct({
662
+ type: o.struct({
340
663
  fields: [
341
664
  {
342
665
  name: "property",
343
666
  displayName: "Property",
344
- type: s.list({ elementType: s.string({}) }),
667
+ type: o.list({ elementType: o.string({}) }),
345
668
  },
346
669
  {
347
670
  name: "value",
348
671
  displayName: "Value",
349
- type: s.ref({ name: "Expression" }),
672
+ type: o.ref({ name: "Expression" }),
350
673
  },
351
674
  ],
352
675
  }),
@@ -354,17 +677,17 @@ export default {
354
677
  {
355
678
  name: "CreateObjectActionLogicStep",
356
679
  description: "Creates an object and assigns property values.",
357
- type: s.struct({
680
+ type: o.struct({
358
681
  fields: [
359
682
  {
360
683
  name: "objectType",
361
684
  displayName: "Object type",
362
- type: s.string({}),
685
+ type: o.string({}),
363
686
  },
364
687
  {
365
688
  name: "values",
366
689
  displayName: "Values",
367
- type: s.list({ elementType: s.ref({ name: "PropertyAssignment" }) }),
690
+ type: o.list({ elementType: o.ref({ name: "PropertyAssignment" }) }),
368
691
  },
369
692
  ],
370
693
  }),
@@ -372,17 +695,17 @@ export default {
372
695
  {
373
696
  name: "UpdateObjectActionLogicStep",
374
697
  description: "Updates a referenced object and assigns property values.",
375
- type: s.struct({
698
+ type: o.struct({
376
699
  fields: [
377
700
  {
378
701
  name: "object",
379
702
  displayName: "Object",
380
- type: s.ref({ name: "ValueReferenceExpression" }),
703
+ type: o.ref({ name: "ValueReferenceExpression" }),
381
704
  },
382
705
  {
383
706
  name: "values",
384
707
  displayName: "Values",
385
- type: s.list({ elementType: s.ref({ name: "PropertyAssignment" }) }),
708
+ type: o.list({ elementType: o.ref({ name: "PropertyAssignment" }) }),
386
709
  },
387
710
  ],
388
711
  }),
@@ -390,12 +713,12 @@ export default {
390
713
  {
391
714
  name: "DeleteObjectActionLogicStep",
392
715
  description: "Deletes a referenced object.",
393
- type: s.struct({
716
+ type: o.struct({
394
717
  fields: [
395
718
  {
396
719
  name: "object",
397
720
  displayName: "Object",
398
- type: s.ref({ name: "ValueReferenceExpression" }),
721
+ type: o.ref({ name: "ValueReferenceExpression" }),
399
722
  },
400
723
  ],
401
724
  }),
@@ -403,19 +726,19 @@ export default {
403
726
  {
404
727
  name: "ActionLogicStep",
405
728
  description: "A logic step performed by an action.",
406
- type: s.union({
729
+ type: o.union({
407
730
  variants: [
408
731
  {
409
732
  name: "createObject",
410
- type: s.ref({ name: "CreateObjectActionLogicStep" }),
733
+ type: o.ref({ name: "CreateObjectActionLogicStep" }),
411
734
  },
412
735
  {
413
736
  name: "updateObject",
414
- type: s.ref({ name: "UpdateObjectActionLogicStep" }),
737
+ type: o.ref({ name: "UpdateObjectActionLogicStep" }),
415
738
  },
416
739
  {
417
740
  name: "deleteObject",
418
- type: s.ref({ name: "DeleteObjectActionLogicStep" }),
741
+ type: o.ref({ name: "DeleteObjectActionLogicStep" }),
419
742
  },
420
743
  ],
421
744
  }),
@@ -423,42 +746,121 @@ export default {
423
746
  {
424
747
  name: "ActionTypeDef",
425
748
  description: "An action type in the ontology.",
426
- type: s.struct({
749
+ type: o.struct({
427
750
  fields: [
428
751
  {
429
752
  name: "name",
430
753
  displayName: "Name",
431
- type: s.string({}),
754
+ type: o.string({}),
432
755
  description: "The object type's programmatic name.",
433
756
  },
434
757
  {
435
758
  name: "displayName",
436
759
  displayName: "Display name",
437
- type: s.string({}),
760
+ type: o.string({}),
438
761
  description: "Human-readable name.",
439
762
  },
440
763
  {
441
764
  name: "parameters",
442
765
  displayName: "Parameters",
443
- type: s.list({ elementType: s.ref({ name: "ActionParameterDef" }) }),
444
- description: "The action type's parameters.",
766
+ type: o.list({ elementType: o.ref({ name: "ActionParameterDef" }) }),
767
+ description: "The action type's parametero.",
445
768
  },
446
769
  {
447
770
  name: "logic",
448
771
  displayName: "Logic",
449
- type: s.list({ elementType: s.ref({ name: "ActionLogicStep" }) }),
450
- description: "The action type's local logic steps.",
772
+ type: o.list({ elementType: o.ref({ name: "ActionLogicStep" }) }),
773
+ description: "The action type's local logic stepo.",
451
774
  },
452
775
  {
453
776
  name: "description",
454
777
  displayName: "Description",
455
- type: s.optional({ type: s.string({}) }),
778
+ type: o.optional({ type: o.string({}) }),
456
779
  description: "Optional description.",
457
780
  },
458
781
  {
459
782
  name: "deprecated",
460
783
  displayName: "Deprecated?",
461
- type: s.optional({ type: s.ref({ name: "Deprecation" }) }),
784
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
785
+ },
786
+ ],
787
+ }),
788
+ },
789
+ {
790
+ name: "QueryFunctionParameterDef",
791
+ description: "A parameter accepted by a query function type.",
792
+ type: o.struct({
793
+ fields: [
794
+ {
795
+ name: "name",
796
+ displayName: "Name",
797
+ type: o.string({}),
798
+ description: "The query function parameter's programmatic name.",
799
+ },
800
+ {
801
+ name: "displayName",
802
+ displayName: "Display name",
803
+ type: o.string({}),
804
+ description: "Human-readable name.",
805
+ },
806
+ {
807
+ name: "type",
808
+ displayName: "Type",
809
+ type: o.ref({ name: "TypeDef" }),
810
+ },
811
+ {
812
+ name: "description",
813
+ displayName: "Description",
814
+ type: o.optional({ type: o.string({}) }),
815
+ description: "Optional description.",
816
+ },
817
+ {
818
+ name: "deprecated",
819
+ displayName: "Deprecated?",
820
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
821
+ },
822
+ ],
823
+ }),
824
+ },
825
+ {
826
+ name: "QueryFunctionTypeDef",
827
+ description: "A runnable query function type in the ontology.",
828
+ type: o.struct({
829
+ fields: [
830
+ {
831
+ name: "name",
832
+ displayName: "Name",
833
+ type: o.string({}),
834
+ description: "The query function type's programmatic name.",
835
+ },
836
+ {
837
+ name: "displayName",
838
+ displayName: "Display name",
839
+ type: o.string({}),
840
+ description: "Human-readable name.",
841
+ },
842
+ {
843
+ name: "parameters",
844
+ displayName: "Parameters",
845
+ type: o.list({ elementType: o.ref({ name: "QueryFunctionParameterDef" }) }),
846
+ description: "The query function type's parameters.",
847
+ },
848
+ {
849
+ name: "returnType",
850
+ displayName: "Return type",
851
+ type: o.ref({ name: "TypeDef" }),
852
+ description: "The query function type's return type.",
853
+ },
854
+ {
855
+ name: "description",
856
+ displayName: "Description",
857
+ type: o.optional({ type: o.string({}) }),
858
+ description: "Optional description.",
859
+ },
860
+ {
861
+ name: "deprecated",
862
+ displayName: "Deprecated?",
863
+ type: o.optional({ type: o.ref({ name: "Deprecation" }) }),
462
864
  },
463
865
  ],
464
866
  }),
@@ -466,35 +868,45 @@ export default {
466
868
  {
467
869
  name: "OntologyIR",
468
870
  description: "The root ontology definition containing all type definitions.",
469
- type: s.struct({
871
+ type: o.struct({
470
872
  fields: [
471
873
  {
472
874
  name: "types",
473
875
  displayName: "Named types",
474
- type: s.list({ elementType: s.ref({ name: "NamedTypeDef" }) }),
876
+ type: o.list({ elementType: o.ref({ name: "NamedTypeDef" }) }),
475
877
  description: "Named, reusable value types.",
476
878
  },
477
879
  {
478
880
  name: "objectTypes",
479
881
  displayName: "Object types",
480
- type: s.list({ elementType: s.ref({ name: "ObjectTypeDef" }) }),
882
+ type: o.list({ elementType: o.ref({ name: "ObjectTypeDef" }) }),
481
883
  description: "Object type definitions.",
482
884
  },
483
885
  {
484
886
  name: "linkTypes",
485
887
  displayName: "Link types",
486
- type: s.list({ elementType: s.ref({ name: "LinkTypeDef" }) }),
888
+ type: o.list({ elementType: o.ref({ name: "LinkTypeDef" }) }),
487
889
  description: "Relationship definitions between object types.",
488
890
  },
489
891
  {
490
892
  name: "actionTypes",
491
893
  displayName: "Action types",
492
- type: s.list({ elementType: s.ref({ name: "ActionTypeDef" }) }),
894
+ type: o.list({ elementType: o.ref({ name: "ActionTypeDef" }) }),
493
895
  description: "Action type definitions.",
494
896
  },
897
+ {
898
+ name: "queryFunctionTypes",
899
+ displayName: "Query function types",
900
+ type: o.list({ elementType: o.ref({ name: "QueryFunctionTypeDef" }) }),
901
+ description: "Query function type definitions.",
902
+ },
495
903
  ],
496
904
  }),
497
905
  },
498
906
  ],
907
+ objectTypes: [],
908
+ linkTypes: [],
909
+ actionTypes: [],
910
+ queryFunctionTypes: [],
499
911
  };
500
912
  //# sourceMappingURL=schema.js.map