@ankhorage/studio 0.11.12 → 0.12.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/README.md +1 -1
- package/dist/externalApiApi.d.ts +5 -0
- package/dist/externalApiApi.d.ts.map +1 -0
- package/dist/externalApiApi.js +173 -0
- package/dist/externalApiApi.js.map +1 -0
- package/dist/externalApiAuthoring.d.ts +4 -0
- package/dist/externalApiAuthoring.d.ts.map +1 -0
- package/dist/externalApiAuthoring.js +3 -0
- package/dist/externalApiAuthoring.js.map +1 -0
- package/dist/externalApiAuthoringContracts.d.ts +70 -0
- package/dist/externalApiAuthoringContracts.d.ts.map +1 -0
- package/dist/externalApiAuthoringContracts.js +2 -0
- package/dist/externalApiAuthoringContracts.js.map +1 -0
- package/dist/host/dataSources/createProjectEndpointCredentialResolver.d.ts +8 -0
- package/dist/host/dataSources/createProjectEndpointCredentialResolver.d.ts.map +1 -0
- package/dist/host/dataSources/createProjectEndpointCredentialResolver.js +43 -0
- package/dist/host/dataSources/createProjectEndpointCredentialResolver.js.map +1 -0
- package/dist/host/dataSources/createTrustedEndpointTestFetch.d.ts +3 -0
- package/dist/host/dataSources/createTrustedEndpointTestFetch.d.ts.map +1 -0
- package/dist/host/dataSources/createTrustedEndpointTestFetch.js +5 -0
- package/dist/host/dataSources/createTrustedEndpointTestFetch.js.map +1 -0
- package/dist/host/dataSources/createTrustedExternalApiFetch.d.ts +3 -0
- package/dist/host/dataSources/createTrustedExternalApiFetch.d.ts.map +1 -0
- package/dist/host/dataSources/createTrustedExternalApiFetch.js +5 -0
- package/dist/host/dataSources/createTrustedExternalApiFetch.js.map +1 -0
- package/dist/host/dataSources/requestTrustedExternalApi.d.ts +12 -0
- package/dist/host/dataSources/requestTrustedExternalApi.d.ts.map +1 -0
- package/dist/host/dataSources/requestTrustedExternalApi.js +44 -0
- package/dist/host/dataSources/requestTrustedExternalApi.js.map +1 -0
- package/dist/host/dataSources/sanitizeExternalApiOperationTestResult.d.ts +4 -0
- package/dist/host/dataSources/sanitizeExternalApiOperationTestResult.d.ts.map +1 -0
- package/dist/host/dataSources/sanitizeExternalApiOperationTestResult.js +34 -0
- package/dist/host/dataSources/sanitizeExternalApiOperationTestResult.js.map +1 -0
- package/dist/host/dataSources/studioExternalApiService.d.ts +24 -0
- package/dist/host/dataSources/studioExternalApiService.d.ts.map +1 -0
- package/dist/host/dataSources/studioExternalApiService.js +163 -0
- package/dist/host/dataSources/studioExternalApiService.js.map +1 -0
- package/dist/host/http/dataSourceRoutes.d.ts +9 -0
- package/dist/host/http/dataSourceRoutes.d.ts.map +1 -0
- package/dist/host/http/dataSourceRoutes.js +147 -0
- package/dist/host/http/dataSourceRoutes.js.map +1 -0
- package/dist/host/http/serverWithSecrets.d.ts +1 -1
- package/dist/host/http/serverWithSecrets.d.ts.map +1 -1
- package/dist/host/http/serverWithSecrets.js +4 -5
- package/dist/host/http/serverWithSecrets.js.map +1 -1
- package/dist/host/index.d.ts +4 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +4 -0
- package/dist/host/index.js.map +1 -1
- package/dist/normalizeExternalApiSourceId.d.ts +9 -0
- package/dist/normalizeExternalApiSourceId.d.ts.map +1 -0
- package/dist/normalizeExternalApiSourceId.js +12 -0
- package/dist/normalizeExternalApiSourceId.js.map +1 -0
- package/dist/ui/admin/pages/ApisAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/ApisAdminPage.js +8 -8
- package/dist/ui/admin/pages/ApisAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/DataSourceCatalogCard.d.ts +5 -0
- package/dist/ui/admin/pages/DataSourceCatalogCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/DataSourceCatalogCard.js +19 -0
- package/dist/ui/admin/pages/DataSourceCatalogCard.js.map +1 -0
- package/dist/ui/admin/pages/DataSourceOperationsCard.d.ts +5 -0
- package/dist/ui/admin/pages/DataSourceOperationsCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/DataSourceOperationsCard.js +46 -0
- package/dist/ui/admin/pages/DataSourceOperationsCard.js.map +1 -0
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.d.ts +43 -0
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.d.ts.map +1 -0
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.js +43 -0
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.js.map +1 -0
- package/dist/ui/admin/pages/ExternalApiConnectCard.d.ts +2 -0
- package/dist/ui/admin/pages/ExternalApiConnectCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/ExternalApiConnectCard.js +57 -0
- package/dist/ui/admin/pages/ExternalApiConnectCard.js.map +1 -0
- package/dist/ui/admin/pages/ManualRestSourceCard.d.ts +2 -0
- package/dist/ui/admin/pages/ManualRestSourceCard.d.ts.map +1 -0
- package/dist/ui/admin/pages/ManualRestSourceCard.js +59 -0
- package/dist/ui/admin/pages/ManualRestSourceCard.js.map +1 -0
- package/dist/ui/admin/pages/adminDataSourceOperations.d.ts +4 -1
- package/dist/ui/admin/pages/adminDataSourceOperations.d.ts.map +1 -1
- package/dist/ui/admin/pages/adminDataSourceOperations.js +6 -4
- package/dist/ui/admin/pages/adminDataSourceOperations.js.map +1 -1
- package/dist/upsertExternalApiDataSource.d.ts +7 -0
- package/dist/upsertExternalApiDataSource.d.ts.map +1 -0
- package/dist/upsertExternalApiDataSource.js +7 -0
- package/dist/upsertExternalApiDataSource.js.map +1 -0
- package/package.json +9 -2
- package/dist/ui/admin/adminPageUtils.d.ts +0 -3
- package/dist/ui/admin/adminPageUtils.d.ts.map +0 -1
- package/dist/ui/admin/adminPageUtils.js +0 -7
- package/dist/ui/admin/adminPageUtils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceOperationsCard.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/DataSourceOperationsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { DataSourceDiagnostic } from '@ankhorage/contracts/data';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { ExternalApiDiscoveryAttempt } from '../../../externalApiAuthoringContracts';
|
|
4
|
+
export declare function ExternalApiField({ label, children, }: {
|
|
5
|
+
readonly label: string;
|
|
6
|
+
readonly children: ReactNode;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
8
|
+
export declare function ExternalApiDiagnosticList({ diagnostics, attempts, }: {
|
|
9
|
+
readonly diagnostics: readonly DataSourceDiagnostic[];
|
|
10
|
+
readonly attempts?: readonly ExternalApiDiscoveryAttempt[];
|
|
11
|
+
}): import("react").JSX.Element | null;
|
|
12
|
+
export declare const externalApiAdminStyles: {
|
|
13
|
+
actions: {
|
|
14
|
+
alignItems: "center";
|
|
15
|
+
flexDirection: "row";
|
|
16
|
+
flexWrap: "wrap";
|
|
17
|
+
gap: number;
|
|
18
|
+
};
|
|
19
|
+
columns: {
|
|
20
|
+
flexDirection: "row";
|
|
21
|
+
flexWrap: "wrap";
|
|
22
|
+
gap: number;
|
|
23
|
+
};
|
|
24
|
+
field: {
|
|
25
|
+
flexGrow: number;
|
|
26
|
+
gap: number;
|
|
27
|
+
minWidth: number;
|
|
28
|
+
};
|
|
29
|
+
feedback: {
|
|
30
|
+
gap: number;
|
|
31
|
+
};
|
|
32
|
+
operation: {
|
|
33
|
+
gap: number;
|
|
34
|
+
};
|
|
35
|
+
row: {
|
|
36
|
+
gap: number;
|
|
37
|
+
paddingVertical: number;
|
|
38
|
+
};
|
|
39
|
+
stack: {
|
|
40
|
+
gap: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=ExternalApiAdminPrimitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalApiAdminPrimitives.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ExternalApiAdminPrimitives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B,+BASA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,QAAa,GACd,EAAE;IACD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAC5D,sCAqBA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from '@ankhorage/zora';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
export function ExternalApiField({ label, children, }) {
|
|
5
|
+
return (_jsxs(View, { style: externalApiAdminStyles.field, children: [_jsx(Text, { variant: "bodySmall", weight: "semiBold", children: label }), children] }));
|
|
6
|
+
}
|
|
7
|
+
export function ExternalApiDiagnosticList({ diagnostics, attempts = [], }) {
|
|
8
|
+
if (diagnostics.length === 0 && attempts.length === 0)
|
|
9
|
+
return null;
|
|
10
|
+
return (_jsxs(View, { style: externalApiAdminStyles.feedback, children: [attempts.map((attempt) => (_jsxs(Text, { color: "neutral", variant: "caption", children: [attempt.outcome, ": ", attempt.url, attempt.status === undefined ? '' : ` (HTTP ${attempt.status})`] }, `${attempt.url}:${attempt.outcome}`))), diagnostics.map((diagnostic, index) => (_jsx(Text, { color: diagnostic.severity === 'error' ? 'danger' : 'neutral', variant: "bodySmall", children: diagnostic.message }, `${diagnostic.code}:${diagnostic.path ?? index}`)))] }));
|
|
11
|
+
}
|
|
12
|
+
export const externalApiAdminStyles = StyleSheet.create({
|
|
13
|
+
actions: {
|
|
14
|
+
alignItems: 'center',
|
|
15
|
+
flexDirection: 'row',
|
|
16
|
+
flexWrap: 'wrap',
|
|
17
|
+
gap: 8,
|
|
18
|
+
},
|
|
19
|
+
columns: {
|
|
20
|
+
flexDirection: 'row',
|
|
21
|
+
flexWrap: 'wrap',
|
|
22
|
+
gap: 12,
|
|
23
|
+
},
|
|
24
|
+
field: {
|
|
25
|
+
flexGrow: 1,
|
|
26
|
+
gap: 6,
|
|
27
|
+
minWidth: 220,
|
|
28
|
+
},
|
|
29
|
+
feedback: {
|
|
30
|
+
gap: 4,
|
|
31
|
+
},
|
|
32
|
+
operation: {
|
|
33
|
+
gap: 8,
|
|
34
|
+
},
|
|
35
|
+
row: {
|
|
36
|
+
gap: 4,
|
|
37
|
+
paddingVertical: 8,
|
|
38
|
+
},
|
|
39
|
+
stack: {
|
|
40
|
+
gap: 12,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=ExternalApiAdminPrimitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalApiAdminPrimitives.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ExternalApiAdminPrimitives.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,aACvC,KAAC,IAAI,IAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,UAAU,YACxC,KAAK,GACD,EACN,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,WAAW,EACX,QAAQ,GAAG,EAAE,GAId;IACC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,aACzC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,MAAC,IAAI,IAA2C,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,aAC9E,OAAO,CAAC,OAAO,QAAI,OAAO,CAAC,GAAG,EAC9B,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,MAAM,GAAG,KAFvD,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAGvC,CACR,CAAC,EACD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,KAAC,IAAI,IAEH,KAAK,EAAE,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7D,OAAO,EAAC,WAAW,YAElB,UAAU,CAAC,OAAO,IAJd,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,CAKhD,CACR,CAAC,IACG,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC;IACtD,OAAO,EAAE;QACP,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,EAAE;KACR;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,GAAG;KACd;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;KACP;IACD,SAAS,EAAE;QACT,GAAG,EAAE,CAAC;KACP;IACD,GAAG,EAAE;QACH,GAAG,EAAE,CAAC;QACN,eAAe,EAAE,CAAC;KACnB;IACD,KAAK,EAAE;QACL,GAAG,EAAE,EAAE;KACR;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalApiConnectCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ExternalApiConnectCard.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,sBAAsB,gCAyGrC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, Input, Select, Text } from '@ankhorage/zora';
|
|
3
|
+
import { useCallback, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { connectExternalApi } from '../../../externalApiApi';
|
|
6
|
+
import { useStudio } from '../../../core/StudioContext';
|
|
7
|
+
import { ExternalApiDiagnosticList, ExternalApiField, externalApiAdminStyles, } from './ExternalApiAdminPrimitives';
|
|
8
|
+
const PROTOCOL_OPTIONS = [
|
|
9
|
+
{ value: 'auto', label: 'Auto: OpenAPI, then GraphQL' },
|
|
10
|
+
{ value: 'openapi', label: 'OpenAPI' },
|
|
11
|
+
{ value: 'graphql', label: 'GraphQL introspection' },
|
|
12
|
+
];
|
|
13
|
+
export function ExternalApiConnectCard() {
|
|
14
|
+
const studio = useStudio();
|
|
15
|
+
const [sourceId, setSourceId] = useState('');
|
|
16
|
+
const [url, setUrl] = useState('');
|
|
17
|
+
const [name, setName] = useState('');
|
|
18
|
+
const [protocol, setProtocol] = useState('auto');
|
|
19
|
+
const [credentialId, setCredentialId] = useState('');
|
|
20
|
+
const [credentialKind, setCredentialKind] = useState('bearer');
|
|
21
|
+
const [credentialScope, setCredentialScope] = useState('');
|
|
22
|
+
const [result, setResult] = useState(null);
|
|
23
|
+
const [message, setMessage] = useState(null);
|
|
24
|
+
const [busy, setBusy] = useState(false);
|
|
25
|
+
const connect = useCallback(async () => {
|
|
26
|
+
setBusy(true);
|
|
27
|
+
setMessage(null);
|
|
28
|
+
try {
|
|
29
|
+
const next = await connectExternalApi(studio.projectId, {
|
|
30
|
+
sourceId,
|
|
31
|
+
url,
|
|
32
|
+
protocol,
|
|
33
|
+
name: name.trim() || undefined,
|
|
34
|
+
credential: credentialId.trim()
|
|
35
|
+
? {
|
|
36
|
+
id: credentialId.trim(),
|
|
37
|
+
kind: credentialKind.trim() || 'bearer',
|
|
38
|
+
scope: credentialScope.trim() || undefined,
|
|
39
|
+
}
|
|
40
|
+
: undefined,
|
|
41
|
+
});
|
|
42
|
+
setResult(next);
|
|
43
|
+
if (next.ok) {
|
|
44
|
+
await studio.refetchManifest();
|
|
45
|
+
setMessage(`${next.created ? 'Connected' : 'Updated'} ${next.sourceId} as ${next.kind}.`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
setMessage(error instanceof Error ? error.message : 'External API connection failed.');
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
setBusy(false);
|
|
53
|
+
}
|
|
54
|
+
}, [credentialId, credentialKind, credentialScope, name, protocol, sourceId, studio, url]);
|
|
55
|
+
return (_jsx(Card, { title: "Connect existing API", children: _jsxs(View, { style: externalApiAdminStyles.stack, children: [_jsxs(View, { style: externalApiAdminStyles.columns, children: [_jsx(ExternalApiField, { label: "Data-source ID", children: _jsx(Input, { value: sourceId, autoCapitalize: "none", onChangeText: setSourceId }) }), _jsx(ExternalApiField, { label: "Protocol discovery", children: _jsx(Select, { value: protocol, options: PROTOCOL_OPTIONS, onValueChange: setProtocol }) })] }), _jsx(ExternalApiField, { label: "Service or schema URL", children: _jsx(Input, { value: url, autoCapitalize: "none", placeholder: "https://api.example.com", onChangeText: setUrl }) }), _jsx(ExternalApiField, { label: "Display name (optional)", children: _jsx(Input, { value: name, onChangeText: setName }) }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "OpenAPI probes direct and conventional schema locations. GraphQL introspection uses the exact URL. Reusing an ID updates the canonical source." }), _jsxs(View, { style: externalApiAdminStyles.columns, children: [_jsx(ExternalApiField, { label: "Credential secret ref (optional)", children: _jsx(Input, { value: credentialId, autoCapitalize: "none", placeholder: "services/example", onChangeText: setCredentialId }) }), _jsx(ExternalApiField, { label: "Credential kind", children: _jsx(Input, { value: credentialKind, autoCapitalize: "none", onChangeText: setCredentialKind }) }), _jsx(ExternalApiField, { label: "Credential scope (optional)", children: _jsx(Input, { value: credentialScope, autoCapitalize: "none", placeholder: "header:x-api-key", onChangeText: setCredentialScope }) })] }), _jsx(View, { style: externalApiAdminStyles.actions, children: _jsx(Button, { loading: busy, disabled: !sourceId.trim() || !url.trim(), onPress: () => void connect(), children: "Connect API" }) }), message ? _jsx(Text, { variant: "bodySmall", children: message }) : null, result ? (_jsx(ExternalApiDiagnosticList, { diagnostics: result.diagnostics, attempts: result.attempts })) : null] }) }));
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ExternalApiConnectCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalApiConnectCard.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ExternalApiConnectCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManualRestSourceCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ManualRestSourceCard.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,oBAAoB,gCAsFnC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, Input, Select, Text } from '@ankhorage/zora';
|
|
3
|
+
import { useCallback, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { createManualRestSource } from '../../../externalApiApi';
|
|
6
|
+
import { useStudio } from '../../../core/StudioContext';
|
|
7
|
+
import { ExternalApiDiagnosticList, ExternalApiField, externalApiAdminStyles, } from './ExternalApiAdminPrimitives';
|
|
8
|
+
const METHOD_OPTIONS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'].map((value) => ({
|
|
9
|
+
value,
|
|
10
|
+
label: value,
|
|
11
|
+
}));
|
|
12
|
+
const INTENT_OPTIONS = [
|
|
13
|
+
{ value: 'read', label: 'Read' },
|
|
14
|
+
{ value: 'create', label: 'Create' },
|
|
15
|
+
{ value: 'update', label: 'Update' },
|
|
16
|
+
{ value: 'delete', label: 'Delete' },
|
|
17
|
+
{ value: 'action', label: 'Action' },
|
|
18
|
+
];
|
|
19
|
+
export function ManualRestSourceCard() {
|
|
20
|
+
const studio = useStudio();
|
|
21
|
+
const [sourceId, setSourceId] = useState('');
|
|
22
|
+
const [baseUrl, setBaseUrl] = useState('');
|
|
23
|
+
const [endpointId, setEndpointId] = useState('root');
|
|
24
|
+
const [path, setPath] = useState('/');
|
|
25
|
+
const [operationId, setOperationId] = useState('get-root');
|
|
26
|
+
const [method, setMethod] = useState('GET');
|
|
27
|
+
const [intent, setIntent] = useState('read');
|
|
28
|
+
const [result, setResult] = useState(null);
|
|
29
|
+
const [message, setMessage] = useState(null);
|
|
30
|
+
const [busy, setBusy] = useState(false);
|
|
31
|
+
const save = useCallback(async () => {
|
|
32
|
+
setBusy(true);
|
|
33
|
+
setMessage(null);
|
|
34
|
+
try {
|
|
35
|
+
const next = await createManualRestSource(studio.projectId, {
|
|
36
|
+
sourceId,
|
|
37
|
+
baseUrl,
|
|
38
|
+
endpointId,
|
|
39
|
+
path,
|
|
40
|
+
operationId,
|
|
41
|
+
method,
|
|
42
|
+
intent,
|
|
43
|
+
});
|
|
44
|
+
setResult(next);
|
|
45
|
+
if (next.ok) {
|
|
46
|
+
await studio.refetchManifest();
|
|
47
|
+
setMessage(`${next.created ? 'Created' : 'Updated'} manual REST source ${next.sourceId}.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
setMessage(error instanceof Error ? error.message : 'Manual REST source creation failed.');
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
setBusy(false);
|
|
55
|
+
}
|
|
56
|
+
}, [baseUrl, endpointId, intent, method, operationId, path, sourceId, studio]);
|
|
57
|
+
return (_jsx(Card, { title: "Manual REST fallback", children: _jsxs(View, { style: externalApiAdminStyles.stack, children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "Use this when no OpenAPI document exists. Additional operations can be introduced through the same canonical REST definition architecture." }), _jsxs(View, { style: externalApiAdminStyles.columns, children: [_jsx(ExternalApiField, { label: "Data-source ID", children: _jsx(Input, { value: sourceId, autoCapitalize: "none", onChangeText: setSourceId }) }), _jsx(ExternalApiField, { label: "Base URL", children: _jsx(Input, { value: baseUrl, autoCapitalize: "none", onChangeText: setBaseUrl }) })] }), _jsxs(View, { style: externalApiAdminStyles.columns, children: [_jsx(ExternalApiField, { label: "Endpoint ID", children: _jsx(Input, { value: endpointId, autoCapitalize: "none", onChangeText: setEndpointId }) }), _jsx(ExternalApiField, { label: "Path", children: _jsx(Input, { value: path, autoCapitalize: "none", onChangeText: setPath }) }), _jsx(ExternalApiField, { label: "Operation ID", children: _jsx(Input, { value: operationId, autoCapitalize: "none", onChangeText: setOperationId }) })] }), _jsxs(View, { style: externalApiAdminStyles.columns, children: [_jsx(ExternalApiField, { label: "HTTP method", children: _jsx(Select, { value: method, options: METHOD_OPTIONS, onValueChange: setMethod }) }), _jsx(ExternalApiField, { label: "Intent", children: _jsx(Select, { value: intent, options: INTENT_OPTIONS, onValueChange: setIntent }) })] }), _jsx(View, { style: externalApiAdminStyles.actions, children: _jsx(Button, { loading: busy, disabled: !sourceId.trim() || !baseUrl.trim() || !path.trim(), onPress: () => void save(), children: "Save REST source" }) }), message ? _jsx(Text, { variant: "bodySmall", children: message }) : null, result ? _jsx(ExternalApiDiagnosticList, { diagnostics: result.diagnostics }) : null] }) }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ManualRestSourceCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManualRestSourceCard.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ManualRestSourceCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type { DataSourceRegistry } from '@ankhorage/contracts';
|
|
1
|
+
import type { DataSourceRegistry } from '@ankhorage/contracts/data';
|
|
2
2
|
export interface DataSourceOperationRow {
|
|
3
3
|
readonly sourceId: string;
|
|
4
4
|
readonly endpointId: string;
|
|
5
5
|
readonly operationId: string;
|
|
6
|
+
readonly name?: string;
|
|
6
7
|
readonly kind: string;
|
|
7
8
|
readonly protocol: string | null;
|
|
9
|
+
readonly method: string | null;
|
|
10
|
+
readonly path: string | null;
|
|
8
11
|
}
|
|
9
12
|
export declare function collectDataSourceOperationRows(dataSources: DataSourceRegistry): DataSourceOperationRow[];
|
|
10
13
|
//# sourceMappingURL=adminDataSourceOperations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adminDataSourceOperations.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/adminDataSourceOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adminDataSourceOperations.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/adminDataSourceOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,kBAAkB,GAC9B,sBAAsB,EAAE,CAe1B"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { readRecord, readString } from '../adminPageUtils';
|
|
2
1
|
export function collectDataSourceOperationRows(dataSources) {
|
|
3
|
-
return Object.entries(dataSources).flatMap(([sourceId, source]) => Object.entries(
|
|
2
|
+
return Object.entries(dataSources).flatMap(([sourceId, source]) => Object.entries(source.endpoints).flatMap(([endpointId, endpoint]) => Object.entries(endpoint.operations).map(([operationId, operation]) => ({
|
|
4
3
|
sourceId,
|
|
5
4
|
endpointId,
|
|
6
5
|
operationId,
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
name: operation.name,
|
|
7
|
+
kind: operation.intent,
|
|
8
|
+
protocol: operation.protocol,
|
|
9
|
+
method: operation.method ?? null,
|
|
10
|
+
path: operation.path ?? endpoint.path ?? null,
|
|
9
11
|
}))));
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=adminDataSourceOperations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adminDataSourceOperations.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/adminDataSourceOperations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adminDataSourceOperations.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/adminDataSourceOperations.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,8BAA8B,CAC5C,WAA+B;IAE/B,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAClE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,QAAQ;QACR,UAAU;QACV,WAAW;QACX,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI;KAC9C,CAAC,CAAC,CACJ,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DataSourceConfig, DataSourceRegistry } from '@ankhorage/contracts/data';
|
|
2
|
+
export interface ExternalApiDataSourceUpsertResult {
|
|
3
|
+
readonly registry: DataSourceRegistry;
|
|
4
|
+
readonly created: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function upsertExternalApiDataSource(registry: DataSourceRegistry, source: DataSourceConfig): ExternalApiDataSourceUpsertResult;
|
|
7
|
+
//# sourceMappingURL=upsertExternalApiDataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsertExternalApiDataSource.d.ts","sourceRoot":"","sources":["../src/upsertExternalApiDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEtF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,gBAAgB,GACvB,iCAAiC,CAKnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsertExternalApiDataSource.js","sourceRoot":"","sources":["../src/upsertExternalApiDataSource.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,2BAA2B,CACzC,QAA4B,EAC5B,MAAwB;IAExB,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;QAC9C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS;KAC3C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/studio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Studio authoring package for Ankhorage apps",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/studio#readme",
|
|
@@ -179,6 +179,10 @@
|
|
|
179
179
|
"./host": {
|
|
180
180
|
"types": "./dist/host/index.d.ts",
|
|
181
181
|
"import": "./dist/host/index.js"
|
|
182
|
+
},
|
|
183
|
+
"./externalApiAuthoring": {
|
|
184
|
+
"types": "./dist/externalApiAuthoring.d.ts",
|
|
185
|
+
"import": "./dist/externalApiAuthoring.js"
|
|
182
186
|
}
|
|
183
187
|
},
|
|
184
188
|
"ankh": {
|
|
@@ -194,7 +198,9 @@
|
|
|
194
198
|
"studio.secrets.list",
|
|
195
199
|
"studio.secrets.create",
|
|
196
200
|
"studio.secrets.replace",
|
|
197
|
-
"studio.secrets.remove"
|
|
201
|
+
"studio.secrets.remove",
|
|
202
|
+
"studio.data-sources.connect",
|
|
203
|
+
"studio.data-sources.test"
|
|
198
204
|
]
|
|
199
205
|
},
|
|
200
206
|
"scripts": {
|
|
@@ -234,6 +240,7 @@
|
|
|
234
240
|
"dependencies": {
|
|
235
241
|
"@ankhorage/color-theory": "^0.0.8",
|
|
236
242
|
"@ankhorage/contracts": "^4.0.1",
|
|
243
|
+
"@ankhorage/data-sources": "^0.6.0",
|
|
237
244
|
"@ankhorage/expo-runtime": "^0.0.11",
|
|
238
245
|
"@ankhorage/infra": "^1.1.0",
|
|
239
246
|
"@ankhorage/orchestrator": "^0.2.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adminPageUtils.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/adminPageUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAExD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adminPageUtils.js","sourceRoot":"","sources":["../../../src/ui/admin/adminPageUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC"}
|