@party-stack/ontology 0.1.0 → 0.2.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 (100) hide show
  1. package/lib/OntologyConfig.d.ts +2 -1
  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 +1 -7
  5. package/lib/cli/generate.js.map +1 -1
  6. package/lib/cli/index.js +1 -7
  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 +7 -2
  10. package/lib/cli/pull.js.map +1 -1
  11. package/lib/examples/blog.d.ts +56 -0
  12. package/lib/examples/blog.d.ts.map +1 -1
  13. package/lib/examples/blog.js +89 -0
  14. package/lib/examples/blog.js.map +1 -1
  15. package/lib/examples/blog.live-queries.d.ts +3 -3
  16. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  17. package/lib/examples/generated/live.d.ts +3 -3
  18. package/lib/examples/generated/live.d.ts.map +1 -1
  19. package/lib/examples/generated/live.js +3 -2
  20. package/lib/examples/generated/live.js.map +1 -1
  21. package/lib/examples/generated/types.d.ts +15 -0
  22. package/lib/examples/generated/types.d.ts.map +1 -1
  23. package/lib/generate/live.d.ts.map +1 -1
  24. package/lib/generate/live.js +10 -2
  25. package/lib/generate/live.js.map +1 -1
  26. package/lib/generate/ontology.d.ts.map +1 -1
  27. package/lib/generate/ontology.js +96 -5
  28. package/lib/generate/ontology.js.map +1 -1
  29. package/lib/generate/types.d.ts.map +1 -1
  30. package/lib/generate/types.js +150 -27
  31. package/lib/generate/types.js.map +1 -1
  32. package/lib/generate/types.test.d.ts +2 -0
  33. package/lib/generate/types.test.d.ts.map +1 -0
  34. package/lib/generate/types.test.js +127 -0
  35. package/lib/generate/types.test.js.map +1 -0
  36. package/lib/index.d.ts +2 -3
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js +1 -2
  39. package/lib/index.js.map +1 -1
  40. package/lib/ir/generated/builders.d.ts +144 -0
  41. package/lib/ir/generated/builders.d.ts.map +1 -1
  42. package/lib/ir/generated/builders.js +55 -0
  43. package/lib/ir/generated/builders.js.map +1 -1
  44. package/lib/ir/generated/types.d.ts +93 -0
  45. package/lib/ir/generated/types.d.ts.map +1 -1
  46. package/lib/ir/generated/validators.d.ts +16 -0
  47. package/lib/ir/generated/validators.d.ts.map +1 -1
  48. package/lib/ir/generated/validators.js +62 -0
  49. package/lib/ir/generated/validators.js.map +1 -1
  50. package/lib/ir/schema.d.ts +2 -1
  51. package/lib/ir/schema.d.ts.map +1 -1
  52. package/lib/ir/schema.js +288 -1
  53. package/lib/ir/schema.js.map +1 -1
  54. package/lib/ir/validate.d.ts.map +1 -1
  55. package/lib/ir/validate.js +253 -22
  56. package/lib/ir/validate.js.map +1 -1
  57. package/lib/ir/validate.test.js +258 -1
  58. package/lib/ir/validate.test.js.map +1 -1
  59. package/lib/live/LiveOntology.d.ts +34 -0
  60. package/lib/live/LiveOntology.d.ts.map +1 -0
  61. package/lib/live/LiveOntology.js +47 -0
  62. package/lib/live/LiveOntology.js.map +1 -0
  63. package/lib/live/OntologyAdapter.d.ts +12 -0
  64. package/lib/live/OntologyAdapter.d.ts.map +1 -0
  65. package/lib/live/OntologyAdapter.js.map +1 -0
  66. package/lib/live/applyActionLogic.d.ts +10 -0
  67. package/lib/live/applyActionLogic.d.ts.map +1 -0
  68. package/lib/live/applyActionLogic.js +59 -0
  69. package/lib/live/applyActionLogic.js.map +1 -0
  70. package/lib/live/expression.d.ts +6 -0
  71. package/lib/live/expression.d.ts.map +1 -0
  72. package/lib/live/expression.js +86 -0
  73. package/lib/live/expression.js.map +1 -0
  74. package/lib/live/index.d.ts +3 -0
  75. package/lib/live/index.d.ts.map +1 -0
  76. package/lib/live/index.js +3 -0
  77. package/lib/live/index.js.map +1 -0
  78. package/lib/meta/pull.d.ts +6 -2
  79. package/lib/meta/pull.d.ts.map +1 -1
  80. package/lib/meta/pull.js +6 -4
  81. package/lib/meta/pull.js.map +1 -1
  82. package/lib/ontology/generated/live.d.ts +3 -3
  83. package/lib/ontology/generated/live.d.ts.map +1 -1
  84. package/lib/ontology/generated/live.js +3 -2
  85. package/lib/ontology/generated/live.js.map +1 -1
  86. package/lib/ontology/generated/types.d.ts +93 -0
  87. package/lib/ontology/generated/types.d.ts.map +1 -1
  88. package/lib/ontology/ontology.d.ts +1 -0
  89. package/lib/ontology/ontology.d.ts.map +1 -1
  90. package/lib/ontology/ontology.js +7 -0
  91. package/lib/ontology/ontology.js.map +1 -1
  92. package/package.json +9 -5
  93. package/lib/LiveOntology.d.ts +0 -22
  94. package/lib/LiveOntology.d.ts.map +0 -1
  95. package/lib/LiveOntology.js +0 -25
  96. package/lib/LiveOntology.js.map +0 -1
  97. package/lib/OntologyAdapter.d.ts +0 -8
  98. package/lib/OntologyAdapter.d.ts.map +0 -1
  99. package/lib/OntologyAdapter.js.map +0 -1
  100. /package/lib/{OntologyAdapter.js → live/OntologyAdapter.js} +0 -0
@@ -0,0 +1,86 @@
1
+ import { get } from "lodash-es";
2
+ import { Temporal } from "temporal-polyfill";
3
+ function getActionType(ir, actionTypeName) {
4
+ return ir.actionTypes.find((actionType) => actionType.name === actionTypeName);
5
+ }
6
+ function unwrapType(type) {
7
+ if (type.kind === "optional") {
8
+ return { type: type.value.type, isOptional: true };
9
+ }
10
+ return { type, isOptional: false };
11
+ }
12
+ function resolveType(type, ir) {
13
+ if (type.kind === "ref") {
14
+ return resolveType(ir.types.find((t) => t.name === type.value.name).type, ir);
15
+ }
16
+ return type;
17
+ }
18
+ export function evaluateExpression(ir, actionTypeName, expression, resolveParameter, context, objects) {
19
+ switch (expression.kind) {
20
+ case "valueReference": {
21
+ const [parameterName, ...path] = expression.value.path;
22
+ const parameterValue = resolveParameter(parameterName);
23
+ if (path.length === 0) {
24
+ return parameterValue;
25
+ }
26
+ const actionType = getActionType(ir, actionTypeName);
27
+ const { type: parameterType, isOptional: parameterIsOptional } = unwrapType(resolveType(actionType.parameters.find((parameter) => parameter.name === parameterName).type, ir));
28
+ if (parameterType.kind === "objectReference") {
29
+ const objectType = ir.objectTypes.find((objectType) => objectType.name === parameterType.value.objectType);
30
+ const collection = objects[objectType.name];
31
+ const referencedObject = collection?.get(parameterValue);
32
+ if (!referencedObject && !parameterIsOptional) {
33
+ throw new Error(`Missing loaded "${objectType.name}" object for parameter "${parameterName}" (${String(parameterValue)}).`);
34
+ }
35
+ return get(referencedObject, path);
36
+ }
37
+ else {
38
+ return get(parameterValue, path);
39
+ }
40
+ }
41
+ case "contextReference":
42
+ return get(context, expression.value.path);
43
+ case "literal":
44
+ return expression.value.value;
45
+ case "functionCall":
46
+ switch (expression.value.kind) {
47
+ case "uuid":
48
+ return globalThis.crypto.randomUUID();
49
+ case "now":
50
+ return Temporal.Now.instant();
51
+ }
52
+ }
53
+ }
54
+ export function resolveActionParameters(ir, actionTypeName, initialParameters, context, objects) {
55
+ const action = getActionType(ir, actionTypeName);
56
+ const resolvedParameters = { ...initialParameters };
57
+ const parametersByName = new Map(action.parameters.map((parameter) => [parameter.name, parameter]));
58
+ const resolving = new Set();
59
+ const resolveParameter = (parameterName) => {
60
+ if (resolvedParameters[parameterName] !== undefined) {
61
+ return resolvedParameters[parameterName];
62
+ }
63
+ const parameter = parametersByName.get(parameterName);
64
+ if (!parameter || !parameter.defaultValue) {
65
+ return undefined;
66
+ }
67
+ if (resolving.has(parameterName)) {
68
+ throw new Error(`Circular action parameter default for "${parameterName}".`);
69
+ }
70
+ resolving.add(parameterName);
71
+ resolvedParameters[parameterName] = evaluateExpression(ir, actionTypeName, parameter.defaultValue, resolveParameter, context, objects);
72
+ resolving.delete(parameterName);
73
+ return resolvedParameters[parameterName];
74
+ };
75
+ for (const parameter of action.parameters) {
76
+ resolveParameter(parameter.name);
77
+ }
78
+ return resolvedParameters;
79
+ }
80
+ export function getObjectReferenceObjectType(ir, actionTypeName, reference) {
81
+ const actionType = getActionType(ir, actionTypeName);
82
+ const parameter = actionType.parameters.find((parameter) => parameter.name === reference.path[0]);
83
+ const resolvedType = unwrapType(resolveType(parameter.type, ir)).type;
84
+ return ir.objectTypes.find((objectType) => objectType.name === resolvedType.value.objectType);
85
+ }
86
+ //# sourceMappingURL=expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./OntologyAdapter.js";
2
+ export * from "./LiveOntology.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/live/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./OntologyAdapter.js";
2
+ export * from "./LiveOntology.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/live/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import type { OntologyIR } from "../ir/generated/types.js";
2
- import type { LiveOntology } from "../LiveOntology.js";
2
+ import type { LiveOntology } from "../live/LiveOntology.js";
3
3
  import type { MetaOntology } from "../ontology/generated/types.js";
4
- export declare function pull(ontology: LiveOntology<MetaOntology>, objectTypeNames: string[]): Promise<OntologyIR>;
4
+ export interface PullOptions {
5
+ objectTypeNames: string[];
6
+ actionTypeNames: string[];
7
+ }
8
+ export declare function pull(ontology: LiveOntology<MetaOntology>, options: PullOptions): Promise<OntologyIR>;
5
9
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/meta/pull.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,gCAAgC,CAAC;AA2BxF,wBAAsB,IAAI,CACtB,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,EACpC,eAAe,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/meta/pull.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,gCAAgC,CAAC;AA2BxF,MAAM,WAAW,WAAW;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAsB,IAAI,CACtB,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,EACpC,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,UAAU,CAAC,CAmCrB"}
package/lib/meta/pull.js CHANGED
@@ -20,24 +20,26 @@ function getValueTypes(type) {
20
20
  function getObjectTypeValueTypes(objectType) {
21
21
  return Array.from(new Set(objectType.properties.flatMap((p) => getValueTypes(p.type))));
22
22
  }
23
- // TODO: port this to pure queries once we can do some sort of explode operation.
24
- export async function pull(ontology, objectTypeNames) {
25
- const { ValueType, ObjectType, LinkType } = ontology.objects;
23
+ export async function pull(ontology, options) {
24
+ const { ValueType, ObjectType, LinkType, ActionType } = ontology.objects;
25
+ const { objectTypeNames, actionTypeNames } = options;
26
26
  const objectTypesQuery = new Query()
27
27
  .from({ ObjectType })
28
28
  .where(({ ObjectType }) => inArray(ObjectType.name, objectTypeNames));
29
29
  const objectTypes = await queryOnce(() => objectTypesQuery);
30
30
  const valueTypeNames = Array.from(new Set(objectTypes.flatMap(getObjectTypeValueTypes)));
31
- const [types, linkTypes] = await Promise.all([
31
+ const [types, linkTypes, actionTypes] = await Promise.all([
32
32
  queryOnce((q) => q.from({ ValueType }).where(({ ValueType }) => inArray(ValueType.name, valueTypeNames))),
33
33
  queryOnce((q) => q
34
34
  .from({ LinkType })
35
35
  .where(({ LinkType }) => and(inArray(LinkType.source.objectType, objectTypeNames), inArray(LinkType.target.objectType, objectTypeNames)))),
36
+ queryOnce((q) => q.from({ ActionType }).where(({ ActionType }) => inArray(ActionType.name, actionTypeNames))),
36
37
  ]);
37
38
  return {
38
39
  types,
39
40
  objectTypes,
40
41
  linkTypes,
42
+ actionTypes,
41
43
  };
42
44
  }
43
45
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/meta/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/meta/pull.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type LiveOntology } from "../../LiveOntology.js";
1
+ import { type LiveOntology } from "../../index.js";
2
2
  import type { MetaOntology } from "./types.js";
3
- import type { OntologyAdapter } from "../../OntologyAdapter.js";
4
- export declare function createMetaLiveOntology(adapter: OntologyAdapter): LiveOntology<MetaOntology>;
3
+ import type { LiveOntologyOpts, OntologyAdapter } from "../../index.js";
4
+ export declare function createMetaLiveOntology(adapter: OntologyAdapter, opts?: Pick<LiveOntologyOpts, "getContext">): LiveOntology<MetaOntology>;
5
5
  //# sourceMappingURL=live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/ontology/generated/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,CAK3F"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/ontology/generated/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAExE,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,eAAe,EACxB,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAC5C,YAAY,CAAC,YAAY,CAAC,CAM5B"}
@@ -1,10 +1,11 @@
1
1
  // Auto-generated file - do not edit manually
2
- import { createLiveOntology } from "../../LiveOntology.js";
2
+ import { createLiveOntology } from "../../index.js";
3
3
  import ontology from "../ontology.js";
4
- export function createMetaLiveOntology(adapter) {
4
+ export function createMetaLiveOntology(adapter, opts) {
5
5
  return createLiveOntology({
6
6
  ir: ontology,
7
7
  adapter,
8
+ getContext: opts?.getContext,
8
9
  });
9
10
  }
10
11
  //# sourceMappingURL=live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/ontology/generated/live.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC3D,OAAO,kBAAkB,CAAe;QACpC,EAAE,EAAE,QAAQ;QACZ,OAAO;KACV,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/ontology/generated/live.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAC;AACvE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,MAAM,UAAU,sBAAsB,CAClC,OAAwB,EACxB,IAA2C;IAE3C,OAAO,kBAAkB,CAAe;QACpC,EAAE,EAAE,QAAQ;QACZ,OAAO;QACP,UAAU,EAAE,IAAI,EAAE,UAAU;KAC/B,CAAC,CAAC;AACP,CAAC"}
@@ -38,6 +38,8 @@ export type TimestampTypeDef = Record<never, never>;
38
38
  export type GeopointTypeDef = Record<never, never>;
39
39
  /** A file handle. */
40
40
  export type AttachmentTypeDef = Record<never, never>;
41
+ /** An opaque type whose shape is not known at schema time. */
42
+ export type UnknownTypeDef = Record<never, never>;
41
43
  /** A list/array type. */
42
44
  export type ListTypeDef = {
43
45
  /** The type of elements in the list. */
@@ -112,7 +114,14 @@ export type TypeDef = v.Union<{
112
114
  optional: OptionalTypeDef;
113
115
  result: ResultTypeDef;
114
116
  ref: TypeRef;
117
+ unknown: UnknownTypeDef;
118
+ objectReference: ObjectReferenceTypeDef;
115
119
  }>;
120
+ /** A reference to an ontology object type. */
121
+ export type ObjectReferenceTypeDef = {
122
+ /** The referenced object type name. */
123
+ objectType: string;
124
+ };
116
125
  /** A property on an Object type. */
117
126
  export type PropertyDef = {
118
127
  /** The property's name. */
@@ -132,6 +141,74 @@ export type LinkTypeSideDef = {
132
141
  };
133
142
  /** The cardinality of a link from the source's perspective. */
134
143
  export type LinkCardinality = "one" | "many";
144
+ /** A parameter of an Action type. */
145
+ export type ActionParameterDef = {
146
+ /** The parameter's name. */
147
+ name: string;
148
+ /** Human-readable name. */
149
+ displayName: string;
150
+ /** The parameter's type. */
151
+ type: TypeDef;
152
+ /** Optional description. */
153
+ description?: string;
154
+ deprecated?: Deprecation;
155
+ /** The expression used when the caller does not provide a value. */
156
+ defaultValue?: Expression;
157
+ };
158
+ /** Reads a value from scope by path. */
159
+ export type ValueReferenceExpression = {
160
+ path: Array<string>;
161
+ };
162
+ /** Reads a value from context by path. */
163
+ export type ContextReferenceExpression = {
164
+ path: Array<string>;
165
+ };
166
+ /** Generates a UUID value. */
167
+ export type UuidFunctionCall = Record<never, never>;
168
+ /** Returns the current timestamp. */
169
+ export type NowFunctionCall = Record<never, never>;
170
+ /** A static literal value. */
171
+ export type LiteralExpression = {
172
+ /** The literal value. */
173
+ value: unknown;
174
+ };
175
+ /** Calls a function within an expression. */
176
+ export type FunctionCallExpression = v.Union<{
177
+ uuid: UuidFunctionCall;
178
+ now: NowFunctionCall;
179
+ }>;
180
+ /** An expression that resolves to a value. */
181
+ export type Expression = v.Union<{
182
+ valueReference: ValueReferenceExpression;
183
+ contextReference: ContextReferenceExpression;
184
+ functionCall: FunctionCallExpression;
185
+ literal: LiteralExpression;
186
+ }>;
187
+ /** Assigns an expression to a property path on an object written by an action. */
188
+ export type PropertyAssignment = {
189
+ property: Array<string>;
190
+ value: Expression;
191
+ };
192
+ /** Creates an object and assigns property values. */
193
+ export type CreateObjectActionLogicStep = {
194
+ objectType: string;
195
+ values: Array<PropertyAssignment>;
196
+ };
197
+ /** Updates a referenced object and assigns property values. */
198
+ export type UpdateObjectActionLogicStep = {
199
+ object: ValueReferenceExpression;
200
+ values: Array<PropertyAssignment>;
201
+ };
202
+ /** Deletes a referenced object. */
203
+ export type DeleteObjectActionLogicStep = {
204
+ object: ValueReferenceExpression;
205
+ };
206
+ /** A logic step performed by an action. */
207
+ export type ActionLogicStep = v.Union<{
208
+ createObject: CreateObjectActionLogicStep;
209
+ updateObject: UpdateObjectActionLogicStep;
210
+ deleteObject: DeleteObjectActionLogicStep;
211
+ }>;
135
212
  /** A named type definition that can be referenced by other types. */
136
213
  export type ValueType = {
137
214
  /** The type's name for use in code. */
@@ -167,11 +244,27 @@ export type LinkType = {
167
244
  /** How many sources are linked to the target. */
168
245
  cardinality: "one" | "many";
169
246
  };
247
+ /** An action type in the ontology. */
248
+ export type ActionType = {
249
+ /** The object type's programmatic name. */
250
+ name: string;
251
+ /** Human-readable name. */
252
+ displayName: string;
253
+ /** The action type's parameters. */
254
+ parameters: Array<ActionParameterDef>;
255
+ /** The action type's local logic steps. */
256
+ logic: Array<ActionLogicStep>;
257
+ /** Optional description. */
258
+ description?: string;
259
+ deprecated?: Deprecation;
260
+ };
170
261
  export type MetaOntology = {
171
262
  objectTypes: {
172
263
  ValueType: ValueType;
173
264
  ObjectType: ObjectType;
174
265
  LinkType: LinkType;
266
+ ActionType: ActionType;
175
267
  };
268
+ actionTypes: Record<never, never>;
176
269
  };
177
270
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ontology/generated/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACN,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;CAChC,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,sBAAsB;AACtB,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElD,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElD,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEhD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEjD,uCAAuC;AACvC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpD,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEnD,qBAAqB;AACrB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAErD,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG;IACtB,wCAAwC;IACxC,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG;IACrB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG;IACnB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC3B,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAAG;IACrB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG;IAC1B,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG;IACxB,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,OAAO,GAAG;IAClB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wGAAwG;AACxG,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;CAChB,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG;IACtB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,qEAAqE;AACrE,MAAM,MAAM,SAAS,GAAG;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG;IACrB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE;QACT,SAAS,EAAE,SAAS,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ontology/generated/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACN,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;CAChC,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,sBAAsB;AACtB,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElD,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElD,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEhD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEjD,uCAAuC;AACvC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpD,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEnD,qBAAqB;AACrB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAErD,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElD,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG;IACtB,wCAAwC;IACxC,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG;IACrB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG;IACnB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC3B,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAAG;IACrB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG;IAC1B,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG;IACxB,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,OAAO,GAAG;IAClB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wGAAwG;AACxG,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,sBAAsB,CAAC;CAC3C,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG;IACjC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG;IACtB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,qCAAqC;AACrC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,oEAAoE;IACpE,YAAY,CAAC,EAAE,UAAU,CAAC;CAC7B,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpD,qCAAqC;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEnD,8BAA8B;AAC9B,MAAM,MAAM,iBAAiB,GAAG;IAC5B,yBAAyB;IACzB,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,eAAe,CAAC;CACxB,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7B,cAAc,EAAE,wBAAwB,CAAC;IACzC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,YAAY,EAAE,sBAAsB,CAAC;IACrC,OAAO,EAAE,iBAAiB,CAAC;CAC9B,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,2BAA2B,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACrC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,2BAA2B,GAAG;IACtC,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACrC,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,2BAA2B,GAAG;IACtC,MAAM,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,YAAY,EAAE,2BAA2B,CAAC;IAC1C,YAAY,EAAE,2BAA2B,CAAC;IAC1C,YAAY,EAAE,2BAA2B,CAAC;CAC7C,CAAC,CAAC;AAEH,qEAAqE;AACrE,MAAM,MAAM,SAAS,GAAG;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG;IACrB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;CAC/B,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG;IACrB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,2CAA2C;IAC3C,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE;QACT,SAAS,EAAE,SAAS,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,UAAU,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACrC,CAAC"}
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  foreignKey: string;
15
15
  cardinality: "many";
16
16
  }[];
17
+ actionTypes: never[];
17
18
  types: Array<import("../ir/generated/types.js").NamedTypeDef>;
18
19
  objectTypes: Array<import("../ir/generated/types.js").ObjectTypeDef>;
19
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../src/ontology/ontology.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAgCA,wBA4CuB"}
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../src/ontology/ontology.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAgCA,wBAmDuB"}
@@ -34,6 +34,12 @@ export default {
34
34
  displayName: "Link type",
35
35
  pluralDisplayName: "Link types",
36
36
  },
37
+ ActionTypeDef: {
38
+ name: "ActionType",
39
+ primaryKey: "name",
40
+ displayName: "Action type",
41
+ pluralDisplayName: "Action types",
42
+ },
37
43
  NamedTypeDef: {
38
44
  name: "ValueType",
39
45
  primaryKey: "name",
@@ -61,5 +67,6 @@ export default {
61
67
  cardinality: "many",
62
68
  },
63
69
  ],
70
+ actionTypes: [],
64
71
  };
65
72
  //# sourceMappingURL=ontology.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../src/ontology/ontology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAG/C,SAAS,IAAI,CACT,MAAgB,EAChB,WAGC;IAED,OAAO;QACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QACjE,WAAW,EAAE,MAAM,CAAC,KAAK;aACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,6CAA6C,CAAC,CAAC;YACtF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;YACrF,OAAO;gBACH,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;gBACvB,WAAW,EAAE,WAAW;gBACxB,iBAAiB;gBACjB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;aACrC,CAAC;QACN,CAAC,CAAC;KACT,CAAC;AACN,CAAC;AAED,eAAe;IACX,GAAG,IAAI,CACH,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,EAC9E;QACI,aAAa,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,aAAa;YAC1B,iBAAiB,EAAE,cAAc;SACpC;QACD,WAAW,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,YAAY;SAClC;QACD,YAAY,EAAE;YACV,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,YAAY;YACzB,iBAAiB,EAAE,aAAa;SACnC;KACJ,CACJ;IACD,SAAS,EAAE;QACP;YACI,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACjG,MAAM,EAAE;gBACJ,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACxB;YACD,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,MAAM;SACtB;QACD;YACI,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACjG,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;YAC3E,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,MAAM;SACtB;KACJ;CACiB,CAAC"}
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../src/ontology/ontology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAG/C,SAAS,IAAI,CACT,MAAgB,EAChB,WAGC;IAED,OAAO;QACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QACjE,WAAW,EAAE,MAAM,CAAC,KAAK;aACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,6CAA6C,CAAC,CAAC;YACtF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;YACrF,OAAO;gBACH,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;gBACvB,WAAW,EAAE,WAAW;gBACxB,iBAAiB;gBACjB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;aACrC,CAAC;QACN,CAAC,CAAC;KACT,CAAC;AACN,CAAC;AAED,eAAe;IACX,GAAG,IAAI,CACH,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,EAC9E;QACI,aAAa,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,aAAa;YAC1B,iBAAiB,EAAE,cAAc;SACpC;QACD,WAAW,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,YAAY;SAClC;QACD,aAAa,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,aAAa;YAC1B,iBAAiB,EAAE,cAAc;SACpC;QACD,YAAY,EAAE;YACV,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,YAAY;YACzB,iBAAiB,EAAE,aAAa;SACnC;KACJ,CACJ;IACD,SAAS,EAAE;QACP;YACI,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACjG,MAAM,EAAE;gBACJ,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACxB;YACD,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,MAAM;SACtB;QACD;YACI,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACjG,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;YAC3E,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,MAAM;SACtB;KACJ;IACD,WAAW,EAAE,EAAE;CACG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@party-stack/ontology",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -17,26 +17,30 @@
17
17
  "dependencies": {
18
18
  "@bobbyfidz/panic": "^0.1.0",
19
19
  "@next/env": "^16.1.6",
20
+ "change-case": "^5.4.4",
20
21
  "commander": "^14.0.2",
21
22
  "jiti": "^2.6.1",
23
+ "lodash-es": "^4.17.23",
22
24
  "prettier": "^3.5.3",
25
+ "temporal-polyfill": "^0.3.0",
23
26
  "ts-morph": "^27.0.2",
24
27
  "zod": "^4.1.13",
25
- "@party-stack/schema": "0.1.0"
28
+ "@party-stack/schema": "0.2.0"
26
29
  },
27
30
  "devDependencies": {
28
31
  "@bobbyfidz/universal-build-config": "^0.1.1",
29
- "@tanstack/db": "^0.5.32",
32
+ "@tanstack/db": "^0.6.0",
33
+ "@types/lodash-es": "^4.17.12",
30
34
  "eslint": "^9.25.0",
31
35
  "tsx": "^4.20.6",
32
36
  "typescript": "~5.8.3",
33
37
  "vitest": "^3.1.1"
34
38
  },
35
39
  "peerDependencies": {
36
- "@tanstack/db": "^0.5.32"
40
+ "@tanstack/db": "^0.6.0"
37
41
  },
38
42
  "scripts": {
39
- "bootstrap": "tsx ../schema/src/generate/generate.ts --schema ./src/ir/schema.ts --exportName o --promoted TypeDef --outDir ./src/ir/generated",
43
+ "bootstrap": "tsx ../schema/src/cli/generate.ts --schema ./src/ir/schema.ts --exportName o --promoted TypeDef --outDir ./src/ir/generated",
40
44
  "build": "tsc",
41
45
  "generate:examples": "tsx ./src/cli/generate.ts --ontology ./src/examples/blog.ts --outDir ./src/examples/generated --namespace Blog",
42
46
  "generate:meta": "tsx ./src/cli/generate.ts --ontology ./src/ontology/ontology.ts --outDir ./src/ontology/generated --namespace Meta",
@@ -1,22 +0,0 @@
1
- import { Collection } from "@tanstack/db";
2
- import type { OntologyIR } from "./ir/index.js";
3
- import type { OntologyAdapter } from "./OntologyAdapter.js";
4
- type OntologyObject = Record<string, unknown>;
5
- export interface OntologyDefinition {
6
- objectTypes: Record<string, OntologyObject>;
7
- }
8
- export type OntologyCollection<T extends OntologyObject> = Collection<T>;
9
- export type LiveOntologyObjects<ObjectTypes extends OntologyDefinition["objectTypes"]> = {
10
- [ObjectTypeName in keyof ObjectTypes]: OntologyCollection<ObjectTypes[ObjectTypeName]>;
11
- };
12
- export interface LiveOntology<Ontology extends OntologyDefinition = OntologyDefinition> {
13
- objects: LiveOntologyObjects<Ontology["objectTypes"]>;
14
- cleanup: () => Promise<void>;
15
- }
16
- export interface LiveOntologyOpts {
17
- ir: OntologyIR;
18
- adapter: OntologyAdapter;
19
- }
20
- export declare function createLiveOntology<Ontology extends OntologyDefinition = OntologyDefinition>(opts: LiveOntologyOpts): LiveOntology<Ontology>;
21
- export {};
22
- //# sourceMappingURL=LiveOntology.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiveOntology.d.ts","sourceRoot":"","sources":["../src/LiveOntology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,mBAAmB,CAAC,WAAW,SAAS,kBAAkB,CAAC,aAAa,CAAC,IAAI;KACpF,cAAc,IAAI,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;CACzF,CAAC;AAEF,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB;IAClF,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,EACvF,IAAI,EAAE,gBAAgB,GACvB,YAAY,CAAC,QAAQ,CAAC,CA8BxB"}
@@ -1,25 +0,0 @@
1
- import { createCollection } from "@tanstack/db";
2
- export function createLiveOntology(opts) {
3
- const objects = Object.fromEntries(opts.ir.objectTypes.map((objectType) => {
4
- const collectionOptions = opts.adapter.getCollectionOptions(objectType.name);
5
- const collection = createCollection({
6
- ...collectionOptions,
7
- getKey: (object) => {
8
- const key = object[objectType.primaryKey];
9
- if (key === undefined) {
10
- throw new Error(`Primary key "${objectType.primaryKey}" is missing on an object in "${objectType.name}".`);
11
- }
12
- return key;
13
- },
14
- });
15
- return [objectType.name, collection];
16
- }));
17
- return {
18
- objects: objects,
19
- cleanup: async () => {
20
- await Promise.all(Object.values(objects).map((collection) => collection.cleanup()));
21
- await opts.adapter.cleanup?.();
22
- },
23
- };
24
- }
25
- //# sourceMappingURL=LiveOntology.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiveOntology.js","sourceRoot":"","sources":["../src/LiveOntology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAyB5D,MAAM,UAAU,kBAAkB,CAC9B,IAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAC9B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAChC,GAAG,iBAAiB;YACpB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,MAAM,GAAG,GAAI,MAAsD,CAC/D,UAAU,CAAC,UAAU,CACxB,CAAC;gBACF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACX,gBAAgB,UAAU,CAAC,UAAU,iCAAiC,UAAU,CAAC,IAAI,IAAI,CAC5F,CAAC;gBACN,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC;SACJ,CAAuC,CAAC;QAEzC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC,CACL,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,OAAkE;QAC3E,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACnC,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,8 +0,0 @@
1
- import { CollectionConfig } from "@tanstack/db";
2
- export type OntologyCollectionOptions = Omit<CollectionConfig<Record<string, unknown>, string | number>, "getKey">;
3
- export interface OntologyAdapter {
4
- name: string;
5
- getCollectionOptions: (objectType: string) => OntologyCollectionOptions;
6
- cleanup?: () => void | Promise<void>;
7
- }
8
- //# sourceMappingURL=OntologyAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OntologyAdapter.d.ts","sourceRoot":"","sources":["../src/OntologyAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CACxC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,EAC1D,QAAQ,CACX,CAAC;AAEF,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,yBAAyB,CAAC;IAGxE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OntologyAdapter.js","sourceRoot":"","sources":["../src/OntologyAdapter.ts"],"names":[],"mappings":""}