@exoscient/control-panel 0.1.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 +14 -0
- package/dist/AppControlPanel.d.ts +77 -0
- package/dist/AppControlPanel.d.ts.map +1 -0
- package/dist/AppControlPanel.js +1625 -0
- package/dist/AppControlPanel.js.map +1 -0
- package/dist/ControlPanelShell.d.ts +39 -0
- package/dist/ControlPanelShell.d.ts.map +1 -0
- package/dist/ControlPanelShell.js +152 -0
- package/dist/ControlPanelShell.js.map +1 -0
- package/dist/ExoLauncherSimulator.d.ts +36 -0
- package/dist/ExoLauncherSimulator.d.ts.map +1 -0
- package/dist/ExoLauncherSimulator.js +253 -0
- package/dist/ExoLauncherSimulator.js.map +1 -0
- package/dist/TaskDetail.d.ts +180 -0
- package/dist/TaskDetail.d.ts.map +1 -0
- package/dist/TaskDetail.js +889 -0
- package/dist/TaskDetail.js.map +1 -0
- package/dist/TaskListPage.d.ts +28 -0
- package/dist/TaskListPage.d.ts.map +1 -0
- package/dist/TaskListPage.js +16 -0
- package/dist/TaskListPage.js.map +1 -0
- package/dist/TaskWorkspace.d.ts +62 -0
- package/dist/TaskWorkspace.d.ts.map +1 -0
- package/dist/TaskWorkspace.js +592 -0
- package/dist/TaskWorkspace.js.map +1 -0
- package/dist/ai-plane.d.ts +75 -0
- package/dist/ai-plane.d.ts.map +1 -0
- package/dist/ai-plane.js +124 -0
- package/dist/ai-plane.js.map +1 -0
- package/dist/browser-icons.d.ts +25 -0
- package/dist/browser-icons.d.ts.map +1 -0
- package/dist/browser-icons.js +125 -0
- package/dist/browser-icons.js.map +1 -0
- package/dist/client-actions.d.ts +45 -0
- package/dist/client-actions.d.ts.map +1 -0
- package/dist/client-actions.js +48 -0
- package/dist/client-actions.js.map +1 -0
- package/dist/control-panel-shared.d.ts +58 -0
- package/dist/control-panel-shared.d.ts.map +1 -0
- package/dist/control-panel-shared.js +79 -0
- package/dist/control-panel-shared.js.map +1 -0
- package/dist/control-panel.css +4156 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/repository-workflow.d.ts +27 -0
- package/dist/repository-workflow.d.ts.map +1 -0
- package/dist/repository-workflow.js +24 -0
- package/dist/repository-workflow.js.map +1 -0
- package/dist/result.d.ts +6 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +77 -0
- package/dist/result.js.map +1 -0
- package/dist/task-consistency.d.ts +28 -0
- package/dist/task-consistency.d.ts.map +1 -0
- package/dist/task-consistency.js +25 -0
- package/dist/task-consistency.js.map +1 -0
- package/dist/task-detail.browser.js +2709 -0
- package/dist/task-detail.css +1601 -0
- package/dist/task-state.d.ts +11 -0
- package/dist/task-state.d.ts.map +1 -0
- package/dist/task-state.js +103 -0
- package/dist/task-state.js.map +1 -0
- package/dist/telemetry.d.ts +39 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +106 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/trace.d.ts +80 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +694 -0
- package/dist/trace.js.map +1 -0
- package/dist/updates.d.ts +72 -0
- package/dist/updates.d.ts.map +1 -0
- package/dist/updates.js +269 -0
- package/dist/updates.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// Shared control-panel types and pure helpers consumed by both the app-side
|
|
2
|
+
// AppControlPanel and the host DefaultControlPanel (and by TaskWorkspace).
|
|
3
|
+
// This is a leaf module: it must not import from any component file, so that
|
|
4
|
+
// component files can import from it without creating an import cycle.
|
|
5
|
+
export function normalizeSelectorValue(value) {
|
|
6
|
+
const normalized = value?.trim();
|
|
7
|
+
return normalized && normalized.length <= 120 && !/\s/.test(normalized) ? normalized : null;
|
|
8
|
+
}
|
|
9
|
+
export function taskModelOptionValue(option) {
|
|
10
|
+
return `${option.model}${option.reasoningEffort}`;
|
|
11
|
+
}
|
|
12
|
+
export function dedupeTaskModelOptions(options) {
|
|
13
|
+
const seen = new Set();
|
|
14
|
+
return options.filter((option) => {
|
|
15
|
+
const key = taskModelOptionValue(option);
|
|
16
|
+
if (seen.has(key))
|
|
17
|
+
return false;
|
|
18
|
+
seen.add(key);
|
|
19
|
+
return true;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export function selectedTaskModelSelection(options, value) {
|
|
23
|
+
const option = options.find((item) => taskModelOptionValue(item) === value);
|
|
24
|
+
if (!option)
|
|
25
|
+
return null;
|
|
26
|
+
return {
|
|
27
|
+
model: option.model,
|
|
28
|
+
reasoningEffort: option.reasoningEffort,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function taskModelOptionsFromStatus(status) {
|
|
32
|
+
const defaultModel = normalizeSelectorValue(status.defaults?.model);
|
|
33
|
+
const defaultReasoningEffort = normalizeSelectorValue(status.defaults?.reasoningEffort);
|
|
34
|
+
const options = (status.models ?? []).flatMap((model) => {
|
|
35
|
+
const modelSlug = normalizeSelectorValue(model.slug);
|
|
36
|
+
if (!modelSlug)
|
|
37
|
+
return [];
|
|
38
|
+
const supportedReasoningLevels = Array.isArray(model.supportedReasoningLevels) ? model.supportedReasoningLevels : [];
|
|
39
|
+
const efforts = supportedReasoningLevels.length > 0
|
|
40
|
+
? supportedReasoningLevels
|
|
41
|
+
: model.defaultReasoningLevel
|
|
42
|
+
? [model.defaultReasoningLevel]
|
|
43
|
+
: [];
|
|
44
|
+
return efforts
|
|
45
|
+
.map((effort) => normalizeSelectorValue(effort))
|
|
46
|
+
.filter((effort) => Boolean(effort))
|
|
47
|
+
.map((effort) => ({
|
|
48
|
+
model: modelSlug,
|
|
49
|
+
modelLabel: model.displayName || modelSlug,
|
|
50
|
+
reasoningEffort: effort,
|
|
51
|
+
reasoningLabel: effort,
|
|
52
|
+
}));
|
|
53
|
+
});
|
|
54
|
+
return dedupeTaskModelOptions(options).sort((left, right) => {
|
|
55
|
+
const leftDefault = left.model === defaultModel && left.reasoningEffort === defaultReasoningEffort;
|
|
56
|
+
const rightDefault = right.model === defaultModel && right.reasoningEffort === defaultReasoningEffort;
|
|
57
|
+
if (leftDefault !== rightDefault)
|
|
58
|
+
return leftDefault ? -1 : 1;
|
|
59
|
+
return `${left.modelLabel} ${left.reasoningLabel}`.localeCompare(`${right.modelLabel} ${right.reasoningLabel}`);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export function formatBytes(bytes) {
|
|
63
|
+
if (bytes < 1024)
|
|
64
|
+
return `${bytes} B`;
|
|
65
|
+
const units = ['KB', 'MB', 'GB', 'TB'];
|
|
66
|
+
let value = bytes;
|
|
67
|
+
let unit = 'B';
|
|
68
|
+
for (const next of units) {
|
|
69
|
+
value = value / 1024;
|
|
70
|
+
unit = next;
|
|
71
|
+
if (value < 1024)
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
return `${value.toFixed(value >= 10 ? 1 : 2)} ${unit}`;
|
|
75
|
+
}
|
|
76
|
+
export function formatContainerPorts(ports) {
|
|
77
|
+
return ports?.trim() || 'No published ports';
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=control-panel-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-panel-shared.js","sourceRoot":"","sources":["../src/control-panel-shared.ts"],"names":[],"mappings":"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"}
|