@plumile/backoffice-react 0.1.69 → 0.1.72
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/lib/esm/i18n/locales/en/shared.js +0 -6
- package/lib/esm/i18n/locales/en/shared.js.map +1 -1
- package/lib/esm/i18n/locales/fr/shared.js +0 -6
- package/lib/esm/i18n/locales/fr/shared.js.map +1 -1
- package/lib/esm/index.js +9 -15
- package/lib/esm/provider/BackofficeProvider.js +3 -1
- package/lib/esm/provider/BackofficeProvider.js.map +1 -1
- package/lib/esm/router/createBackofficeRoutes.js +67 -67
- package/lib/esm/router/createBackofficeRoutes.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/types/i18n/resources.d.ts +0 -12
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/index.d.ts +0 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/lib/types/provider/types.d.ts +2 -1
- package/lib/types/provider/types.d.ts.map +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
- package/package.json +5 -5
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +0 -40
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +0 -48
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +0 -58
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js +0 -81
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js +0 -16
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +0 -20
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js.map +0 -1
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js +0 -15
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js.map +0 -1
- package/lib/esm/i18n/useSharedEnumLabels.js +0 -22
- package/lib/esm/i18n/useSharedEnumLabels.js.map +0 -1
- package/lib/esm/modules/access/viewerPermissionsPolicy.js +0 -17
- package/lib/esm/modules/access/viewerPermissionsPolicy.js.map +0 -1
- package/lib/esm/modules/billing/usageChartMappers.js +0 -49
- package/lib/esm/modules/billing/usageChartMappers.js.map +0 -1
- package/lib/esm/modules/merge/taskMergeRun.js +0 -67
- package/lib/esm/modules/merge/taskMergeRun.js.map +0 -1
- package/lib/esm/modules/projectIngestionStatus.js +0 -25
- package/lib/esm/modules/projectIngestionStatus.js.map +0 -1
- package/lib/esm/pages/BackofficeToolsOperationPage.js +0 -464
- package/lib/esm/pages/BackofficeToolsOperationPage.js.map +0 -1
- package/lib/esm/subscriptions/conversationStream.js +0 -38
- package/lib/esm/subscriptions/conversationStream.js.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +0 -11
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +0 -15
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts +0 -13
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts +0 -14
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +0 -7
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +0 -8
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +0 -6
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts +0 -13
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts.map +0 -1
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts +0 -8
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts.map +0 -1
- package/lib/types/i18n/useSharedEnumLabels.d.ts +0 -6
- package/lib/types/i18n/useSharedEnumLabels.d.ts.map +0 -1
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts +0 -38
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts.map +0 -1
- package/lib/types/modules/billing/usageChartMappers.d.ts +0 -26
- package/lib/types/modules/billing/usageChartMappers.d.ts.map +0 -1
- package/lib/types/modules/merge/taskMergeRun.d.ts +0 -48
- package/lib/types/modules/merge/taskMergeRun.d.ts.map +0 -1
- package/lib/types/modules/projectIngestionStatus.d.ts +0 -9
- package/lib/types/modules/projectIngestionStatus.d.ts.map +0 -1
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts +0 -9
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts.map +0 -1
- package/lib/types/subscriptions/conversationStream.d.ts +0 -12
- package/lib/types/subscriptions/conversationStream.d.ts.map +0 -1
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsDocPanel.css.ts
|
|
4
|
-
var e = "_8o9eh80 vncd899io vncd89ai6 vncd89aof", t = "_8o9eh81 vncd891co vncd891qf vncd89wf vncd891ro vncd89v2r vncd89l6f", n = "_8o9eh82 vncd89nvf vncd89oio vncd89p5o vncd89lxf vncd89u6f vncd899io vncd89co vncd89doo vncd89ao6 vncd89uzj vncd8912f vncd891px vncd89v8p vncd89v vncd89t5o", r = "_8o9eh83 vncd8996 vncd89amo", i = "_8o9eh84 vncd89v8r vncd897g vncd896w vncd897k", a = "_8o9eh85 vncd892w", o = "_8o9eh86 vncd894sf vncd891qf vncd892cx vncd89v2t vncd89la6";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { o as content, t as panel, e as panelGroup, n as trigger, i as triggerIcon, a as triggerIconOpen, r as triggerTitle };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsDocPanel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsDocPanel.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsDocPanel.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const panelGroup = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const panel = sprinkles({\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n borderRadius: 'lg',\n backgroundColor: 'surface',\n overflow: 'hidden',\n});\n\nexport const trigger = sprinkles({\n width: 'full',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n paddingY: 3,\n paddingX: 4,\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'none',\n color: 'text',\n cursor: 'pointer',\n textAlign: 'left',\n});\n\nexport const triggerTitle = sprinkles({\n fontSize: 'base',\n fontWeight: 'semibold',\n});\n\nexport const triggerIcon = sprinkles({\n color: 'textSecondary',\n transitionProperty: 'transform',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n});\n\nexport const triggerIconOpen = sprinkles({\n rotate: 180,\n});\n\nexport const content = sprinkles({\n borderTopWidth: 'px',\n borderStyle: 'solid',\n borderTopColor: 'borderLight',\n backgroundColor: 'surfaceSecondary',\n padding: 3,\n});\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsForm.css.ts
|
|
4
|
-
var e = "_3yjjsp0 vncd899io vncd89ai6 vncd89aof", t = "_3yjjsp1 vncd899io vncd89do6", n = "_3yjjsp2 vncd899io vncd89co vncd89doo vncd89ao6", r = "_3yjjsp3 vncd899io vncd89ai6 vncd89aof", i = "_3yjjsp4 vncd899ix vncd89aoo vncd89c0f";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { t as actions, e as form, n as inputHeader, i as keyValueGrid, r as outputStack };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsForm.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsForm.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsForm.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const form = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const actions = sprinkles({\n display: 'flex',\n justifyContent: 'flex-end',\n});\n\nexport const inputHeader = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n});\n\nexport const outputStack = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const keyValueGrid = sprinkles({\n display: 'grid',\n gap: 4,\n gridTemplateColumns: 'autoFitMinmax220',\n});\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsJsonForm.css.ts
|
|
4
|
-
var e = "_1qbbudq0 vncd899io vncd89ai6 vncd89aoo", t = "_1qbbudq1 vncd899io vncd89do6", n = "_1qbbudq2 vncd899io vncd89co vncd89doo vncd89ao6";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { t as actions, e as form, n as inputHeader };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsJsonForm.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsJsonForm.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsJsonForm.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const form = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const actions = sprinkles({\n display: 'flex',\n justifyContent: 'flex-end',\n});\n\nexport const inputHeader = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n});\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsPageLayout.css.ts
|
|
4
|
-
var e = "r0idsk0 vncd899io vncd89ai6 vncd89ap6", t = "r0idsk1 vncd899io vncd89ai6 vncd89ao6", n = "r0idsk2 vncd899o vncd89amo vncd89v8p vncd89fbo", r = "r0idsk3 vncd89v8r vncd89fbo", i = "r0idsk4 vncd899io vncd89co vncd89ao6 vncd898x vncd89v8r", a = "r0idsk5 vncd89amf", o = "r0idsk6 vncd89al6 vncd89v8p", s = "r0idsk7 vncd899io vncd89ai6 vncd89aof", c = "r0idsk8 vncd899ix vncd89bwo vncd89ap6 vncd89cf", l = "r0idsk9 vncd89bwx vncd89bwr", u = "r0idska vncd899io vncd89ai6 vncd89aoo", d = "r0idskb vncd899io vncd89ai6 vncd89aof";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { d as aside, c as body, l as bodySplit, s as controls, t as header, u as main, e as page, r as subtitle, n as title, a as toolIdLabel, i as toolIdRow, o as toolIdValue };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsPageLayout.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsPageLayout.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsPageLayout.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const page = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n});\n\nexport const header = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n});\n\nexport const title = sprinkles({\n fontSize: 'xl',\n fontWeight: 'semibold',\n color: 'text',\n margin: 0,\n});\n\nexport const subtitle = sprinkles({\n color: 'textSecondary',\n margin: 0,\n});\n\nexport const toolIdRow = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n fontSize: 'sm',\n color: 'textSecondary',\n});\n\nexport const toolIdLabel = sprinkles({\n fontWeight: 'medium',\n});\n\nexport const toolIdValue = sprinkles({\n fontFamily: 'mono',\n color: 'text',\n});\n\nexport const controls = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const body = sprinkles({\n display: 'grid',\n gridTemplateColumns: 'detailSingle',\n gap: 6,\n alignItems: 'flex-start',\n});\n\nexport const bodySplit = sprinkles({\n gridTemplateColumns: {\n base: 'twoFrOneFr',\n lg: 'detailSingle',\n },\n});\n\nexport const main = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const aside = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsProjectPicker.css.ts
|
|
4
|
-
var e = "a76idv0 vncd899io vncd89ajx vncd89aof vncd89co", t = "a76idv1 vncd89kff vncd89aix vncd89ajf vncd899y6", n = "a76idv2 vncd89v8t vncd89hx6";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { n as helper, t as input, e as row };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsProjectPicker.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsProjectPicker.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsProjectPicker.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const row = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 3,\n alignItems: 'center',\n});\n\nexport const input = sprinkles({\n minWidth: 260,\n flexGrow: 'default',\n flexShrink: 'default',\n flexBasis: 260,\n});\n\nexport const helper = sprinkles({\n color: 'textMuted',\n marginTop: 2,\n});\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/components/backoffice/tools/backofficeToolsScopePicker.css.ts
|
|
4
|
-
var e = "_979xlr0 vncd899io vncd89ajx vncd89aof vncd89co", t = "_979xlr1 vncd89kff vncd89aix vncd89ajf vncd899y6", n = "_979xlr2 vncd89v8t vncd89hx6";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { n as helper, t as input, e as row };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeToolsScopePicker.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeToolsScopePicker.css.js","names":[],"sources":["../../../../../src/components/backoffice/tools/backofficeToolsScopePicker.css.ts"],"sourcesContent":["import { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const row = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 3,\n alignItems: 'center',\n});\n\nexport const input = sprinkles({\n minWidth: 260,\n flexGrow: 'default',\n flexShrink: 'default',\n flexBasis: 260,\n});\n\nexport const helper = sprinkles({\n color: 'textMuted',\n marginTop: 2,\n});\n"],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useSearchParams as e } from "@plumile/router";
|
|
2
|
-
//#region src/hooks/useBackofficeToolsUrlParams.ts
|
|
3
|
-
function t() {
|
|
4
|
-
let { params: t, getParam: n, setParam: r, setParams: i } = e();
|
|
5
|
-
return {
|
|
6
|
-
params: t,
|
|
7
|
-
getParam: n,
|
|
8
|
-
setParam: r,
|
|
9
|
-
setParams: i
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
//#endregion
|
|
13
|
-
export { t as useBackofficeToolsUrlParams };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=useBackofficeToolsUrlParams.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBackofficeToolsUrlParams.js","names":[],"sources":["../../../src/hooks/useBackofficeToolsUrlParams.ts"],"sourcesContent":["import { useSearchParams } from '@plumile/router';\n\nexport type BackofficeToolsUrlParams = {\n params: URLSearchParams;\n getParam: (key: string) => string | null;\n setParam: (key: string, value: string | null) => void;\n setParams: (updates: Record<string, string | null | undefined>) => void;\n};\n\n/** Keeps tools params in sync with the URL search params. */\nexport function useBackofficeToolsUrlParams(): BackofficeToolsUrlParams {\n const { params, getParam, setParam, setParams } = useSearchParams();\n return { params, getParam, setParam, setParams };\n}\n"],"mappings":";;AAUA,SAAgB,IAAwD;CACtE,IAAM,EAAE,WAAQ,aAAU,aAAU,iBAAc,GAAiB;AACnE,QAAO;EAAE;EAAQ;EAAU;EAAU;EAAW"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { useSharedTranslation as e } from "./useSharedTranslation.js";
|
|
2
|
-
//#region src/i18n/useSharedEnumLabels.ts
|
|
3
|
-
function t() {
|
|
4
|
-
let { t } = e();
|
|
5
|
-
function n() {
|
|
6
|
-
return t("projectIngestionStatus.unknown");
|
|
7
|
-
}
|
|
8
|
-
function r(e) {
|
|
9
|
-
if (e == null) return n();
|
|
10
|
-
switch (e) {
|
|
11
|
-
case "IDLE": return t("projectIngestionStatus.idle");
|
|
12
|
-
case "RUNNING": return t("projectIngestionStatus.running");
|
|
13
|
-
case "FAILED": return t("projectIngestionStatus.failed");
|
|
14
|
-
default: return n();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return { projectIngestionStatus: r };
|
|
18
|
-
}
|
|
19
|
-
//#endregion
|
|
20
|
-
export { t as useSharedEnumLabels };
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=useSharedEnumLabels.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedEnumLabels.js","names":[],"sources":["../../../src/i18n/useSharedEnumLabels.ts"],"sourcesContent":["import type { ProjectIngestionStatusKind } from '../modules/sharedSchemaTypes.js';\nimport { useSharedTranslation } from './useSharedTranslation.js';\n\nexport type SharedEnumLabels = {\n projectIngestionStatus: (\n kind: ProjectIngestionStatusKind | null | undefined,\n ) => string;\n};\n\n/** Provide shared i18n labels for common enum values. */\nexport function useSharedEnumLabels(): SharedEnumLabels {\n const { t } = useSharedTranslation();\n\n /** Resolve the fallback label for unknown ingestion states. */\n function projectIngestionUnknownLabel(): string {\n return t('projectIngestionStatus.unknown');\n }\n\n /** Resolve a translated label for a project ingestion status value. */\n function projectIngestionStatus(\n kind: ProjectIngestionStatusKind | null | undefined,\n ): string {\n if (kind == null) {\n return projectIngestionUnknownLabel();\n }\n switch (kind) {\n case 'IDLE':\n return t('projectIngestionStatus.idle');\n case 'RUNNING':\n return t('projectIngestionStatus.running');\n case 'FAILED':\n return t('projectIngestionStatus.failed');\n default:\n return projectIngestionUnknownLabel();\n }\n }\n\n return { projectIngestionStatus };\n}\n"],"mappings":";;AAUA,SAAgB,IAAwC;CACtD,IAAM,EAAE,MAAM,GAAsB;CAGpC,SAAS,IAAuC;AAC9C,SAAO,EAAE,iCAAiC;;CAI5C,SAAS,EACP,GACQ;AACR,MAAI,KAAQ,KACV,QAAO,GAA8B;AAEvC,UAAQ,GAAR;GACE,KAAK,OACH,QAAO,EAAE,8BAA8B;GACzC,KAAK,UACH,QAAO,EAAE,iCAAiC;GAC5C,KAAK,SACH,QAAO,EAAE,gCAAgC;GAC3C,QACE,QAAO,GAA8B;;;AAI3C,QAAO,EAAE,2BAAwB"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//#region src/modules/access/viewerPermissionsPolicy.ts
|
|
2
|
-
var e = /* @__PURE__ */ function(e) {
|
|
3
|
-
return e.MissingPermission = "MISSING_PERMISSION", e.FeatureDisabled = "FEATURE_DISABLED", e;
|
|
4
|
-
}({}), t = (e) => e === !0, n = (e) => t(e), r = (e) => t(e), i = (e) => t(e), a = (e) => t(e), o = (e) => t(e), s = (e) => t(e), c = (e) => t(e), l = (e) => t(e), u = (e) => t(e), d = (e) => t(e), f = (e) => t(e), p = (e) => t(e), m = (e) => t(e), h = (e) => t(e), g = (e) => t(e), _ = (e) => t(e), v = (e) => c(e.canManageGroup) && s(e.canManageProjects), y = (t) => t.isConnectorsEnabled ? a(t.canAssignRoles) ? {
|
|
5
|
-
allowed: !0,
|
|
6
|
-
reason: null
|
|
7
|
-
} : {
|
|
8
|
-
allowed: !1,
|
|
9
|
-
reason: e.MissingPermission
|
|
10
|
-
} : {
|
|
11
|
-
allowed: !1,
|
|
12
|
-
reason: e.FeatureDisabled
|
|
13
|
-
}, b = (e) => e.isGitRepositoryReady && f(e.canLaunchTechAgent);
|
|
14
|
-
//#endregion
|
|
15
|
-
export { e as AccessReason, u as canAssignGroupRoles, a as canAssignOrganizationRoles, v as canCreateProject, m as canEditTaskByPermission, _ as canLaunchInitiativeTechAgent, f as canLaunchProjectTechAgent, h as canLaunchTaskDevAgent, g as canLaunchTaskReviewAgent, n as canManageBilling, c as canManageGroup, l as canManageGroupInitiatives, o as canManageGroups, p as canManageProject, s as canManageProjects, d as canRunGroupTechAgents, i as canRunOrganizationTechAgents, b as canStartProjectDigestAgent, r as canViewBilling, y as decideConnectorAccess, t as hasCapability };
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=viewerPermissionsPolicy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"viewerPermissionsPolicy.js","names":[],"sources":["../../../../src/modules/access/viewerPermissionsPolicy.ts"],"sourcesContent":["export enum AccessReason {\n MissingPermission = 'MISSING_PERMISSION',\n FeatureDisabled = 'FEATURE_DISABLED',\n}\n\nexport type AccessDecision = {\n readonly allowed: boolean;\n readonly reason: AccessReason | null;\n};\n\nexport const hasCapability = (value: boolean | null | undefined): boolean => {\n return value === true;\n};\n\nexport const canManageBilling = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canViewBilling = (value: boolean | null | undefined): boolean => {\n return hasCapability(value);\n};\n\nexport const canRunOrganizationTechAgents = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canAssignOrganizationRoles = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canManageGroups = (value: boolean | null | undefined): boolean => {\n return hasCapability(value);\n};\n\nexport const canManageProjects = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canManageGroup = (value: boolean | null | undefined): boolean => {\n return hasCapability(value);\n};\n\nexport const canManageGroupInitiatives = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canAssignGroupRoles = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canRunGroupTechAgents = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canLaunchProjectTechAgent = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canManageProject = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canEditTaskByPermission = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canLaunchTaskDevAgent = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canLaunchTaskReviewAgent = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canLaunchInitiativeTechAgent = (\n value: boolean | null | undefined,\n): boolean => {\n return hasCapability(value);\n};\n\nexport const canCreateProject = (params: {\n readonly canManageGroup: boolean | null | undefined;\n readonly canManageProjects: boolean | null | undefined;\n}): boolean => {\n return (\n canManageGroup(params.canManageGroup) &&\n canManageProjects(params.canManageProjects)\n );\n};\n\nexport const decideConnectorAccess = (params: {\n readonly canAssignRoles: boolean | null | undefined;\n readonly isConnectorsEnabled: boolean;\n}): AccessDecision => {\n if (!params.isConnectorsEnabled) {\n return { allowed: false, reason: AccessReason.FeatureDisabled };\n }\n if (!canAssignOrganizationRoles(params.canAssignRoles)) {\n return { allowed: false, reason: AccessReason.MissingPermission };\n }\n return { allowed: true, reason: null };\n};\n\nexport const canStartProjectDigestAgent = (params: {\n readonly isGitRepositoryReady: boolean;\n readonly canLaunchTechAgent: boolean | null | undefined;\n}): boolean => {\n return (\n params.isGitRepositoryReady &&\n canLaunchProjectTechAgent(params.canLaunchTechAgent)\n );\n};\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,oBAAA,sBACA,EAAA,kBAAA;KACD,EAOY,KAAiB,MACrB,MAAU,IAGN,KACX,MAEO,EAAc,EAAM,EAGhB,KAAkB,MACtB,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KAAmB,MACvB,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KAAkB,MACtB,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KACX,MAEO,EAAc,EAAM,EAGhB,KAAoB,MAK7B,EAAe,EAAO,eAAe,IACrC,EAAkB,EAAO,kBAAkB,EAIlC,KAAyB,MAI/B,EAAO,sBAGP,EAA2B,EAAO,eAAe,GAG/C;CAAE,SAAS;CAAM,QAAQ;CAAM,GAF7B;CAAE,SAAS;CAAO,QAAQ,EAAa;CAAmB,GAH1D;CAAE,SAAS;CAAO,QAAQ,EAAa;CAAiB,EAQtD,KAA8B,MAKvC,EAAO,wBACP,EAA0B,EAAO,mBAAmB"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
//#region src/modules/billing/usageChartMappers.ts
|
|
2
|
-
var e = [
|
|
3
|
-
"INGESTION",
|
|
4
|
-
"CHAT",
|
|
5
|
-
"DEVELOPMENT"
|
|
6
|
-
], t = {
|
|
7
|
-
INGESTION: "#0B84A5",
|
|
8
|
-
CHAT: "#F6C85F",
|
|
9
|
-
DEVELOPMENT: "#6F4E7C"
|
|
10
|
-
}, n = 1440 * 60 * 1e3;
|
|
11
|
-
function r(e) {
|
|
12
|
-
return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()));
|
|
13
|
-
}
|
|
14
|
-
function i(e) {
|
|
15
|
-
let t = new Date(e);
|
|
16
|
-
if (Number.isNaN(t.getTime())) throw Error(`Invalid ISO datetime: ${e}`);
|
|
17
|
-
return r(t).toISOString().slice(0, 10);
|
|
18
|
-
}
|
|
19
|
-
function a(e, t) {
|
|
20
|
-
let i = r(new Date(e)), a = r(new Date(t));
|
|
21
|
-
if (Number.isNaN(i.getTime())) throw Error(`Invalid "from" datetime: ${e}`);
|
|
22
|
-
if (Number.isNaN(a.getTime())) throw Error(`Invalid "to" datetime: ${t}`);
|
|
23
|
-
if (i.getTime() > a.getTime()) throw Error(`"from" must be before or equal to "to": ${e} > ${t}`);
|
|
24
|
-
let o = [];
|
|
25
|
-
for (let e = i.getTime(); e <= a.getTime(); e += n) o.push(new Date(e).toISOString().slice(0, 10));
|
|
26
|
-
return o;
|
|
27
|
-
}
|
|
28
|
-
function o(e, t) {
|
|
29
|
-
let n = /* @__PURE__ */ new Map();
|
|
30
|
-
for (let r of e) if (t.includes(r.category)) {
|
|
31
|
-
let e = `${i(r.day)}|${r.category}`, t = n.get(e) ?? 0;
|
|
32
|
-
n.set(e, t + r.credits);
|
|
33
|
-
}
|
|
34
|
-
return n;
|
|
35
|
-
}
|
|
36
|
-
function s(e) {
|
|
37
|
-
let t = a(e.fromIsoDateTime, e.toIsoDateTime), n = o(e.buckets, e.categories);
|
|
38
|
-
return e.categories.map((e) => ({
|
|
39
|
-
id: e,
|
|
40
|
-
data: t.map((t) => ({
|
|
41
|
-
x: t,
|
|
42
|
-
y: n.get(`${t}|${e}`) ?? 0
|
|
43
|
-
}))
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { e as DEFAULT_BILLING_USAGE_CHART_CATEGORIES, t as DEFAULT_BILLING_USAGE_CHART_CATEGORY_COLORS, o as aggregateCreditsByDayAndCategory, a as buildUtcDayRange, s as toBillingUsageChartSeries, i as toUtcDayKey };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=usageChartMappers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usageChartMappers.js","names":[],"sources":["../../../../src/modules/billing/usageChartMappers.ts"],"sourcesContent":["export type BillingChartPoint = {\n x: string;\n y: number;\n};\n\nexport type BillingChartSerie<Category extends string> = {\n id: Category;\n data: readonly BillingChartPoint[];\n};\n\nexport type BillingChartBucketInput<Category extends string> = {\n day: string;\n category: Category;\n credits: number;\n};\n\nexport const DEFAULT_BILLING_USAGE_CHART_CATEGORIES = [\n 'INGESTION',\n 'CHAT',\n 'DEVELOPMENT',\n] as const;\n\nexport type DefaultBillingUsageChartCategory =\n (typeof DEFAULT_BILLING_USAGE_CHART_CATEGORIES)[number];\n\nexport const DEFAULT_BILLING_USAGE_CHART_CATEGORY_COLORS: Readonly<\n Record<DefaultBillingUsageChartCategory, string>\n> = {\n INGESTION: '#0B84A5',\n CHAT: '#F6C85F',\n DEVELOPMENT: '#6F4E7C',\n};\n\nconst UTC_DAY_MS = 24 * 60 * 60 * 1000;\n\n/** Truncate a date to UTC midnight for stable day-based aggregation. */\nfunction toUtcMidnightDate(value: Date): Date {\n return new Date(\n Date.UTC(value.getUTCFullYear(), value.getUTCMonth(), value.getUTCDate()),\n );\n}\n\n/** Normalize an ISO datetime string to a UTC day key. */\nexport function toUtcDayKey(isoDateTime: string): string {\n const parsed = new Date(isoDateTime);\n if (Number.isNaN(parsed.getTime())) {\n throw new Error(`Invalid ISO datetime: ${isoDateTime}`);\n }\n return toUtcMidnightDate(parsed).toISOString().slice(0, 10);\n}\n\n/** Build an inclusive list of UTC day keys between two ISO datetimes. */\nexport function buildUtcDayRange(\n fromIsoDateTime: string,\n toIsoDateTime: string,\n): readonly string[] {\n const from = toUtcMidnightDate(new Date(fromIsoDateTime));\n const to = toUtcMidnightDate(new Date(toIsoDateTime));\n\n if (Number.isNaN(from.getTime())) {\n throw new Error(`Invalid \"from\" datetime: ${fromIsoDateTime}`);\n }\n if (Number.isNaN(to.getTime())) {\n throw new Error(`Invalid \"to\" datetime: ${toIsoDateTime}`);\n }\n if (from.getTime() > to.getTime()) {\n throw new Error(\n `\"from\" must be before or equal to \"to\": ${fromIsoDateTime} > ${toIsoDateTime}`,\n );\n }\n\n const dayKeys: string[] = [];\n for (\n let cursor = from.getTime();\n cursor <= to.getTime();\n cursor += UTC_DAY_MS\n ) {\n dayKeys.push(new Date(cursor).toISOString().slice(0, 10));\n }\n\n return dayKeys;\n}\n\n/** Aggregate credit usage by UTC day and category for the requested categories. */\nexport function aggregateCreditsByDayAndCategory<Category extends string>(\n buckets: readonly BillingChartBucketInput<Category>[],\n allowedCategories: readonly Category[],\n): ReadonlyMap<string, number> {\n const totals = new Map<string, number>();\n\n for (const bucket of buckets) {\n if (allowedCategories.includes(bucket.category)) {\n const dayKey = toUtcDayKey(bucket.day);\n const key = `${dayKey}|${bucket.category}`;\n const previous = totals.get(key) ?? 0;\n totals.set(key, previous + bucket.credits);\n }\n }\n\n return totals;\n}\n\n/** Convert bucketed usage data into zero-filled chart series for each category. */\nexport function toBillingUsageChartSeries<Category extends string>(params: {\n fromIsoDateTime: string;\n toIsoDateTime: string;\n buckets: readonly BillingChartBucketInput<Category>[];\n categories: readonly Category[];\n}): readonly BillingChartSerie<Category>[] {\n const dayKeys = buildUtcDayRange(\n params.fromIsoDateTime,\n params.toIsoDateTime,\n );\n const totals = aggregateCreditsByDayAndCategory(\n params.buckets,\n params.categories,\n );\n\n return params.categories.map((category) => {\n const points = dayKeys.map((dayKey) => {\n return {\n x: dayKey,\n y: totals.get(`${dayKey}|${category}`) ?? 0,\n };\n });\n\n return {\n id: category,\n data: points,\n };\n });\n}\n"],"mappings":";AAgBA,IAAa,IAAyC;CACpD;CACA;CACA;CACD,EAKY,IAET;CACF,WAAW;CACX,MAAM;CACN,aAAa;CACd,EAEK,IAAa,OAAU,KAAK;AAGlC,SAAS,EAAkB,GAAmB;AAC5C,QAAO,IAAI,KACT,KAAK,IAAI,EAAM,gBAAgB,EAAE,EAAM,aAAa,EAAE,EAAM,YAAY,CAAC,CAC1E;;AAIH,SAAgB,EAAY,GAA6B;CACvD,IAAM,IAAS,IAAI,KAAK,EAAY;AACpC,KAAI,OAAO,MAAM,EAAO,SAAS,CAAC,CAChC,OAAU,MAAM,yBAAyB,IAAc;AAEzD,QAAO,EAAkB,EAAO,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG;;AAI7D,SAAgB,EACd,GACA,GACmB;CACnB,IAAM,IAAO,EAAkB,IAAI,KAAK,EAAgB,CAAC,EACnD,IAAK,EAAkB,IAAI,KAAK,EAAc,CAAC;AAErD,KAAI,OAAO,MAAM,EAAK,SAAS,CAAC,CAC9B,OAAU,MAAM,4BAA4B,IAAkB;AAEhE,KAAI,OAAO,MAAM,EAAG,SAAS,CAAC,CAC5B,OAAU,MAAM,0BAA0B,IAAgB;AAE5D,KAAI,EAAK,SAAS,GAAG,EAAG,SAAS,CAC/B,OAAU,MACR,2CAA2C,EAAgB,KAAK,IACjE;CAGH,IAAM,IAAoB,EAAE;AAC5B,MACE,IAAI,IAAS,EAAK,SAAS,EAC3B,KAAU,EAAG,SAAS,EACtB,KAAU,EAEV,GAAQ,KAAK,IAAI,KAAK,EAAO,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;AAG3D,QAAO;;AAIT,SAAgB,EACd,GACA,GAC6B;CAC7B,IAAM,oBAAS,IAAI,KAAqB;AAExC,MAAK,IAAM,KAAU,EACnB,KAAI,EAAkB,SAAS,EAAO,SAAS,EAAE;EAE/C,IAAM,IAAM,GADG,EAAY,EAAO,IAAI,CAChB,GAAG,EAAO,YAC1B,IAAW,EAAO,IAAI,EAAI,IAAI;AACpC,IAAO,IAAI,GAAK,IAAW,EAAO,QAAQ;;AAI9C,QAAO;;AAIT,SAAgB,EAAmD,GAKxB;CACzC,IAAM,IAAU,EACd,EAAO,iBACP,EAAO,cACR,EACK,IAAS,EACb,EAAO,SACP,EAAO,WACR;AAED,QAAO,EAAO,WAAW,KAAK,OAQrB;EACL,IAAI;EACJ,MATa,EAAQ,KAAK,OACnB;GACL,GAAG;GACH,GAAG,EAAO,IAAI,GAAG,EAAO,GAAG,IAAW,IAAI;GAC3C,EACD;EAKD,EACD"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
//#region src/modules/merge/taskMergeRun.ts
|
|
2
|
-
function e(e) {
|
|
3
|
-
return e == null ? [] : e.filter((e) => e.trim() !== "");
|
|
4
|
-
}
|
|
5
|
-
function t(t) {
|
|
6
|
-
return t == null ? [] : t.filter((e) => e.path != null && e.path.trim() !== "").map((t) => {
|
|
7
|
-
let n = t.kind, r = "SQUASH";
|
|
8
|
-
return n === "REBASE" && (r = "REBASE"), {
|
|
9
|
-
path: t.path ?? "",
|
|
10
|
-
kind: r,
|
|
11
|
-
relatedTaskIds: e(t.relatedTaskIds)
|
|
12
|
-
};
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
function n(n) {
|
|
16
|
-
return {
|
|
17
|
-
runKind: n.runKind ?? "NOT_STARTED",
|
|
18
|
-
runStatus: n.runStatus ?? null,
|
|
19
|
-
startedAt: n.startedAt ?? null,
|
|
20
|
-
completedAt: n.completedAt ?? null,
|
|
21
|
-
requestedAt: n.mergeStateRequestedAt ?? null,
|
|
22
|
-
mergedAt: n.mergeStateMergedAt ?? null,
|
|
23
|
-
sourceBranch: n.sourceBranch ?? null,
|
|
24
|
-
targetBranch: n.targetBranch ?? null,
|
|
25
|
-
reasonCode: n.reasonCode ?? null,
|
|
26
|
-
conflictFiles: e(n.conflictFiles),
|
|
27
|
-
conflictDetails: t(n.conflictDetails),
|
|
28
|
-
attemptedCommands: e(n.attemptedCommands)
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function r(e) {
|
|
32
|
-
switch (e) {
|
|
33
|
-
case "RUNNING": return "info";
|
|
34
|
-
case "COMPLETED": return "success";
|
|
35
|
-
case "FAILED": return "danger";
|
|
36
|
-
default: return "neutral";
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function i(e) {
|
|
40
|
-
if (e == null) return "neutral";
|
|
41
|
-
switch (e) {
|
|
42
|
-
case "SUCCEEDED": return "success";
|
|
43
|
-
case "BLOCKED": return "warning";
|
|
44
|
-
default: return "neutral";
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function a(e) {
|
|
48
|
-
return e.runStatus === "BLOCKED";
|
|
49
|
-
}
|
|
50
|
-
function o(e) {
|
|
51
|
-
if (e == null) return "Unknown";
|
|
52
|
-
switch (e) {
|
|
53
|
-
case "CONFLICT_NEEDS_HUMAN_DECISION": return "Conflict needs human decision";
|
|
54
|
-
case "CONFLICT_UNRESOLVED": return "Conflict unresolved";
|
|
55
|
-
case "BRANCH_NOT_FOUND": return "Branch not found";
|
|
56
|
-
case "PERMISSION_DENIED": return "Permission denied";
|
|
57
|
-
case "TARGET_MOVED": return "Target moved";
|
|
58
|
-
case "REMOTE_POLICY_REJECTED": return "Remote policy rejected";
|
|
59
|
-
case "CI_POLICY_BLOCKED": return "CI policy blocked";
|
|
60
|
-
case "RETRY_BUDGET_EXCEEDED": return "Retry budget exceeded";
|
|
61
|
-
default: return "Unknown";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//#endregion
|
|
65
|
-
export { n as createMergeRunViewModel, o as formatMergeBlockReasonCode, i as getMergeRunStatusTone, r as getMergeRunTone, a as isMergeRunBlocked };
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=taskMergeRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taskMergeRun.js","names":[],"sources":["../../../../src/modules/merge/taskMergeRun.ts"],"sourcesContent":["export type MergeBlockReasonCode =\n | 'CONFLICT_NEEDS_HUMAN_DECISION'\n | 'CONFLICT_UNRESOLVED'\n | 'BRANCH_NOT_FOUND'\n | 'PERMISSION_DENIED'\n | 'TARGET_MOVED'\n | 'REMOTE_POLICY_REJECTED'\n | 'CI_POLICY_BLOCKED'\n | 'RETRY_BUDGET_EXCEEDED'\n | 'UNKNOWN';\n\nexport type ToolMergeBlockReasonCode = MergeBlockReasonCode;\n\nexport type TaskMergeConflictKind = 'SQUASH' | 'REBASE';\n\nexport type TaskMergeRunStateKind =\n | 'NOT_STARTED'\n | 'RUNNING'\n | 'COMPLETED'\n | 'FAILED';\n\nexport type TaskMergeRunStatus = 'SUCCEEDED' | 'BLOCKED';\n\nexport type MergeConflictDetailViewModel = {\n path: string;\n kind: TaskMergeConflictKind;\n relatedTaskIds: readonly string[];\n};\n\nexport type MergeRunViewModel = {\n runKind: TaskMergeRunStateKind;\n runStatus: TaskMergeRunStatus | null;\n startedAt: string | null;\n completedAt: string | null;\n requestedAt: string | null;\n mergedAt: string | null;\n sourceBranch: string | null;\n targetBranch: string | null;\n reasonCode: MergeBlockReasonCode | null;\n conflictFiles: readonly string[];\n conflictDetails: readonly MergeConflictDetailViewModel[];\n attemptedCommands: readonly string[];\n};\n\nexport type MergeRunInput = {\n mergeStateRequestedAt?: string | null;\n mergeStateMergedAt?: string | null;\n runKind?: TaskMergeRunStateKind | null;\n runStatus?: TaskMergeRunStatus | null;\n startedAt?: string | null;\n completedAt?: string | null;\n sourceBranch?: string | null;\n targetBranch?: string | null;\n reasonCode?: MergeBlockReasonCode | null;\n conflictFiles?: readonly string[] | null;\n conflictDetails?:\n | readonly {\n path?: string | null;\n kind?: TaskMergeConflictKind | null;\n relatedTaskIds?: readonly string[] | null;\n }[]\n | null;\n attemptedCommands?: readonly string[] | null;\n};\n\n/** Normalize an optional string list by removing blank values. */\nfunction normalizeStringList(\n value: readonly string[] | null | undefined,\n): string[] {\n if (value == null) {\n return [];\n }\n return value.filter((entry) => {\n return entry.trim() !== '';\n });\n}\n\n/** Normalize raw conflict details into the view-model shape consumed by the UI. */\nfunction normalizeConflictDetails(\n value: MergeRunInput['conflictDetails'],\n): MergeConflictDetailViewModel[] {\n if (value == null) {\n return [];\n }\n\n return value\n .filter((entry) => {\n return entry.path != null && entry.path.trim() !== '';\n })\n .map((entry) => {\n const rawKind = entry.kind;\n let kind: TaskMergeConflictKind = 'SQUASH';\n if (rawKind === 'REBASE') {\n kind = 'REBASE';\n }\n\n return {\n path: entry.path ?? '',\n kind,\n relatedTaskIds: normalizeStringList(entry.relatedTaskIds),\n };\n });\n}\n\n/** Build a merge-run view model from partially populated API input. */\nexport function createMergeRunViewModel(\n input: MergeRunInput,\n): MergeRunViewModel {\n const runKind = input.runKind ?? 'NOT_STARTED';\n\n return {\n runKind,\n runStatus: input.runStatus ?? null,\n startedAt: input.startedAt ?? null,\n completedAt: input.completedAt ?? null,\n requestedAt: input.mergeStateRequestedAt ?? null,\n mergedAt: input.mergeStateMergedAt ?? null,\n sourceBranch: input.sourceBranch ?? null,\n targetBranch: input.targetBranch ?? null,\n reasonCode: input.reasonCode ?? null,\n conflictFiles: normalizeStringList(input.conflictFiles),\n conflictDetails: normalizeConflictDetails(input.conflictDetails),\n attemptedCommands: normalizeStringList(input.attemptedCommands),\n };\n}\n\n/** Map a merge run state to its UI tone. */\nexport function getMergeRunTone(\n kind: TaskMergeRunStateKind,\n): 'neutral' | 'info' | 'success' | 'warning' | 'danger' {\n switch (kind) {\n case 'RUNNING':\n return 'info';\n case 'COMPLETED':\n return 'success';\n case 'FAILED':\n return 'danger';\n case 'NOT_STARTED':\n default:\n return 'neutral';\n }\n}\n\n/** Map a merge run status to its UI tone. */\nexport function getMergeRunStatusTone(\n status: TaskMergeRunStatus | null,\n): 'neutral' | 'success' | 'warning' {\n if (status == null) {\n return 'neutral';\n }\n\n switch (status) {\n case 'SUCCEEDED':\n return 'success';\n case 'BLOCKED':\n return 'warning';\n default:\n return 'neutral';\n }\n}\n\n/** Indicate whether a merge run is currently blocked. */\nexport function isMergeRunBlocked(model: MergeRunViewModel): boolean {\n return model.runStatus === 'BLOCKED';\n}\n\n/** Format a machine merge-block reason into a human-readable label. */\nexport function formatMergeBlockReasonCode(\n reasonCode:\n | MergeBlockReasonCode\n | ToolMergeBlockReasonCode\n | null\n | undefined,\n): string {\n if (reasonCode == null) {\n return 'Unknown';\n }\n\n switch (reasonCode) {\n case 'CONFLICT_NEEDS_HUMAN_DECISION':\n return 'Conflict needs human decision';\n case 'CONFLICT_UNRESOLVED':\n return 'Conflict unresolved';\n case 'BRANCH_NOT_FOUND':\n return 'Branch not found';\n case 'PERMISSION_DENIED':\n return 'Permission denied';\n case 'TARGET_MOVED':\n return 'Target moved';\n case 'REMOTE_POLICY_REJECTED':\n return 'Remote policy rejected';\n case 'CI_POLICY_BLOCKED':\n return 'CI policy blocked';\n case 'RETRY_BUDGET_EXCEEDED':\n return 'Retry budget exceeded';\n case 'UNKNOWN':\n default:\n return 'Unknown';\n }\n}\n"],"mappings":";AAkEA,SAAS,EACP,GACU;AAIV,QAHI,KAAS,OACJ,EAAE,GAEJ,EAAM,QAAQ,MACZ,EAAM,MAAM,KAAK,GACxB;;AAIJ,SAAS,EACP,GACgC;AAKhC,QAJI,KAAS,OACJ,EAAE,GAGJ,EACJ,QAAQ,MACA,EAAM,QAAQ,QAAQ,EAAM,KAAK,MAAM,KAAK,GACnD,CACD,KAAK,MAAU;EACd,IAAM,IAAU,EAAM,MAClB,IAA8B;AAKlC,SAJI,MAAY,aACd,IAAO,WAGF;GACL,MAAM,EAAM,QAAQ;GACpB;GACA,gBAAgB,EAAoB,EAAM,eAAe;GAC1D;GACD;;AAIN,SAAgB,EACd,GACmB;AAGnB,QAAO;EACL,SAHc,EAAM,WAAW;EAI/B,WAAW,EAAM,aAAa;EAC9B,WAAW,EAAM,aAAa;EAC9B,aAAa,EAAM,eAAe;EAClC,aAAa,EAAM,yBAAyB;EAC5C,UAAU,EAAM,sBAAsB;EACtC,cAAc,EAAM,gBAAgB;EACpC,cAAc,EAAM,gBAAgB;EACpC,YAAY,EAAM,cAAc;EAChC,eAAe,EAAoB,EAAM,cAAc;EACvD,iBAAiB,EAAyB,EAAM,gBAAgB;EAChE,mBAAmB,EAAoB,EAAM,kBAAkB;EAChE;;AAIH,SAAgB,EACd,GACuD;AACvD,SAAQ,GAAR;EACE,KAAK,UACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,KAAK,SACH,QAAO;EAET,QACE,QAAO;;;AAKb,SAAgB,EACd,GACmC;AACnC,KAAI,KAAU,KACZ,QAAO;AAGT,SAAQ,GAAR;EACE,KAAK,YACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO;;;AAKb,SAAgB,EAAkB,GAAmC;AACnE,QAAO,EAAM,cAAc;;AAI7B,SAAgB,EACd,GAKQ;AACR,KAAI,KAAc,KAChB,QAAO;AAGT,SAAQ,GAAR;EACE,KAAK,gCACH,QAAO;EACT,KAAK,sBACH,QAAO;EACT,KAAK,mBACH,QAAO;EACT,KAAK,oBACH,QAAO;EACT,KAAK,eACH,QAAO;EACT,KAAK,yBACH,QAAO;EACT,KAAK,oBACH,QAAO;EACT,KAAK,wBACH,QAAO;EAET,QACE,QAAO"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
//#region src/modules/projectIngestionStatus.ts
|
|
2
|
-
var e = {
|
|
3
|
-
IDLE: {
|
|
4
|
-
label: "projectIngestionStatus.idle",
|
|
5
|
-
tone: "neutral"
|
|
6
|
-
},
|
|
7
|
-
RUNNING: {
|
|
8
|
-
label: "projectIngestionStatus.running",
|
|
9
|
-
tone: "info"
|
|
10
|
-
},
|
|
11
|
-
FAILED: {
|
|
12
|
-
label: "projectIngestionStatus.failed",
|
|
13
|
-
tone: "danger"
|
|
14
|
-
}
|
|
15
|
-
}, t = {
|
|
16
|
-
label: "projectIngestionStatus.unknown",
|
|
17
|
-
tone: "neutral"
|
|
18
|
-
};
|
|
19
|
-
function n(n) {
|
|
20
|
-
return n == null ? t : e[n];
|
|
21
|
-
}
|
|
22
|
-
//#endregion
|
|
23
|
-
export { n as getProjectIngestionStatusMeta };
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=projectIngestionStatus.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectIngestionStatus.js","names":[],"sources":["../../../src/modules/projectIngestionStatus.ts"],"sourcesContent":["import type { ProjectIngestionStatusKind } from './sharedSchemaTypes.js';\n\nexport type ProjectIngestionStatusTone =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\ntype ProjectIngestionStatusMeta = {\n label: string;\n tone: ProjectIngestionStatusTone;\n};\n\nconst PROJECT_INGESTION_STATUS_META: Record<\n ProjectIngestionStatusKind,\n ProjectIngestionStatusMeta\n> = {\n IDLE: { label: 'projectIngestionStatus.idle', tone: 'neutral' },\n RUNNING: { label: 'projectIngestionStatus.running', tone: 'info' },\n FAILED: { label: 'projectIngestionStatus.failed', tone: 'danger' },\n};\n\nconst UNKNOWN_META: ProjectIngestionStatusMeta = {\n label: 'projectIngestionStatus.unknown',\n tone: 'neutral',\n};\n\n/** Return label and tone metadata for a project ingestion status kind. */\nexport function getProjectIngestionStatusMeta(\n kind: ProjectIngestionStatusKind | null | undefined,\n): ProjectIngestionStatusMeta {\n if (kind == null) {\n return UNKNOWN_META;\n }\n\n return PROJECT_INGESTION_STATUS_META[kind];\n}\n"],"mappings":";AAcA,IAAM,IAGF;CACF,MAAM;EAAE,OAAO;EAA+B,MAAM;EAAW;CAC/D,SAAS;EAAE,OAAO;EAAkC,MAAM;EAAQ;CAClE,QAAQ;EAAE,OAAO;EAAiC,MAAM;EAAU;CACnE,EAEK,IAA2C;CAC/C,OAAO;CACP,MAAM;CACP;AAGD,SAAgB,EACd,GAC4B;AAK5B,QAJI,KAAQ,OACH,IAGF,EAA8B"}
|