@llm-dev-ops/agentics-cli 1.4.86 → 1.4.89

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 (110) hide show
  1. package/dist/__tests__/api_gateway.test.d.ts +1 -0
  2. package/dist/__tests__/api_gateway.test.js +50 -0
  3. package/dist/__tests__/domain_enterprise_solution.test.d.ts +1 -0
  4. package/dist/__tests__/domain_enterprise_solution.test.js +50 -0
  5. package/dist/__tests__/health.test.d.ts +1 -0
  6. package/dist/__tests__/health.test.js +19 -0
  7. package/dist/__tests__/monitoring_alerts.test.d.ts +1 -0
  8. package/dist/__tests__/monitoring_alerts.test.js +50 -0
  9. package/dist/__tests__/ongoing_regular_stakeholder.test.d.ts +1 -0
  10. package/dist/__tests__/ongoing_regular_stakeholder.test.js +50 -0
  11. package/dist/__tests__/re_evaluate_risk.test.d.ts +1 -0
  12. package/dist/__tests__/re_evaluate_risk.test.js +50 -0
  13. package/dist/__tests__/recommendation.test.d.ts +1 -0
  14. package/dist/__tests__/recommendation.test.js +50 -0
  15. package/dist/__tests__/risk_mitigation_plan.test.d.ts +1 -0
  16. package/dist/__tests__/risk_mitigation_plan.test.js +50 -0
  17. package/dist/__tests__/scoped_pilot_reduce.test.d.ts +1 -0
  18. package/dist/__tests__/scoped_pilot_reduce.test.js +50 -0
  19. package/dist/__tests__/target_enterprise_system.test.d.ts +1 -0
  20. package/dist/__tests__/target_enterprise_system.test.js +50 -0
  21. package/dist/__tests__/underwriting.test.d.ts +1 -0
  22. package/dist/__tests__/underwriting.test.js +50 -0
  23. package/dist/api-gateway/infra/api-gateway-adapter.d.ts +27 -0
  24. package/dist/api-gateway/infra/api-gateway-adapter.js +54 -0
  25. package/dist/api-gateway/ports/api-gateway.d.ts +26 -0
  26. package/dist/api-gateway/ports/api-gateway.js +2 -0
  27. package/dist/contracts/contract-validation.d.ts +11 -0
  28. package/dist/contracts/contract-validation.js +21 -0
  29. package/dist/domain-enterprise-solution/infra/api-gateway-seam-adapter.d.ts +21 -0
  30. package/dist/domain-enterprise-solution/infra/api-gateway-seam-adapter.js +42 -0
  31. package/dist/domain-enterprise-solution/infra/domain-enterprise-solution-adapter.d.ts +25 -0
  32. package/dist/domain-enterprise-solution/infra/domain-enterprise-solution-adapter.js +47 -0
  33. package/dist/domain-enterprise-solution/ports/api-gateway-seam.d.ts +20 -0
  34. package/dist/domain-enterprise-solution/ports/api-gateway-seam.js +2 -0
  35. package/dist/domain-enterprise-solution/ports/domain-enterprise-solution.d.ts +24 -0
  36. package/dist/domain-enterprise-solution/ports/domain-enterprise-solution.js +2 -0
  37. package/dist/enterprise/index.d.ts +15 -0
  38. package/dist/enterprise/index.js +16 -0
  39. package/dist/erp-client/client.d.ts +42 -0
  40. package/dist/erp-client/client.js +235 -0
  41. package/dist/erp-client/mapper.d.ts +9 -0
  42. package/dist/erp-client/mapper.js +116 -0
  43. package/dist/erp-client/retry.d.ts +17 -0
  44. package/dist/erp-client/retry.js +74 -0
  45. package/dist/erp-client/types.d.ts +155 -0
  46. package/dist/erp-client/types.js +2 -0
  47. package/dist/infra/clients.d.ts +27 -0
  48. package/dist/infra/clients.js +16 -0
  49. package/dist/infra/connection-pool.d.ts +16 -0
  50. package/dist/infra/connection-pool.js +13 -0
  51. package/dist/infra/iam-helper.d.ts +1 -0
  52. package/dist/infra/iam-helper.js +138 -0
  53. package/dist/infra/telemetry.d.ts +26 -0
  54. package/dist/infra/telemetry.js +39 -0
  55. package/dist/monitoring-alerts/infra/monitoring-alerts-adapter.d.ts +25 -0
  56. package/dist/monitoring-alerts/infra/monitoring-alerts-adapter.js +47 -0
  57. package/dist/monitoring-alerts/ports/monitoring-alerts.d.ts +24 -0
  58. package/dist/monitoring-alerts/ports/monitoring-alerts.js +2 -0
  59. package/dist/ongoing-regular-stakeholder/infra/ongoing-regular-stakeholder-adapter.d.ts +25 -0
  60. package/dist/ongoing-regular-stakeholder/infra/ongoing-regular-stakeholder-adapter.js +47 -0
  61. package/dist/ongoing-regular-stakeholder/ports/ongoing-regular-stakeholder.d.ts +24 -0
  62. package/dist/ongoing-regular-stakeholder/ports/ongoing-regular-stakeholder.js +2 -0
  63. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  64. package/dist/pipeline/auto-chain.js +16 -103
  65. package/dist/pipeline/auto-chain.js.map +1 -1
  66. package/dist/pipeline/execution-context.d.ts +1 -1
  67. package/dist/pipeline/execution-context.js +1 -1
  68. package/dist/pipeline/phase2/phase2-coordinator.d.ts.map +1 -1
  69. package/dist/pipeline/phase2/phase2-coordinator.js +7 -3
  70. package/dist/pipeline/phase2/phase2-coordinator.js.map +1 -1
  71. package/dist/pipeline/ruflo-phase-executor.js +1 -1
  72. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  73. package/dist/re-evaluate-risk/infra/re-evaluate-risk-adapter.d.ts +25 -0
  74. package/dist/re-evaluate-risk/infra/re-evaluate-risk-adapter.js +47 -0
  75. package/dist/re-evaluate-risk/ports/re-evaluate-risk.d.ts +24 -0
  76. package/dist/re-evaluate-risk/ports/re-evaluate-risk.js +2 -0
  77. package/dist/recommendation/infra/recommendation-adapter.d.ts +25 -0
  78. package/dist/recommendation/infra/recommendation-adapter.js +47 -0
  79. package/dist/recommendation/ports/recommendation.d.ts +24 -0
  80. package/dist/recommendation/ports/recommendation.js +2 -0
  81. package/dist/risk-mitigation-plan/infra/risk-mitigation-plan-adapter.d.ts +25 -0
  82. package/dist/risk-mitigation-plan/infra/risk-mitigation-plan-adapter.js +47 -0
  83. package/dist/risk-mitigation-plan/ports/risk-mitigation-plan.d.ts +24 -0
  84. package/dist/risk-mitigation-plan/ports/risk-mitigation-plan.js +2 -0
  85. package/dist/scoped-pilot-reduce/infra/scoped-pilot-reduce-adapter.d.ts +25 -0
  86. package/dist/scoped-pilot-reduce/infra/scoped-pilot-reduce-adapter.js +47 -0
  87. package/dist/scoped-pilot-reduce/ports/scoped-pilot-reduce.d.ts +24 -0
  88. package/dist/scoped-pilot-reduce/ports/scoped-pilot-reduce.js +2 -0
  89. package/dist/server/dependencies.d.ts +178 -0
  90. package/dist/server/dependencies.js +321 -0
  91. package/dist/server/health.d.ts +2 -0
  92. package/dist/server/health.js +9 -0
  93. package/dist/server/main.d.ts +1 -0
  94. package/dist/server/main.js +21 -0
  95. package/dist/server/middleware.d.ts +4 -0
  96. package/dist/server/middleware.js +106 -0
  97. package/dist/server/routes.d.ts +5 -0
  98. package/dist/server/routes.js +1100 -0
  99. package/dist/server/schemas.d.ts +217 -0
  100. package/dist/server/schemas.js +185 -0
  101. package/dist/target-enterprise-system/infra/target-enterprise-system-adapter.d.ts +25 -0
  102. package/dist/target-enterprise-system/infra/target-enterprise-system-adapter.js +47 -0
  103. package/dist/target-enterprise-system/ports/target-enterprise-system.d.ts +24 -0
  104. package/dist/target-enterprise-system/ports/target-enterprise-system.js +2 -0
  105. package/dist/underwriting/infra/underwriting-adapter.d.ts +25 -0
  106. package/dist/underwriting/infra/underwriting-adapter.js +47 -0
  107. package/dist/underwriting/ports/underwriting.d.ts +24 -0
  108. package/dist/underwriting/ports/underwriting.js +2 -0
  109. package/docs/ecosystem.graph.json +295 -214
  110. package/package.json +1 -1
@@ -0,0 +1,106 @@
1
+ // Generated by Phase 4 pipeline — do not edit manually
2
+ import { createMiddleware } from 'hono/factory';
3
+ import * as crypto from 'node:crypto';
4
+ import * as jwt from 'jsonwebtoken';
5
+ import jwksClient from 'jwks-rsa';
6
+ // ---------------------------------------------------------------------------
7
+ // Correlation ID middleware
8
+ // ---------------------------------------------------------------------------
9
+ export const correlationMiddleware = createMiddleware(async (c, next) => {
10
+ const correlationId = c.req.header('X-Correlation-ID') ?? crypto.randomUUID();
11
+ c.set('correlationId', correlationId);
12
+ c.header('X-Correlation-ID', correlationId);
13
+ await next();
14
+ });
15
+ // ---------------------------------------------------------------------------
16
+ // IAM token validation middleware (JWKS-backed JWT verification)
17
+ // ---------------------------------------------------------------------------
18
+ const JWKS_URI = process.env.IAM_JWKS_URI ?? 'https://www.googleapis.com/oauth2/v3/certs';
19
+ const IAM_AUDIENCE = process.env.IAM_AUDIENCE ?? '';
20
+ const IAM_ISSUERS = (process.env.IAM_ISSUERS ?? 'https://accounts.google.com').split(',').map(s => s.trim());
21
+ const jwksRsa = jwksClient({
22
+ jwksUri: JWKS_URI,
23
+ cache: true,
24
+ cacheMaxAge: 600_000,
25
+ rateLimit: true,
26
+ jwksRequestsPerMinute: 10,
27
+ });
28
+ function getSigningKey(kid) {
29
+ return new Promise((resolve, reject) => {
30
+ jwksRsa.getSigningKey(kid, (err, key) => {
31
+ if (err || !key)
32
+ return reject(err ?? new Error('No signing key found'));
33
+ resolve(key.getPublicKey());
34
+ });
35
+ });
36
+ }
37
+ export const iamMiddleware = createMiddleware(async (c, next) => {
38
+ const path = new URL(c.req.url).pathname;
39
+ if (path === '/health/healthz' || path === '/health/readyz') {
40
+ await next();
41
+ return;
42
+ }
43
+ const authHeader = c.req.header('Authorization');
44
+ if (!authHeader?.startsWith('Bearer ')) {
45
+ return c.json({ error: { code: 'UNAUTHORIZED', message: 'Missing Bearer token' } }, 401);
46
+ }
47
+ const token = authHeader.slice(7);
48
+ if (!token) {
49
+ return c.json({ error: { code: 'UNAUTHORIZED', message: 'Empty token' } }, 401);
50
+ }
51
+ try {
52
+ const decoded = jwt.decode(token, { complete: true });
53
+ if (!decoded || typeof decoded === 'string' || !decoded.header.kid) {
54
+ return c.json({ error: { code: 'UNAUTHORIZED', message: 'Malformed token: missing kid' } }, 401);
55
+ }
56
+ const signingKey = await getSigningKey(decoded.header.kid);
57
+ const verifyOptions = {
58
+ algorithms: ['RS256', 'RS384', 'RS512', 'ES256', 'ES384'],
59
+ };
60
+ if (IAM_ISSUERS.length > 0 && IAM_ISSUERS[0] !== '') {
61
+ verifyOptions.issuer = IAM_ISSUERS;
62
+ }
63
+ if (IAM_AUDIENCE) {
64
+ verifyOptions.audience = IAM_AUDIENCE;
65
+ }
66
+ const payload = jwt.verify(token, signingKey, verifyOptions);
67
+ c.set('iamClaims', payload);
68
+ }
69
+ catch (err) {
70
+ const message = err instanceof Error ? err.message : 'Token verification failed';
71
+ return c.json({ error: { code: 'UNAUTHORIZED', message } }, 401);
72
+ }
73
+ await next();
74
+ });
75
+ // ---------------------------------------------------------------------------
76
+ // Structured JSON request/response logging middleware
77
+ // ---------------------------------------------------------------------------
78
+ export const loggingMiddleware = createMiddleware(async (c, next) => {
79
+ const startTime = Date.now();
80
+ const correlationId = c.get('correlationId');
81
+ process.stdout.write(JSON.stringify({
82
+ severity: 'INFO',
83
+ message: 'request received',
84
+ httpRequest: {
85
+ method: c.req.method,
86
+ url: c.req.url,
87
+ userAgent: c.req.header('user-agent'),
88
+ },
89
+ correlationId,
90
+ timestamp: new Date().toISOString(),
91
+ }) + '\n');
92
+ await next();
93
+ const durationMs = Date.now() - startTime;
94
+ process.stdout.write(JSON.stringify({
95
+ severity: 'INFO',
96
+ message: 'request completed',
97
+ httpRequest: {
98
+ method: c.req.method,
99
+ url: c.req.url,
100
+ status: c.res.status,
101
+ latency: `${durationMs}ms`,
102
+ },
103
+ correlationId,
104
+ timestamp: new Date().toISOString(),
105
+ }) + '\n');
106
+ });
@@ -0,0 +1,5 @@
1
+ import { Hono } from 'hono';
2
+ import { InforClient } from '../erp-client/client.js';
3
+ declare const erpClientInstance: InforClient;
4
+ declare const app: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
5
+ export { app, erpClientInstance };