@sulala/agent 0.1.39 → 0.1.40
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 +7 -1
- package/dashboard/dist/assets/index-CpWzBXHV.js +88 -0
- package/dashboard/dist/assets/index-DUAWeMLm.css +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/agent/content-writer-agent.d.ts +52 -0
- package/dist/agent/content-writer-agent.d.ts.map +1 -0
- package/dist/agent/content-writer-agent.js +271 -0
- package/dist/agent/content-writer-agent.js.map +1 -0
- package/dist/agent/execution-context.d.ts +45 -0
- package/dist/agent/execution-context.d.ts.map +1 -0
- package/dist/agent/execution-context.js +31 -0
- package/dist/agent/execution-context.js.map +1 -0
- package/dist/agent/lead-agent-schedule.d.ts +10 -0
- package/dist/agent/lead-agent-schedule.d.ts.map +1 -0
- package/dist/agent/lead-agent-schedule.js +49 -0
- package/dist/agent/lead-agent-schedule.js.map +1 -0
- package/dist/agent/lead-agent.d.ts +60 -0
- package/dist/agent/lead-agent.d.ts.map +1 -0
- package/dist/agent/lead-agent.js +205 -0
- package/dist/agent/lead-agent.js.map +1 -0
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +66 -21
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/news-social-agent-schedule.d.ts +5 -0
- package/dist/agent/news-social-agent-schedule.d.ts.map +1 -0
- package/dist/agent/news-social-agent-schedule.js +42 -0
- package/dist/agent/news-social-agent-schedule.js.map +1 -0
- package/dist/agent/news-social-agent.d.ts +52 -0
- package/dist/agent/news-social-agent.d.ts.map +1 -0
- package/dist/agent/news-social-agent.js +199 -0
- package/dist/agent/news-social-agent.js.map +1 -0
- package/dist/agent/run-cancel.d.ts +20 -0
- package/dist/agent/run-cancel.d.ts.map +1 -0
- package/dist/agent/run-cancel.js +38 -0
- package/dist/agent/run-cancel.js.map +1 -0
- package/dist/agent/skills.d.ts.map +1 -1
- package/dist/agent/skills.js +97 -118
- package/dist/agent/skills.js.map +1 -1
- package/dist/agent/social-agent.d.ts +46 -0
- package/dist/agent/social-agent.d.ts.map +1 -0
- package/dist/agent/social-agent.js +199 -0
- package/dist/agent/social-agent.js.map +1 -0
- package/dist/agent/tool/spec-loader.d.ts.map +1 -1
- package/dist/agent/tool/spec-loader.js +62 -8
- package/dist/agent/tool/spec-loader.js.map +1 -1
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +204 -4
- package/dist/agent/tools.js.map +1 -1
- package/dist/agent/workflow-agents-schedule.d.ts +14 -0
- package/dist/agent/workflow-agents-schedule.d.ts.map +1 -0
- package/dist/agent/workflow-agents-schedule.js +46 -0
- package/dist/agent/workflow-agents-schedule.js.map +1 -0
- package/dist/agent/workflow-agents.d.ts +38 -0
- package/dist/agent/workflow-agents.d.ts.map +1 -0
- package/dist/agent/workflow-agents.js +155 -0
- package/dist/agent/workflow-agents.js.map +1 -0
- package/dist/agent/workflow-folder.d.ts +18 -0
- package/dist/agent/workflow-folder.d.ts.map +1 -0
- package/dist/agent/workflow-folder.js +57 -0
- package/dist/agent/workflow-folder.js.map +1 -0
- package/dist/agent/workflow-runner.d.ts +16 -0
- package/dist/agent/workflow-runner.d.ts.map +1 -0
- package/dist/agent/workflow-runner.js +163 -0
- package/dist/agent/workflow-runner.js.map +1 -0
- package/dist/channels/telegram.d.ts +15 -0
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +100 -0
- package/dist/channels/telegram.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +74 -2
- package/dist/config.js.map +1 -1
- package/dist/db/index.d.ts +78 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +279 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/schema.sql +47 -0
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +1057 -13
- package/dist/gateway/server.js.map +1 -1
- package/dist/index.js +315 -2
- package/dist/index.js.map +1 -1
- package/dist/media/upload-handlers/dropbox.d.ts +2 -0
- package/dist/media/upload-handlers/dropbox.d.ts.map +1 -0
- package/dist/media/upload-handlers/dropbox.js +67 -0
- package/dist/media/upload-handlers/dropbox.js.map +1 -0
- package/dist/onboard-env.d.ts +9 -1
- package/dist/onboard-env.d.ts.map +1 -1
- package/dist/onboard-env.js +15 -1
- package/dist/onboard-env.js.map +1 -1
- package/dist/onboard.d.ts.map +1 -1
- package/dist/onboard.js +7 -0
- package/dist/onboard.js.map +1 -1
- package/dist/tailscale.d.ts +5 -0
- package/dist/tailscale.d.ts.map +1 -0
- package/dist/tailscale.js +36 -0
- package/dist/tailscale.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +16 -2
- package/src/db/schema.sql +47 -0
- package/src/index.ts +326 -2
- package/bin/sulala.mjs +0 -7
- package/dashboard/dist/assets/index-C-H2KUVU.js +0 -88
- package/dashboard/dist/assets/index-CG6dieHw.css +0 -1
package/dist/onboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,wGAAwG;AACxG,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;CAanB,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,GAAG,GACP,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,KAAK,OAAO;YAChB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,CAAC;IACnB,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,6JAA6J;AAC7J,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC3E,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAyC;IAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,oBAAoB,IAAI,UAAU,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CACjB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAC/B,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,OAAO,KAAK,GAAG,GAAG,CAAC,EACrI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpC,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,aAAa;IACpB,MAAM,QAAQ,GAAG,gDAAgD,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,sFAAsF;AACtF,SAAS,mBAAmB,CAAC,UAAkB,EAAE,WAAmB;IAClE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG;;;;;;;;cAQF,QAAQ;cACR,SAAS;;;YAGX,UAAU;;;;cAIR,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;;;;;;;YAO/E,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;YAE1B,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;;CAGrC,CAAC;IACA,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,qBAAqB,SAAS,uBAAuB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,mBAAmB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,2CAA2C;AAC3C,SAAS,kBAAkB,CAAC,UAAkB,EAAE,WAAmB;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG;;;;;;mBAMI,UAAU;mBACV,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;YACxC,QAAQ,IAAI,SAAS;;;wBAGT,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;uBAC3B,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;;;CAIhD,CAAC;IACA,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,UAAU,EAAE,CAAC,CAAC,kCAAkC;IAChD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,0BAA0B,SAAS,+FAA+F,CACnI,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAClF,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,uBAAuB,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,qBAAqB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,uBAAuB,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,mBAAmB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,qBAAqB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5E,QAAQ,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,GAAG,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Start Tailscale Serve to expose the given port on your tailnet. Requires Tailscale CLI + tailnet. */
|
|
2
|
+
export declare function startTailscaleServe(port: number): void;
|
|
3
|
+
/** Reset Tailscale Serve on shutdown so the port is no longer exposed. Set SULALA_TAILSCALE_RESET_ON_EXIT=1. */
|
|
4
|
+
export declare function stopTailscaleServe(): void;
|
|
5
|
+
//# sourceMappingURL=tailscale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tailscale.d.ts","sourceRoot":"","sources":["../src/tailscale.ts"],"names":[],"mappings":"AASA,wGAAwG;AACxG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBtD;AAED,gHAAgH;AAChH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailscale Serve integration (OpenClaw-style).
|
|
3
|
+
* Exposes the gateway on your tailnet so you can access it from any device without port forwarding.
|
|
4
|
+
* Set SULALA_TAILSCALE_SERVE=1 to enable.
|
|
5
|
+
*/
|
|
6
|
+
import { spawn } from 'child_process';
|
|
7
|
+
let servedPort = null;
|
|
8
|
+
/** Start Tailscale Serve to expose the given port on your tailnet. Requires Tailscale CLI + tailnet. */
|
|
9
|
+
export function startTailscaleServe(port) {
|
|
10
|
+
if (process.env.SULALA_TAILSCALE_SERVE !== '1')
|
|
11
|
+
return;
|
|
12
|
+
servedPort = port;
|
|
13
|
+
const proc = spawn('tailscale', ['serve', '--bg', String(port)], {
|
|
14
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
15
|
+
});
|
|
16
|
+
let out = '';
|
|
17
|
+
let err = '';
|
|
18
|
+
proc.stdout?.on('data', (c) => { out += c; });
|
|
19
|
+
proc.stderr?.on('data', (c) => { err += c; });
|
|
20
|
+
proc.on('close', (code) => {
|
|
21
|
+
if (code === 0) {
|
|
22
|
+
console.log('[Sulala] Tailscale Serve started. Access via https://<your-device>.ts.net');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.warn('[Sulala] Tailscale Serve failed (install Tailscale + run `tailscale login`):', err.trim() || out.trim());
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** Reset Tailscale Serve on shutdown so the port is no longer exposed. Set SULALA_TAILSCALE_RESET_ON_EXIT=1. */
|
|
30
|
+
export function stopTailscaleServe() {
|
|
31
|
+
if (process.env.SULALA_TAILSCALE_RESET_ON_EXIT !== '1' || servedPort === null)
|
|
32
|
+
return;
|
|
33
|
+
spawn('tailscale', ['serve', 'off'], { stdio: 'ignore' });
|
|
34
|
+
servedPort = null;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=tailscale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tailscale.js","sourceRoot":"","sources":["../src/tailscale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,wGAAwG;AACxG,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG;QAAE,OAAO;IACvD,UAAU,GAAG,IAAI,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;QAC/D,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,8EAA8E,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO;IACtF,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -198,6 +198,22 @@ export interface AppLocals {
|
|
|
198
198
|
/** When true, server is shutting down; /ready returns 503. */
|
|
199
199
|
draining?: boolean;
|
|
200
200
|
}
|
|
201
|
+
/** Agent definition (stored in DB) */
|
|
202
|
+
export interface AgentRow {
|
|
203
|
+
id: string;
|
|
204
|
+
slug: string;
|
|
205
|
+
name: string;
|
|
206
|
+
description: string;
|
|
207
|
+
persona_prompt: string | null;
|
|
208
|
+
default_provider: string | null;
|
|
209
|
+
default_model: string | null;
|
|
210
|
+
default_tools: string | null;
|
|
211
|
+
default_skills: string | null;
|
|
212
|
+
workspace_root: string | null;
|
|
213
|
+
enabled: number;
|
|
214
|
+
created_at: number;
|
|
215
|
+
updated_at: number;
|
|
216
|
+
}
|
|
201
217
|
/** Agent session (DB row) */
|
|
202
218
|
export interface AgentSessionRow {
|
|
203
219
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sulala/agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.40",
|
|
4
4
|
"description": "Local AI orchestration platform — file watcher, task scheduler, AI layer, plugins",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -21,7 +21,11 @@
|
|
|
21
21
|
"desktop:stage": "node desktop/copy-agent-app.cjs",
|
|
22
22
|
"desktop:pack": "npm run build && npm run dashboard:build && npm run desktop:stage && cd desktop && npm install && electron-builder",
|
|
23
23
|
"desktop:pack:mac": "npm run build && npm run dashboard:build && npm run desktop:stage && cd desktop && npm install && CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --mac",
|
|
24
|
-
"desktop:pack:win": "npm run build && npm run dashboard:build && npm run desktop:stage && cd desktop && npm install && electron-builder --win"
|
|
24
|
+
"desktop:pack:win": "npm run build && npm run dashboard:build && npm run desktop:stage && cd desktop && npm install && electron-builder --win",
|
|
25
|
+
"build:binary:mac": "npm run build && npm run dashboard:build && npx pkg dist/index.js --targets node18-macos-x64 --output bin/sulala-agent-macos",
|
|
26
|
+
"build:binary:win": "npm run build && npm run dashboard:build && npx pkg dist/index.js --targets node18-win-x64 --output bin/sulala-agent-win.exe",
|
|
27
|
+
"build:binary:linux": "npm run build && npm run dashboard:build && npx pkg dist/index.js --targets node18-linux-x64 --output bin/sulala-agent-linux",
|
|
28
|
+
"build:binary": "npm run build:binary:mac && npm run build:binary:win && npm run build:binary:linux"
|
|
25
29
|
},
|
|
26
30
|
"engines": {
|
|
27
31
|
"node": ">=18"
|
|
@@ -81,8 +85,18 @@
|
|
|
81
85
|
"electron-builder": "^25.1.8",
|
|
82
86
|
"eslint": "^10.0.2",
|
|
83
87
|
"globals": "^17.3.0",
|
|
88
|
+
"pkg": "^5.8.1",
|
|
84
89
|
"tsx": "^4.21.0",
|
|
85
90
|
"typescript": "^5.9.3",
|
|
86
91
|
"vitest": "^4.0.18"
|
|
92
|
+
},
|
|
93
|
+
"pkg": {
|
|
94
|
+
"scripts": [
|
|
95
|
+
"dist/**/*.js"
|
|
96
|
+
],
|
|
97
|
+
"assets": [
|
|
98
|
+
"dist/db/schema.sql",
|
|
99
|
+
"dashboard/dist/**/*"
|
|
100
|
+
]
|
|
87
101
|
}
|
|
88
102
|
}
|
package/src/db/schema.sql
CHANGED
|
@@ -54,6 +54,25 @@ CREATE TABLE IF NOT EXISTS agent_sessions (
|
|
|
54
54
|
updated_at INTEGER NOT NULL
|
|
55
55
|
);
|
|
56
56
|
|
|
57
|
+
-- Agent definitions (Agent OS v1)
|
|
58
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
59
|
+
id TEXT PRIMARY KEY,
|
|
60
|
+
slug TEXT UNIQUE NOT NULL,
|
|
61
|
+
name TEXT NOT NULL,
|
|
62
|
+
description TEXT NOT NULL DEFAULT '',
|
|
63
|
+
persona_prompt TEXT,
|
|
64
|
+
default_provider TEXT,
|
|
65
|
+
default_model TEXT,
|
|
66
|
+
default_tools TEXT,
|
|
67
|
+
default_skills TEXT,
|
|
68
|
+
workspace_root TEXT,
|
|
69
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
70
|
+
created_at INTEGER NOT NULL,
|
|
71
|
+
updated_at INTEGER NOT NULL
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_agents_enabled ON agents(enabled);
|
|
75
|
+
|
|
57
76
|
CREATE TABLE IF NOT EXISTS agent_messages (
|
|
58
77
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
59
78
|
session_id TEXT NOT NULL,
|
|
@@ -107,3 +126,31 @@ CREATE TABLE IF NOT EXISTS scheduled_jobs (
|
|
|
107
126
|
updated_at INTEGER NOT NULL
|
|
108
127
|
);
|
|
109
128
|
CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_enabled ON scheduled_jobs(enabled);
|
|
129
|
+
|
|
130
|
+
-- Agent metrics: per-agent run metrics for dashboard (e.g. leads found, reports generated)
|
|
131
|
+
CREATE TABLE IF NOT EXISTS agent_metrics (
|
|
132
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
133
|
+
agent_id TEXT NOT NULL,
|
|
134
|
+
metric_name TEXT NOT NULL,
|
|
135
|
+
value TEXT,
|
|
136
|
+
numeric_value REAL,
|
|
137
|
+
created_at INTEGER NOT NULL,
|
|
138
|
+
updated_at INTEGER NOT NULL,
|
|
139
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
140
|
+
);
|
|
141
|
+
CREATE INDEX IF NOT EXISTS idx_agent_metrics_agent ON agent_metrics(agent_id, metric_name);
|
|
142
|
+
CREATE INDEX IF NOT EXISTS idx_agent_metrics_created ON agent_metrics(created_at DESC);
|
|
143
|
+
|
|
144
|
+
-- Workflows: multi-agent pipelines with schedule
|
|
145
|
+
CREATE TABLE IF NOT EXISTS workflows (
|
|
146
|
+
id TEXT PRIMARY KEY,
|
|
147
|
+
name TEXT NOT NULL DEFAULT '',
|
|
148
|
+
description TEXT NOT NULL DEFAULT '',
|
|
149
|
+
steps TEXT NOT NULL,
|
|
150
|
+
cron_expression TEXT NOT NULL,
|
|
151
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
152
|
+
approve_before_social_post INTEGER NOT NULL DEFAULT 1,
|
|
153
|
+
created_at INTEGER NOT NULL,
|
|
154
|
+
updated_at INTEGER NOT NULL
|
|
155
|
+
);
|
|
156
|
+
CREATE INDEX IF NOT EXISTS idx_workflows_enabled ON workflows(enabled);
|
package/src/index.ts
CHANGED
|
@@ -5,9 +5,10 @@ import {
|
|
|
5
5
|
runMatchingAutomations,
|
|
6
6
|
} from './workspace-automations.js';
|
|
7
7
|
import { loadFullConfig } from './agent/skills-config.js';
|
|
8
|
-
import { config } from './config.js';
|
|
9
|
-
import { initDb, log, getChannelConfig } from './db/index.js';
|
|
8
|
+
import { config, ensureProtectedBindOrExit } from './config.js';
|
|
9
|
+
import { initDb, log, getChannelConfig, ensureBuiltInAgents, getAgentBySlug, recordAgentMetric } from './db/index.js';
|
|
10
10
|
import { createGateway, attachWebSocket } from './gateway/server.js';
|
|
11
|
+
import { startTailscaleServe, stopTailscaleServe } from './tailscale.js';
|
|
11
12
|
import { startWatcher, setEventCallback, enqueueTaskOnEvent } from './watcher/index.js';
|
|
12
13
|
import { setTaskHandler, loadPendingFromDb, enqueue } from './scheduler/queue.js';
|
|
13
14
|
import { scheduleCronEphemeral, scheduleCronById } from './scheduler/cron.js';
|
|
@@ -22,6 +23,16 @@ import { startSkillsWatcher } from './agent/skills-watcher.js';
|
|
|
22
23
|
import { ensureOllamaInstalled } from './ollama-setup.js';
|
|
23
24
|
import { getOrCreateAgentSession } from './db/index.js';
|
|
24
25
|
import { runAgentTurn } from './agent/loop.js';
|
|
26
|
+
import { runLeadAgentWorkflow } from './agent/lead-agent.js';
|
|
27
|
+
import { ensureLeadAgentSchedule } from './agent/lead-agent-schedule.js';
|
|
28
|
+
import { runNewsSocialAgentWorkflow } from './agent/news-social-agent.js';
|
|
29
|
+
import { ensureNewsSocialAgentSchedule } from './agent/news-social-agent-schedule.js';
|
|
30
|
+
import { runSocialAgentWorkflow } from './agent/social-agent.js';
|
|
31
|
+
import { runContentWriterAgentWorkflow } from './agent/content-writer-agent.js';
|
|
32
|
+
import { runWorkflowAgent, getWorkflowSlugFromTaskType } from './agent/workflow-agents.js';
|
|
33
|
+
import { ensureWorkflowAgentsSchedule } from './agent/workflow-agents-schedule.js';
|
|
34
|
+
import { runWorkflow as runWorkflowPipeline } from './agent/workflow-runner.js';
|
|
35
|
+
import { getOrCreateCancelSignal, unregisterCancelController } from './agent/run-cancel.js';
|
|
25
36
|
import { sendTelegramNotification, startTelegramChannel, resolveDefaultProviderAndModel } from './channels/telegram.js';
|
|
26
37
|
import type { AppLocals } from './types.js';
|
|
27
38
|
|
|
@@ -91,6 +102,7 @@ async function runAgentJobAndNotify(payload: unknown): Promise<void> {
|
|
|
91
102
|
|
|
92
103
|
async function main(): Promise<void> {
|
|
93
104
|
await initDb(config.dbPath);
|
|
105
|
+
ensureBuiltInAgents();
|
|
94
106
|
if (process.env.SULALA_OLLAMA_AUTO_INSTALL === '1') {
|
|
95
107
|
ensureOllamaInstalled();
|
|
96
108
|
} else {
|
|
@@ -123,6 +135,8 @@ async function main(): Promise<void> {
|
|
|
123
135
|
registerListMcpServersTool();
|
|
124
136
|
registerTestMcpServerTool();
|
|
125
137
|
|
|
138
|
+
await ensureProtectedBindOrExit();
|
|
139
|
+
|
|
126
140
|
const app = createGateway();
|
|
127
141
|
(app.locals as AppLocals).enqueueTaskId = enqueue;
|
|
128
142
|
(app.locals as AppLocals).draining = false;
|
|
@@ -131,10 +145,12 @@ async function main(): Promise<void> {
|
|
|
131
145
|
(app.locals as AppLocals).wsBroadcast = broadcast;
|
|
132
146
|
const server = http.listen(config.port, config.host, () => {
|
|
133
147
|
console.log(`Gateway http://${config.host}:${config.port} (WS /ws)`);
|
|
148
|
+
startTailscaleServe(config.port);
|
|
134
149
|
});
|
|
135
150
|
const shutdown = () => {
|
|
136
151
|
log('main', 'info', 'Shutting down');
|
|
137
152
|
(app.locals as AppLocals).draining = true;
|
|
153
|
+
stopTailscaleServe();
|
|
138
154
|
closeMemoryIndex();
|
|
139
155
|
server.close(() => {
|
|
140
156
|
log('main', 'info', 'Gateway closed');
|
|
@@ -172,6 +188,308 @@ async function main(): Promise<void> {
|
|
|
172
188
|
}) => {
|
|
173
189
|
const handled = await onTask(task);
|
|
174
190
|
if (handled) return;
|
|
191
|
+
|
|
192
|
+
if (task.type === 'agent_run') {
|
|
193
|
+
// Generic agent run task (from POST /api/agents/:id/run-once)
|
|
194
|
+
try {
|
|
195
|
+
const p = task.payload as {
|
|
196
|
+
agentId?: string;
|
|
197
|
+
sessionId?: string;
|
|
198
|
+
userMessage?: string;
|
|
199
|
+
provider?: string;
|
|
200
|
+
model?: string;
|
|
201
|
+
} | null;
|
|
202
|
+
if (!p?.sessionId) {
|
|
203
|
+
log('worker', 'warn', 'agent_run missing sessionId', { payload: p });
|
|
204
|
+
throw new Error('agent_run requires sessionId');
|
|
205
|
+
}
|
|
206
|
+
const agentId = p.agentId;
|
|
207
|
+
if (agentId) {
|
|
208
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
209
|
+
}
|
|
210
|
+
await runAgentTurn({
|
|
211
|
+
sessionId: p.sessionId,
|
|
212
|
+
userMessage: p.userMessage || '(No message)',
|
|
213
|
+
provider: p.provider || undefined,
|
|
214
|
+
model: p.model || undefined,
|
|
215
|
+
skipToolApproval: true,
|
|
216
|
+
});
|
|
217
|
+
if (agentId) {
|
|
218
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
219
|
+
}
|
|
220
|
+
log('worker', 'info', `Agent run completed`, { taskId: task.id, sessionId: p.sessionId });
|
|
221
|
+
} catch (err) {
|
|
222
|
+
const p = task.payload as { agentId?: string };
|
|
223
|
+
if (p?.agentId) {
|
|
224
|
+
recordAgentMetric(p.agentId, 'running', 0);
|
|
225
|
+
}
|
|
226
|
+
log('worker', 'error', `Agent run failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
227
|
+
throw err;
|
|
228
|
+
}
|
|
229
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
230
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (task.type === 'lead_agent_run') {
|
|
235
|
+
// Lead Agent scheduled run (supports cancel via AbortSignal)
|
|
236
|
+
const p = task.payload as {
|
|
237
|
+
agentId?: string;
|
|
238
|
+
sessionId?: string;
|
|
239
|
+
provider?: string;
|
|
240
|
+
model?: string;
|
|
241
|
+
} | null;
|
|
242
|
+
const leadAgent = getAgentBySlug('lead-agent');
|
|
243
|
+
const agentId = p?.agentId || leadAgent?.id || null;
|
|
244
|
+
if (!agentId) {
|
|
245
|
+
const msg = 'Lead Agent not found: run ensureBuiltInAgents or add lead-agent in DB';
|
|
246
|
+
log('worker', 'error', msg);
|
|
247
|
+
throw new Error(msg);
|
|
248
|
+
}
|
|
249
|
+
const signal = getOrCreateCancelSignal(task.id);
|
|
250
|
+
try {
|
|
251
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
252
|
+
const sessionId = p?.sessionId || `lead_agent_run_${Date.now()}`;
|
|
253
|
+
const result = await runLeadAgentWorkflow('lead-agent', {
|
|
254
|
+
sessionId,
|
|
255
|
+
provider: p?.provider,
|
|
256
|
+
model: p?.model,
|
|
257
|
+
signal,
|
|
258
|
+
onStreamEvent: (ev) => {
|
|
259
|
+
broadcast({
|
|
260
|
+
type: 'agent_run_stream',
|
|
261
|
+
taskId: task.id,
|
|
262
|
+
agentId,
|
|
263
|
+
event: ev.type,
|
|
264
|
+
data: ev,
|
|
265
|
+
});
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
269
|
+
log('worker', 'info', `Lead Agent workflow completed`, {
|
|
270
|
+
taskId: task.id,
|
|
271
|
+
success: result.success,
|
|
272
|
+
leadsFound: result.leadsFound,
|
|
273
|
+
});
|
|
274
|
+
if (!result.success) {
|
|
275
|
+
throw new Error(result.error || result.message || 'Lead Agent workflow returned success: false');
|
|
276
|
+
}
|
|
277
|
+
} catch (err) {
|
|
278
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
279
|
+
log('worker', 'error', `Lead Agent workflow failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
280
|
+
throw err;
|
|
281
|
+
} finally {
|
|
282
|
+
unregisterCancelController(task.id);
|
|
283
|
+
}
|
|
284
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
285
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (task.type === 'news_social_agent_run') {
|
|
290
|
+
const p = task.payload as { agentId?: string; sessionId?: string; provider?: string; model?: string } | null;
|
|
291
|
+
const newsAgent = getAgentBySlug('news-social-agent');
|
|
292
|
+
const agentId = p?.agentId || newsAgent?.id || null;
|
|
293
|
+
if (!agentId) {
|
|
294
|
+
log('worker', 'error', 'News & Social Agent not found');
|
|
295
|
+
throw new Error('News & Social Agent not found');
|
|
296
|
+
}
|
|
297
|
+
const signal = getOrCreateCancelSignal(task.id);
|
|
298
|
+
try {
|
|
299
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
300
|
+
const sessionId = p?.sessionId || `news_social_agent_run_${Date.now()}`;
|
|
301
|
+
const result = await runNewsSocialAgentWorkflow(agentId, {
|
|
302
|
+
sessionId,
|
|
303
|
+
provider: p?.provider,
|
|
304
|
+
model: p?.model,
|
|
305
|
+
signal,
|
|
306
|
+
onStreamEvent: (ev) => {
|
|
307
|
+
broadcast({
|
|
308
|
+
type: 'agent_run_stream',
|
|
309
|
+
taskId: task.id,
|
|
310
|
+
agentId,
|
|
311
|
+
event: ev.type,
|
|
312
|
+
data: ev,
|
|
313
|
+
});
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
317
|
+
log('worker', 'info', 'News & Social Agent workflow completed', {
|
|
318
|
+
taskId: task.id,
|
|
319
|
+
success: result.success,
|
|
320
|
+
postsPublished: result.postsPublished,
|
|
321
|
+
});
|
|
322
|
+
if (!result.success) {
|
|
323
|
+
throw new Error(result.error || result.message || 'News & Social Agent workflow failed');
|
|
324
|
+
}
|
|
325
|
+
} catch (err) {
|
|
326
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
327
|
+
log('worker', 'error', `News & Social Agent workflow failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
328
|
+
throw err;
|
|
329
|
+
} finally {
|
|
330
|
+
unregisterCancelController(task.id);
|
|
331
|
+
}
|
|
332
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
333
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (task.type === 'social_agent_run') {
|
|
338
|
+
const p = task.payload as { agentId?: string; sessionId?: string; provider?: string; model?: string } | null;
|
|
339
|
+
const socialAgent = getAgentBySlug('social-agent');
|
|
340
|
+
const agentId = p?.agentId || socialAgent?.id || null;
|
|
341
|
+
if (!agentId) {
|
|
342
|
+
log('worker', 'error', 'Social Agent not found');
|
|
343
|
+
throw new Error('Social Agent not found');
|
|
344
|
+
}
|
|
345
|
+
const signal = getOrCreateCancelSignal(task.id);
|
|
346
|
+
try {
|
|
347
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
348
|
+
const sessionId = p?.sessionId || `social_agent_run_${Date.now()}`;
|
|
349
|
+
const result = await runSocialAgentWorkflow(agentId, {
|
|
350
|
+
sessionId,
|
|
351
|
+
provider: p?.provider,
|
|
352
|
+
model: p?.model,
|
|
353
|
+
signal,
|
|
354
|
+
onStreamEvent: (ev) => {
|
|
355
|
+
broadcast({
|
|
356
|
+
type: 'agent_run_stream',
|
|
357
|
+
taskId: task.id,
|
|
358
|
+
agentId,
|
|
359
|
+
event: ev.type,
|
|
360
|
+
data: ev,
|
|
361
|
+
});
|
|
362
|
+
},
|
|
363
|
+
});
|
|
364
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
365
|
+
log('worker', 'info', 'Social Agent workflow completed', {
|
|
366
|
+
taskId: task.id,
|
|
367
|
+
success: result.success,
|
|
368
|
+
postsPublished: result.postsPublished,
|
|
369
|
+
});
|
|
370
|
+
if (!result.success) {
|
|
371
|
+
throw new Error(result.error || result.message || 'Social Agent workflow failed');
|
|
372
|
+
}
|
|
373
|
+
} catch (err) {
|
|
374
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
375
|
+
log('worker', 'error', `Social Agent workflow failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
376
|
+
throw err;
|
|
377
|
+
} finally {
|
|
378
|
+
unregisterCancelController(task.id);
|
|
379
|
+
}
|
|
380
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
381
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
if (task.type === 'content_writer_agent_run') {
|
|
386
|
+
const p = task.payload as { agentId?: string; sessionId?: string; provider?: string; model?: string } | null;
|
|
387
|
+
const contentWriterAgent = getAgentBySlug('content-writer-agent');
|
|
388
|
+
const agentId = p?.agentId || contentWriterAgent?.id || null;
|
|
389
|
+
if (!agentId) {
|
|
390
|
+
log('worker', 'error', 'Content Writer Agent not found');
|
|
391
|
+
throw new Error('Content Writer Agent not found');
|
|
392
|
+
}
|
|
393
|
+
const signal = getOrCreateCancelSignal(task.id);
|
|
394
|
+
try {
|
|
395
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
396
|
+
const sessionId = p?.sessionId || `content_writer_agent_run_${Date.now()}`;
|
|
397
|
+
const result = await runContentWriterAgentWorkflow(agentId, {
|
|
398
|
+
sessionId,
|
|
399
|
+
provider: p?.provider,
|
|
400
|
+
model: p?.model,
|
|
401
|
+
signal,
|
|
402
|
+
onStreamEvent: (ev) => {
|
|
403
|
+
broadcast({
|
|
404
|
+
type: 'agent_run_stream',
|
|
405
|
+
taskId: task.id,
|
|
406
|
+
agentId,
|
|
407
|
+
event: ev.type,
|
|
408
|
+
data: ev,
|
|
409
|
+
});
|
|
410
|
+
},
|
|
411
|
+
});
|
|
412
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
413
|
+
log('worker', 'info', 'Content Writer Agent workflow completed', {
|
|
414
|
+
taskId: task.id,
|
|
415
|
+
success: result.success,
|
|
416
|
+
});
|
|
417
|
+
if (!result.success) {
|
|
418
|
+
throw new Error(result.error || result.message || 'Content Writer Agent workflow failed');
|
|
419
|
+
}
|
|
420
|
+
} catch (err) {
|
|
421
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
422
|
+
log('worker', 'error', `Content Writer Agent workflow failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
423
|
+
throw err;
|
|
424
|
+
} finally {
|
|
425
|
+
unregisterCancelController(task.id);
|
|
426
|
+
}
|
|
427
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
428
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
if (task.type === 'workflow_run') {
|
|
433
|
+
const p = task.payload as { workflowId?: string } | null;
|
|
434
|
+
const workflowId = p?.workflowId;
|
|
435
|
+
if (!workflowId) {
|
|
436
|
+
log('worker', 'error', 'workflow_run missing workflowId');
|
|
437
|
+
throw new Error('workflow_run requires workflowId');
|
|
438
|
+
}
|
|
439
|
+
try {
|
|
440
|
+
const result = await runWorkflowPipeline(workflowId, {
|
|
441
|
+
sessionId: `workflow_run_${task.id}_${Date.now()}`,
|
|
442
|
+
});
|
|
443
|
+
log('worker', 'info', 'Workflow pipeline completed', {
|
|
444
|
+
taskId: task.id,
|
|
445
|
+
workflowId,
|
|
446
|
+
success: result.success,
|
|
447
|
+
stepsCompleted: result.stepsCompleted,
|
|
448
|
+
});
|
|
449
|
+
if (!result.success) {
|
|
450
|
+
throw new Error(result.lastError || result.message || 'Workflow failed');
|
|
451
|
+
}
|
|
452
|
+
} catch (err) {
|
|
453
|
+
log('worker', 'error', `Workflow pipeline failed: ${err instanceof Error ? err.message : String(err)}`, { workflowId });
|
|
454
|
+
throw err;
|
|
455
|
+
}
|
|
456
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
457
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
const workflowSlug = getWorkflowSlugFromTaskType(task.type);
|
|
462
|
+
if (workflowSlug) {
|
|
463
|
+
const p = task.payload as { agentId?: string; sessionId?: string; provider?: string; model?: string } | null;
|
|
464
|
+
const agent = getAgentBySlug(workflowSlug);
|
|
465
|
+
const agentId = p?.agentId || agent?.id || null;
|
|
466
|
+
if (!agentId) {
|
|
467
|
+
log('worker', 'error', `${workflowSlug} not found`);
|
|
468
|
+
throw new Error(`${workflowSlug} not found`);
|
|
469
|
+
}
|
|
470
|
+
try {
|
|
471
|
+
recordAgentMetric(agentId, 'running', 1);
|
|
472
|
+
const sessionId = p?.sessionId || `${task.type}_${Date.now()}`;
|
|
473
|
+
const result = await runWorkflowAgent(workflowSlug, agentId, {
|
|
474
|
+
sessionId,
|
|
475
|
+
provider: p?.provider,
|
|
476
|
+
model: p?.model,
|
|
477
|
+
});
|
|
478
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
479
|
+
log('worker', 'info', `${workflowSlug} workflow completed`, { taskId: task.id, success: result.success });
|
|
480
|
+
if (!result.success) {
|
|
481
|
+
throw new Error(result.error || result.message || 'Workflow failed');
|
|
482
|
+
}
|
|
483
|
+
} catch (err) {
|
|
484
|
+
recordAgentMetric(agentId, 'running', 0);
|
|
485
|
+
log('worker', 'error', `${workflowSlug} workflow failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
486
|
+
throw err;
|
|
487
|
+
}
|
|
488
|
+
broadcast({ type: 'task_done', taskId: task.id });
|
|
489
|
+
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
|
|
175
493
|
if (task.type === 'agent_job') {
|
|
176
494
|
try {
|
|
177
495
|
await runAgentJobAndNotify(task.payload);
|
|
@@ -183,6 +501,7 @@ async function main(): Promise<void> {
|
|
|
183
501
|
fireWebhooks('task_done', { taskId: task.id, type: task.type });
|
|
184
502
|
return;
|
|
185
503
|
}
|
|
504
|
+
|
|
186
505
|
if (task.type === 'file_event') {
|
|
187
506
|
const payload = task.payload as { event?: string; path?: string } | null;
|
|
188
507
|
log('worker', 'info', 'File event task', (task.payload ?? null) as Record<string, unknown> | null);
|
|
@@ -237,6 +556,11 @@ async function main(): Promise<void> {
|
|
|
237
556
|
}
|
|
238
557
|
});
|
|
239
558
|
|
|
559
|
+
// Ensure Lead Agent, News Social Agent, and Workflow Agents are scheduled
|
|
560
|
+
ensureLeadAgentSchedule();
|
|
561
|
+
ensureNewsSocialAgentSchedule();
|
|
562
|
+
ensureWorkflowAgentsSchedule();
|
|
563
|
+
|
|
240
564
|
// Start Telegram bot if enabled and configured (so it stays connected without opening Settings)
|
|
241
565
|
startTelegramChannel();
|
|
242
566
|
|