@happyvertical/smrt-human-resources 0.57.34 → 0.57.35
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/AGENTS.md +2 -0
- package/dist/employment/models.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +175 -19
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +322 -17
- package/dist/qualifications/models.d.ts.map +1 -1
- package/dist/recipes.d.ts +200 -0
- package/dist/recipes.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +292 -25
- package/package.json +6 -6
package/dist/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"timestamp": 0,
|
|
4
4
|
"packageName": "@happyvertical/smrt-human-resources",
|
|
5
|
-
"packageVersion": "0.57.
|
|
5
|
+
"packageVersion": "0.57.35",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-human-resources:Employment": {
|
|
8
8
|
"name": "employment",
|
|
@@ -34,7 +34,9 @@
|
|
|
34
34
|
"type": "crossPackageRef",
|
|
35
35
|
"required": false,
|
|
36
36
|
"related": "@happyvertical/smrt-profiles:Profile",
|
|
37
|
+
"description": "The person who works for you.",
|
|
37
38
|
"_meta": {
|
|
39
|
+
"description": "The person who works for you.",
|
|
38
40
|
"onDelete": "RESTRICT"
|
|
39
41
|
}
|
|
40
42
|
},
|
|
@@ -57,24 +59,36 @@
|
|
|
57
59
|
},
|
|
58
60
|
"employeeNumber": {
|
|
59
61
|
"type": "text",
|
|
60
|
-
"required": false
|
|
62
|
+
"required": false,
|
|
63
|
+
"description": "Your own reference for this person, such as a staff number.",
|
|
64
|
+
"_meta": {
|
|
65
|
+
"description": "Your own reference for this person, such as a staff number."
|
|
66
|
+
}
|
|
61
67
|
},
|
|
62
68
|
"workerType": {
|
|
63
69
|
"type": "text",
|
|
64
70
|
"required": false,
|
|
65
|
-
"
|
|
71
|
+
"description": "Whether they are an employee, contractor or another kind of worker.",
|
|
72
|
+
"_meta": {
|
|
73
|
+
"description": "Whether they are an employee, contractor or another kind of worker."
|
|
74
|
+
}
|
|
66
75
|
},
|
|
67
76
|
"position": {
|
|
68
77
|
"type": "text",
|
|
69
78
|
"required": false,
|
|
79
|
+
"description": "Their role or trade.",
|
|
70
80
|
"_meta": {
|
|
71
|
-
"nullable": true
|
|
81
|
+
"nullable": true,
|
|
82
|
+
"description": "Their role or trade."
|
|
72
83
|
}
|
|
73
84
|
},
|
|
74
85
|
"status": {
|
|
75
86
|
"type": "text",
|
|
76
87
|
"required": false,
|
|
77
|
-
"
|
|
88
|
+
"description": "Whether they currently work for you.",
|
|
89
|
+
"_meta": {
|
|
90
|
+
"description": "Whether they currently work for you."
|
|
91
|
+
},
|
|
78
92
|
"enum": [
|
|
79
93
|
"active",
|
|
80
94
|
"on-leave",
|
|
@@ -307,25 +321,36 @@
|
|
|
307
321
|
"type": "foreignKey",
|
|
308
322
|
"required": false,
|
|
309
323
|
"related": "Employment",
|
|
324
|
+
"description": "The person this period of work belongs to.",
|
|
310
325
|
"_meta": {
|
|
326
|
+
"description": "The person this period of work belongs to.",
|
|
311
327
|
"onDelete": "RESTRICT"
|
|
312
328
|
}
|
|
313
329
|
},
|
|
314
330
|
"startedOn": {
|
|
315
331
|
"type": "text",
|
|
316
332
|
"required": false,
|
|
317
|
-
"
|
|
333
|
+
"description": "The first day of this period of work.",
|
|
334
|
+
"_meta": {
|
|
335
|
+
"description": "The first day of this period of work."
|
|
336
|
+
}
|
|
318
337
|
},
|
|
319
338
|
"endedOn": {
|
|
320
339
|
"type": "text",
|
|
321
340
|
"required": false,
|
|
341
|
+
"description": "The last day of this period of work. Empty while it continues.",
|
|
322
342
|
"_meta": {
|
|
323
|
-
"nullable": true
|
|
343
|
+
"nullable": true,
|
|
344
|
+
"description": "The last day of this period of work. Empty while it continues."
|
|
324
345
|
}
|
|
325
346
|
},
|
|
326
347
|
"endReason": {
|
|
327
348
|
"type": "text",
|
|
328
|
-
"required": false
|
|
349
|
+
"required": false,
|
|
350
|
+
"description": "Why the period of work ended.",
|
|
351
|
+
"_meta": {
|
|
352
|
+
"description": "Why the period of work ended."
|
|
353
|
+
}
|
|
329
354
|
}
|
|
330
355
|
},
|
|
331
356
|
"methods": {
|
|
@@ -1196,12 +1221,19 @@
|
|
|
1196
1221
|
},
|
|
1197
1222
|
"name": {
|
|
1198
1223
|
"type": "text",
|
|
1199
|
-
"required": false
|
|
1224
|
+
"required": false,
|
|
1225
|
+
"description": "What the qualification is called, such as First aid.",
|
|
1226
|
+
"_meta": {
|
|
1227
|
+
"description": "What the qualification is called, such as First aid."
|
|
1228
|
+
}
|
|
1200
1229
|
},
|
|
1201
1230
|
"kind": {
|
|
1202
1231
|
"type": "text",
|
|
1203
1232
|
"required": false,
|
|
1204
|
-
"
|
|
1233
|
+
"description": "The sort of qualification, such as a certificate or a licence.",
|
|
1234
|
+
"_meta": {
|
|
1235
|
+
"description": "The sort of qualification, such as a certificate or a licence."
|
|
1236
|
+
},
|
|
1205
1237
|
"enum": [
|
|
1206
1238
|
"ticket",
|
|
1207
1239
|
"certification",
|
|
@@ -1212,18 +1244,28 @@
|
|
|
1212
1244
|
},
|
|
1213
1245
|
"issuingBody": {
|
|
1214
1246
|
"type": "text",
|
|
1215
|
-
"required": false
|
|
1247
|
+
"required": false,
|
|
1248
|
+
"description": "Who gives it out.",
|
|
1249
|
+
"_meta": {
|
|
1250
|
+
"description": "Who gives it out."
|
|
1251
|
+
}
|
|
1216
1252
|
},
|
|
1217
1253
|
"expires": {
|
|
1218
1254
|
"type": "boolean",
|
|
1219
1255
|
"required": true,
|
|
1220
|
-
"default": false
|
|
1256
|
+
"default": false,
|
|
1257
|
+
"description": "Whether it has to be renewed.",
|
|
1258
|
+
"_meta": {
|
|
1259
|
+
"description": "Whether it has to be renewed."
|
|
1260
|
+
}
|
|
1221
1261
|
},
|
|
1222
1262
|
"validityMonths": {
|
|
1223
1263
|
"type": "integer",
|
|
1224
1264
|
"required": false,
|
|
1265
|
+
"description": "How many months it lasts once given.",
|
|
1225
1266
|
"_meta": {
|
|
1226
|
-
"nullable": true
|
|
1267
|
+
"nullable": true,
|
|
1268
|
+
"description": "How many months it lasts once given."
|
|
1227
1269
|
}
|
|
1228
1270
|
},
|
|
1229
1271
|
"scope": {
|
|
@@ -1432,7 +1474,9 @@
|
|
|
1432
1474
|
"type": "foreignKey",
|
|
1433
1475
|
"required": false,
|
|
1434
1476
|
"related": "Qualification",
|
|
1477
|
+
"description": "The qualification this person holds.",
|
|
1435
1478
|
"_meta": {
|
|
1479
|
+
"description": "The qualification this person holds.",
|
|
1436
1480
|
"onDelete": "RESTRICT"
|
|
1437
1481
|
}
|
|
1438
1482
|
},
|
|
@@ -1440,7 +1484,9 @@
|
|
|
1440
1484
|
"type": "crossPackageRef",
|
|
1441
1485
|
"required": false,
|
|
1442
1486
|
"related": "@happyvertical/smrt-profiles:Profile",
|
|
1487
|
+
"description": "The person who holds it.",
|
|
1443
1488
|
"_meta": {
|
|
1489
|
+
"description": "The person who holds it.",
|
|
1444
1490
|
"onDelete": "RESTRICT"
|
|
1445
1491
|
}
|
|
1446
1492
|
},
|
|
@@ -1456,23 +1502,35 @@
|
|
|
1456
1502
|
"issuedOn": {
|
|
1457
1503
|
"type": "text",
|
|
1458
1504
|
"required": false,
|
|
1459
|
-
"
|
|
1505
|
+
"description": "The day it was given.",
|
|
1506
|
+
"_meta": {
|
|
1507
|
+
"description": "The day it was given."
|
|
1508
|
+
}
|
|
1460
1509
|
},
|
|
1461
1510
|
"expiresOn": {
|
|
1462
1511
|
"type": "text",
|
|
1463
1512
|
"required": false,
|
|
1513
|
+
"description": "The day it runs out. Empty if it does not.",
|
|
1464
1514
|
"_meta": {
|
|
1465
|
-
"nullable": true
|
|
1515
|
+
"nullable": true,
|
|
1516
|
+
"description": "The day it runs out. Empty if it does not."
|
|
1466
1517
|
}
|
|
1467
1518
|
},
|
|
1468
1519
|
"certificateNumber": {
|
|
1469
1520
|
"type": "text",
|
|
1470
|
-
"required": false
|
|
1521
|
+
"required": false,
|
|
1522
|
+
"description": "The number printed on the certificate.",
|
|
1523
|
+
"_meta": {
|
|
1524
|
+
"description": "The number printed on the certificate."
|
|
1525
|
+
}
|
|
1471
1526
|
},
|
|
1472
1527
|
"status": {
|
|
1473
1528
|
"type": "text",
|
|
1474
1529
|
"required": false,
|
|
1475
|
-
"
|
|
1530
|
+
"description": "Whether it is valid, expired, suspended or revoked.",
|
|
1531
|
+
"_meta": {
|
|
1532
|
+
"description": "Whether it is valid, expired, suspended or revoked."
|
|
1533
|
+
},
|
|
1476
1534
|
"enum": [
|
|
1477
1535
|
"valid",
|
|
1478
1536
|
"expired",
|
|
@@ -2471,6 +2529,253 @@
|
|
|
2471
2529
|
}
|
|
2472
2530
|
},
|
|
2473
2531
|
"moduleType": "smrt",
|
|
2532
|
+
"recipes": [
|
|
2533
|
+
{
|
|
2534
|
+
"id": "human-resources.people",
|
|
2535
|
+
"className": "HumanResourcesPeopleRecipe",
|
|
2536
|
+
"label": "Employees",
|
|
2537
|
+
"summary": "Keep a record of who works for you and in what role. Only people can see it; agents cannot read it.",
|
|
2538
|
+
"synonyms": [
|
|
2539
|
+
"hr",
|
|
2540
|
+
"human resources",
|
|
2541
|
+
"staff",
|
|
2542
|
+
"people",
|
|
2543
|
+
"team",
|
|
2544
|
+
"workers"
|
|
2545
|
+
],
|
|
2546
|
+
"models": [
|
|
2547
|
+
"@happyvertical/smrt-human-resources:Employment",
|
|
2548
|
+
"@happyvertical/smrt-human-resources:EmploymentTerm"
|
|
2549
|
+
],
|
|
2550
|
+
"nav": [
|
|
2551
|
+
{
|
|
2552
|
+
"label": "Employees",
|
|
2553
|
+
"model": "@happyvertical/smrt-human-resources:Employment",
|
|
2554
|
+
"icon": "users",
|
|
2555
|
+
"description": "Everyone who works for you, with their role and status.",
|
|
2556
|
+
"noun": "employee"
|
|
2557
|
+
}
|
|
2558
|
+
],
|
|
2559
|
+
"requires": [],
|
|
2560
|
+
"section": {
|
|
2561
|
+
"id": "staff",
|
|
2562
|
+
"label": "Staff",
|
|
2563
|
+
"icon": "users",
|
|
2564
|
+
"description": "The people who work for you."
|
|
2565
|
+
},
|
|
2566
|
+
"options": {
|
|
2567
|
+
"@happyvertical/smrt-human-resources:Employment": {
|
|
2568
|
+
"fields": {
|
|
2569
|
+
"profileId": {
|
|
2570
|
+
"label": "Person",
|
|
2571
|
+
"order": 1
|
|
2572
|
+
},
|
|
2573
|
+
"employeeNumber": {
|
|
2574
|
+
"order": 2
|
|
2575
|
+
},
|
|
2576
|
+
"position": {
|
|
2577
|
+
"order": 3
|
|
2578
|
+
},
|
|
2579
|
+
"workerType": {
|
|
2580
|
+
"order": 4
|
|
2581
|
+
},
|
|
2582
|
+
"status": {
|
|
2583
|
+
"order": 5
|
|
2584
|
+
},
|
|
2585
|
+
"tenantId": {
|
|
2586
|
+
"visibility": "hidden"
|
|
2587
|
+
},
|
|
2588
|
+
"userId": {
|
|
2589
|
+
"visibility": "advanced"
|
|
2590
|
+
},
|
|
2591
|
+
"employerProfileId": {
|
|
2592
|
+
"visibility": "advanced"
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
},
|
|
2596
|
+
"@happyvertical/smrt-human-resources:EmploymentTerm": {
|
|
2597
|
+
"fields": {
|
|
2598
|
+
"employmentId": {
|
|
2599
|
+
"label": "Person",
|
|
2600
|
+
"order": 1
|
|
2601
|
+
},
|
|
2602
|
+
"startedOn": {
|
|
2603
|
+
"label": "First day",
|
|
2604
|
+
"order": 2
|
|
2605
|
+
},
|
|
2606
|
+
"endedOn": {
|
|
2607
|
+
"label": "Last day",
|
|
2608
|
+
"order": 3
|
|
2609
|
+
},
|
|
2610
|
+
"endReason": {
|
|
2611
|
+
"order": 4
|
|
2612
|
+
},
|
|
2613
|
+
"tenantId": {
|
|
2614
|
+
"visibility": "hidden"
|
|
2615
|
+
}
|
|
2616
|
+
}
|
|
2617
|
+
}
|
|
2618
|
+
},
|
|
2619
|
+
"help": {
|
|
2620
|
+
"markdown": "## Overview\n\nEmployees is where you keep a record of who works for you. Each person has an\nemployment record with their role, their worker type and whether they are\ncurrently active, plus the dates they started and, if they left, finished.\n\nOnly people using the app can see these records. They are kept closed to\nassistants and other automated tools on purpose, so an agent cannot read them.\n\n## Tasks\n\n### Add an employee\n\n1. Open the list of employees and choose **New**.\n2. Pick the **{field:Employment.profileId}**.\n3. Give them an **{field:Employment.employeeNumber}**, your own reference for them.\n4. Fill in their **{field:Employment.position}** and **{field:Employment.workerType}**.\n5. Save. They now show in your list of employees.\n\n### Record that someone has left\n\n1. Open the person from the list.\n2. Set the **{field:Employment.status}** to show they no longer work for you.\n3. Record their **{field:EmploymentTerm.endedOn}** and the **{field:EmploymentTerm.endReason}**.\n4. Save. Their history stays on file.\n",
|
|
2621
|
+
"fieldRefs": [
|
|
2622
|
+
"Employment.employeeNumber",
|
|
2623
|
+
"Employment.position",
|
|
2624
|
+
"Employment.profileId",
|
|
2625
|
+
"Employment.status",
|
|
2626
|
+
"Employment.workerType",
|
|
2627
|
+
"EmploymentTerm.endReason",
|
|
2628
|
+
"EmploymentTerm.endedOn"
|
|
2629
|
+
]
|
|
2630
|
+
},
|
|
2631
|
+
"exposure": "ui-only",
|
|
2632
|
+
"demo": {
|
|
2633
|
+
"mode": "server",
|
|
2634
|
+
"reasons": [
|
|
2635
|
+
"Needs a server because its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3624)."
|
|
2636
|
+
]
|
|
2637
|
+
}
|
|
2638
|
+
},
|
|
2639
|
+
{
|
|
2640
|
+
"id": "human-resources.qualifications",
|
|
2641
|
+
"className": "HumanResourcesQualificationsRecipe",
|
|
2642
|
+
"label": "Qualifications",
|
|
2643
|
+
"summary": "Track the certificates and training your people hold, and when they run out. Only people can see it; agents cannot read it.",
|
|
2644
|
+
"synonyms": [
|
|
2645
|
+
"certifications",
|
|
2646
|
+
"certificates",
|
|
2647
|
+
"licences",
|
|
2648
|
+
"training",
|
|
2649
|
+
"first aid"
|
|
2650
|
+
],
|
|
2651
|
+
"models": [
|
|
2652
|
+
"@happyvertical/smrt-human-resources:Qualification",
|
|
2653
|
+
"@happyvertical/smrt-human-resources:HeldQualification"
|
|
2654
|
+
],
|
|
2655
|
+
"nav": [
|
|
2656
|
+
{
|
|
2657
|
+
"label": "Qualifications",
|
|
2658
|
+
"model": "@happyvertical/smrt-human-resources:Qualification",
|
|
2659
|
+
"icon": "book",
|
|
2660
|
+
"description": "The certificates, licences and training your people can hold.",
|
|
2661
|
+
"noun": "qualification"
|
|
2662
|
+
},
|
|
2663
|
+
{
|
|
2664
|
+
"label": "Held qualifications",
|
|
2665
|
+
"model": "@happyvertical/smrt-human-resources:HeldQualification",
|
|
2666
|
+
"icon": "fileText",
|
|
2667
|
+
"description": "Who holds which qualification, and when it runs out.",
|
|
2668
|
+
"noun": "held qualification"
|
|
2669
|
+
}
|
|
2670
|
+
],
|
|
2671
|
+
"requires": [
|
|
2672
|
+
"human-resources.people"
|
|
2673
|
+
],
|
|
2674
|
+
"section": {
|
|
2675
|
+
"id": "staff",
|
|
2676
|
+
"label": "Staff",
|
|
2677
|
+
"icon": "users",
|
|
2678
|
+
"description": "The people who work for you."
|
|
2679
|
+
},
|
|
2680
|
+
"options": {
|
|
2681
|
+
"@happyvertical/smrt-human-resources:Qualification": {
|
|
2682
|
+
"fields": {
|
|
2683
|
+
"name": {
|
|
2684
|
+
"order": 1
|
|
2685
|
+
},
|
|
2686
|
+
"kind": {
|
|
2687
|
+
"order": 2
|
|
2688
|
+
},
|
|
2689
|
+
"issuingBody": {
|
|
2690
|
+
"order": 3
|
|
2691
|
+
},
|
|
2692
|
+
"expires": {
|
|
2693
|
+
"order": 4
|
|
2694
|
+
},
|
|
2695
|
+
"validityMonths": {
|
|
2696
|
+
"order": 5
|
|
2697
|
+
},
|
|
2698
|
+
"key": {
|
|
2699
|
+
"visibility": "advanced"
|
|
2700
|
+
},
|
|
2701
|
+
"scope": {
|
|
2702
|
+
"visibility": "advanced"
|
|
2703
|
+
},
|
|
2704
|
+
"isActive": {
|
|
2705
|
+
"visibility": "advanced"
|
|
2706
|
+
},
|
|
2707
|
+
"tenantId": {
|
|
2708
|
+
"visibility": "hidden"
|
|
2709
|
+
}
|
|
2710
|
+
}
|
|
2711
|
+
},
|
|
2712
|
+
"@happyvertical/smrt-human-resources:HeldQualification": {
|
|
2713
|
+
"fields": {
|
|
2714
|
+
"qualificationId": {
|
|
2715
|
+
"label": "Qualification",
|
|
2716
|
+
"order": 1
|
|
2717
|
+
},
|
|
2718
|
+
"profileId": {
|
|
2719
|
+
"label": "Person",
|
|
2720
|
+
"order": 2
|
|
2721
|
+
},
|
|
2722
|
+
"issuedOn": {
|
|
2723
|
+
"order": 3
|
|
2724
|
+
},
|
|
2725
|
+
"expiresOn": {
|
|
2726
|
+
"order": 4
|
|
2727
|
+
},
|
|
2728
|
+
"certificateNumber": {
|
|
2729
|
+
"order": 5
|
|
2730
|
+
},
|
|
2731
|
+
"status": {
|
|
2732
|
+
"order": 6
|
|
2733
|
+
},
|
|
2734
|
+
"tenantId": {
|
|
2735
|
+
"visibility": "hidden"
|
|
2736
|
+
},
|
|
2737
|
+
"employmentId": {
|
|
2738
|
+
"visibility": "advanced"
|
|
2739
|
+
},
|
|
2740
|
+
"verifiedByProfileId": {
|
|
2741
|
+
"visibility": "advanced"
|
|
2742
|
+
},
|
|
2743
|
+
"verifiedAt": {
|
|
2744
|
+
"visibility": "advanced"
|
|
2745
|
+
},
|
|
2746
|
+
"documentAssetId": {
|
|
2747
|
+
"visibility": "advanced"
|
|
2748
|
+
},
|
|
2749
|
+
"renewalOfId": {
|
|
2750
|
+
"visibility": "hidden"
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
}
|
|
2754
|
+
},
|
|
2755
|
+
"help": {
|
|
2756
|
+
"markdown": "## Overview\n\nQualifications is where you list the certificates, licences and training your\nwork needs, such as first aid, and record who holds each one and when it runs\nout. It builds on Employees, so switch that on first.\n\nOnly people using the app can see these records. They are kept closed to\nassistants and other automated tools on purpose, so an agent cannot read them.\n\n## Tasks\n\n### Set up a qualification\n\n1. Open the list of qualifications and choose **New**.\n2. Type the **{field:Qualification.name}**, for example \"First aid\".\n3. Say who gives it out in **{field:Qualification.issuingBody}**.\n4. Tick **{field:Qualification.expires}** if it has to be renewed, and set **{field:Qualification.validityMonths}** to how long it lasts.\n5. Save.\n\n### Record who holds a qualification\n\n1. Open the held qualifications and choose **New**.\n2. Pick the **{field:HeldQualification.qualificationId}** and the **{field:HeldQualification.profileId}** who holds it.\n3. Enter the date it was **{field:HeldQualification.issuedOn}** and when it **{field:HeldQualification.expiresOn}**.\n4. Add the **{field:HeldQualification.certificateNumber}** from the certificate.\n5. Set the **{field:HeldQualification.status}** to show whether it is still valid.\n6. Save. You can now see who needs to renew before the date.\n",
|
|
2757
|
+
"fieldRefs": [
|
|
2758
|
+
"HeldQualification.certificateNumber",
|
|
2759
|
+
"HeldQualification.expiresOn",
|
|
2760
|
+
"HeldQualification.issuedOn",
|
|
2761
|
+
"HeldQualification.profileId",
|
|
2762
|
+
"HeldQualification.qualificationId",
|
|
2763
|
+
"HeldQualification.status",
|
|
2764
|
+
"Qualification.expires",
|
|
2765
|
+
"Qualification.issuingBody",
|
|
2766
|
+
"Qualification.name",
|
|
2767
|
+
"Qualification.validityMonths"
|
|
2768
|
+
]
|
|
2769
|
+
},
|
|
2770
|
+
"exposure": "ui-only",
|
|
2771
|
+
"demo": {
|
|
2772
|
+
"mode": "server",
|
|
2773
|
+
"reasons": [
|
|
2774
|
+
"Needs a server because its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3624)."
|
|
2775
|
+
]
|
|
2776
|
+
}
|
|
2777
|
+
}
|
|
2778
|
+
],
|
|
2474
2779
|
"smrtDependencies": [
|
|
2475
2780
|
"@happyvertical/smrt-core",
|
|
2476
2781
|
"@happyvertical/smrt-tenancy"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/qualifications/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAE5B,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,qBASa,aAAc,SAAQ,UAAU;IAC/B,QAAQ,SAAM;IAC1B,4DAA4D;IAC5D,GAAG,SAAM;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/qualifications/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAE5B,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,qBASa,aAAc,SAAQ,UAAU;IAC/B,QAAQ,SAAM;IAC1B,4DAA4D;IAC5D,GAAG,SAAM;IAIT,IAAI,SAAM;IAMV,IAAI,EAAE,iBAAiB,CAAmB;IAE1C,WAAW,SAAM;IACjB,uDAAuD;IAEvD,OAAO,UAAS;IAChB,wEAAwE;IAMxE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,4EAA4E;IACnD,KAAK,EAAE,kBAAkB,CAAY;IAC9D,QAAQ,UAAQ;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC;AAmBD;;;;;;;;GAQG;AACH,qBAkBa,iBAAkB,SAAQ,UAAU;IACnC,QAAQ,SAAM;IAG1B,eAAe,SAAM;IAKrB,SAAS,SAAM;IAEf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC,QAAQ,EAAE,OAAO,CAAM;IAMvB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAQ;IAEjC,iBAAiB,SAAM;IAKvB,MAAM,EAAE,uBAAuB,CAAW;IAK1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC;AAED,gFAAgF;AAChF,qBAca,uBAAwB,SAAQ,UAAU;IACzC,QAAQ,SAAM;IAE1B,mBAAmB,SAAM;IACA,IAAI,EAAE,2BAA2B,CAAa;IAC9C,WAAW,EAAE,OAAO,CAAM;IACnD,MAAM,SAAM;IAIZ,cAAc,SAAM;IAEL,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC;AAED;;;;GAIG;AACH,qBACa,uBAAwB,SAAQ,cAAc,CAAC,aAAa,CAAC;IACxE,MAAM,CAAC,QAAQ,CAAC,UAAU,uBAAiB;CAC5C;AACD,mEAAmE;AACnE,qBACa,2BAA4B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,UAAU,2BAAqB;CAChD;AACD,mEAAmE;AACnE,qBACa,iCAAkC,SAAQ,cAAc,CAAC,uBAAuB,CAAC;IAC5F,MAAM,CAAC,QAAQ,CAAC,UAAU,iCAA2B;CACtD"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declared recipes for smrt-human-resources (#4409, #4437): user-facing units
|
|
3
|
+
* of functionality an app or agent can pick instead of the whole package.
|
|
4
|
+
* The scanner reads these statics into the `recipes` array of `manifest.json`
|
|
5
|
+
* and `smrt-knowledge.json`; nothing here runs at that point.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { SmrtRecipe } from '@happyvertical/smrt-core';
|
|
10
|
+
import { Employment, EmploymentTerm } from './employment/models.js';
|
|
11
|
+
import { HeldQualification, Qualification } from './qualifications/models.js';
|
|
12
|
+
/**
|
|
13
|
+
* Employees: who works for you, in what role. UI-only (#4440): employment
|
|
14
|
+
* records are the most sensitive data in the box, so every model stays closed
|
|
15
|
+
* to the generated API, MCP and CLI and agents cannot read them.
|
|
16
|
+
*/
|
|
17
|
+
export declare class HumanResourcesPeopleRecipe extends SmrtRecipe {
|
|
18
|
+
static id: string;
|
|
19
|
+
static help: string;
|
|
20
|
+
static label: string;
|
|
21
|
+
static summary: string;
|
|
22
|
+
static synonyms: string[];
|
|
23
|
+
static exposure: "ui-only";
|
|
24
|
+
static section: {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
icon: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
static models: (typeof Employment | typeof EmploymentTerm)[];
|
|
31
|
+
static nav: {
|
|
32
|
+
label: string;
|
|
33
|
+
model: typeof Employment;
|
|
34
|
+
icon: string;
|
|
35
|
+
description: string;
|
|
36
|
+
noun: string;
|
|
37
|
+
}[];
|
|
38
|
+
static options: {
|
|
39
|
+
readonly Employment: {
|
|
40
|
+
readonly fields: {
|
|
41
|
+
readonly profileId: {
|
|
42
|
+
readonly label: "Person";
|
|
43
|
+
readonly order: 1;
|
|
44
|
+
};
|
|
45
|
+
readonly employeeNumber: {
|
|
46
|
+
readonly order: 2;
|
|
47
|
+
};
|
|
48
|
+
readonly position: {
|
|
49
|
+
readonly order: 3;
|
|
50
|
+
};
|
|
51
|
+
readonly workerType: {
|
|
52
|
+
readonly order: 4;
|
|
53
|
+
};
|
|
54
|
+
readonly status: {
|
|
55
|
+
readonly order: 5;
|
|
56
|
+
};
|
|
57
|
+
readonly tenantId: {
|
|
58
|
+
readonly visibility: "hidden";
|
|
59
|
+
};
|
|
60
|
+
readonly userId: {
|
|
61
|
+
readonly visibility: "advanced";
|
|
62
|
+
};
|
|
63
|
+
readonly employerProfileId: {
|
|
64
|
+
readonly visibility: "advanced";
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
readonly EmploymentTerm: {
|
|
69
|
+
readonly fields: {
|
|
70
|
+
readonly employmentId: {
|
|
71
|
+
readonly label: "Person";
|
|
72
|
+
readonly order: 1;
|
|
73
|
+
};
|
|
74
|
+
readonly startedOn: {
|
|
75
|
+
readonly label: "First day";
|
|
76
|
+
readonly order: 2;
|
|
77
|
+
};
|
|
78
|
+
readonly endedOn: {
|
|
79
|
+
readonly label: "Last day";
|
|
80
|
+
readonly order: 3;
|
|
81
|
+
};
|
|
82
|
+
readonly endReason: {
|
|
83
|
+
readonly order: 4;
|
|
84
|
+
};
|
|
85
|
+
readonly tenantId: {
|
|
86
|
+
readonly visibility: "hidden";
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Qualifications: the certificates your people hold. UI-only for the same
|
|
94
|
+
* reason as Employees (#4440).
|
|
95
|
+
*/
|
|
96
|
+
export declare class HumanResourcesQualificationsRecipe extends SmrtRecipe {
|
|
97
|
+
static id: string;
|
|
98
|
+
static help: string;
|
|
99
|
+
static label: string;
|
|
100
|
+
static summary: string;
|
|
101
|
+
static synonyms: string[];
|
|
102
|
+
static exposure: "ui-only";
|
|
103
|
+
static requires: string[];
|
|
104
|
+
static section: {
|
|
105
|
+
id: string;
|
|
106
|
+
label: string;
|
|
107
|
+
icon: string;
|
|
108
|
+
description: string;
|
|
109
|
+
};
|
|
110
|
+
static models: (typeof Qualification | typeof HeldQualification)[];
|
|
111
|
+
static nav: ({
|
|
112
|
+
label: string;
|
|
113
|
+
model: typeof Qualification;
|
|
114
|
+
icon: string;
|
|
115
|
+
description: string;
|
|
116
|
+
noun: string;
|
|
117
|
+
} | {
|
|
118
|
+
label: string;
|
|
119
|
+
model: typeof HeldQualification;
|
|
120
|
+
icon: string;
|
|
121
|
+
description: string;
|
|
122
|
+
noun: string;
|
|
123
|
+
})[];
|
|
124
|
+
static options: {
|
|
125
|
+
readonly Qualification: {
|
|
126
|
+
readonly fields: {
|
|
127
|
+
readonly name: {
|
|
128
|
+
readonly order: 1;
|
|
129
|
+
};
|
|
130
|
+
readonly kind: {
|
|
131
|
+
readonly order: 2;
|
|
132
|
+
};
|
|
133
|
+
readonly issuingBody: {
|
|
134
|
+
readonly order: 3;
|
|
135
|
+
};
|
|
136
|
+
readonly expires: {
|
|
137
|
+
readonly order: 4;
|
|
138
|
+
};
|
|
139
|
+
readonly validityMonths: {
|
|
140
|
+
readonly order: 5;
|
|
141
|
+
};
|
|
142
|
+
readonly key: {
|
|
143
|
+
readonly visibility: "advanced";
|
|
144
|
+
};
|
|
145
|
+
readonly scope: {
|
|
146
|
+
readonly visibility: "advanced";
|
|
147
|
+
};
|
|
148
|
+
readonly isActive: {
|
|
149
|
+
readonly visibility: "advanced";
|
|
150
|
+
};
|
|
151
|
+
readonly tenantId: {
|
|
152
|
+
readonly visibility: "hidden";
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
readonly HeldQualification: {
|
|
157
|
+
readonly fields: {
|
|
158
|
+
readonly qualificationId: {
|
|
159
|
+
readonly label: "Qualification";
|
|
160
|
+
readonly order: 1;
|
|
161
|
+
};
|
|
162
|
+
readonly profileId: {
|
|
163
|
+
readonly label: "Person";
|
|
164
|
+
readonly order: 2;
|
|
165
|
+
};
|
|
166
|
+
readonly issuedOn: {
|
|
167
|
+
readonly order: 3;
|
|
168
|
+
};
|
|
169
|
+
readonly expiresOn: {
|
|
170
|
+
readonly order: 4;
|
|
171
|
+
};
|
|
172
|
+
readonly certificateNumber: {
|
|
173
|
+
readonly order: 5;
|
|
174
|
+
};
|
|
175
|
+
readonly status: {
|
|
176
|
+
readonly order: 6;
|
|
177
|
+
};
|
|
178
|
+
readonly tenantId: {
|
|
179
|
+
readonly visibility: "hidden";
|
|
180
|
+
};
|
|
181
|
+
readonly employmentId: {
|
|
182
|
+
readonly visibility: "advanced";
|
|
183
|
+
};
|
|
184
|
+
readonly verifiedByProfileId: {
|
|
185
|
+
readonly visibility: "advanced";
|
|
186
|
+
};
|
|
187
|
+
readonly verifiedAt: {
|
|
188
|
+
readonly visibility: "advanced";
|
|
189
|
+
};
|
|
190
|
+
readonly documentAssetId: {
|
|
191
|
+
readonly visibility: "advanced";
|
|
192
|
+
};
|
|
193
|
+
readonly renewalOfId: {
|
|
194
|
+
readonly visibility: "hidden";
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=recipes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../src/recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IACxD,MAAM,CAAC,EAAE,SAA4B;IACrC,MAAM,CAAC,IAAI,SAAwB;IACnC,MAAM,CAAC,KAAK,SAAe;IAC3B,MAAM,CAAC,OAAO,SAC0F;IACxG,MAAM,CAAC,QAAQ,WAOb;IACF,MAAM,CAAC,QAAQ,EAAG,SAAS,CAAU;IACrC,MAAM,CAAC,OAAO;;;;;MAKZ;IACF,MAAM,CAAC,MAAM,gDAAgC;IAC7C,MAAM,CAAC,GAAG;;;;;;QAQR;IACF,MAAM,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsBH;CACZ;AAED;;;GAGG;AACH,qBAAa,kCAAmC,SAAQ,UAAU;IAChE,MAAM,CAAC,EAAE,SAAoC;IAC7C,MAAM,CAAC,IAAI,SAAgC;IAC3C,MAAM,CAAC,KAAK,SAAoB;IAChC,MAAM,CAAC,OAAO,SACkH;IAChI,MAAM,CAAC,QAAQ,WAMb;IACF,MAAM,CAAC,QAAQ,EAAG,SAAS,CAAU;IACrC,MAAM,CAAC,QAAQ,WAA8B;IAC7C,MAAM,CAAC,OAAO;;;;;MAKZ;IACF,MAAM,CAAC,MAAM,sDAAsC;IACnD,MAAM,CAAC,GAAG;;;;;;;;;;;;SAgBR;IACF,MAAM,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BH;CACZ"}
|