@inf-monkeys-tech/monkeys-cli 0.10.6 → 0.11.1
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.
- package/README.md +0 -4
- package/dist/agent-work/adapters.d.ts +2 -1
- package/dist/agent-work/adapters.d.ts.map +1 -1
- package/dist/agent-work/adapters.js +111 -18
- package/dist/agent-work/adapters.js.map +1 -1
- package/dist/agent-work/client.d.ts +3 -2
- package/dist/agent-work/client.d.ts.map +1 -1
- package/dist/agent-work/client.js +13 -3
- package/dist/agent-work/client.js.map +1 -1
- package/dist/agent-work/contracts.d.ts +54 -2
- package/dist/agent-work/contracts.d.ts.map +1 -1
- package/dist/agent-work/contracts.js +31 -1
- package/dist/agent-work/contracts.js.map +1 -1
- package/dist/agent-work/polling.d.ts.map +1 -1
- package/dist/agent-work/polling.js +2 -2
- package/dist/agent-work/polling.js.map +1 -1
- package/dist/command-support/asset-feature-backfill.d.ts +20 -4
- package/dist/command-support/asset-feature-backfill.d.ts.map +1 -1
- package/dist/commands/agent/work/list.d.ts +1 -0
- package/dist/commands/agent/work/list.d.ts.map +1 -1
- package/dist/commands/agent/work/list.js +3 -1
- package/dist/commands/agent/work/list.js.map +1 -1
- package/dist/commands/data/asset/list.d.ts.map +1 -1
- package/dist/commands/data/asset/list.js +9 -5
- package/dist/commands/data/asset/list.js.map +1 -1
- package/dist/commands/data/asset/search.d.ts.map +1 -1
- package/dist/commands/data/asset/search.js +9 -5
- package/dist/commands/data/asset/search.js.map +1 -1
- package/dist/commands/data/view/rows.d.ts.map +1 -1
- package/dist/commands/data/view/rows.js +9 -5
- package/dist/commands/data/view/rows.js.map +1 -1
- package/dist/contracts/version.d.ts +2 -2
- package/dist/contracts/version.js +2 -2
- package/dist/data/asset-jsonl-import.d.ts +50 -10
- package/dist/data/asset-jsonl-import.d.ts.map +1 -1
- package/dist/data/asset-jsonl-import.js +13 -2
- package/dist/data/asset-jsonl-import.js.map +1 -1
- package/dist/data/client.d.ts +21 -3
- package/dist/data/client.d.ts.map +1 -1
- package/dist/data/client.js +132 -21
- package/dist/data/client.js.map +1 -1
- package/dist/data/command.d.ts +36 -6
- package/dist/data/command.d.ts.map +1 -1
- package/dist/data/command.js +81 -15
- package/dist/data/command.js.map +1 -1
- package/dist/data/contracts.d.ts +1 -0
- package/dist/data/contracts.d.ts.map +1 -1
- package/dist/data/contracts.js +6 -0
- package/dist/data/contracts.js.map +1 -1
- package/dist/data/cursor.d.ts +5 -1
- package/dist/data/cursor.d.ts.map +1 -1
- package/dist/data/cursor.js +12 -6
- package/dist/data/cursor.js.map +1 -1
- package/dist/data/kernel-bindings.d.ts.map +1 -1
- package/dist/data/kernel-bindings.js +1 -0
- package/dist/data/kernel-bindings.js.map +1 -1
- package/dist/data/ontology-command.d.ts +80 -16
- package/dist/data/ontology-command.d.ts.map +1 -1
- package/dist/data/perspective.d.ts +10 -5
- package/dist/data/perspective.d.ts.map +1 -1
- package/dist/data/perspective.js +50 -57
- package/dist/data/perspective.js.map +1 -1
- package/dist/data/resource-locator.d.ts.map +1 -1
- package/dist/data/resource-locator.js +9 -7
- package/dist/data/resource-locator.js.map +1 -1
- package/dist/data/view-rows.d.ts +1 -1
- package/dist/data/view-rows.d.ts.map +1 -1
- package/dist/data/view-rows.js +26 -3
- package/dist/data/view-rows.js.map +1 -1
- package/dist/data-transfer/asset-export.d.ts +10 -2
- package/dist/data-transfer/asset-export.d.ts.map +1 -1
- package/dist/data-transfer/asset-import.d.ts +10 -2
- package/dist/data-transfer/asset-import.d.ts.map +1 -1
- package/dist/data-transfer/ontology-export.d.ts +10 -2
- package/dist/data-transfer/ontology-export.d.ts.map +1 -1
- package/dist/data-transfer/ontology-import.d.ts +10 -2
- package/dist/data-transfer/ontology-import.d.ts.map +1 -1
- package/dist/openapi/contract.js +1 -1
- package/dist/openapi/contract.js.map +1 -1
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +1 -0
- package/dist/transport/http-client.js.map +1 -1
- package/dist/transport/types.d.ts +1 -0
- package/dist/transport/types.d.ts.map +1 -1
- package/oclif.manifest.json +68 -59
- package/package.json +2 -2
- package/skills/monkeys/SKILL.md +3 -3
- package/skills/monkeys/references/agent-work.md +6 -3
- package/skills/monkeys/references/compatibility.md +3 -3
- package/skills/monkeys/references/data-perspective.md +36 -31
- package/skills/monkeys/references/data-read.md +19 -7
- package/skills/monkeys/references/ontology-feature-search.md +5 -5
- package/skills/monkeys/references/ontology-model.md +2 -1
- package/skills/monkeys/references/safety-errors.md +1 -1
package/dist/data/cursor.js
CHANGED
|
@@ -3,20 +3,23 @@ import { CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
|
3
3
|
export function dataQueryFingerprint(input) {
|
|
4
4
|
return createHash('sha256').update(JSON.stringify(input)).digest('hex');
|
|
5
5
|
}
|
|
6
|
-
export function encodeDataCursor(token, fingerprint) {
|
|
6
|
+
export function encodeDataCursor(token, fingerprint, perspective) {
|
|
7
7
|
if (!token)
|
|
8
8
|
return undefined;
|
|
9
|
-
return Buffer.from(JSON.stringify({ fingerprint, token, v:
|
|
9
|
+
return Buffer.from(JSON.stringify({ fingerprint, ...(perspective ? { perspective } : {}), token, v: 2 })).toString('base64url');
|
|
10
10
|
}
|
|
11
|
-
export function
|
|
11
|
+
export function decodeDataCursorState(cursor, fingerprint) {
|
|
12
12
|
if (!cursor)
|
|
13
|
-
return
|
|
13
|
+
return {};
|
|
14
14
|
try {
|
|
15
15
|
const parsed = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf8'));
|
|
16
|
-
if (parsed.v !== 1 || !parsed.token || parsed.fingerprint !== fingerprint) {
|
|
16
|
+
if ((parsed.v !== 1 && parsed.v !== 2) || !parsed.token || parsed.fingerprint !== fingerprint) {
|
|
17
17
|
throw new Error('cursor mismatch');
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
if (parsed.perspective !== undefined && parsed.perspective !== 'kernel' && parsed.perspective !== 'studio') {
|
|
20
|
+
throw new Error('cursor perspective mismatch');
|
|
21
|
+
}
|
|
22
|
+
return { ...(parsed.perspective ? { perspective: parsed.perspective } : {}), token: parsed.token };
|
|
20
23
|
}
|
|
21
24
|
catch (cause) {
|
|
22
25
|
throw new CliError('Data Cursor does not match the current Context or query criteria.', {
|
|
@@ -26,4 +29,7 @@ export function decodeDataCursor(cursor, fingerprint) {
|
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
31
|
}
|
|
32
|
+
export function decodeDataCursor(cursor, fingerprint) {
|
|
33
|
+
return decodeDataCursorState(cursor, fingerprint).token;
|
|
34
|
+
}
|
|
29
35
|
//# sourceMappingURL=cursor.js.map
|
package/dist/data/cursor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/data/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/data/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAS9D,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAyB,EAAE,WAAmB,EAAE,WAAiC;IAChH,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAA0B,CAAC,CAC9G,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA0B,EAC1B,WAAmB;IAEnB,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACrG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,mEAAmE,EAAE;YACtF,KAAK;YACL,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,WAAmB;IAC9E,OAAO,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-bindings.d.ts","sourceRoot":"","sources":["../../src/data/kernel-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"kernel-bindings.d.ts","sourceRoot":"","sources":["../../src/data/kernel-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAgDD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,iBAAiB,GAAG,SAAS,CAG/H"}
|
|
@@ -5,6 +5,7 @@ const KERNEL_ONTOLOGY_V1_BINDINGS = {
|
|
|
5
5
|
'data.asset.list': { method: 'GET', pathTemplate: '/api/kernel/data-v2' },
|
|
6
6
|
'data.asset.listNextPage': { method: 'GET', pathTemplate: '/api/kernel/data-v2/nextpage' },
|
|
7
7
|
'data.asset.next': { method: 'GET', pathTemplate: '/api/kernel/data-v2/nextpage' },
|
|
8
|
+
'data.asset.search': { method: 'POST', pathTemplate: '/api/kernel/data-v2/search/advanced' },
|
|
8
9
|
'data.asset.update': { method: 'PUT', pathTemplate: '/api/kernel/data-v2/{assetId}' },
|
|
9
10
|
'data.container.copy': { method: 'POST', pathTemplate: '/api/kernel/data-v2/views/{viewId}/assets/{assetId}/copy' },
|
|
10
11
|
'data.container.move': { method: 'PUT', pathTemplate: '/api/kernel/data-v2/views/{viewId}/assets/{assetId}' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-bindings.js","sourceRoot":"","sources":["../../src/data/kernel-bindings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kernel-bindings.js","sourceRoot":"","sources":["../../src/data/kernel-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,16 @@ export declare function listOntologies(options: BaseOptions & {
|
|
|
18
18
|
effectiveTeamId?: string;
|
|
19
19
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
20
20
|
effectivePerspective?: "kernel" | "studio";
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
perspectiveResolution?: {
|
|
22
|
+
attempts: Array<{
|
|
23
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
24
|
+
perspective: 'kernel' | 'studio';
|
|
25
|
+
}>;
|
|
26
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
27
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
28
|
+
};
|
|
29
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
30
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
23
31
|
schemaFresh: boolean;
|
|
24
32
|
schemaSource: string;
|
|
25
33
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -47,8 +55,16 @@ export declare function listOntologies(options: BaseOptions & {
|
|
|
47
55
|
effectiveTeamId?: string;
|
|
48
56
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
49
57
|
effectivePerspective?: "kernel" | "studio";
|
|
50
|
-
|
|
51
|
-
|
|
58
|
+
perspectiveResolution?: {
|
|
59
|
+
attempts: Array<{
|
|
60
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
61
|
+
perspective: 'kernel' | 'studio';
|
|
62
|
+
}>;
|
|
63
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
64
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
65
|
+
};
|
|
66
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
67
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
52
68
|
schemaFresh: boolean;
|
|
53
69
|
schemaSource: string;
|
|
54
70
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -69,8 +85,16 @@ export declare function getOntology(options: BaseOptions & {
|
|
|
69
85
|
effectiveTeamId?: string;
|
|
70
86
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
71
87
|
effectivePerspective?: "kernel" | "studio";
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
perspectiveResolution?: {
|
|
89
|
+
attempts: Array<{
|
|
90
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
91
|
+
perspective: 'kernel' | 'studio';
|
|
92
|
+
}>;
|
|
93
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
94
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
95
|
+
};
|
|
96
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
97
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
74
98
|
schemaFresh: boolean;
|
|
75
99
|
schemaSource: string;
|
|
76
100
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -97,8 +121,16 @@ export declare function getOntology(options: BaseOptions & {
|
|
|
97
121
|
effectiveTeamId?: string;
|
|
98
122
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
99
123
|
effectivePerspective?: "kernel" | "studio";
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
perspectiveResolution?: {
|
|
125
|
+
attempts: Array<{
|
|
126
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
127
|
+
perspective: 'kernel' | 'studio';
|
|
128
|
+
}>;
|
|
129
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
130
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
131
|
+
};
|
|
132
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
133
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
102
134
|
schemaFresh: boolean;
|
|
103
135
|
schemaSource: string;
|
|
104
136
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -118,8 +150,16 @@ export declare function createOntology(options: BaseOptions & {
|
|
|
118
150
|
effectiveTeamId?: string;
|
|
119
151
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
120
152
|
effectivePerspective?: "kernel" | "studio";
|
|
121
|
-
|
|
122
|
-
|
|
153
|
+
perspectiveResolution?: {
|
|
154
|
+
attempts: Array<{
|
|
155
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
156
|
+
perspective: 'kernel' | 'studio';
|
|
157
|
+
}>;
|
|
158
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
159
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
160
|
+
};
|
|
161
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
162
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
123
163
|
schemaFresh: boolean;
|
|
124
164
|
schemaSource: string;
|
|
125
165
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -147,8 +187,16 @@ export declare function createOntology(options: BaseOptions & {
|
|
|
147
187
|
effectiveTeamId?: string;
|
|
148
188
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
149
189
|
effectivePerspective?: "kernel" | "studio";
|
|
150
|
-
|
|
151
|
-
|
|
190
|
+
perspectiveResolution?: {
|
|
191
|
+
attempts: Array<{
|
|
192
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
193
|
+
perspective: 'kernel' | 'studio';
|
|
194
|
+
}>;
|
|
195
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
196
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
197
|
+
};
|
|
198
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
199
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
152
200
|
schemaFresh: boolean;
|
|
153
201
|
schemaSource: string;
|
|
154
202
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -170,8 +218,16 @@ export declare function updateOntology(options: BaseOptions & {
|
|
|
170
218
|
effectiveTeamId?: string;
|
|
171
219
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
172
220
|
effectivePerspective?: "kernel" | "studio";
|
|
173
|
-
|
|
174
|
-
|
|
221
|
+
perspectiveResolution?: {
|
|
222
|
+
attempts: Array<{
|
|
223
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
224
|
+
perspective: 'kernel' | 'studio';
|
|
225
|
+
}>;
|
|
226
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
227
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
228
|
+
};
|
|
229
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
230
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
175
231
|
schemaFresh: boolean;
|
|
176
232
|
schemaSource: string;
|
|
177
233
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -200,8 +256,16 @@ export declare function updateOntology(options: BaseOptions & {
|
|
|
200
256
|
effectiveTeamId?: string;
|
|
201
257
|
resourceLocator?: import("./resource-locator-types.js").DataResourceLocator;
|
|
202
258
|
effectivePerspective?: "kernel" | "studio";
|
|
203
|
-
|
|
204
|
-
|
|
259
|
+
perspectiveResolution?: {
|
|
260
|
+
attempts: Array<{
|
|
261
|
+
outcome: 'empty' | 'not_found' | 'success';
|
|
262
|
+
perspective: 'kernel' | 'studio';
|
|
263
|
+
}>;
|
|
264
|
+
fallbackReason?: 'studio_empty' | 'studio_not_found';
|
|
265
|
+
policy: 'explicit' | 'fixed-route' | 'studio-first';
|
|
266
|
+
};
|
|
267
|
+
perspectiveSource: "explicit" | "fixed-route" | "studio-first";
|
|
268
|
+
requestedPerspective: import("./perspective.js").DataPerspectiveRequest;
|
|
205
269
|
schemaFresh: boolean;
|
|
206
270
|
schemaSource: string;
|
|
207
271
|
teamMode: import("./command.js").DataTeamMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ontology-command.d.ts","sourceRoot":"","sources":["../../src/data/ontology-command.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAMD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"ontology-command.d.ts","sourceRoot":"","sources":["../../src/data/ontology-command.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAMD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAH9E,OAAO;QAAiB,WAAW;QAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBvG;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;QAtBhC,OAAO;QAAiB,WAAW;QAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCvG;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;QAvCvD,OAAO;QAAiB,WAAW;QAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDvG;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;QAvDnE,OAAO;QAAiB,WAAW;QAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EvG"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { HttpClient } from '../transport/http-client.js';
|
|
2
2
|
export type DataPerspective = 'kernel' | 'studio';
|
|
3
|
+
export type DataPerspectiveRequest = DataPerspective | 'auto';
|
|
3
4
|
export type DataPerspectiveRoute = 'kernel' | 'session' | 'studio';
|
|
4
|
-
export type DataPerspectiveSource = '
|
|
5
|
+
export type DataPerspectiveSource = 'explicit' | 'fixed-route' | 'studio-first';
|
|
6
|
+
export interface DataSessionSurfaces {
|
|
7
|
+
kernel: boolean;
|
|
8
|
+
studio: boolean;
|
|
9
|
+
}
|
|
5
10
|
export declare const dataPerspectiveFlags: {
|
|
6
11
|
perspective: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
12
|
};
|
|
8
13
|
export declare function parseDataPerspective(value?: string): DataPerspective | undefined;
|
|
9
|
-
export declare function dataPerspectiveFingerprint(baseFingerprint: string, perspective
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function resolveOperationDataPerspective(requested:
|
|
12
|
-
effectivePerspective
|
|
14
|
+
export declare function dataPerspectiveFingerprint(baseFingerprint: string, perspective: DataPerspectiveRequest): string;
|
|
15
|
+
export declare function resolveSessionDataSurfaces(client: HttpClient, requested: DataPerspectiveRequest): Promise<DataSessionSurfaces>;
|
|
16
|
+
export declare function resolveOperationDataPerspective(requested: DataPerspectiveRequest, sessionSurfaces: DataSessionSurfaces, operation: string, availablePerspectives: DataPerspective[], route?: DataPerspectiveRoute): {
|
|
17
|
+
effectivePerspective: DataPerspective;
|
|
13
18
|
perspectiveSource: DataPerspectiveSource;
|
|
14
19
|
};
|
|
15
20
|
//# sourceMappingURL=perspective.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perspective.d.ts","sourceRoot":"","sources":["../../src/data/perspective.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"perspective.d.ts","sourceRoot":"","sources":["../../src/data/perspective.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAChF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAmBD,eAAO,MAAM,oBAAoB;IAC/B,WAAW;CAIZ,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAQhF;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,GAAG,MAAM,CAE/G;AAMD,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6BpI;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,sBAAsB,EACjC,eAAe,EAAE,mBAAmB,EACpC,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,eAAe,EAAE,EACxC,KAAK,GAAE,oBAAgC,GACtC;IAAE,oBAAoB,EAAE,eAAe,CAAC;IAAC,iBAAiB,EAAE,qBAAqB,CAAA;CAAE,CAuCrF"}
|
package/dist/data/perspective.js
CHANGED
|
@@ -13,6 +13,7 @@ const sessionSurfaceSchema = z
|
|
|
13
13
|
surfaces: z
|
|
14
14
|
.object({
|
|
15
15
|
kernel: z.boolean(),
|
|
16
|
+
studio: z.boolean(),
|
|
16
17
|
})
|
|
17
18
|
.passthrough(),
|
|
18
19
|
})
|
|
@@ -20,7 +21,7 @@ const sessionSurfaceSchema = z
|
|
|
20
21
|
export const dataPerspectiveFlags = {
|
|
21
22
|
perspective: Flags.string({
|
|
22
23
|
options: ['kernel', 'studio'],
|
|
23
|
-
summary: '
|
|
24
|
+
summary: 'Use only this Data perspective; when omitted, read queries use Studio first and may fall back to Kernel',
|
|
24
25
|
}),
|
|
25
26
|
};
|
|
26
27
|
export function parseDataPerspective(value) {
|
|
@@ -35,85 +36,77 @@ export function parseDataPerspective(value) {
|
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
export function dataPerspectiveFingerprint(baseFingerprint, perspective) {
|
|
38
|
-
if (!perspective)
|
|
39
|
-
return baseFingerprint;
|
|
40
39
|
return createHash('sha256').update(`${baseFingerprint}\0data-perspective:${perspective}`, 'utf8').digest('hex');
|
|
41
40
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
function hasSurface(surfaces, perspective) {
|
|
42
|
+
return surfaces[perspective];
|
|
43
|
+
}
|
|
44
|
+
export async function resolveSessionDataSurfaces(client, requested) {
|
|
45
45
|
const response = await client.request({ method: 'GET', path: '/api/auth/session' });
|
|
46
46
|
const envelope = sessionEnvelopeSchema.safeParse(response.data);
|
|
47
47
|
const value = envelope.success && envelope.data.data !== undefined ? envelope.data.data : response.data;
|
|
48
48
|
const session = sessionSurfaceSchema.safeParse(value);
|
|
49
49
|
if (!session.success) {
|
|
50
|
-
throw new CliError('Unable to confirm Data
|
|
50
|
+
throw new CliError('Unable to confirm Data perspectives from current Session.', {
|
|
51
51
|
cause: session.error,
|
|
52
52
|
code: 'DATA_PERSPECTIVE_SESSION_INCOMPATIBLE',
|
|
53
53
|
exitCode: EXIT_CODES.compatibility,
|
|
54
54
|
safeDetails: { requestState: 'read_failed', requestedPerspective: requested },
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
throw new CliError('The current account
|
|
60
|
-
code: '
|
|
57
|
+
const surfaces = session.data.surfaces;
|
|
58
|
+
if (!surfaces.studio && !surfaces.kernel) {
|
|
59
|
+
throw new CliError('The current account has neither Studio nor Kernel Data access.', {
|
|
60
|
+
code: 'DATA_PERSPECTIVE_PERMISSION_REQUIRED',
|
|
61
61
|
exitCode: EXIT_CODES.authorization,
|
|
62
|
-
safeDetails: { requestState: 'not_sent', requestedPerspective: requested,
|
|
62
|
+
safeDetails: { requestState: 'not_sent', requestedPerspective: requested, sessionSurfaces: surfaces },
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (!requested) {
|
|
69
|
-
return route === 'session'
|
|
70
|
-
? { perspectiveSource: 'legacy-unverified' }
|
|
71
|
-
: { effectivePerspective: route, perspectiveSource: 'fixed-route' };
|
|
72
|
-
}
|
|
73
|
-
if (!availablePerspectives.includes(requested)) {
|
|
74
|
-
throw new CliError(`${operation} does not support the ${requested} Data perspective.`, {
|
|
75
|
-
code: 'DATA_PERSPECTIVE_UNAVAILABLE',
|
|
65
|
+
if (requested !== 'auto' && !hasSurface(surfaces, requested)) {
|
|
66
|
+
throw new CliError(`The current account does not have ${requested === 'kernel' ? 'Kernel management rights' : 'Studio access'}.`, {
|
|
67
|
+
code: requested === 'kernel' ? 'DATA_KERNEL_PERMISSION_REQUIRED' : 'DATA_STUDIO_PERMISSION_REQUIRED',
|
|
76
68
|
exitCode: EXIT_CODES.authorization,
|
|
77
|
-
safeDetails: {
|
|
69
|
+
safeDetails: { requestState: 'not_sent', requestedPerspective: requested, sessionSurfaces: surfaces },
|
|
78
70
|
});
|
|
79
71
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
requestedPerspective: requested,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
72
|
+
return surfaces;
|
|
73
|
+
}
|
|
74
|
+
export function resolveOperationDataPerspective(requested, sessionSurfaces, operation, availablePerspectives, route = 'session') {
|
|
75
|
+
if (requested !== 'auto') {
|
|
76
|
+
if (!availablePerspectives.includes(requested)) {
|
|
77
|
+
throw new CliError(`${operation} does not support the ${requested} Data perspective.`, {
|
|
78
|
+
code: 'DATA_PERSPECTIVE_UNAVAILABLE',
|
|
79
|
+
exitCode: EXIT_CODES.authorization,
|
|
80
|
+
safeDetails: { availablePerspectives, operation, requestState: 'not_sent', requestedPerspective: requested },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
if (!hasSurface(sessionSurfaces, requested)) {
|
|
84
|
+
throw new CliError(`The current account does not have ${requested === 'kernel' ? 'Kernel management rights' : 'Studio access'}.`, {
|
|
85
|
+
code: requested === 'kernel' ? 'DATA_KERNEL_PERMISSION_REQUIRED' : 'DATA_STUDIO_PERMISSION_REQUIRED',
|
|
86
|
+
exitCode: EXIT_CODES.authorization,
|
|
87
|
+
safeDetails: { availablePerspectives, operation, requestState: 'not_sent', requestedPerspective: requested, sessionSurfaces },
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return { effectivePerspective: requested, perspectiveSource: 'explicit' };
|
|
99
91
|
}
|
|
100
|
-
if (route
|
|
101
|
-
if (
|
|
102
|
-
throw new CliError(
|
|
103
|
-
code: '
|
|
92
|
+
if (route !== 'session') {
|
|
93
|
+
if (!availablePerspectives.includes(route) || !hasSurface(sessionSurfaces, route)) {
|
|
94
|
+
throw new CliError(`The current account cannot use the ${route} perspective required by ${operation}.`, {
|
|
95
|
+
code: route === 'kernel' ? 'DATA_KERNEL_PERMISSION_REQUIRED' : 'DATA_STUDIO_PERMISSION_REQUIRED',
|
|
104
96
|
exitCode: EXIT_CODES.authorization,
|
|
105
|
-
|
|
106
|
-
safeDetails: {
|
|
107
|
-
availablePerspectives,
|
|
108
|
-
operation,
|
|
109
|
-
requestState: 'not_sent',
|
|
110
|
-
requestedPerspective: requested,
|
|
111
|
-
sessionPerspective,
|
|
112
|
-
},
|
|
97
|
+
safeDetails: { availablePerspectives, operation, requestState: 'not_sent', requestedPerspective: requested, sessionSurfaces },
|
|
113
98
|
});
|
|
114
99
|
}
|
|
115
|
-
return { effectivePerspective:
|
|
100
|
+
return { effectivePerspective: route, perspectiveSource: 'fixed-route' };
|
|
101
|
+
}
|
|
102
|
+
const effectivePerspective = sessionSurfaces.studio ? 'studio' : 'kernel';
|
|
103
|
+
if (!availablePerspectives.includes(effectivePerspective)) {
|
|
104
|
+
throw new CliError(`${operation} does not support an available Data perspective.`, {
|
|
105
|
+
code: 'DATA_PERSPECTIVE_UNAVAILABLE',
|
|
106
|
+
exitCode: EXIT_CODES.authorization,
|
|
107
|
+
safeDetails: { availablePerspectives, operation, requestState: 'not_sent', requestedPerspective: requested, sessionSurfaces },
|
|
108
|
+
});
|
|
116
109
|
}
|
|
117
|
-
return { effectivePerspective
|
|
110
|
+
return { effectivePerspective, perspectiveSource: 'studio-first' };
|
|
118
111
|
}
|
|
119
112
|
//# sourceMappingURL=perspective.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perspective.js","sourceRoot":"","sources":["../../src/data/perspective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"perspective.js","sourceRoot":"","sources":["../../src/data/perspective.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-locator.d.ts","sourceRoot":"","sources":["../../src/data/resource-locator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,qBAAqB;IAChC,eAAe;CAGhB,CAAC;AAWF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"resource-locator.d.ts","sourceRoot":"","sources":["../../src/data/resource-locator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,qBAAqB;IAChC,eAAe;CAGhB,CAAC;AAWF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAyEhI"}
|
|
@@ -17,28 +17,30 @@ function notSent(code, message, safeDetails, recovery) {
|
|
|
17
17
|
}
|
|
18
18
|
export function prepareOntologyReadRuntime(runtime, scope, resourceTeam) {
|
|
19
19
|
const normalizedResourceTeam = resourceTeam === undefined ? undefined : requireExactId(resourceTeam, 'Resource Team');
|
|
20
|
+
const requestedPerspective = runtime.requestedPerspective;
|
|
21
|
+
const explicitTeam = runtime.runtimeInput.explicitTeam;
|
|
20
22
|
if (normalizedResourceTeam && scope.kind !== 'ontology') {
|
|
21
23
|
throw notSent('DATA_RESOURCE_TEAM_NOT_APPLICABLE', '--resource-team only supports precise Ontology scope, old Bucket compatible commands continue to use --team.', { dataScopeKind: scope.kind }, ['Use --ontology instead, <Ontology ID>, or --team in the old Bucket command.']);
|
|
22
24
|
}
|
|
23
|
-
if (normalizedResourceTeam &&
|
|
24
|
-
throw notSent('DATA_RESOURCE_TEAM_NOT_APPLICABLE', '--resource-team is only used for explicit Kernel Ontology reads; Studio uses the --team context.', { requestedPerspective
|
|
25
|
+
if (normalizedResourceTeam && requestedPerspective === 'studio') {
|
|
26
|
+
throw notSent('DATA_RESOURCE_TEAM_NOT_APPLICABLE', '--resource-team is only used for explicit Kernel Ontology reads; Studio uses the --team context.', { requestedPerspective }, [
|
|
25
27
|
'For Kernel reading, please explicitly pass --perspective kernel; for Studio reading, please remove --resource-team and use --team.',
|
|
26
28
|
]);
|
|
27
29
|
}
|
|
28
|
-
if (normalizedResourceTeam &&
|
|
29
|
-
throw notSent('DATA_TEAM_ROLE_CONFLICT', '--team and --resource-team represent different roles and cannot be used at the same time in the current request.', { requestedPerspective
|
|
30
|
+
if (normalizedResourceTeam && explicitTeam) {
|
|
31
|
+
throw notSent('DATA_TEAM_ROLE_CONFLICT', '--team and --resource-team represent different roles and cannot be used at the same time in the current request.', { requestedPerspective }, [
|
|
30
32
|
'Kernel global resource reading retains --resource-team and removes --team; explicit Team filtering retains --team and removes --resource-team.',
|
|
31
33
|
]);
|
|
32
34
|
}
|
|
33
|
-
if (runtime.dataPerspective !== 'kernel' || runtime.teamMode !== 'none')
|
|
34
|
-
return runtime;
|
|
35
35
|
if (scope.kind !== 'ontology')
|
|
36
36
|
return runtime;
|
|
37
|
-
if (!normalizedResourceTeam) {
|
|
37
|
+
if (requestedPerspective === 'kernel' && runtime.teamMode === 'none' && !normalizedResourceTeam) {
|
|
38
38
|
throw notSent('DATA_RESOURCE_TEAM_REQUIRED', 'Current Kernel Ontology reads require an explicit data resource Team.', { ontologyId: scope.id }, [
|
|
39
39
|
'Pass in --resource-team <Team ID> after confirming the data resource Team of the target Ontology; do not use the Ontology owner Team to guess.',
|
|
40
40
|
]);
|
|
41
41
|
}
|
|
42
|
+
if (!normalizedResourceTeam)
|
|
43
|
+
return runtime;
|
|
42
44
|
if (runtime.resourceLocator) {
|
|
43
45
|
if (runtime.resourceLocator.ontologyId === scope.id && runtime.resourceLocator.teamId === normalizedResourceTeam)
|
|
44
46
|
return runtime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-locator.js","sourceRoot":"","sources":["../../src/data/resource-locator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,8BAA8B,EAA4B,MAAM,6BAA6B,CAAC;AAGvG,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,8HAA8H;KACxI,CAAC;CACH,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,WAAoC,EAAE,QAAkB;IACtG,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;QAC3B,IAAI;QACJ,QAAQ,EAAE,UAAU,CAAC,UAAU;QAC/B,QAAQ;QACR,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAoB,EAAE,KAAgB,EAAE,YAAgC;IACjH,MAAM,sBAAsB,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-locator.js","sourceRoot":"","sources":["../../src/data/resource-locator.ts"],"names":[],"mappings":"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"}
|
package/dist/data/view-rows.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DataCallResult } from './client.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type DataRuntime } from './command.js';
|
|
3
3
|
import type { DataScope } from './scope.js';
|
|
4
4
|
type ViewRowColumnKind = 'base' | 'feature' | 'property' | 'tag-group';
|
|
5
5
|
export interface ViewRowColumn {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-rows.d.ts","sourceRoot":"","sources":["../../src/data/view-rows.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"view-rows.d.ts","sourceRoot":"","sources":["../../src/data/view-rows.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,KAAK,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,YAAY,EAAE,qBAAqB,GAAG,aAAa,CAAC;IACpD,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AA8WD,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CAoB7B"}
|
package/dist/data/view-rows.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
2
2
|
import { attachmentSummary } from './attachments.js';
|
|
3
3
|
import { DataClient } from './client.js';
|
|
4
|
+
import { resolveDataRuntimePerspective } from './command.js';
|
|
4
5
|
import { batchGetFeatureValues, listViewFeatureColumns, MAX_VIEW_COLUMNS } from './feature-values.js';
|
|
5
6
|
import { requireExactId } from './policy.js';
|
|
6
7
|
import { normalizeTreeNodes } from './tree.js';
|
|
@@ -209,12 +210,12 @@ async function listMetadata(client, scope, path, id) {
|
|
|
209
210
|
safeDetails: { maxItems: 2000, operation: id },
|
|
210
211
|
});
|
|
211
212
|
}
|
|
212
|
-
|
|
213
|
+
async function readViewRowsOnce(runtime, scope, input) {
|
|
213
214
|
const viewId = requireExactId(input.viewId, 'View');
|
|
214
215
|
if (!Number.isInteger(input.limit) || input.limit < 1 || input.limit > 200) {
|
|
215
216
|
throw new CliError('--limit must be between 1 and 200.', { code: 'DATA_BATCH_LIMIT', exitCode: EXIT_CODES.validation });
|
|
216
217
|
}
|
|
217
|
-
const client = new DataClient(runtime, scope);
|
|
218
|
+
const client = new DataClient(runtime, scope, false);
|
|
218
219
|
const viewResult = await client.call('data.view.tree', 'GET', '/api/v2/data/views/tree', 'read', {
|
|
219
220
|
query: { ontologyId: scope.id },
|
|
220
221
|
});
|
|
@@ -234,7 +235,7 @@ export async function readViewRows(runtime, scope, input) {
|
|
|
234
235
|
const planned = planColumns(table, fieldList.columns, tagGroups?.items ?? []);
|
|
235
236
|
const advancedFilter = configuredAdvancedFilter(viewRecord);
|
|
236
237
|
const assetResult = advancedFilter
|
|
237
|
-
? await client.page('data.asset.search', 'POST', '/api/
|
|
238
|
+
? await client.page('data.asset.search', 'POST', '/api/v2/data/assets/search/advanced', {
|
|
238
239
|
body: {
|
|
239
240
|
...advancedFilter,
|
|
240
241
|
ontologyId: scope.id,
|
|
@@ -338,4 +339,26 @@ export async function readViewRows(runtime, scope, input) {
|
|
|
338
339
|
},
|
|
339
340
|
};
|
|
340
341
|
}
|
|
342
|
+
export async function readViewRows(runtime, scope, input) {
|
|
343
|
+
const canFallback = runtime.requestedPerspective === 'auto' && runtime.dataPerspective === 'studio' && runtime.sessionSurfaces.kernel;
|
|
344
|
+
const studio = await readViewRowsOnce(runtime, scope, input);
|
|
345
|
+
if (!canFallback || studio.rows.length > 0)
|
|
346
|
+
return studio;
|
|
347
|
+
const kernelRuntime = await resolveDataRuntimePerspective(runtime, 'kernel');
|
|
348
|
+
const kernel = await readViewRowsOnce(kernelRuntime, scope, input);
|
|
349
|
+
return {
|
|
350
|
+
...kernel,
|
|
351
|
+
binding: {
|
|
352
|
+
...kernel.binding,
|
|
353
|
+
perspectiveResolution: {
|
|
354
|
+
attempts: [
|
|
355
|
+
{ outcome: 'empty', perspective: 'studio' },
|
|
356
|
+
{ outcome: kernel.rows.length > 0 ? 'success' : 'empty', perspective: 'kernel' },
|
|
357
|
+
],
|
|
358
|
+
fallbackReason: 'studio_empty',
|
|
359
|
+
policy: 'studio-first',
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
};
|
|
363
|
+
}
|
|
341
364
|
//# sourceMappingURL=view-rows.js.map
|