fix(ui): expose queue normalizer fields in work items
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 32s
CD Pipeline / build-and-deploy (push) Successful in 4m28s
CD Pipeline / post-deploy-checks (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 32s
CD Pipeline / build-and-deploy (push) Successful in 4m28s
CD Pipeline / post-deploy-checks (push) Has been cancelled
This commit is contained in:
@@ -9045,8 +9045,10 @@
|
|||||||
"metrics": {
|
"metrics": {
|
||||||
"tags": "Tags",
|
"tags": "Tags",
|
||||||
"groups": "Groups",
|
"groups": "Groups",
|
||||||
"contract": "Contract"
|
"contract": "Contract",
|
||||||
|
"queue": "Queue fields"
|
||||||
},
|
},
|
||||||
|
"queueFields": "Queue normalizer fields",
|
||||||
"receipt": {
|
"receipt": {
|
||||||
"inputs": "Receipt inputs",
|
"inputs": "Receipt inputs",
|
||||||
"outputs": "Receipt outputs"
|
"outputs": "Receipt outputs"
|
||||||
|
|||||||
@@ -9045,8 +9045,10 @@
|
|||||||
"metrics": {
|
"metrics": {
|
||||||
"tags": "Tags",
|
"tags": "Tags",
|
||||||
"groups": "分群鍵",
|
"groups": "分群鍵",
|
||||||
"contract": "Contract"
|
"contract": "Contract",
|
||||||
|
"queue": "Queue fields"
|
||||||
},
|
},
|
||||||
|
"queueFields": "Queue normalizer fields",
|
||||||
"receipt": {
|
"receipt": {
|
||||||
"inputs": "Receipt inputs",
|
"inputs": "Receipt inputs",
|
||||||
"outputs": "Receipt outputs"
|
"outputs": "Receipt outputs"
|
||||||
|
|||||||
@@ -1035,6 +1035,8 @@ type PriorityWorkOrderResponse = {
|
|||||||
ai_loop_current_blocker_harbor_recovery_receipt_input_ids?: string[] | null;
|
ai_loop_current_blocker_harbor_recovery_receipt_input_ids?: string[] | null;
|
||||||
ai_loop_current_blocker_harbor_recovery_receipt_output_contract_count?: number | null;
|
ai_loop_current_blocker_harbor_recovery_receipt_output_contract_count?: number | null;
|
||||||
ai_loop_current_blocker_harbor_recovery_receipt_output_ids?: string[] | null;
|
ai_loop_current_blocker_harbor_recovery_receipt_output_ids?: string[] | null;
|
||||||
|
ai_loop_current_blocker_queue_readback_normalizer_contract_count?: number | null;
|
||||||
|
ai_loop_current_blocker_queue_readback_normalizer_field_ids?: string[] | null;
|
||||||
ai_loop_log_source_grouping_key_count?: number | null;
|
ai_loop_log_source_grouping_key_count?: number | null;
|
||||||
ai_loop_log_source_grouping_keys?: string[] | null;
|
ai_loop_log_source_grouping_keys?: string[] | null;
|
||||||
ai_loop_log_source_tagging_contract_count?: number | null;
|
ai_loop_log_source_tagging_contract_count?: number | null;
|
||||||
@@ -1045,6 +1047,7 @@ type PriorityWorkOrderResponse = {
|
|||||||
ai_loop_log_source_tagging_contract?: AiLoopLogSourceContract[] | null;
|
ai_loop_log_source_tagging_contract?: AiLoopLogSourceContract[] | null;
|
||||||
ai_loop_current_blocker_harbor_recovery_receipt_input_ids?: string[] | null;
|
ai_loop_current_blocker_harbor_recovery_receipt_input_ids?: string[] | null;
|
||||||
ai_loop_current_blocker_harbor_recovery_receipt_output_ids?: string[] | null;
|
ai_loop_current_blocker_harbor_recovery_receipt_output_ids?: string[] | null;
|
||||||
|
ai_loop_current_blocker_queue_readback_normalizer_field_ids?: string[] | null;
|
||||||
} | null;
|
} | null;
|
||||||
}>;
|
}>;
|
||||||
};
|
};
|
||||||
@@ -7798,6 +7801,10 @@ function AiLoopLogSourceTagsPanel({
|
|||||||
summary?.ai_loop_current_blocker_harbor_recovery_receipt_output_ids ??
|
summary?.ai_loop_current_blocker_harbor_recovery_receipt_output_ids ??
|
||||||
evidence?.ai_loop_current_blocker_harbor_recovery_receipt_output_ids ??
|
evidence?.ai_loop_current_blocker_harbor_recovery_receipt_output_ids ??
|
||||||
[];
|
[];
|
||||||
|
const queueNormalizerFieldIds =
|
||||||
|
summary?.ai_loop_current_blocker_queue_readback_normalizer_field_ids ??
|
||||||
|
evidence?.ai_loop_current_blocker_queue_readback_normalizer_field_ids ??
|
||||||
|
[];
|
||||||
const labelMap: Record<string, string> = {
|
const labelMap: Record<string, string> = {
|
||||||
project_id: t("tagLabels.projectId"),
|
project_id: t("tagLabels.projectId"),
|
||||||
product: t("tagLabels.product"),
|
product: t("tagLabels.product"),
|
||||||
@@ -7829,6 +7836,14 @@ function AiLoopLogSourceTagsPanel({
|
|||||||
label: t("metrics.contract"),
|
label: t("metrics.contract"),
|
||||||
value: summary?.ai_loop_log_source_tagging_contract_count ?? contracts.length,
|
value: summary?.ai_loop_log_source_tagging_contract_count ?? contracts.length,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: "queue",
|
||||||
|
icon: SearchCheck,
|
||||||
|
label: t("metrics.queue"),
|
||||||
|
value:
|
||||||
|
summary?.ai_loop_current_blocker_queue_readback_normalizer_contract_count ??
|
||||||
|
queueNormalizerFieldIds.length,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
const receiptMetrics = [
|
const receiptMetrics = [
|
||||||
{
|
{
|
||||||
@@ -7870,7 +7885,7 @@ function AiLoopLogSourceTagsPanel({
|
|||||||
<p className="mt-3 text-xs leading-5 text-[#77736a]">
|
<p className="mt-3 text-xs leading-5 text-[#77736a]">
|
||||||
{t("subtitle")}
|
{t("subtitle")}
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-4 grid gap-px border border-[#e0ddd4] bg-[#e0ddd4] sm:grid-cols-3">
|
<div className="mt-4 grid gap-px border border-[#e0ddd4] bg-[#e0ddd4] sm:grid-cols-2 xl:grid-cols-4">
|
||||||
{metrics.map((metric) => {
|
{metrics.map((metric) => {
|
||||||
const Icon = metric.icon;
|
const Icon = metric.icon;
|
||||||
return (
|
return (
|
||||||
@@ -7893,6 +7908,21 @@ function AiLoopLogSourceTagsPanel({
|
|||||||
value: summary?.ai_loop_current_blocker_id ?? "--",
|
value: summary?.ai_loop_current_blocker_id ?? "--",
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-3 border border-[#d8d3c7] bg-white px-3 py-2">
|
||||||
|
<div className="text-[11px] font-semibold text-[#77736a]">
|
||||||
|
{t("queueFields")}
|
||||||
|
</div>
|
||||||
|
<div className="mt-2 flex flex-wrap gap-1.5">
|
||||||
|
{queueNormalizerFieldIds.slice(0, 7).map((id) => (
|
||||||
|
<span
|
||||||
|
key={id}
|
||||||
|
className="max-w-full break-all border border-[#c9d8ea] bg-[#eef5ff] px-2 py-0.5 font-mono text-[10px] text-[#1f5b9b]"
|
||||||
|
>
|
||||||
|
{id}
|
||||||
|
</span>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div className="mt-3 grid gap-2">
|
<div className="mt-3 grid gap-2">
|
||||||
{receiptMetrics.map((metric) => (
|
{receiptMetrics.map((metric) => (
|
||||||
<div
|
<div
|
||||||
|
|||||||
Reference in New Issue
Block a user