@xemahq/ui-kernel 0.1.12 → 0.3.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/biome-host/errors.d.ts +2 -0
- package/dist/lib/biome-host/errors.d.ts.map +1 -0
- package/dist/lib/biome-host/errors.js +146 -0
- package/dist/lib/biome-host/errors.js.map +1 -0
- package/dist/lib/biome-host/host-bridge.d.ts +8 -0
- package/dist/lib/biome-host/host-bridge.d.ts.map +1 -1
- package/dist/lib/biome-host/host-bridge.js.map +1 -1
- package/dist/lib/biome-host/index.d.ts +4 -0
- package/dist/lib/biome-host/index.d.ts.map +1 -1
- package/dist/lib/biome-host/index.js +4 -0
- package/dist/lib/biome-host/index.js.map +1 -1
- package/dist/lib/biome-host/realtime-hooks.d.ts +5 -0
- package/dist/lib/biome-host/realtime-hooks.d.ts.map +1 -0
- package/dist/lib/biome-host/realtime-hooks.js +28 -0
- package/dist/lib/biome-host/realtime-hooks.js.map +1 -0
- package/dist/lib/biome-host/realtime-port.d.ts +30 -0
- package/dist/lib/biome-host/realtime-port.d.ts.map +1 -0
- package/dist/lib/biome-host/realtime-port.js +3 -0
- package/dist/lib/biome-host/realtime-port.js.map +1 -0
- package/dist/lib/biome-host/response-envelope.d.ts +3 -0
- package/dist/lib/biome-host/response-envelope.d.ts.map +1 -0
- package/dist/lib/biome-host/response-envelope.js +25 -0
- package/dist/lib/biome-host/response-envelope.js.map +1 -0
- package/dist/lib/capabilities/capability-provider.d.ts +15 -0
- package/dist/lib/capabilities/capability-provider.d.ts.map +1 -0
- package/dist/lib/capabilities/capability-provider.js +36 -0
- package/dist/lib/capabilities/capability-provider.js.map +1 -0
- package/dist/lib/capabilities/index.d.ts +4 -0
- package/dist/lib/capabilities/index.d.ts.map +1 -0
- package/dist/lib/capabilities/index.js +20 -0
- package/dist/lib/capabilities/index.js.map +1 -0
- package/dist/lib/capabilities/types.d.ts +18 -0
- package/dist/lib/capabilities/types.d.ts.map +1 -0
- package/dist/lib/capabilities/types.js +3 -0
- package/dist/lib/capabilities/types.js.map +1 -0
- package/dist/lib/capabilities/use-capability.d.ts +18 -0
- package/dist/lib/capabilities/use-capability.d.ts.map +1 -0
- package/dist/lib/capabilities/use-capability.js +21 -0
- package/dist/lib/capabilities/use-capability.js.map +1 -0
- package/dist/ui/chrome/AsyncBoundary.d.ts +22 -0
- package/dist/ui/chrome/AsyncBoundary.d.ts.map +1 -0
- package/dist/ui/chrome/AsyncBoundary.js +23 -0
- package/dist/ui/chrome/AsyncBoundary.js.map +1 -0
- package/dist/ui/chrome/EmptyState.d.ts +34 -0
- package/dist/ui/chrome/EmptyState.d.ts.map +1 -0
- package/dist/ui/chrome/EmptyState.js +27 -0
- package/dist/ui/chrome/EmptyState.js.map +1 -0
- package/dist/ui/chrome/ErrorCard.d.ts +11 -0
- package/dist/ui/chrome/ErrorCard.d.ts.map +1 -0
- package/dist/ui/chrome/ErrorCard.js +14 -0
- package/dist/ui/chrome/ErrorCard.js.map +1 -0
- package/dist/ui/chrome/LoadingState.d.ts +10 -0
- package/dist/ui/chrome/LoadingState.d.ts.map +1 -0
- package/dist/ui/chrome/LoadingState.js +17 -0
- package/dist/ui/chrome/LoadingState.js.map +1 -0
- package/dist/ui/chrome/PageHeader.d.ts +20 -0
- package/dist/ui/chrome/PageHeader.d.ts.map +1 -0
- package/dist/ui/chrome/PageHeader.js +26 -0
- package/dist/ui/chrome/PageHeader.js.map +1 -0
- package/dist/ui/chrome/StateCard.d.ts +24 -0
- package/dist/ui/chrome/StateCard.d.ts.map +1 -0
- package/dist/ui/chrome/StateCard.js +17 -0
- package/dist/ui/chrome/StateCard.js.map +1 -0
- package/dist/ui/cn.d.ts +3 -0
- package/dist/ui/cn.d.ts.map +1 -0
- package/dist/ui/cn.js +18 -0
- package/dist/ui/cn.js.map +1 -0
- package/dist/ui/index.d.ts +33 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +61 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/primitives/alert-dialog.d.ts +21 -0
- package/dist/ui/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/ui/primitives/alert-dialog.js +72 -0
- package/dist/ui/primitives/alert-dialog.js.map +1 -0
- package/dist/ui/primitives/badge.d.ts +10 -0
- package/dist/ui/primitives/badge.d.ts.map +1 -0
- package/dist/ui/primitives/badge.js +60 -0
- package/dist/ui/primitives/badge.js.map +1 -0
- package/dist/ui/primitives/button.d.ts +12 -0
- package/dist/ui/primitives/button.d.ts.map +1 -0
- package/dist/ui/primitives/button.js +71 -0
- package/dist/ui/primitives/button.js.map +1 -0
- package/dist/ui/primitives/card.d.ts +9 -0
- package/dist/ui/primitives/card.d.ts.map +1 -0
- package/dist/ui/primitives/card.js +58 -0
- package/dist/ui/primitives/card.js.map +1 -0
- package/dist/ui/primitives/checkbox.d.ts +5 -0
- package/dist/ui/primitives/checkbox.d.ts.map +1 -0
- package/dist/ui/primitives/checkbox.js +45 -0
- package/dist/ui/primitives/checkbox.js.map +1 -0
- package/dist/ui/primitives/collapsible.d.ts +6 -0
- package/dist/ui/primitives/collapsible.d.ts.map +1 -0
- package/dist/ui/primitives/collapsible.js +44 -0
- package/dist/ui/primitives/collapsible.js.map +1 -0
- package/dist/ui/primitives/dialog.d.ts +22 -0
- package/dist/ui/primitives/dialog.d.ts.map +1 -0
- package/dist/ui/primitives/dialog.js +68 -0
- package/dist/ui/primitives/dialog.js.map +1 -0
- package/dist/ui/primitives/dropdown-menu.d.ts +28 -0
- package/dist/ui/primitives/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/primitives/dropdown-menu.js +83 -0
- package/dist/ui/primitives/dropdown-menu.js.map +1 -0
- package/dist/ui/primitives/input.d.ts +4 -0
- package/dist/ui/primitives/input.d.ts.map +1 -0
- package/dist/ui/primitives/input.js +45 -0
- package/dist/ui/primitives/input.js.map +1 -0
- package/dist/ui/primitives/label.d.ts +6 -0
- package/dist/ui/primitives/label.d.ts.map +1 -0
- package/dist/ui/primitives/label.js +46 -0
- package/dist/ui/primitives/label.js.map +1 -0
- package/dist/ui/primitives/overflow-tabs.d.ts +18 -0
- package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -0
- package/dist/ui/primitives/overflow-tabs.js +84 -0
- package/dist/ui/primitives/overflow-tabs.js.map +1 -0
- package/dist/ui/primitives/popover.d.ts +9 -0
- package/dist/ui/primitives/popover.d.ts.map +1 -0
- package/dist/ui/primitives/popover.js +48 -0
- package/dist/ui/primitives/popover.js.map +1 -0
- package/dist/ui/primitives/radio-group.d.ts +6 -0
- package/dist/ui/primitives/radio-group.d.ts.map +1 -0
- package/dist/ui/primitives/radio-group.js +52 -0
- package/dist/ui/primitives/radio-group.js.map +1 -0
- package/dist/ui/primitives/resizable.d.ts +12 -0
- package/dist/ui/primitives/resizable.d.ts.map +1 -0
- package/dist/ui/primitives/resizable.js +18 -0
- package/dist/ui/primitives/resizable.js.map +1 -0
- package/dist/ui/primitives/scroll-area.d.ts +6 -0
- package/dist/ui/primitives/scroll-area.d.ts.map +1 -0
- package/dist/ui/primitives/scroll-area.js +47 -0
- package/dist/ui/primitives/scroll-area.js.map +1 -0
- package/dist/ui/primitives/select.d.ts +14 -0
- package/dist/ui/primitives/select.d.ts.map +1 -0
- package/dist/ui/primitives/select.js +71 -0
- package/dist/ui/primitives/select.js.map +1 -0
- package/dist/ui/primitives/separator.d.ts +5 -0
- package/dist/ui/primitives/separator.d.ts.map +1 -0
- package/dist/ui/primitives/separator.js +44 -0
- package/dist/ui/primitives/separator.js.map +1 -0
- package/dist/ui/primitives/sheet.d.ts +26 -0
- package/dist/ui/primitives/sheet.d.ts.map +1 -0
- package/dist/ui/primitives/sheet.js +82 -0
- package/dist/ui/primitives/sheet.js.map +1 -0
- package/dist/ui/primitives/skeleton.d.ts +13 -0
- package/dist/ui/primitives/skeleton.d.ts.map +1 -0
- package/dist/ui/primitives/skeleton.js +29 -0
- package/dist/ui/primitives/skeleton.js.map +1 -0
- package/dist/ui/primitives/switch.d.ts +5 -0
- package/dist/ui/primitives/switch.d.ts.map +1 -0
- package/dist/ui/primitives/switch.js +44 -0
- package/dist/ui/primitives/switch.js.map +1 -0
- package/dist/ui/primitives/table.d.ts +11 -0
- package/dist/ui/primitives/table.d.ts.map +1 -0
- package/dist/ui/primitives/table.js +64 -0
- package/dist/ui/primitives/table.js.map +1 -0
- package/dist/ui/primitives/tabs.d.ts +8 -0
- package/dist/ui/primitives/tabs.d.ts.map +1 -0
- package/dist/ui/primitives/tabs.js +52 -0
- package/dist/ui/primitives/tabs.js.map +1 -0
- package/dist/ui/primitives/tag-multi-select.d.ts +19 -0
- package/dist/ui/primitives/tag-multi-select.d.ts.map +1 -0
- package/dist/ui/primitives/tag-multi-select.js +92 -0
- package/dist/ui/primitives/tag-multi-select.js.map +1 -0
- package/dist/ui/primitives/textarea.d.ts +5 -0
- package/dist/ui/primitives/textarea.d.ts.map +1 -0
- package/dist/ui/primitives/textarea.js +45 -0
- package/dist/ui/primitives/textarea.js.map +1 -0
- package/dist/ui/primitives/tooltip.d.ts +8 -0
- package/dist/ui/primitives/tooltip.d.ts.map +1 -0
- package/dist/ui/primitives/tooltip.js +50 -0
- package/dist/ui/primitives/tooltip.js.map +1 -0
- package/package.json +24 -1
- package/src/index.ts +1 -0
- package/src/lib/biome-host/errors.ts +220 -0
- package/src/lib/biome-host/host-bridge.ts +54 -0
- package/src/lib/biome-host/index.ts +4 -0
- package/src/lib/biome-host/realtime-hooks.ts +74 -0
- package/src/lib/biome-host/realtime-port.ts +109 -0
- package/src/lib/biome-host/response-envelope.ts +69 -0
- package/src/lib/capabilities/capability-provider.tsx +95 -0
- package/src/lib/capabilities/index.ts +16 -0
- package/src/lib/capabilities/types.ts +69 -0
- package/src/lib/capabilities/use-capability.ts +72 -0
- package/src/ui/chrome/AsyncBoundary.tsx +66 -0
- package/src/ui/chrome/EmptyState.tsx +184 -0
- package/src/ui/chrome/ErrorCard.tsx +63 -0
- package/src/ui/chrome/LoadingState.tsx +61 -0
- package/src/ui/chrome/PageHeader.tsx +137 -0
- package/src/ui/chrome/StateCard.tsx +150 -0
- package/src/ui/cn.ts +32 -0
- package/src/ui/index.ts +53 -0
- package/src/ui/primitives/alert-dialog.tsx +104 -0
- package/src/ui/primitives/badge.tsx +32 -0
- package/src/ui/primitives/button.tsx +47 -0
- package/src/ui/primitives/card.tsx +43 -0
- package/src/ui/primitives/checkbox.tsx +26 -0
- package/src/ui/primitives/collapsible.tsx +9 -0
- package/src/ui/primitives/dialog.tsx +103 -0
- package/src/ui/primitives/dropdown-menu.tsx +179 -0
- package/src/ui/primitives/input.tsx +22 -0
- package/src/ui/primitives/label.tsx +17 -0
- package/src/ui/primitives/overflow-tabs.tsx +281 -0
- package/src/ui/primitives/popover.tsx +33 -0
- package/src/ui/primitives/radio-group.tsx +36 -0
- package/src/ui/primitives/resizable.tsx +67 -0
- package/src/ui/primitives/scroll-area.tsx +38 -0
- package/src/ui/primitives/select.tsx +143 -0
- package/src/ui/primitives/separator.tsx +20 -0
- package/src/ui/primitives/sheet.tsx +107 -0
- package/src/ui/primitives/skeleton.tsx +99 -0
- package/src/ui/primitives/switch.tsx +27 -0
- package/src/ui/primitives/table.tsx +72 -0
- package/src/ui/primitives/tabs.tsx +53 -0
- package/src/ui/primitives/tag-multi-select.tsx +241 -0
- package/src/ui/primitives/textarea.tsx +21 -0
- package/src/ui/primitives/tooltip.tsx +30 -0
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./lib/system-bus"), exports);
|
|
18
18
|
__exportStar(require("./lib/biome-host"), exports);
|
|
19
|
+
__exportStar(require("./lib/capabilities"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/errors.ts"],"names":[],"mappings":"AA0MA,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,QAAQ,SAA4C,GACnD,MAAM,CAcR"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserFacingErrorMessage = getUserFacingErrorMessage;
|
|
4
|
+
function collapseWhitespace(value) {
|
|
5
|
+
return value.split(/\s+/).join(' ').trim();
|
|
6
|
+
}
|
|
7
|
+
function getGenericErrorMessage(message, fallback) {
|
|
8
|
+
const normalized = collapseWhitespace(message);
|
|
9
|
+
if (/failed to fetch/i.test(normalized)) {
|
|
10
|
+
return 'Could not reach the service. Check your connection and try again.';
|
|
11
|
+
}
|
|
12
|
+
return normalized || fallback;
|
|
13
|
+
}
|
|
14
|
+
function normalizeValidationMessage(rawMessage) {
|
|
15
|
+
const parts = rawMessage
|
|
16
|
+
.split(',')
|
|
17
|
+
.map((part) => collapseWhitespace(part))
|
|
18
|
+
.filter(Boolean);
|
|
19
|
+
if (parts.length === 0) {
|
|
20
|
+
return 'Some required fields are missing or invalid. Please review your input and try again.';
|
|
21
|
+
}
|
|
22
|
+
const preview = parts.slice(0, 2).join('; ');
|
|
23
|
+
const suffix = parts.length > 2 ? '; and more.' : '.';
|
|
24
|
+
return `Some required fields are missing or invalid (${preview}${suffix})`;
|
|
25
|
+
}
|
|
26
|
+
function isApiClientErrorLike(error) {
|
|
27
|
+
if (!error || typeof error !== 'object') {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const record = error;
|
|
31
|
+
return (record['name'] === 'ApiClientError' &&
|
|
32
|
+
typeof record['statusCode'] === 'number' &&
|
|
33
|
+
typeof record['message'] === 'string');
|
|
34
|
+
}
|
|
35
|
+
function isOrvalClientErrorLike(error) {
|
|
36
|
+
if (!error || typeof error !== 'object') {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const record = error;
|
|
40
|
+
return (record['name'] === 'ClientError' &&
|
|
41
|
+
typeof record['status'] === 'number' &&
|
|
42
|
+
typeof record['message'] === 'string' &&
|
|
43
|
+
Object.hasOwn(record, 'body'));
|
|
44
|
+
}
|
|
45
|
+
function readStringList(value) {
|
|
46
|
+
if (!Array.isArray(value)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (value.some((entry) => typeof entry !== 'string')) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
function normalizeWorkflowWalletMissingMessage(envelope) {
|
|
55
|
+
if (envelope.code !== 'WORKFLOW_WALLET_NOT_FOUND') {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const missing = readStringList(envelope.details?.['missing']);
|
|
59
|
+
if (missing === null || missing.length === 0) {
|
|
60
|
+
return 'One or more required wallets are missing for this project.';
|
|
61
|
+
}
|
|
62
|
+
return `Missing wallet${missing.length > 1 ? 's' : ''}: ${missing.join(', ')}. Add ${missing.length > 1 ? 'them' : 'it'} in Project Settings -> Wallets.`;
|
|
63
|
+
}
|
|
64
|
+
function getApiClientErrorMessage(error, fallback) {
|
|
65
|
+
if (error.statusCode === 0) {
|
|
66
|
+
return collapseWhitespace(error.message) || fallback;
|
|
67
|
+
}
|
|
68
|
+
if (error.statusCode === 400) {
|
|
69
|
+
const raw = collapseWhitespace(error.message);
|
|
70
|
+
if (raw.includes(' must ') || raw.includes('regular expression')) {
|
|
71
|
+
return normalizeValidationMessage(raw);
|
|
72
|
+
}
|
|
73
|
+
return raw || 'The request is invalid. Please check your input and try again.';
|
|
74
|
+
}
|
|
75
|
+
if (error.statusCode === 401) {
|
|
76
|
+
return 'Your session expired. Please sign in again.';
|
|
77
|
+
}
|
|
78
|
+
if (error.statusCode === 403) {
|
|
79
|
+
return 'You do not have permission to perform this action.';
|
|
80
|
+
}
|
|
81
|
+
if (error.statusCode === 404) {
|
|
82
|
+
return 'The requested resource was not found.';
|
|
83
|
+
}
|
|
84
|
+
if (error.statusCode >= 500) {
|
|
85
|
+
return 'The service is temporarily unavailable. Please try again in a moment.';
|
|
86
|
+
}
|
|
87
|
+
return collapseWhitespace(error.message) || fallback;
|
|
88
|
+
}
|
|
89
|
+
function getOrvalClientErrorMessage(error, fallback) {
|
|
90
|
+
if (error.status >= 500) {
|
|
91
|
+
return 'The service is temporarily unavailable. Please try again in a moment.';
|
|
92
|
+
}
|
|
93
|
+
if (error.status === 409) {
|
|
94
|
+
const body = error.body;
|
|
95
|
+
if (body && typeof body === 'object') {
|
|
96
|
+
const record = body;
|
|
97
|
+
if (record['error'] === 'session_busy') {
|
|
98
|
+
return 'Your last message is still running. Wait for the agent to finish, then try again.';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const body = error.body;
|
|
103
|
+
if (body && typeof body === 'object') {
|
|
104
|
+
const record = body;
|
|
105
|
+
const payload = (() => {
|
|
106
|
+
const message = record['message'];
|
|
107
|
+
if (message && typeof message === 'object') {
|
|
108
|
+
return message;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
code: typeof record['code'] === 'string' ? record['code'] : undefined,
|
|
112
|
+
message: typeof record['message'] === 'string' ? record['message'] : undefined,
|
|
113
|
+
details: record['details'] && typeof record['details'] === 'object'
|
|
114
|
+
? record['details']
|
|
115
|
+
: undefined,
|
|
116
|
+
};
|
|
117
|
+
})();
|
|
118
|
+
const workflowWalletMessage = normalizeWorkflowWalletMissingMessage(payload);
|
|
119
|
+
if (workflowWalletMessage !== null) {
|
|
120
|
+
return workflowWalletMessage;
|
|
121
|
+
}
|
|
122
|
+
if (typeof payload.message === 'string' && payload.message.trim().length > 0) {
|
|
123
|
+
return collapseWhitespace(payload.message);
|
|
124
|
+
}
|
|
125
|
+
if (typeof record['message'] === 'string' && record['message'].trim().length > 0) {
|
|
126
|
+
return collapseWhitespace(record['message']);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return getGenericErrorMessage(error.message, fallback);
|
|
130
|
+
}
|
|
131
|
+
function getUserFacingErrorMessage(error, fallback = 'Something went wrong. Please try again.') {
|
|
132
|
+
if (typeof error === 'string') {
|
|
133
|
+
return collapseWhitespace(error) || fallback;
|
|
134
|
+
}
|
|
135
|
+
if (isApiClientErrorLike(error)) {
|
|
136
|
+
return getApiClientErrorMessage(error, fallback);
|
|
137
|
+
}
|
|
138
|
+
if (isOrvalClientErrorLike(error)) {
|
|
139
|
+
return getOrvalClientErrorMessage(error, fallback);
|
|
140
|
+
}
|
|
141
|
+
if (error instanceof Error) {
|
|
142
|
+
return getGenericErrorMessage(error.message, fallback);
|
|
143
|
+
}
|
|
144
|
+
return fallback;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/biome-host/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/react-query';
|
|
2
2
|
import { type ReactNode } from 'react';
|
|
3
|
+
import type { CapabilityPort } from '../capabilities';
|
|
3
4
|
import type { SystemBus } from '../system-bus';
|
|
5
|
+
import type { RealtimeSource } from './realtime-port';
|
|
4
6
|
export interface HostBridgeNavigation {
|
|
5
7
|
push(path: string): void;
|
|
6
8
|
replace(path: string): void;
|
|
@@ -28,6 +30,9 @@ export interface HostBridgeToast {
|
|
|
28
30
|
export interface HostBridgeRequestContext {
|
|
29
31
|
readonly correlationId: string;
|
|
30
32
|
}
|
|
33
|
+
export interface HostBridgeErrors {
|
|
34
|
+
getUserFacingErrorMessage(error: unknown, fallback?: string): string;
|
|
35
|
+
}
|
|
31
36
|
export interface PageBackTarget {
|
|
32
37
|
readonly to: string;
|
|
33
38
|
readonly label?: string;
|
|
@@ -52,6 +57,9 @@ export interface HostBridge {
|
|
|
52
57
|
readonly requestContext: HostBridgeRequestContext;
|
|
53
58
|
readonly pageMeta: HostBridgePageMeta;
|
|
54
59
|
readonly system: SystemBus;
|
|
60
|
+
readonly capabilities: CapabilityPort;
|
|
61
|
+
readonly realtime?: RealtimeSource;
|
|
62
|
+
readonly errors?: HostBridgeErrors;
|
|
55
63
|
}
|
|
56
64
|
export declare const HostBridgeContext: import("react").Context<HostBridge | null>;
|
|
57
65
|
export declare function useHostBridge(): HostBridge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-bridge.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/host-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"host-bridge.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/host-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-bridge.js","sourceRoot":"","sources":["../../../src/lib/biome-host/host-bridge.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"host-bridge.js","sourceRoot":"","sources":["../../../src/lib/biome-host/host-bridge.ts"],"names":[],"mappings":";;;AAiQA,sCASC;AAxQD,iCAAkE;AAuPrD,QAAA,iBAAiB,GAAG,IAAA,qBAAa,EAAoB,IAAI,CAAC,CAAC;AACxE,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC;AAOpD,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,yBAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,gFAAgF;YAC9E,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -12,4 +12,8 @@ export * from './host-sources';
|
|
|
12
12
|
export * from './nav';
|
|
13
13
|
export * from './biome-mode';
|
|
14
14
|
export * from './agent-validation';
|
|
15
|
+
export * from './realtime-port';
|
|
16
|
+
export * from './realtime-hooks';
|
|
17
|
+
export * from './errors';
|
|
18
|
+
export * from './response-envelope';
|
|
15
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
|
|
@@ -28,4 +28,8 @@ __exportStar(require("./host-sources"), exports);
|
|
|
28
28
|
__exportStar(require("./nav"), exports);
|
|
29
29
|
__exportStar(require("./biome-mode"), exports);
|
|
30
30
|
__exportStar(require("./agent-validation"), exports);
|
|
31
|
+
__exportStar(require("./realtime-port"), exports);
|
|
32
|
+
__exportStar(require("./realtime-hooks"), exports);
|
|
33
|
+
__exportStar(require("./errors"), exports);
|
|
34
|
+
__exportStar(require("./response-envelope"), exports);
|
|
31
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/biome-host/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,mDAAiC;AACjC,gDAA8B;AAC9B,qDAAmC;AACnC,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,mDAAiC;AACjC,0DAAwC;AACxC,qDAAmC;AACnC,iDAA+B;AAC/B,wCAAsB;AACtB,+CAA6B;AAC7B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/biome-host/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,mDAAiC;AACjC,gDAA8B;AAC9B,qDAAmC;AACnC,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,mDAAiC;AACjC,0DAAwC;AACxC,qDAAmC;AACnC,iDAA+B;AAC/B,wCAAsB;AACtB,+CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AACzB,sDAAoC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RealtimeCloudEvent, RealtimeConnectionState, RealtimeScope } from './realtime-port';
|
|
2
|
+
export declare function useCloudEvent(eventType: string, handler: (event: RealtimeCloudEvent) => void): void;
|
|
3
|
+
export declare function useRealtimeStatus(): RealtimeConnectionState;
|
|
4
|
+
export declare function useEventScope(scope: RealtimeScope): void;
|
|
5
|
+
//# sourceMappingURL=realtime-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-hooks.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/realtime-hooks.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAiCzB,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC3C,IAAI,CAGN;AAGD,wBAAgB,iBAAiB,IAAI,uBAAuB,CAG3D;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGxD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCloudEvent = useCloudEvent;
|
|
4
|
+
exports.useRealtimeStatus = useRealtimeStatus;
|
|
5
|
+
exports.useEventScope = useEventScope;
|
|
6
|
+
const host_bridge_1 = require("./host-bridge");
|
|
7
|
+
function requireRealtime(realtime) {
|
|
8
|
+
if (!realtime) {
|
|
9
|
+
throw new Error('useCloudEvent/useRealtimeStatus/useEventScope require a realtime ' +
|
|
10
|
+
'transport, but the host has not wired `bridge.realtime`. The host ' +
|
|
11
|
+
'must provide a RealtimeSource (e.g. backed by @xemahq/realtime-client) ' +
|
|
12
|
+
'on the HostBridge to use kernel realtime hooks.');
|
|
13
|
+
}
|
|
14
|
+
return realtime;
|
|
15
|
+
}
|
|
16
|
+
function useCloudEvent(eventType, handler) {
|
|
17
|
+
const bridge = (0, host_bridge_1.useHostBridge)();
|
|
18
|
+
requireRealtime(bridge.realtime).useCloudEvent(eventType, handler);
|
|
19
|
+
}
|
|
20
|
+
function useRealtimeStatus() {
|
|
21
|
+
const bridge = (0, host_bridge_1.useHostBridge)();
|
|
22
|
+
return requireRealtime(bridge.realtime).useRealtimeStatus();
|
|
23
|
+
}
|
|
24
|
+
function useEventScope(scope) {
|
|
25
|
+
const bridge = (0, host_bridge_1.useHostBridge)();
|
|
26
|
+
requireRealtime(bridge.realtime).useEventScope(scope);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=realtime-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-hooks.js","sourceRoot":"","sources":["../../../src/lib/biome-host/realtime-hooks.ts"],"names":[],"mappings":";;AAmDA,sCAMC;AAGD,8CAGC;AAOD,sCAGC;AA7DD,+CAA8C;AAc9C,SAAS,eAAe,CAAC,QAAoC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,mEAAmE;YACjE,oEAAoE;YACpE,yEAAyE;YACzE,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAeD,SAAgB,aAAa,CAC3B,SAAiB,EACjB,OAA4C;IAE5C,MAAM,MAAM,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC/B,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAGD,SAAgB,iBAAiB;IAC/B,MAAM,MAAM,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC/B,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC9D,CAAC;AAOD,SAAgB,aAAa,CAAC,KAAoB;IAChD,MAAM,MAAM,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC/B,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface RealtimeCloudEvent {
|
|
2
|
+
id?: string;
|
|
3
|
+
type: string;
|
|
4
|
+
source?: string;
|
|
5
|
+
subject?: string;
|
|
6
|
+
data?: unknown;
|
|
7
|
+
ehorgid: string;
|
|
8
|
+
ehprojectid?: string;
|
|
9
|
+
ehuserid?: string;
|
|
10
|
+
ehglobalseq?: string;
|
|
11
|
+
ehorgseq?: string;
|
|
12
|
+
ehprojectseq?: string;
|
|
13
|
+
ehsessionseq?: string;
|
|
14
|
+
__hint?: unknown;
|
|
15
|
+
}
|
|
16
|
+
export type RealtimeStatus = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'closed';
|
|
17
|
+
export interface RealtimeConnectionState {
|
|
18
|
+
readonly status: RealtimeStatus;
|
|
19
|
+
readonly connectionId?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface RealtimeScope {
|
|
22
|
+
readonly kind: 'project' | 'session';
|
|
23
|
+
readonly id: string;
|
|
24
|
+
}
|
|
25
|
+
export interface RealtimeSource {
|
|
26
|
+
useCloudEvent(eventType: string, handler: (event: RealtimeCloudEvent) => void): void;
|
|
27
|
+
useRealtimeStatus(): RealtimeConnectionState;
|
|
28
|
+
useEventScope(scope: RealtimeScope): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=realtime-port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-port.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/realtime-port.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,kBAAkB;IAEjC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;AAGb,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAOD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAWD,MAAM,WAAW,cAAc;IAO7B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC;IAErF,iBAAiB,IAAI,uBAAuB,CAAC;IAM7C,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-port.js","sourceRoot":"","sources":["../../../src/lib/biome-host/realtime-port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-envelope.d.ts","sourceRoot":"","sources":["../../../src/lib/biome-host/response-envelope.ts"],"names":[],"mappings":"AA+BA,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,CAYjD;AAeD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAU/C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unwrapList = unwrapList;
|
|
4
|
+
exports.unwrapData = unwrapData;
|
|
5
|
+
function unwrapList(value) {
|
|
6
|
+
if (Array.isArray(value)) {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
if (value !== null &&
|
|
10
|
+
typeof value === 'object' &&
|
|
11
|
+
Array.isArray(value.data)) {
|
|
12
|
+
return value.data;
|
|
13
|
+
}
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
function unwrapData(value) {
|
|
17
|
+
if (value !== null &&
|
|
18
|
+
typeof value === 'object' &&
|
|
19
|
+
'data' in value &&
|
|
20
|
+
!('pagination' in value)) {
|
|
21
|
+
return value.data;
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=response-envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-envelope.js","sourceRoot":"","sources":["../../../src/lib/biome-host/response-envelope.ts"],"names":[],"mappings":";;AA+BA,gCAYC;AAeD,gCAUC;AArCD,SAAgB,UAAU,CAAI,KAAc;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAY,CAAC;IACtB,CAAC;IACD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAE,KAA4B,CAAC,IAAI,CAAC,EACjD,CAAC;QACD,OAAQ,KAAuB,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAeD,SAAgB,UAAU,CAAI,KAAc;IAC1C,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAK,KAAiC;QAC5C,CAAC,CAAC,YAAY,IAAK,KAAiC,CAAC,EACrD,CAAC;QACD,OAAQ,KAAqB,CAAC,IAAI,CAAC;IACrC,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { CapabilityPort, MeCapabilitiesSnapshot } from './types';
|
|
3
|
+
export interface CapabilityContextValue {
|
|
4
|
+
readonly snapshot: MeCapabilitiesSnapshot | undefined;
|
|
5
|
+
readonly isLoading: boolean;
|
|
6
|
+
readonly error: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface CapabilityProviderProps {
|
|
9
|
+
readonly children: ReactNode;
|
|
10
|
+
readonly port?: CapabilityPort;
|
|
11
|
+
readonly orgId?: string | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function CapabilityProvider(props: CapabilityProviderProps): JSX.Element;
|
|
14
|
+
export declare function useCapabilityContext(): CapabilityContextValue;
|
|
15
|
+
//# sourceMappingURL=capability-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/capabilities/capability-provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAStE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAYD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAM7B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAM/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAgBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAiB9E;AAOD,wBAAgB,oBAAoB,IAAI,sBAAsB,CAU7D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CapabilityProvider = CapabilityProvider;
|
|
4
|
+
exports.useCapabilityContext = useCapabilityContext;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const host_bridge_1 = require("../biome-host/host-bridge");
|
|
9
|
+
const CapabilityContext = (0, react_1.createContext)(null);
|
|
10
|
+
CapabilityContext.displayName = 'CapabilityContext';
|
|
11
|
+
const CAPABILITIES_QUERY_ROOT = ['xema', 'capabilities', 'me'];
|
|
12
|
+
function CapabilityProvider(props) {
|
|
13
|
+
const bridge = (0, host_bridge_1.useHostBridge)();
|
|
14
|
+
const port = props.port ?? bridge.capabilities;
|
|
15
|
+
const orgId = props.orgId !== undefined ? props.orgId : bridge.auth.getOrgId();
|
|
16
|
+
const query = (0, react_query_1.useQuery)({
|
|
17
|
+
queryKey: [...CAPABILITIES_QUERY_ROOT, orgId],
|
|
18
|
+
queryFn: () => port.list(orgId ? { orgId } : undefined),
|
|
19
|
+
});
|
|
20
|
+
const value = {
|
|
21
|
+
snapshot: query.data,
|
|
22
|
+
isLoading: query.isLoading,
|
|
23
|
+
error: query.error,
|
|
24
|
+
};
|
|
25
|
+
return (0, jsx_runtime_1.jsx)(CapabilityContext.Provider, { value: value, children: props.children });
|
|
26
|
+
}
|
|
27
|
+
function useCapabilityContext() {
|
|
28
|
+
const ctx = (0, react_1.useContext)(CapabilityContext);
|
|
29
|
+
if (!ctx) {
|
|
30
|
+
throw new Error('[xema-ui-kernel] useCapability()/useCapabilities() called outside ' +
|
|
31
|
+
'<CapabilityProvider>. The host (or biome shell) must mount the ' +
|
|
32
|
+
'capability provider above any capability-gated subtree.');
|
|
33
|
+
}
|
|
34
|
+
return ctx;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=capability-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-provider.js","sourceRoot":"","sources":["../../../src/lib/capabilities/capability-provider.tsx"],"names":[],"mappings":";;AA4DA,gDAiBC;AAOD,oDAUC;;AA9FD,uDAAiD;AACjD,iCAAkE;AAElE,2DAA0D;AAiB1D,MAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAgC,IAAI,CAAC,CAAC;AAC7E,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC;AAOpD,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAU,CAAC;AAgCxE,SAAgB,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,MAAM,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAE/E,MAAM,KAAK,GAAG,IAAA,sBAAQ,EAAyB;QAC7C,QAAQ,EAAE,CAAC,GAAG,uBAAuB,EAAE,KAAK,CAAC;QAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KACxD,CAAC,CAAC;IAEH,MAAM,KAAK,GAA2B;QACpC,QAAQ,EAAE,KAAK,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IAEF,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,KAAK,CAAC,QAAQ,GAA8B,CAAC;AACjG,CAAC;AAOD,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,iEAAiE;YACjE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/capabilities/index.ts"],"names":[],"mappings":"AAaA,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./capability-provider"), exports);
|
|
19
|
+
__exportStar(require("./use-capability"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/capabilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAaA,0CAAwB;AACxB,wDAAsC;AACtC,mDAAiC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExecutionEnvironmentKind } from '@xemahq/kernel-contracts/execution-environment';
|
|
2
|
+
export interface CapabilityEntry {
|
|
3
|
+
readonly ref: string;
|
|
4
|
+
readonly environments: ExecutionEnvironmentKind[];
|
|
5
|
+
readonly approvalRequired: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface MeCapabilitiesSnapshot {
|
|
8
|
+
readonly subjectId: string;
|
|
9
|
+
readonly orgId: string;
|
|
10
|
+
readonly capabilities: CapabilityEntry[];
|
|
11
|
+
}
|
|
12
|
+
export interface CapabilityPort {
|
|
13
|
+
list(options?: {
|
|
14
|
+
orgId?: string;
|
|
15
|
+
environment?: ExecutionEnvironmentKind;
|
|
16
|
+
}): Promise<MeCapabilitiesSnapshot>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/capabilities/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAY/F,MAAM,WAAW,eAAe;IAK9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,YAAY,EAAE,wBAAwB,EAAE,CAAC;IAMlD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAMD,MAAM,WAAW,sBAAsB;IAErC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC;CAC1C;AAWD,MAAM,WAAW,cAAc;IAW7B,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,wBAAwB,CAAC;KACxC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/capabilities/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExecutionEnvironmentKind } from '@xemahq/kernel-contracts/execution-environment';
|
|
2
|
+
import type { MeCapabilitiesSnapshot } from './types';
|
|
3
|
+
export interface UseCapabilityOptions {
|
|
4
|
+
readonly environment?: ExecutionEnvironmentKind;
|
|
5
|
+
}
|
|
6
|
+
export interface CapabilityDecision {
|
|
7
|
+
readonly allowed: boolean;
|
|
8
|
+
readonly approvalRequired: boolean;
|
|
9
|
+
readonly isLoading: boolean;
|
|
10
|
+
readonly error: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare function useCapability(ref: string, opts?: UseCapabilityOptions): CapabilityDecision;
|
|
13
|
+
export declare function useCapabilities(): {
|
|
14
|
+
snapshot: MeCapabilitiesSnapshot | undefined;
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
error: unknown;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=use-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-capability.d.ts","sourceRoot":"","sources":["../../../src/lib/capabilities/use-capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAG/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IAKnC,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IAMjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAM1B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAcD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,CAa1F;AAOD,wBAAgB,eAAe,IAAI;IACjC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAGA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCapability = useCapability;
|
|
4
|
+
exports.useCapabilities = useCapabilities;
|
|
5
|
+
const capability_provider_1 = require("./capability-provider");
|
|
6
|
+
function useCapability(ref, opts) {
|
|
7
|
+
const { snapshot, isLoading, error } = (0, capability_provider_1.useCapabilityContext)();
|
|
8
|
+
const entry = snapshot?.capabilities.find((c) => c.ref === ref);
|
|
9
|
+
const inEnvironment = !!entry && (!opts?.environment || entry.environments.includes(opts.environment));
|
|
10
|
+
return {
|
|
11
|
+
allowed: inEnvironment && !entry.approvalRequired,
|
|
12
|
+
approvalRequired: inEnvironment && entry.approvalRequired,
|
|
13
|
+
isLoading,
|
|
14
|
+
error,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function useCapabilities() {
|
|
18
|
+
const ctx = (0, capability_provider_1.useCapabilityContext)();
|
|
19
|
+
return { snapshot: ctx.snapshot, isLoading: ctx.isLoading, error: ctx.error };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=use-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-capability.js","sourceRoot":"","sources":["../../../src/lib/capabilities/use-capability.ts"],"names":[],"mappings":";;AA4CA,sCAaC;AAOD,0CAOC;AArED,+DAA0F;AA0C1F,SAAgB,aAAa,CAAC,GAAW,EAAE,IAA2B;IACpE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAA,0CAAoB,GAAE,CAAC;IAE9D,MAAM,KAAK,GAAG,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAChE,MAAM,aAAa,GACjB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnF,OAAO;QACL,OAAO,EAAE,aAAa,IAAI,CAAC,KAAK,CAAC,gBAAgB;QACjD,gBAAgB,EAAE,aAAa,IAAI,KAAK,CAAC,gBAAgB;QACzD,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC;AAOD,SAAgB,eAAe;IAK7B,MAAM,GAAG,GAA2B,IAAA,0CAAoB,GAAE,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LucideIcon } from 'lucide-react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import { type ErrorMessageFormatter } from './ErrorCard';
|
|
4
|
+
import { type LoadingStateVariant } from './LoadingState';
|
|
5
|
+
interface AsyncBoundaryEmpty {
|
|
6
|
+
icon: LucideIcon;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
interface AsyncBoundaryProps {
|
|
11
|
+
isLoading: boolean;
|
|
12
|
+
error?: Error | string | unknown | null;
|
|
13
|
+
isEmpty?: boolean;
|
|
14
|
+
empty?: AsyncBoundaryEmpty;
|
|
15
|
+
onRetry?: () => void;
|
|
16
|
+
loadingVariant?: LoadingStateVariant;
|
|
17
|
+
formatError?: ErrorMessageFormatter;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export default function AsyncBoundary({ isLoading, error, isEmpty, empty, onRetry, loadingVariant, formatError, children, }: Readonly<AsyncBoundaryProps>): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=AsyncBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncBoundary.d.ts","sourceRoot":"","sources":["../../../src/ui/chrome/AsyncBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE,UAAU,kBAAkB;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,kBAAkB;IAE1B,SAAS,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAKxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAErC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAUD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,cAAc,EACd,WAAW,EACX,QAAQ,GACT,EAAE,QAAQ,CAAC,kBAAkB,CAAC,+BAc9B"}
|