@mondaydotcomorg/atp-server 0.17.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +489 -0
- package/dist/aggregator/index.d.ts +59 -0
- package/dist/aggregator/index.d.ts.map +1 -0
- package/dist/aggregator/index.js +171 -0
- package/dist/aggregator/index.js.map +1 -0
- package/dist/callback/index.d.ts +98 -0
- package/dist/callback/index.d.ts.map +1 -0
- package/dist/callback/index.js +136 -0
- package/dist/callback/index.js.map +1 -0
- package/dist/client-sessions.d.ts +82 -0
- package/dist/client-sessions.d.ts.map +1 -0
- package/dist/client-sessions.js +174 -0
- package/dist/client-sessions.js.map +1 -0
- package/dist/controllers/definitions.controller.d.ts +4 -0
- package/dist/controllers/definitions.controller.d.ts.map +1 -0
- package/dist/controllers/definitions.controller.js +11 -0
- package/dist/controllers/definitions.controller.js.map +1 -0
- package/dist/controllers/execute.controller.d.ts +18 -0
- package/dist/controllers/execute.controller.d.ts.map +1 -0
- package/dist/controllers/execute.controller.js +122 -0
- package/dist/controllers/execute.controller.js.map +1 -0
- package/dist/controllers/info.controller.d.ts +3 -0
- package/dist/controllers/info.controller.d.ts.map +1 -0
- package/dist/controllers/info.controller.js +13 -0
- package/dist/controllers/info.controller.js.map +1 -0
- package/dist/controllers/resume.controller.d.ts +11 -0
- package/dist/controllers/resume.controller.d.ts.map +1 -0
- package/dist/controllers/resume.controller.js +61 -0
- package/dist/controllers/resume.controller.js.map +1 -0
- package/dist/controllers/search.controller.d.ts +4 -0
- package/dist/controllers/search.controller.d.ts.map +1 -0
- package/dist/controllers/search.controller.js +7 -0
- package/dist/controllers/search.controller.js.map +1 -0
- package/dist/controllers/stream.controller.d.ts +19 -0
- package/dist/controllers/stream.controller.d.ts.map +1 -0
- package/dist/controllers/stream.controller.js +141 -0
- package/dist/controllers/stream.controller.js.map +1 -0
- package/dist/core/config.d.ts +161 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +7 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/http.d.ts +4 -0
- package/dist/core/http.d.ts.map +1 -0
- package/dist/core/http.js +17 -0
- package/dist/core/http.js.map +1 -0
- package/dist/create-server.d.ts +120 -0
- package/dist/create-server.d.ts.map +1 -0
- package/dist/create-server.js +423 -0
- package/dist/create-server.js.map +1 -0
- package/dist/execution-state/index.d.ts +95 -0
- package/dist/execution-state/index.d.ts.map +1 -0
- package/dist/execution-state/index.js +128 -0
- package/dist/execution-state/index.js.map +1 -0
- package/dist/executor/ast-provenance-bridge.d.ts +12 -0
- package/dist/executor/ast-provenance-bridge.d.ts.map +1 -0
- package/dist/executor/ast-provenance-bridge.js +66 -0
- package/dist/executor/ast-provenance-bridge.js.map +1 -0
- package/dist/executor/ast-tracking-runtime.d.ts +7 -0
- package/dist/executor/ast-tracking-runtime.d.ts.map +1 -0
- package/dist/executor/ast-tracking-runtime.js +559 -0
- package/dist/executor/ast-tracking-runtime.js.map +1 -0
- package/dist/executor/bootstrap-generated.d.ts +32 -0
- package/dist/executor/bootstrap-generated.d.ts.map +1 -0
- package/dist/executor/bootstrap-generated.js +90 -0
- package/dist/executor/bootstrap-generated.js.map +1 -0
- package/dist/executor/compiler-config.d.ts +32 -0
- package/dist/executor/compiler-config.d.ts.map +1 -0
- package/dist/executor/compiler-config.js +99 -0
- package/dist/executor/compiler-config.js.map +1 -0
- package/dist/executor/constants.d.ts +4 -0
- package/dist/executor/constants.d.ts.map +1 -0
- package/dist/executor/constants.js +4 -0
- package/dist/executor/constants.js.map +1 -0
- package/dist/executor/error-handler.d.ts +9 -0
- package/dist/executor/error-handler.d.ts.map +1 -0
- package/dist/executor/error-handler.js +95 -0
- package/dist/executor/error-handler.js.map +1 -0
- package/dist/executor/execution-error-handler.d.ts +7 -0
- package/dist/executor/execution-error-handler.d.ts.map +1 -0
- package/dist/executor/execution-error-handler.js +136 -0
- package/dist/executor/execution-error-handler.js.map +1 -0
- package/dist/executor/executor.d.ts +20 -0
- package/dist/executor/executor.d.ts.map +1 -0
- package/dist/executor/executor.js +452 -0
- package/dist/executor/executor.js.map +1 -0
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +3 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/resume-handler.d.ts +9 -0
- package/dist/executor/resume-handler.d.ts.map +1 -0
- package/dist/executor/resume-handler.js +22 -0
- package/dist/executor/resume-handler.js.map +1 -0
- package/dist/executor/sandbox-builder.d.ts +29 -0
- package/dist/executor/sandbox-builder.d.ts.map +1 -0
- package/dist/executor/sandbox-builder.js +538 -0
- package/dist/executor/sandbox-builder.js.map +1 -0
- package/dist/executor/sandbox-injector.d.ts +7 -0
- package/dist/executor/sandbox-injector.d.ts.map +1 -0
- package/dist/executor/sandbox-injector.js +293 -0
- package/dist/executor/sandbox-injector.js.map +1 -0
- package/dist/executor/types.d.ts +21 -0
- package/dist/executor/types.d.ts.map +1 -0
- package/dist/executor/types.js +2 -0
- package/dist/executor/types.js.map +1 -0
- package/dist/explorer/index.d.ts +69 -0
- package/dist/explorer/index.d.ts.map +1 -0
- package/dist/explorer/index.js +228 -0
- package/dist/explorer/index.js.map +1 -0
- package/dist/handlers/definitions.handler.d.ts +3 -0
- package/dist/handlers/definitions.handler.d.ts.map +1 -0
- package/dist/handlers/definitions.handler.js +11 -0
- package/dist/handlers/definitions.handler.js.map +1 -0
- package/dist/handlers/execute.handler.d.ts +7 -0
- package/dist/handlers/execute.handler.d.ts.map +1 -0
- package/dist/handlers/execute.handler.js +225 -0
- package/dist/handlers/execute.handler.js.map +1 -0
- package/dist/handlers/explorer.handler.d.ts +4 -0
- package/dist/handlers/explorer.handler.d.ts.map +1 -0
- package/dist/handlers/explorer.handler.js +10 -0
- package/dist/handlers/explorer.handler.js.map +1 -0
- package/dist/handlers/init.handler.d.ts +5 -0
- package/dist/handlers/init.handler.d.ts.map +1 -0
- package/dist/handlers/init.handler.js +41 -0
- package/dist/handlers/init.handler.js.map +1 -0
- package/dist/handlers/resume.handler.d.ts +6 -0
- package/dist/handlers/resume.handler.d.ts.map +1 -0
- package/dist/handlers/resume.handler.js +256 -0
- package/dist/handlers/resume.handler.js.map +1 -0
- package/dist/handlers/search.handler.d.ts +5 -0
- package/dist/handlers/search.handler.d.ts.map +1 -0
- package/dist/handlers/search.handler.js +11 -0
- package/dist/handlers/search.handler.js.map +1 -0
- package/dist/http/request-handler.d.ts +15 -0
- package/dist/http/request-handler.d.ts.map +1 -0
- package/dist/http/request-handler.js +94 -0
- package/dist/http/request-handler.js.map +1 -0
- package/dist/http/router.d.ts +4 -0
- package/dist/http/router.d.ts.map +1 -0
- package/dist/http/router.js +32 -0
- package/dist/http/router.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/instrumentation/index.d.ts +5 -0
- package/dist/instrumentation/index.d.ts.map +1 -0
- package/dist/instrumentation/index.js +5 -0
- package/dist/instrumentation/index.js.map +1 -0
- package/dist/instrumentation/serializer.d.ts +61 -0
- package/dist/instrumentation/serializer.d.ts.map +1 -0
- package/dist/instrumentation/serializer.js +334 -0
- package/dist/instrumentation/serializer.js.map +1 -0
- package/dist/instrumentation/state-manager.d.ts +61 -0
- package/dist/instrumentation/state-manager.d.ts.map +1 -0
- package/dist/instrumentation/state-manager.js +205 -0
- package/dist/instrumentation/state-manager.js.map +1 -0
- package/dist/instrumentation/transformer.d.ts +9 -0
- package/dist/instrumentation/transformer.d.ts.map +1 -0
- package/dist/instrumentation/transformer.js +70 -0
- package/dist/instrumentation/transformer.js.map +1 -0
- package/dist/instrumentation/types.d.ts +59 -0
- package/dist/instrumentation/types.d.ts.map +1 -0
- package/dist/instrumentation/types.js +5 -0
- package/dist/instrumentation/types.js.map +1 -0
- package/dist/middleware/audit.d.ts +18 -0
- package/dist/middleware/audit.d.ts.map +1 -0
- package/dist/middleware/audit.js +76 -0
- package/dist/middleware/audit.js.map +1 -0
- package/dist/openapi/index.d.ts +133 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +235 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi-loader.d.ts +87 -0
- package/dist/openapi-loader.d.ts.map +1 -0
- package/dist/openapi-loader.js +491 -0
- package/dist/openapi-loader.js.map +1 -0
- package/dist/routes/index.d.ts +21 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +47 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/search/index.d.ts +48 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +156 -0
- package/dist/search/index.js.map +1 -0
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +2 -0
- package/dist/security/index.js.map +1 -0
- package/dist/shutdown.d.ts +19 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +87 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/utils/banner.d.ts +12 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js +18 -0
- package/dist/utils/banner.js.map +1 -0
- package/dist/utils/context.d.ts +16 -0
- package/dist/utils/context.d.ts.map +1 -0
- package/dist/utils/context.js +44 -0
- package/dist/utils/context.js.map +1 -0
- package/dist/utils/error.d.ts +8 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +17 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/hint-based-instrumentation.d.ts +14 -0
- package/dist/utils/hint-based-instrumentation.d.ts.map +1 -0
- package/dist/utils/hint-based-instrumentation.js +84 -0
- package/dist/utils/hint-based-instrumentation.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/info.d.ts +20 -0
- package/dist/utils/info.d.ts.map +1 -0
- package/dist/utils/info.js +15 -0
- package/dist/utils/info.js.map +1 -0
- package/dist/utils/provenance-reattachment.d.ts +32 -0
- package/dist/utils/provenance-reattachment.d.ts.map +1 -0
- package/dist/utils/provenance-reattachment.js +115 -0
- package/dist/utils/provenance-reattachment.js.map +1 -0
- package/dist/utils/request.d.ts +21 -0
- package/dist/utils/request.d.ts.map +1 -0
- package/dist/utils/request.js +44 -0
- package/dist/utils/request.js.map +1 -0
- package/dist/utils/response.d.ts +30 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +53 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/utils/runtime-types.d.ts +6 -0
- package/dist/utils/runtime-types.d.ts.map +1 -0
- package/dist/utils/runtime-types.js +14 -0
- package/dist/utils/runtime-types.js.map +1 -0
- package/dist/utils/schema.d.ts +9 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +13 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/token-emitter.d.ts +21 -0
- package/dist/utils/token-emitter.d.ts.map +1 -0
- package/dist/utils/token-emitter.js +129 -0
- package/dist/utils/token-emitter.js.map +1 -0
- package/dist/validator/index.d.ts +36 -0
- package/dist/validator/index.d.ts.map +1 -0
- package/dist/validator/index.js +224 -0
- package/dist/validator/index.js.map +1 -0
- package/package.json +68 -0
- package/src/aggregator/index.ts +207 -0
- package/src/callback/index.ts +191 -0
- package/src/client-sessions.ts +234 -0
- package/src/controllers/definitions.controller.ts +19 -0
- package/src/controllers/execute.controller.ts +166 -0
- package/src/controllers/info.controller.ts +14 -0
- package/src/controllers/resume.controller.ts +92 -0
- package/src/controllers/search.controller.ts +16 -0
- package/src/controllers/stream.controller.ts +190 -0
- package/src/core/config.ts +180 -0
- package/src/core/http.ts +21 -0
- package/src/create-server.ts +536 -0
- package/src/execution-state/index.ts +204 -0
- package/src/executor/ast-provenance-bridge.ts +80 -0
- package/src/executor/ast-tracking-runtime.ts +558 -0
- package/src/executor/bootstrap-generated.ts +90 -0
- package/src/executor/compiler-config.ts +146 -0
- package/src/executor/constants.ts +5 -0
- package/src/executor/error-handler.ts +118 -0
- package/src/executor/execution-error-handler.ts +178 -0
- package/src/executor/executor.ts +631 -0
- package/src/executor/index.ts +3 -0
- package/src/executor/resume-handler.ts +39 -0
- package/src/executor/sandbox-builder.ts +684 -0
- package/src/executor/sandbox-injector.ts +345 -0
- package/src/executor/types.ts +22 -0
- package/src/explorer/index.ts +297 -0
- package/src/handlers/definitions.handler.ts +13 -0
- package/src/handlers/execute.handler.ts +286 -0
- package/src/handlers/explorer.handler.ts +18 -0
- package/src/handlers/init.handler.ts +53 -0
- package/src/handlers/resume.handler.ts +316 -0
- package/src/handlers/search.handler.ts +32 -0
- package/src/http/request-handler.ts +117 -0
- package/src/http/router.ts +29 -0
- package/src/index.ts +60 -0
- package/src/instrumentation/index.ts +4 -0
- package/src/instrumentation/serializer.ts +421 -0
- package/src/instrumentation/state-manager.ts +237 -0
- package/src/instrumentation/transformer.ts +84 -0
- package/src/instrumentation/types.ts +76 -0
- package/src/middleware/audit.ts +101 -0
- package/src/openapi/index.ts +378 -0
- package/src/openapi-loader.ts +744 -0
- package/src/routes/index.ts +93 -0
- package/src/search/index.ts +216 -0
- package/src/security/index.ts +1 -0
- package/src/shutdown.ts +108 -0
- package/src/utils/banner.ts +25 -0
- package/src/utils/context.ts +58 -0
- package/src/utils/error.ts +25 -0
- package/src/utils/hint-based-instrumentation.ts +99 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/info.ts +31 -0
- package/src/utils/provenance-reattachment.ts +144 -0
- package/src/utils/request.ts +53 -0
- package/src/utils/response.ts +69 -0
- package/src/utils/runtime-types.ts +14 -0
- package/src/utils/schema.ts +18 -0
- package/src/utils/token-emitter.ts +182 -0
- package/src/validator/index.ts +253 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aggregator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,aAAa;IACjB,SAAS,CAAmB;IAEpC;;;OAGG;IACH,YAAY,SAA2B;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,cAAyB;QACjD,MAAM,MAAM,GAAG,cAAc;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAElB,IAAI,UAAU,GAAG,+CAA+C,CAAC;QAEjE,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,UAAU,IAAI,mBAAmB,KAAK,CAAC,IAAI,IAAI,CAAC;YAChD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACF,CAAC;QACF,CAAC;QAED,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,oBAAoB;QAC3B,OAAO,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,IAAuB,EAAE,SAAiB;QACvE,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAC;QAC3C,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC;QAE7C,IAAI,UAAU,GAAG,eAAe,aAAa,MAAM,CAAC;QACpD,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,GAAG,KAAgD,CAAC;gBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;gBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnD,UAAU,IAAI,KAAK,GAAG,GAAG,QAAQ,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC;YAC7D,CAAC;QACF,CAAC;QACD,UAAU,IAAI,KAAK,CAAC;QAEpB,UAAU,IAAI,eAAe,cAAc,MAAM,CAAC;QAClD,UAAU,IAAI,6BAA6B,CAAC;QAC5C,UAAU,IAAI,KAAK,CAAC;QAEpB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,IAAY;QACtC,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACb,OAAO,QAAQ,CAAC;YACjB,KAAK,SAAS;gBACb,OAAO,SAAS,CAAC;YAClB,KAAK,OAAO;gBACX,OAAO,WAAW,CAAC;YACpB,KAAK,QAAQ;gBACZ,OAAO,yBAAyB,CAAC;YAClC;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY;QACrC,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,IAAY;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,IAAI,GAAG,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,MAAwB;QAMpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,GAAG,UAAU,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBAEvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;gBAEhC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,MAAgC,EAAE,MAAc,EAAU,EAAE;YAClF,IAAI,EAAE,GAAG,EAAE,CAAC;YAEZ,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACpD,EAAE,IAAI,GAAG,MAAM,GAAG,aAAa,OAAO,CAAC;gBAEvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,WAAW,GAChB,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;wBACvD,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;wBACxD,CAAC,CAAC,EAAE,CAAC;oBACP,EAAE,IAAI,GAAG,MAAM,UAAU,MAAM,QAAQ,WAAW,KAAK,MAAM,SAAS,CAAC;oBACvE,EAAE,IAAI,GAAG,MAAM,KAAK,QAAQ,YAAY,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI,aAAa,CAAC;gBAC7F,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC7B,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAED,EAAE,IAAI,GAAG,MAAM,MAAM,CAAC;YACvB,CAAC;YAED,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,IAAI,UAAU,GAAG,0BAA0B,CAAC;QAC5C,UAAU,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9C,UAAU,IAAI,MAAM,CAAC;QACrB,UAAU,IAAI,qBAAqB,CAAC;QAEpC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Callback Manager
|
|
3
|
+
*
|
|
4
|
+
* Handles callbacks to clients for LLM, approval, and embedding requests
|
|
5
|
+
*/
|
|
6
|
+
import type { ClientServices } from '@mondaydotcomorg/atp-protocol';
|
|
7
|
+
/**
|
|
8
|
+
* Callback request types
|
|
9
|
+
*/
|
|
10
|
+
export type CallbackType = 'llm' | 'approval' | 'embedding';
|
|
11
|
+
/**
|
|
12
|
+
* Callback request payload
|
|
13
|
+
*/
|
|
14
|
+
export interface CallbackRequest {
|
|
15
|
+
type: CallbackType;
|
|
16
|
+
operation: string;
|
|
17
|
+
payload: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Registered client information
|
|
21
|
+
*/
|
|
22
|
+
interface ClientInfo {
|
|
23
|
+
clientId: string;
|
|
24
|
+
services: ClientServices;
|
|
25
|
+
callbackUrl?: string;
|
|
26
|
+
lastSeen: Date;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Callback handler function
|
|
30
|
+
*/
|
|
31
|
+
export type CallbackHandler = (clientId: string, request: CallbackRequest) => Promise<unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Manages client callbacks for provided services
|
|
34
|
+
*/
|
|
35
|
+
export declare class ClientCallbackManager {
|
|
36
|
+
private clients;
|
|
37
|
+
private callbackHandler?;
|
|
38
|
+
private cleanupInterval?;
|
|
39
|
+
/**
|
|
40
|
+
* Registers a callback handler for client requests
|
|
41
|
+
* @param handler - Function to handle callbacks
|
|
42
|
+
*/
|
|
43
|
+
setCallbackHandler(handler: CallbackHandler): void;
|
|
44
|
+
/**
|
|
45
|
+
* Registers a client with their provided services
|
|
46
|
+
* @param clientId - Unique client identifier
|
|
47
|
+
* @param services - Services provided by client
|
|
48
|
+
* @param callbackUrl - Optional webhook URL for callbacks
|
|
49
|
+
*/
|
|
50
|
+
registerClient(clientId: string, services: ClientServices, callbackUrl?: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Updates client's last seen timestamp
|
|
53
|
+
* @param clientId - Client identifier
|
|
54
|
+
*/
|
|
55
|
+
updateClientActivity(clientId: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Checks if client has a specific service
|
|
58
|
+
* @param clientId - Client identifier
|
|
59
|
+
* @param serviceType - Type of service
|
|
60
|
+
* @returns Whether client provides this service
|
|
61
|
+
*/
|
|
62
|
+
hasClientService(clientId: string, serviceType: 'llm' | 'approval' | 'embedding'): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Gets client information
|
|
65
|
+
* @param clientId - Client identifier
|
|
66
|
+
* @returns Client info or undefined
|
|
67
|
+
*/
|
|
68
|
+
getClient(clientId: string): ClientInfo | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Sends a callback request to a client
|
|
71
|
+
* @param clientId - Client identifier
|
|
72
|
+
* @param request - Callback request
|
|
73
|
+
* @returns Response from client
|
|
74
|
+
*/
|
|
75
|
+
sendCallback(clientId: string, request: CallbackRequest): Promise<unknown>;
|
|
76
|
+
/**
|
|
77
|
+
* Cleans up stale clients (not seen in specified duration)
|
|
78
|
+
* @param maxAge - Maximum age in milliseconds (default: 5 minutes)
|
|
79
|
+
*/
|
|
80
|
+
cleanupStaleClients(maxAge?: number): number;
|
|
81
|
+
/**
|
|
82
|
+
* Gets all registered clients
|
|
83
|
+
* @returns Array of client information
|
|
84
|
+
*/
|
|
85
|
+
getAllClients(): ClientInfo[];
|
|
86
|
+
/**
|
|
87
|
+
* Removes a client
|
|
88
|
+
* @param clientId - Client identifier
|
|
89
|
+
*/
|
|
90
|
+
unregisterClient(clientId: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Stops automatic cleanup and clears resources
|
|
93
|
+
*/
|
|
94
|
+
destroy(): void;
|
|
95
|
+
}
|
|
96
|
+
export declare const clientCallbackManager: ClientCallbackManager;
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/callback/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,UAAU,UAAU;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/F;;GAEG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAgBlD;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAStF;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO5C;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO;IAgB1F;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAInD;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBhF;;;OAGG;IACH,mBAAmB,CAAC,MAAM,GAAE,MAAsB,GAAG,MAAM;IAc3D;;;OAGG;IACH,aAAa,IAAI,UAAU,EAAE;IAI7B;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,IAAI,IAAI;CAOf;AAED,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages client callbacks for provided services
|
|
3
|
+
*/
|
|
4
|
+
export class ClientCallbackManager {
|
|
5
|
+
clients = new Map();
|
|
6
|
+
callbackHandler;
|
|
7
|
+
cleanupInterval;
|
|
8
|
+
/**
|
|
9
|
+
* Registers a callback handler for client requests
|
|
10
|
+
* @param handler - Function to handle callbacks
|
|
11
|
+
*/
|
|
12
|
+
setCallbackHandler(handler) {
|
|
13
|
+
this.callbackHandler = handler;
|
|
14
|
+
if (!this.cleanupInterval) {
|
|
15
|
+
this.cleanupInterval = setInterval(() => {
|
|
16
|
+
const cleaned = this.cleanupStaleClients();
|
|
17
|
+
if (cleaned > 0) {
|
|
18
|
+
console.log(`[ClientCallback] Cleaned up ${cleaned} stale clients`);
|
|
19
|
+
}
|
|
20
|
+
}, 5 * 60 * 1000);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Registers a client with their provided services
|
|
25
|
+
* @param clientId - Unique client identifier
|
|
26
|
+
* @param services - Services provided by client
|
|
27
|
+
* @param callbackUrl - Optional webhook URL for callbacks
|
|
28
|
+
*/
|
|
29
|
+
registerClient(clientId, services, callbackUrl) {
|
|
30
|
+
this.clients.set(clientId, {
|
|
31
|
+
clientId,
|
|
32
|
+
services,
|
|
33
|
+
callbackUrl,
|
|
34
|
+
lastSeen: new Date(),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Updates client's last seen timestamp
|
|
39
|
+
* @param clientId - Client identifier
|
|
40
|
+
*/
|
|
41
|
+
updateClientActivity(clientId) {
|
|
42
|
+
const client = this.clients.get(clientId);
|
|
43
|
+
if (client) {
|
|
44
|
+
client.lastSeen = new Date();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Checks if client has a specific service
|
|
49
|
+
* @param clientId - Client identifier
|
|
50
|
+
* @param serviceType - Type of service
|
|
51
|
+
* @returns Whether client provides this service
|
|
52
|
+
*/
|
|
53
|
+
hasClientService(clientId, serviceType) {
|
|
54
|
+
const client = this.clients.get(clientId);
|
|
55
|
+
if (!client)
|
|
56
|
+
return false;
|
|
57
|
+
switch (serviceType) {
|
|
58
|
+
case 'llm':
|
|
59
|
+
return client.services.hasLLM;
|
|
60
|
+
case 'approval':
|
|
61
|
+
return client.services.hasApproval;
|
|
62
|
+
case 'embedding':
|
|
63
|
+
return client.services.hasEmbedding;
|
|
64
|
+
default:
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gets client information
|
|
70
|
+
* @param clientId - Client identifier
|
|
71
|
+
* @returns Client info or undefined
|
|
72
|
+
*/
|
|
73
|
+
getClient(clientId) {
|
|
74
|
+
return this.clients.get(clientId);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Sends a callback request to a client
|
|
78
|
+
* @param clientId - Client identifier
|
|
79
|
+
* @param request - Callback request
|
|
80
|
+
* @returns Response from client
|
|
81
|
+
*/
|
|
82
|
+
async sendCallback(clientId, request) {
|
|
83
|
+
const client = this.clients.get(clientId);
|
|
84
|
+
if (!client) {
|
|
85
|
+
throw new Error(`Client ${clientId} not registered`);
|
|
86
|
+
}
|
|
87
|
+
if (!this.hasClientService(clientId, request.type)) {
|
|
88
|
+
throw new Error(`Client ${clientId} does not provide ${request.type} service`);
|
|
89
|
+
}
|
|
90
|
+
if (!this.callbackHandler) {
|
|
91
|
+
throw new Error('No callback handler registered');
|
|
92
|
+
}
|
|
93
|
+
return await this.callbackHandler(clientId, request);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Cleans up stale clients (not seen in specified duration)
|
|
97
|
+
* @param maxAge - Maximum age in milliseconds (default: 5 minutes)
|
|
98
|
+
*/
|
|
99
|
+
cleanupStaleClients(maxAge = 5 * 60 * 1000) {
|
|
100
|
+
const now = Date.now();
|
|
101
|
+
let cleaned = 0;
|
|
102
|
+
for (const [clientId, client] of this.clients.entries()) {
|
|
103
|
+
if (now - client.lastSeen.getTime() > maxAge) {
|
|
104
|
+
this.clients.delete(clientId);
|
|
105
|
+
cleaned++;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return cleaned;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Gets all registered clients
|
|
112
|
+
* @returns Array of client information
|
|
113
|
+
*/
|
|
114
|
+
getAllClients() {
|
|
115
|
+
return Array.from(this.clients.values());
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Removes a client
|
|
119
|
+
* @param clientId - Client identifier
|
|
120
|
+
*/
|
|
121
|
+
unregisterClient(clientId) {
|
|
122
|
+
this.clients.delete(clientId);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Stops automatic cleanup and clears resources
|
|
126
|
+
*/
|
|
127
|
+
destroy() {
|
|
128
|
+
if (this.cleanupInterval) {
|
|
129
|
+
clearInterval(this.cleanupInterval);
|
|
130
|
+
this.cleanupInterval = undefined;
|
|
131
|
+
}
|
|
132
|
+
this.clients.clear();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export const clientCallbackManager = new ClientCallbackManager();
|
|
136
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callback/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { CacheProvider, ClientToolDefinition } from '@mondaydotcomorg/atp-protocol';
|
|
2
|
+
export interface ClientSession {
|
|
3
|
+
clientId: string;
|
|
4
|
+
createdAt: number;
|
|
5
|
+
expiresAt: number;
|
|
6
|
+
clientInfo?: {
|
|
7
|
+
name?: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
guidance?: string;
|
|
12
|
+
/** Client-provided tool definitions */
|
|
13
|
+
tools?: ClientToolDefinition[];
|
|
14
|
+
}
|
|
15
|
+
export interface ClientInitRequest {
|
|
16
|
+
clientInfo?: {
|
|
17
|
+
name?: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
guidance?: string;
|
|
22
|
+
/** Client tool definitions to register */
|
|
23
|
+
tools?: ClientToolDefinition[];
|
|
24
|
+
}
|
|
25
|
+
export interface ClientInitResponse {
|
|
26
|
+
clientId: string;
|
|
27
|
+
token: string;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
tokenRotateAt?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Client session manager with JWT-based authentication
|
|
33
|
+
*/
|
|
34
|
+
export declare class ClientSessionManager {
|
|
35
|
+
private cache?;
|
|
36
|
+
private inMemorySessions;
|
|
37
|
+
private cleanupTimers;
|
|
38
|
+
private tokenTTL;
|
|
39
|
+
private jwtSecret;
|
|
40
|
+
constructor(options: {
|
|
41
|
+
cache?: CacheProvider;
|
|
42
|
+
tokenTTL: number;
|
|
43
|
+
tokenRotation: number;
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Initialize a new client session
|
|
47
|
+
*/
|
|
48
|
+
initClient(request: ClientInitRequest): Promise<ClientInitResponse>;
|
|
49
|
+
/**
|
|
50
|
+
* Verify client token (JWT-based, stateless)
|
|
51
|
+
*/
|
|
52
|
+
verifyClient(clientId: string, token: string): Promise<boolean>;
|
|
53
|
+
/**
|
|
54
|
+
* Get client session
|
|
55
|
+
*/
|
|
56
|
+
getSession(clientId: string): Promise<ClientSession | null>;
|
|
57
|
+
/**
|
|
58
|
+
* Revoke client session
|
|
59
|
+
*/
|
|
60
|
+
revokeClient(clientId: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Generate cryptographically secure client ID
|
|
63
|
+
*/
|
|
64
|
+
private generateClientId;
|
|
65
|
+
/**
|
|
66
|
+
* Generate JWT token for client
|
|
67
|
+
*/
|
|
68
|
+
generateToken(clientId: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Schedule cleanup of expired in-memory session
|
|
71
|
+
*/
|
|
72
|
+
private scheduleCleanup;
|
|
73
|
+
/**
|
|
74
|
+
* Manually cleanup a session (useful for tests and explicit cleanup)
|
|
75
|
+
*/
|
|
76
|
+
cleanup(clientId: string): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Cleanup all sessions (useful for shutdown)
|
|
79
|
+
*/
|
|
80
|
+
cleanupAll(): Promise<void>;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=client-sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-sessions.d.ts","sourceRoot":"","sources":["../src/client-sessions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IACjC,UAAU,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAcvF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkCzE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBrE;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAyBjE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAcvC;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAUjC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Session Management
|
|
3
|
+
*/
|
|
4
|
+
import { randomBytes } from 'node:crypto';
|
|
5
|
+
import { nanoid } from 'nanoid';
|
|
6
|
+
import jwt from 'jsonwebtoken';
|
|
7
|
+
/**
|
|
8
|
+
* Client session manager with JWT-based authentication
|
|
9
|
+
*/
|
|
10
|
+
export class ClientSessionManager {
|
|
11
|
+
cache;
|
|
12
|
+
inMemorySessions = new Map();
|
|
13
|
+
cleanupTimers = new Map();
|
|
14
|
+
tokenTTL;
|
|
15
|
+
jwtSecret;
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.cache = options.cache;
|
|
18
|
+
this.tokenTTL = options.tokenTTL;
|
|
19
|
+
const secret = process.env.ATP_JWT_SECRET;
|
|
20
|
+
if (!secret) {
|
|
21
|
+
throw new Error('ATP_JWT_SECRET environment variable is required. Generate one with: openssl rand -base64 32');
|
|
22
|
+
}
|
|
23
|
+
this.jwtSecret = secret;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize a new client session
|
|
27
|
+
*/
|
|
28
|
+
async initClient(request) {
|
|
29
|
+
const clientId = this.generateClientId();
|
|
30
|
+
const now = Date.now();
|
|
31
|
+
const expiresAt = now + this.tokenTTL;
|
|
32
|
+
const tokenRotateAt = now + this.tokenTTL / 2;
|
|
33
|
+
const token = this.generateToken(clientId);
|
|
34
|
+
const session = {
|
|
35
|
+
clientId,
|
|
36
|
+
createdAt: now,
|
|
37
|
+
expiresAt,
|
|
38
|
+
clientInfo: request.clientInfo,
|
|
39
|
+
guidance: request.guidance,
|
|
40
|
+
tools: request.tools || [],
|
|
41
|
+
};
|
|
42
|
+
if (this.cache) {
|
|
43
|
+
const ttlSeconds = Math.floor(this.tokenTTL / 1000);
|
|
44
|
+
await this.cache.set(`session:${clientId}`, session, ttlSeconds);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.inMemorySessions.set(clientId, session);
|
|
48
|
+
this.scheduleCleanup(clientId, this.tokenTTL);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
clientId,
|
|
52
|
+
token,
|
|
53
|
+
expiresAt,
|
|
54
|
+
tokenRotateAt,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Verify client token (JWT-based, stateless)
|
|
59
|
+
*/
|
|
60
|
+
async verifyClient(clientId, token) {
|
|
61
|
+
try {
|
|
62
|
+
// Prevent algorithm confusion attacks - only allow HS256
|
|
63
|
+
const decoded = jwt.verify(token, this.jwtSecret, {
|
|
64
|
+
algorithms: ['HS256'],
|
|
65
|
+
});
|
|
66
|
+
if (decoded.clientId !== clientId || decoded.type !== 'client') {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const session = await this.getSession(clientId);
|
|
70
|
+
return session !== null;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get client session
|
|
78
|
+
*/
|
|
79
|
+
async getSession(clientId) {
|
|
80
|
+
let session = null;
|
|
81
|
+
if (this.cache) {
|
|
82
|
+
session = await this.cache.get(`session:${clientId}`);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
session = this.inMemorySessions.get(clientId) || null;
|
|
86
|
+
}
|
|
87
|
+
if (!session) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
if (Date.now() > session.expiresAt) {
|
|
91
|
+
if (this.cache) {
|
|
92
|
+
await this.cache.delete(`session:${clientId}`);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.inMemorySessions.delete(clientId);
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return session;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Revoke client session
|
|
103
|
+
*/
|
|
104
|
+
async revokeClient(clientId) {
|
|
105
|
+
if (this.cache) {
|
|
106
|
+
await this.cache.delete(`session:${clientId}`);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.inMemorySessions.delete(clientId);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate cryptographically secure client ID
|
|
114
|
+
*/
|
|
115
|
+
generateClientId() {
|
|
116
|
+
const random = randomBytes(16).toString('hex');
|
|
117
|
+
return `cli_${random}`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Generate JWT token for client
|
|
121
|
+
*/
|
|
122
|
+
generateToken(clientId) {
|
|
123
|
+
return jwt.sign({
|
|
124
|
+
clientId,
|
|
125
|
+
type: 'client',
|
|
126
|
+
jti: nanoid(),
|
|
127
|
+
}, this.jwtSecret, {
|
|
128
|
+
expiresIn: 3600,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Schedule cleanup of expired in-memory session
|
|
133
|
+
*/
|
|
134
|
+
scheduleCleanup(clientId, ttl) {
|
|
135
|
+
const existingTimer = this.cleanupTimers.get(clientId);
|
|
136
|
+
if (existingTimer) {
|
|
137
|
+
clearTimeout(existingTimer);
|
|
138
|
+
}
|
|
139
|
+
const timer = setTimeout(() => {
|
|
140
|
+
this.inMemorySessions.delete(clientId);
|
|
141
|
+
this.cleanupTimers.delete(clientId);
|
|
142
|
+
}, ttl);
|
|
143
|
+
this.cleanupTimers.set(clientId, timer);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Manually cleanup a session (useful for tests and explicit cleanup)
|
|
147
|
+
*/
|
|
148
|
+
async cleanup(clientId) {
|
|
149
|
+
const timer = this.cleanupTimers.get(clientId);
|
|
150
|
+
if (timer) {
|
|
151
|
+
clearTimeout(timer);
|
|
152
|
+
this.cleanupTimers.delete(clientId);
|
|
153
|
+
}
|
|
154
|
+
if (this.cache) {
|
|
155
|
+
await this.cache.delete(`session:${clientId}`);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.inMemorySessions.delete(clientId);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Cleanup all sessions (useful for shutdown)
|
|
163
|
+
*/
|
|
164
|
+
async cleanupAll() {
|
|
165
|
+
for (const timer of this.cleanupTimers.values()) {
|
|
166
|
+
clearTimeout(timer);
|
|
167
|
+
}
|
|
168
|
+
this.cleanupTimers.clear();
|
|
169
|
+
if (!this.cache) {
|
|
170
|
+
this.inMemorySessions.clear();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=client-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-sessions.js","sourceRoot":"","sources":["../src/client-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import type { APIAggregator } from '../aggregator/index.js';
|
|
3
|
+
export declare function handleDefinitions(req: IncomingMessage, res: ServerResponse, aggregator: APIAggregator, url: URL): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=definitions.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/definitions.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,wBAAsB,iBAAiB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,GAAG,GACN,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { sendJson } from '../utils/response.js';
|
|
2
|
+
export async function handleDefinitions(req, res, aggregator, url) {
|
|
3
|
+
const apiGroups = url.searchParams.get('apiGroups')?.split(',');
|
|
4
|
+
const typescript = await aggregator.generateTypeScript(apiGroups);
|
|
5
|
+
sendJson(res, {
|
|
6
|
+
typescript,
|
|
7
|
+
apiGroups: aggregator.getApiGroups(),
|
|
8
|
+
version: '1.0.0',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=definitions.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.controller.js","sourceRoot":"","sources":["../../src/controllers/definitions.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,GAAoB,EACpB,GAAmB,EACnB,UAAyB,EACzB,GAAQ;IAER,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAElE,QAAQ,CAAC,GAAG,EAAE;QACb,UAAU;QACV,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE;QACpC,OAAO,EAAE,OAAO;KAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import type { CodeValidator } from '../validator/index.js';
|
|
3
|
+
import type { SandboxExecutor } from '../executor/index.js';
|
|
4
|
+
import type { ExecutionStateManager } from '../execution-state/index.js';
|
|
5
|
+
import type { AuditConfig } from '../middleware/audit.js';
|
|
6
|
+
import type { log } from '@mondaydotcomorg/atp-runtime';
|
|
7
|
+
interface ExecuteContext {
|
|
8
|
+
validator: CodeValidator;
|
|
9
|
+
executor: SandboxExecutor;
|
|
10
|
+
stateManager: ExecutionStateManager;
|
|
11
|
+
auditConfig?: AuditConfig;
|
|
12
|
+
defaultTimeout: number;
|
|
13
|
+
defaultMemoryLimit: number;
|
|
14
|
+
defaultLLMCallLimit: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function handleExecute(req: IncomingMessage, res: ServerResponse, context: ExecuteContext, body: string, clientId: string | undefined, logger: ReturnType<typeof log.child>): Promise<void>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=execute.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/execute.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAExD,UAAU,cAAc;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,qBAAqB,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,aAAa,CAClC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAwIf"}
|