@hed-hog/operations 0.0.3 → 0.0.286

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 (108) hide show
  1. package/README.md +122 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/operations-data.controller.d.ts +139 -0
  7. package/dist/operations-data.controller.d.ts.map +1 -0
  8. package/dist/operations-data.controller.js +113 -0
  9. package/dist/operations-data.controller.js.map +1 -0
  10. package/dist/operations-growth.controller.d.ts +48 -0
  11. package/dist/operations-growth.controller.d.ts.map +1 -0
  12. package/dist/operations-growth.controller.js +90 -0
  13. package/dist/operations-growth.controller.js.map +1 -0
  14. package/dist/operations.module.d.ts.map +1 -1
  15. package/dist/operations.module.js +10 -4
  16. package/dist/operations.module.js.map +1 -1
  17. package/dist/operations.service.d.ts +178 -0
  18. package/dist/operations.service.d.ts.map +1 -0
  19. package/dist/operations.service.js +134 -0
  20. package/dist/operations.service.js.map +1 -0
  21. package/hedhog/data/menu.yaml +251 -132
  22. package/hedhog/data/operations_career_level.yaml +102 -0
  23. package/hedhog/data/operations_career_track.yaml +8 -0
  24. package/hedhog/data/operations_certification.yaml +38 -0
  25. package/hedhog/data/operations_evaluation_cycle.yaml +18 -0
  26. package/hedhog/data/operations_performance_criterion.yaml +48 -0
  27. package/hedhog/data/role.yaml +14 -7
  28. package/hedhog/data/route.yaml +143 -80
  29. package/hedhog/frontend/app/_components/allocation-calendar.tsx.ejs +56 -56
  30. package/hedhog/frontend/app/_components/kanban-board.tsx.ejs +626 -83
  31. package/hedhog/frontend/app/_components/operations-header.tsx.ejs +29 -29
  32. package/hedhog/frontend/app/_components/section-card.tsx.ejs +32 -32
  33. package/hedhog/frontend/app/_components/status-badge.tsx.ejs +15 -15
  34. package/hedhog/frontend/app/_components/timesheet-entry-dialog.tsx.ejs +142 -142
  35. package/hedhog/frontend/app/_lib/hooks/use-operations-data.ts.ejs +41 -41
  36. package/hedhog/frontend/app/_lib/hooks/use-operations-growth-data.ts.ejs +63 -0
  37. package/hedhog/frontend/app/_lib/mocks/allocations.mock.ts.ejs +74 -74
  38. package/hedhog/frontend/app/_lib/mocks/contracts.mock.ts.ejs +74 -74
  39. package/hedhog/frontend/app/_lib/mocks/operations-growth.mock.ts.ejs +824 -0
  40. package/hedhog/frontend/app/_lib/mocks/projects.mock.ts.ejs +455 -60
  41. package/hedhog/frontend/app/_lib/mocks/tasks.mock.ts.ejs +117 -88
  42. package/hedhog/frontend/app/_lib/mocks/timesheets.mock.ts.ejs +84 -84
  43. package/hedhog/frontend/app/_lib/mocks/users.mock.ts.ejs +67 -67
  44. package/hedhog/frontend/app/_lib/services/contracts.service.ts.ejs +10 -10
  45. package/hedhog/frontend/app/_lib/services/operations-growth.service.ts.ejs +31 -0
  46. package/hedhog/frontend/app/_lib/services/projects.service.ts.ejs +10 -10
  47. package/hedhog/frontend/app/_lib/services/tasks.service.ts.ejs +10 -10
  48. package/hedhog/frontend/app/_lib/services/timesheets.service.ts.ejs +10 -10
  49. package/hedhog/frontend/app/_lib/types/operations-growth.ts.ejs +209 -0
  50. package/hedhog/frontend/app/_lib/types/operations.ts.ejs +156 -95
  51. package/hedhog/frontend/app/_lib/utils/format.ts.ejs +25 -25
  52. package/hedhog/frontend/app/_lib/utils/growth.ts.ejs +62 -0
  53. package/hedhog/frontend/app/_lib/utils/metrics.ts.ejs +103 -103
  54. package/hedhog/frontend/app/_lib/utils/status.ts.ejs +80 -80
  55. package/hedhog/frontend/app/allocations/page.tsx.ejs +155 -99
  56. package/hedhog/frontend/app/approvals/page.tsx.ejs +147 -147
  57. package/hedhog/frontend/app/career/page.tsx.ejs +143 -0
  58. package/hedhog/frontend/app/certifications/page.tsx.ejs +202 -0
  59. package/hedhog/frontend/app/contracts/[id]/page.tsx.ejs +108 -108
  60. package/hedhog/frontend/app/contracts/page.tsx.ejs +181 -124
  61. package/hedhog/frontend/app/evaluations/page.tsx.ejs +278 -0
  62. package/hedhog/frontend/app/goals/page.tsx.ejs +171 -0
  63. package/hedhog/frontend/app/growth/page.tsx.ejs +288 -0
  64. package/hedhog/frontend/app/layout.tsx.ejs +9 -9
  65. package/hedhog/frontend/app/manager/page.tsx.ejs +175 -0
  66. package/hedhog/frontend/app/page.tsx.ejs +177 -177
  67. package/hedhog/frontend/app/projects/[id]/page.tsx.ejs +936 -186
  68. package/hedhog/frontend/app/projects/page.tsx.ejs +1074 -111
  69. package/hedhog/frontend/app/rewards/page.tsx.ejs +196 -0
  70. package/hedhog/frontend/app/tasks/page.tsx.ejs +999 -47
  71. package/hedhog/frontend/app/timesheets/page.tsx.ejs +126 -126
  72. package/hedhog/frontend/messages/en.json +454 -142
  73. package/hedhog/frontend/messages/pt.json +454 -142
  74. package/hedhog/table/operations_allocation.yaml +52 -0
  75. package/hedhog/table/operations_calibration_item.yaml +61 -0
  76. package/hedhog/table/operations_calibration_session.yaml +25 -0
  77. package/hedhog/table/operations_career_level.yaml +75 -0
  78. package/hedhog/table/operations_career_track.yaml +21 -0
  79. package/hedhog/table/operations_certification.yaml +48 -0
  80. package/hedhog/table/operations_contract.yaml +57 -0
  81. package/hedhog/table/operations_employee.yaml +64 -0
  82. package/hedhog/table/operations_employee_certification.yaml +43 -0
  83. package/hedhog/table/operations_employee_connect.yaml +61 -0
  84. package/hedhog/table/operations_employee_evaluation.yaml +113 -0
  85. package/hedhog/table/operations_employee_evaluation_item.yaml +39 -0
  86. package/hedhog/table/operations_employee_profile.yaml +80 -0
  87. package/hedhog/table/operations_employee_skill_matrix.yaml +30 -0
  88. package/hedhog/table/operations_evaluation_cycle.yaml +31 -0
  89. package/hedhog/table/operations_goal.yaml +67 -0
  90. package/hedhog/table/operations_goal_progress.yaml +31 -0
  91. package/hedhog/table/operations_performance_criterion.yaml +29 -0
  92. package/hedhog/table/operations_project.yaml +66 -0
  93. package/hedhog/table/operations_promotion_readiness.yaml +49 -0
  94. package/hedhog/table/operations_promotion_recommendation.yaml +63 -0
  95. package/hedhog/table/operations_public_recognition.yaml +46 -0
  96. package/hedhog/table/operations_reward.yaml +100 -0
  97. package/hedhog/table/operations_score_event.yaml +81 -0
  98. package/hedhog/table/operations_task.yaml +60 -0
  99. package/hedhog/table/operations_timesheet.yaml +49 -0
  100. package/hedhog/table/operations_timesheet_entry.yaml +51 -0
  101. package/package.json +4 -4
  102. package/src/index.ts +2 -1
  103. package/src/language/en.json +8 -8
  104. package/src/language/pt.json +8 -8
  105. package/src/operations-data.controller.ts +54 -0
  106. package/src/operations-growth.controller.ts +44 -0
  107. package/src/operations.module.ts +21 -15
  108. package/src/operations.service.ts +137 -0
@@ -1,74 +1,74 @@
1
- import type { Allocation } from '../types/operations';
2
-
3
- export const allocationsMock: Allocation[] = [
4
- {
5
- id: 'alloc-001',
6
- userId: 'usr-ana',
7
- role: 'Delivery Manager',
8
- projectId: 'prj-zenith-cloud',
9
- weeklyHours: 18,
10
- allocationPercent: 45,
11
- startDate: '2026-03-03',
12
- endDate: '2026-06-30',
13
- },
14
- {
15
- id: 'alloc-002',
16
- userId: 'usr-bruno',
17
- role: 'Technical Lead',
18
- projectId: 'prj-orion-web',
19
- weeklyHours: 22,
20
- allocationPercent: 55,
21
- startDate: '2026-02-10',
22
- endDate: '2026-06-30',
23
- },
24
- {
25
- id: 'alloc-003',
26
- userId: 'usr-carla',
27
- role: 'Project Manager',
28
- projectId: 'prj-atlas-crm',
29
- weeklyHours: 24,
30
- allocationPercent: 60,
31
- startDate: '2026-03-01',
32
- endDate: '2026-08-31',
33
- },
34
- {
35
- id: 'alloc-004',
36
- userId: 'usr-diego',
37
- role: 'Backend Engineer',
38
- projectId: 'prj-orion-data',
39
- weeklyHours: 20,
40
- allocationPercent: 50,
41
- startDate: '2026-02-03',
42
- endDate: '2026-09-15',
43
- },
44
- {
45
- id: 'alloc-005',
46
- userId: 'usr-elisa',
47
- role: 'Frontend Engineer',
48
- projectId: 'prj-orion-web',
49
- weeklyHours: 30,
50
- allocationPercent: 75,
51
- startDate: '2026-01-20',
52
- endDate: '2026-06-30',
53
- },
54
- {
55
- id: 'alloc-006',
56
- userId: 'usr-fabio',
57
- role: 'QA Analyst',
58
- projectId: 'prj-orion-web',
59
- weeklyHours: 16,
60
- allocationPercent: 40,
61
- startDate: '2026-02-17',
62
- endDate: '2026-05-30',
63
- },
64
- {
65
- id: 'alloc-007',
66
- userId: 'usr-gabi',
67
- role: 'UX Designer',
68
- projectId: 'prj-orion-data',
69
- weeklyHours: 14,
70
- allocationPercent: 35,
71
- startDate: '2026-02-12',
72
- endDate: '2026-07-31',
73
- },
74
- ];
1
+ import type { Allocation } from '../types/operations';
2
+
3
+ export const allocationsMock: Allocation[] = [
4
+ {
5
+ id: 'alloc-001',
6
+ userId: 'usr-ana',
7
+ role: 'Delivery Manager',
8
+ projectId: 'prj-zenith-cloud',
9
+ weeklyHours: 18,
10
+ allocationPercent: 45,
11
+ startDate: '2026-03-03',
12
+ endDate: '2026-06-30',
13
+ },
14
+ {
15
+ id: 'alloc-002',
16
+ userId: 'usr-bruno',
17
+ role: 'Technical Lead',
18
+ projectId: 'prj-orion-web',
19
+ weeklyHours: 22,
20
+ allocationPercent: 55,
21
+ startDate: '2026-02-10',
22
+ endDate: '2026-06-30',
23
+ },
24
+ {
25
+ id: 'alloc-003',
26
+ userId: 'usr-carla',
27
+ role: 'Project Manager',
28
+ projectId: 'prj-atlas-crm',
29
+ weeklyHours: 24,
30
+ allocationPercent: 60,
31
+ startDate: '2026-03-01',
32
+ endDate: '2026-08-31',
33
+ },
34
+ {
35
+ id: 'alloc-004',
36
+ userId: 'usr-diego',
37
+ role: 'Backend Engineer',
38
+ projectId: 'prj-orion-data',
39
+ weeklyHours: 20,
40
+ allocationPercent: 50,
41
+ startDate: '2026-02-03',
42
+ endDate: '2026-09-15',
43
+ },
44
+ {
45
+ id: 'alloc-005',
46
+ userId: 'usr-elisa',
47
+ role: 'Frontend Engineer',
48
+ projectId: 'prj-orion-web',
49
+ weeklyHours: 30,
50
+ allocationPercent: 75,
51
+ startDate: '2026-01-20',
52
+ endDate: '2026-06-30',
53
+ },
54
+ {
55
+ id: 'alloc-006',
56
+ userId: 'usr-fabio',
57
+ role: 'QA Analyst',
58
+ projectId: 'prj-orion-web',
59
+ weeklyHours: 16,
60
+ allocationPercent: 40,
61
+ startDate: '2026-02-17',
62
+ endDate: '2026-05-30',
63
+ },
64
+ {
65
+ id: 'alloc-007',
66
+ userId: 'usr-gabi',
67
+ role: 'UX Designer',
68
+ projectId: 'prj-orion-data',
69
+ weeklyHours: 14,
70
+ allocationPercent: 35,
71
+ startDate: '2026-02-12',
72
+ endDate: '2026-07-31',
73
+ },
74
+ ];
@@ -1,74 +1,74 @@
1
- import type { Contract } from '../types/operations';
2
-
3
- export const contractsMock: Contract[] = [
4
- {
5
- id: 'ctr-orion',
6
- name: 'Orion Platform Expansion',
7
- client: 'Orion Retail Group',
8
- type: 'monthly',
9
- startDate: '2026-01-01',
10
- endDate: '2026-12-31',
11
- hourlyRate: 195,
12
- hourLimit: 640,
13
- status: 'active',
14
- billingRules: [
15
- 'Monthly invoicing on the fifth business day',
16
- 'Overage billed at blended rate above hour cap',
17
- 'Change requests approved by client PM',
18
- ],
19
- sla: 'P1 response in 2h, P2 in 6h, delivery governance weekly.',
20
- revisions: ['Revision 1 - January scope uplift', 'Revision 2 - UX squad add-on'],
21
- linkedProjectIds: ['prj-orion-web', 'prj-orion-data'],
22
- },
23
- {
24
- id: 'ctr-zenith',
25
- name: 'Zenith Support Retainer',
26
- client: 'Zenith Health',
27
- type: 'tm',
28
- startDate: '2025-10-15',
29
- endDate: '2026-10-14',
30
- hourlyRate: 230,
31
- hourLimit: 420,
32
- status: 'active',
33
- billingRules: [
34
- 'Time and material billing by approved entry',
35
- 'Emergency work charged at 1.25x after 8pm',
36
- ],
37
- sla: '24x7 on-call for critical incidents with monthly ops review.',
38
- revisions: ['Revision 1 - Added cloud migration stream'],
39
- linkedProjectIds: ['prj-zenith-cloud'],
40
- },
41
- {
42
- id: 'ctr-atlas',
43
- name: 'Atlas CRM Rollout',
44
- client: 'Atlas Logistics',
45
- type: 'fixed',
46
- startDate: '2026-02-01',
47
- endDate: '2026-08-31',
48
- hourlyRate: 175,
49
- hourLimit: 520,
50
- status: 'renewal',
51
- billingRules: [
52
- 'Milestone billing split in 30/40/30',
53
- 'Additional scope converted to change order',
54
- ],
55
- sla: 'Business hours support, weekly steering committee.',
56
- revisions: ['Revision 1 - Extended rollout to LATAM team'],
57
- linkedProjectIds: ['prj-atlas-crm'],
58
- },
59
- {
60
- id: 'ctr-nova',
61
- name: 'Nova Discovery Program',
62
- client: 'Nova Energy',
63
- type: 'fixed',
64
- startDate: '2025-06-01',
65
- endDate: '2025-12-15',
66
- hourlyRate: 160,
67
- hourLimit: 320,
68
- status: 'expired',
69
- billingRules: ['Single invoice on phase completion'],
70
- sla: 'Advisory cadence only.',
71
- revisions: ['Final revision approved in November'],
72
- linkedProjectIds: [],
73
- },
74
- ];
1
+ import type { Contract } from '../types/operations';
2
+
3
+ export const contractsMock: Contract[] = [
4
+ {
5
+ id: 'ctr-orion',
6
+ name: 'Orion Platform Expansion',
7
+ client: 'Orion Retail Group',
8
+ type: 'monthly',
9
+ startDate: '2026-01-01',
10
+ endDate: '2026-12-31',
11
+ hourlyRate: 195,
12
+ hourLimit: 640,
13
+ status: 'active',
14
+ billingRules: [
15
+ 'Monthly invoicing on the fifth business day',
16
+ 'Overage billed at blended rate above hour cap',
17
+ 'Change requests approved by client PM',
18
+ ],
19
+ sla: 'P1 response in 2h, P2 in 6h, delivery governance weekly.',
20
+ revisions: ['Revision 1 - January scope uplift', 'Revision 2 - UX squad add-on'],
21
+ linkedProjectIds: ['prj-orion-web', 'prj-orion-data'],
22
+ },
23
+ {
24
+ id: 'ctr-zenith',
25
+ name: 'Zenith Support Retainer',
26
+ client: 'Zenith Health',
27
+ type: 'tm',
28
+ startDate: '2025-10-15',
29
+ endDate: '2026-10-14',
30
+ hourlyRate: 230,
31
+ hourLimit: 420,
32
+ status: 'active',
33
+ billingRules: [
34
+ 'Time and material billing by approved entry',
35
+ 'Emergency work charged at 1.25x after 8pm',
36
+ ],
37
+ sla: '24x7 on-call for critical incidents with monthly ops review.',
38
+ revisions: ['Revision 1 - Added cloud migration stream'],
39
+ linkedProjectIds: ['prj-zenith-cloud'],
40
+ },
41
+ {
42
+ id: 'ctr-atlas',
43
+ name: 'Atlas CRM Rollout',
44
+ client: 'Atlas Logistics',
45
+ type: 'fixed',
46
+ startDate: '2026-02-01',
47
+ endDate: '2026-08-31',
48
+ hourlyRate: 175,
49
+ hourLimit: 520,
50
+ status: 'renewal',
51
+ billingRules: [
52
+ 'Milestone billing split in 30/40/30',
53
+ 'Additional scope converted to change order',
54
+ ],
55
+ sla: 'Business hours support, weekly steering committee.',
56
+ revisions: ['Revision 1 - Extended rollout to LATAM team'],
57
+ linkedProjectIds: ['prj-atlas-crm'],
58
+ },
59
+ {
60
+ id: 'ctr-nova',
61
+ name: 'Nova Discovery Program',
62
+ client: 'Nova Energy',
63
+ type: 'fixed',
64
+ startDate: '2025-06-01',
65
+ endDate: '2025-12-15',
66
+ hourlyRate: 160,
67
+ hourLimit: 320,
68
+ status: 'expired',
69
+ billingRules: ['Single invoice on phase completion'],
70
+ sla: 'Advisory cadence only.',
71
+ revisions: ['Final revision approved in November'],
72
+ linkedProjectIds: [],
73
+ },
74
+ ];