@llm-dev-ops/agentics-cli 1.4.54 → 1.4.56

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.
@@ -618,6 +618,403 @@ function inferDtoFields(typeName) {
618
618
  { name: 'stabilityIndex', type: 'number' }, { name: 'alertLevel', type: 'string' },
619
619
  { name: 'measuredAt', type: 'string' },
620
620
  ] },
621
+ // Healthcare / Life Sciences
622
+ { regex: /patient|ehr|medical[\s-]?record/i, extraFields: [
623
+ { name: 'mrn', type: 'string' }, { name: 'firstName', type: 'string' },
624
+ { name: 'lastName', type: 'string' }, { name: 'dateOfBirth', type: 'string' },
625
+ { name: 'gender', type: 'string' }, { name: 'primaryDiagnosis', type: 'string' },
626
+ { name: 'admittedAt', type: 'string | null' }, { name: 'status', type: 'string' },
627
+ ] },
628
+ { regex: /clinical[\s-]?trial|trial[\s-]?protocol/i, extraFields: [
629
+ { name: 'trialId', type: 'string' }, { name: 'phase', type: 'string' },
630
+ { name: 'sponsor', type: 'string' }, { name: 'indication', type: 'string' },
631
+ { name: 'enrollmentTarget', type: 'number' }, { name: 'enrolledCount', type: 'number' },
632
+ { name: 'startDate', type: 'string' }, { name: 'status', type: 'string' },
633
+ ] },
634
+ { regex: /drug[\s-]?discover|molecule|compound/i, extraFields: [
635
+ { name: 'compoundId', type: 'string' }, { name: 'molecularWeight', type: 'number' },
636
+ { name: 'targetProtein', type: 'string' }, { name: 'stage', type: 'string' },
637
+ { name: 'efficacyScore', type: 'number' }, { name: 'toxicityFlag', type: 'boolean' },
638
+ ] },
639
+ { regex: /pharmacovigilance|adverse[\s-]?event/i, extraFields: [
640
+ { name: 'caseId', type: 'string' }, { name: 'drugName', type: 'string' },
641
+ { name: 'eventType', type: 'string' }, { name: 'severity', type: 'string' },
642
+ { name: 'outcome', type: 'string' }, { name: 'reportedAt', type: 'string' },
643
+ ] },
644
+ { regex: /claim[\s-]?adjud|medical[\s-]?claim/i, extraFields: [
645
+ { name: 'claimNumber', type: 'string' }, { name: 'patientId', type: 'string' },
646
+ { name: 'providerId', type: 'string' }, { name: 'procedureCode', type: 'string' },
647
+ { name: 'billedAmount', type: 'number' }, { name: 'allowedAmount', type: 'number' },
648
+ { name: 'denialReason', type: 'string | null' }, { name: 'status', type: 'string' },
649
+ ] },
650
+ { regex: /genomic|genome|biomarker/i, extraFields: [
651
+ { name: 'sampleId', type: 'string' }, { name: 'patientId', type: 'string' },
652
+ { name: 'sequenceType', type: 'string' }, { name: 'variant', type: 'string' },
653
+ { name: 'significance', type: 'string' }, { name: 'confidence', type: 'number' },
654
+ ] },
655
+ // Financial Services
656
+ { regex: /trade[\s-]?execut|trading|order[\s-]?book/i, extraFields: [
657
+ { name: 'symbol', type: 'string' }, { name: 'side', type: 'string' },
658
+ { name: 'quantity', type: 'number' }, { name: 'price', type: 'number' },
659
+ { name: 'orderType', type: 'string' }, { name: 'executedAt', type: 'string' },
660
+ { name: 'venue', type: 'string' }, { name: 'status', type: 'string' },
661
+ ] },
662
+ { regex: /kyc|aml|sanctions/i, extraFields: [
663
+ { name: 'customerId', type: 'string' }, { name: 'checkType', type: 'string' },
664
+ { name: 'riskScore', type: 'number' }, { name: 'matchResult', type: 'string' },
665
+ { name: 'screenedAt', type: 'string' }, { name: 'status', type: 'string' },
666
+ ] },
667
+ { regex: /loan[\s-]?originat|mortgage|credit[\s-]?assess/i, extraFields: [
668
+ { name: 'applicationId', type: 'string' }, { name: 'borrowerId', type: 'string' },
669
+ { name: 'loanAmount', type: 'number' }, { name: 'interestRate', type: 'number' },
670
+ { name: 'termMonths', type: 'number' }, { name: 'creditScore', type: 'number' },
671
+ { name: 'status', type: 'string' },
672
+ ] },
673
+ { regex: /portfolio[\s-]?manag|asset[\s-]?allocat|wealth/i, extraFields: [
674
+ { name: 'portfolioId', type: 'string' }, { name: 'clientId', type: 'string' },
675
+ { name: 'totalValue', type: 'number' }, { name: 'allocation', type: 'string' },
676
+ { name: 'returnPct', type: 'number' }, { name: 'benchmarkPct', type: 'number' },
677
+ { name: 'rebalancedAt', type: 'string | null' },
678
+ ] },
679
+ { regex: /fraud[\s-]?detect|suspicious/i, extraFields: [
680
+ { name: 'transactionId', type: 'string' }, { name: 'accountId', type: 'string' },
681
+ { name: 'amount', type: 'number' }, { name: 'riskScore', type: 'number' },
682
+ { name: 'ruleTriggered', type: 'string' }, { name: 'flaggedAt', type: 'string' },
683
+ { name: 'status', type: 'string' },
684
+ ] },
685
+ { regex: /risk[\s-]?manag|credit[\s-]?risk|market[\s-]?risk/i, extraFields: [
686
+ { name: 'entityId', type: 'string' }, { name: 'riskType', type: 'string' },
687
+ { name: 'exposure', type: 'number' }, { name: 'probability', type: 'number' },
688
+ { name: 'impact', type: 'number' }, { name: 'mitigationStrategy', type: 'string' },
689
+ { name: 'assessedAt', type: 'string' },
690
+ ] },
691
+ // Insurance
692
+ { regex: /underwriting|policy[\s-]?pric/i, extraFields: [
693
+ { name: 'applicationId', type: 'string' }, { name: 'riskClass', type: 'string' },
694
+ { name: 'premiumAmount', type: 'number' }, { name: 'deductible', type: 'number' },
695
+ { name: 'coverageLimit', type: 'number' }, { name: 'decision', type: 'string' },
696
+ ] },
697
+ { regex: /claims[\s-]?process|claim[\s-]?settl|loss[\s-]?adjust/i, extraFields: [
698
+ { name: 'claimNumber', type: 'string' }, { name: 'policyId', type: 'string' },
699
+ { name: 'lossDate', type: 'string' }, { name: 'claimAmount', type: 'number' },
700
+ { name: 'reserveAmount', type: 'number' }, { name: 'adjusterAssigned', type: 'string' },
701
+ { name: 'status', type: 'string' },
702
+ ] },
703
+ { regex: /policy[\s-]?manag|policy[\s-]?admin/i, extraFields: [
704
+ { name: 'policyNumber', type: 'string' }, { name: 'holderId', type: 'string' },
705
+ { name: 'coverageType', type: 'string' }, { name: 'effectiveDate', type: 'string' },
706
+ { name: 'expirationDate', type: 'string' }, { name: 'premiumAmount', type: 'number' },
707
+ { name: 'status', type: 'string' },
708
+ ] },
709
+ // Telecom
710
+ { regex: /network[\s-]?operat|noc|cell[\s-]?tower/i, extraFields: [
711
+ { name: 'siteId', type: 'string' }, { name: 'towerType', type: 'string' },
712
+ { name: 'latitude', type: 'number' }, { name: 'longitude', type: 'number' },
713
+ { name: 'signalStrength', type: 'number' }, { name: 'status', type: 'string' },
714
+ ] },
715
+ { regex: /subscriber|sim[\s-]?manag/i, extraFields: [
716
+ { name: 'subscriberId', type: 'string' }, { name: 'msisdn', type: 'string' },
717
+ { name: 'planType', type: 'string' }, { name: 'dataUsageMb', type: 'number' },
718
+ { name: 'activatedAt', type: 'string' }, { name: 'status', type: 'string' },
719
+ ] },
720
+ { regex: /cdr|call[\s-]?detail|billing[\s-]?mediat/i, extraFields: [
721
+ { name: 'callId', type: 'string' }, { name: 'callerMsisdn', type: 'string' },
722
+ { name: 'calleeMsisdn', type: 'string' }, { name: 'durationSec', type: 'number' },
723
+ { name: 'chargeAmount', type: 'number' }, { name: 'callType', type: 'string' },
724
+ { name: 'timestamp', type: 'string' },
725
+ ] },
726
+ // Oil & Gas
727
+ { regex: /reservoir|well[\s-]?log|seismic/i, extraFields: [
728
+ { name: 'wellId', type: 'string' }, { name: 'fieldName', type: 'string' },
729
+ { name: 'depth', type: 'number' }, { name: 'porosity', type: 'number' },
730
+ { name: 'permeability', type: 'number' }, { name: 'pressure', type: 'number' },
731
+ { name: 'fluidType', type: 'string' },
732
+ ] },
733
+ { regex: /drill(?:ing)?[\s-]?operat|wellbore/i, extraFields: [
734
+ { name: 'wellId', type: 'string' }, { name: 'rigId', type: 'string' },
735
+ { name: 'currentDepth', type: 'number' }, { name: 'targetDepth', type: 'number' },
736
+ { name: 'rop', type: 'number' }, { name: 'mudWeight', type: 'number' },
737
+ { name: 'status', type: 'string' },
738
+ ] },
739
+ { regex: /pipeline[\s-]?integrit|pipeline[\s-]?monitor|leak/i, extraFields: [
740
+ { name: 'pipelineId', type: 'string' }, { name: 'segmentId', type: 'string' },
741
+ { name: 'pressurePsi', type: 'number' }, { name: 'flowRate', type: 'number' },
742
+ { name: 'wallThicknessMm', type: 'number' }, { name: 'inspectedAt', type: 'string' },
743
+ { name: 'status', type: 'string' },
744
+ ] },
745
+ { regex: /refin(?:ery|ing)|crude[\s-]?process/i, extraFields: [
746
+ { name: 'unitId', type: 'string' }, { name: 'feedRate', type: 'number' },
747
+ { name: 'temperature', type: 'number' }, { name: 'pressure', type: 'number' },
748
+ { name: 'yieldPct', type: 'number' }, { name: 'productType', type: 'string' },
749
+ ] },
750
+ // Agriculture
751
+ { regex: /crop[\s-]?manag|planting|harvest/i, extraFields: [
752
+ { name: 'fieldId', type: 'string' }, { name: 'cropType', type: 'string' },
753
+ { name: 'plantedDate', type: 'string' }, { name: 'areaHectares', type: 'number' },
754
+ { name: 'growthStage', type: 'string' }, { name: 'expectedYield', type: 'number' },
755
+ { name: 'status', type: 'string' },
756
+ ] },
757
+ { regex: /precision[\s-]?ag|precision[\s-]?farm|ndvi/i, extraFields: [
758
+ { name: 'fieldId', type: 'string' }, { name: 'zoneId', type: 'string' },
759
+ { name: 'ndviScore', type: 'number' }, { name: 'applicationRate', type: 'number' },
760
+ { name: 'sensorType', type: 'string' }, { name: 'capturedAt', type: 'string' },
761
+ ] },
762
+ { regex: /soil[\s-]?analy|nutrient|fertiliz/i, extraFields: [
763
+ { name: 'fieldId', type: 'string' }, { name: 'sampleDepth', type: 'number' },
764
+ { name: 'phLevel', type: 'number' }, { name: 'nitrogenPpm', type: 'number' },
765
+ { name: 'phosphorusPpm', type: 'number' }, { name: 'potassiumPpm', type: 'number' },
766
+ { name: 'sampledAt', type: 'string' },
767
+ ] },
768
+ { regex: /livestock|herd|cattle|animal[\s-]?health/i, extraFields: [
769
+ { name: 'animalId', type: 'string' }, { name: 'species', type: 'string' },
770
+ { name: 'breed', type: 'string' }, { name: 'weight', type: 'number' },
771
+ { name: 'healthStatus', type: 'string' }, { name: 'locationId', type: 'string' },
772
+ ] },
773
+ // Construction / Real Estate
774
+ { regex: /bim|building[\s-]?information/i, extraFields: [
775
+ { name: 'projectId', type: 'string' }, { name: 'modelVersion', type: 'string' },
776
+ { name: 'elementCount', type: 'number' }, { name: 'clashCount', type: 'number' },
777
+ { name: 'lastUpdated', type: 'string' }, { name: 'status', type: 'string' },
778
+ ] },
779
+ { regex: /construction[\s-]?project|job[\s-]?site/i, extraFields: [
780
+ { name: 'projectId', type: 'string' }, { name: 'siteName', type: 'string' },
781
+ { name: 'budgetAmount', type: 'number' }, { name: 'spentAmount', type: 'number' },
782
+ { name: 'completionPct', type: 'number' }, { name: 'targetDate', type: 'string' },
783
+ { name: 'status', type: 'string' },
784
+ ] },
785
+ { regex: /property[\s-]?manag|tenant|lease/i, extraFields: [
786
+ { name: 'propertyId', type: 'string' }, { name: 'tenantId', type: 'string' },
787
+ { name: 'leaseStart', type: 'string' }, { name: 'leaseEnd', type: 'string' },
788
+ { name: 'monthlyRent', type: 'number' }, { name: 'occupancyStatus', type: 'string' },
789
+ ] },
790
+ // Utilities
791
+ { regex: /grid[\s-]?manag|power[\s-]?grid|transmission/i, extraFields: [
792
+ { name: 'substationId', type: 'string' }, { name: 'voltageKv', type: 'number' },
793
+ { name: 'loadMw', type: 'number' }, { name: 'capacityMw', type: 'number' },
794
+ { name: 'frequencyHz', type: 'number' }, { name: 'status', type: 'string' },
795
+ ] },
796
+ { regex: /smart[\s-]?meter|meter[\s-]?data|ami/i, extraFields: [
797
+ { name: 'meterId', type: 'string' }, { name: 'accountId', type: 'string' },
798
+ { name: 'readingKwh', type: 'number' }, { name: 'intervalMinutes', type: 'number' },
799
+ { name: 'readAt', type: 'string' }, { name: 'quality', type: 'string' },
800
+ ] },
801
+ { regex: /outage[\s-]?manag|outage[\s-]?detect/i, extraFields: [
802
+ { name: 'outageId', type: 'string' }, { name: 'affectedMeters', type: 'number' },
803
+ { name: 'cause', type: 'string' }, { name: 'reportedAt', type: 'string' },
804
+ { name: 'restoredAt', type: 'string | null' }, { name: 'crewAssigned', type: 'string' },
805
+ ] },
806
+ { regex: /scada|supervisory[\s-]?control|plc/i, extraFields: [
807
+ { name: 'deviceId', type: 'string' }, { name: 'signalName', type: 'string' },
808
+ { name: 'value', type: 'number' }, { name: 'setpoint', type: 'number' },
809
+ { name: 'alarmState', type: 'string' }, { name: 'timestamp', type: 'string' },
810
+ ] },
811
+ // Aviation
812
+ { regex: /flight[\s-]?operat|flight[\s-]?plan/i, extraFields: [
813
+ { name: 'flightNumber', type: 'string' }, { name: 'aircraftReg', type: 'string' },
814
+ { name: 'origin', type: 'string' }, { name: 'destination', type: 'string' },
815
+ { name: 'departureTime', type: 'string' }, { name: 'arrivalTime', type: 'string' },
816
+ { name: 'status', type: 'string' },
817
+ ] },
818
+ { regex: /mro|aircraft[\s-]?maint|airworth/i, extraFields: [
819
+ { name: 'aircraftReg', type: 'string' }, { name: 'workOrderId', type: 'string' },
820
+ { name: 'taskType', type: 'string' }, { name: 'componentPn', type: 'string' },
821
+ { name: 'manHours', type: 'number' }, { name: 'nextDueDate', type: 'string' },
822
+ { name: 'status', type: 'string' },
823
+ ] },
824
+ // Maritime
825
+ { regex: /vessel[\s-]?track|ais|ship[\s-]?track/i, extraFields: [
826
+ { name: 'vesselImo', type: 'string' }, { name: 'vesselName', type: 'string' },
827
+ { name: 'latitude', type: 'number' }, { name: 'longitude', type: 'number' },
828
+ { name: 'speedKnots', type: 'number' }, { name: 'heading', type: 'number' },
829
+ { name: 'destination', type: 'string' }, { name: 'eta', type: 'string' },
830
+ ] },
831
+ { regex: /port[\s-]?operat|terminal[\s-]?operat|berth/i, extraFields: [
832
+ { name: 'portId', type: 'string' }, { name: 'berthId', type: 'string' },
833
+ { name: 'vesselImo', type: 'string' }, { name: 'arrivalTime', type: 'string' },
834
+ { name: 'departureTime', type: 'string' }, { name: 'cargoType', type: 'string' },
835
+ { name: 'status', type: 'string' },
836
+ ] },
837
+ { regex: /container[\s-]?manag|container[\s-]?track|reefer/i, extraFields: [
838
+ { name: 'containerId', type: 'string' }, { name: 'containerType', type: 'string' },
839
+ { name: 'contents', type: 'string' }, { name: 'weightKg', type: 'number' },
840
+ { name: 'temperature', type: 'number | null' }, { name: 'locationId', type: 'string' },
841
+ { name: 'status', type: 'string' },
842
+ ] },
843
+ // Automotive
844
+ { regex: /vehicle[\s-]?telematic|connected[\s-]?car|obd/i, extraFields: [
845
+ { name: 'vin', type: 'string' }, { name: 'odometer', type: 'number' },
846
+ { name: 'fuelLevel', type: 'number' }, { name: 'engineRpm', type: 'number' },
847
+ { name: 'dtcCodes', type: 'string' }, { name: 'latitude', type: 'number' },
848
+ { name: 'longitude', type: 'number' }, { name: 'timestamp', type: 'string' },
849
+ ] },
850
+ { regex: /recall[\s-]?manag|safety[\s-]?recall/i, extraFields: [
851
+ { name: 'recallId', type: 'string' }, { name: 'campaignNumber', type: 'string' },
852
+ { name: 'affectedVins', type: 'number' }, { name: 'defectDescription', type: 'string' },
853
+ { name: 'remedyType', type: 'string' }, { name: 'completionPct', type: 'number' },
854
+ { name: 'status', type: 'string' },
855
+ ] },
856
+ { regex: /ev[\s-]?charg|charging[\s-]?station/i, extraFields: [
857
+ { name: 'stationId', type: 'string' }, { name: 'connectorType', type: 'string' },
858
+ { name: 'powerKw', type: 'number' }, { name: 'sessionKwh', type: 'number' },
859
+ { name: 'vehicleVin', type: 'string' }, { name: 'status', type: 'string' },
860
+ ] },
861
+ // Hospitality
862
+ { regex: /reservation|booking[\s-]?engine|room[\s-]?allocat/i, extraFields: [
863
+ { name: 'confirmationNumber', type: 'string' }, { name: 'guestId', type: 'string' },
864
+ { name: 'roomType', type: 'string' }, { name: 'checkIn', type: 'string' },
865
+ { name: 'checkOut', type: 'string' }, { name: 'rateAmount', type: 'number' },
866
+ { name: 'status', type: 'string' },
867
+ ] },
868
+ { regex: /revenue[\s-]?manag|dynamic[\s-]?pric|rate[\s-]?optim/i, extraFields: [
869
+ { name: 'roomType', type: 'string' }, { name: 'date', type: 'string' },
870
+ { name: 'baseRate', type: 'number' }, { name: 'optimizedRate', type: 'number' },
871
+ { name: 'occupancyPct', type: 'number' }, { name: 'demandScore', type: 'number' },
872
+ ] },
873
+ { regex: /loyalty[\s-]?program|reward[\s-]?point/i, extraFields: [
874
+ { name: 'memberId', type: 'string' }, { name: 'tier', type: 'string' },
875
+ { name: 'pointsBalance', type: 'number' }, { name: 'lifetimePoints', type: 'number' },
876
+ { name: 'expiringPoints', type: 'number' }, { name: 'expiryDate', type: 'string' },
877
+ ] },
878
+ // Education
879
+ { regex: /student[\s-]?information|sis|enrollment/i, extraFields: [
880
+ { name: 'studentId', type: 'string' }, { name: 'firstName', type: 'string' },
881
+ { name: 'lastName', type: 'string' }, { name: 'programCode', type: 'string' },
882
+ { name: 'enrollmentDate', type: 'string' }, { name: 'gpa', type: 'number' },
883
+ { name: 'status', type: 'string' },
884
+ ] },
885
+ { regex: /lms|learning[\s-]?manag|course[\s-]?manag/i, extraFields: [
886
+ { name: 'courseId', type: 'string' }, { name: 'title', type: 'string' },
887
+ { name: 'instructorId', type: 'string' }, { name: 'enrolledCount', type: 'number' },
888
+ { name: 'completionRate', type: 'number' }, { name: 'status', type: 'string' },
889
+ ] },
890
+ // Government
891
+ { regex: /permit|licensing|zoning/i, extraFields: [
892
+ { name: 'permitNumber', type: 'string' }, { name: 'applicantId', type: 'string' },
893
+ { name: 'permitType', type: 'string' }, { name: 'submittedAt', type: 'string' },
894
+ { name: 'issuedAt', type: 'string | null' }, { name: 'expiresAt', type: 'string' },
895
+ { name: 'status', type: 'string' },
896
+ ] },
897
+ { regex: /case[\s-]?manag|casework|social[\s-]?service/i, extraFields: [
898
+ { name: 'caseNumber', type: 'string' }, { name: 'clientId', type: 'string' },
899
+ { name: 'caseType', type: 'string' }, { name: 'assignedTo', type: 'string' },
900
+ { name: 'priority', type: 'string' }, { name: 'openedAt', type: 'string' },
901
+ { name: 'status', type: 'string' },
902
+ ] },
903
+ { regex: /grant[\s-]?manag|federal[\s-]?fund/i, extraFields: [
904
+ { name: 'grantNumber', type: 'string' }, { name: 'awardAmount', type: 'number' },
905
+ { name: 'disbursedAmount', type: 'number' }, { name: 'granteeId', type: 'string' },
906
+ { name: 'programCode', type: 'string' }, { name: 'status', type: 'string' },
907
+ ] },
908
+ // Legal
909
+ { regex: /litigation[\s-]?manag|docket|court[\s-]?filing/i, extraFields: [
910
+ { name: 'caseNumber', type: 'string' }, { name: 'court', type: 'string' },
911
+ { name: 'plaintiff', type: 'string' }, { name: 'defendant', type: 'string' },
912
+ { name: 'filingDate', type: 'string' }, { name: 'nextHearing', type: 'string | null' },
913
+ { name: 'status', type: 'string' },
914
+ ] },
915
+ { regex: /e[\s-]?discovery|document[\s-]?review/i, extraFields: [
916
+ { name: 'matterId', type: 'string' }, { name: 'documentCount', type: 'number' },
917
+ { name: 'reviewedCount', type: 'number' }, { name: 'relevantCount', type: 'number' },
918
+ { name: 'privilegedCount', type: 'number' }, { name: 'status', type: 'string' },
919
+ ] },
920
+ // Media / Entertainment
921
+ { regex: /content[\s-]?manag|cms|digital[\s-]?asset/i, extraFields: [
922
+ { name: 'assetId', type: 'string' }, { name: 'title', type: 'string' },
923
+ { name: 'contentType', type: 'string' }, { name: 'format', type: 'string' },
924
+ { name: 'fileSizeBytes', type: 'number' }, { name: 'publishedAt', type: 'string | null' },
925
+ { name: 'status', type: 'string' },
926
+ ] },
927
+ { regex: /ad[\s-]?tech|programmatic|ad[\s-]?serv/i, extraFields: [
928
+ { name: 'campaignId', type: 'string' }, { name: 'advertiserId', type: 'string' },
929
+ { name: 'impressions', type: 'number' }, { name: 'clicks', type: 'number' },
930
+ { name: 'spend', type: 'number' }, { name: 'cpm', type: 'number' },
931
+ { name: 'ctr', type: 'number' },
932
+ ] },
933
+ { regex: /streaming|transcod|video[\s-]?delivery/i, extraFields: [
934
+ { name: 'contentId', type: 'string' }, { name: 'bitrateKbps', type: 'number' },
935
+ { name: 'resolution', type: 'string' }, { name: 'concurrentViewers', type: 'number' },
936
+ { name: 'bufferingPct', type: 'number' }, { name: 'status', type: 'string' },
937
+ ] },
938
+ // Cybersecurity
939
+ { regex: /threat[\s-]?intellig|ioc|indicator[\s-]?of[\s-]?compromise/i, extraFields: [
940
+ { name: 'iocValue', type: 'string' }, { name: 'iocType', type: 'string' },
941
+ { name: 'source', type: 'string' }, { name: 'confidence', type: 'number' },
942
+ { name: 'severity', type: 'string' }, { name: 'firstSeen', type: 'string' },
943
+ { name: 'lastSeen', type: 'string' },
944
+ ] },
945
+ { regex: /siem|security[\s-]?event|log[\s-]?correlat/i, extraFields: [
946
+ { name: 'eventId', type: 'string' }, { name: 'sourceIp', type: 'string' },
947
+ { name: 'eventType', type: 'string' }, { name: 'severity', type: 'string' },
948
+ { name: 'ruleId', type: 'string' }, { name: 'timestamp', type: 'string' },
949
+ { name: 'correlated', type: 'boolean' },
950
+ ] },
951
+ { regex: /vulnerabilit|cve|patch[\s-]?manag/i, extraFields: [
952
+ { name: 'cveId', type: 'string' }, { name: 'assetId', type: 'string' },
953
+ { name: 'cvssScore', type: 'number' }, { name: 'severity', type: 'string' },
954
+ { name: 'patchAvailable', type: 'boolean' }, { name: 'discoveredAt', type: 'string' },
955
+ { name: 'status', type: 'string' },
956
+ ] },
957
+ // Logistics / 3PL
958
+ { regex: /route[\s-]?optim|last[\s-]?mile|delivery[\s-]?optim/i, extraFields: [
959
+ { name: 'routeId', type: 'string' }, { name: 'driverId', type: 'string' },
960
+ { name: 'stopCount', type: 'number' }, { name: 'distanceKm', type: 'number' },
961
+ { name: 'estimatedMinutes', type: 'number' }, { name: 'status', type: 'string' },
962
+ ] },
963
+ { regex: /wms|warehouse[\s-]?manag[\s-]?system|pick[\s-]?pack/i, extraFields: [
964
+ { name: 'warehouseId', type: 'string' }, { name: 'orderId', type: 'string' },
965
+ { name: 'skuCount', type: 'number' }, { name: 'zone', type: 'string' },
966
+ { name: 'pickedAt', type: 'string | null' }, { name: 'shippedAt', type: 'string | null' },
967
+ { name: 'status', type: 'string' },
968
+ ] },
969
+ { regex: /freight[\s-]?broker|carrier[\s-]?manag|tms/i, extraFields: [
970
+ { name: 'shipmentId', type: 'string' }, { name: 'carrierId', type: 'string' },
971
+ { name: 'origin', type: 'string' }, { name: 'destination', type: 'string' },
972
+ { name: 'weightKg', type: 'number' }, { name: 'rateAmount', type: 'number' },
973
+ { name: 'status', type: 'string' },
974
+ ] },
975
+ { regex: /customs|import[\s-]?export|tariff/i, extraFields: [
976
+ { name: 'declarationId', type: 'string' }, { name: 'hsCode', type: 'string' },
977
+ { name: 'countryOfOrigin', type: 'string' }, { name: 'dutyAmount', type: 'number' },
978
+ { name: 'clearanceDate', type: 'string | null' }, { name: 'status', type: 'string' },
979
+ ] },
980
+ // E-commerce
981
+ { regex: /product[\s-]?catalog|pim|sku[\s-]?manag/i, extraFields: [
982
+ { name: 'sku', type: 'string' }, { name: 'name', type: 'string' },
983
+ { name: 'category', type: 'string' }, { name: 'price', type: 'number' },
984
+ { name: 'stockQuantity', type: 'number' }, { name: 'status', type: 'string' },
985
+ ] },
986
+ { regex: /shopping[\s-]?cart|checkout|cart[\s-]?abandon/i, extraFields: [
987
+ { name: 'cartId', type: 'string' }, { name: 'customerId', type: 'string' },
988
+ { name: 'itemCount', type: 'number' }, { name: 'totalAmount', type: 'number' },
989
+ { name: 'abandonedAt', type: 'string | null' }, { name: 'convertedAt', type: 'string | null' },
990
+ ] },
991
+ { regex: /return[\s-]?manag|rma|reverse[\s-]?logistic/i, extraFields: [
992
+ { name: 'rmaNumber', type: 'string' }, { name: 'orderId', type: 'string' },
993
+ { name: 'reason', type: 'string' }, { name: 'refundAmount', type: 'number' },
994
+ { name: 'condition', type: 'string' }, { name: 'status', type: 'string' },
995
+ ] },
996
+ { regex: /recommendation[\s-]?engine|personali[sz]/i, extraFields: [
997
+ { name: 'userId', type: 'string' }, { name: 'productId', type: 'string' },
998
+ { name: 'score', type: 'number' }, { name: 'algorithm', type: 'string' },
999
+ { name: 'reason', type: 'string' }, { name: 'generatedAt', type: 'string' },
1000
+ ] },
1001
+ // HR expanded
1002
+ { regex: /payroll|compensation|benefit[\s-]?admin/i, extraFields: [
1003
+ { name: 'employeeId', type: 'string' }, { name: 'grossPay', type: 'number' },
1004
+ { name: 'deductions', type: 'number' }, { name: 'netPay', type: 'number' },
1005
+ { name: 'payPeriod', type: 'string' }, { name: 'status', type: 'string' },
1006
+ ] },
1007
+ { regex: /recruit|applicant[\s-]?track|talent[\s-]?acquis/i, extraFields: [
1008
+ { name: 'requisitionId', type: 'string' }, { name: 'candidateId', type: 'string' },
1009
+ { name: 'position', type: 'string' }, { name: 'stage', type: 'string' },
1010
+ { name: 'appliedAt', type: 'string' }, { name: 'status', type: 'string' },
1011
+ ] },
1012
+ { regex: /safety[\s-]?compliance|osha|incident[\s-]?report/i, extraFields: [
1013
+ { name: 'incidentId', type: 'string' }, { name: 'siteId', type: 'string' },
1014
+ { name: 'incidentType', type: 'string' }, { name: 'severity', type: 'string' },
1015
+ { name: 'reportedBy', type: 'string' }, { name: 'occurredAt', type: 'string' },
1016
+ { name: 'status', type: 'string' },
1017
+ ] },
621
1018
  { regex: /order|transfer|receipt/i, extraFields: [
622
1019
  { name: 'status', type: 'string' }, { name: 'amount', type: 'number' },
623
1020
  { name: 'createdAt', type: 'string' },