@burdenoff/microfe-assethandler 2026.713.2 → 2026.714.2

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.
Files changed (34) hide show
  1. package/dist/assethandler/components/AttachmentsPanel.d.ts.map +1 -1
  2. package/dist/assethandler/components/AttachmentsPanel.js.map +1 -1
  3. package/dist/assethandler/hooks/useCopy.d.ts +28 -0
  4. package/dist/assethandler/hooks/useCopy.d.ts.map +1 -0
  5. package/dist/assethandler/hooks/useCopy.js +33 -0
  6. package/dist/assethandler/hooks/useCopy.js.map +1 -0
  7. package/dist/assethandler/index.d.ts +1 -1
  8. package/dist/assethandler/index.d.ts.map +1 -1
  9. package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -1
  10. package/dist/assethandler/pages/AnalyticsPage.js +259 -258
  11. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -1
  12. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -1
  13. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +1 -2
  14. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -1
  15. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -1
  16. package/dist/assethandler/pages/AssetsAssetDetailPage.js +376 -365
  17. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -1
  18. package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -1
  19. package/dist/assethandler/pages/AssetsAssetListPage.js +47 -48
  20. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -1
  21. package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -1
  22. package/dist/assethandler/pages/DashboardPage.js +236 -236
  23. package/dist/assethandler/pages/DashboardPage.js.map +1 -1
  24. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -1
  25. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +126 -125
  26. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -1
  27. package/dist/assethandler/pages/TransactionsTransactionListPage.js +127 -127
  28. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -1
  29. package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -1
  30. package/dist/assethandler/store/assethandlerStore.js.map +1 -1
  31. package/dist/assethandler/types/index.d.ts +20 -0
  32. package/dist/assethandler/types/index.d.ts.map +1 -1
  33. package/dist/types/assistant.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"assethandlerStore.js","names":[],"sources":["../../../src/assethandler/store/assethandlerStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// View-model types — aligned 1:1 with wspace-assethandler-svc GraphQL schema.\n// Backend enum values (UPPER_CASE) are lowercased once during hydration so the\n// UI can render them directly. No field in this store is invented client-side;\n// everything is hydrated from the bootstrap query in AssetHandlerProvider.\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ─── Asset Types ──────────────────────────────────────────────────\nexport type AssetStatus = 'active' | 'inactive' | 'maintenance' | 'retired' | 'disposed';\nexport type AssetCondition = 'excellent' | 'good' | 'fair' | 'poor' | 'damaged';\nexport type DepreciationMethod = 'straight_line' | 'reducing_balance' | 'none';\n\nexport interface Asset {\n id: string;\n name: string;\n description: string;\n category: string;\n status: AssetStatus;\n condition: AssetCondition;\n serialNumber: string;\n assetTag: string;\n location: string;\n assignedTo: string;\n tags: string[];\n createdAt: string;\n updatedAt: string;\n // ─── Financial / depreciation (backend-computed where noted) ───\n purchaseValue?: number;\n purchaseDate?: string;\n usefulLifeMonths?: number;\n salvageValue?: number;\n depreciationMethod?: DepreciationMethod;\n department?: string;\n warrantyExpiry?: string;\n supplier?: string;\n disposalDate?: string;\n disposalMethod?: string;\n disposalNotes?: string;\n /** Computed book value (floored at salvage); undefined if no purchaseValue. */\n currentValue?: number;\n /** Computed accumulated depreciation. */\n accumulatedDepreciation?: number;\n /** Computed = purchaseValue + maintenance actualCost + work-order cost. */\n totalCostOfOwnership?: number;\n}\n\n// ─── ITIL Types ───────────────────────────────────────────────────\nexport type IncidentPriority = 'critical' | 'high' | 'medium' | 'low';\nexport type IncidentStatus = 'open' | 'in_progress' | 'resolved' | 'closed';\nexport type ChangeStatus =\n 'draft' | 'submitted' | 'approved' | 'in_progress' | 'completed' | 'rejected';\nexport type ChangeRisk = 'low' | 'medium' | 'high' | 'critical';\nexport type ProblemStatus = 'open' | 'investigating' | 'known_error' | 'resolved' | 'closed';\n\nexport interface Incident {\n id: string;\n title: string;\n description: string;\n category: string;\n priority: IncidentPriority;\n status: IncidentStatus;\n assignedTo: string;\n reportedBy: string;\n createdAt: string;\n resolvedAt?: string;\n resolution?: string;\n slaBreached: boolean;\n}\n\nexport interface ChangeRequest {\n id: string;\n title: string;\n description: string;\n type: string;\n status: ChangeStatus;\n risk: ChangeRisk;\n requestedBy: string;\n assignedTo: string;\n affectedAssets: string[];\n scheduledStart: string;\n scheduledEnd: string;\n createdAt: string;\n approvals: { name: string; status: string; date: string }[];\n}\n\nexport interface Problem {\n id: string;\n title: string;\n description: string;\n status: ProblemStatus;\n priority: IncidentPriority;\n category: string;\n assignedTo: string;\n relatedIncidents: string[];\n rootCause?: string;\n workaround?: string;\n resolution?: string;\n createdAt: string;\n updatedAt: string;\n}\n\n// ─── Finance Types ────────────────────────────────────────────────\nexport type TransactionType = 'purchase' | 'lease' | 'disposal' | 'transfer' | 'maintenance';\nexport type TransactionStatus = 'pending' | 'approved' | 'completed' | 'rejected';\n\nexport interface FinanceTransaction {\n id: string;\n type: TransactionType;\n amount: number;\n currency: string;\n description: string;\n category: string;\n date: string;\n status: TransactionStatus;\n vendor?: string;\n department: string;\n}\n\nexport interface Budget {\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: 'on_track' | 'over_budget' | 'under_budget';\n}\n\nexport interface Invoice {\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: 'draft' | 'sent' | 'paid' | 'overdue' | 'cancelled';\n items: { description: string; qty: number; unitPrice: number; total: number }[];\n relatedPO?: string;\n paidAt?: string;\n}\n\n// ─── Maintenance Types ────────────────────────────────────────────\nexport type MaintenancePriority = 'critical' | 'high' | 'medium' | 'low';\n\nexport interface MaintenanceRecord {\n id: string;\n assetId: string;\n type: string;\n priority: MaintenancePriority;\n status: string;\n title: string;\n description: string;\n scheduledDate?: string;\n completedDate?: string;\n estimatedCost?: number;\n actualCost?: number;\n checklist: { task: string; completed: boolean }[];\n}\n\n// ─── Security Types ───────────────────────────────────────────────\nexport interface SecurityEvent {\n id: string;\n type: string;\n severity: 'critical' | 'high' | 'medium' | 'low' | 'info';\n title: string;\n description: string;\n source: string;\n userId?: string;\n ipAddress?: string;\n timestamp: string;\n resolved: boolean;\n}\n\nexport interface ComplianceFramework {\n id: string;\n name: string;\n version: string;\n status: 'compliant' | 'non_compliant' | 'partial' | 'under_review';\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n lastAssessedAt?: string;\n}\n\nexport interface SecurityPolicy {\n id: string;\n name: string;\n description: string;\n category: string;\n status: 'active' | 'draft' | 'deprecated' | 'under_review';\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n}\n\n// ─── Operations Types ─────────────────────────────────────────────\nexport interface WorkOrder {\n id: string;\n title: string;\n description: string;\n priority: 'critical' | 'high' | 'medium' | 'low';\n status: 'draft' | 'scheduled' | 'approved' | 'in_progress' | 'completed' | 'cancelled';\n assignedTo: string;\n assetId: string;\n type: string;\n createdAt: string;\n completedAt?: string;\n}\n\n// ─── Dashboard Types ──────────────────────────────────────────────\nexport interface DashboardOverview {\n totalAssets: number;\n openIncidents: number;\n openWorkOrders: number;\n totalTransactions: number;\n}\n\n// ─── Bootstrap payload (raw backend shapes) ───────────────────────\nexport interface AssetHandlerBootstrapPayload {\n dashboardOverview?: {\n totalAssets?: number;\n openIncidents?: number;\n openWorkOrders?: number;\n totalTransactions?: number;\n } | null;\n assets?: Array<{\n id: string;\n assetNumber: string;\n name: string;\n description?: string | null;\n category: string;\n status: string;\n condition: string;\n serialNumber?: string | null;\n locationName?: string | null;\n assignedTo?: string | null;\n tags?: string[];\n createdAt?: string;\n updatedAt?: string;\n purchaseValue?: number | null;\n purchaseDate?: string | null;\n usefulLifeMonths?: number | null;\n salvageValue?: number | null;\n depreciationMethod?: string | null;\n department?: string | null;\n warrantyExpiry?: string | null;\n supplier?: string | null;\n disposalDate?: string | null;\n disposalMethod?: string | null;\n disposalNotes?: string | null;\n currentValue?: number | null;\n accumulatedDepreciation?: number | null;\n totalCostOfOwnership?: number | null;\n }> | null;\n incidents?: Array<{\n id: string;\n title: string;\n description: string;\n category: string;\n priority: string;\n status: string;\n assignedTo?: string | null;\n reportedBy: string;\n reportedAt: string;\n resolvedAt?: string | null;\n resolution?: string | null;\n slaBreached: boolean;\n }> | null;\n workOrders?: Array<{\n id: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n assetId?: string | null;\n assignedTo?: string | null;\n createdAt: string;\n completedAt?: string | null;\n }> | null;\n maintenanceRecords?: Array<{\n id: string;\n assetId: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n scheduledAt?: string | null;\n completedAt?: string | null;\n estimatedCost?: number | null;\n actualCost?: number | null;\n checklist?: Array<Record<string, unknown>>;\n }> | null;\n transactions?: Array<{\n id: string;\n type: string;\n status: string;\n amount: number;\n currency: string;\n category: string;\n description: string;\n vendor?: string | null;\n department?: string | null;\n occurredAt: string;\n }> | null;\n changeRequests?: Array<{\n id: string;\n title: string;\n description: string;\n type: string;\n status: string;\n risk: string;\n requestedBy: string;\n assignedTo?: string | null;\n affectedAssets: string[];\n scheduledStart?: string | null;\n scheduledEnd?: string | null;\n approvals?: Array<{ name?: string; status?: string; date?: string }>;\n createdAt: string;\n }> | null;\n problems?: Array<{\n id: string;\n title: string;\n description: string;\n status: string;\n priority: string;\n category: string;\n assignedTo?: string | null;\n relatedIncidents: string[];\n rootCause?: string | null;\n workaround?: string | null;\n resolution?: string | null;\n createdAt: string;\n updatedAt: string;\n }> | null;\n budgets?: Array<{\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: string;\n }> | null;\n invoices?: Array<{\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: string;\n items?: Array<{ description?: string; qty?: number; unitPrice?: number; total?: number }>;\n relatedPO?: string | null;\n paidAt?: string | null;\n }> | null;\n securityEvents?: {\n items: Array<{\n id: string;\n eventType: string;\n severity: string;\n title: string;\n description?: string | null;\n source?: string | null;\n userId?: string | null;\n ipAddress?: string | null;\n occurredAt: string;\n resolved: boolean;\n }>;\n } | null;\n complianceFrameworks?: {\n items: Array<{\n id: string;\n name: string;\n version: string;\n status: string;\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n lastAssessedAt?: string | null;\n }>;\n } | null;\n securityPolicies?: {\n items: Array<{\n id: string;\n name: string;\n description?: string | null;\n category: string;\n status: string;\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n }>;\n } | null;\n}\n\ninterface AssetHandlerState {\n /** True once the bootstrap query has hydrated the store at least once. */\n hydrated: boolean;\n\n // Domain data — always sourced from the backend, never seeded locally.\n overview: DashboardOverview | null;\n assets: Asset[];\n incidents: Incident[];\n changeRequests: ChangeRequest[];\n problems: Problem[];\n transactions: FinanceTransaction[];\n budgets: Budget[];\n invoices: Invoice[];\n maintenanceRecords: MaintenanceRecord[];\n securityEvents: SecurityEvent[];\n complianceFrameworks: ComplianceFramework[];\n securityPolicies: SecurityPolicy[];\n workOrders: WorkOrder[];\n\n hydrateFromBootstrap: (payload: AssetHandlerBootstrapPayload) => void;\n\n /**\n * Imperative refetch of the bootstrap query, registered by the provider's\n * hydrator. Pages that mutate domain data can call `refetchBootstrap()` to\n * pull fresh store data. Prefer Apollo `refetchQueries: ['AssetHandlerBootstrap']`\n * on the mutation itself; use this for cross-component imperative refresh.\n */\n bootstrapRefetch: (() => void) | null;\n setBootstrapRefetch: (refetch: (() => void) | null) => void;\n refetchBootstrap: () => void;\n}\n\nexport const useAssetHandlerStore = create<AssetHandlerState>((set, get) => ({\n hydrated: false,\n\n bootstrapRefetch: null,\n setBootstrapRefetch: (refetch) => set({ bootstrapRefetch: refetch }),\n refetchBootstrap: () => {\n get().bootstrapRefetch?.();\n },\n\n overview: null,\n assets: [],\n incidents: [],\n changeRequests: [],\n problems: [],\n transactions: [],\n budgets: [],\n invoices: [],\n maintenanceRecords: [],\n securityEvents: [],\n complianceFrameworks: [],\n securityPolicies: [],\n workOrders: [],\n\n hydrateFromBootstrap: (payload) =>\n set(() => {\n const assets: Asset[] = (payload.assets ?? []).map((asset) => ({\n id: asset.id,\n name: asset.name,\n description: asset.description ?? '',\n category: asset.category.toLowerCase(),\n status: asset.status.toLowerCase() as AssetStatus,\n condition: asset.condition.toLowerCase() as AssetCondition,\n serialNumber: asset.serialNumber ?? '',\n assetTag: asset.assetNumber,\n location: asset.locationName ?? '',\n assignedTo: asset.assignedTo ?? '',\n tags: asset.tags ?? [],\n createdAt: asset.createdAt ?? '',\n updatedAt: asset.updatedAt ?? '',\n purchaseValue: asset.purchaseValue ?? undefined,\n purchaseDate: asset.purchaseDate ?? undefined,\n usefulLifeMonths: asset.usefulLifeMonths ?? undefined,\n salvageValue: asset.salvageValue ?? undefined,\n depreciationMethod: asset.depreciationMethod\n ? (asset.depreciationMethod.toLowerCase() as DepreciationMethod)\n : undefined,\n department: asset.department ?? undefined,\n warrantyExpiry: asset.warrantyExpiry ?? undefined,\n supplier: asset.supplier ?? undefined,\n disposalDate: asset.disposalDate ?? undefined,\n disposalMethod: asset.disposalMethod ?? undefined,\n disposalNotes: asset.disposalNotes ?? undefined,\n currentValue: asset.currentValue ?? undefined,\n accumulatedDepreciation: asset.accumulatedDepreciation ?? undefined,\n totalCostOfOwnership: asset.totalCostOfOwnership ?? undefined,\n }));\n\n const incidents: Incident[] = (payload.incidents ?? []).map((incident) => ({\n id: incident.id,\n title: incident.title,\n description: incident.description,\n category: incident.category,\n priority: incident.priority.toLowerCase() as IncidentPriority,\n status: incident.status.toLowerCase() as IncidentStatus,\n assignedTo: incident.assignedTo ?? '',\n reportedBy: incident.reportedBy,\n createdAt: incident.reportedAt,\n resolvedAt: incident.resolvedAt ?? undefined,\n resolution: incident.resolution ?? undefined,\n slaBreached: incident.slaBreached,\n }));\n\n const workOrders: WorkOrder[] = (payload.workOrders ?? []).map((workOrder) => ({\n id: workOrder.id,\n title: workOrder.title,\n description: workOrder.description ?? '',\n assetId: workOrder.assetId ?? '',\n priority: workOrder.priority.toLowerCase() as WorkOrder['priority'],\n status: workOrder.status.toLowerCase() as WorkOrder['status'],\n assignedTo: workOrder.assignedTo ?? '',\n createdAt: workOrder.createdAt,\n completedAt: workOrder.completedAt ?? undefined,\n type: workOrder.type.toLowerCase(),\n }));\n\n const maintenanceRecords: MaintenanceRecord[] = (payload.maintenanceRecords ?? []).map(\n (record) => ({\n id: record.id,\n assetId: record.assetId,\n type: record.type.toLowerCase(),\n priority: record.priority.toLowerCase() as MaintenancePriority,\n status: record.status.toLowerCase(),\n title: record.title,\n description: record.description ?? '',\n scheduledDate: record.scheduledAt ?? undefined,\n completedDate: record.completedAt ?? undefined,\n estimatedCost: record.estimatedCost ?? undefined,\n actualCost: record.actualCost ?? undefined,\n checklist: (record.checklist ?? []).map((item) => ({\n task: String(item.task ?? 'Task'),\n completed: Boolean(item.completed ?? false),\n })),\n })\n );\n\n const transactions: FinanceTransaction[] = (payload.transactions ?? []).map((tx) => ({\n id: tx.id,\n type: tx.type.toLowerCase() as TransactionType,\n amount: tx.amount,\n currency: tx.currency,\n description: tx.description,\n category: tx.category,\n date: tx.occurredAt,\n status: tx.status.toLowerCase() as TransactionStatus,\n vendor: tx.vendor ?? undefined,\n department: tx.department ?? '',\n }));\n\n const changeRequests: ChangeRequest[] = (payload.changeRequests ?? []).map((change) => ({\n id: change.id,\n title: change.title,\n description: change.description,\n type: change.type.toLowerCase(),\n status: change.status.toLowerCase() as ChangeStatus,\n risk: change.risk.toLowerCase() as ChangeRisk,\n requestedBy: change.requestedBy,\n assignedTo: change.assignedTo ?? '',\n affectedAssets: change.affectedAssets,\n scheduledStart: change.scheduledStart ?? '',\n scheduledEnd: change.scheduledEnd ?? '',\n createdAt: change.createdAt,\n approvals: (change.approvals ?? []).map((approval) => ({\n name: approval.name ?? 'Approver',\n status: approval.status ?? 'pending',\n date: approval.date ?? change.createdAt,\n })),\n }));\n\n const problems: Problem[] = (payload.problems ?? []).map((problem) => ({\n id: problem.id,\n title: problem.title,\n description: problem.description,\n status: problem.status.toLowerCase() as ProblemStatus,\n priority: problem.priority.toLowerCase() as IncidentPriority,\n category: problem.category,\n assignedTo: problem.assignedTo ?? '',\n relatedIncidents: problem.relatedIncidents,\n rootCause: problem.rootCause ?? undefined,\n workaround: problem.workaround ?? undefined,\n resolution: problem.resolution ?? undefined,\n createdAt: problem.createdAt,\n updatedAt: problem.updatedAt,\n }));\n\n const budgets: Budget[] = (payload.budgets ?? []).map((budget) => ({\n id: budget.id,\n name: budget.name,\n category: budget.category,\n allocated: budget.allocated,\n spent: budget.spent,\n remaining: budget.remaining,\n period: budget.period,\n department: budget.department,\n status: budget.status.toLowerCase() as Budget['status'],\n }));\n\n const invoices: Invoice[] = (payload.invoices ?? []).map((invoice) => ({\n id: invoice.id,\n number: invoice.number,\n vendor: invoice.vendor,\n amount: invoice.amount,\n currency: invoice.currency,\n issueDate: invoice.issueDate,\n dueDate: invoice.dueDate,\n status: invoice.status.toLowerCase() as Invoice['status'],\n items: (invoice.items ?? []).map((item) => ({\n description: item.description ?? 'Line item',\n qty: item.qty ?? 1,\n unitPrice: item.unitPrice ?? item.total ?? 0,\n total: item.total ?? item.unitPrice ?? 0,\n })),\n relatedPO: invoice.relatedPO ?? undefined,\n paidAt: invoice.paidAt ?? undefined,\n }));\n\n const securityEvents: SecurityEvent[] = (payload.securityEvents?.items ?? []).map(\n (event) => ({\n id: event.id,\n type: event.eventType,\n severity: event.severity.toLowerCase() as SecurityEvent['severity'],\n title: event.title,\n description: event.description ?? '',\n source: event.source ?? 'security',\n userId: event.userId ?? undefined,\n ipAddress: event.ipAddress ?? undefined,\n timestamp: event.occurredAt,\n resolved: event.resolved,\n })\n );\n\n const complianceFrameworks: ComplianceFramework[] = (\n payload.complianceFrameworks?.items ?? []\n ).map((framework) => ({\n id: framework.id,\n name: framework.name,\n version: framework.version,\n status: framework.status.toLowerCase() as ComplianceFramework['status'],\n score: framework.score,\n totalControls: framework.totalControls,\n passedControls: framework.passedControls,\n failedControls: framework.failedControls,\n lastAssessment: framework.lastAssessment,\n nextAssessment: framework.nextAssessment,\n lastAssessedAt: framework.lastAssessedAt ?? undefined,\n }));\n\n const securityPolicies: SecurityPolicy[] = (payload.securityPolicies?.items ?? []).map(\n (policy) => ({\n id: policy.id,\n name: policy.name,\n description: policy.description ?? '',\n category: policy.category,\n status: policy.status.toLowerCase() as SecurityPolicy['status'],\n version: policy.version,\n effectiveDate: policy.effectiveDate,\n reviewDate: policy.reviewDate,\n owner: policy.owner,\n applicableTo: policy.applicableTo,\n })\n );\n\n const overview: DashboardOverview | null = payload.dashboardOverview\n ? {\n totalAssets: payload.dashboardOverview.totalAssets ?? assets.length,\n openIncidents: payload.dashboardOverview.openIncidents ?? 0,\n openWorkOrders: payload.dashboardOverview.openWorkOrders ?? 0,\n totalTransactions: payload.dashboardOverview.totalTransactions ?? 0,\n }\n : null;\n\n return {\n hydrated: true,\n overview,\n assets,\n incidents,\n changeRequests,\n problems,\n workOrders,\n maintenanceRecords,\n transactions,\n budgets,\n invoices,\n securityEvents,\n complianceFrameworks,\n securityPolicies,\n };\n }),\n}));\n"],"mappings":"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"}
1
+ {"version":3,"file":"assethandlerStore.js","names":[],"sources":["../../../src/assethandler/store/assethandlerStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// View-model types — aligned 1:1 with wspace-assethandler-svc GraphQL schema.\n// Backend enum values (UPPER_CASE) are lowercased once during hydration so the\n// UI can render them directly. No field in this store is invented client-side;\n// everything is hydrated from the bootstrap query in AssetHandlerProvider.\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ─── Asset Types ──────────────────────────────────────────────────\nexport type AssetStatus = 'active' | 'inactive' | 'maintenance' | 'retired' | 'disposed';\nexport type AssetCondition = 'excellent' | 'good' | 'fair' | 'poor' | 'damaged';\nexport type DepreciationMethod = 'straight_line' | 'reducing_balance' | 'none';\n\nexport interface Asset {\n id: string;\n name: string;\n description: string;\n category: string;\n status: AssetStatus;\n condition: AssetCondition;\n serialNumber: string;\n assetTag: string;\n location: string;\n assignedTo: string;\n tags: string[];\n createdAt: string;\n updatedAt: string;\n // ─── Financial / depreciation (backend-computed where noted) ───\n purchaseValue?: number;\n purchaseDate?: string;\n usefulLifeMonths?: number;\n salvageValue?: number;\n depreciationMethod?: DepreciationMethod;\n department?: string;\n warrantyExpiry?: string;\n supplier?: string;\n disposalDate?: string;\n disposalMethod?: string;\n disposalNotes?: string;\n /** Computed book value (floored at salvage); undefined if no purchaseValue. */\n currentValue?: number;\n /** Computed accumulated depreciation. */\n accumulatedDepreciation?: number;\n /** Computed = purchaseValue + maintenance actualCost + work-order cost. */\n totalCostOfOwnership?: number;\n}\n\n// ─── ITIL Types ───────────────────────────────────────────────────\nexport type IncidentPriority = 'critical' | 'high' | 'medium' | 'low';\nexport type IncidentStatus = 'open' | 'in_progress' | 'resolved' | 'closed';\nexport type ChangeStatus =\n | 'draft'\n | 'submitted'\n | 'approved'\n | 'in_progress'\n | 'completed'\n | 'rejected';\nexport type ChangeRisk = 'low' | 'medium' | 'high' | 'critical';\nexport type ProblemStatus = 'open' | 'investigating' | 'known_error' | 'resolved' | 'closed';\n\nexport interface Incident {\n id: string;\n title: string;\n description: string;\n category: string;\n priority: IncidentPriority;\n status: IncidentStatus;\n assignedTo: string;\n reportedBy: string;\n createdAt: string;\n resolvedAt?: string;\n resolution?: string;\n slaBreached: boolean;\n}\n\nexport interface ChangeRequest {\n id: string;\n title: string;\n description: string;\n type: string;\n status: ChangeStatus;\n risk: ChangeRisk;\n requestedBy: string;\n assignedTo: string;\n affectedAssets: string[];\n scheduledStart: string;\n scheduledEnd: string;\n createdAt: string;\n approvals: { name: string; status: string; date: string }[];\n}\n\nexport interface Problem {\n id: string;\n title: string;\n description: string;\n status: ProblemStatus;\n priority: IncidentPriority;\n category: string;\n assignedTo: string;\n relatedIncidents: string[];\n rootCause?: string;\n workaround?: string;\n resolution?: string;\n createdAt: string;\n updatedAt: string;\n}\n\n// ─── Finance Types ────────────────────────────────────────────────\nexport type TransactionType = 'purchase' | 'lease' | 'disposal' | 'transfer' | 'maintenance';\nexport type TransactionStatus = 'pending' | 'approved' | 'completed' | 'rejected';\n\nexport interface FinanceTransaction {\n id: string;\n type: TransactionType;\n amount: number;\n currency: string;\n description: string;\n category: string;\n date: string;\n status: TransactionStatus;\n vendor?: string;\n department: string;\n}\n\nexport interface Budget {\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: 'on_track' | 'over_budget' | 'under_budget';\n}\n\nexport interface Invoice {\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: 'draft' | 'sent' | 'paid' | 'overdue' | 'cancelled';\n items: { description: string; qty: number; unitPrice: number; total: number }[];\n relatedPO?: string;\n paidAt?: string;\n}\n\n// ─── Maintenance Types ────────────────────────────────────────────\nexport type MaintenancePriority = 'critical' | 'high' | 'medium' | 'low';\n\nexport interface MaintenanceRecord {\n id: string;\n assetId: string;\n type: string;\n priority: MaintenancePriority;\n status: string;\n title: string;\n description: string;\n scheduledDate?: string;\n completedDate?: string;\n estimatedCost?: number;\n actualCost?: number;\n checklist: { task: string; completed: boolean }[];\n}\n\n// ─── Security Types ───────────────────────────────────────────────\nexport interface SecurityEvent {\n id: string;\n type: string;\n severity: 'critical' | 'high' | 'medium' | 'low' | 'info';\n title: string;\n description: string;\n source: string;\n userId?: string;\n ipAddress?: string;\n timestamp: string;\n resolved: boolean;\n}\n\nexport interface ComplianceFramework {\n id: string;\n name: string;\n version: string;\n status: 'compliant' | 'non_compliant' | 'partial' | 'under_review';\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n lastAssessedAt?: string;\n}\n\nexport interface SecurityPolicy {\n id: string;\n name: string;\n description: string;\n category: string;\n status: 'active' | 'draft' | 'deprecated' | 'under_review';\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n}\n\n// ─── Operations Types ─────────────────────────────────────────────\nexport interface WorkOrder {\n id: string;\n title: string;\n description: string;\n priority: 'critical' | 'high' | 'medium' | 'low';\n status: 'draft' | 'scheduled' | 'approved' | 'in_progress' | 'completed' | 'cancelled';\n assignedTo: string;\n assetId: string;\n type: string;\n createdAt: string;\n completedAt?: string;\n}\n\n// ─── Dashboard Types ──────────────────────────────────────────────\nexport interface DashboardOverview {\n totalAssets: number;\n openIncidents: number;\n openWorkOrders: number;\n totalTransactions: number;\n}\n\n// ─── Bootstrap payload (raw backend shapes) ───────────────────────\nexport interface AssetHandlerBootstrapPayload {\n dashboardOverview?: {\n totalAssets?: number;\n openIncidents?: number;\n openWorkOrders?: number;\n totalTransactions?: number;\n } | null;\n assets?: Array<{\n id: string;\n assetNumber: string;\n name: string;\n description?: string | null;\n category: string;\n status: string;\n condition: string;\n serialNumber?: string | null;\n locationName?: string | null;\n assignedTo?: string | null;\n tags?: string[];\n createdAt?: string;\n updatedAt?: string;\n purchaseValue?: number | null;\n purchaseDate?: string | null;\n usefulLifeMonths?: number | null;\n salvageValue?: number | null;\n depreciationMethod?: string | null;\n department?: string | null;\n warrantyExpiry?: string | null;\n supplier?: string | null;\n disposalDate?: string | null;\n disposalMethod?: string | null;\n disposalNotes?: string | null;\n currentValue?: number | null;\n accumulatedDepreciation?: number | null;\n totalCostOfOwnership?: number | null;\n }> | null;\n incidents?: Array<{\n id: string;\n title: string;\n description: string;\n category: string;\n priority: string;\n status: string;\n assignedTo?: string | null;\n reportedBy: string;\n reportedAt: string;\n resolvedAt?: string | null;\n resolution?: string | null;\n slaBreached: boolean;\n }> | null;\n workOrders?: Array<{\n id: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n assetId?: string | null;\n assignedTo?: string | null;\n createdAt: string;\n completedAt?: string | null;\n }> | null;\n maintenanceRecords?: Array<{\n id: string;\n assetId: string;\n title: string;\n description?: string | null;\n type: string;\n status: string;\n priority: string;\n scheduledAt?: string | null;\n completedAt?: string | null;\n estimatedCost?: number | null;\n actualCost?: number | null;\n checklist?: Array<Record<string, unknown>>;\n }> | null;\n transactions?: Array<{\n id: string;\n type: string;\n status: string;\n amount: number;\n currency: string;\n category: string;\n description: string;\n vendor?: string | null;\n department?: string | null;\n occurredAt: string;\n }> | null;\n changeRequests?: Array<{\n id: string;\n title: string;\n description: string;\n type: string;\n status: string;\n risk: string;\n requestedBy: string;\n assignedTo?: string | null;\n affectedAssets: string[];\n scheduledStart?: string | null;\n scheduledEnd?: string | null;\n approvals?: Array<{ name?: string; status?: string; date?: string }>;\n createdAt: string;\n }> | null;\n problems?: Array<{\n id: string;\n title: string;\n description: string;\n status: string;\n priority: string;\n category: string;\n assignedTo?: string | null;\n relatedIncidents: string[];\n rootCause?: string | null;\n workaround?: string | null;\n resolution?: string | null;\n createdAt: string;\n updatedAt: string;\n }> | null;\n budgets?: Array<{\n id: string;\n name: string;\n category: string;\n allocated: number;\n spent: number;\n remaining: number;\n period: string;\n department: string;\n status: string;\n }> | null;\n invoices?: Array<{\n id: string;\n number: string;\n vendor: string;\n amount: number;\n currency: string;\n issueDate: string;\n dueDate: string;\n status: string;\n items?: Array<{ description?: string; qty?: number; unitPrice?: number; total?: number }>;\n relatedPO?: string | null;\n paidAt?: string | null;\n }> | null;\n securityEvents?: {\n items: Array<{\n id: string;\n eventType: string;\n severity: string;\n title: string;\n description?: string | null;\n source?: string | null;\n userId?: string | null;\n ipAddress?: string | null;\n occurredAt: string;\n resolved: boolean;\n }>;\n } | null;\n complianceFrameworks?: {\n items: Array<{\n id: string;\n name: string;\n version: string;\n status: string;\n score: number;\n totalControls: number;\n passedControls: number;\n failedControls: number;\n lastAssessment: string;\n nextAssessment: string;\n lastAssessedAt?: string | null;\n }>;\n } | null;\n securityPolicies?: {\n items: Array<{\n id: string;\n name: string;\n description?: string | null;\n category: string;\n status: string;\n version: string;\n effectiveDate: string;\n reviewDate: string;\n owner: string;\n applicableTo: string[];\n }>;\n } | null;\n}\n\ninterface AssetHandlerState {\n /** True once the bootstrap query has hydrated the store at least once. */\n hydrated: boolean;\n\n // Domain data — always sourced from the backend, never seeded locally.\n overview: DashboardOverview | null;\n assets: Asset[];\n incidents: Incident[];\n changeRequests: ChangeRequest[];\n problems: Problem[];\n transactions: FinanceTransaction[];\n budgets: Budget[];\n invoices: Invoice[];\n maintenanceRecords: MaintenanceRecord[];\n securityEvents: SecurityEvent[];\n complianceFrameworks: ComplianceFramework[];\n securityPolicies: SecurityPolicy[];\n workOrders: WorkOrder[];\n\n hydrateFromBootstrap: (payload: AssetHandlerBootstrapPayload) => void;\n\n /**\n * Imperative refetch of the bootstrap query, registered by the provider's\n * hydrator. Pages that mutate domain data can call `refetchBootstrap()` to\n * pull fresh store data. Prefer Apollo `refetchQueries: ['AssetHandlerBootstrap']`\n * on the mutation itself; use this for cross-component imperative refresh.\n */\n bootstrapRefetch: (() => void) | null;\n setBootstrapRefetch: (refetch: (() => void) | null) => void;\n refetchBootstrap: () => void;\n}\n\nexport const useAssetHandlerStore = create<AssetHandlerState>((set, get) => ({\n hydrated: false,\n\n bootstrapRefetch: null,\n setBootstrapRefetch: (refetch) => set({ bootstrapRefetch: refetch }),\n refetchBootstrap: () => {\n get().bootstrapRefetch?.();\n },\n\n overview: null,\n assets: [],\n incidents: [],\n changeRequests: [],\n problems: [],\n transactions: [],\n budgets: [],\n invoices: [],\n maintenanceRecords: [],\n securityEvents: [],\n complianceFrameworks: [],\n securityPolicies: [],\n workOrders: [],\n\n hydrateFromBootstrap: (payload) =>\n set(() => {\n const assets: Asset[] = (payload.assets ?? []).map((asset) => ({\n id: asset.id,\n name: asset.name,\n description: asset.description ?? '',\n category: asset.category.toLowerCase(),\n status: asset.status.toLowerCase() as AssetStatus,\n condition: asset.condition.toLowerCase() as AssetCondition,\n serialNumber: asset.serialNumber ?? '',\n assetTag: asset.assetNumber,\n location: asset.locationName ?? '',\n assignedTo: asset.assignedTo ?? '',\n tags: asset.tags ?? [],\n createdAt: asset.createdAt ?? '',\n updatedAt: asset.updatedAt ?? '',\n purchaseValue: asset.purchaseValue ?? undefined,\n purchaseDate: asset.purchaseDate ?? undefined,\n usefulLifeMonths: asset.usefulLifeMonths ?? undefined,\n salvageValue: asset.salvageValue ?? undefined,\n depreciationMethod: asset.depreciationMethod\n ? (asset.depreciationMethod.toLowerCase() as DepreciationMethod)\n : undefined,\n department: asset.department ?? undefined,\n warrantyExpiry: asset.warrantyExpiry ?? undefined,\n supplier: asset.supplier ?? undefined,\n disposalDate: asset.disposalDate ?? undefined,\n disposalMethod: asset.disposalMethod ?? undefined,\n disposalNotes: asset.disposalNotes ?? undefined,\n currentValue: asset.currentValue ?? undefined,\n accumulatedDepreciation: asset.accumulatedDepreciation ?? undefined,\n totalCostOfOwnership: asset.totalCostOfOwnership ?? undefined,\n }));\n\n const incidents: Incident[] = (payload.incidents ?? []).map((incident) => ({\n id: incident.id,\n title: incident.title,\n description: incident.description,\n category: incident.category,\n priority: incident.priority.toLowerCase() as IncidentPriority,\n status: incident.status.toLowerCase() as IncidentStatus,\n assignedTo: incident.assignedTo ?? '',\n reportedBy: incident.reportedBy,\n createdAt: incident.reportedAt,\n resolvedAt: incident.resolvedAt ?? undefined,\n resolution: incident.resolution ?? undefined,\n slaBreached: incident.slaBreached,\n }));\n\n const workOrders: WorkOrder[] = (payload.workOrders ?? []).map((workOrder) => ({\n id: workOrder.id,\n title: workOrder.title,\n description: workOrder.description ?? '',\n assetId: workOrder.assetId ?? '',\n priority: workOrder.priority.toLowerCase() as WorkOrder['priority'],\n status: workOrder.status.toLowerCase() as WorkOrder['status'],\n assignedTo: workOrder.assignedTo ?? '',\n createdAt: workOrder.createdAt,\n completedAt: workOrder.completedAt ?? undefined,\n type: workOrder.type.toLowerCase(),\n }));\n\n const maintenanceRecords: MaintenanceRecord[] = (payload.maintenanceRecords ?? []).map(\n (record) => ({\n id: record.id,\n assetId: record.assetId,\n type: record.type.toLowerCase(),\n priority: record.priority.toLowerCase() as MaintenancePriority,\n status: record.status.toLowerCase(),\n title: record.title,\n description: record.description ?? '',\n scheduledDate: record.scheduledAt ?? undefined,\n completedDate: record.completedAt ?? undefined,\n estimatedCost: record.estimatedCost ?? undefined,\n actualCost: record.actualCost ?? undefined,\n checklist: (record.checklist ?? []).map((item) => ({\n task: String(item.task ?? 'Task'),\n completed: Boolean(item.completed ?? false),\n })),\n })\n );\n\n const transactions: FinanceTransaction[] = (payload.transactions ?? []).map((tx) => ({\n id: tx.id,\n type: tx.type.toLowerCase() as TransactionType,\n amount: tx.amount,\n currency: tx.currency,\n description: tx.description,\n category: tx.category,\n date: tx.occurredAt,\n status: tx.status.toLowerCase() as TransactionStatus,\n vendor: tx.vendor ?? undefined,\n department: tx.department ?? '',\n }));\n\n const changeRequests: ChangeRequest[] = (payload.changeRequests ?? []).map((change) => ({\n id: change.id,\n title: change.title,\n description: change.description,\n type: change.type.toLowerCase(),\n status: change.status.toLowerCase() as ChangeStatus,\n risk: change.risk.toLowerCase() as ChangeRisk,\n requestedBy: change.requestedBy,\n assignedTo: change.assignedTo ?? '',\n affectedAssets: change.affectedAssets,\n scheduledStart: change.scheduledStart ?? '',\n scheduledEnd: change.scheduledEnd ?? '',\n createdAt: change.createdAt,\n approvals: (change.approvals ?? []).map((approval) => ({\n name: approval.name ?? 'Approver',\n status: approval.status ?? 'pending',\n date: approval.date ?? change.createdAt,\n })),\n }));\n\n const problems: Problem[] = (payload.problems ?? []).map((problem) => ({\n id: problem.id,\n title: problem.title,\n description: problem.description,\n status: problem.status.toLowerCase() as ProblemStatus,\n priority: problem.priority.toLowerCase() as IncidentPriority,\n category: problem.category,\n assignedTo: problem.assignedTo ?? '',\n relatedIncidents: problem.relatedIncidents,\n rootCause: problem.rootCause ?? undefined,\n workaround: problem.workaround ?? undefined,\n resolution: problem.resolution ?? undefined,\n createdAt: problem.createdAt,\n updatedAt: problem.updatedAt,\n }));\n\n const budgets: Budget[] = (payload.budgets ?? []).map((budget) => ({\n id: budget.id,\n name: budget.name,\n category: budget.category,\n allocated: budget.allocated,\n spent: budget.spent,\n remaining: budget.remaining,\n period: budget.period,\n department: budget.department,\n status: budget.status.toLowerCase() as Budget['status'],\n }));\n\n const invoices: Invoice[] = (payload.invoices ?? []).map((invoice) => ({\n id: invoice.id,\n number: invoice.number,\n vendor: invoice.vendor,\n amount: invoice.amount,\n currency: invoice.currency,\n issueDate: invoice.issueDate,\n dueDate: invoice.dueDate,\n status: invoice.status.toLowerCase() as Invoice['status'],\n items: (invoice.items ?? []).map((item) => ({\n description: item.description ?? 'Line item',\n qty: item.qty ?? 1,\n unitPrice: item.unitPrice ?? item.total ?? 0,\n total: item.total ?? item.unitPrice ?? 0,\n })),\n relatedPO: invoice.relatedPO ?? undefined,\n paidAt: invoice.paidAt ?? undefined,\n }));\n\n const securityEvents: SecurityEvent[] = (payload.securityEvents?.items ?? []).map(\n (event) => ({\n id: event.id,\n type: event.eventType,\n severity: event.severity.toLowerCase() as SecurityEvent['severity'],\n title: event.title,\n description: event.description ?? '',\n source: event.source ?? 'security',\n userId: event.userId ?? undefined,\n ipAddress: event.ipAddress ?? undefined,\n timestamp: event.occurredAt,\n resolved: event.resolved,\n })\n );\n\n const complianceFrameworks: ComplianceFramework[] = (\n payload.complianceFrameworks?.items ?? []\n ).map((framework) => ({\n id: framework.id,\n name: framework.name,\n version: framework.version,\n status: framework.status.toLowerCase() as ComplianceFramework['status'],\n score: framework.score,\n totalControls: framework.totalControls,\n passedControls: framework.passedControls,\n failedControls: framework.failedControls,\n lastAssessment: framework.lastAssessment,\n nextAssessment: framework.nextAssessment,\n lastAssessedAt: framework.lastAssessedAt ?? undefined,\n }));\n\n const securityPolicies: SecurityPolicy[] = (payload.securityPolicies?.items ?? []).map(\n (policy) => ({\n id: policy.id,\n name: policy.name,\n description: policy.description ?? '',\n category: policy.category,\n status: policy.status.toLowerCase() as SecurityPolicy['status'],\n version: policy.version,\n effectiveDate: policy.effectiveDate,\n reviewDate: policy.reviewDate,\n owner: policy.owner,\n applicableTo: policy.applicableTo,\n })\n );\n\n const overview: DashboardOverview | null = payload.dashboardOverview\n ? {\n totalAssets: payload.dashboardOverview.totalAssets ?? assets.length,\n openIncidents: payload.dashboardOverview.openIncidents ?? 0,\n openWorkOrders: payload.dashboardOverview.openWorkOrders ?? 0,\n totalTransactions: payload.dashboardOverview.totalTransactions ?? 0,\n }\n : null;\n\n return {\n hydrated: true,\n overview,\n assets,\n incidents,\n changeRequests,\n problems,\n workOrders,\n maintenanceRecords,\n transactions,\n budgets,\n invoices,\n securityEvents,\n complianceFrameworks,\n securityPolicies,\n };\n }),\n}));\n"],"mappings":"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"}
@@ -28,8 +28,28 @@ export interface AssetHandlerTerminology {
28
28
  /** Plural form, defaults to "Assets". e.g. "Machinery". */
29
29
  assets?: string;
30
30
  }
31
+ /**
32
+ * Per-key copy overrides, mapping an i18n key (e.g.
33
+ * "assethandler.dashboard.description") to the exact string the host wants
34
+ * rendered. Use this for wording that a simple noun swap cannot fix — prose
35
+ * such as the dashboard subtitle or the quick-action descriptions, which are
36
+ * written for an IT-asset audience by default.
37
+ *
38
+ * Overrides take precedence over platform translations; keys left out fall
39
+ * back to the module's own copy, so existing consumers are unaffected.
40
+ *
41
+ * Override strings may themselves contain the `{{asset}}`, `{{assets}}`,
42
+ * `{{assetLower}}` and `{{assetsLower}}` tokens, which are substituted from
43
+ * {@link AssetHandlerTerminology}.
44
+ */
45
+ export type AssetHandlerCopy = Record<string, string>;
31
46
  export interface AssetHandlerRootProps {
32
47
  basePath?: string;
48
+ /**
49
+ * Optional per-i18n-key copy overrides for surfaces whose default wording is
50
+ * IT-specific. See {@link AssetHandlerCopy}. Defaults to overriding nothing.
51
+ */
52
+ copy?: AssetHandlerCopy;
33
53
  /**
34
54
  * Optional brand/title string shown in the root nav item and footer status.
35
55
  * Defaults to "AssetHandler" when omitted.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assethandler/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assethandler/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../src/types/assistant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhG,MAAM,MAAM,2BAA2B,GACrC,MAAM,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAAkC,CAAC"}
1
+ {"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../src/types/assistant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhG,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,cAAc,GACd,YAAY,GACZ,WAAW,GACX,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-assethandler",
3
- "version": "2026.713.2",
3
+ "version": "2026.714.2",
4
4
  "description": "Burdenoff AssetHandler Microfrontend",
5
5
  "type": "module",
6
6
  "files": [