monora-ai 2.1.0 → 2.1.3

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 (184) hide show
  1. package/README.md +333 -159
  2. package/dist/aims_governance.d.ts +238 -0
  3. package/dist/aims_governance.d.ts.map +1 -0
  4. package/dist/aims_governance.js +922 -0
  5. package/dist/alerts.d.ts +16 -0
  6. package/dist/alerts.d.ts.map +1 -1
  7. package/dist/alerts.js +16 -0
  8. package/dist/api.d.ts +6 -0
  9. package/dist/api.d.ts.map +1 -1
  10. package/dist/api.js +6 -0
  11. package/dist/assessment.d.ts +85 -0
  12. package/dist/assessment.d.ts.map +1 -1
  13. package/dist/assessment.js +506 -13
  14. package/dist/attribution.d.ts +44 -3
  15. package/dist/attribution.d.ts.map +1 -1
  16. package/dist/attribution.js +197 -10
  17. package/dist/autodetect.d.ts +68 -0
  18. package/dist/autodetect.d.ts.map +1 -1
  19. package/dist/autodetect.js +639 -0
  20. package/dist/bias.d.ts +130 -0
  21. package/dist/bias.d.ts.map +1 -0
  22. package/dist/bias.js +223 -0
  23. package/dist/cli/diagnostics.d.ts +5 -1
  24. package/dist/cli/diagnostics.d.ts.map +1 -1
  25. package/dist/cli/diagnostics.js +23 -6
  26. package/dist/cli/doctor.d.ts +25 -0
  27. package/dist/cli/doctor.d.ts.map +1 -0
  28. package/dist/cli/doctor.js +381 -0
  29. package/dist/cli/fix.d.ts +16 -0
  30. package/dist/cli/fix.d.ts.map +1 -0
  31. package/dist/cli/fix.js +284 -0
  32. package/dist/cli/init.d.ts +57 -0
  33. package/dist/cli/init.d.ts.map +1 -0
  34. package/dist/cli/init.js +205 -0
  35. package/dist/cli.js +1550 -176
  36. package/dist/complianceTargets.d.ts +111 -0
  37. package/dist/complianceTargets.d.ts.map +1 -0
  38. package/dist/complianceTargets.js +521 -0
  39. package/dist/config.d.ts +261 -16
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +381 -32
  42. package/dist/config_migrations.d.ts.map +1 -1
  43. package/dist/config_migrations.js +38 -1
  44. package/dist/config_schema.d.ts +2490 -1035
  45. package/dist/config_schema.d.ts.map +1 -1
  46. package/dist/config_schema.js +233 -64
  47. package/dist/context.d.ts +34 -0
  48. package/dist/context.d.ts.map +1 -1
  49. package/dist/context.js +118 -7
  50. package/dist/control_backbone.d.ts +122 -0
  51. package/dist/control_backbone.d.ts.map +1 -0
  52. package/dist/control_backbone.js +698 -0
  53. package/dist/data-governance.d.ts +187 -0
  54. package/dist/data-governance.d.ts.map +1 -0
  55. package/dist/data-governance.js +424 -0
  56. package/dist/dataResidency.d.ts +44 -0
  57. package/dist/dataResidency.d.ts.map +1 -0
  58. package/dist/dataResidency.js +203 -0
  59. package/dist/dispatcher.d.ts.map +1 -1
  60. package/dist/dispatcher.js +17 -5
  61. package/dist/evidence_store.d.ts +103 -0
  62. package/dist/evidence_store.d.ts.map +1 -0
  63. package/dist/evidence_store.js +459 -0
  64. package/dist/executiveSummary.d.ts +15 -0
  65. package/dist/executiveSummary.d.ts.map +1 -1
  66. package/dist/executiveSummary.js +135 -22
  67. package/dist/identity.d.ts +143 -0
  68. package/dist/identity.d.ts.map +1 -0
  69. package/dist/identity.js +231 -0
  70. package/dist/impact-assessment.d.ts +350 -0
  71. package/dist/impact-assessment.d.ts.map +1 -0
  72. package/dist/impact-assessment.js +580 -0
  73. package/dist/index.d.ts +20 -4
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +247 -5
  76. package/dist/instrumentation.d.ts +1 -1
  77. package/dist/instrumentation.d.ts.map +1 -1
  78. package/dist/instrumentation.js +123 -22
  79. package/dist/integrations/anthropic.d.ts +3 -0
  80. package/dist/integrations/anthropic.d.ts.map +1 -1
  81. package/dist/integrations/anthropic.js +282 -80
  82. package/dist/integrations/governance.d.ts +33 -0
  83. package/dist/integrations/governance.d.ts.map +1 -0
  84. package/dist/integrations/governance.js +208 -0
  85. package/dist/integrations/langchain.d.ts +4 -0
  86. package/dist/integrations/langchain.d.ts.map +1 -1
  87. package/dist/integrations/langchain.js +362 -142
  88. package/dist/integrations/openai.d.ts +9 -0
  89. package/dist/integrations/openai.d.ts.map +1 -1
  90. package/dist/integrations/openai.js +673 -73
  91. package/dist/iso42001_consolidation.d.ts +16 -0
  92. package/dist/iso42001_consolidation.d.ts.map +1 -0
  93. package/dist/iso42001_consolidation.js +413 -0
  94. package/dist/iso42001_workflows.d.ts +263 -0
  95. package/dist/iso42001_workflows.d.ts.map +1 -0
  96. package/dist/iso42001_workflows.js +781 -0
  97. package/dist/lifecycle.d.ts +299 -0
  98. package/dist/lifecycle.d.ts.map +1 -0
  99. package/dist/lifecycle.js +624 -0
  100. package/dist/lineage.d.ts +2 -2
  101. package/dist/lineage.d.ts.map +1 -1
  102. package/dist/lineage.js +9 -16
  103. package/dist/middleware/express.d.ts.map +1 -1
  104. package/dist/middleware/express.js +18 -3
  105. package/dist/middleware/nextjs.js +2 -2
  106. package/dist/model.d.ts +143 -0
  107. package/dist/model.d.ts.map +1 -0
  108. package/dist/model.js +371 -0
  109. package/dist/onboarding.d.ts +42 -0
  110. package/dist/onboarding.d.ts.map +1 -0
  111. package/dist/onboarding.js +1022 -0
  112. package/dist/oversight.d.ts +264 -0
  113. package/dist/oversight.d.ts.map +1 -0
  114. package/dist/oversight.js +497 -0
  115. package/dist/presets.js +7 -7
  116. package/dist/quotas.d.ts +171 -0
  117. package/dist/quotas.d.ts.map +1 -0
  118. package/dist/quotas.js +259 -0
  119. package/dist/register.d.ts +13 -0
  120. package/dist/register.d.ts.map +1 -0
  121. package/dist/register.js +99 -0
  122. package/dist/registry.d.ts +1 -0
  123. package/dist/registry.d.ts.map +1 -1
  124. package/dist/registry.js +7 -0
  125. package/dist/registryData.json +43 -6
  126. package/dist/report.d.ts +2 -1
  127. package/dist/report.d.ts.map +1 -1
  128. package/dist/report.js +189 -2
  129. package/dist/reporting.d.ts +125 -0
  130. package/dist/reporting.d.ts.map +1 -1
  131. package/dist/reporting.js +192 -2
  132. package/dist/resources.d.ts +285 -0
  133. package/dist/resources.d.ts.map +1 -0
  134. package/dist/resources.js +643 -0
  135. package/dist/risk.d.ts +120 -0
  136. package/dist/risk.d.ts.map +1 -0
  137. package/dist/risk.js +220 -0
  138. package/dist/runtime.d.ts +73 -0
  139. package/dist/runtime.d.ts.map +1 -1
  140. package/dist/runtime.js +415 -18
  141. package/dist/schemaInference.d.ts +92 -0
  142. package/dist/schemaInference.d.ts.map +1 -0
  143. package/dist/schemaInference.js +466 -0
  144. package/dist/schema_validation.js +2 -2
  145. package/dist/schemas/config.schema.json +118 -4
  146. package/dist/security_report.js +4 -4
  147. package/dist/signing.d.ts +1 -1
  148. package/dist/signing.d.ts.map +1 -1
  149. package/dist/signing.js +4 -0
  150. package/dist/sinks/file.d.ts +19 -1
  151. package/dist/sinks/file.d.ts.map +1 -1
  152. package/dist/sinks/file.js +82 -13
  153. package/dist/sinks/https.d.ts +10 -0
  154. package/dist/sinks/https.d.ts.map +1 -1
  155. package/dist/sinks/https.js +76 -16
  156. package/dist/sinks/stdout.d.ts +1 -0
  157. package/dist/sinks/stdout.d.ts.map +1 -1
  158. package/dist/sinks/stdout.js +12 -1
  159. package/dist/spec.d.ts +159 -0
  160. package/dist/spec.d.ts.map +1 -0
  161. package/dist/spec.js +391 -0
  162. package/dist/stakeholders.d.ts +199 -0
  163. package/dist/stakeholders.d.ts.map +1 -0
  164. package/dist/stakeholders.js +398 -0
  165. package/dist/standards.d.ts.map +1 -1
  166. package/dist/standards.js +160 -2
  167. package/dist/standards_ingest.d.ts.map +1 -1
  168. package/dist/standards_ingest.js +1 -4
  169. package/dist/telemetry.d.ts +16 -2
  170. package/dist/telemetry.d.ts.map +1 -1
  171. package/dist/telemetry.js +77 -14
  172. package/dist/templates/controls/iso42001_control_catalog.json +1443 -0
  173. package/dist/traced_emitter.d.ts.map +1 -1
  174. package/dist/traced_emitter.js +19 -9
  175. package/dist/trust_package.d.ts +19 -1
  176. package/dist/trust_package.d.ts.map +1 -1
  177. package/dist/trust_package.js +89 -2
  178. package/dist/verify.d.ts.map +1 -1
  179. package/dist/verify.js +9 -2
  180. package/dist/wal.d.ts.map +1 -1
  181. package/dist/wal.js +2 -1
  182. package/package.json +14 -1
  183. package/scripts/postinstall.js +105 -210
  184. package/templates/controls/iso42001_control_catalog.json +1443 -0
package/dist/index.js CHANGED
@@ -4,11 +4,15 @@
4
4
  * Lightweight governance and trace SDK for AI systems
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.clearAuditCallbacks = exports.onEvent = exports.EventDispatcher = exports.EventBuilder = exports.generateUlid = exports.ulid = exports.verifyEventSignature = exports.createSignerFromConfig = exports.SignatureVerifier = exports.EventSigner = exports.createWalFromConfig = exports.WriteAheadLog = exports.selectPresetForEnvironment = exports.autoDetectConfig = exports.detectInstalledSdks = exports.detectServiceName = exports.detectEnvironment = exports.buildConfigFromOptions = exports.getPresetConfig = exports.parseSinkConfig = exports.PRESETS = exports.loadConfig = exports.wrapEmitterWithContext = exports.TracedEventEmitter = exports.tracedNextTick = exports.tracedSetImmediate = exports.tracedSetInterval = exports.tracedSetTimeout = exports.bindContext = exports.runInContext = exports.captureContext = exports.nextEventSequence = exports.nextStepNumber = exports.startSpan = exports.traceAsync = exports.trace = exports.popSpan = exports.pushSpan = exports.getCurrentSpan = exports.getCurrentContext = exports.ChainVerificationError = exports.detectSequenceGaps = exports.detectTampering = exports.verifyTraceChain = exports.verifyChain = exports.verifyEventHash = exports.Hasher = exports.ModelRegistry = exports.PolicyViolation = exports.PolicyEngine = void 0;
8
- exports.getDataSources = exports.clearLineageContext = exports.addInputEvent = exports.addDataSource = exports.InstrumentationError = exports.autoInstrument = exports.callAgent = exports.callTool = exports.callLlm = exports.agentStepDecorator = exports.toolCallDecorator = exports.llmCallDecorator = exports.exportTrustPackage = exports.setViolationHandler = exports.agentStep = exports.toolCall = exports.llmCall = exports.logEvent = exports.shutdown = exports.init = exports.FRAMEWORK_WEIGHTS = exports.getFrameworkWeights = exports.writeExecutiveSummary = exports.generateExecutiveSummary = exports.calculateComplianceScore = exports.getEventBus = exports.EventBus = exports.clearSubscriptions = exports.publishEvent = exports.unsubscribe = exports.subscribe = exports.serializeReport = exports.signReportGpg = exports.buildAttestationBundle = exports.generateSecurityReport = exports.writeMarkdown = exports.writeJson = exports.loadJsonl = exports.buildReport = exports.buildViolationPayload = exports.AlertError = exports.ViolationWebhookDispatcher = exports.buildDataViolation = exports.DataHandlingViolation = exports.DataHandlingEngine = exports.HttpSink = exports.FileSink = exports.StdoutSink = exports.SinkError = exports.getAuditCallbackCount = void 0;
9
- exports.generateCompliancePdf = exports.PDFGenerationError = exports.PUPPETEER_AVAILABLE = exports.logProductionWarnings = exports.checkPresetEnvironmentMismatch = exports.validateProductionReadiness = exports.LATEST_CONFIG_VERSION = exports.applyConfigMigrations = exports.MonoraConfigSchema = exports.ConfigValidationError = exports.getValidationErrors = exports.isValidConfig = exports.validateConfig = exports.getLogLevel = exports.setLogLevel = exports.LogLevel = exports.logger = exports.MonoraCallbackHandler = exports.patchAnthropic = exports.patchOpenAI = exports.emitResults = exports.doctorChecks = exports.validateConfigDiagnostics = exports.isNextjsAvailable = exports.withMonoraAction = exports.withMonoraRoute = exports.withMonoraApi = exports.withMonoraMiddleware = exports.monoraErrorHandler = exports.monoraMiddleware = exports.TRACESTATE_HEADER = exports.TRACEPARENT_HEADER = exports.makeTracestate = exports.makeTraceparent = exports.injectHeaders = exports.extractContext = exports.continueTraceAsync = exports.continueTrace = exports.withPrompt = exports.withInputs = exports.withDataSources = exports.setTemplateId = exports.setPromptId = exports.setCurrentEvent = exports.runWithLineageAsync = exports.runWithLineage = exports.getTemplateId = exports.getPromptId = exports.getParentEventId = exports.getInputEvents = void 0;
10
- exports.POC = exports.DEVELOPMENT = exports.mergeWithPreset = exports.getCompliancePresetConfig = exports.listPresets = exports.getPreset = exports.COMPLIANCE_PRESETS = exports.configureHttp = exports.sendTelemetryEvent = exports.getInstallId = exports.getAuditMetadata = exports.setAuditMetadata = exports.getDataResidency = exports.setDataResidency = exports.onAttributionEvent = exports.reportUsage = exports.buildUsageReport = exports.getFeaturesUsed = exports.recordFeatureUsage = exports.isTelemetryEnabled = exports.disableTelemetry = exports.enableTelemetry = exports.getRegistration = exports.registerProject = exports.recordCircuitBreakerTrip = exports.recordCircuitBreakerState = exports.recordRetryQueueDrops = exports.recordRetryQueueOldestAge = exports.recordRetryQueueDepth = exports.recordQueueDepth = exports.recordTokens = exports.recordViolation = exports.recordApiCall = exports.recordEvent = exports.closeMetrics = exports.initMetrics = exports.getMetricsCollector = exports.Timer = exports.StatsdBackend = exports.PrometheusBackend = exports.MinimalBackend = exports.MetricsBackend = exports.MetricsCollector = exports.STATSD_AVAILABLE = exports.PROMETHEUS_AVAILABLE = exports.CircuitState = exports.CircuitBreakerError = exports.CircuitBreaker = exports.computePdfSha256 = exports.generateAIActPdf = void 0;
11
- exports.generateAssessmentReport = exports.onComplianceCheck = exports.reportUsageProfile = exports.runComplianceCheck = exports.LOW_LATENCY = exports.AUDIT_FIRST = exports.EXPERIMENTAL = exports.DEFAULT_SECURE = exports.STRICT_ENTERPRISE = exports.PRODUCTION = exports.STAGING = void 0;
7
+ exports.verifyEventSignature = exports.createSignerFromConfig = exports.SignatureVerifier = exports.EventSigner = exports.createWalFromConfig = exports.WriteAheadLog = exports.buildSmartConfig = exports.analyzeProjectWithAI = exports.detectFramework = exports.selectPresetForEnvironment = exports.autoDetectConfig = exports.detectInstalledSdks = exports.detectServiceName = exports.detectEnvironment = exports.detectEndpointRegion = exports.enforceDataResidency = exports.validateDataResidency = exports.buildConfigFromOptions = exports.getPresetConfig = exports.parseSinkConfig = exports.PRESETS = exports.loadConfig = exports.wrapEmitterWithContext = exports.TracedEventEmitter = exports.tracedNextTick = exports.tracedSetImmediate = exports.tracedSetInterval = exports.tracedSetTimeout = exports.bindContext = exports.runInContext = exports.captureContext = exports.nextEventSequence = exports.nextStepNumber = exports.startSpan = exports.traceAsync = exports.trace = exports.popSpan = exports.pushSpan = exports.getCurrentSpan = exports.getCurrentContext = exports.ChainVerificationError = exports.detectSequenceGaps = exports.detectTampering = exports.verifyTraceChain = exports.verifyChain = exports.verifyEventHash = exports.Hasher = exports.ModelRegistry = exports.PolicyViolation = exports.PolicyEngine = void 0;
8
+ exports.callAgent = exports.callTool = exports.callLlm = exports.agentStepDecorator = exports.toolCallDecorator = exports.llmCallDecorator = exports.exportTrustPackage = exports.setViolationHandler = exports.agentStep = exports.toolCall = exports.llmCall = exports.logEvent = exports.shutdown = exports.init = exports.FRAMEWORK_WEIGHTS = exports.getFrameworkWeights = exports.writeExecutiveSummary = exports.generateExecutiveSummary = exports.calculateComplianceScore = exports.getEventBus = exports.EventBus = exports.clearSubscriptions = exports.publishEvent = exports.unsubscribe = exports.subscribe = exports.serializeReport = exports.signReportGpg = exports.buildAttestationBundle = exports.generateSecurityReport = exports.writeMarkdown = exports.writeJson = exports.loadJsonl = exports.buildReport = exports.buildViolationPayload = exports.AlertError = exports.ViolationWebhookDispatcher = exports.buildDataViolation = exports.DataHandlingViolation = exports.DataHandlingEngine = exports.HttpSink = exports.FileSink = exports.StdoutSink = exports.SinkError = exports.getAuditCallbackCount = exports.clearAuditCallbacks = exports.onEvent = exports.EventDispatcher = exports.EventBuilder = exports.generateUlid = exports.ulid = void 0;
9
+ exports.LATEST_CONFIG_VERSION = exports.applyConfigMigrations = exports.MonoraConfigSchema = exports.ConfigValidationError = exports.getValidationErrors = exports.isValidConfig = exports.validateConfig = exports.getLogLevel = exports.setLogLevel = exports.LogLevel = exports.logger = exports.MonoraCallbackHandler = exports.patchAnthropic = exports.patchOpenAI = exports.emitResults = exports.doctorChecks = exports.validateConfigDiagnostics = exports.isNextjsAvailable = exports.withMonoraAction = exports.withMonoraRoute = exports.withMonoraApi = exports.withMonoraMiddleware = exports.monoraErrorHandler = exports.monoraMiddleware = exports.TRACESTATE_HEADER = exports.TRACEPARENT_HEADER = exports.makeTracestate = exports.makeTraceparent = exports.injectHeaders = exports.extractContext = exports.continueTraceAsync = exports.continueTrace = exports.withPrompt = exports.withInputs = exports.withDataSources = exports.setTemplateId = exports.setPromptId = exports.setCurrentEvent = exports.runWithLineageAsync = exports.runWithLineage = exports.getTemplateId = exports.getPromptId = exports.getParentEventId = exports.getInputEvents = exports.getDataSources = exports.clearLineageContext = exports.addInputEvent = exports.addDataSource = exports.InstrumentationError = exports.autoInstrument = void 0;
10
+ exports.hasShownFirstRunPrompt = exports.configureHttp = exports.sendTelemetryEvent = exports.getInstallId = exports.getAuditMetadata = exports.setAuditMetadata = exports.getDataResidency = exports.setDataResidency = exports.onAttributionEvent = exports.reportUsage = exports.buildUsageReport = exports.getFeaturesUsed = exports.recordFeatureUsage = exports.isTelemetryEnabled = exports.disableTelemetry = exports.enableTelemetry = exports.getRegistration = exports.registerProject = exports.recordCircuitBreakerTrip = exports.recordCircuitBreakerState = exports.recordRetryQueueDrops = exports.recordRetryQueueOldestAge = exports.recordRetryQueueDepth = exports.recordQueueDepth = exports.recordTokens = exports.recordViolation = exports.recordApiCall = exports.recordEvent = exports.closeMetrics = exports.initMetrics = exports.getMetricsCollector = exports.Timer = exports.StatsdBackend = exports.PrometheusBackend = exports.MinimalBackend = exports.MetricsBackend = exports.MetricsCollector = exports.STATSD_AVAILABLE = exports.PROMETHEUS_AVAILABLE = exports.CircuitState = exports.CircuitBreakerError = exports.CircuitBreaker = exports.computePdfSha256 = exports.generateAIActPdf = exports.generateCompliancePdf = exports.PDFGenerationError = exports.PUPPETEER_AVAILABLE = exports.logProductionWarnings = exports.checkPresetEnvironmentMismatch = exports.validateProductionReadiness = void 0;
11
+ exports.measurementToEventBody = exports.metricsToDict = exports.getAllRiskAssessments = exports.validateModelRisk = exports.getRiskForEvent = exports.clearRiskRegistry = exports.unregisterModelRisk = exports.registerModelRisk = exports.getRiskAssessment = exports.assessmentToDict = exports.validateIdentityRequirement = exports.getIdentityForEvent = exports.bindIdentity = exports.withIdentityAsync = exports.withIdentity = exports.clearIdentity = exports.getIdentity = exports.setIdentity = exports.identityToDict = exports.QuotaManager = exports.TraceQuotaTracker = exports.QuotaExceededError = exports.DEFAULT_QUOTAS = exports.resolveEnrichmentPlan = exports.getOnboardingStatus = exports.completeOnboarding = exports.validateOnboarding = exports.buildModelSpec = exports.generateAssessmentReport = exports.onComplianceCheck = exports.reportUsageProfile = exports.runComplianceCheck = exports.LOW_LATENCY = exports.AUDIT_FIRST = exports.EXPERIMENTAL = exports.DEFAULT_SECURE = exports.STRICT_ENTERPRISE = exports.PRODUCTION = exports.STAGING = exports.POC = exports.DEVELOPMENT = exports.mergeWithPreset = exports.getCompliancePresetConfig = exports.listPresets = exports.getPreset = exports.COMPLIANCE_PRESETS = exports.resetFirstRunPrompt = exports.showFirstRunPromptIfNeeded = exports.promptForRegistration = exports.hasRegistration = void 0;
12
+ exports.recordResponsibleDevelopmentObjectives = exports.recordImpactAssessment = exports.recordResourceCompetency = exports.recordResourceInventory = exports.recordPolicyAlignment = exports.clearIso42001WorkflowData = exports.loadAimsGovernanceState = exports.exportAimsGovernanceState = exports.buildAimsGovernanceStatePayload = exports.getAimsGovernanceSummary = exports.getOpenConcerns = exports.listConcernReports = exports.getConcernReport = exports.resolveConcernReport = exports.updateConcernReport = exports.fileConcernReport = exports.listGovernanceTrainingRecords = exports.recordGovernanceTraining = exports.listRaciEntries = exports.registerRaciEntry = exports.getAimsContext = exports.recordAimsContext = exports.getDuePolicyReviews = exports.listPolicyDocuments = exports.getPolicyDocument = exports.setPolicyReviewCadence = exports.recordPolicyReview = exports.rejectPolicyVersion = exports.approvePolicyVersion = exports.submitPolicyVersion = exports.addPolicyVersion = exports.createPolicyDocument = exports.clearAimsGovernanceData = exports.clearOversightData = exports.getOversightSummary = exports.checkReviewRequired = exports.getTimedOutReviews = exports.getPendingReviews = exports.requireReview = exports.recordHumanOverride = exports.recordHumanReview = exports.overrideToEventBody = exports.reviewToEventBody = exports.getBiasSummary = exports.clearBiasMeasurements = exports.getAllBiasMeasurements = exports.getMeasurementCallback = exports.setMeasurementCallback = exports.checkThresholdViolations = exports.recordBiasMeasurement = void 0;
13
+ exports.generateControlCoverageReport = exports.prioritizeMissingWorkflowModules = exports.bootstrapWorkflowsFromCatalog = exports.importEvidenceManifest = exports.attachControlEvidence = exports.expireWorkflowTask = exports.approveControlEvidence = exports.submitWorkflowTask = exports.transitionWorkflowTask = exports.listWorkflowTasks = exports.getWorkflowTask = exports.createWorkflowTask = exports.resolveControlIdsForEvidenceTypes = exports.loadDefaultIso42001Catalog = exports.getControlCatalog = exports.loadControlCatalog = exports.setControlCatalog = exports.clearControlRuntime = exports.consolidateAndIdentifyIso42001Gaps = exports.identifyIso42001RemainingGaps = exports.consolidateLegacyIso42001Modules = exports.loadIso42001WorkflowState = exports.exportIso42001WorkflowState = exports.getIso42001WorkflowSummary = exports.listIso42001WorkflowRecords = exports.getIso42001WorkflowRecord = exports.recordCorrectiveActionLog = exports.recordManagementReviewMinutes = exports.recordInternalAuditReport = exports.recordCustomerExpectationAlignment = exports.recordSupplierAssurance = exports.recordThirdPartyResponsibilityMatrix = exports.recordIntendedUseStatement = exports.recordResponsibleUseObjectives = exports.recordResponsibleUseProcess = exports.recordReportingObligations = exports.recordIncidentCommunicationPlan = exports.recordAdverseImpactReporting = exports.recordTransparencyDisclosure = exports.recordDataPreparationCriteria = exports.recordDataProvenanceProcess = exports.recordDataQualityCriteria = exports.recordDataAcquisition = exports.recordLifecycleEventLoggingPolicy = exports.recordStakeholderTechnicalDocumentation = exports.recordOperationsMonitoringPlan = exports.recordDeploymentPlan = exports.recordVerificationValidationPlan = exports.recordRequirementsSpecification = exports.recordResponsibleDevelopmentProcess = void 0;
14
+ exports.saveModel = exports.modelFromJson = exports.modelFromDict = exports.modelToJson = exports.modelToDict = exports.generateConfig = exports.validateEvent = exports.modelFromSpec = exports.modelFromData = exports.validationResultToDict = exports.createValidationResult = exports.createMonoraModel = exports.generateInferenceReport = exports.loadEventsFromFile = exports.inferSchemaFromFile = exports.inferSchemaFromEvents = exports.computeFieldStats = exports.collectFieldValues = exports.flattenDict = exports.detectTimestampField = exports.suggestRole = exports.detectPiiType = exports.detectFieldType = exports.specFromDict = exports.specToDict = exports.specFromSchemaContract = exports.specToConfig = exports.specToSchemaContract = exports.getPiiFields = exports.getAllFields = exports.fieldSpecToRedactionRule = exports.fieldSpecToJsonSchema = exports.mergeEnrichmentConfigs = exports.enrichmentConfigForFramework = exports.createMonoraSpec = exports.createEnrichmentConfig = exports.createFieldSpec = exports.buildRuntimeEvidenceManifest = exports.recordRuntimeEvidence = exports.clearRuntimeEvidenceStore = exports.getRuntimeEvidenceStore = exports.buildHashedEvidenceManifest = exports.buildEvidenceLineageGraph = exports.verifyEvidenceHashChain = exports.buildEvidenceHashChain = exports.computeEvidenceItemHash = exports.EvidenceStore = exports.loadWorkflowState = exports.exportWorkflowState = exports.buildWorkflowStatePayload = void 0;
15
+ exports.isFrameworkSupported = exports.getControlMappings = exports.suggestFrameworksForIndustry = exports.generateComplianceConfig = exports.validateComplianceConfig = exports.getRequiredEnrichments = exports.getAllFrameworks = exports.getFrameworkMetadata = exports.createComplianceTargets = exports.ISO42001_CONTROL_MAPPINGS = exports.GDPR_ARTICLE_MAPPINGS = exports.SOC2_CONTROL_MAPPINGS = exports.modelToString = exports.saveConfig = exports.saveSchemaContract = exports.loadModel = void 0;
12
16
  var policy_1 = require("./policy");
13
17
  Object.defineProperty(exports, "PolicyEngine", { enumerable: true, get: function () { return policy_1.PolicyEngine; } });
14
18
  Object.defineProperty(exports, "PolicyViolation", { enumerable: true, get: function () { return policy_1.PolicyViolation; } });
@@ -50,12 +54,21 @@ Object.defineProperty(exports, "PRESETS", { enumerable: true, get: function () {
50
54
  Object.defineProperty(exports, "parseSinkConfig", { enumerable: true, get: function () { return config_1.parseSinkConfig; } });
51
55
  Object.defineProperty(exports, "getPresetConfig", { enumerable: true, get: function () { return config_1.getPresetConfig; } });
52
56
  Object.defineProperty(exports, "buildConfigFromOptions", { enumerable: true, get: function () { return config_1.buildConfigFromOptions; } });
57
+ // Data Residency
58
+ var dataResidency_1 = require("./dataResidency");
59
+ Object.defineProperty(exports, "validateDataResidency", { enumerable: true, get: function () { return dataResidency_1.validateDataResidency; } });
60
+ Object.defineProperty(exports, "enforceDataResidency", { enumerable: true, get: function () { return dataResidency_1.enforceDataResidency; } });
61
+ Object.defineProperty(exports, "detectEndpointRegion", { enumerable: true, get: function () { return dataResidency_1.detectEndpointRegion; } });
53
62
  var autodetect_1 = require("./autodetect");
54
63
  Object.defineProperty(exports, "detectEnvironment", { enumerable: true, get: function () { return autodetect_1.detectEnvironment; } });
55
64
  Object.defineProperty(exports, "detectServiceName", { enumerable: true, get: function () { return autodetect_1.detectServiceName; } });
56
65
  Object.defineProperty(exports, "detectInstalledSdks", { enumerable: true, get: function () { return autodetect_1.detectInstalledSdks; } });
57
66
  Object.defineProperty(exports, "autoDetectConfig", { enumerable: true, get: function () { return autodetect_1.autoDetectConfig; } });
58
67
  Object.defineProperty(exports, "selectPresetForEnvironment", { enumerable: true, get: function () { return autodetect_1.selectPresetForEnvironment; } });
68
+ // Enhanced detection for streamlined setup
69
+ Object.defineProperty(exports, "detectFramework", { enumerable: true, get: function () { return autodetect_1.detectFramework; } });
70
+ Object.defineProperty(exports, "analyzeProjectWithAI", { enumerable: true, get: function () { return autodetect_1.analyzeProjectWithAI; } });
71
+ Object.defineProperty(exports, "buildSmartConfig", { enumerable: true, get: function () { return autodetect_1.buildSmartConfig; } });
59
72
  var wal_1 = require("./wal");
60
73
  Object.defineProperty(exports, "WriteAheadLog", { enumerable: true, get: function () { return wal_1.WriteAheadLog; } });
61
74
  Object.defineProperty(exports, "createWalFromConfig", { enumerable: true, get: function () { return wal_1.createWalFromConfig; } });
@@ -249,6 +262,12 @@ Object.defineProperty(exports, "getAuditMetadata", { enumerable: true, get: func
249
262
  Object.defineProperty(exports, "getInstallId", { enumerable: true, get: function () { return attribution_1.getInstallId; } });
250
263
  Object.defineProperty(exports, "sendTelemetryEvent", { enumerable: true, get: function () { return attribution_1.sendTelemetryEvent; } });
251
264
  Object.defineProperty(exports, "configureHttp", { enumerable: true, get: function () { return attribution_1.configureHttp; } });
265
+ // First-run prompt
266
+ Object.defineProperty(exports, "hasShownFirstRunPrompt", { enumerable: true, get: function () { return attribution_1.hasShownFirstRunPrompt; } });
267
+ Object.defineProperty(exports, "hasRegistration", { enumerable: true, get: function () { return attribution_1.hasRegistration; } });
268
+ Object.defineProperty(exports, "promptForRegistration", { enumerable: true, get: function () { return attribution_1.promptForRegistration; } });
269
+ Object.defineProperty(exports, "showFirstRunPromptIfNeeded", { enumerable: true, get: function () { return attribution_1.showFirstRunPromptIfNeeded; } });
270
+ Object.defineProperty(exports, "resetFirstRunPrompt", { enumerable: true, get: function () { return attribution_1.resetFirstRunPrompt; } });
252
271
  // Presets
253
272
  var presets_1 = require("./presets");
254
273
  Object.defineProperty(exports, "COMPLIANCE_PRESETS", { enumerable: true, get: function () { return presets_1.PRESETS; } });
@@ -271,3 +290,226 @@ Object.defineProperty(exports, "runComplianceCheck", { enumerable: true, get: fu
271
290
  Object.defineProperty(exports, "reportUsageProfile", { enumerable: true, get: function () { return assessment_1.reportUsageProfile; } });
272
291
  Object.defineProperty(exports, "onComplianceCheck", { enumerable: true, get: function () { return assessment_1.onComplianceCheck; } });
273
292
  Object.defineProperty(exports, "generateAssessmentReport", { enumerable: true, get: function () { return assessment_1.generateAssessmentReport; } });
293
+ // Onboarding contract
294
+ var onboarding_1 = require("./onboarding");
295
+ Object.defineProperty(exports, "buildModelSpec", { enumerable: true, get: function () { return onboarding_1.buildModelSpec; } });
296
+ Object.defineProperty(exports, "validateOnboarding", { enumerable: true, get: function () { return onboarding_1.validateOnboarding; } });
297
+ Object.defineProperty(exports, "completeOnboarding", { enumerable: true, get: function () { return onboarding_1.completeOnboarding; } });
298
+ Object.defineProperty(exports, "getOnboardingStatus", { enumerable: true, get: function () { return onboarding_1.getOnboardingStatus; } });
299
+ Object.defineProperty(exports, "resolveEnrichmentPlan", { enumerable: true, get: function () { return onboarding_1.resolveEnrichmentPlan; } });
300
+ // Resource Quotas
301
+ var quotas_1 = require("./quotas");
302
+ Object.defineProperty(exports, "DEFAULT_QUOTAS", { enumerable: true, get: function () { return quotas_1.DEFAULT_QUOTAS; } });
303
+ Object.defineProperty(exports, "QuotaExceededError", { enumerable: true, get: function () { return quotas_1.QuotaExceededError; } });
304
+ Object.defineProperty(exports, "TraceQuotaTracker", { enumerable: true, get: function () { return quotas_1.TraceQuotaTracker; } });
305
+ Object.defineProperty(exports, "QuotaManager", { enumerable: true, get: function () { return quotas_1.QuotaManager; } });
306
+ // Identity Tracking (SOC 2 CC6)
307
+ var identity_1 = require("./identity");
308
+ Object.defineProperty(exports, "identityToDict", { enumerable: true, get: function () { return identity_1.identityToDict; } });
309
+ Object.defineProperty(exports, "setIdentity", { enumerable: true, get: function () { return identity_1.setIdentity; } });
310
+ Object.defineProperty(exports, "getIdentity", { enumerable: true, get: function () { return identity_1.getIdentity; } });
311
+ Object.defineProperty(exports, "clearIdentity", { enumerable: true, get: function () { return identity_1.clearIdentity; } });
312
+ Object.defineProperty(exports, "withIdentity", { enumerable: true, get: function () { return identity_1.withIdentity; } });
313
+ Object.defineProperty(exports, "withIdentityAsync", { enumerable: true, get: function () { return identity_1.withIdentityAsync; } });
314
+ Object.defineProperty(exports, "bindIdentity", { enumerable: true, get: function () { return identity_1.bindIdentity; } });
315
+ Object.defineProperty(exports, "getIdentityForEvent", { enumerable: true, get: function () { return identity_1.getIdentityForEvent; } });
316
+ Object.defineProperty(exports, "validateIdentityRequirement", { enumerable: true, get: function () { return identity_1.validateIdentityRequirement; } });
317
+ // Risk Register (SOC 2 CC3, ISO 42001 6.1)
318
+ var risk_1 = require("./risk");
319
+ Object.defineProperty(exports, "assessmentToDict", { enumerable: true, get: function () { return risk_1.assessmentToDict; } });
320
+ Object.defineProperty(exports, "getRiskAssessment", { enumerable: true, get: function () { return risk_1.getRiskAssessment; } });
321
+ Object.defineProperty(exports, "registerModelRisk", { enumerable: true, get: function () { return risk_1.registerModelRisk; } });
322
+ Object.defineProperty(exports, "unregisterModelRisk", { enumerable: true, get: function () { return risk_1.unregisterModelRisk; } });
323
+ Object.defineProperty(exports, "clearRiskRegistry", { enumerable: true, get: function () { return risk_1.clearRuntimeRegistry; } });
324
+ Object.defineProperty(exports, "getRiskForEvent", { enumerable: true, get: function () { return risk_1.getRiskForEvent; } });
325
+ Object.defineProperty(exports, "validateModelRisk", { enumerable: true, get: function () { return risk_1.validateModelRisk; } });
326
+ Object.defineProperty(exports, "getAllRiskAssessments", { enumerable: true, get: function () { return risk_1.getAllAssessments; } });
327
+ // Bias Metrics (ISO 42001 7.x, EU AI Act Art.10)
328
+ var bias_1 = require("./bias");
329
+ Object.defineProperty(exports, "metricsToDict", { enumerable: true, get: function () { return bias_1.metricsToDict; } });
330
+ Object.defineProperty(exports, "measurementToEventBody", { enumerable: true, get: function () { return bias_1.measurementToEventBody; } });
331
+ Object.defineProperty(exports, "recordBiasMeasurement", { enumerable: true, get: function () { return bias_1.recordBiasMeasurement; } });
332
+ Object.defineProperty(exports, "checkThresholdViolations", { enumerable: true, get: function () { return bias_1.checkThresholdViolations; } });
333
+ Object.defineProperty(exports, "setMeasurementCallback", { enumerable: true, get: function () { return bias_1.setMeasurementCallback; } });
334
+ Object.defineProperty(exports, "getMeasurementCallback", { enumerable: true, get: function () { return bias_1.getMeasurementCallback; } });
335
+ Object.defineProperty(exports, "getAllBiasMeasurements", { enumerable: true, get: function () { return bias_1.getAllMeasurements; } });
336
+ Object.defineProperty(exports, "clearBiasMeasurements", { enumerable: true, get: function () { return bias_1.clearMeasurements; } });
337
+ Object.defineProperty(exports, "getBiasSummary", { enumerable: true, get: function () { return bias_1.getBiasSummary; } });
338
+ // Human Oversight (ISO 42001 8.3, EU AI Act Art.14)
339
+ var oversight_1 = require("./oversight");
340
+ Object.defineProperty(exports, "reviewToEventBody", { enumerable: true, get: function () { return oversight_1.reviewToEventBody; } });
341
+ Object.defineProperty(exports, "overrideToEventBody", { enumerable: true, get: function () { return oversight_1.overrideToEventBody; } });
342
+ Object.defineProperty(exports, "recordHumanReview", { enumerable: true, get: function () { return oversight_1.recordHumanReview; } });
343
+ Object.defineProperty(exports, "recordHumanOverride", { enumerable: true, get: function () { return oversight_1.recordHumanOverride; } });
344
+ Object.defineProperty(exports, "requireReview", { enumerable: true, get: function () { return oversight_1.requireReview; } });
345
+ Object.defineProperty(exports, "getPendingReviews", { enumerable: true, get: function () { return oversight_1.getPendingReviews; } });
346
+ Object.defineProperty(exports, "getTimedOutReviews", { enumerable: true, get: function () { return oversight_1.getTimedOutReviews; } });
347
+ Object.defineProperty(exports, "checkReviewRequired", { enumerable: true, get: function () { return oversight_1.checkReviewRequired; } });
348
+ Object.defineProperty(exports, "getOversightSummary", { enumerable: true, get: function () { return oversight_1.getOversightSummary; } });
349
+ Object.defineProperty(exports, "clearOversightData", { enumerable: true, get: function () { return oversight_1.clearOversightData; } });
350
+ // AIMS Governance Workflows (ISO 42001 A.2/A.3/Clause 4/5/7)
351
+ var aims_governance_1 = require("./aims_governance");
352
+ Object.defineProperty(exports, "clearAimsGovernanceData", { enumerable: true, get: function () { return aims_governance_1.clearAimsGovernanceData; } });
353
+ Object.defineProperty(exports, "createPolicyDocument", { enumerable: true, get: function () { return aims_governance_1.createPolicyDocument; } });
354
+ Object.defineProperty(exports, "addPolicyVersion", { enumerable: true, get: function () { return aims_governance_1.addPolicyVersion; } });
355
+ Object.defineProperty(exports, "submitPolicyVersion", { enumerable: true, get: function () { return aims_governance_1.submitPolicyVersion; } });
356
+ Object.defineProperty(exports, "approvePolicyVersion", { enumerable: true, get: function () { return aims_governance_1.approvePolicyVersion; } });
357
+ Object.defineProperty(exports, "rejectPolicyVersion", { enumerable: true, get: function () { return aims_governance_1.rejectPolicyVersion; } });
358
+ Object.defineProperty(exports, "recordPolicyReview", { enumerable: true, get: function () { return aims_governance_1.recordPolicyReview; } });
359
+ Object.defineProperty(exports, "setPolicyReviewCadence", { enumerable: true, get: function () { return aims_governance_1.setPolicyReviewCadence; } });
360
+ Object.defineProperty(exports, "getPolicyDocument", { enumerable: true, get: function () { return aims_governance_1.getPolicyDocument; } });
361
+ Object.defineProperty(exports, "listPolicyDocuments", { enumerable: true, get: function () { return aims_governance_1.listPolicyDocuments; } });
362
+ Object.defineProperty(exports, "getDuePolicyReviews", { enumerable: true, get: function () { return aims_governance_1.getDuePolicyReviews; } });
363
+ Object.defineProperty(exports, "recordAimsContext", { enumerable: true, get: function () { return aims_governance_1.recordAimsContext; } });
364
+ Object.defineProperty(exports, "getAimsContext", { enumerable: true, get: function () { return aims_governance_1.getAimsContext; } });
365
+ Object.defineProperty(exports, "registerRaciEntry", { enumerable: true, get: function () { return aims_governance_1.registerRaciEntry; } });
366
+ Object.defineProperty(exports, "listRaciEntries", { enumerable: true, get: function () { return aims_governance_1.listRaciEntries; } });
367
+ Object.defineProperty(exports, "recordGovernanceTraining", { enumerable: true, get: function () { return aims_governance_1.recordGovernanceTraining; } });
368
+ Object.defineProperty(exports, "listGovernanceTrainingRecords", { enumerable: true, get: function () { return aims_governance_1.listGovernanceTrainingRecords; } });
369
+ Object.defineProperty(exports, "fileConcernReport", { enumerable: true, get: function () { return aims_governance_1.fileConcernReport; } });
370
+ Object.defineProperty(exports, "updateConcernReport", { enumerable: true, get: function () { return aims_governance_1.updateConcernReport; } });
371
+ Object.defineProperty(exports, "resolveConcernReport", { enumerable: true, get: function () { return aims_governance_1.resolveConcernReport; } });
372
+ Object.defineProperty(exports, "getConcernReport", { enumerable: true, get: function () { return aims_governance_1.getConcernReport; } });
373
+ Object.defineProperty(exports, "listConcernReports", { enumerable: true, get: function () { return aims_governance_1.listConcernReports; } });
374
+ Object.defineProperty(exports, "getOpenConcerns", { enumerable: true, get: function () { return aims_governance_1.getOpenConcerns; } });
375
+ Object.defineProperty(exports, "getAimsGovernanceSummary", { enumerable: true, get: function () { return aims_governance_1.getAimsGovernanceSummary; } });
376
+ Object.defineProperty(exports, "buildAimsGovernanceStatePayload", { enumerable: true, get: function () { return aims_governance_1.buildAimsGovernanceStatePayload; } });
377
+ Object.defineProperty(exports, "exportAimsGovernanceState", { enumerable: true, get: function () { return aims_governance_1.exportAimsGovernanceState; } });
378
+ Object.defineProperty(exports, "loadAimsGovernanceState", { enumerable: true, get: function () { return aims_governance_1.loadAimsGovernanceState; } });
379
+ // ISO 42001 Annex A workflow architecture (A.2-A.10)
380
+ var iso42001_workflows_1 = require("./iso42001_workflows");
381
+ Object.defineProperty(exports, "clearIso42001WorkflowData", { enumerable: true, get: function () { return iso42001_workflows_1.clearIso42001WorkflowData; } });
382
+ Object.defineProperty(exports, "recordPolicyAlignment", { enumerable: true, get: function () { return iso42001_workflows_1.recordPolicyAlignment; } });
383
+ Object.defineProperty(exports, "recordResourceInventory", { enumerable: true, get: function () { return iso42001_workflows_1.recordResourceInventory; } });
384
+ Object.defineProperty(exports, "recordResourceCompetency", { enumerable: true, get: function () { return iso42001_workflows_1.recordResourceCompetency; } });
385
+ Object.defineProperty(exports, "recordImpactAssessment", { enumerable: true, get: function () { return iso42001_workflows_1.recordImpactAssessment; } });
386
+ Object.defineProperty(exports, "recordResponsibleDevelopmentObjectives", { enumerable: true, get: function () { return iso42001_workflows_1.recordResponsibleDevelopmentObjectives; } });
387
+ Object.defineProperty(exports, "recordResponsibleDevelopmentProcess", { enumerable: true, get: function () { return iso42001_workflows_1.recordResponsibleDevelopmentProcess; } });
388
+ Object.defineProperty(exports, "recordRequirementsSpecification", { enumerable: true, get: function () { return iso42001_workflows_1.recordRequirementsSpecification; } });
389
+ Object.defineProperty(exports, "recordVerificationValidationPlan", { enumerable: true, get: function () { return iso42001_workflows_1.recordVerificationValidationPlan; } });
390
+ Object.defineProperty(exports, "recordDeploymentPlan", { enumerable: true, get: function () { return iso42001_workflows_1.recordDeploymentPlan; } });
391
+ Object.defineProperty(exports, "recordOperationsMonitoringPlan", { enumerable: true, get: function () { return iso42001_workflows_1.recordOperationsMonitoringPlan; } });
392
+ Object.defineProperty(exports, "recordStakeholderTechnicalDocumentation", { enumerable: true, get: function () { return iso42001_workflows_1.recordStakeholderTechnicalDocumentation; } });
393
+ Object.defineProperty(exports, "recordLifecycleEventLoggingPolicy", { enumerable: true, get: function () { return iso42001_workflows_1.recordLifecycleEventLoggingPolicy; } });
394
+ Object.defineProperty(exports, "recordDataAcquisition", { enumerable: true, get: function () { return iso42001_workflows_1.recordDataAcquisition; } });
395
+ Object.defineProperty(exports, "recordDataQualityCriteria", { enumerable: true, get: function () { return iso42001_workflows_1.recordDataQualityCriteria; } });
396
+ Object.defineProperty(exports, "recordDataProvenanceProcess", { enumerable: true, get: function () { return iso42001_workflows_1.recordDataProvenanceProcess; } });
397
+ Object.defineProperty(exports, "recordDataPreparationCriteria", { enumerable: true, get: function () { return iso42001_workflows_1.recordDataPreparationCriteria; } });
398
+ Object.defineProperty(exports, "recordTransparencyDisclosure", { enumerable: true, get: function () { return iso42001_workflows_1.recordTransparencyDisclosure; } });
399
+ Object.defineProperty(exports, "recordAdverseImpactReporting", { enumerable: true, get: function () { return iso42001_workflows_1.recordAdverseImpactReporting; } });
400
+ Object.defineProperty(exports, "recordIncidentCommunicationPlan", { enumerable: true, get: function () { return iso42001_workflows_1.recordIncidentCommunicationPlan; } });
401
+ Object.defineProperty(exports, "recordReportingObligations", { enumerable: true, get: function () { return iso42001_workflows_1.recordReportingObligations; } });
402
+ Object.defineProperty(exports, "recordResponsibleUseProcess", { enumerable: true, get: function () { return iso42001_workflows_1.recordResponsibleUseProcess; } });
403
+ Object.defineProperty(exports, "recordResponsibleUseObjectives", { enumerable: true, get: function () { return iso42001_workflows_1.recordResponsibleUseObjectives; } });
404
+ Object.defineProperty(exports, "recordIntendedUseStatement", { enumerable: true, get: function () { return iso42001_workflows_1.recordIntendedUseStatement; } });
405
+ Object.defineProperty(exports, "recordThirdPartyResponsibilityMatrix", { enumerable: true, get: function () { return iso42001_workflows_1.recordThirdPartyResponsibilityMatrix; } });
406
+ Object.defineProperty(exports, "recordSupplierAssurance", { enumerable: true, get: function () { return iso42001_workflows_1.recordSupplierAssurance; } });
407
+ Object.defineProperty(exports, "recordCustomerExpectationAlignment", { enumerable: true, get: function () { return iso42001_workflows_1.recordCustomerExpectationAlignment; } });
408
+ Object.defineProperty(exports, "recordInternalAuditReport", { enumerable: true, get: function () { return iso42001_workflows_1.recordInternalAuditReport; } });
409
+ Object.defineProperty(exports, "recordManagementReviewMinutes", { enumerable: true, get: function () { return iso42001_workflows_1.recordManagementReviewMinutes; } });
410
+ Object.defineProperty(exports, "recordCorrectiveActionLog", { enumerable: true, get: function () { return iso42001_workflows_1.recordCorrectiveActionLog; } });
411
+ Object.defineProperty(exports, "getIso42001WorkflowRecord", { enumerable: true, get: function () { return iso42001_workflows_1.getIso42001WorkflowRecord; } });
412
+ Object.defineProperty(exports, "listIso42001WorkflowRecords", { enumerable: true, get: function () { return iso42001_workflows_1.listIso42001WorkflowRecords; } });
413
+ Object.defineProperty(exports, "getIso42001WorkflowSummary", { enumerable: true, get: function () { return iso42001_workflows_1.getIso42001WorkflowSummary; } });
414
+ Object.defineProperty(exports, "exportIso42001WorkflowState", { enumerable: true, get: function () { return iso42001_workflows_1.exportIso42001WorkflowState; } });
415
+ Object.defineProperty(exports, "loadIso42001WorkflowState", { enumerable: true, get: function () { return iso42001_workflows_1.loadIso42001WorkflowState; } });
416
+ var iso42001_consolidation_1 = require("./iso42001_consolidation");
417
+ Object.defineProperty(exports, "consolidateLegacyIso42001Modules", { enumerable: true, get: function () { return iso42001_consolidation_1.consolidateLegacyIso42001Modules; } });
418
+ Object.defineProperty(exports, "identifyIso42001RemainingGaps", { enumerable: true, get: function () { return iso42001_consolidation_1.identifyIso42001RemainingGaps; } });
419
+ Object.defineProperty(exports, "consolidateAndIdentifyIso42001Gaps", { enumerable: true, get: function () { return iso42001_consolidation_1.consolidateAndIdentifyIso42001Gaps; } });
420
+ // ISO 42001 control/evidence workflow backbone
421
+ var control_backbone_1 = require("./control_backbone");
422
+ Object.defineProperty(exports, "clearControlRuntime", { enumerable: true, get: function () { return control_backbone_1.clearControlRuntime; } });
423
+ Object.defineProperty(exports, "setControlCatalog", { enumerable: true, get: function () { return control_backbone_1.setControlCatalog; } });
424
+ Object.defineProperty(exports, "loadControlCatalog", { enumerable: true, get: function () { return control_backbone_1.loadControlCatalog; } });
425
+ Object.defineProperty(exports, "getControlCatalog", { enumerable: true, get: function () { return control_backbone_1.getControlCatalog; } });
426
+ Object.defineProperty(exports, "loadDefaultIso42001Catalog", { enumerable: true, get: function () { return control_backbone_1.loadDefaultIso42001Catalog; } });
427
+ Object.defineProperty(exports, "resolveControlIdsForEvidenceTypes", { enumerable: true, get: function () { return control_backbone_1.resolveControlIdsForEvidenceTypes; } });
428
+ Object.defineProperty(exports, "createWorkflowTask", { enumerable: true, get: function () { return control_backbone_1.createWorkflowTask; } });
429
+ Object.defineProperty(exports, "getWorkflowTask", { enumerable: true, get: function () { return control_backbone_1.getWorkflowTask; } });
430
+ Object.defineProperty(exports, "listWorkflowTasks", { enumerable: true, get: function () { return control_backbone_1.listWorkflowTasks; } });
431
+ Object.defineProperty(exports, "transitionWorkflowTask", { enumerable: true, get: function () { return control_backbone_1.transitionWorkflowTask; } });
432
+ Object.defineProperty(exports, "submitWorkflowTask", { enumerable: true, get: function () { return control_backbone_1.submitWorkflowTask; } });
433
+ Object.defineProperty(exports, "approveControlEvidence", { enumerable: true, get: function () { return control_backbone_1.approveControlEvidence; } });
434
+ Object.defineProperty(exports, "expireWorkflowTask", { enumerable: true, get: function () { return control_backbone_1.expireWorkflowTask; } });
435
+ Object.defineProperty(exports, "attachControlEvidence", { enumerable: true, get: function () { return control_backbone_1.attachControlEvidence; } });
436
+ Object.defineProperty(exports, "importEvidenceManifest", { enumerable: true, get: function () { return control_backbone_1.importEvidenceManifest; } });
437
+ Object.defineProperty(exports, "bootstrapWorkflowsFromCatalog", { enumerable: true, get: function () { return control_backbone_1.bootstrapWorkflowsFromCatalog; } });
438
+ Object.defineProperty(exports, "prioritizeMissingWorkflowModules", { enumerable: true, get: function () { return control_backbone_1.prioritizeMissingWorkflowModules; } });
439
+ Object.defineProperty(exports, "generateControlCoverageReport", { enumerable: true, get: function () { return control_backbone_1.generateControlCoverageReport; } });
440
+ Object.defineProperty(exports, "buildWorkflowStatePayload", { enumerable: true, get: function () { return control_backbone_1.buildWorkflowStatePayload; } });
441
+ Object.defineProperty(exports, "exportWorkflowState", { enumerable: true, get: function () { return control_backbone_1.exportWorkflowState; } });
442
+ Object.defineProperty(exports, "loadWorkflowState", { enumerable: true, get: function () { return control_backbone_1.loadWorkflowState; } });
443
+ // Evidence store + hash/manifest + lineage graph
444
+ var evidence_store_1 = require("./evidence_store");
445
+ Object.defineProperty(exports, "EvidenceStore", { enumerable: true, get: function () { return evidence_store_1.EvidenceStore; } });
446
+ Object.defineProperty(exports, "computeEvidenceItemHash", { enumerable: true, get: function () { return evidence_store_1.computeEvidenceItemHash; } });
447
+ Object.defineProperty(exports, "buildEvidenceHashChain", { enumerable: true, get: function () { return evidence_store_1.buildEvidenceHashChain; } });
448
+ Object.defineProperty(exports, "verifyEvidenceHashChain", { enumerable: true, get: function () { return evidence_store_1.verifyEvidenceHashChain; } });
449
+ Object.defineProperty(exports, "buildEvidenceLineageGraph", { enumerable: true, get: function () { return evidence_store_1.buildEvidenceLineageGraph; } });
450
+ Object.defineProperty(exports, "buildHashedEvidenceManifest", { enumerable: true, get: function () { return evidence_store_1.buildHashedEvidenceManifest; } });
451
+ Object.defineProperty(exports, "getRuntimeEvidenceStore", { enumerable: true, get: function () { return evidence_store_1.getRuntimeEvidenceStore; } });
452
+ Object.defineProperty(exports, "clearRuntimeEvidenceStore", { enumerable: true, get: function () { return evidence_store_1.clearRuntimeEvidenceStore; } });
453
+ Object.defineProperty(exports, "recordRuntimeEvidence", { enumerable: true, get: function () { return evidence_store_1.recordRuntimeEvidence; } });
454
+ Object.defineProperty(exports, "buildRuntimeEvidenceManifest", { enumerable: true, get: function () { return evidence_store_1.buildRuntimeEvidenceManifest; } });
455
+ // Schema Specification (Fiddler-like model spec)
456
+ var spec_1 = require("./spec");
457
+ Object.defineProperty(exports, "createFieldSpec", { enumerable: true, get: function () { return spec_1.createFieldSpec; } });
458
+ Object.defineProperty(exports, "createEnrichmentConfig", { enumerable: true, get: function () { return spec_1.createEnrichmentConfig; } });
459
+ Object.defineProperty(exports, "createMonoraSpec", { enumerable: true, get: function () { return spec_1.createMonoraSpec; } });
460
+ Object.defineProperty(exports, "enrichmentConfigForFramework", { enumerable: true, get: function () { return spec_1.enrichmentConfigForFramework; } });
461
+ Object.defineProperty(exports, "mergeEnrichmentConfigs", { enumerable: true, get: function () { return spec_1.mergeEnrichmentConfigs; } });
462
+ Object.defineProperty(exports, "fieldSpecToJsonSchema", { enumerable: true, get: function () { return spec_1.fieldSpecToJsonSchema; } });
463
+ Object.defineProperty(exports, "fieldSpecToRedactionRule", { enumerable: true, get: function () { return spec_1.fieldSpecToRedactionRule; } });
464
+ Object.defineProperty(exports, "getAllFields", { enumerable: true, get: function () { return spec_1.getAllFields; } });
465
+ Object.defineProperty(exports, "getPiiFields", { enumerable: true, get: function () { return spec_1.getPiiFields; } });
466
+ Object.defineProperty(exports, "specToSchemaContract", { enumerable: true, get: function () { return spec_1.specToSchemaContract; } });
467
+ Object.defineProperty(exports, "specToConfig", { enumerable: true, get: function () { return spec_1.specToConfig; } });
468
+ Object.defineProperty(exports, "specFromSchemaContract", { enumerable: true, get: function () { return spec_1.specFromSchemaContract; } });
469
+ Object.defineProperty(exports, "specToDict", { enumerable: true, get: function () { return spec_1.specToDict; } });
470
+ Object.defineProperty(exports, "specFromDict", { enumerable: true, get: function () { return spec_1.specFromDict; } });
471
+ // Schema Inference
472
+ var schemaInference_1 = require("./schemaInference");
473
+ Object.defineProperty(exports, "detectFieldType", { enumerable: true, get: function () { return schemaInference_1.detectFieldType; } });
474
+ Object.defineProperty(exports, "detectPiiType", { enumerable: true, get: function () { return schemaInference_1.detectPiiType; } });
475
+ Object.defineProperty(exports, "suggestRole", { enumerable: true, get: function () { return schemaInference_1.suggestRole; } });
476
+ Object.defineProperty(exports, "detectTimestampField", { enumerable: true, get: function () { return schemaInference_1.detectTimestampField; } });
477
+ Object.defineProperty(exports, "flattenDict", { enumerable: true, get: function () { return schemaInference_1.flattenDict; } });
478
+ Object.defineProperty(exports, "collectFieldValues", { enumerable: true, get: function () { return schemaInference_1.collectFieldValues; } });
479
+ Object.defineProperty(exports, "computeFieldStats", { enumerable: true, get: function () { return schemaInference_1.computeFieldStats; } });
480
+ Object.defineProperty(exports, "inferSchemaFromEvents", { enumerable: true, get: function () { return schemaInference_1.inferSchemaFromEvents; } });
481
+ Object.defineProperty(exports, "inferSchemaFromFile", { enumerable: true, get: function () { return schemaInference_1.inferSchemaFromFile; } });
482
+ Object.defineProperty(exports, "loadEventsFromFile", { enumerable: true, get: function () { return schemaInference_1.loadEventsFromFile; } });
483
+ Object.defineProperty(exports, "generateInferenceReport", { enumerable: true, get: function () { return schemaInference_1.generateInferenceReport; } });
484
+ // MonoraModel
485
+ var model_1 = require("./model");
486
+ Object.defineProperty(exports, "createMonoraModel", { enumerable: true, get: function () { return model_1.createMonoraModel; } });
487
+ Object.defineProperty(exports, "createValidationResult", { enumerable: true, get: function () { return model_1.createValidationResult; } });
488
+ Object.defineProperty(exports, "validationResultToDict", { enumerable: true, get: function () { return model_1.validationResultToDict; } });
489
+ Object.defineProperty(exports, "modelFromData", { enumerable: true, get: function () { return model_1.modelFromData; } });
490
+ Object.defineProperty(exports, "modelFromSpec", { enumerable: true, get: function () { return model_1.modelFromSpec; } });
491
+ Object.defineProperty(exports, "validateEvent", { enumerable: true, get: function () { return model_1.validateEvent; } });
492
+ Object.defineProperty(exports, "generateConfig", { enumerable: true, get: function () { return model_1.generateConfig; } });
493
+ Object.defineProperty(exports, "modelToDict", { enumerable: true, get: function () { return model_1.modelToDict; } });
494
+ Object.defineProperty(exports, "modelToJson", { enumerable: true, get: function () { return model_1.modelToJson; } });
495
+ Object.defineProperty(exports, "modelFromDict", { enumerable: true, get: function () { return model_1.modelFromDict; } });
496
+ Object.defineProperty(exports, "modelFromJson", { enumerable: true, get: function () { return model_1.modelFromJson; } });
497
+ Object.defineProperty(exports, "saveModel", { enumerable: true, get: function () { return model_1.saveModel; } });
498
+ Object.defineProperty(exports, "loadModel", { enumerable: true, get: function () { return model_1.loadModel; } });
499
+ Object.defineProperty(exports, "saveSchemaContract", { enumerable: true, get: function () { return model_1.saveSchemaContract; } });
500
+ Object.defineProperty(exports, "saveConfig", { enumerable: true, get: function () { return model_1.saveConfig; } });
501
+ Object.defineProperty(exports, "modelToString", { enumerable: true, get: function () { return model_1.modelToString; } });
502
+ // Compliance Targets
503
+ var complianceTargets_1 = require("./complianceTargets");
504
+ Object.defineProperty(exports, "SOC2_CONTROL_MAPPINGS", { enumerable: true, get: function () { return complianceTargets_1.SOC2_CONTROL_MAPPINGS; } });
505
+ Object.defineProperty(exports, "GDPR_ARTICLE_MAPPINGS", { enumerable: true, get: function () { return complianceTargets_1.GDPR_ARTICLE_MAPPINGS; } });
506
+ Object.defineProperty(exports, "ISO42001_CONTROL_MAPPINGS", { enumerable: true, get: function () { return complianceTargets_1.ISO42001_CONTROL_MAPPINGS; } });
507
+ Object.defineProperty(exports, "createComplianceTargets", { enumerable: true, get: function () { return complianceTargets_1.createComplianceTargets; } });
508
+ Object.defineProperty(exports, "getFrameworkMetadata", { enumerable: true, get: function () { return complianceTargets_1.getFrameworkMetadata; } });
509
+ Object.defineProperty(exports, "getAllFrameworks", { enumerable: true, get: function () { return complianceTargets_1.getAllFrameworks; } });
510
+ Object.defineProperty(exports, "getRequiredEnrichments", { enumerable: true, get: function () { return complianceTargets_1.getRequiredEnrichments; } });
511
+ Object.defineProperty(exports, "validateComplianceConfig", { enumerable: true, get: function () { return complianceTargets_1.validateComplianceConfig; } });
512
+ Object.defineProperty(exports, "generateComplianceConfig", { enumerable: true, get: function () { return complianceTargets_1.generateComplianceConfig; } });
513
+ Object.defineProperty(exports, "suggestFrameworksForIndustry", { enumerable: true, get: function () { return complianceTargets_1.suggestFrameworksForIndustry; } });
514
+ Object.defineProperty(exports, "getControlMappings", { enumerable: true, get: function () { return complianceTargets_1.getControlMappings; } });
515
+ Object.defineProperty(exports, "isFrameworkSupported", { enumerable: true, get: function () { return complianceTargets_1.isFrameworkSupported; } });
@@ -22,6 +22,6 @@ export declare function autoInstrument(config: MonoraConfig, options?: {
22
22
  /**
23
23
  * Uninstrument all patched methods (useful for testing).
24
24
  */
25
- export declare function uninstrument(): void;
25
+ export declare function uninstrument(target?: any): void;
26
26
  export {};
27
27
  //# sourceMappingURL=instrumentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAQD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,qBAAqB,CA+DvB;AAwWD;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,qBAAqB,CA+DvB;AA0cD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAgB/C"}
@@ -10,7 +10,6 @@ exports.InstrumentationError = void 0;
10
10
  exports.autoInstrument = autoInstrument;
11
11
  exports.uninstrument = uninstrument;
12
12
  const logger_1 = require("./logger");
13
- const runtime_1 = require("./runtime");
14
13
  class InstrumentationError extends Error {
15
14
  constructor(message) {
16
15
  super(message);
@@ -18,6 +17,18 @@ class InstrumentationError extends Error {
18
17
  }
19
18
  }
20
19
  exports.InstrumentationError = InstrumentationError;
20
+ const patchRegistry = new WeakMap();
21
+ function registerPatch(target, methodName, original) {
22
+ let targetPatches = patchRegistry.get(target);
23
+ if (!targetPatches) {
24
+ targetPatches = new Map();
25
+ patchRegistry.set(target, targetPatches);
26
+ }
27
+ if (targetPatches.has(methodName)) {
28
+ return;
29
+ }
30
+ targetPatches.set(methodName, original);
31
+ }
21
32
  /**
22
33
  * Apply optional auto-instrumentation for supported SDKs.
23
34
  */
@@ -28,8 +39,8 @@ function autoInstrument(config, options) {
28
39
  }
29
40
  const targets = settings.targets || ['openai', 'anthropic'];
30
41
  const purpose = settings.default_purpose || config.defaults?.purpose || 'general';
31
- const dataClassification = settings.data_classification;
32
- const reason = settings.reason;
42
+ const dataClassification = settings.data_classification ?? undefined;
43
+ const reason = settings.reason ?? undefined;
33
44
  const effectiveFailFast = options?.failFast ?? settings.fail_fast ?? false;
34
45
  const report = {
35
46
  enabled: true,
@@ -90,6 +101,7 @@ function instrumentOpenAI(opts) {
90
101
  { path: 'chat.completions', method: 'create' },
91
102
  { path: 'completions', method: 'create' },
92
103
  { path: 'responses', method: 'create' },
104
+ { path: 'responses', method: 'stream' },
93
105
  { path: 'embeddings', method: 'create' },
94
106
  ];
95
107
  for (const target of patchTargets) {
@@ -128,13 +140,28 @@ function patchOpenAIMethod(OpenAI, resourcePath, methodName, opts) {
128
140
  // Try to find the resource class
129
141
  // OpenAI v4 structure: OpenAI instance has _client with resource namespaces
130
142
  try {
131
- // Create a temporary instance to inspect structure (without making API calls)
132
- const instance = new OpenAI({ apiKey: 'sk-test', dangerouslyAllowBrowser: true });
143
+ let current;
144
+ let inspectionSource = 'instance';
145
+ try {
146
+ // Create a temporary instance to inspect structure (without making API calls)
147
+ const instance = new OpenAI({ apiKey: 'sk-test', dangerouslyAllowBrowser: true });
148
+ current = instance;
149
+ }
150
+ catch (err) {
151
+ logger_1.logger.warning('OpenAI inspection instance failed; falling back to prototype: %s', err);
152
+ current = OpenAI?.prototype;
153
+ inspectionSource = 'prototype';
154
+ }
155
+ if (!current) {
156
+ return { success: false, error: 'OpenAI inspection failed: no instance or prototype available' };
157
+ }
133
158
  // Navigate to the resource
134
- let current = instance;
135
159
  for (const part of pathParts) {
136
160
  if (!current[part]) {
137
- return { success: false, error: `Resource ${resourcePath} not found on OpenAI instance` };
161
+ return {
162
+ success: false,
163
+ error: `Resource ${resourcePath} not found on OpenAI ${inspectionSource}`,
164
+ };
138
165
  }
139
166
  current = current[part];
140
167
  }
@@ -147,14 +174,15 @@ function patchOpenAIMethod(OpenAI, resourcePath, methodName, opts) {
147
174
  if (resourceClass[methodName].__monora_wrapped__) {
148
175
  return { success: true };
149
176
  }
177
+ const wrapperFactory = getOpenAIWrapperFactory(resourcePath, methodName, opts);
178
+ if (!wrapperFactory) {
179
+ return { success: false, error: `No wrapper available for ${resourcePath}.${methodName}` };
180
+ }
150
181
  // Store original method
151
182
  const originalMethod = resourceClass[methodName];
183
+ registerPatch(resourceClass, methodName, originalMethod);
152
184
  // Create wrapped method once at patch time
153
- const wrappedFn = (0, runtime_1.llmCall)({
154
- purpose: opts.purpose,
155
- reason: opts.reason,
156
- dataClassification: opts.dataClassification,
157
- })(function (...args) {
185
+ const wrappedFn = wrapperFactory(function (...args) {
158
186
  return originalMethod.apply(this, args);
159
187
  });
160
188
  resourceClass[methodName] = function (...args) {
@@ -168,6 +196,38 @@ function patchOpenAIMethod(OpenAI, resourcePath, methodName, opts) {
168
196
  return { success: false, error: `Patch error for ${resourcePath}.${methodName}: ${err}` };
169
197
  }
170
198
  }
199
+ function getOpenAIWrapperFactory(resourcePath, methodName, opts) {
200
+ let wrappers;
201
+ try {
202
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
203
+ wrappers = require('./integrations/openai');
204
+ }
205
+ catch {
206
+ return null;
207
+ }
208
+ const buildFactory = (wrapper) => {
209
+ if (typeof wrapper !== 'function') {
210
+ return null;
211
+ }
212
+ return (originalFn) => wrapper(originalFn, opts.dataClassification || 'internal', opts.purpose, opts.reason);
213
+ };
214
+ if (resourcePath === 'chat.completions' && methodName === 'create') {
215
+ return buildFactory(wrappers.wrapChatCompletions);
216
+ }
217
+ if (resourcePath === 'completions' && methodName === 'create') {
218
+ return buildFactory(wrappers.wrapCompletions);
219
+ }
220
+ if (resourcePath === 'embeddings' && methodName === 'create') {
221
+ return buildFactory(wrappers.wrapEmbeddings);
222
+ }
223
+ if (resourcePath === 'responses' && methodName === 'create') {
224
+ return buildFactory(wrappers.wrapResponses);
225
+ }
226
+ if (resourcePath === 'responses' && methodName === 'stream') {
227
+ return buildFactory(wrappers.wrapResponsesStreamMethod);
228
+ }
229
+ return null;
230
+ }
171
231
  /**
172
232
  * Instrument Anthropic SDK methods.
173
233
  */
@@ -194,6 +254,7 @@ function instrumentAnthropic(opts) {
194
254
  const Anthropic = anthropicModule.default || anthropicModule.Anthropic || anthropicModule;
195
255
  const patchTargets = [
196
256
  { path: 'messages', method: 'create' },
257
+ { path: 'messages', method: 'stream' },
197
258
  { path: 'completions', method: 'create' },
198
259
  ];
199
260
  for (const target of patchTargets) {
@@ -271,6 +332,7 @@ function instrumentLangChain(opts, langchainConfig) {
271
332
  if (factory.__monora_wrapped__) {
272
333
  continue;
273
334
  }
335
+ registerPatch(CallbackManager, factoryName, factory);
274
336
  const wrapped = function (...args) {
275
337
  const manager = factory.apply(this, args);
276
338
  attachLangChainHandler(manager, handler);
@@ -346,14 +408,15 @@ function patchAnthropicMethod(Anthropic, resourcePath, methodName, opts) {
346
408
  if (resourceClass[methodName].__monora_wrapped__) {
347
409
  return { success: true };
348
410
  }
411
+ const wrapperFactory = getAnthropicWrapperFactory(resourcePath, methodName, opts);
412
+ if (!wrapperFactory) {
413
+ return { success: false, error: `No wrapper available for ${resourcePath}.${methodName}` };
414
+ }
349
415
  // Store original method
350
416
  const originalMethod = resourceClass[methodName];
417
+ registerPatch(resourceClass, methodName, originalMethod);
351
418
  // Create wrapped method once at patch time
352
- const wrappedFn = (0, runtime_1.llmCall)({
353
- purpose: opts.purpose,
354
- reason: opts.reason,
355
- dataClassification: opts.dataClassification,
356
- })(function (...args) {
419
+ const wrappedFn = wrapperFactory(function (...args) {
357
420
  return originalMethod.apply(this, args);
358
421
  });
359
422
  resourceClass[methodName] = function (...args) {
@@ -367,6 +430,32 @@ function patchAnthropicMethod(Anthropic, resourcePath, methodName, opts) {
367
430
  return { success: false, error: `Patch error for ${resourcePath}.${methodName}: ${err}` };
368
431
  }
369
432
  }
433
+ function getAnthropicWrapperFactory(resourcePath, methodName, opts) {
434
+ let wrappers;
435
+ try {
436
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
437
+ wrappers = require('./integrations/anthropic');
438
+ }
439
+ catch {
440
+ return null;
441
+ }
442
+ const buildFactory = (wrapper) => {
443
+ if (typeof wrapper !== 'function') {
444
+ return null;
445
+ }
446
+ return (originalFn) => wrapper(originalFn, opts.dataClassification || 'internal', opts.purpose, opts.reason);
447
+ };
448
+ if (resourcePath === 'messages' && methodName === 'create') {
449
+ return buildFactory(wrappers.wrapMessagesCreate);
450
+ }
451
+ if (resourcePath === 'messages' && methodName === 'stream') {
452
+ return buildFactory(wrappers.wrapMessagesStream);
453
+ }
454
+ if (resourcePath === 'completions' && methodName === 'create') {
455
+ return buildFactory(wrappers.wrapCompletions);
456
+ }
457
+ return null;
458
+ }
370
459
  /**
371
460
  * Check if a module is available.
372
461
  */
@@ -382,9 +471,21 @@ function moduleAvailable(name) {
382
471
  /**
383
472
  * Uninstrument all patched methods (useful for testing).
384
473
  */
385
- function uninstrument() {
386
- // This would need to store references to original methods
387
- // For now, this is a placeholder - full implementation would track
388
- // all patched methods and restore them
389
- logger_1.logger.warning('uninstrument() not fully implemented');
474
+ function uninstrument(target) {
475
+ if (!target) {
476
+ return;
477
+ }
478
+ const targetPatches = patchRegistry.get(target);
479
+ if (!targetPatches) {
480
+ return;
481
+ }
482
+ for (const [methodName, original] of targetPatches.entries()) {
483
+ try {
484
+ target[methodName] = original;
485
+ }
486
+ catch (error) {
487
+ logger_1.logger.error('Failed to restore %s: %s', methodName, error);
488
+ }
489
+ }
490
+ patchRegistry.delete(target);
390
491
  }
@@ -37,5 +37,8 @@ interface AnthropicClient {
37
37
  * Patch an Anthropic client to automatically trace all API calls.
38
38
  */
39
39
  export declare function patchAnthropic(client: AnthropicClient, options?: PatchAnthropicOptions): void;
40
+ export declare function wrapMessagesCreate(originalFn: (...args: any[]) => any, dataClassification: string, purpose: string, reason?: string): (...args: any[]) => any;
41
+ export declare function wrapMessagesStream(originalFn: (...args: any[]) => any, dataClassification: string, purpose: string, reason?: string): (...args: any[]) => any;
42
+ export declare function wrapCompletions(originalFn: (...args: any[]) => any, dataClassification: string, purpose: string, reason?: string): (...args: any[]) => any;
40
43
  export {};
41
44
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;KAClC,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;KACjC,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAuCN"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;KAClC,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;KACjC,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAuCN;AAUD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACnC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CA0HzB;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACnC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAuDzB;AA+QD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACnC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAgHzB"}