open-agent-sdk 0.1.0-alpha.0
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/LICENSE +21 -0
- package/README.md +284 -0
- package/README.zh.md +285 -0
- package/dist/agent/agent-definition.d.ts +107 -0
- package/dist/agent/agent-definition.d.ts.map +1 -0
- package/dist/agent/agent-definition.js +90 -0
- package/dist/agent/agent-definition.js.map +1 -0
- package/dist/agent/react-loop.d.ts +117 -0
- package/dist/agent/react-loop.d.ts.map +1 -0
- package/dist/agent/react-loop.js +674 -0
- package/dist/agent/react-loop.js.map +1 -0
- package/dist/agent/subagent-runner.d.ts +67 -0
- package/dist/agent/subagent-runner.d.ts.map +1 -0
- package/dist/agent/subagent-runner.js +168 -0
- package/dist/agent/subagent-runner.js.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/inputs.d.ts +56 -0
- package/dist/hooks/inputs.d.ts.map +1 -0
- package/dist/hooks/inputs.js +150 -0
- package/dist/hooks/inputs.js.map +1 -0
- package/dist/hooks/manager.d.ts +63 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +137 -0
- package/dist/hooks/manager.js.map +1 -0
- package/dist/hooks/types.d.ts +191 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +6 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +109 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +218 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/errors.d.ts +26 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +43 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/index.d.ts +11 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +13 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +50 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +170 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/server-registry.d.ts +48 -0
- package/dist/mcp/server-registry.d.ts.map +1 -0
- package/dist/mcp/server-registry.js +121 -0
- package/dist/mcp/server-registry.js.map +1 -0
- package/dist/mcp/tool-adapter.d.ts +42 -0
- package/dist/mcp/tool-adapter.d.ts.map +1 -0
- package/dist/mcp/tool-adapter.js +89 -0
- package/dist/mcp/tool-adapter.js.map +1 -0
- package/dist/mcp/types.d.ts +74 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +21 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/permissions/index.d.ts +3 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +4 -0
- package/dist/permissions/index.js.map +1 -0
- package/dist/permissions/manager.d.ts +40 -0
- package/dist/permissions/manager.d.ts.map +1 -0
- package/dist/permissions/manager.js +115 -0
- package/dist/permissions/manager.js.map +1 -0
- package/dist/permissions/types.d.ts +124 -0
- package/dist/permissions/types.d.ts.map +1 -0
- package/dist/permissions/types.js +25 -0
- package/dist/permissions/types.js.map +1 -0
- package/dist/providers/anthropic.d.ts +18 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +126 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +85 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +36 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/google.d.ts +12 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +123 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/openai.d.ts +12 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +110 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/session/factory.d.ts +156 -0
- package/dist/session/factory.d.ts.map +1 -0
- package/dist/session/factory.js +311 -0
- package/dist/session/factory.js.map +1 -0
- package/dist/session/index.d.ts +8 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +7 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/session.d.ts +144 -0
- package/dist/session/session.d.ts.map +1 -0
- package/dist/session/session.js +319 -0
- package/dist/session/session.js.map +1 -0
- package/dist/session/storage.d.ts +105 -0
- package/dist/session/storage.d.ts.map +1 -0
- package/dist/session/storage.js +148 -0
- package/dist/session/storage.js.map +1 -0
- package/dist/tools/ask-user-question.d.ts +31 -0
- package/dist/tools/ask-user-question.d.ts.map +1 -0
- package/dist/tools/ask-user-question.js +66 -0
- package/dist/tools/ask-user-question.js.map +1 -0
- package/dist/tools/bash-output.d.ts +22 -0
- package/dist/tools/bash-output.d.ts.map +1 -0
- package/dist/tools/bash-output.js +43 -0
- package/dist/tools/bash-output.js.map +1 -0
- package/dist/tools/bash.d.ts +36 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +161 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit.d.ts +24 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +83 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/glob.d.ts +22 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +248 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/grep.d.ts +39 -0
- package/dist/tools/grep.d.ts.map +1 -0
- package/dist/tools/grep.js +312 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/kill-bash.d.ts +19 -0
- package/dist/tools/kill-bash.d.ts.map +1 -0
- package/dist/tools/kill-bash.js +64 -0
- package/dist/tools/kill-bash.js.map +1 -0
- package/dist/tools/read.d.ts +26 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +87 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/registry.d.ts +32 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +91 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/task-create.d.ts +22 -0
- package/dist/tools/task-create.d.ts.map +1 -0
- package/dist/tools/task-create.js +42 -0
- package/dist/tools/task-create.js.map +1 -0
- package/dist/tools/task-get.d.ts +19 -0
- package/dist/tools/task-get.d.ts.map +1 -0
- package/dist/tools/task-get.js +38 -0
- package/dist/tools/task-get.js.map +1 -0
- package/dist/tools/task-list.d.ts +18 -0
- package/dist/tools/task-list.d.ts.map +1 -0
- package/dist/tools/task-list.js +27 -0
- package/dist/tools/task-list.js.map +1 -0
- package/dist/tools/task-storage.d.ts +6 -0
- package/dist/tools/task-storage.d.ts.map +1 -0
- package/dist/tools/task-storage.js +83 -0
- package/dist/tools/task-storage.js.map +1 -0
- package/dist/tools/task-update.d.ts +28 -0
- package/dist/tools/task-update.d.ts.map +1 -0
- package/dist/tools/task-update.js +118 -0
- package/dist/tools/task-update.js.map +1 -0
- package/dist/tools/task.d.ts +80 -0
- package/dist/tools/task.d.ts.map +1 -0
- package/dist/tools/task.js +99 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +21 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +124 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +20 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +127 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write.d.ts +22 -0
- package/dist/tools/write.d.ts.map +1 -0
- package/dist/tools/write.js +46 -0
- package/dist/tools/write.js.map +1 -0
- package/dist/types/messages.d.ts +138 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +88 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/task.d.ts +29 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +5 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/tools.d.ts +56 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +25 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +46 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/uuid.d.ts +3 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +5 -0
- package/dist/utils/uuid.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../../src/agent/react-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAKL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA+C3D,MAAM,OAAO,SAAS;IACZ,QAAQ,CAAc;IACtB,YAAY,CAAe;IAC3B,MAAM,CAAkB;IACxB,SAAS,CAAS;IAClB,WAAW,CAAc;IACzB,iBAAiB,CAAoB;IAE7C,YACE,QAAqB,EACrB,YAA0B,EAC1B,MAAuB,EACvB,SAAkB;QAElB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAChC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;QAE7C,yBAAyB;QACzB,IAAI,MAAM,CAAC,KAAK,YAAY,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACvC,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS;YACxC,+BAA+B,EAAE,MAAM,CAAC,+BAA+B,IAAI,KAAK;YAChF,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAElC,6DAA6D;QAC7D,6EAA6E;QAC7E,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CACX,mBAAmB,CACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EACpE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACzE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,EACd;gBACE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;aAC3C,CACF,CACF,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAE7E,gCAAgC;QAChC,MAAM,qBAAqB,GAAG,2BAA2B,CACvD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAElF,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,oBAAoB;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAE/B,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAgB;YAC/B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAI;YACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAI;YACrB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,OAAO,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,mBAAmB;oBAC3B,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE;wBACL,YAAY,EAAE,gBAAgB;wBAC9B,aAAa,EAAE,iBAAiB;qBACjC;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,SAAS,EAAE,CAAC;YAEZ,sDAAsD;YACtD,wGAAwG;YACxG,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO;oBACL,MAAM,EAAE,mBAAmB;oBAC3B,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE;wBACL,YAAY,EAAE,gBAAgB;wBAC9B,aAAa,EAAE,iBAAiB;qBACjC;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,WAAW;YACX,IAAI,gBAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACnC,QAAQ,EACR,eAAe,EACf,CAAC,MAAM,EAAE,EAAE;oBACT,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC;oBACjC,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mCAAmC;gBACnC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;oBACpE,OAAO;wBACL,MAAM,EAAE,mBAAmB;wBAC3B,QAAQ;wBACR,SAAS;wBACT,KAAK,EAAE;4BACL,YAAY,EAAE,gBAAgB;4BAC9B,aAAa,EAAE,iBAAiB;yBACjC;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEhC,gDAAgD;YAChD,IACE,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;gBAC9C,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EACnD,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBACrD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBAC3C,aAAa,EAAE,gBAAgB;iBAChC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAE7E,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBACnC,0CAA0C;oBAC1C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;wBACrD,eAAe,EAAE,aAAa,CAAC,eAAe;wBAC9C,eAAe,EAAE,QAAQ,CAAC,MAAM;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/D,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,gCAAgC;gBAChC,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;oBAC7E,QAAQ,CAAC,IAAI,CACX,uBAAuB,CACrB,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CACf,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,kFAAkF;gBAClF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,IAAI,cAAc,EAAE,CAAC;oBACnB,6CAA6C;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACpF,OAAO;oBACL,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE;oBAC/B,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE;wBACL,YAAY,EAAE,gBAAgB;wBAC9B,aAAa,EAAE,iBAAiB;qBACjC;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,OAAO;YACL,MAAM,EAAE,0CAA0C;YAClD,QAAQ;YACR,SAAS;YACT,KAAK,EAAE;gBACL,YAAY,EAAE,gBAAgB;gBAC9B,aAAa,EAAE,iBAAiB;aACjC;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,SAAS,CACd,UAAkB,EAClB,UAAwB,EAAE;QAE1B,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAE1E,gCAAgC;QAChC,MAAM,qBAAqB,GAAG,2BAA2B,CACvD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAElF,2DAA2D;QAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAiB;YAC7B,wFAAwF;YACxF,6EAA6E;YAC7E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,kBAAkB;gBACjD,CAAC,CAAC;oBACE,mBAAmB,CACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EACpE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACzE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,EACd;wBACE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;qBAC3C,CACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,uBAAuB;YACvB,GAAG,OAAO;YACV,2BAA2B;YAC3B,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;SAC9D,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,oBAAoB;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAE/B,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAgB;YAC/B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAI;YACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAI;YACrB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,OAAO,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM;oBACJ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,mBAAmB;iBAC5B,CAAC;gBAEF,mCAAmC;gBACnC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,CACR,CAAC;gBACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,SAAS,EAAE,CAAC;YAEZ,WAAW;YACX,IAAI,gBAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACnC,QAAQ,EACR,eAAe,EACf,CAAC,MAAM,EAAE,EAAE;oBACT,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC;oBACjC,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mCAAmC;gBACnC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;oBACpE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;oBAEpD,mCAAmC;oBACnC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,CACR,CAAC;oBACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAEvD,gDAAgD;YAChD,IACE,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;gBAC9C,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EACnD,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;oBAC/D,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBAC3C,aAAa,EAAE,gBAAgB;iBAChC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAE7E,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBACnC,0CAA0C;oBAC1C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;wBAC/D,eAAe,EAAE,aAAa,CAAC,eAAe;wBAC9C,eAAe,EAAE,QAAQ,CAAC,MAAM;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/D,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,gCAAgC;gBAChC,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;oBAC7E,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CACf,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACjC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,kFAAkF;gBAClF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,IAAI,cAAc,EAAE,CAAC;oBACnB,6CAA6C;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;gBACvC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,CAAC;gBACrG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAE/B,mDAAmD;gBACnD,MAAM,eAAe,GAAG,qBAAqB,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,WAAW,CACZ,CAAC;gBACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,CAAC;QACrG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;QAE3E,0BAA0B;QAC1B,MAAM,eAAe,GAAG,qBAAqB,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,mBAAmB,CACpB,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CACX,QAAsB,EACtB,OAA0B,EAC1B,SAAiB;QAQjB,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAEnE,sDAAsD;QACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CACjC,CAAC,CAAC,EAAuC,EAAE,CACzC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAChE,CAAC;QAEF,yCAAyC;QACzC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CACvE,CAAC;QAEF,0EAA0E;QAC1E,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,YAAY,GAAiB,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,oBAAoB;gBACpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,8BAA8B;QAC9B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,4DAA4D;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;QAEzD,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;YAC3B,qBAAqB;YACrB,OAAO;gBACL,QAAQ;gBACR,SAAS;gBACT,OAAO;gBACP,eAAe,EAAE,WAAW;gBAC5B,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,MAAM,eAAe,GAAG,qBAAqB,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,EACP,IAAI,CAAC,2DAA2D;SACjE,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAEhG,2CAA2C;QAC3C,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;gBACnE,MAAM,UAAU,GAAG,MAAiC,CAAC;gBACrD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBACvF,OAAO;wBACL,QAAQ;wBACR,SAAS;wBACT,OAAO;wBACP,eAAe,EAAE,WAAW;wBAC5B,gBAAgB,EAAE,KAAK;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtE,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;QAEhE,kCAAkC;QAClC,MAAM,eAAe,GAAG,4BAA4B,CAClD,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,EACd,OAAO,EACP,SAAS,CACV,CAAC;QAEF,iDAAiD;QACjD,MAAM,cAAc,GAAG,sBAAsB,CAC3C,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,OAAO,EAAE,EAAE,CAAC,EACzE,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CACf,CAAC;QAEF,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjE,+BAA+B;QAC/B,MAAM,iBAAiB,GAAiB;YACtC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,eAAe;YACf,cAAc;YACd,GAAG,iBAAiB;SACrB,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS;YACT,OAAO;YACP,eAAe,EAAE,gBAAgB;YACjC,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAsB;QAClD,MAAM,aAAa,GAAG;;;;;;;;EAQxB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;8CAEW,CAAC;QAE3C,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,WAAW,GAAG;gBAClB,iBAAiB,EAAE,sEAAsE;aAC1F,CAAC;YAEF,uDAAuD;YACvD,MAAM,eAAe,GAAiB;gBACpC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;aACjE,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,eAAe,EACf,EAAE,EACF,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EACnC,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC5C,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,uBAAuB,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,+DAA+D,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,eAAe,CAC/B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,IAAI,CAAC,mBAAmB;SACzB,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAE1E,iDAAiD;QACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;gBACjE,MAAM,UAAU,GAAG,MAA4B,CAAC;gBAChD,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAAsB,EACtB,KAAiD,EACjD,OAA4D;QAE5D,sDAAsD;QACtD,MAAM,WAAW,GAAgB;YAC/B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SAC5C,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAErG,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACZ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;oBACzB,CAAC;oBACD,MAAM;gBAER,KAAK,WAAW;oBACd,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACnD,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;wBAC3D,CAAC;6BAAM,CAAC;4BACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE;gCAChC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;gCACtB,IAAI,EAAE,UAAU;gCAChB,QAAQ,EAAE;oCACR,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;oCAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS;iCACrC;6BACF,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;wBACvC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC3C,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAqC,OAAO;YAC7D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,sBAAsB,CAC3B,aAAa,EACb,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,EACd,IAAI,EACJ,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAkB,EAClB,cAAsB,EACtB,OAAoB;QAEpB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpG,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE7C,4CAA4C;QAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACjD,+CAA+C;YAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,uIAAuI;oBAChJ,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,yEAAyE;YACzE,oEAAoE;QACtE,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,qBAAqB,CACxC,IAAI,CAAC,SAAS,EACd,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,IAAI,CACL,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CACvD,YAAY,EACZ,YAAY,EACZ,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,QAAQ,CAAC,EAAE,CACZ,CAAC;QAEF,+CAA+C;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAEvC,EAAE,CACF,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,oBAAoB,IAAI,CAAC;YAClF,CAA6B,CAAC,kBAAkB,KAAK,SAAS;YAC7D,CAA6B,CAAC,kBAA8C,EAAE,aAAa,KAAK,YAAY;YAC5G,CAA6B,CAAC,kBAA8C,EAAE,kBAAkB,KAAK,MAAM,CAC9G,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,EAAE,wBAAwB,IAAI,gCAAgC,CAAC;YAE7G,iCAAiC;YACjC,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,IAAI,CAAC,SAAS,EACd,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,IAAI,CACL,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEtF,OAAO;gBACL,OAAO,EAAE,UAAU,QAAQ,EAAE;gBAC7B,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,sDAAsD;QACtD,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAE9C,EAAE,CACF,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,oBAAoB,IAAI,CAAC;YAClF,CAA6B,CAAC,kBAAkB,KAAK,SAAS;YAC7D,CAA6B,CAAC,kBAA8C,EAAE,aAAa,KAAK,YAAY;YAC5G,CAA6B,CAAC,kBAA8C,EAAE,YAAY,KAAK,SAAS,CAC3G,CAAC;QAEF,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC;YACxD,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC;QACpE,CAAC;QAED,4CAA4C;QAC5C,6CAA6C;QAC7C,IAAI,gBAAuC,CAAC;QAE5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC;YACzB,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACtD,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,EAAE,SAAS,CAAC,CAC7F,CAAC;YAEF,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACpC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,aAAwC,EACxC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,CAChF;oBACD,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,EAAE;oBACzF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAC7D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,aAAwC,EACxC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,2CAA2C;YAC3C,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,IAAI,CAAC,SAAS,EACd,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,aAAa,CACd,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEtF,OAAO;gBACL,OAAO,EAAE,UAAU,gBAAgB,CAAC,KAAK,IAAI,mBAAmB,EAAE;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,IAAI,aAAa,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEvD,2BAA2B;YAC3B,MAAM,aAAa,GAAG,sBAAsB,CAC1C,IAAI,CAAC,SAAS,EACd,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,UAAU,EACV,MAAM,CACP,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEtG,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC/B,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,kCAAkC;YAClC,MAAM,oBAAoB,GAAG,6BAA6B,CACxD,IAAI,CAAC,SAAS,EACd,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,UAAU,EACV,YAAY,CACb,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAErF,OAAO;gBACL,OAAO,EAAE,UAAU,YAAY,EAAE;gBACjC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subagent runner - manages the execution of child agents
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentDefinition } from './agent-definition';
|
|
6
|
+
import type { ToolContext } from '../types/tools';
|
|
7
|
+
import type { ToolRegistry } from '../tools/registry';
|
|
8
|
+
import { HookManager } from '../hooks/manager';
|
|
9
|
+
/**
|
|
10
|
+
* Result from subagent execution
|
|
11
|
+
*/
|
|
12
|
+
export interface SubagentResult {
|
|
13
|
+
/** Final result message (or error description if failed) */
|
|
14
|
+
result: string;
|
|
15
|
+
/** Unique identifier for the subagent instance */
|
|
16
|
+
agentId: string;
|
|
17
|
+
/** Token usage statistics */
|
|
18
|
+
usage: {
|
|
19
|
+
inputTokens: number;
|
|
20
|
+
outputTokens: number;
|
|
21
|
+
};
|
|
22
|
+
/** Cost in USD (only if provider supports cost calculation) */
|
|
23
|
+
costUsd?: number;
|
|
24
|
+
/** Execution duration in milliseconds */
|
|
25
|
+
durationMs: number;
|
|
26
|
+
/** Error details if execution failed (optional) */
|
|
27
|
+
error?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Context for subagent execution
|
|
31
|
+
*/
|
|
32
|
+
export interface SubagentContext {
|
|
33
|
+
/** Parent tool context */
|
|
34
|
+
parentContext: ToolContext;
|
|
35
|
+
/** Parent's tool registry */
|
|
36
|
+
parentToolRegistry: ToolRegistry;
|
|
37
|
+
/** Hook manager for emitting events */
|
|
38
|
+
hookManager: HookManager;
|
|
39
|
+
/** Parent session ID */
|
|
40
|
+
parentSessionId: string;
|
|
41
|
+
/** Parent's configuration values to inherit from */
|
|
42
|
+
parentConfig: {
|
|
43
|
+
model: string;
|
|
44
|
+
maxTurns: number;
|
|
45
|
+
permissionMode: string;
|
|
46
|
+
allowedTools?: string[];
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Run a subagent with the given configuration
|
|
51
|
+
*
|
|
52
|
+
* @param agentDef - Agent definition
|
|
53
|
+
* @param prompt - Task prompt for the subagent
|
|
54
|
+
* @param agentType - Type identifier for the subagent
|
|
55
|
+
* @param context - Execution context
|
|
56
|
+
* @returns Subagent execution result
|
|
57
|
+
*/
|
|
58
|
+
export declare function runSubagent(agentDef: AgentDefinition, prompt: string, agentType: string, context: SubagentContext): Promise<SubagentResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Helper to check if a subagent result indicates success
|
|
61
|
+
*/
|
|
62
|
+
export declare function isSubagentSuccess(result: SubagentResult): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Helper to format subagent result for display
|
|
65
|
+
*/
|
|
66
|
+
export declare function formatSubagentResult(result: SubagentResult): string;
|
|
67
|
+
//# sourceMappingURL=subagent-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-runner.d.ts","sourceRoot":"","sources":["../../src/agent/subagent-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,6BAA6B;IAC7B,kBAAkB,EAAE,YAAY,CAAC;IACjC,uCAAuC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAyDD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAwIzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAKnE"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subagent runner - manages the execution of child agents
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
import { ReActLoop } from './react-loop';
|
|
6
|
+
import { HookManager } from '../hooks/manager';
|
|
7
|
+
import { createSubagentStartInput, createSubagentStopInput } from '../hooks/inputs';
|
|
8
|
+
import { logger } from '../utils/logger';
|
|
9
|
+
/**
|
|
10
|
+
* Generate a unique agent ID
|
|
11
|
+
*/
|
|
12
|
+
function generateAgentId() {
|
|
13
|
+
return `agent-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a filtered tool registry based on agent definition
|
|
17
|
+
* If tools is undefined, returns all parent tools
|
|
18
|
+
* If tools is specified, returns only those tools
|
|
19
|
+
*/
|
|
20
|
+
function getAllowedTools(agentDef, parentToolRegistry) {
|
|
21
|
+
if (agentDef.tools === undefined) {
|
|
22
|
+
// Inherit all tools from parent
|
|
23
|
+
return parentToolRegistry.getAll();
|
|
24
|
+
}
|
|
25
|
+
// Use specified tools only
|
|
26
|
+
return parentToolRegistry.getAllowedTools(agentDef.tools);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Determine effective model for subagent
|
|
30
|
+
* Returns parent's model if agentDef.model is undefined or 'inherit'
|
|
31
|
+
*/
|
|
32
|
+
function getEffectiveModel(agentDef, parentModel) {
|
|
33
|
+
if (agentDef.model === undefined || agentDef.model === 'inherit') {
|
|
34
|
+
return parentModel;
|
|
35
|
+
}
|
|
36
|
+
return agentDef.model;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Determine effective maxTurns for subagent
|
|
40
|
+
* Returns parent's maxTurns if agentDef.maxTurns is undefined
|
|
41
|
+
*/
|
|
42
|
+
function getEffectiveMaxTurns(agentDef, parentMaxTurns) {
|
|
43
|
+
return agentDef.maxTurns ?? parentMaxTurns;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Determine effective permission mode for subagent
|
|
47
|
+
* Returns parent's permissionMode if agentDef.permissionMode is undefined
|
|
48
|
+
*/
|
|
49
|
+
function getEffectivePermissionMode(agentDef, parentPermissionMode) {
|
|
50
|
+
return agentDef.permissionMode ?? parentPermissionMode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Run a subagent with the given configuration
|
|
54
|
+
*
|
|
55
|
+
* @param agentDef - Agent definition
|
|
56
|
+
* @param prompt - Task prompt for the subagent
|
|
57
|
+
* @param agentType - Type identifier for the subagent
|
|
58
|
+
* @param context - Execution context
|
|
59
|
+
* @returns Subagent execution result
|
|
60
|
+
*/
|
|
61
|
+
export async function runSubagent(agentDef, prompt, agentType, context) {
|
|
62
|
+
const startTime = Date.now();
|
|
63
|
+
const agentId = generateAgentId();
|
|
64
|
+
const cwd = context.parentContext.cwd;
|
|
65
|
+
logger.debug(`[SubagentRunner] Starting subagent ${agentId} of type ${agentType}`);
|
|
66
|
+
try {
|
|
67
|
+
// Trigger SubagentStart hook
|
|
68
|
+
const subagentStartInput = createSubagentStartInput(context.parentSessionId, cwd, agentId, agentType, prompt, undefined, context.parentConfig.permissionMode);
|
|
69
|
+
await context.hookManager.emit('SubagentStart', subagentStartInput, undefined);
|
|
70
|
+
// Get effective configuration
|
|
71
|
+
const effectiveModel = getEffectiveModel(agentDef, context.parentConfig.model);
|
|
72
|
+
const effectiveMaxTurns = getEffectiveMaxTurns(agentDef, context.parentConfig.maxTurns);
|
|
73
|
+
const effectivePermissionMode = getEffectivePermissionMode(agentDef, context.parentConfig.permissionMode);
|
|
74
|
+
// Get allowed tools
|
|
75
|
+
const allowedTools = getAllowedTools(agentDef, context.parentToolRegistry);
|
|
76
|
+
logger.debug(`[SubagentRunner] Subagent ${agentId} config:`, {
|
|
77
|
+
model: effectiveModel,
|
|
78
|
+
maxTurns: effectiveMaxTurns,
|
|
79
|
+
permissionMode: effectivePermissionMode,
|
|
80
|
+
toolCount: allowedTools.length,
|
|
81
|
+
});
|
|
82
|
+
// Create subagent configuration
|
|
83
|
+
const subagentConfig = {
|
|
84
|
+
maxTurns: effectiveMaxTurns,
|
|
85
|
+
systemPrompt: agentDef.prompt,
|
|
86
|
+
allowedTools: allowedTools.map(t => t.name),
|
|
87
|
+
cwd,
|
|
88
|
+
env: context.parentContext.env,
|
|
89
|
+
abortController: context.parentContext.abortController,
|
|
90
|
+
permissionMode: effectivePermissionMode,
|
|
91
|
+
// Subagent has its own hooks (not inherited from parent)
|
|
92
|
+
hooks: new HookManager(),
|
|
93
|
+
};
|
|
94
|
+
// Create and run the subagent
|
|
95
|
+
// Note: We need a provider instance. If parent's context has one, use it.
|
|
96
|
+
if (!context.parentContext.provider) {
|
|
97
|
+
throw new Error('Provider not available in parent context');
|
|
98
|
+
}
|
|
99
|
+
const subagent = new ReActLoop(context.parentContext.provider,
|
|
100
|
+
// Create a new tool registry with filtered tools
|
|
101
|
+
// This is a simplified approach - in reality we might need to create a new registry
|
|
102
|
+
context.parentToolRegistry, subagentConfig, agentId);
|
|
103
|
+
const result = await subagent.run(prompt);
|
|
104
|
+
const durationMs = Date.now() - startTime;
|
|
105
|
+
logger.debug(`[SubagentRunner] Subagent ${agentId} completed in ${durationMs}ms`);
|
|
106
|
+
// Trigger SubagentStop hook
|
|
107
|
+
const subagentStopInput = createSubagentStopInput(context.parentSessionId, cwd, false, // stopHookActive
|
|
108
|
+
undefined, context.parentConfig.permissionMode);
|
|
109
|
+
await context.hookManager.emit('SubagentStop', subagentStopInput, undefined);
|
|
110
|
+
// Calculate cost if provider supports it
|
|
111
|
+
const provider = context.parentContext.provider;
|
|
112
|
+
const costUsd = provider.getCost?.({
|
|
113
|
+
input_tokens: result.usage.input_tokens,
|
|
114
|
+
output_tokens: result.usage.output_tokens,
|
|
115
|
+
});
|
|
116
|
+
// Check if execution resulted in an error (based on ReActLoop's isError flag)
|
|
117
|
+
const hasError = result.isError ?? false;
|
|
118
|
+
return {
|
|
119
|
+
result: result.result,
|
|
120
|
+
agentId,
|
|
121
|
+
usage: {
|
|
122
|
+
inputTokens: result.usage.input_tokens,
|
|
123
|
+
outputTokens: result.usage.output_tokens,
|
|
124
|
+
},
|
|
125
|
+
costUsd,
|
|
126
|
+
durationMs,
|
|
127
|
+
...(hasError && { error: result.result }),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
const durationMs = Date.now() - startTime;
|
|
132
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
133
|
+
logger.error(`[SubagentRunner] Subagent ${agentId} failed:`, errorMessage);
|
|
134
|
+
// Trigger SubagentStop hook even on failure
|
|
135
|
+
try {
|
|
136
|
+
const subagentStopInput = createSubagentStopInput(context.parentSessionId, cwd, false, undefined, context.parentConfig.permissionMode);
|
|
137
|
+
await context.hookManager.emit('SubagentStop', subagentStopInput, undefined);
|
|
138
|
+
}
|
|
139
|
+
catch (hookError) {
|
|
140
|
+
// Ignore hook errors during cleanup
|
|
141
|
+
logger.warn('[SubagentRunner] Failed to emit SubagentStop hook:', hookError);
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
result: `Error: ${errorMessage}`,
|
|
145
|
+
agentId,
|
|
146
|
+
usage: {
|
|
147
|
+
inputTokens: 0,
|
|
148
|
+
outputTokens: 0,
|
|
149
|
+
},
|
|
150
|
+
durationMs,
|
|
151
|
+
error: errorMessage,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Helper to check if a subagent result indicates success
|
|
157
|
+
*/
|
|
158
|
+
export function isSubagentSuccess(result) {
|
|
159
|
+
return result.error === undefined;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Helper to format subagent result for display
|
|
163
|
+
*/
|
|
164
|
+
export function formatSubagentResult(result) {
|
|
165
|
+
const status = result.error !== undefined ? 'FAILED' : 'SUCCESS';
|
|
166
|
+
return `[${status}] ${result.agentId}: ${result.result.substring(0, 100)}${result.result.length > 100 ? '...' : ''}`;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=subagent-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-runner.js","sourceRoot":"","sources":["../../src/agent/subagent-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks module - Public exports
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
export type { HookEvent, HookInput, BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, NotificationHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, ExitReason, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PermissionRequestHookInput, HookCallback, HookCallbackMatcher, HooksConfig, HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput, PermissionUpdate, PermissionBehavior, PermissionUpdateDestination, PermissionRuleValue, } from './types';
|
|
6
|
+
export { HookManager } from './manager';
|
|
7
|
+
export { createPreToolUseInput, createPostToolUseInput, createSessionStartInput, createSessionEndInput, createSubagentStartInput, createSubagentStopInput, createNotificationInput, createStopInput, createPreCompactInput, createUserPromptSubmitInput, } from './inputs';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks module - Public exports
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
// Manager
|
|
6
|
+
export { HookManager } from './manager';
|
|
7
|
+
// Input helpers
|
|
8
|
+
export { createPreToolUseInput, createPostToolUseInput, createSessionStartInput, createSessionEndInput, createSubagentStartInput, createSubagentStopInput, createNotificationInput, createStopInput, createPreCompactInput, createUserPromptSubmitInput, } from './inputs';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,gBAAgB;AAChB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for creating HookInput objects
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
import type { PreToolUseHookInput, PostToolUseHookInput, SessionStartHookInput, SessionEndHookInput, PermissionRequestHookInput, PostToolUseFailureHookInput, SubagentStartHookInput, SubagentStopHookInput, NotificationHookInput, UserPromptSubmitHookInput, StopHookInput, PreCompactHookInput, ExitReason, PermissionUpdate } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Create PreToolUse hook input
|
|
8
|
+
*/
|
|
9
|
+
export declare function createPreToolUseInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, transcriptPath?: string, permissionMode?: string): PreToolUseHookInput;
|
|
10
|
+
/**
|
|
11
|
+
* Create PostToolUse hook input
|
|
12
|
+
*/
|
|
13
|
+
export declare function createPostToolUseInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, toolResponse: unknown, transcriptPath?: string, permissionMode?: string): PostToolUseHookInput;
|
|
14
|
+
/**
|
|
15
|
+
* Create SessionStart hook input
|
|
16
|
+
*/
|
|
17
|
+
export declare function createSessionStartInput(sessionId: string, cwd: string, source?: SessionStartHookInput['source'], transcriptPath?: string, permissionMode?: string): SessionStartHookInput;
|
|
18
|
+
/**
|
|
19
|
+
* Create SessionEnd hook input
|
|
20
|
+
*/
|
|
21
|
+
export declare function createSessionEndInput(sessionId: string, cwd: string, reason?: ExitReason, transcriptPath?: string, permissionMode?: string): SessionEndHookInput;
|
|
22
|
+
/**
|
|
23
|
+
* Create PermissionRequest hook input
|
|
24
|
+
*/
|
|
25
|
+
export declare function createPermissionRequestInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, permissionSuggestions?: PermissionUpdate[], transcriptPath?: string, permissionMode?: string): PermissionRequestHookInput;
|
|
26
|
+
/**
|
|
27
|
+
* Create PostToolUseFailure hook input
|
|
28
|
+
*/
|
|
29
|
+
export declare function createPostToolUseFailureInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, error: string, isInterrupt?: boolean, transcriptPath?: string, permissionMode?: string): PostToolUseFailureHookInput;
|
|
30
|
+
/**
|
|
31
|
+
* Create SubagentStart hook input
|
|
32
|
+
*/
|
|
33
|
+
export declare function createSubagentStartInput(sessionId: string, cwd: string, subagentId: string, subagentType: string, prompt?: string, transcriptPath?: string, permissionMode?: string): SubagentStartHookInput;
|
|
34
|
+
/**
|
|
35
|
+
* Create SubagentStop hook input
|
|
36
|
+
*/
|
|
37
|
+
export declare function createSubagentStopInput(sessionId: string, cwd: string, stopHookActive: boolean, transcriptPath?: string, permissionMode?: string): SubagentStopHookInput;
|
|
38
|
+
/**
|
|
39
|
+
* Create Notification hook input
|
|
40
|
+
* ⏳ No auto trigger point in ReActLoop — for application-level use only (planned v0.4.0+)
|
|
41
|
+
*/
|
|
42
|
+
export declare function createNotificationInput(sessionId: string, cwd: string, message: string, title?: string, transcriptPath?: string, permissionMode?: string): NotificationHookInput;
|
|
43
|
+
/**
|
|
44
|
+
* Create Stop hook input
|
|
45
|
+
*/
|
|
46
|
+
export declare function createStopInput(sessionId: string, cwd: string, stopHookActive: boolean, transcriptPath?: string, permissionMode?: string): StopHookInput;
|
|
47
|
+
/**
|
|
48
|
+
* Create PreCompact hook input
|
|
49
|
+
* ⏳ No auto trigger point in ReActLoop — requires compact feature (planned v0.4.0+)
|
|
50
|
+
*/
|
|
51
|
+
export declare function createPreCompactInput(sessionId: string, cwd: string, trigger: 'manual' | 'auto', customInstructions?: string | null, transcriptPath?: string, permissionMode?: string): PreCompactHookInput;
|
|
52
|
+
/**
|
|
53
|
+
* Create UserPromptSubmit hook input
|
|
54
|
+
*/
|
|
55
|
+
export declare function createUserPromptSubmitInput(sessionId: string, cwd: string, prompt: string, transcriptPath?: string, permissionMode?: string): UserPromptSubmitHookInput;
|
|
56
|
+
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/hooks/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for creating HookInput objects
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create base hook input with common fields
|
|
7
|
+
*/
|
|
8
|
+
function createBaseHookInput(sessionId, cwd, transcriptPath = '', permissionMode) {
|
|
9
|
+
return {
|
|
10
|
+
session_id: sessionId,
|
|
11
|
+
transcript_path: transcriptPath,
|
|
12
|
+
cwd,
|
|
13
|
+
...(permissionMode && { permission_mode: permissionMode }),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create PreToolUse hook input
|
|
18
|
+
*/
|
|
19
|
+
export function createPreToolUseInput(sessionId, cwd, toolName, toolInput, transcriptPath, permissionMode) {
|
|
20
|
+
return {
|
|
21
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
22
|
+
hook_event_name: 'PreToolUse',
|
|
23
|
+
tool_name: toolName,
|
|
24
|
+
tool_input: toolInput,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create PostToolUse hook input
|
|
29
|
+
*/
|
|
30
|
+
export function createPostToolUseInput(sessionId, cwd, toolName, toolInput, toolResponse, transcriptPath, permissionMode) {
|
|
31
|
+
return {
|
|
32
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
33
|
+
hook_event_name: 'PostToolUse',
|
|
34
|
+
tool_name: toolName,
|
|
35
|
+
tool_input: toolInput,
|
|
36
|
+
tool_response: toolResponse,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create SessionStart hook input
|
|
41
|
+
*/
|
|
42
|
+
export function createSessionStartInput(sessionId, cwd, source = 'startup', transcriptPath, permissionMode) {
|
|
43
|
+
return {
|
|
44
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
45
|
+
hook_event_name: 'SessionStart',
|
|
46
|
+
source,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create SessionEnd hook input
|
|
51
|
+
*/
|
|
52
|
+
export function createSessionEndInput(sessionId, cwd, reason = 'completed', transcriptPath, permissionMode) {
|
|
53
|
+
return {
|
|
54
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
55
|
+
hook_event_name: 'SessionEnd',
|
|
56
|
+
reason,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create PermissionRequest hook input
|
|
61
|
+
*/
|
|
62
|
+
export function createPermissionRequestInput(sessionId, cwd, toolName, toolInput, permissionSuggestions, transcriptPath, permissionMode) {
|
|
63
|
+
return {
|
|
64
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
65
|
+
hook_event_name: 'PermissionRequest',
|
|
66
|
+
tool_name: toolName,
|
|
67
|
+
tool_input: toolInput,
|
|
68
|
+
permission_suggestions: permissionSuggestions,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create PostToolUseFailure hook input
|
|
73
|
+
*/
|
|
74
|
+
export function createPostToolUseFailureInput(sessionId, cwd, toolName, toolInput, error, isInterrupt, transcriptPath, permissionMode) {
|
|
75
|
+
return {
|
|
76
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
77
|
+
hook_event_name: 'PostToolUseFailure',
|
|
78
|
+
tool_name: toolName,
|
|
79
|
+
tool_input: toolInput,
|
|
80
|
+
error,
|
|
81
|
+
is_interrupt: isInterrupt,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create SubagentStart hook input
|
|
86
|
+
*/
|
|
87
|
+
export function createSubagentStartInput(sessionId, cwd, subagentId, subagentType, prompt, transcriptPath, permissionMode) {
|
|
88
|
+
return {
|
|
89
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
90
|
+
hook_event_name: 'SubagentStart',
|
|
91
|
+
subagent_id: subagentId,
|
|
92
|
+
subagent_type: subagentType,
|
|
93
|
+
prompt,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create SubagentStop hook input
|
|
98
|
+
*/
|
|
99
|
+
export function createSubagentStopInput(sessionId, cwd, stopHookActive, transcriptPath, permissionMode) {
|
|
100
|
+
return {
|
|
101
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
102
|
+
hook_event_name: 'SubagentStop',
|
|
103
|
+
stop_hook_active: stopHookActive,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Create Notification hook input
|
|
108
|
+
* ⏳ No auto trigger point in ReActLoop — for application-level use only (planned v0.4.0+)
|
|
109
|
+
*/
|
|
110
|
+
export function createNotificationInput(sessionId, cwd, message, title, transcriptPath, permissionMode) {
|
|
111
|
+
return {
|
|
112
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
113
|
+
hook_event_name: 'Notification',
|
|
114
|
+
message,
|
|
115
|
+
title,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Create Stop hook input
|
|
120
|
+
*/
|
|
121
|
+
export function createStopInput(sessionId, cwd, stopHookActive, transcriptPath, permissionMode) {
|
|
122
|
+
return {
|
|
123
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
124
|
+
hook_event_name: 'Stop',
|
|
125
|
+
stop_hook_active: stopHookActive,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Create PreCompact hook input
|
|
130
|
+
* ⏳ No auto trigger point in ReActLoop — requires compact feature (planned v0.4.0+)
|
|
131
|
+
*/
|
|
132
|
+
export function createPreCompactInput(sessionId, cwd, trigger, customInstructions = null, transcriptPath, permissionMode) {
|
|
133
|
+
return {
|
|
134
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
135
|
+
hook_event_name: 'PreCompact',
|
|
136
|
+
trigger,
|
|
137
|
+
custom_instructions: customInstructions,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Create UserPromptSubmit hook input
|
|
142
|
+
*/
|
|
143
|
+
export function createUserPromptSubmitInput(sessionId, cwd, prompt, transcriptPath, permissionMode) {
|
|
144
|
+
return {
|
|
145
|
+
...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
|
|
146
|
+
hook_event_name: 'UserPromptSubmit',
|
|
147
|
+
prompt,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/hooks/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HookManager - Manages hook registration and emission
|
|
3
|
+
* Aligned with Claude Agent SDK
|
|
4
|
+
*/
|
|
5
|
+
import type { HookEvent, HookInput, HookCallbackMatcher, HooksConfig, HookJSONOutput } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Manages hook callbacks and their execution
|
|
8
|
+
*/
|
|
9
|
+
export declare class HookManager {
|
|
10
|
+
private hooks;
|
|
11
|
+
private abortController;
|
|
12
|
+
/**
|
|
13
|
+
* Create a new HookManager
|
|
14
|
+
* @param config - Optional initial hooks configuration
|
|
15
|
+
*/
|
|
16
|
+
constructor(config?: HooksConfig);
|
|
17
|
+
/**
|
|
18
|
+
* Register hook callbacks for an event
|
|
19
|
+
* @param event - The hook event type
|
|
20
|
+
* @param matchers - Array of matcher configurations
|
|
21
|
+
*/
|
|
22
|
+
register(event: HookEvent, matchers: HookCallbackMatcher[]): void;
|
|
23
|
+
/**
|
|
24
|
+
* Emit a hook event to all registered callbacks
|
|
25
|
+
* @param event - The hook event type
|
|
26
|
+
* @param input - The hook input data
|
|
27
|
+
* @param toolUseID - Optional tool use ID
|
|
28
|
+
* @returns Array of results from all callbacks
|
|
29
|
+
*/
|
|
30
|
+
emit(event: HookEvent, input: HookInput, toolUseID?: string): Promise<HookJSONOutput[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Emit a hook event with tool name filtering
|
|
33
|
+
* Only callbacks with matching matcher or no matcher will be called
|
|
34
|
+
* @param event - The hook event type
|
|
35
|
+
* @param input - The hook input data
|
|
36
|
+
* @param toolName - The tool name for matcher filtering
|
|
37
|
+
* @param toolUseID - Optional tool use ID
|
|
38
|
+
* @returns Array of results from matching callbacks
|
|
39
|
+
*/
|
|
40
|
+
emitForTool(event: HookEvent, input: HookInput, toolName: string, toolUseID?: string): Promise<HookJSONOutput[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if there are any hooks registered for an event
|
|
43
|
+
* @param event - The hook event type
|
|
44
|
+
* @returns True if hooks are registered
|
|
45
|
+
*/
|
|
46
|
+
hasHooks(event: HookEvent): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Get the number of hooks registered for an event
|
|
49
|
+
* @param event - The hook event type
|
|
50
|
+
* @returns Number of registered hook callbacks
|
|
51
|
+
*/
|
|
52
|
+
hookCount(event: HookEvent): number;
|
|
53
|
+
/**
|
|
54
|
+
* Clear all registered hooks
|
|
55
|
+
*/
|
|
56
|
+
clear(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Destroy the hook manager
|
|
59
|
+
* Aborts the internal abort controller
|
|
60
|
+
*/
|
|
61
|
+
destroy(): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/hooks/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;gBACS,MAAM,CAAC,EAAE,WAAW;IAWhC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAKjE;;;;;;OAMG;IACG,IAAI,CACR,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC;IA2B5B;;;;;;;;OAQG;IACG,WAAW,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC;IAgC5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAKnC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAMnC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,IAAI,IAAI;CAKhB"}
|