@inf-monkeys-tech/monkeys-cli 0.12.37 → 0.12.39

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 (44) hide show
  1. package/dist/commands/data/field/list.d.ts +1 -0
  2. package/dist/commands/data/field/list.d.ts.map +1 -1
  3. package/dist/commands/data/field/list.js +7 -2
  4. package/dist/commands/data/field/list.js.map +1 -1
  5. package/dist/commands/data/relation/get.d.ts +22 -0
  6. package/dist/commands/data/relation/get.d.ts.map +1 -0
  7. package/dist/commands/data/relation/get.js +52 -0
  8. package/dist/commands/data/relation/get.js.map +1 -0
  9. package/dist/data/asset-aggregate.d.ts +11 -2
  10. package/dist/data/asset-aggregate.d.ts.map +1 -1
  11. package/dist/data/asset-aggregate.js +43 -5
  12. package/dist/data/asset-aggregate.js.map +1 -1
  13. package/dist/data/asset-inspect.d.ts.map +1 -1
  14. package/dist/data/asset-inspect.js +3 -2
  15. package/dist/data/asset-inspect.js.map +1 -1
  16. package/dist/data/asset-search-expression.d.ts +38 -0
  17. package/dist/data/asset-search-expression.d.ts.map +1 -1
  18. package/dist/data/asset-search-expression.js +84 -3
  19. package/dist/data/asset-search-expression.js.map +1 -1
  20. package/dist/data/client.d.ts.map +1 -1
  21. package/dist/data/client.js +1 -0
  22. package/dist/data/client.js.map +1 -1
  23. package/dist/data/kernel-bindings.d.ts.map +1 -1
  24. package/dist/data/kernel-bindings.js +1 -0
  25. package/dist/data/kernel-bindings.js.map +1 -1
  26. package/dist/data/relations.d.ts +58 -0
  27. package/dist/data/relations.d.ts.map +1 -0
  28. package/dist/data/relations.js +128 -0
  29. package/dist/data/relations.js.map +1 -0
  30. package/dist/data/resource-locator-types.d.ts.map +1 -1
  31. package/dist/data/resource-locator-types.js +1 -0
  32. package/dist/data/resource-locator-types.js.map +1 -1
  33. package/dist/data/view-rows.d.ts.map +1 -1
  34. package/dist/data/view-rows.js +76 -1
  35. package/dist/data/view-rows.js.map +1 -1
  36. package/dist/declarative/catalog.d.ts +152 -0
  37. package/dist/declarative/catalog.d.ts.map +1 -1
  38. package/dist/declarative/client.d.ts +1330 -159
  39. package/dist/declarative/client.d.ts.map +1 -1
  40. package/oclif.manifest.json +165 -1
  41. package/package.json +3 -3
  42. package/skills/monkeys-data/SKILL.md +1 -0
  43. package/skills/monkeys-data/references/ontology-feature-search.md +3 -3
  44. package/skills/monkeys-data/references/ontology-relations.md +50 -0
@@ -12,6 +12,7 @@ export default class DataFieldList extends LocalCommand {
12
12
  'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  'resource-team': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  keyword: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ incoming: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
16
  output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
17
  subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
18
  team: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/field/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAOjF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAgB,WAAW,SAAyD;IACpF,OAAgB,KAAK;;;;;;;;;;;;;;;MASnB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCzB;CACF"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/field/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAOjF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAgB,WAAW,SAAyD;IACpF,OAAgB,KAAK;;;;;;;;;;;;;;;;MAcnB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzB;CACF"}
@@ -11,6 +11,11 @@ export default class DataFieldList extends LocalCommand {
11
11
  ...dataScopeFlags,
12
12
  ...dataResourceTeamFlags,
13
13
  keyword: Flags.string({ summary: 'name keyword' }),
14
+ incoming: Flags.boolean({
15
+ default: false,
16
+ exclusive: ['keyword', 'view'],
17
+ summary: 'Discover incoming relation columns owned by other Ontologies',
18
+ }),
14
19
  output: localOutputFlag,
15
20
  ...paginationFlags({ defaultPageSize: 100, maxPageSize: 100 }),
16
21
  subscription: Flags.string({ summary: 'Subscription name' }),
@@ -28,7 +33,7 @@ export default class DataFieldList extends LocalCommand {
28
33
  const client = new DataClient(runtime, scope);
29
34
  const pagination = paginationInput(flags);
30
35
  const fingerprint = paginationFingerprint({
31
- command: 'data.field.list',
36
+ command: flags.incoming ? 'data.field.listIncoming' : 'data.field.list',
32
37
  context: runtime.context.fingerprint,
33
38
  keyword: flags.keyword ?? '',
34
39
  scope,
@@ -36,7 +41,7 @@ export default class DataFieldList extends LocalCommand {
36
41
  });
37
42
  let binding;
38
43
  const page = await collectPaginated(pagination, fingerprint, async (pageToken) => {
39
- const result = await client.page('data.field.list', 'GET', '/api/v2/data/feature-columns', {
44
+ const result = await client.page(flags.incoming ? 'data.field.listIncoming' : 'data.field.list', 'GET', flags.incoming ? '/api/v2/data/feature-columns/incoming' : '/api/v2/data/feature-columns', {
40
45
  query: {
41
46
  ontologyId: scope.id,
42
47
  pageSize: pagination.pageSize,
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/data/field/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/data/field/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { LocalCommand } from '../../../config/local-command.js';
2
+ export default class DataRelationGet extends LocalCommand {
3
+ static description: string;
4
+ static flags: {
5
+ perspective: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ bucket: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ ontology: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'resource-team': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'asset-ids-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ direction: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'field-id': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ depth: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'allow-ontology': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'max-assets': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'max-edges': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
16
+ subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ team: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
19
+ };
20
+ run(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/relation/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAQjF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IACvD,OAAgB,WAAW,SACsK;IACjM,OAAgB,KAAK;;;;;;;;;;;;;;;MAgBnB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBzB;CACF"}
@@ -0,0 +1,52 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
3
+ import { readCandidateIds } from '../../../data/asset-inspect.js';
4
+ import { dataMeta, loadDataRuntime } from '../../../data/command.js';
5
+ import { createDataScope, dataScopeFlags, dataScopeInput } from '../../../data/scope.js';
6
+ import { dataResourceTeamFlags, prepareOntologyReadRuntime } from '../../../data/resource-locator.js';
7
+ import { readRelations } from '../../../data/relations.js';
8
+ import { CliError, EXIT_CODES } from '../../../errors/cli-error.js';
9
+ export default class DataRelationGet extends LocalCommand {
10
+ static description = 'Read incoming/outgoing business relations independently of local fields. Bounded multi-hop expansion requires Studio and an explicit Ontology allowlist; it never expands report candidates.';
11
+ static flags = {
12
+ ...dataScopeFlags,
13
+ ...dataResourceTeamFlags,
14
+ 'asset-ids-file': Flags.string({ required: true, summary: 'JSON array of 1-1000 exact root Asset IDs' }),
15
+ direction: Flags.string({ options: ['incoming', 'outgoing', 'both'], default: 'both' }),
16
+ 'field-id': Flags.string({ multiple: true, summary: 'Optional relation-owner Column IDs filtering the first hop only' }),
17
+ depth: Flags.integer({ default: 1, min: 1, max: 3, summary: 'Maximum relation hops; default reads direct edges only' }),
18
+ 'allow-ontology': Flags.string({
19
+ multiple: true,
20
+ summary: 'Additional Ontology ID allowed for expansion; repeat for each confirmed scope',
21
+ }),
22
+ 'max-assets': Flags.integer({ default: 1000, min: 1, max: 1000 }),
23
+ 'max-edges': Flags.integer({ default: 5000, min: 1, max: 5000 }),
24
+ subscription: Flags.string(),
25
+ team: Flags.string(),
26
+ output: localOutputFlag,
27
+ };
28
+ async run() {
29
+ const { flags } = await this.parse(DataRelationGet);
30
+ await this.emit('data relation get', flags.output, async () => {
31
+ if (flags.depth > 1 && (flags.perspective === 'kernel' || flags['resource-team']))
32
+ throw new CliError('Multi-hop expansion requires Studio; use separate explicitly scoped Kernel reads.', {
33
+ code: 'DATA_RELATION_SCOPE_REQUIRED',
34
+ exitCode: EXIT_CODES.validation,
35
+ });
36
+ let runtime = await loadDataRuntime(flags.subscription, flags.team, flags.depth > 1 ? 'studio' : flags.perspective);
37
+ const scope = createDataScope(dataScopeInput(flags.ontology, flags.bucket), runtime.dataContract.variant);
38
+ runtime = prepareOntologyReadRuntime(runtime, scope, flags['resource-team']);
39
+ const { binding, ...result } = await readRelations(runtime, scope, {
40
+ assetIds: await readCandidateIds(flags['asset-ids-file']),
41
+ direction: flags.direction,
42
+ ...(flags['field-id'] ? { fieldIds: flags['field-id'] } : {}),
43
+ depth: flags.depth,
44
+ allowedOntologies: flags['allow-ontology'] ?? [],
45
+ maxAssets: flags['max-assets'],
46
+ maxEdges: flags['max-edges'],
47
+ });
48
+ return { ...dataMeta(runtime, binding, scope), ...result };
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/data/relation/get.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { type AssetSearchFilterExpression } from './asset-search-expression.js';
2
+ import { type RelationField, type AssetSearchFilterExpression } from './asset-search-expression.js';
3
3
  declare const METRIC_OPS: readonly ['count', 'value_count', 'distinct_count', 'sum', 'avg', 'min', 'max'];
4
4
  export type AssetAggregateScalarField = {
5
5
  kind: 'builtin';
@@ -11,7 +11,7 @@ export type AssetAggregateScalarField = {
11
11
  export type AssetAggregateField = AssetAggregateScalarField | {
12
12
  kind: 'tag_group';
13
13
  tagGroupId: string;
14
- };
14
+ } | RelationField;
15
15
  export type AssetAggregateMetric = {
16
16
  op: (typeof METRIC_OPS)[number];
17
17
  alias: string;
@@ -25,6 +25,15 @@ export interface AssetAggregateInput {
25
25
  field: AssetAggregateField;
26
26
  alias: string;
27
27
  };
28
+ groupByDimensions?: Array<{
29
+ field: AssetAggregateField;
30
+ alias: string;
31
+ }>;
32
+ rollup?: {
33
+ groupAlias: string;
34
+ distinctAlias: string;
35
+ alias: string;
36
+ };
28
37
  orderBy?: {
29
38
  kind: 'key' | 'metric';
30
39
  alias?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"asset-aggregate.d.ts","sourceRoot":"","sources":["../../src/data/asset-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAkC,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAuBhH,QAAA,MAAM,UAAU,YAAI,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAGnG,MAAM,MAAM,yBAAyB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAClH,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACxG,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAC;AACzH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7E,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAClH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA8GD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CAuG/H;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAIlH;AAmBD,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBAsBvB,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAEhF"}
1
+ {"version":3,"file":"asset-aggregate.d.ts","sourceRoot":"","sources":["../../src/data/asset-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,2BAA2B,EACjC,MAAM,8BAA8B,CAAC;AAuBtC,QAAA,MAAM,UAAU,YAAI,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAGnG,MAAM,MAAM,yBAAyB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAClH,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAAC;AACxH,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAC;AACzH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7E,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAClH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAoHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CA6I/H;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAIlH;AAmBD,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBAsBvB,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAEhF"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { CliError, EXIT_CODES } from '../errors/cli-error.js';
3
- import { normalizeAssetSearchExpression } from './asset-search-expression.js';
3
+ import { normalizeAssetSearchExpression, normalizeRelationField, } from './asset-search-expression.js';
4
4
  const BUILTIN_FIELDS = new Set([
5
5
  'asset_id',
6
6
  'team_id',
@@ -69,6 +69,8 @@ function alias(input, path, seen) {
69
69
  }
70
70
  function field(input, path, allowTagGroup = false) {
71
71
  const value = object(input, path);
72
+ if (allowTagGroup && (value.kind === 'feature_relation_target' || value.kind === 'feature_relation_source'))
73
+ return normalizeRelationField(value, path);
72
74
  if (value.kind === 'builtin') {
73
75
  allowedKeys(value, ['kind', 'name'], path);
74
76
  const name = text(value.name, `${path}.name`);
@@ -94,6 +96,10 @@ function checkExpression(input, path, depth = 0, count = { value: 0 }) {
94
96
  if (depth > 8 || ++count.value > 80)
95
97
  invalid('Expression exceeds its depth or node bound.', path);
96
98
  const node = object(input, path);
99
+ if (['featureRelation', 'featureRelationSource', 'inQuery'].includes(String(node.op))) {
100
+ normalizeAssetSearchExpression(node);
101
+ return;
102
+ }
97
103
  const fields = {
98
104
  and: ['op', 'filters'],
99
105
  or: ['op', 'filters'],
@@ -151,6 +157,8 @@ export function normalizeAssetAggregateInput(input, scope) {
151
157
  'viewId',
152
158
  'metrics',
153
159
  'groupBy',
160
+ 'groupByDimensions',
161
+ 'rollup',
154
162
  'orderBy',
155
163
  'expression',
156
164
  'name',
@@ -176,6 +184,19 @@ export function normalizeAssetAggregateInput(input, scope) {
176
184
  allowedKeys(group, ['field', 'alias'], '$.groupBy');
177
185
  result.groupBy = { field: field(group.field, '$.groupBy.field', true), alias: alias(group.alias, '$.groupBy.alias', aliases) };
178
186
  }
187
+ if (source.groupByDimensions !== undefined) {
188
+ if (source.groupBy !== undefined ||
189
+ !Array.isArray(source.groupByDimensions) ||
190
+ source.groupByDimensions.length < 1 ||
191
+ source.groupByDimensions.length > 2)
192
+ invalid('Use either groupBy or one to two groupByDimensions.', '$.groupByDimensions');
193
+ result.groupByDimensions = source.groupByDimensions.map((input, index) => {
194
+ const path = `$.groupByDimensions[${index}]`;
195
+ const group = object(input, path);
196
+ allowedKeys(group, ['field', 'alias'], path);
197
+ return { field: field(group.field, path + '.field', true), alias: alias(group.alias, path + '.alias', aliases) };
198
+ });
199
+ }
179
200
  if (!Array.isArray(source.metrics) || source.metrics.length < 1 || source.metrics.length > 16)
180
201
  invalid('Aggregate metrics must contain between 1 and 16 entries.', '$.metrics');
181
202
  result.metrics = source.metrics.map((input, index) => {
@@ -203,8 +224,8 @@ export function normalizeAssetAggregateInput(input, scope) {
203
224
  return normalized;
204
225
  });
205
226
  if (source.orderBy !== undefined) {
206
- if (!result.groupBy)
207
- invalid('orderBy requires groupBy.', '$.orderBy');
227
+ if (!result.groupBy && !result.groupByDimensions)
228
+ invalid('orderBy requires grouping.', '$.orderBy');
208
229
  const order = object(source.orderBy, '$.orderBy');
209
230
  allowedKeys(order, ['kind', 'alias', 'order'], '$.orderBy');
210
231
  if (order.kind !== 'key' && order.kind !== 'metric')
@@ -212,7 +233,9 @@ export function normalizeAssetAggregateInput(input, scope) {
212
233
  if (order.order !== undefined && order.order !== 'asc' && order.order !== 'desc')
213
234
  invalid('orderBy.order must be asc or desc.', '$.orderBy.order');
214
235
  const orderAlias = order.alias === undefined ? undefined : text(order.alias, '$.orderBy.alias', 64);
215
- if (order.kind === 'key' && orderAlias !== undefined && orderAlias !== result.groupBy.alias)
236
+ if (order.kind === 'key' &&
237
+ orderAlias !== undefined &&
238
+ (result.groupByDimensions?.length === 2 || orderAlias !== (result.groupBy?.alias ?? result.groupByDimensions?.[0]?.alias)))
216
239
  invalid('Key ordering alias must match groupBy.alias.', '$.orderBy.alias');
217
240
  if (order.kind === 'metric' && !result.metrics.some((metric) => metric.alias === orderAlias))
218
241
  invalid('Metric ordering must name a declared metric alias.', '$.orderBy.alias');
@@ -252,10 +275,25 @@ export function normalizeAssetAggregateInput(input, scope) {
252
275
  checkExpression(source.expression, '$.expression');
253
276
  result.expression = normalizeAssetSearchExpression(source.expression);
254
277
  }
278
+ if (source.rollup !== undefined) {
279
+ const rollup = object(source.rollup, '$.rollup');
280
+ allowedKeys(rollup, ['groupAlias', 'distinctAlias', 'alias'], '$.rollup');
281
+ const groups = result.groupByDimensions;
282
+ const groupAlias = text(rollup.groupAlias, '$.rollup.groupAlias');
283
+ const distinctAlias = text(rollup.distinctAlias, '$.rollup.distinctAlias');
284
+ if (!groups ||
285
+ groups.length !== 2 ||
286
+ groupAlias === distinctAlias ||
287
+ ![groupAlias, distinctAlias].every((name) => groups.some((group) => group.alias === name)))
288
+ invalid('rollup requires two distinct declared group dimensions.', '$.rollup');
289
+ if (result.orderBy?.kind === 'metric' || result.metrics.length !== 1 || result.metrics[0]?.op !== 'count')
290
+ invalid('rollup requires a single count metric and key ordering.', '$.rollup');
291
+ result.rollup = { groupAlias, distinctAlias, alias: alias(rollup.alias, '$.rollup.alias', aliases) };
292
+ }
255
293
  return result;
256
294
  }
257
295
  export function validateAssetAggregateContinuation(input, pageToken) {
258
- if (pageToken && (!input.groupBy || input.orderBy?.kind === 'metric')) {
296
+ if (pageToken && ((!input.groupBy && !input.groupByDimensions) || input.orderBy?.kind === 'metric')) {
259
297
  invalid('Continuation requires groupBy with key ordering; metric ordering has no continuation.', '$.pageToken');
260
298
  }
261
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asset-aggregate.js","sourceRoot":"","sources":["../../src/data/asset-aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-aggregate.js","sourceRoot":"","sources":["../../src/data/asset-aggregate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"asset-inspect.d.ts","sourceRoot":"","sources":["../../src/data/asset-inspect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,UAAU,KAAM,SAAQ,WAAW;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAS9D;AACD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAetE;AAeD,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiH3F"}
1
+ {"version":3,"file":"asset-inspect.d.ts","sourceRoot":"","sources":["../../src/data/asset-inspect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,UAAU,KAAM,SAAQ,WAAW;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAS9D;AACD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAetE;AAeD,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkH3F"}
@@ -121,7 +121,8 @@ export async function inspectAssets(runtime, scope, options) {
121
121
  }
122
122
  const columnIds = fields.map((f) => f.id);
123
123
  const relationIds = fields.filter((f) => f.type === 'function_relation' || f.type === 'relation').map((f) => f.id);
124
- const includeRelations = options.relations !== false && relationIds.length > 0;
124
+ // Incoming edges may be owned by another Ontology, even when this one has no relation fields.
125
+ const includeRelations = options.relations !== false && (!requested || relationIds.length > 0);
125
126
  const items = [];
126
127
  for (let offset = 0; offset < assetIds.length; offset += BATCH_SIZE) {
127
128
  const ids = assetIds.slice(offset, offset + BATCH_SIZE);
@@ -137,7 +138,7 @@ export async function inspectAssets(runtime, scope, options) {
137
138
  }
138
139
  if (includeRelations) {
139
140
  const response = await client.call('data.relation.batchGet', 'POST', '/api/v2/data/feature-relations/batch', 'read', {
140
- body: { assetIds: ids, columnIds: relationIds },
141
+ body: { assetIds: ids, ...(requested ? { columnIds: relationIds } : {}) },
141
142
  query: { ontologyId: scope.id },
142
143
  });
143
144
  track(response);
@@ -1 +1 @@
1
- {"version":3,"file":"asset-inspect.js","sourceRoot":"","sources":["../../src/data/asset-inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-inspect.js","sourceRoot":"","sources":["../../src/data/asset-inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGtF,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAQtC,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1G,CAAC;AACD,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AAC1G,CAAC;AACD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAAC,+DAA+D,EAAE;YAClF,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACpD,MAAM,IAAI,QAAQ,CAAC,iEAAiE,EAAE;YACpF,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,SAAS,CAAC,KAAc,EAAE,QAAkB;IACnD,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,4CAA4C,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,QAAQ,CAAC;QACzC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,8DAA8D,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,KAAgB,EAChB,OAA0F;IAE1F,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjG,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAA8C,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAE,EAAE;QACvC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,YAAY,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,IAAI,SAA6B,CAAC;IAClC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,8BAA8B,EAAE;YACzF,KAAK,EAAE;gBACL,UAAU,EAAE,KAAK,CAAC,EAAE;gBACpB,QAAQ,EAAE,GAAG;gBACb,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD;SACF,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,SAAS,CAAC;YAChD,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,CAAC,EAAE,oBAAoB,IAAI,CAAC,EAAE,uBAAuB,CAAC;YACzE,IAAI,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACxC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,SAAS;YACnD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChI,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;gBAAE,OAAO,CAAC,iEAAiE,CAAC,CAAC;QAC7G,CAAC;QACD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS;YAAE,MAAM;QACtB,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,SAAS;QAAE,OAAO,CAAC,4DAA4D,CAAC,CAAC;IACrF,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,QAAQ,CAAC,iGAAiG,EAAE;YACpH,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnH,8FAA8F;IAC9F,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;QACxD,IAAI,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE;gBACxG,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACvF,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChB,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE;gBACnH,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACzE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChB,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,IAAI,QAAQ,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,iDAAiD,CAAC,CAAC;YACzF,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC/F,OAAO,CAAC,uDAAuD,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO;gBACP,MAAM,EAAE,WAAW,IAAI,EAAE;gBACzB,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;gBACxF,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChF,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;oBACtF,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,EAAE;oBACrC,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,EAAE;iBACtC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAQ;QACjB,MAAM;QACN,sBAAsB;QACtB,KAAK;QACL,UAAU;QACV,YAAY;QACZ,eAAe,EAAE,QAAQ,CAAC,MAAM;QAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,7 +1,43 @@
1
1
  export type AssetSearchFilterField = 'ontologyId' | 'teamId' | 'creatorUserId' | 'assetType' | 'name' | 'id';
2
2
  export type AssetSearchFeatureComparator = 'eq' | 'in' | 'gt' | 'gte' | 'lt' | 'lte' | 'between';
3
3
  export type AssetSearchFeatureValue = string | number | boolean;
4
+ export type RelationIdentity = {
5
+ ontologyId: string;
6
+ assetId: string;
7
+ };
8
+ export type RelationField = {
9
+ kind: 'feature_relation_target';
10
+ fieldKey: string;
11
+ } | {
12
+ kind: 'feature_relation_source';
13
+ fieldKey: string;
14
+ ontologyId: string;
15
+ viewId: string;
16
+ };
4
17
  export type AssetSearchFilterExpression = {
18
+ op: 'featureRelation';
19
+ fieldKey: string;
20
+ cmp: 'contains_any';
21
+ value: RelationIdentity[];
22
+ } | {
23
+ op: 'featureRelationSource';
24
+ fieldKey: string;
25
+ ontologyId: string;
26
+ viewId: string;
27
+ cmp: 'contains_any';
28
+ value: RelationIdentity[];
29
+ } | {
30
+ op: 'inQuery';
31
+ query: {
32
+ ontologyId: string;
33
+ viewId: string;
34
+ field: RelationField | {
35
+ kind: 'builtin';
36
+ name: 'asset_id';
37
+ };
38
+ expression?: AssetSearchFilterExpression;
39
+ };
40
+ } | {
5
41
  op: 'and' | 'or';
6
42
  filters: AssetSearchFilterExpression[];
7
43
  } | {
@@ -23,6 +59,8 @@ export type AssetSearchFilterExpression = {
23
59
  objectKind: 'user' | 'team';
24
60
  objectId: string;
25
61
  };
62
+ export declare function relationIdentifier(value: unknown, path: string, semantic?: boolean): string;
63
+ export declare function normalizeRelationField(input: unknown, path: string): RelationField;
26
64
  export declare function normalizeAssetSearchExpression(input: unknown): AssetSearchFilterExpression;
27
65
  export declare function mergeAssetSearchExpression(filter: Record<string, unknown>, expression: AssetSearchFilterExpression | undefined): Record<string, unknown>;
28
66
  //# sourceMappingURL=asset-search-expression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset-search-expression.d.ts","sourceRoot":"","sources":["../../src/data/asset-search-expression.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7G,MAAM,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AACjG,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,2BAA2B,EAAE,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAC;IAAC,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GACvG;IACE,EAAE,EAAE,SAAS,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,4BAA4B,CAAC;IAClC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;CAC5D,GACD;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACnC;IACE,EAAE,EAAE,UAAU,CAAC;IACf,YAAY,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;IACvE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA6JN,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAE1F;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,2BAA2B,GAAG,SAAS,GAClD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
1
+ {"version":3,"file":"asset-search-expression.d.ts","sourceRoot":"","sources":["../../src/data/asset-search-expression.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,34 @@ function normalizeFeatureValue(value, path) {
59
59
  });
60
60
  return normalized.length === 1 ? normalized[0] : normalized;
61
61
  }
62
- function normalizeNode(input, depth, counter, path) {
62
+ function exactKeys(node, keys, path) {
63
+ if (Object.keys(node).some((key) => !keys.includes(key)))
64
+ invalidExpression('Unsupported relation query property.', path);
65
+ }
66
+ export function relationIdentifier(value, path, semantic = false) {
67
+ if (typeof value !== 'string' || !value.trim() || value.trim().length > 128 || /[\u0000-\u001f\u007f-\u009f]/u.test(value))
68
+ invalidExpression('Expected a non-empty identifier of at most 128 characters.', path);
69
+ const result = value.trim();
70
+ if (semantic && /^(?:feature_(?:num|str|bool|date|json)|properties|extra)\./i.test(result))
71
+ invalidExpression('Use a semantic fieldKey, not a storage path.', path);
72
+ return result;
73
+ }
74
+ export function normalizeRelationField(input, path) {
75
+ const node = recordValue(input, path);
76
+ if (node.kind !== 'feature_relation_target' && node.kind !== 'feature_relation_source')
77
+ invalidExpression('Expected a relation target or source field.', path);
78
+ exactKeys(node, node.kind === 'feature_relation_source' ? ['kind', 'fieldKey', 'ontologyId', 'viewId'] : ['kind', 'fieldKey'], path);
79
+ const fieldKey = relationIdentifier(node.fieldKey, path + '.fieldKey', true);
80
+ return node.kind === 'feature_relation_target'
81
+ ? { kind: node.kind, fieldKey }
82
+ : {
83
+ kind: node.kind,
84
+ fieldKey,
85
+ ontologyId: relationIdentifier(node.ontologyId, path + '.ontologyId'),
86
+ viewId: relationIdentifier(node.viewId, path + '.viewId'),
87
+ };
88
+ }
89
+ function normalizeNode(input, depth, counter, path, insideQuery = false) {
63
90
  const node = recordValue(input, path);
64
91
  if (depth > MAX_EXPRESSION_DEPTH) {
65
92
  invalidExpression(`The maximum search expression depth is ${MAX_EXPRESSION_DEPTH}.`, path, { maxDepth: MAX_EXPRESSION_DEPTH });
@@ -75,7 +102,61 @@ function normalizeNode(input, depth, counter, path) {
75
102
  }
76
103
  return {
77
104
  op,
78
- filters: node.filters.map((child, index) => normalizeNode(child, depth + 1, counter, `${path}.filters[${index}]`)),
105
+ filters: node.filters.map((child, index) => normalizeNode(child, depth + 1, counter, `${path}.filters[${index}]`, insideQuery)),
106
+ };
107
+ }
108
+ if (op === 'featureRelation' || op === 'featureRelationSource') {
109
+ exactKeys(node, op === 'featureRelation' ? ['op', 'fieldKey', 'cmp', 'value'] : ['op', 'fieldKey', 'ontologyId', 'viewId', 'cmp', 'value'], path);
110
+ const fieldKey = relationIdentifier(node.fieldKey, path + '.fieldKey', true);
111
+ if (node.cmp !== 'contains_any')
112
+ invalidExpression('Relation predicates require contains_any.', path + '.cmp');
113
+ if (!Array.isArray(node.value) || !node.value.length || node.value.length > 100)
114
+ invalidExpression('Relation predicates require 1-100 identity tuples.', path + '.value');
115
+ const identities = new Map();
116
+ for (const [index, input] of node.value.entries()) {
117
+ const itemPath = `${path}.value[${index}]`;
118
+ const item = recordValue(input, itemPath);
119
+ exactKeys(item, ['ontologyId', 'assetId'], itemPath);
120
+ const identity = {
121
+ ontologyId: relationIdentifier(item.ontologyId, itemPath + '.ontologyId'),
122
+ assetId: relationIdentifier(item.assetId, itemPath + '.assetId'),
123
+ };
124
+ identities.set(JSON.stringify(identity), identity);
125
+ }
126
+ const value = [...identities.values()];
127
+ if (op === 'featureRelation')
128
+ return { op, fieldKey, cmp: 'contains_any', value };
129
+ const ontologyId = relationIdentifier(node.ontologyId, path + '.ontologyId');
130
+ if (value.some((item) => item.ontologyId !== ontologyId))
131
+ invalidExpression('Source tuples must belong to the relation-owner Ontology.', path + '.value');
132
+ return { op, fieldKey, ontologyId, viewId: relationIdentifier(node.viewId, path + '.viewId'), cmp: 'contains_any', value };
133
+ }
134
+ if (op === 'inQuery') {
135
+ if (insideQuery || ++counter.queries > 6)
136
+ invalidExpression('At most six inQuery leaves are supported; nested inQuery is not supported.', path);
137
+ exactKeys(node, ['op', 'query'], path);
138
+ const query = recordValue(node.query, path + '.query');
139
+ exactKeys(query, ['ontologyId', 'viewId', 'field', 'expression'], path + '.query');
140
+ const field = recordValue(query.field, path + '.query.field');
141
+ let normalizedField;
142
+ if (field.kind === 'builtin') {
143
+ exactKeys(field, ['kind', 'name'], path + '.query.field');
144
+ if (field.name !== 'asset_id')
145
+ invalidExpression('inQuery requires relation identities or builtin asset_id.', path + '.query.field');
146
+ normalizedField = { kind: 'builtin', name: 'asset_id' };
147
+ }
148
+ else
149
+ normalizedField = normalizeRelationField(field, path + '.query.field');
150
+ return {
151
+ op,
152
+ query: {
153
+ ontologyId: relationIdentifier(query.ontologyId, path + '.query.ontologyId'),
154
+ viewId: relationIdentifier(query.viewId, path + '.query.viewId'),
155
+ field: normalizedField,
156
+ ...(query.expression === undefined
157
+ ? {}
158
+ : { expression: normalizeNode(query.expression, depth + 1, counter, path + '.query.expression', true) }),
159
+ },
79
160
  };
80
161
  }
81
162
  if (op === 'field') {
@@ -156,7 +237,7 @@ function normalizeNode(input, depth, counter, path) {
156
237
  invalidExpression(`Search expression node: ${op || '<empty>'} is not supported.`, `${path}.op`);
157
238
  }
158
239
  export function normalizeAssetSearchExpression(input) {
159
- return normalizeNode(input, 0, { value: 0 }, '$');
240
+ return normalizeNode(input, 0, { value: 0, queries: 0 }, '$');
160
241
  }
161
242
  export function mergeAssetSearchExpression(filter, expression) {
162
243
  if (!expression)