@omniviewdev/runtime 0.24.0 → 0.26.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.
- package/dist/api.cjs +1 -1
- package/dist/api.d.ts +2 -0
- package/dist/api.js +492 -276
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/registry/models.d.ts +3 -0
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/resource/index.d.ts +1 -1
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/resource/models.d.ts +85 -0
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/resource/servicewrapper.d.ts +3 -1
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/servicewrapper.d.ts +2 -1
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/types/index.d.ts +1 -1
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/plugin/types/models.d.ts +22 -0
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/resourcecatalog/index.d.ts +1 -0
- package/dist/bindings/github.com/omniviewdev/omniview/backend/pkg/resourcecatalog/models.d.ts +127 -0
- package/dist/bindings/github.com/omniviewdev/plugin-sdk/pkg/resource/v2/index.d.ts +1 -1
- package/dist/bindings/github.com/omniviewdev/plugin-sdk/pkg/resource/v2/models.d.ts +45 -18
- package/dist/bindings/github.com/omniviewdev/plugin-sdk/pkg/types/index.d.ts +1 -1
- package/dist/bindings/github.com/omniviewdev/plugin-sdk/pkg/types/models.d.ts +0 -22
- package/dist/compat/types.d.ts +2 -1
- package/dist/hooks/resource/index.d.ts +1 -0
- package/dist/hooks/resource/useEditorSchemas.d.ts +9 -8
- package/dist/hooks/resource/useSchemaFields.d.ts +45 -0
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1693 -1590
- package/dist/{models-eKPHQdEl.js → models-BwT6PfKo.js} +45 -39
- package/dist/{models-B_Ef0-Dw.js → models-CcH0zldZ.js} +1 -1
- package/dist/{models-CX8HlqvF.cjs → models-CpFXL1IY.cjs} +1 -1
- package/dist/models-R2rKpSiU.cjs +1 -0
- package/dist/models.cjs +1 -1
- package/dist/models.d.ts +4 -1
- package/dist/models.js +100 -94
- package/dist/resource/v2/ancillary.d.ts +1 -8
- package/dist/resource/v2/client.d.ts +5 -2
- package/dist/resource/v2/domain.d.ts +0 -2
- package/dist/resource/v2/query-lease.d.ts +145 -0
- package/dist/resource/v2/query-observer.d.ts +37 -0
- package/dist/resource/v2/query.d.ts +120 -0
- package/dist/resource/v2/schema.d.ts +86 -0
- package/dist/{service-CbJRfldb.js → service-Brxo1pLe.js} +306 -299
- package/dist/service-COOtx0k6.cjs +1 -0
- package/package.json +1 -1
- package/dist/models-B3B5AdrM.cjs +0 -1
- package/dist/service-DyXmAdcM.cjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccessRoute, ResourceReference,
|
|
1
|
+
import { AccessRoute, ResourceReference, ScopeEntry, Value } from './domain';
|
|
2
2
|
import { Connection } from '../../bindings/github.com/omniviewdev/plugin-sdk/pkg/types/models';
|
|
3
3
|
/** Ancillary transport traits; finite support comes only from the qualified catalog. */
|
|
4
4
|
export type Feature = 'connections' | 'connectionBrowser' | 'connectionOverlay' | 'scopeValues' | 'presentation' | 'editorSchemas' | 'schemaDocuments' | 'relationships' | 'health' | 'actionCatalog' | 'streamingActions' | 'sourceSessions';
|
|
@@ -10,13 +10,6 @@ export interface ConnectionOverlay {
|
|
|
10
10
|
upserts: readonly Connection[];
|
|
11
11
|
disabledIDs: readonly string[];
|
|
12
12
|
}
|
|
13
|
-
export interface EditorSchema {
|
|
14
|
-
type: string;
|
|
15
|
-
fileMatch: string;
|
|
16
|
-
uri: string;
|
|
17
|
-
language: string;
|
|
18
|
-
binding: SchemaBinding;
|
|
19
|
-
}
|
|
20
13
|
export interface ResourceGroup {
|
|
21
14
|
id: string;
|
|
22
15
|
name: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CancellablePromise } from '@wailsio/runtime';
|
|
2
2
|
import { AccessRoute, ActionRequest, Catalog as CatalogResult, CatalogRequest, GetRequest, MutationRequest, Record, SchemaDocument, SchemaDocumentReference, Value } from './domain';
|
|
3
|
-
import { ActionDescriptor,
|
|
3
|
+
import { ActionDescriptor, FeatureSet, RelationshipDescriptor, ResolvedRelationship, ResourceDefinition, ResourceEvent, ResourceGroup, ResourceHealth } from './ancillary';
|
|
4
|
+
import { EditorSchemaAssociation, EditorSchemaDocument, SchemaFieldsRequest, SchemaFieldsResult } from './schema';
|
|
4
5
|
import { AppError } from '../../errors/types';
|
|
5
6
|
import { ConnectionProfile, ConnectionProfileCredentials, ConnectionProfileResult, HostConnectionState, HostEnumerateRequest, HostGetRequest, HostNativeQueryRequest, HostRecord, HostSourcePage, HostSourceStates, HostSourceViewOpened, HostSourceViewRequest, ResolvedResourceReference, ResolvedResourceTarget, ResolveReferenceRequest, ResolveTargetRequest } from './host';
|
|
6
7
|
import { Connection } from '../../bindings/github.com/omniviewdev/plugin-sdk/pkg/types/models';
|
|
@@ -27,7 +28,9 @@ export declare const ResetConnectionProfile: (pluginID: string, id: string) => C
|
|
|
27
28
|
export declare const RemoveConnection: (pluginID: string, id: string) => CancellablePromise<void>;
|
|
28
29
|
export declare const GetResourceGroups: (pluginID: string, route: AccessRoute) => CancellablePromise<ResourceGroup[]>;
|
|
29
30
|
export declare const GetResourceDefinition: (pluginID: string, route: AccessRoute, type: string) => CancellablePromise<ResourceDefinition>;
|
|
30
|
-
export declare const
|
|
31
|
+
export declare const GetSchemaFields: (pluginID: string, request: SchemaFieldsRequest) => CancellablePromise<SchemaFieldsResult>;
|
|
32
|
+
export declare const GetEditorSchemas: (pluginID: string, route: AccessRoute) => CancellablePromise<EditorSchemaAssociation[]>;
|
|
33
|
+
export declare const GetEditorSchemaDocument: (pluginID: string, route: AccessRoute, documentID: string) => CancellablePromise<EditorSchemaDocument>;
|
|
31
34
|
export declare const GetRelationships: (pluginID: string, route: AccessRoute, type: string) => CancellablePromise<RelationshipDescriptor[]>;
|
|
32
35
|
export declare const ResolveRelationships: (pluginID: string, request: GetRequest) => CancellablePromise<ResolvedRelationship[]>;
|
|
33
36
|
export declare const GetHealth: (pluginID: string, request: GetRequest, body: Value) => CancellablePromise<ResourceHealth | null>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { ResourceReference, Value } from './domain';
|
|
2
|
+
import { QuerySpec, RepresentationSelector } from './query';
|
|
3
|
+
export type UInt64Text = string;
|
|
4
|
+
export type Token = string;
|
|
5
|
+
export type OpenQueryLeaseRequest = {
|
|
6
|
+
requestId: Token;
|
|
7
|
+
query: QuerySpec;
|
|
8
|
+
refresh?: true;
|
|
9
|
+
};
|
|
10
|
+
export type OpenQueryLeaseResponse = {
|
|
11
|
+
leaseId: Token;
|
|
12
|
+
};
|
|
13
|
+
export type ControlQueryLeaseRequest = {
|
|
14
|
+
leaseId: Token;
|
|
15
|
+
control: {
|
|
16
|
+
kind: 'attach';
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'recover';
|
|
19
|
+
generation: Token;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'drain';
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type ControlQueryLeaseResponse = {
|
|
25
|
+
kind: 'attach';
|
|
26
|
+
generation: Token;
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'recover';
|
|
29
|
+
accepted: true;
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'drain';
|
|
32
|
+
event: QueryLeaseEvent | null;
|
|
33
|
+
};
|
|
34
|
+
export type CloseQueryLeaseRequest = {
|
|
35
|
+
leaseId: Token;
|
|
36
|
+
};
|
|
37
|
+
export type CloseQueryLeaseResponse = {
|
|
38
|
+
closed: true;
|
|
39
|
+
};
|
|
40
|
+
export type AppError = {
|
|
41
|
+
type: string;
|
|
42
|
+
title: string;
|
|
43
|
+
status: number;
|
|
44
|
+
detail: string;
|
|
45
|
+
instance?: string;
|
|
46
|
+
suggestions?: string[];
|
|
47
|
+
actions?: {
|
|
48
|
+
type: string;
|
|
49
|
+
label: string;
|
|
50
|
+
target?: string;
|
|
51
|
+
}[];
|
|
52
|
+
code?: string;
|
|
53
|
+
requestId?: string;
|
|
54
|
+
recovery?: string;
|
|
55
|
+
location?: {
|
|
56
|
+
start: number;
|
|
57
|
+
end: number;
|
|
58
|
+
unit: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export type ProjectedValue = {
|
|
62
|
+
state: 'absent';
|
|
63
|
+
} | {
|
|
64
|
+
state: 'null';
|
|
65
|
+
} | {
|
|
66
|
+
state: 'value';
|
|
67
|
+
value: Value;
|
|
68
|
+
};
|
|
69
|
+
export type ResultRow = {
|
|
70
|
+
key: Token;
|
|
71
|
+
targetId: string;
|
|
72
|
+
resource: ResourceReference;
|
|
73
|
+
representation: RepresentationSelector;
|
|
74
|
+
provenance: {
|
|
75
|
+
source: Token;
|
|
76
|
+
coverage: 'complete' | 'partial' | 'unknown';
|
|
77
|
+
stale: boolean;
|
|
78
|
+
};
|
|
79
|
+
values: Record<string, ProjectedValue>;
|
|
80
|
+
};
|
|
81
|
+
export type ResultMetadata = {
|
|
82
|
+
coverage: 'complete' | 'partial' | 'unknown';
|
|
83
|
+
limitations: string[];
|
|
84
|
+
freshness: 'current' | 'snapshot' | 'stale';
|
|
85
|
+
count: {
|
|
86
|
+
kind: 'unknown';
|
|
87
|
+
} | {
|
|
88
|
+
kind: 'exact' | 'estimate';
|
|
89
|
+
value: UInt64Text;
|
|
90
|
+
};
|
|
91
|
+
continuation?: Token;
|
|
92
|
+
};
|
|
93
|
+
export type ResultChange = {
|
|
94
|
+
kind: 'enter';
|
|
95
|
+
index: number;
|
|
96
|
+
row: ResultRow;
|
|
97
|
+
} | {
|
|
98
|
+
kind: 'update';
|
|
99
|
+
key: Token;
|
|
100
|
+
row: ResultRow;
|
|
101
|
+
} | {
|
|
102
|
+
kind: 'leave' | 'delete';
|
|
103
|
+
key: Token;
|
|
104
|
+
} | {
|
|
105
|
+
kind: 'move';
|
|
106
|
+
key: Token;
|
|
107
|
+
index: number;
|
|
108
|
+
};
|
|
109
|
+
export type ResultDataFrame = {
|
|
110
|
+
lane: 'data';
|
|
111
|
+
leaseId: Token;
|
|
112
|
+
generation: Token;
|
|
113
|
+
sequence: UInt64Text;
|
|
114
|
+
payload: {
|
|
115
|
+
kind: 'open';
|
|
116
|
+
rows: ResultRow[];
|
|
117
|
+
metadata: ResultMetadata;
|
|
118
|
+
} | {
|
|
119
|
+
kind: 'changes';
|
|
120
|
+
changes: ResultChange[];
|
|
121
|
+
metadata: ResultMetadata;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
export type ResultControlFrame = {
|
|
125
|
+
lane: 'control';
|
|
126
|
+
leaseId: Token;
|
|
127
|
+
payload: {
|
|
128
|
+
kind: 'reset';
|
|
129
|
+
generation: Token;
|
|
130
|
+
nextGeneration: Token;
|
|
131
|
+
reason: 'gap' | 'overflow' | 'sourceInvalidated' | 'bindingChanged';
|
|
132
|
+
} | {
|
|
133
|
+
kind: 'control';
|
|
134
|
+
state: 'complete';
|
|
135
|
+
generation: Token;
|
|
136
|
+
} | {
|
|
137
|
+
kind: 'close';
|
|
138
|
+
reason: 'closed' | 'cancelled' | 'failed' | 'accessInvalidated';
|
|
139
|
+
error?: AppError;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
export type QueryLeaseEvent = ResultDataFrame | ResultControlFrame;
|
|
143
|
+
export type QueryLeaseDoorbell = {
|
|
144
|
+
leaseId: Token;
|
|
145
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AppError, QueryLeaseEvent, ResultMetadata, ResultRow } from './query-lease';
|
|
2
|
+
export type ObserverSnapshot = Readonly<{
|
|
3
|
+
status: 'attaching' | 'pending' | 'ready' | 'recovering' | 'complete' | 'closed';
|
|
4
|
+
generation?: string;
|
|
5
|
+
rows: readonly ResultRow[];
|
|
6
|
+
metadata?: ResultMetadata;
|
|
7
|
+
stale: boolean;
|
|
8
|
+
error?: AppError;
|
|
9
|
+
}>;
|
|
10
|
+
export type ObserverAction = {
|
|
11
|
+
kind: 'none';
|
|
12
|
+
} | {
|
|
13
|
+
kind: 'recover';
|
|
14
|
+
generation: string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: 'reopen';
|
|
17
|
+
};
|
|
18
|
+
/** One instance per lease. Register the doorbell before calling attach(). */
|
|
19
|
+
export declare class QueryLeaseObserver {
|
|
20
|
+
readonly leaseId: string;
|
|
21
|
+
readonly maxRows: number;
|
|
22
|
+
private snapshot;
|
|
23
|
+
private generation?;
|
|
24
|
+
private sequence;
|
|
25
|
+
private opened;
|
|
26
|
+
private recovering;
|
|
27
|
+
private previousReset?;
|
|
28
|
+
constructor(leaseId: string, maxRows: number);
|
|
29
|
+
getSnapshot(): ObserverSnapshot;
|
|
30
|
+
attach(generation: string): void;
|
|
31
|
+
/** A lost drain response cannot be retried: discard the lease and reopen. */
|
|
32
|
+
disconnected(): ObserverAction;
|
|
33
|
+
close(): void;
|
|
34
|
+
apply(event: QueryLeaseEvent): ObserverAction;
|
|
35
|
+
private fail;
|
|
36
|
+
private publish;
|
|
37
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { AccessRoute, QueryScope, Value } from './domain';
|
|
2
|
+
export type QuerySpec = {
|
|
3
|
+
version: string;
|
|
4
|
+
targets: Target[];
|
|
5
|
+
predicate: Predicate;
|
|
6
|
+
declarations: Record<string, BindingType>;
|
|
7
|
+
bindings: Record<string, Value>;
|
|
8
|
+
text?: TextConstraint;
|
|
9
|
+
projection: Projection[];
|
|
10
|
+
order: OrderTerm[];
|
|
11
|
+
delivery: Delivery;
|
|
12
|
+
};
|
|
13
|
+
export type Target = {
|
|
14
|
+
targetId: string;
|
|
15
|
+
provider: string;
|
|
16
|
+
authority: string;
|
|
17
|
+
type: string;
|
|
18
|
+
accessRoute: AccessRoute;
|
|
19
|
+
representation: RepresentationSelector;
|
|
20
|
+
scope: QueryScope;
|
|
21
|
+
};
|
|
22
|
+
export type RepresentationSelector = {
|
|
23
|
+
id: string;
|
|
24
|
+
revision: string;
|
|
25
|
+
};
|
|
26
|
+
export type Predicate = {
|
|
27
|
+
language: 'cel';
|
|
28
|
+
profile: 'omniview.resource-predicate.v1';
|
|
29
|
+
source: string;
|
|
30
|
+
} | {
|
|
31
|
+
language: 'builder';
|
|
32
|
+
version: 'omniview.builder.v1';
|
|
33
|
+
document: Builder;
|
|
34
|
+
};
|
|
35
|
+
export type BindingType = {
|
|
36
|
+
kind: 'bool' | 'string' | 'int64' | 'uint64' | 'double' | 'timestamp';
|
|
37
|
+
} | {
|
|
38
|
+
kind: 'list';
|
|
39
|
+
element: BindingType;
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'map' | 'nullable';
|
|
42
|
+
value: BindingType;
|
|
43
|
+
};
|
|
44
|
+
export type PathSegment = {
|
|
45
|
+
kind: 'member';
|
|
46
|
+
name: string;
|
|
47
|
+
} | {
|
|
48
|
+
kind: 'index';
|
|
49
|
+
index: number;
|
|
50
|
+
};
|
|
51
|
+
export type DocumentFieldPath = PathSegment[];
|
|
52
|
+
export type TextConstraint = {
|
|
53
|
+
term: string;
|
|
54
|
+
fields: DocumentFieldPath[];
|
|
55
|
+
match: 'substring';
|
|
56
|
+
case: 'sensitive';
|
|
57
|
+
combine: 'any';
|
|
58
|
+
};
|
|
59
|
+
export type Projection = {
|
|
60
|
+
id: string;
|
|
61
|
+
path: DocumentFieldPath;
|
|
62
|
+
};
|
|
63
|
+
export type OrderTerm = {
|
|
64
|
+
path: DocumentFieldPath;
|
|
65
|
+
direction: 'asc' | 'desc';
|
|
66
|
+
missing: 'first' | 'last';
|
|
67
|
+
null: 'first' | 'last';
|
|
68
|
+
};
|
|
69
|
+
export type Delivery = {
|
|
70
|
+
mode: 'once' | 'follow';
|
|
71
|
+
pageSize: number;
|
|
72
|
+
after?: string;
|
|
73
|
+
allowPartial?: boolean;
|
|
74
|
+
};
|
|
75
|
+
export type Builder = {
|
|
76
|
+
version: 'omniview.builder.v1';
|
|
77
|
+
root: Node;
|
|
78
|
+
};
|
|
79
|
+
export type BuilderPath = {
|
|
80
|
+
root: 'resource' | {
|
|
81
|
+
element: string;
|
|
82
|
+
};
|
|
83
|
+
segments: DocumentFieldPath;
|
|
84
|
+
};
|
|
85
|
+
export type Operand = {
|
|
86
|
+
kind: 'parameter';
|
|
87
|
+
name: string;
|
|
88
|
+
} | {
|
|
89
|
+
kind: 'literal';
|
|
90
|
+
type: BindingType;
|
|
91
|
+
value: Value;
|
|
92
|
+
};
|
|
93
|
+
export type Condition = {
|
|
94
|
+
kind: 'discriminatorEquals';
|
|
95
|
+
path: BuilderPath;
|
|
96
|
+
value: string | boolean;
|
|
97
|
+
};
|
|
98
|
+
export type Node = {
|
|
99
|
+
kind: 'state';
|
|
100
|
+
path: BuilderPath;
|
|
101
|
+
state: 'absent' | 'present' | 'null' | 'nonNull';
|
|
102
|
+
} | {
|
|
103
|
+
kind: 'value';
|
|
104
|
+
path: BuilderPath;
|
|
105
|
+
op: 'equal' | 'notEqualPresent';
|
|
106
|
+
operand: Operand;
|
|
107
|
+
when?: Condition[];
|
|
108
|
+
} | {
|
|
109
|
+
kind: 'all' | 'any';
|
|
110
|
+
children: Node[];
|
|
111
|
+
} | {
|
|
112
|
+
kind: 'not';
|
|
113
|
+
child: Node;
|
|
114
|
+
} | {
|
|
115
|
+
kind: 'exists';
|
|
116
|
+
path: BuilderPath;
|
|
117
|
+
element: string;
|
|
118
|
+
child: Node;
|
|
119
|
+
when?: Condition[];
|
|
120
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { AccessRoute, Operation, Value } from './domain';
|
|
2
|
+
export type PathSegmentKind = 'field' | 'mapValue' | 'item';
|
|
3
|
+
export interface PathSegment {
|
|
4
|
+
Kind: PathSegmentKind;
|
|
5
|
+
Name?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BranchCondition {
|
|
8
|
+
Pointer: string;
|
|
9
|
+
Branch: number;
|
|
10
|
+
Combinator: 'anyOf' | 'oneOf';
|
|
11
|
+
}
|
|
12
|
+
export type SchemaFieldType = 'null' | 'boolean' | 'string' | 'integer' | 'number' | 'object' | 'array';
|
|
13
|
+
export interface FieldInfo {
|
|
14
|
+
Segment: PathSegment;
|
|
15
|
+
/** Empty means any. */
|
|
16
|
+
Types: readonly SchemaFieldType[] | null;
|
|
17
|
+
Format: string;
|
|
18
|
+
Title: string;
|
|
19
|
+
Description: string;
|
|
20
|
+
Enum: readonly Value[] | null;
|
|
21
|
+
Presence: 'required' | 'optional' | 'unknown';
|
|
22
|
+
Nullable: 'yes' | 'no' | 'unknown';
|
|
23
|
+
Applicability: 'unconditional' | 'conditional';
|
|
24
|
+
Conditions: readonly BranchCondition[] | null;
|
|
25
|
+
CELChecking: 'static' | 'partial' | 'dynamic';
|
|
26
|
+
HasChildren: boolean;
|
|
27
|
+
/** Always "unsupported": a schema never grants native filtering. */
|
|
28
|
+
NativeFilter: 'unsupported';
|
|
29
|
+
}
|
|
30
|
+
export interface SchemaConstraint {
|
|
31
|
+
Pointer: string;
|
|
32
|
+
Keyword: string;
|
|
33
|
+
}
|
|
34
|
+
export type HostEvaluation = 'schemaChecked' | 'dynamic' | 'unavailable' | 'unsupported';
|
|
35
|
+
export interface TypeOverlay {
|
|
36
|
+
Operations: readonly Operation[];
|
|
37
|
+
NativeQueryLanguages: readonly string[];
|
|
38
|
+
HostEvaluation: HostEvaluation;
|
|
39
|
+
/** Error code when HostEvaluation is unavailable or unsupported. */
|
|
40
|
+
HostEvaluationCode: string;
|
|
41
|
+
Validation: 'full' | 'reduced' | 'none';
|
|
42
|
+
Unvalidated: readonly SchemaConstraint[] | null;
|
|
43
|
+
}
|
|
44
|
+
export interface SchemaFieldsRequest {
|
|
45
|
+
route: AccessRoute;
|
|
46
|
+
type: string;
|
|
47
|
+
/** Empty selects the type's default representation. */
|
|
48
|
+
representation?: string;
|
|
49
|
+
path: readonly PathSegment[];
|
|
50
|
+
}
|
|
51
|
+
export interface SchemaFieldsResult {
|
|
52
|
+
catalogRevision: string;
|
|
53
|
+
type: string;
|
|
54
|
+
representation: string;
|
|
55
|
+
/** Provider binding state: absent | available | unavailable. */
|
|
56
|
+
schemaState: string;
|
|
57
|
+
schemaRevision?: string;
|
|
58
|
+
dialect?: string;
|
|
59
|
+
overlay: TypeOverlay;
|
|
60
|
+
fields: readonly FieldInfo[];
|
|
61
|
+
truncated: boolean;
|
|
62
|
+
truncationReason?: 'fields' | 'visits';
|
|
63
|
+
}
|
|
64
|
+
export type EditorSchemaStatus = 'available' | 'absent' | 'unavailable' | 'unsupported' | 'invalid' | 'limit';
|
|
65
|
+
export interface EditorSchemaAssociation {
|
|
66
|
+
type: string;
|
|
67
|
+
representation?: string;
|
|
68
|
+
/** Auxiliary schema key; empty for catalog representations. */
|
|
69
|
+
key?: string;
|
|
70
|
+
language: string;
|
|
71
|
+
/** "file:///omniview-schema/<hex16>" */
|
|
72
|
+
modelDirectory: string;
|
|
73
|
+
/** "**\/omniview-schema/<hex16>/*" */
|
|
74
|
+
fileMatch: string;
|
|
75
|
+
/** Full hex document digest; set only when status is available. */
|
|
76
|
+
documentId?: string;
|
|
77
|
+
/** "#/definitions/n<id>"; set only when status is available. */
|
|
78
|
+
root?: string;
|
|
79
|
+
status: EditorSchemaStatus;
|
|
80
|
+
code?: string;
|
|
81
|
+
}
|
|
82
|
+
/** Host-rendered draft-07 editor document. */
|
|
83
|
+
export interface EditorSchemaDocument {
|
|
84
|
+
documentId: string;
|
|
85
|
+
schema: unknown;
|
|
86
|
+
}
|