@ainetwork/adk 0.1.7 → 0.1.9

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 (96) hide show
  1. package/dist/cjs/chunk-2E6X6IDL.cjs +37 -0
  2. package/dist/cjs/chunk-2E6X6IDL.cjs.map +1 -0
  3. package/dist/cjs/chunk-2G7V7SC5.cjs +18 -0
  4. package/dist/cjs/chunk-2G7V7SC5.cjs.map +1 -0
  5. package/dist/cjs/chunk-4X42EA2D.cjs +43 -0
  6. package/dist/cjs/chunk-4X42EA2D.cjs.map +1 -0
  7. package/dist/cjs/chunk-7JYOSS27.cjs +275 -0
  8. package/dist/cjs/chunk-7JYOSS27.cjs.map +1 -0
  9. package/dist/cjs/chunk-BD2S6Q3K.cjs +43 -0
  10. package/dist/cjs/chunk-BD2S6Q3K.cjs.map +1 -0
  11. package/dist/cjs/chunk-CYW6ICAW.cjs +106 -0
  12. package/dist/cjs/chunk-CYW6ICAW.cjs.map +1 -0
  13. package/dist/cjs/chunk-DQP6RGIR.cjs +162 -0
  14. package/dist/cjs/chunk-DQP6RGIR.cjs.map +1 -0
  15. package/dist/cjs/chunk-EH4MLPFY.cjs +45 -0
  16. package/dist/cjs/chunk-EH4MLPFY.cjs.map +1 -0
  17. package/dist/cjs/chunk-FWFEVDEY.cjs +172 -0
  18. package/dist/cjs/chunk-FWFEVDEY.cjs.map +1 -0
  19. package/dist/cjs/chunk-GEQMVWSK.cjs +275 -0
  20. package/dist/cjs/chunk-GEQMVWSK.cjs.map +1 -0
  21. package/dist/cjs/chunk-HKIUAJ45.cjs +37 -0
  22. package/dist/cjs/chunk-HKIUAJ45.cjs.map +1 -0
  23. package/dist/cjs/chunk-JCAA6AA6.cjs +43 -0
  24. package/dist/cjs/chunk-JCAA6AA6.cjs.map +1 -0
  25. package/dist/cjs/chunk-MIXAV5OD.cjs +43 -0
  26. package/dist/cjs/chunk-MIXAV5OD.cjs.map +1 -0
  27. package/dist/cjs/chunk-O6RLFF5H.cjs +43 -0
  28. package/dist/cjs/chunk-O6RLFF5H.cjs.map +1 -0
  29. package/dist/cjs/chunk-PJ2D5CCS.cjs +37 -0
  30. package/dist/cjs/chunk-PJ2D5CCS.cjs.map +1 -0
  31. package/dist/cjs/chunk-QL527J67.cjs +276 -0
  32. package/dist/cjs/chunk-QL527J67.cjs.map +1 -0
  33. package/dist/cjs/chunk-TNLJ6AVP.cjs +22 -0
  34. package/dist/cjs/chunk-TNLJ6AVP.cjs.map +1 -0
  35. package/dist/cjs/chunk-TRT5ABOM.cjs +43 -0
  36. package/dist/cjs/chunk-TRT5ABOM.cjs.map +1 -0
  37. package/dist/cjs/chunk-UA5HNWON.cjs +45 -0
  38. package/dist/cjs/chunk-UA5HNWON.cjs.map +1 -0
  39. package/dist/cjs/chunk-XAQJBGAL.cjs +43 -0
  40. package/dist/cjs/chunk-XAQJBGAL.cjs.map +1 -0
  41. package/dist/cjs/chunk-YE52UBF3.cjs +66 -0
  42. package/dist/cjs/chunk-YE52UBF3.cjs.map +1 -0
  43. package/dist/cjs/chunk-ZSEBMINV.cjs +44 -0
  44. package/dist/cjs/chunk-ZSEBMINV.cjs.map +1 -0
  45. package/dist/cjs/controllers/index.cjs +6 -6
  46. package/dist/cjs/controllers/index.cjs.map +1 -1
  47. package/dist/cjs/controllers/query.controller.cjs +2 -2
  48. package/dist/cjs/index.cjs +19 -19
  49. package/dist/cjs/index.cjs.map +1 -1
  50. package/dist/cjs/modules/a2a/a2a.module.cjs +2 -2
  51. package/dist/cjs/modules/index.cjs +3 -3
  52. package/dist/cjs/modules/mcp/mcp.module.cjs +2 -2
  53. package/dist/cjs/routes/a2a.routes.cjs +5 -5
  54. package/dist/cjs/routes/index.cjs +13 -13
  55. package/dist/cjs/routes/index.cjs.map +1 -1
  56. package/dist/cjs/routes/query.routes.cjs +5 -5
  57. package/dist/cjs/services/index.cjs +6 -6
  58. package/dist/cjs/services/index.cjs.map +1 -1
  59. package/dist/cjs/services/query-stream.service.cjs +3 -2
  60. package/dist/cjs/services/query-stream.service.cjs.map +1 -1
  61. package/dist/cjs/services/query.service.cjs +2 -2
  62. package/dist/esm/{chunk-EFMGNCWG.js → chunk-3NEV3O2X.js} +65 -15
  63. package/dist/esm/chunk-3NEV3O2X.js.map +1 -0
  64. package/dist/esm/{chunk-624FPEEV.js → chunk-BDMVIJPF.js} +17 -11
  65. package/dist/esm/{chunk-624FPEEV.js.map → chunk-BDMVIJPF.js.map} +1 -1
  66. package/dist/esm/{chunk-DJRRMFKH.js → chunk-C6SGV7JV.js} +6 -2
  67. package/dist/esm/{chunk-DJRRMFKH.js.map → chunk-C6SGV7JV.js.map} +1 -1
  68. package/dist/esm/{chunk-MC7CPQ6W.js → chunk-DRUCJYPJ.js} +3 -7
  69. package/dist/esm/chunk-DRUCJYPJ.js.map +1 -0
  70. package/dist/esm/{chunk-A3W52LKL.js → chunk-JOE4VYJJ.js} +2 -2
  71. package/dist/esm/{chunk-WGHAZ4HG.js → chunk-Q6HHVAO6.js} +7 -6
  72. package/dist/esm/chunk-Q6HHVAO6.js.map +1 -0
  73. package/dist/esm/{chunk-ZFSIP5KN.js → chunk-UUXE3TQE.js} +4 -4
  74. package/dist/esm/controllers/index.js +7 -7
  75. package/dist/esm/controllers/query.controller.js +1 -1
  76. package/dist/esm/index.js +14 -14
  77. package/dist/esm/modules/a2a/a2a.module.d.ts +1 -1
  78. package/dist/esm/modules/a2a/a2a.module.js +1 -1
  79. package/dist/esm/modules/index.js +8 -8
  80. package/dist/esm/modules/mcp/mcp.module.d.ts +1 -1
  81. package/dist/esm/modules/mcp/mcp.module.js +1 -1
  82. package/dist/esm/modules/memory/base.memory.d.ts +2 -2
  83. package/dist/esm/routes/a2a.routes.js +3 -3
  84. package/dist/esm/routes/index.js +14 -14
  85. package/dist/esm/routes/query.routes.js +4 -4
  86. package/dist/esm/services/index.js +2 -2
  87. package/dist/esm/services/query-stream.service.d.ts +9 -2
  88. package/dist/esm/services/query-stream.service.js +2 -1
  89. package/dist/esm/services/query.service.js +1 -1
  90. package/dist/esm/types/stream.d.ts +4 -6
  91. package/package.json +1 -1
  92. package/dist/esm/chunk-EFMGNCWG.js.map +0 -1
  93. package/dist/esm/chunk-MC7CPQ6W.js.map +0 -1
  94. package/dist/esm/chunk-WGHAZ4HG.js.map +0 -1
  95. /package/dist/esm/{chunk-A3W52LKL.js.map → chunk-JOE4VYJJ.js.map} +0 -0
  96. /package/dist/esm/{chunk-ZFSIP5KN.js.map → chunk-UUXE3TQE.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,+PAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,+PAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"}
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkRPMERDHUcjs = require('../chunk-RPMERDHU.cjs');
3
+ var _chunkEH4MLPFYcjs = require('../chunk-EH4MLPFY.cjs');
4
4
 
5
5
 
6
- exports.QueryController = _chunkRPMERDHUcjs.QueryController;
6
+ exports.QueryController = _chunkEH4MLPFYcjs.QueryController;
7
7
  //# sourceMappingURL=query.controller.cjs.map
@@ -1,35 +1,35 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;require('./chunk-SSSDO7PA.cjs');
2
2
 
3
3
 
4
- var _chunk6S6GEY3Dcjs = require('./chunk-6S6GEY3D.cjs');
5
-
6
-
7
- var _chunkVBXOEQ3Ncjs = require('./chunk-VBXOEQ3N.cjs');
8
- require('./chunk-N7NGEMKL.cjs');
9
- require('./chunk-GBHMYJ6R.cjs');
10
-
11
-
12
- var _chunkZAZ3KYP5cjs = require('./chunk-ZAZ3KYP5.cjs');
13
- require('./chunk-V5RSN2DY.cjs');
14
- require('./chunk-NXKC2HVX.cjs');
15
- require('./chunk-ICFTUZP5.cjs');
16
- require('./chunk-RPMERDHU.cjs');
4
+ var _chunkJCAA6AA6cjs = require('./chunk-JCAA6AA6.cjs');
5
+ require('./chunk-7JYOSS27.cjs');
6
+ require('./chunk-EH4MLPFY.cjs');
17
7
 
18
8
 
19
9
  var _chunkLRBRG2DScjs = require('./chunk-LRBRG2DS.cjs');
20
- require('./chunk-DX2JH3FJ.cjs');
21
10
 
22
11
 
23
12
  var _chunkNYYEZ4ERcjs = require('./chunk-NYYEZ4ER.cjs');
24
- require('./chunk-UQ72NNHV.cjs');
25
- require('./chunk-RWQDV2XY.cjs');
13
+
14
+
15
+ var _chunk2E6X6IDLcjs = require('./chunk-2E6X6IDL.cjs');
16
+ require('./chunk-3JKRJYJ6.cjs');
17
+ require('./chunk-DQP6RGIR.cjs');
26
18
  require('./chunk-XZAKXJYO.cjs');
27
19
  require('./chunk-LPXYZH22.cjs');
28
- require('./chunk-3JKRJYJ6.cjs');
20
+ require('./chunk-ICFTUZP5.cjs');
29
21
 
30
22
 
31
23
  var _chunk466ED5WNcjs = require('./chunk-466ED5WN.cjs');
32
24
 
25
+
26
+ var _chunkVBXOEQ3Ncjs = require('./chunk-VBXOEQ3N.cjs');
27
+ require('./chunk-N7NGEMKL.cjs');
28
+ require('./chunk-GBHMYJ6R.cjs');
29
+ require('./chunk-V5RSN2DY.cjs');
30
+ require('./chunk-NXKC2HVX.cjs');
31
+ require('./chunk-DX2JH3FJ.cjs');
32
+
33
33
  // src/index.ts
34
34
  var _cors = require('cors'); var _cors2 = _interopRequireDefault(_cors);
35
35
  var _express = require('express'); var _express2 = _interopRequireDefault(_express);
@@ -706,10 +706,10 @@ var AINAgent = (_class = class {
706
706
  res.status(_httpstatuscodes.StatusCodes.NOT_FOUND).send("No agent card");
707
707
  }
708
708
  });
709
- this.app.use(_chunkZAZ3KYP5cjs.createQueryRouter.call(void 0, this, allowStream));
709
+ this.app.use(_chunkJCAA6AA6cjs.createQueryRouter.call(void 0, this, allowStream));
710
710
  this.app.use(_chunkVBXOEQ3Ncjs.createApiRouter.call(void 0, this));
711
711
  if (this.isValidUrl(this.manifest.url)) {
712
- this.app.use(_chunk6S6GEY3Dcjs.createA2ARouter.call(void 0, this));
712
+ this.app.use(_chunk2E6X6IDLcjs.createA2ARouter.call(void 0, this));
713
713
  }
714
714
  }}
715
715
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/index.cjs","../../src/index.ts","../../node_modules/helmet/index.mjs"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/index.cjs","sourcesContent":[null,"import type { AgentCard } from \"@a2a-js/sdk\";\nimport cors from \"cors\";\nimport express, { type Response } from \"express\";\nimport helmet from \"helmet\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { loggers } from \"@/utils/logger\";\nimport { AuthMiddleware } from \"./middlewares/auth.middleware\";\nimport { errorMiddleware } from \"./middlewares/error.middleware\";\nimport type {\n\tA2AModule,\n\tBaseAuth,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"./modules\";\nimport { createA2ARouter, createApiRouter, createQueryRouter } from \"./routes\";\nimport type { AinAgentManifest } from \"./types/agent\";\n\n/**\n * Main class for AI Network Agent Development Kit (AIN-ADK).\n *\n * AINAgent orchestrates all modules and provides an Express server for handling\n * agent interactions through both standard query endpoints and A2A protocol endpoints.\n *\n * @example\n * ```typescript\n * const manifest = {\n * name: \"MyAgent\",\n * description: \"An example AI agent\",\n * version: \"1.0.0\"\n * };\n *\n * const agent = new AINAgent(manifest, {\n * modelModule: new ModelModule(),\n * a2aModule: new A2AModule(),\n * mcpModule: new MCPModule()\n * });\n *\n * agent.start(3000);\n * ```\n */\nexport class AINAgent {\n\t/** Express application instance */\n\tpublic app: express.Application;\n\n\t/** Agent manifest containing metadata and configuration */\n\tpublic manifest: AinAgentManifest;\n\n\t/** Modules */\n\tpublic modelModule: ModelModule;\n\tpublic a2aModule?: A2AModule;\n\tpublic mcpModule?: MCPModule;\n\tpublic memoryModule?: MemoryModule;\n\n\t/** Optional authentication scheme for securing endpoints */\n\tpublic authScheme?: BaseAuth;\n\n\t/**\n\t * Creates a new AINAgent instance.\n\t *\n\t * @param manifest - Agent manifest containing name, description, version, and optional URL\n\t * @param modules - Required and optional modules for the agent\n\t * @param modules.modelModule - Required module for AI model integrations\n\t * @param modules.a2aModule - Optional module for A2A protocol support\n\t * @param modules.mcpModule - Optional module for MCP server connections\n\t * @param modules.memoryModule - Optional module for memory management\n\t * @param modules.folModule - Optional module for fol management\n\t * @param authScheme - Optional authentication middleware for securing endpoints\n\t */\n\tconstructor(\n\t\tmanifest: AinAgentManifest,\n\t\tmodules: {\n\t\t\tmodelModule: ModelModule;\n\t\t\ta2aModule?: A2AModule;\n\t\t\tmcpModule?: MCPModule;\n\t\t\tmemoryModule?: MemoryModule;\n\t\t},\n\t\tauthScheme?: BaseAuth,\n\t\tallowStream = false,\n\t) {\n\t\tthis.app = express();\n\n\t\t// Set manifest\n\t\tthis.manifest = manifest;\n\n\t\t// Set modules\n\t\tthis.modelModule = modules.modelModule;\n\t\tthis.a2aModule = modules.a2aModule;\n\t\tthis.mcpModule = modules.mcpModule;\n\t\tthis.memoryModule = modules.memoryModule;\n\n\t\tthis.authScheme = authScheme;\n\n\t\tthis.initializeMiddlewares();\n\t\tthis.initializeRoutes(allowStream);\n\t\tthis.app.use(errorMiddleware);\n\t}\n\n\t/**\n\t * Initializes Express middlewares for security, CORS, and body parsing.\n\t * Also applies authentication middleware if configured.\n\t */\n\tprivate initializeMiddlewares(): void {\n\t\tthis.app.use(helmet());\n\t\tthis.app.use(cors());\n\t\tthis.app.use(express.json());\n\t\tthis.app.use(express.urlencoded({ extended: true }));\n\n\t\tif (this.authScheme) {\n\t\t\tconst auth = new AuthMiddleware(this.authScheme);\n\t\t\tthis.app.use(auth.middleware());\n\t\t}\n\t}\n\n\t/**\n\t * Validates if a string is a valid HTTP or HTTPS URL.\n\t *\n\t * @param urlString - The URL string to validate\n\t * @returns true if the URL is valid HTTP/HTTPS, false otherwise\n\t */\n\tprivate isValidUrl(urlString: string | undefined): boolean {\n\t\tif (!urlString) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst url = new URL(urlString);\n\t\t\treturn url.protocol === \"http:\" || url.protocol === \"https:\";\n\t\t} catch (_error) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Generates an A2A protocol agent card for discovery.\n\t *\n\t * The agent card contains metadata about the agent's capabilities,\n\t * supported input/output modes, and connection information.\n\t *\n\t * @returns AgentCard object with agent metadata and capabilities\n\t * @throws Error if manifest URL is invalid or missing\n\t */\n\tpublic generateAgentCard = (): AgentCard => {\n\t\tconst _url = new URL(this.manifest.url || \"\");\n\t\t_url.pathname = \"a2a\";\n\n\t\treturn {\n\t\t\tname: this.manifest.name,\n\t\t\tdescription: this.manifest.description,\n\t\t\tversion: this.manifest.version,\n\t\t\turl: _url.toString(),\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true, // The new framework supports streaming\n\t\t\t\tpushNotifications: false, // Assuming not implemented for this agent yet\n\t\t\t\tstateTransitionHistory: true, // Agent uses history\n\t\t\t},\n\t\t\tdefaultInputModes: [\"text\"],\n\t\t\tdefaultOutputModes: [\"text\", \"task-status\"], // task-status is a common output mode\n\t\t\tskills: [],\n\t\t\tsupportsAuthenticatedExtendedCard: false,\n\t\t};\n\t};\n\n\t/**\n\t * Initializes all HTTP routes including health check, agent discovery,\n\t * query endpoints, and optional A2A endpoints.\n\t *\n\t * Routes initialized:\n\t * - GET / - Health check endpoint\n\t * - GET /.well-known/agent.json - Agent card discovery endpoint\n\t * - /query/* - Query processing endpoints\n\t * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)\n\t */\n\tprivate initializeRoutes = (allowStream = false): void => {\n\t\tthis.app.get(\"/\", async (_, res: Response) => {\n\t\t\tconst { name, description, version } = this.manifest;\n\t\t\tres.status(200).send(\n\t\t\t\t`\n ⚡ AIN Agent: ${name} v${version}<br/>\n ${description}<br/><br/>\n Agent status: Online and ready.\n `.trim(),\n\t\t\t);\n\t\t});\n\n\t\tthis.app.get(\"/.well-known/agent.json\", async (_, res: Response) => {\n\t\t\ttry {\n\t\t\t\tconst card = this.generateAgentCard();\n\t\t\t\tres.json(card);\n\t\t\t} catch (_error) {\n\t\t\t\tres.status(StatusCodes.NOT_FOUND).send(\"No agent card\");\n\t\t\t}\n\t\t});\n\n\t\tthis.app.use(createQueryRouter(this, allowStream));\n\t\tthis.app.use(createApiRouter(this));\n\t\tif (this.isValidUrl(this.manifest.url)) {\n\t\t\tthis.app.use(createA2ARouter(this));\n\t\t}\n\t};\n\n\t/**\n\t * Starts the Express server on the specified port.\n\t *\n\t * @param port - The port number to listen on\n\t */\n\tpublic async start(port: number): Promise<void> {\n\t\tawait this.memoryModule?.initialize();\n\t\tthis.app.listen(port, () => {\n\t\t\tloggers.agent.info(`AINAgent is running on port ${port}`);\n\t\t});\n\t}\n}\n","const dangerouslyDisableDefaultSrc = Symbol(\"dangerouslyDisableDefaultSrc\")\nconst SHOULD_BE_QUOTED = new Set([\"none\", \"self\", \"strict-dynamic\", \"report-sample\", \"inline-speculation-rules\", \"unsafe-inline\", \"unsafe-eval\", \"unsafe-hashes\", \"wasm-unsafe-eval\"])\nconst getDefaultDirectives = () => ({\n\t\"default-src\": [\"'self'\"],\n\t\"base-uri\": [\"'self'\"],\n\t\"font-src\": [\"'self'\", \"https:\", \"data:\"],\n\t\"form-action\": [\"'self'\"],\n\t\"frame-ancestors\": [\"'self'\"],\n\t\"img-src\": [\"'self'\", \"data:\"],\n\t\"object-src\": [\"'none'\"],\n\t\"script-src\": [\"'self'\"],\n\t\"script-src-attr\": [\"'none'\"],\n\t\"style-src\": [\"'self'\", \"https:\", \"'unsafe-inline'\"],\n\t\"upgrade-insecure-requests\": []\n})\nconst dashify = str => str.replace(/[A-Z]/g, capitalLetter => \"-\" + capitalLetter.toLowerCase())\nconst assertDirectiveValueIsValid = (directiveName, directiveValue) => {\n\tif (/;|,/.test(directiveValue)) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t}\n}\nconst assertDirectiveValueEntryIsValid = (directiveName, directiveValueEntry) => {\n\tif (SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith(\"nonce-\") || directiveValueEntry.startsWith(\"sha256-\") || directiveValueEntry.startsWith(\"sha384-\") || directiveValueEntry.startsWith(\"sha512-\")) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`)\n\t}\n}\nfunction normalizeDirectives(options) {\n\tconst defaultDirectives = getDefaultDirectives()\n\tconst {useDefaults = true, directives: rawDirectives = defaultDirectives} = options\n\tconst result = new Map()\n\tconst directiveNamesSeen = new Set()\n\tconst directivesExplicitlyDisabled = new Set()\n\tfor (const rawDirectiveName in rawDirectives) {\n\t\tif (!Object.hasOwn(rawDirectives, rawDirectiveName)) {\n\t\t\tcontinue\n\t\t}\n\t\tif (rawDirectiveName.length === 0 || /[^a-zA-Z0-9-]/.test(rawDirectiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`)\n\t\t}\n\t\tconst directiveName = dashify(rawDirectiveName)\n\t\tif (directiveNamesSeen.has(directiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`)\n\t\t}\n\t\tdirectiveNamesSeen.add(directiveName)\n\t\tconst rawDirectiveValue = rawDirectives[rawDirectiveName]\n\t\tlet directiveValue\n\t\tif (rawDirectiveValue === null) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tthrow new Error(\"Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t\t\t}\n\t\t\tdirectivesExplicitlyDisabled.add(directiveName)\n\t\t\tcontinue\n\t\t} else if (typeof rawDirectiveValue === \"string\") {\n\t\t\tdirectiveValue = [rawDirectiveValue]\n\t\t} else if (!rawDirectiveValue) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t\t} else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tdirectivesExplicitlyDisabled.add(\"default-src\")\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`)\n\t\t\t}\n\t\t} else {\n\t\t\tdirectiveValue = rawDirectiveValue\n\t\t}\n\t\tfor (const element of directiveValue) {\n\t\t\tif (typeof element !== \"string\") continue\n\t\t\tassertDirectiveValueIsValid(directiveName, element)\n\t\t\tassertDirectiveValueEntryIsValid(directiveName, element)\n\t\t}\n\t\tresult.set(directiveName, directiveValue)\n\t}\n\tif (useDefaults) {\n\t\tObject.entries(defaultDirectives).forEach(([defaultDirectiveName, defaultDirectiveValue]) => {\n\t\t\tif (!result.has(defaultDirectiveName) && !directivesExplicitlyDisabled.has(defaultDirectiveName)) {\n\t\t\t\tresult.set(defaultDirectiveName, defaultDirectiveValue)\n\t\t\t}\n\t\t})\n\t}\n\tif (!result.size) {\n\t\tthrow new Error(\"Content-Security-Policy has no directives. Either set some or disable the header\")\n\t}\n\tif (!result.has(\"default-src\") && !directivesExplicitlyDisabled.has(\"default-src\")) {\n\t\tthrow new Error(\"Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t}\n\treturn result\n}\nfunction getHeaderValue(req, res, normalizedDirectives) {\n\tconst result = []\n\tfor (const [directiveName, rawDirectiveValue] of normalizedDirectives) {\n\t\tlet directiveValue = \"\"\n\t\tfor (const element of rawDirectiveValue) {\n\t\t\tif (typeof element === \"function\") {\n\t\t\t\tconst newElement = element(req, res)\n\t\t\t\tassertDirectiveValueEntryIsValid(directiveName, newElement)\n\t\t\t\tdirectiveValue += \" \" + newElement\n\t\t\t} else {\n\t\t\t\tdirectiveValue += \" \" + element\n\t\t\t}\n\t\t}\n\t\tif (directiveValue) {\n\t\t\tassertDirectiveValueIsValid(directiveName, directiveValue)\n\t\t\tresult.push(`${directiveName}${directiveValue}`)\n\t\t} else {\n\t\t\tresult.push(directiveName)\n\t\t}\n\t}\n\treturn result.join(\";\")\n}\nconst contentSecurityPolicy = function contentSecurityPolicy(options = {}) {\n\tconst headerName = options.reportOnly ? \"Content-Security-Policy-Report-Only\" : \"Content-Security-Policy\"\n\tconst normalizedDirectives = normalizeDirectives(options)\n\treturn function contentSecurityPolicyMiddleware(req, res, next) {\n\t\tconst result = getHeaderValue(req, res, normalizedDirectives)\n\t\tif (result instanceof Error) {\n\t\t\tnext(result)\n\t\t} else {\n\t\t\tres.setHeader(headerName, result)\n\t\t\tnext()\n\t\t}\n\t}\n}\ncontentSecurityPolicy.getDefaultDirectives = getDefaultDirectives\ncontentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc\n\nconst ALLOWED_POLICIES$2 = new Set([\"require-corp\", \"credentialless\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$6({policy = \"require-corp\"}) {\n\tif (ALLOWED_POLICIES$2.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginEmbedderPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$6(options)\n\treturn function crossOriginEmbedderPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Embedder-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES$1 = new Set([\"same-origin\", \"same-origin-allow-popups\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$5({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES$1.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginOpenerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$5(options)\n\treturn function crossOriginOpenerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Opener-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES = new Set([\"same-origin\", \"same-site\", \"cross-origin\"])\nfunction getHeaderValueFromOptions$4({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginResourcePolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$4(options)\n\treturn function crossOriginResourcePolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Resource-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction originAgentCluster() {\n\treturn function originAgentClusterMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Origin-Agent-Cluster\", \"?1\")\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_TOKENS = new Set([\"no-referrer\", \"no-referrer-when-downgrade\", \"same-origin\", \"origin\", \"strict-origin\", \"origin-when-cross-origin\", \"strict-origin-when-cross-origin\", \"unsafe-url\", \"\"])\nfunction getHeaderValueFromOptions$3({policy = [\"no-referrer\"]}) {\n\tconst tokens = typeof policy === \"string\" ? [policy] : policy\n\tif (tokens.length === 0) {\n\t\tthrow new Error(\"Referrer-Policy received no policy tokens\")\n\t}\n\tconst tokensSeen = new Set()\n\ttokens.forEach(token => {\n\t\tif (!ALLOWED_TOKENS.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`)\n\t\t} else if (tokensSeen.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`)\n\t\t}\n\t\ttokensSeen.add(token)\n\t})\n\treturn tokens.join(\",\")\n}\nfunction referrerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$3(options)\n\treturn function referrerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Referrer-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst DEFAULT_MAX_AGE = 365 * 24 * 60 * 60\nfunction parseMaxAge(value = DEFAULT_MAX_AGE) {\n\tif (value >= 0 && Number.isFinite(value)) {\n\t\treturn Math.floor(value)\n\t} else {\n\t\tthrow new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`)\n\t}\n}\nfunction getHeaderValueFromOptions$2(options) {\n\tif (\"maxage\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?\")\n\t}\n\tif (\"includeSubdomains\" in options) {\n\t\tthrow new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase \"D\".)')\n\t}\n\tconst directives = [`max-age=${parseMaxAge(options.maxAge)}`]\n\tif (options.includeSubDomains === undefined || options.includeSubDomains) {\n\t\tdirectives.push(\"includeSubDomains\")\n\t}\n\tif (options.preload) {\n\t\tdirectives.push(\"preload\")\n\t}\n\treturn directives.join(\"; \")\n}\nfunction strictTransportSecurity(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$2(options)\n\treturn function strictTransportSecurityMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Strict-Transport-Security\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xContentTypeOptions() {\n\treturn function xContentTypeOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Content-Type-Options\", \"nosniff\")\n\t\tnext()\n\t}\n}\n\nfunction xDnsPrefetchControl(options = {}) {\n\tconst headerValue = options.allow ? \"on\" : \"off\"\n\treturn function xDnsPrefetchControlMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-DNS-Prefetch-Control\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xDownloadOptions() {\n\treturn function xDownloadOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Download-Options\", \"noopen\")\n\t\tnext()\n\t}\n}\n\nfunction getHeaderValueFromOptions$1({action = \"sameorigin\"}) {\n\tconst normalizedAction = typeof action === \"string\" ? action.toUpperCase() : action\n\tswitch (normalizedAction) {\n\t\tcase \"SAME-ORIGIN\":\n\t\t\treturn \"SAMEORIGIN\"\n\t\tcase \"DENY\":\n\t\tcase \"SAMEORIGIN\":\n\t\t\treturn normalizedAction\n\t\tdefault:\n\t\t\tthrow new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`)\n\t}\n}\nfunction xFrameOptions(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$1(options)\n\treturn function xFrameOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Frame-Options\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_PERMITTED_POLICIES = new Set([\"none\", \"master-only\", \"by-content-type\", \"all\"])\nfunction getHeaderValueFromOptions({permittedPolicies = \"none\"}) {\n\tif (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {\n\t\treturn permittedPolicies\n\t} else {\n\t\tthrow new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`)\n\t}\n}\nfunction xPermittedCrossDomainPolicies(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions(options)\n\treturn function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Permitted-Cross-Domain-Policies\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xPoweredBy() {\n\treturn function xPoweredByMiddleware(_req, res, next) {\n\t\tres.removeHeader(\"X-Powered-By\")\n\t\tnext()\n\t}\n}\n\nfunction xXssProtection() {\n\treturn function xXssProtectionMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-XSS-Protection\", \"0\")\n\t\tnext()\n\t}\n}\n\nfunction getMiddlewareFunctionsFromOptions(options) {\n\tconst result = []\n\tswitch (options.contentSecurityPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(contentSecurityPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(contentSecurityPolicy(options.contentSecurityPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginEmbedderPolicy) {\n\t\tcase undefined:\n\t\tcase false:\n\t\t\tbreak\n\t\tcase true:\n\t\t\tresult.push(crossOriginEmbedderPolicy())\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginOpenerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginOpenerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginResourcePolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginResourcePolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.originAgentCluster) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"Origin-Agent-Cluster does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t}\n\tswitch (options.referrerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(referrerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(referrerPolicy(options.referrerPolicy))\n\t\t\tbreak\n\t}\n\tif (\"strictTransportSecurity\" in options && \"hsts\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security option was specified twice. Remove `hsts` to silence this warning.\")\n\t}\n\tconst strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts\n\tswitch (strictTransportSecurityOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(strictTransportSecurity())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(strictTransportSecurity(strictTransportSecurityOption))\n\t\t\tbreak\n\t}\n\tif (\"xContentTypeOptions\" in options && \"noSniff\" in options) {\n\t\tthrow new Error(\"X-Content-Type-Options option was specified twice. Remove `noSniff` to silence this warning.\")\n\t}\n\tconst xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff\n\tswitch (xContentTypeOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Content-Type-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t}\n\tif (\"xDnsPrefetchControl\" in options && \"dnsPrefetchControl\" in options) {\n\t\tthrow new Error(\"X-DNS-Prefetch-Control option was specified twice. Remove `dnsPrefetchControl` to silence this warning.\")\n\t}\n\tconst xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl\n\tswitch (xDnsPrefetchControlOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDnsPrefetchControl())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xDnsPrefetchControl(xDnsPrefetchControlOption))\n\t\t\tbreak\n\t}\n\tif (\"xDownloadOptions\" in options && \"ieNoOpen\" in options) {\n\t\tthrow new Error(\"X-Download-Options option was specified twice. Remove `ieNoOpen` to silence this warning.\")\n\t}\n\tconst xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen\n\tswitch (xDownloadOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Download-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t}\n\tif (\"xFrameOptions\" in options && \"frameguard\" in options) {\n\t\tthrow new Error(\"X-Frame-Options option was specified twice. Remove `frameguard` to silence this warning.\")\n\t}\n\tconst xFrameOptionsOption = options.xFrameOptions ?? options.frameguard\n\tswitch (xFrameOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xFrameOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xFrameOptions(xFrameOptionsOption))\n\t\t\tbreak\n\t}\n\tif (\"xPermittedCrossDomainPolicies\" in options && \"permittedCrossDomainPolicies\" in options) {\n\t\tthrow new Error(\"X-Permitted-Cross-Domain-Policies option was specified twice. Remove `permittedCrossDomainPolicies` to silence this warning.\")\n\t}\n\tconst xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies\n\tswitch (xPermittedCrossDomainPoliciesOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPermittedCrossDomainPolicies())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption))\n\t\t\tbreak\n\t}\n\tif (\"xPoweredBy\" in options && \"hidePoweredBy\" in options) {\n\t\tthrow new Error(\"X-Powered-By option was specified twice. Remove `hidePoweredBy` to silence this warning.\")\n\t}\n\tconst xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy\n\tswitch (xPoweredByOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Powered-By does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t}\n\tif (\"xXssProtection\" in options && \"xssFilter\" in options) {\n\t\tthrow new Error(\"X-XSS-Protection option was specified twice. Remove `xssFilter` to silence this warning.\")\n\t}\n\tconst xXssProtectionOption = options.xXssProtection ?? options.xssFilter\n\tswitch (xXssProtectionOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-XSS-Protection does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t}\n\treturn result\n}\nconst helmet = Object.assign(\n\tfunction helmet(options = {}) {\n\t\t// People should be able to pass an options object with no prototype,\n\t\t// so we want this optional chaining.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\tif (options.constructor?.name === \"IncomingMessage\") {\n\t\t\tthrow new Error(\"It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.\")\n\t\t}\n\t\tconst middlewareFunctions = getMiddlewareFunctionsFromOptions(options)\n\t\treturn function helmetMiddleware(req, res, next) {\n\t\t\tlet middlewareIndex = 0\n\t\t\t;(function internalNext(err) {\n\t\t\t\tif (err) {\n\t\t\t\t\tnext(err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst middlewareFunction = middlewareFunctions[middlewareIndex]\n\t\t\t\tif (middlewareFunction) {\n\t\t\t\t\tmiddlewareIndex++\n\t\t\t\t\tmiddlewareFunction(req, res, internalNext)\n\t\t\t\t} else {\n\t\t\t\t\tnext()\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t},\n\t{\n\t\tcontentSecurityPolicy,\n\t\tcrossOriginEmbedderPolicy,\n\t\tcrossOriginOpenerPolicy,\n\t\tcrossOriginResourcePolicy,\n\t\toriginAgentCluster,\n\t\treferrerPolicy,\n\t\tstrictTransportSecurity,\n\t\txContentTypeOptions,\n\t\txDnsPrefetchControl,\n\t\txDownloadOptions,\n\t\txFrameOptions,\n\t\txPermittedCrossDomainPolicies,\n\t\txPoweredBy,\n\t\txXssProtection,\n\t\t// Legacy aliases\n\t\tdnsPrefetchControl: xDnsPrefetchControl,\n\t\txssFilter: xXssProtection,\n\t\tpermittedCrossDomainPolicies: xPermittedCrossDomainPolicies,\n\t\tieNoOpen: xDownloadOptions,\n\t\tnoSniff: xContentTypeOptions,\n\t\tframeguard: xFrameOptions,\n\t\thidePoweredBy: xPoweredBy,\n\t\thsts: strictTransportSecurity\n\t}\n)\n\nexport {contentSecurityPolicy, crossOriginEmbedderPolicy, crossOriginOpenerPolicy, crossOriginResourcePolicy, helmet as default, xDnsPrefetchControl as dnsPrefetchControl, xFrameOptions as frameguard, xPoweredBy as hidePoweredBy, strictTransportSecurity as hsts, xDownloadOptions as ieNoOpen, xContentTypeOptions as noSniff, originAgentCluster, xPermittedCrossDomainPolicies as permittedCrossDomainPolicies, referrerPolicy, strictTransportSecurity, xContentTypeOptions, xDnsPrefetchControl, xDownloadOptions, xFrameOptions, xPermittedCrossDomainPolicies, xPoweredBy, xXssProtection, xXssProtection as xssFilter}\n"]}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/index.cjs","../../src/index.ts","../../node_modules/helmet/index.mjs"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/index.cjs","sourcesContent":[null,"import type { AgentCard } from \"@a2a-js/sdk\";\nimport cors from \"cors\";\nimport express, { type Response } from \"express\";\nimport helmet from \"helmet\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { loggers } from \"@/utils/logger\";\nimport { AuthMiddleware } from \"./middlewares/auth.middleware\";\nimport { errorMiddleware } from \"./middlewares/error.middleware\";\nimport type {\n\tA2AModule,\n\tBaseAuth,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"./modules\";\nimport { createA2ARouter, createApiRouter, createQueryRouter } from \"./routes\";\nimport type { AinAgentManifest } from \"./types/agent\";\n\n/**\n * Main class for AI Network Agent Development Kit (AIN-ADK).\n *\n * AINAgent orchestrates all modules and provides an Express server for handling\n * agent interactions through both standard query endpoints and A2A protocol endpoints.\n *\n * @example\n * ```typescript\n * const manifest = {\n * name: \"MyAgent\",\n * description: \"An example AI agent\",\n * version: \"1.0.0\"\n * };\n *\n * const agent = new AINAgent(manifest, {\n * modelModule: new ModelModule(),\n * a2aModule: new A2AModule(),\n * mcpModule: new MCPModule()\n * });\n *\n * agent.start(3000);\n * ```\n */\nexport class AINAgent {\n\t/** Express application instance */\n\tpublic app: express.Application;\n\n\t/** Agent manifest containing metadata and configuration */\n\tpublic manifest: AinAgentManifest;\n\n\t/** Modules */\n\tpublic modelModule: ModelModule;\n\tpublic a2aModule?: A2AModule;\n\tpublic mcpModule?: MCPModule;\n\tpublic memoryModule?: MemoryModule;\n\n\t/** Optional authentication scheme for securing endpoints */\n\tpublic authScheme?: BaseAuth;\n\n\t/**\n\t * Creates a new AINAgent instance.\n\t *\n\t * @param manifest - Agent manifest containing name, description, version, and optional URL\n\t * @param modules - Required and optional modules for the agent\n\t * @param modules.modelModule - Required module for AI model integrations\n\t * @param modules.a2aModule - Optional module for A2A protocol support\n\t * @param modules.mcpModule - Optional module for MCP server connections\n\t * @param modules.memoryModule - Optional module for memory management\n\t * @param modules.folModule - Optional module for fol management\n\t * @param authScheme - Optional authentication middleware for securing endpoints\n\t */\n\tconstructor(\n\t\tmanifest: AinAgentManifest,\n\t\tmodules: {\n\t\t\tmodelModule: ModelModule;\n\t\t\ta2aModule?: A2AModule;\n\t\t\tmcpModule?: MCPModule;\n\t\t\tmemoryModule?: MemoryModule;\n\t\t},\n\t\tauthScheme?: BaseAuth,\n\t\tallowStream = false,\n\t) {\n\t\tthis.app = express();\n\n\t\t// Set manifest\n\t\tthis.manifest = manifest;\n\n\t\t// Set modules\n\t\tthis.modelModule = modules.modelModule;\n\t\tthis.a2aModule = modules.a2aModule;\n\t\tthis.mcpModule = modules.mcpModule;\n\t\tthis.memoryModule = modules.memoryModule;\n\n\t\tthis.authScheme = authScheme;\n\n\t\tthis.initializeMiddlewares();\n\t\tthis.initializeRoutes(allowStream);\n\t\tthis.app.use(errorMiddleware);\n\t}\n\n\t/**\n\t * Initializes Express middlewares for security, CORS, and body parsing.\n\t * Also applies authentication middleware if configured.\n\t */\n\tprivate initializeMiddlewares(): void {\n\t\tthis.app.use(helmet());\n\t\tthis.app.use(cors());\n\t\tthis.app.use(express.json());\n\t\tthis.app.use(express.urlencoded({ extended: true }));\n\n\t\tif (this.authScheme) {\n\t\t\tconst auth = new AuthMiddleware(this.authScheme);\n\t\t\tthis.app.use(auth.middleware());\n\t\t}\n\t}\n\n\t/**\n\t * Validates if a string is a valid HTTP or HTTPS URL.\n\t *\n\t * @param urlString - The URL string to validate\n\t * @returns true if the URL is valid HTTP/HTTPS, false otherwise\n\t */\n\tprivate isValidUrl(urlString: string | undefined): boolean {\n\t\tif (!urlString) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst url = new URL(urlString);\n\t\t\treturn url.protocol === \"http:\" || url.protocol === \"https:\";\n\t\t} catch (_error) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Generates an A2A protocol agent card for discovery.\n\t *\n\t * The agent card contains metadata about the agent's capabilities,\n\t * supported input/output modes, and connection information.\n\t *\n\t * @returns AgentCard object with agent metadata and capabilities\n\t * @throws Error if manifest URL is invalid or missing\n\t */\n\tpublic generateAgentCard = (): AgentCard => {\n\t\tconst _url = new URL(this.manifest.url || \"\");\n\t\t_url.pathname = \"a2a\";\n\n\t\treturn {\n\t\t\tname: this.manifest.name,\n\t\t\tdescription: this.manifest.description,\n\t\t\tversion: this.manifest.version,\n\t\t\turl: _url.toString(),\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true, // The new framework supports streaming\n\t\t\t\tpushNotifications: false, // Assuming not implemented for this agent yet\n\t\t\t\tstateTransitionHistory: true, // Agent uses history\n\t\t\t},\n\t\t\tdefaultInputModes: [\"text\"],\n\t\t\tdefaultOutputModes: [\"text\", \"task-status\"], // task-status is a common output mode\n\t\t\tskills: [],\n\t\t\tsupportsAuthenticatedExtendedCard: false,\n\t\t};\n\t};\n\n\t/**\n\t * Initializes all HTTP routes including health check, agent discovery,\n\t * query endpoints, and optional A2A endpoints.\n\t *\n\t * Routes initialized:\n\t * - GET / - Health check endpoint\n\t * - GET /.well-known/agent.json - Agent card discovery endpoint\n\t * - /query/* - Query processing endpoints\n\t * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)\n\t */\n\tprivate initializeRoutes = (allowStream = false): void => {\n\t\tthis.app.get(\"/\", async (_, res: Response) => {\n\t\t\tconst { name, description, version } = this.manifest;\n\t\t\tres.status(200).send(\n\t\t\t\t`\n ⚡ AIN Agent: ${name} v${version}<br/>\n ${description}<br/><br/>\n Agent status: Online and ready.\n `.trim(),\n\t\t\t);\n\t\t});\n\n\t\tthis.app.get(\"/.well-known/agent.json\", async (_, res: Response) => {\n\t\t\ttry {\n\t\t\t\tconst card = this.generateAgentCard();\n\t\t\t\tres.json(card);\n\t\t\t} catch (_error) {\n\t\t\t\tres.status(StatusCodes.NOT_FOUND).send(\"No agent card\");\n\t\t\t}\n\t\t});\n\n\t\tthis.app.use(createQueryRouter(this, allowStream));\n\t\tthis.app.use(createApiRouter(this));\n\t\tif (this.isValidUrl(this.manifest.url)) {\n\t\t\tthis.app.use(createA2ARouter(this));\n\t\t}\n\t};\n\n\t/**\n\t * Starts the Express server on the specified port.\n\t *\n\t * @param port - The port number to listen on\n\t */\n\tpublic async start(port: number): Promise<void> {\n\t\tawait this.memoryModule?.initialize();\n\t\tthis.app.listen(port, () => {\n\t\t\tloggers.agent.info(`AINAgent is running on port ${port}`);\n\t\t});\n\t}\n}\n","const dangerouslyDisableDefaultSrc = Symbol(\"dangerouslyDisableDefaultSrc\")\nconst SHOULD_BE_QUOTED = new Set([\"none\", \"self\", \"strict-dynamic\", \"report-sample\", \"inline-speculation-rules\", \"unsafe-inline\", \"unsafe-eval\", \"unsafe-hashes\", \"wasm-unsafe-eval\"])\nconst getDefaultDirectives = () => ({\n\t\"default-src\": [\"'self'\"],\n\t\"base-uri\": [\"'self'\"],\n\t\"font-src\": [\"'self'\", \"https:\", \"data:\"],\n\t\"form-action\": [\"'self'\"],\n\t\"frame-ancestors\": [\"'self'\"],\n\t\"img-src\": [\"'self'\", \"data:\"],\n\t\"object-src\": [\"'none'\"],\n\t\"script-src\": [\"'self'\"],\n\t\"script-src-attr\": [\"'none'\"],\n\t\"style-src\": [\"'self'\", \"https:\", \"'unsafe-inline'\"],\n\t\"upgrade-insecure-requests\": []\n})\nconst dashify = str => str.replace(/[A-Z]/g, capitalLetter => \"-\" + capitalLetter.toLowerCase())\nconst assertDirectiveValueIsValid = (directiveName, directiveValue) => {\n\tif (/;|,/.test(directiveValue)) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t}\n}\nconst assertDirectiveValueEntryIsValid = (directiveName, directiveValueEntry) => {\n\tif (SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith(\"nonce-\") || directiveValueEntry.startsWith(\"sha256-\") || directiveValueEntry.startsWith(\"sha384-\") || directiveValueEntry.startsWith(\"sha512-\")) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`)\n\t}\n}\nfunction normalizeDirectives(options) {\n\tconst defaultDirectives = getDefaultDirectives()\n\tconst {useDefaults = true, directives: rawDirectives = defaultDirectives} = options\n\tconst result = new Map()\n\tconst directiveNamesSeen = new Set()\n\tconst directivesExplicitlyDisabled = new Set()\n\tfor (const rawDirectiveName in rawDirectives) {\n\t\tif (!Object.hasOwn(rawDirectives, rawDirectiveName)) {\n\t\t\tcontinue\n\t\t}\n\t\tif (rawDirectiveName.length === 0 || /[^a-zA-Z0-9-]/.test(rawDirectiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`)\n\t\t}\n\t\tconst directiveName = dashify(rawDirectiveName)\n\t\tif (directiveNamesSeen.has(directiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`)\n\t\t}\n\t\tdirectiveNamesSeen.add(directiveName)\n\t\tconst rawDirectiveValue = rawDirectives[rawDirectiveName]\n\t\tlet directiveValue\n\t\tif (rawDirectiveValue === null) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tthrow new Error(\"Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t\t\t}\n\t\t\tdirectivesExplicitlyDisabled.add(directiveName)\n\t\t\tcontinue\n\t\t} else if (typeof rawDirectiveValue === \"string\") {\n\t\t\tdirectiveValue = [rawDirectiveValue]\n\t\t} else if (!rawDirectiveValue) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t\t} else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tdirectivesExplicitlyDisabled.add(\"default-src\")\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`)\n\t\t\t}\n\t\t} else {\n\t\t\tdirectiveValue = rawDirectiveValue\n\t\t}\n\t\tfor (const element of directiveValue) {\n\t\t\tif (typeof element !== \"string\") continue\n\t\t\tassertDirectiveValueIsValid(directiveName, element)\n\t\t\tassertDirectiveValueEntryIsValid(directiveName, element)\n\t\t}\n\t\tresult.set(directiveName, directiveValue)\n\t}\n\tif (useDefaults) {\n\t\tObject.entries(defaultDirectives).forEach(([defaultDirectiveName, defaultDirectiveValue]) => {\n\t\t\tif (!result.has(defaultDirectiveName) && !directivesExplicitlyDisabled.has(defaultDirectiveName)) {\n\t\t\t\tresult.set(defaultDirectiveName, defaultDirectiveValue)\n\t\t\t}\n\t\t})\n\t}\n\tif (!result.size) {\n\t\tthrow new Error(\"Content-Security-Policy has no directives. Either set some or disable the header\")\n\t}\n\tif (!result.has(\"default-src\") && !directivesExplicitlyDisabled.has(\"default-src\")) {\n\t\tthrow new Error(\"Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t}\n\treturn result\n}\nfunction getHeaderValue(req, res, normalizedDirectives) {\n\tconst result = []\n\tfor (const [directiveName, rawDirectiveValue] of normalizedDirectives) {\n\t\tlet directiveValue = \"\"\n\t\tfor (const element of rawDirectiveValue) {\n\t\t\tif (typeof element === \"function\") {\n\t\t\t\tconst newElement = element(req, res)\n\t\t\t\tassertDirectiveValueEntryIsValid(directiveName, newElement)\n\t\t\t\tdirectiveValue += \" \" + newElement\n\t\t\t} else {\n\t\t\t\tdirectiveValue += \" \" + element\n\t\t\t}\n\t\t}\n\t\tif (directiveValue) {\n\t\t\tassertDirectiveValueIsValid(directiveName, directiveValue)\n\t\t\tresult.push(`${directiveName}${directiveValue}`)\n\t\t} else {\n\t\t\tresult.push(directiveName)\n\t\t}\n\t}\n\treturn result.join(\";\")\n}\nconst contentSecurityPolicy = function contentSecurityPolicy(options = {}) {\n\tconst headerName = options.reportOnly ? \"Content-Security-Policy-Report-Only\" : \"Content-Security-Policy\"\n\tconst normalizedDirectives = normalizeDirectives(options)\n\treturn function contentSecurityPolicyMiddleware(req, res, next) {\n\t\tconst result = getHeaderValue(req, res, normalizedDirectives)\n\t\tif (result instanceof Error) {\n\t\t\tnext(result)\n\t\t} else {\n\t\t\tres.setHeader(headerName, result)\n\t\t\tnext()\n\t\t}\n\t}\n}\ncontentSecurityPolicy.getDefaultDirectives = getDefaultDirectives\ncontentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc\n\nconst ALLOWED_POLICIES$2 = new Set([\"require-corp\", \"credentialless\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$6({policy = \"require-corp\"}) {\n\tif (ALLOWED_POLICIES$2.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginEmbedderPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$6(options)\n\treturn function crossOriginEmbedderPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Embedder-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES$1 = new Set([\"same-origin\", \"same-origin-allow-popups\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$5({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES$1.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginOpenerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$5(options)\n\treturn function crossOriginOpenerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Opener-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES = new Set([\"same-origin\", \"same-site\", \"cross-origin\"])\nfunction getHeaderValueFromOptions$4({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginResourcePolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$4(options)\n\treturn function crossOriginResourcePolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Resource-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction originAgentCluster() {\n\treturn function originAgentClusterMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Origin-Agent-Cluster\", \"?1\")\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_TOKENS = new Set([\"no-referrer\", \"no-referrer-when-downgrade\", \"same-origin\", \"origin\", \"strict-origin\", \"origin-when-cross-origin\", \"strict-origin-when-cross-origin\", \"unsafe-url\", \"\"])\nfunction getHeaderValueFromOptions$3({policy = [\"no-referrer\"]}) {\n\tconst tokens = typeof policy === \"string\" ? [policy] : policy\n\tif (tokens.length === 0) {\n\t\tthrow new Error(\"Referrer-Policy received no policy tokens\")\n\t}\n\tconst tokensSeen = new Set()\n\ttokens.forEach(token => {\n\t\tif (!ALLOWED_TOKENS.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`)\n\t\t} else if (tokensSeen.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`)\n\t\t}\n\t\ttokensSeen.add(token)\n\t})\n\treturn tokens.join(\",\")\n}\nfunction referrerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$3(options)\n\treturn function referrerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Referrer-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst DEFAULT_MAX_AGE = 365 * 24 * 60 * 60\nfunction parseMaxAge(value = DEFAULT_MAX_AGE) {\n\tif (value >= 0 && Number.isFinite(value)) {\n\t\treturn Math.floor(value)\n\t} else {\n\t\tthrow new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`)\n\t}\n}\nfunction getHeaderValueFromOptions$2(options) {\n\tif (\"maxage\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?\")\n\t}\n\tif (\"includeSubdomains\" in options) {\n\t\tthrow new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase \"D\".)')\n\t}\n\tconst directives = [`max-age=${parseMaxAge(options.maxAge)}`]\n\tif (options.includeSubDomains === undefined || options.includeSubDomains) {\n\t\tdirectives.push(\"includeSubDomains\")\n\t}\n\tif (options.preload) {\n\t\tdirectives.push(\"preload\")\n\t}\n\treturn directives.join(\"; \")\n}\nfunction strictTransportSecurity(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$2(options)\n\treturn function strictTransportSecurityMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Strict-Transport-Security\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xContentTypeOptions() {\n\treturn function xContentTypeOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Content-Type-Options\", \"nosniff\")\n\t\tnext()\n\t}\n}\n\nfunction xDnsPrefetchControl(options = {}) {\n\tconst headerValue = options.allow ? \"on\" : \"off\"\n\treturn function xDnsPrefetchControlMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-DNS-Prefetch-Control\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xDownloadOptions() {\n\treturn function xDownloadOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Download-Options\", \"noopen\")\n\t\tnext()\n\t}\n}\n\nfunction getHeaderValueFromOptions$1({action = \"sameorigin\"}) {\n\tconst normalizedAction = typeof action === \"string\" ? action.toUpperCase() : action\n\tswitch (normalizedAction) {\n\t\tcase \"SAME-ORIGIN\":\n\t\t\treturn \"SAMEORIGIN\"\n\t\tcase \"DENY\":\n\t\tcase \"SAMEORIGIN\":\n\t\t\treturn normalizedAction\n\t\tdefault:\n\t\t\tthrow new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`)\n\t}\n}\nfunction xFrameOptions(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$1(options)\n\treturn function xFrameOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Frame-Options\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_PERMITTED_POLICIES = new Set([\"none\", \"master-only\", \"by-content-type\", \"all\"])\nfunction getHeaderValueFromOptions({permittedPolicies = \"none\"}) {\n\tif (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {\n\t\treturn permittedPolicies\n\t} else {\n\t\tthrow new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`)\n\t}\n}\nfunction xPermittedCrossDomainPolicies(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions(options)\n\treturn function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Permitted-Cross-Domain-Policies\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xPoweredBy() {\n\treturn function xPoweredByMiddleware(_req, res, next) {\n\t\tres.removeHeader(\"X-Powered-By\")\n\t\tnext()\n\t}\n}\n\nfunction xXssProtection() {\n\treturn function xXssProtectionMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-XSS-Protection\", \"0\")\n\t\tnext()\n\t}\n}\n\nfunction getMiddlewareFunctionsFromOptions(options) {\n\tconst result = []\n\tswitch (options.contentSecurityPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(contentSecurityPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(contentSecurityPolicy(options.contentSecurityPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginEmbedderPolicy) {\n\t\tcase undefined:\n\t\tcase false:\n\t\t\tbreak\n\t\tcase true:\n\t\t\tresult.push(crossOriginEmbedderPolicy())\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginOpenerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginOpenerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginResourcePolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginResourcePolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.originAgentCluster) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"Origin-Agent-Cluster does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t}\n\tswitch (options.referrerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(referrerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(referrerPolicy(options.referrerPolicy))\n\t\t\tbreak\n\t}\n\tif (\"strictTransportSecurity\" in options && \"hsts\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security option was specified twice. Remove `hsts` to silence this warning.\")\n\t}\n\tconst strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts\n\tswitch (strictTransportSecurityOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(strictTransportSecurity())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(strictTransportSecurity(strictTransportSecurityOption))\n\t\t\tbreak\n\t}\n\tif (\"xContentTypeOptions\" in options && \"noSniff\" in options) {\n\t\tthrow new Error(\"X-Content-Type-Options option was specified twice. Remove `noSniff` to silence this warning.\")\n\t}\n\tconst xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff\n\tswitch (xContentTypeOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Content-Type-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t}\n\tif (\"xDnsPrefetchControl\" in options && \"dnsPrefetchControl\" in options) {\n\t\tthrow new Error(\"X-DNS-Prefetch-Control option was specified twice. Remove `dnsPrefetchControl` to silence this warning.\")\n\t}\n\tconst xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl\n\tswitch (xDnsPrefetchControlOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDnsPrefetchControl())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xDnsPrefetchControl(xDnsPrefetchControlOption))\n\t\t\tbreak\n\t}\n\tif (\"xDownloadOptions\" in options && \"ieNoOpen\" in options) {\n\t\tthrow new Error(\"X-Download-Options option was specified twice. Remove `ieNoOpen` to silence this warning.\")\n\t}\n\tconst xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen\n\tswitch (xDownloadOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Download-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t}\n\tif (\"xFrameOptions\" in options && \"frameguard\" in options) {\n\t\tthrow new Error(\"X-Frame-Options option was specified twice. Remove `frameguard` to silence this warning.\")\n\t}\n\tconst xFrameOptionsOption = options.xFrameOptions ?? options.frameguard\n\tswitch (xFrameOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xFrameOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xFrameOptions(xFrameOptionsOption))\n\t\t\tbreak\n\t}\n\tif (\"xPermittedCrossDomainPolicies\" in options && \"permittedCrossDomainPolicies\" in options) {\n\t\tthrow new Error(\"X-Permitted-Cross-Domain-Policies option was specified twice. Remove `permittedCrossDomainPolicies` to silence this warning.\")\n\t}\n\tconst xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies\n\tswitch (xPermittedCrossDomainPoliciesOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPermittedCrossDomainPolicies())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption))\n\t\t\tbreak\n\t}\n\tif (\"xPoweredBy\" in options && \"hidePoweredBy\" in options) {\n\t\tthrow new Error(\"X-Powered-By option was specified twice. Remove `hidePoweredBy` to silence this warning.\")\n\t}\n\tconst xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy\n\tswitch (xPoweredByOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Powered-By does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t}\n\tif (\"xXssProtection\" in options && \"xssFilter\" in options) {\n\t\tthrow new Error(\"X-XSS-Protection option was specified twice. Remove `xssFilter` to silence this warning.\")\n\t}\n\tconst xXssProtectionOption = options.xXssProtection ?? options.xssFilter\n\tswitch (xXssProtectionOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-XSS-Protection does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t}\n\treturn result\n}\nconst helmet = Object.assign(\n\tfunction helmet(options = {}) {\n\t\t// People should be able to pass an options object with no prototype,\n\t\t// so we want this optional chaining.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\tif (options.constructor?.name === \"IncomingMessage\") {\n\t\t\tthrow new Error(\"It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.\")\n\t\t}\n\t\tconst middlewareFunctions = getMiddlewareFunctionsFromOptions(options)\n\t\treturn function helmetMiddleware(req, res, next) {\n\t\t\tlet middlewareIndex = 0\n\t\t\t;(function internalNext(err) {\n\t\t\t\tif (err) {\n\t\t\t\t\tnext(err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst middlewareFunction = middlewareFunctions[middlewareIndex]\n\t\t\t\tif (middlewareFunction) {\n\t\t\t\t\tmiddlewareIndex++\n\t\t\t\t\tmiddlewareFunction(req, res, internalNext)\n\t\t\t\t} else {\n\t\t\t\t\tnext()\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t},\n\t{\n\t\tcontentSecurityPolicy,\n\t\tcrossOriginEmbedderPolicy,\n\t\tcrossOriginOpenerPolicy,\n\t\tcrossOriginResourcePolicy,\n\t\toriginAgentCluster,\n\t\treferrerPolicy,\n\t\tstrictTransportSecurity,\n\t\txContentTypeOptions,\n\t\txDnsPrefetchControl,\n\t\txDownloadOptions,\n\t\txFrameOptions,\n\t\txPermittedCrossDomainPolicies,\n\t\txPoweredBy,\n\t\txXssProtection,\n\t\t// Legacy aliases\n\t\tdnsPrefetchControl: xDnsPrefetchControl,\n\t\txssFilter: xXssProtection,\n\t\tpermittedCrossDomainPolicies: xPermittedCrossDomainPolicies,\n\t\tieNoOpen: xDownloadOptions,\n\t\tnoSniff: xContentTypeOptions,\n\t\tframeguard: xFrameOptions,\n\t\thidePoweredBy: xPoweredBy,\n\t\thsts: strictTransportSecurity\n\t}\n)\n\nexport {contentSecurityPolicy, crossOriginEmbedderPolicy, crossOriginOpenerPolicy, crossOriginResourcePolicy, helmet as default, xDnsPrefetchControl as dnsPrefetchControl, xFrameOptions as frameguard, xPoweredBy as hidePoweredBy, strictTransportSecurity as hsts, xDownloadOptions as ieNoOpen, xContentTypeOptions as noSniff, originAgentCluster, xPermittedCrossDomainPolicies as permittedCrossDomainPolicies, referrerPolicy, strictTransportSecurity, xContentTypeOptions, xDnsPrefetchControl, xDownloadOptions, xFrameOptions, xPermittedCrossDomainPolicies, xPoweredBy, xXssProtection, xXssProtection as xssFilter}\n"]}
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk4HY26I2Ccjs = require('../../chunk-4HY26I2C.cjs');
3
+ var _chunkFWFEVDEYcjs = require('../../chunk-FWFEVDEY.cjs');
4
4
  require('../../chunk-F7I4G6JG.cjs');
5
5
  require('../../chunk-LPXYZH22.cjs');
6
6
  require('../../chunk-466ED5WN.cjs');
7
7
 
8
8
 
9
- exports.A2AModule = _chunk4HY26I2Ccjs.A2AModule;
9
+ exports.A2AModule = _chunkFWFEVDEYcjs.A2AModule;
10
10
  //# sourceMappingURL=a2a.module.cjs.map
@@ -9,14 +9,14 @@ var _chunkRMRFCEP4cjs = require('../chunk-RMRFCEP4.cjs');
9
9
  var _chunkQWASSVCUcjs = require('../chunk-QWASSVCU.cjs');
10
10
 
11
11
 
12
- var _chunk4HY26I2Ccjs = require('../chunk-4HY26I2C.cjs');
12
+ var _chunkFWFEVDEYcjs = require('../chunk-FWFEVDEY.cjs');
13
13
  require('../chunk-F7I4G6JG.cjs');
14
14
 
15
15
 
16
16
  var _chunkXQTVE64Wcjs = require('../chunk-XQTVE64W.cjs');
17
17
 
18
18
 
19
- var _chunkMMWEU2MOcjs = require('../chunk-MMWEU2MO.cjs');
19
+ var _chunkCYW6ICAWcjs = require('../chunk-CYW6ICAW.cjs');
20
20
  require('../chunk-E433ONEN.cjs');
21
21
  require('../chunk-LPXYZH22.cjs');
22
22
  require('../chunk-466ED5WN.cjs');
@@ -27,5 +27,5 @@ require('../chunk-466ED5WN.cjs');
27
27
 
28
28
 
29
29
 
30
- exports.A2AModule = _chunk4HY26I2Ccjs.A2AModule; exports.BaseAuth = _chunkXQTVE64Wcjs.BaseAuth; exports.BaseModel = _chunkRMRFCEP4cjs.BaseModel; exports.MCPModule = _chunkMMWEU2MOcjs.MCPModule; exports.MemoryModule = _chunkQ4FP72ZYcjs.MemoryModule; exports.ModelModule = _chunkQWASSVCUcjs.ModelModule;
30
+ exports.A2AModule = _chunkFWFEVDEYcjs.A2AModule; exports.BaseAuth = _chunkXQTVE64Wcjs.BaseAuth; exports.BaseModel = _chunkRMRFCEP4cjs.BaseModel; exports.MCPModule = _chunkCYW6ICAWcjs.MCPModule; exports.MemoryModule = _chunkQ4FP72ZYcjs.MemoryModule; exports.ModelModule = _chunkQWASSVCUcjs.ModelModule;
31
31
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkMMWEU2MOcjs = require('../../chunk-MMWEU2MO.cjs');
3
+ var _chunkCYW6ICAWcjs = require('../../chunk-CYW6ICAW.cjs');
4
4
  require('../../chunk-E433ONEN.cjs');
5
5
  require('../../chunk-LPXYZH22.cjs');
6
6
  require('../../chunk-466ED5WN.cjs');
7
7
 
8
8
 
9
- exports.MCPModule = _chunkMMWEU2MOcjs.MCPModule;
9
+ exports.MCPModule = _chunkCYW6ICAWcjs.MCPModule;
10
10
  //# sourceMappingURL=mcp.module.cjs.map
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk6S6GEY3Dcjs = require('../chunk-6S6GEY3D.cjs');
4
- require('../chunk-ICFTUZP5.cjs');
5
- require('../chunk-RWQDV2XY.cjs');
3
+ var _chunk2E6X6IDLcjs = require('../chunk-2E6X6IDL.cjs');
4
+ require('../chunk-3JKRJYJ6.cjs');
5
+ require('../chunk-DQP6RGIR.cjs');
6
6
  require('../chunk-XZAKXJYO.cjs');
7
7
  require('../chunk-LPXYZH22.cjs');
8
- require('../chunk-3JKRJYJ6.cjs');
8
+ require('../chunk-ICFTUZP5.cjs');
9
9
  require('../chunk-466ED5WN.cjs');
10
10
 
11
11
 
12
- exports.createA2ARouter = _chunk6S6GEY3Dcjs.createA2ARouter;
12
+ exports.createA2ARouter = _chunk2E6X6IDLcjs.createA2ARouter;
13
13
  //# sourceMappingURL=a2a.routes.cjs.map
@@ -1,7 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-SSSDO7PA.cjs');
2
2
 
3
3
 
4
- var _chunk6S6GEY3Dcjs = require('../chunk-6S6GEY3D.cjs');
4
+ var _chunkJCAA6AA6cjs = require('../chunk-JCAA6AA6.cjs');
5
+ require('../chunk-7JYOSS27.cjs');
6
+ require('../chunk-EH4MLPFY.cjs');
7
+
8
+
9
+ var _chunk2E6X6IDLcjs = require('../chunk-2E6X6IDL.cjs');
10
+ require('../chunk-3JKRJYJ6.cjs');
11
+ require('../chunk-DQP6RGIR.cjs');
12
+ require('../chunk-XZAKXJYO.cjs');
13
+ require('../chunk-LPXYZH22.cjs');
14
+ require('../chunk-ICFTUZP5.cjs');
15
+ require('../chunk-466ED5WN.cjs');
5
16
 
6
17
 
7
18
  var _chunkVBXOEQ3Ncjs = require('../chunk-VBXOEQ3N.cjs');
@@ -11,25 +22,14 @@ var _chunkN7NGEMKLcjs = require('../chunk-N7NGEMKL.cjs');
11
22
 
12
23
 
13
24
  var _chunkGBHMYJ6Rcjs = require('../chunk-GBHMYJ6R.cjs');
14
-
15
-
16
- var _chunkZAZ3KYP5cjs = require('../chunk-ZAZ3KYP5.cjs');
17
25
  require('../chunk-V5RSN2DY.cjs');
18
26
  require('../chunk-NXKC2HVX.cjs');
19
- require('../chunk-ICFTUZP5.cjs');
20
- require('../chunk-RPMERDHU.cjs');
21
27
  require('../chunk-DX2JH3FJ.cjs');
22
- require('../chunk-UQ72NNHV.cjs');
23
- require('../chunk-RWQDV2XY.cjs');
24
- require('../chunk-XZAKXJYO.cjs');
25
- require('../chunk-LPXYZH22.cjs');
26
- require('../chunk-3JKRJYJ6.cjs');
27
- require('../chunk-466ED5WN.cjs');
28
28
 
29
29
 
30
30
 
31
31
 
32
32
 
33
33
 
34
- exports.createA2ARouter = _chunk6S6GEY3Dcjs.createA2ARouter; exports.createApiRouter = _chunkVBXOEQ3Ncjs.createApiRouter; exports.createModelApiRouter = _chunkN7NGEMKLcjs.createModelApiRouter; exports.createQueryRouter = _chunkZAZ3KYP5cjs.createQueryRouter; exports.createSessionApiRouter = _chunkGBHMYJ6Rcjs.createSessionApiRouter;
34
+ exports.createA2ARouter = _chunk2E6X6IDLcjs.createA2ARouter; exports.createApiRouter = _chunkVBXOEQ3Ncjs.createApiRouter; exports.createModelApiRouter = _chunkN7NGEMKLcjs.createModelApiRouter; exports.createQueryRouter = _chunkJCAA6AA6cjs.createQueryRouter; exports.createSessionApiRouter = _chunkGBHMYJ6Rcjs.createSessionApiRouter;
35
35
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/routes/index.cjs"],"names":[],"mappings":"AAAA,0GAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,4UAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/routes/index.cjs"}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/routes/index.cjs"],"names":[],"mappings":"AAAA,0GAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,4UAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/routes/index.cjs"}
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkZAZ3KYP5cjs = require('../chunk-ZAZ3KYP5.cjs');
4
- require('../chunk-RPMERDHU.cjs');
5
- require('../chunk-UQ72NNHV.cjs');
6
- require('../chunk-RWQDV2XY.cjs');
3
+ var _chunkJCAA6AA6cjs = require('../chunk-JCAA6AA6.cjs');
4
+ require('../chunk-7JYOSS27.cjs');
5
+ require('../chunk-EH4MLPFY.cjs');
6
+ require('../chunk-DQP6RGIR.cjs');
7
7
  require('../chunk-XZAKXJYO.cjs');
8
8
  require('../chunk-LPXYZH22.cjs');
9
9
  require('../chunk-466ED5WN.cjs');
10
10
 
11
11
 
12
- exports.createQueryRouter = _chunkZAZ3KYP5cjs.createQueryRouter;
12
+ exports.createQueryRouter = _chunkJCAA6AA6cjs.createQueryRouter;
13
13
  //# sourceMappingURL=query.routes.cjs.map
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkUQ72NNHVcjs = require('../chunk-UQ72NNHV.cjs');
3
+ var _chunk7JYOSS27cjs = require('../chunk-7JYOSS27.cjs');
4
4
 
5
5
 
6
- var _chunkRWQDV2XYcjs = require('../chunk-RWQDV2XY.cjs');
7
- require('../chunk-XZAKXJYO.cjs');
8
- require('../chunk-LPXYZH22.cjs');
6
+ var _chunk3JKRJYJ6cjs = require('../chunk-3JKRJYJ6.cjs');
9
7
 
10
8
 
11
- var _chunk3JKRJYJ6cjs = require('../chunk-3JKRJYJ6.cjs');
9
+ var _chunkDQP6RGIRcjs = require('../chunk-DQP6RGIR.cjs');
10
+ require('../chunk-XZAKXJYO.cjs');
11
+ require('../chunk-LPXYZH22.cjs');
12
12
  require('../chunk-466ED5WN.cjs');
13
13
 
14
14
 
15
15
 
16
16
 
17
- exports.A2AService = _chunk3JKRJYJ6cjs.A2AService; exports.QueryService = _chunkRWQDV2XYcjs.QueryService; exports.QueryStreamService = _chunkUQ72NNHVcjs.QueryStreamService;
17
+ exports.A2AService = _chunk3JKRJYJ6cjs.A2AService; exports.QueryService = _chunkDQP6RGIRcjs.QueryService; exports.QueryStreamService = _chunk7JYOSS27cjs.QueryStreamService;
18
18
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACF,4KAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/index.cjs"}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACF,4KAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/index.cjs"}
@@ -1,9 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkUQ72NNHVcjs = require('../chunk-UQ72NNHV.cjs');
3
+ var _chunk7JYOSS27cjs = require('../chunk-7JYOSS27.cjs');
4
+ require('../chunk-XZAKXJYO.cjs');
4
5
  require('../chunk-LPXYZH22.cjs');
5
6
  require('../chunk-466ED5WN.cjs');
6
7
 
7
8
 
8
- exports.QueryStreamService = _chunkUQ72NNHVcjs.QueryStreamService;
9
+ exports.QueryStreamService = _chunk7JYOSS27cjs.QueryStreamService;
9
10
  //# sourceMappingURL=query-stream.service.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/query-stream.service.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,kEAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/query-stream.service.cjs"}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/query-stream.service.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,kEAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/services/query-stream.service.cjs"}
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkRWQDV2XYcjs = require('../chunk-RWQDV2XY.cjs');
3
+ var _chunkDQP6RGIRcjs = require('../chunk-DQP6RGIR.cjs');
4
4
  require('../chunk-XZAKXJYO.cjs');
5
5
  require('../chunk-LPXYZH22.cjs');
6
6
  require('../chunk-466ED5WN.cjs');
7
7
 
8
8
 
9
- exports.QueryService = _chunkRWQDV2XYcjs.QueryService;
9
+ exports.QueryService = _chunkDQP6RGIRcjs.QueryService;
10
10
  //# sourceMappingURL=query.service.cjs.map
@@ -3,6 +3,7 @@ import {
3
3
  } from "./chunk-N7VYM2R5.js";
4
4
 
5
5
  // src/services/query-stream.service.ts
6
+ import { randomUUID } from "crypto";
6
7
  var QueryStreamService = class {
7
8
  modelModule;
8
9
  a2aModule;
@@ -64,7 +65,6 @@ ${this.prompts?.system || ""}
64
65
  }
65
66
  const functions = modelInstance.convertToolsToFunctions(tools);
66
67
  const processList = [];
67
- const finalMessage = "";
68
68
  let didCallTool = false;
69
69
  while (true) {
70
70
  const responseStream = await modelInstance.fetchStreamWithContextMessage(
@@ -123,20 +123,16 @@ ${this.prompts?.system || ""}
123
123
  if (this.mcpModule && selectedTool.protocol === "MCP" /* MCP */) {
124
124
  const toolArgs2 = JSON.parse(toolCall.function.arguments);
125
125
  loggers.intent.debug("MCP tool call", { toolName, toolArgs: toolArgs2 });
126
- const result = await this.mcpModule.useTool(
126
+ toolResult = await this.mcpModule.useTool(
127
127
  selectedTool,
128
128
  toolArgs2
129
129
  );
130
- toolResult = `[Bot Called MCP Tool ${toolName} with args ${JSON.stringify(toolArgs2)}]
131
- ` + JSON.stringify(result.content, null, 2);
132
130
  } else if (this.a2aModule && selectedTool.protocol === "A2A" /* A2A */) {
133
- const result = await this.a2aModule.useTool(
131
+ toolResult = await this.a2aModule.useTool(
134
132
  selectedTool,
135
133
  messagePayload,
136
134
  sessionId
137
135
  );
138
- toolResult = `[Bot Called A2A Tool ${toolName}]
139
- ${result.join("\n")}`;
140
136
  } else {
141
137
  loggers.intent.warn(
142
138
  `Unrecognized tool type: ${selectedTool.protocol}`
@@ -169,6 +165,33 @@ ${result.join("\n")}`;
169
165
  }
170
166
  }
171
167
  }
168
+ /**
169
+ * Generates a title for the conversation based on the query.
170
+ *
171
+ * @param query - The user's input query
172
+ * @returns Promise resolving to a generated title
173
+ */
174
+ async generateTitle(query) {
175
+ const DEFAULT_TITLE = "New Chat";
176
+ try {
177
+ const modelInstance = this.modelModule.getModel();
178
+ const messages = modelInstance.generateMessages({
179
+ query,
180
+ systemPrompt: `You are a helpful assistant that generates titles for conversations.
181
+ Please analyze the user's query and create a concise title that accurately reflects the conversation's core topic.
182
+ The title must be no more than 5 words long.
183
+ Respond with only the title. Do not include any punctuation or extra explanations.`
184
+ });
185
+ const response = await modelInstance.fetch(messages);
186
+ return response.content || DEFAULT_TITLE;
187
+ } catch (error) {
188
+ loggers.intentStream.error("Error generating title", {
189
+ error,
190
+ query
191
+ });
192
+ return DEFAULT_TITLE;
193
+ }
194
+ }
172
195
  /**
173
196
  * Main entry point for processing user queries.
174
197
  *
@@ -182,17 +205,32 @@ ${result.join("\n")}`;
182
205
  * @param sessionId - Unique session identifier
183
206
  * @returns Object containing the AI-generated response
184
207
  */
185
- async handleQueryStream(query, sessionId, res, userId) {
208
+ async handleQueryStream(query, userId, res, _sessionId) {
209
+ let sessionId = _sessionId;
186
210
  const queryStartAt = Date.now();
187
211
  const sessionMemory = this.memoryModule?.getSessionMemory();
188
- const session = !userId ? void 0 : await sessionMemory?.getSession(sessionId, userId);
212
+ const session = !userId || !sessionId ? void 0 : await sessionMemory?.getSession(userId, sessionId);
213
+ try {
214
+ if (!sessionId) {
215
+ sessionId = randomUUID();
216
+ const title = await this.generateTitle(query);
217
+ const metadata = await sessionMemory?.createSession(userId, sessionId, title) || {
218
+ sessionId,
219
+ title,
220
+ updatedAt: Date.now()
221
+ };
222
+ loggers.intentStream.info("Create new session", { metadata });
223
+ res.write(`event: session_id
224
+ data: ${JSON.stringify(metadata)}
225
+
226
+ `);
227
+ }
228
+ } catch (error) {
229
+ throw new Error("Failed to create new session");
230
+ }
189
231
  const intent = this.intentTriggering(query);
190
232
  try {
191
- const stream = await this.intentFulfilling(
192
- query,
193
- sessionId,
194
- session || { chats: {} }
195
- );
233
+ const stream = await this.intentFulfilling(query, sessionId, session);
196
234
  let finalResponseText = "";
197
235
  for await (const event of stream) {
198
236
  if (event.event === "text_chunk" && event.data.delta) {
@@ -205,6 +243,18 @@ data: ${JSON.stringify(event.data)}
205
243
  `;
206
244
  res.write(sseFormattedEvent);
207
245
  }
246
+ if (userId) {
247
+ await sessionMemory?.addChatToSession(userId, sessionId, {
248
+ role: "USER" /* USER */,
249
+ timestamp: queryStartAt,
250
+ content: { type: "text", parts: [query] }
251
+ });
252
+ await sessionMemory?.addChatToSession(userId, sessionId, {
253
+ role: "MODEL" /* MODEL */,
254
+ timestamp: Date.now(),
255
+ content: { type: "text", parts: [finalResponseText] }
256
+ });
257
+ }
208
258
  } catch (error) {
209
259
  loggers.intent.error("Error in handleQuery", { error });
210
260
  res.write(
@@ -222,4 +272,4 @@ data: ${JSON.stringify({ message: "Stream failed" })}
222
272
  export {
223
273
  QueryStreamService
224
274
  };
225
- //# sourceMappingURL=chunk-EFMGNCWG.js.map
275
+ //# sourceMappingURL=chunk-3NEV3O2X.js.map