@sema-agent/server 1.188.0 → 1.190.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/README.md +2 -2
- package/deploy/sema-up/README.md +1 -1
- package/deploy/sema-up/chart/templates/server-v4pro.yaml +10 -0
- package/deploy/sema-up/chart/templates/server.yaml +11 -0
- package/deploy/sema-up/chart/values.yaml +10 -0
- package/deploy/sema-up/cluster-up.sh +1 -1
- package/deploy/sema-up/machines.example.yaml +2 -2
- package/deploy/sema-up/sema-up.sh +1 -1
- package/deploy/sema-up/stack/compose.yaml +7 -0
- package/dist/capabilities/sandbox-file-send.d.ts +3 -1
- package/dist/capabilities/sandbox-file-send.d.ts.map +1 -1
- package/dist/capabilities/sandbox-file-send.js +8 -1
- package/dist/capabilities/sandbox-file-send.js.map +1 -1
- package/dist/capabilities/send-user-file-tool.d.ts +1 -0
- package/dist/capabilities/send-user-file-tool.d.ts.map +1 -1
- package/dist/capabilities/send-user-file-tool.js +1 -0
- package/dist/capabilities/send-user-file-tool.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +46 -9
- package/dist/config.js.map +1 -1
- package/dist/http/server.d.ts +1 -0
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +93 -17
- package/dist/http/server.js.map +1 -1
- package/dist/main.js +18 -9
- package/dist/main.js.map +1 -1
- package/dist/orchestration/workflow-completion-inbox.d.ts +12 -0
- package/dist/orchestration/workflow-completion-inbox.d.ts.map +1 -1
- package/dist/orchestration/workflow-completion-inbox.js +18 -0
- package/dist/orchestration/workflow-completion-inbox.js.map +1 -1
- package/dist/plugins/pg-pool.d.ts.map +1 -1
- package/dist/plugins/pg-pool.js +15 -0
- package/dist/plugins/pg-pool.js.map +1 -1
- package/dist/plugins/s3-presign.d.ts +11 -0
- package/dist/plugins/s3-presign.d.ts.map +1 -1
- package/dist/plugins/s3-presign.js +14 -5
- package/dist/plugins/s3-presign.js.map +1 -1
- package/dist/plugins/send-file-ledger.d.ts +64 -0
- package/dist/plugins/send-file-ledger.d.ts.map +1 -0
- package/dist/plugins/send-file-ledger.js +142 -0
- package/dist/plugins/send-file-ledger.js.map +1 -0
- package/dist/plugins/send-user-file.d.ts +6 -2
- package/dist/plugins/send-user-file.d.ts.map +1 -1
- package/dist/plugins/send-user-file.js +39 -11
- package/dist/plugins/send-user-file.js.map +1 -1
- package/dist/plugins/store-backend.d.ts +2 -0
- package/dist/plugins/store-backend.d.ts.map +1 -1
- package/dist/plugins/store-backend.js +7 -0
- package/dist/plugins/store-backend.js.map +1 -1
- package/dist/plugins/tidb-pool.d.ts.map +1 -1
- package/dist/plugins/tidb-pool.js +15 -0
- package/dist/plugins/tidb-pool.js.map +1 -1
- package/dist/run-local.d.ts.map +1 -1
- package/dist/run-local.js +2 -1
- package/dist/run-local.js.map +1 -1
- package/dist/runs.d.ts.map +1 -1
- package/dist/runs.js +16 -9
- package/dist/runs.js.map +1 -1
- package/dist/security.d.ts +2 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +20 -3
- package/dist/security.js.map +1 -1
- package/dist/trace/project.d.ts +4 -0
- package/dist/trace/project.d.ts.map +1 -1
- package/dist/trace/project.js +4 -0
- package/dist/trace/project.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-completion-inbox.js","sourceRoot":"","sources":["../../src/orchestration/workflow-completion-inbox.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0DnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAI3C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAMjC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO7C,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO9C,MAAM,UAAU,uBAAuB,CAAC,CAAwE;IAC9G,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjE,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrF,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC;AAID,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAYnG,MAAM,OAAO,+BAA+B;IASX;IARZ,SAAS,GAAG,IAAI,GAAG,EAAqD,CAAC;IAI3E,QAAQ,GAAG,IAAI,GAAG,EAA4D,CAAC;IAG/E,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,YAA+B,MAA6D;QAA7D,WAAM,GAAN,MAAM,CAAuD;IAAG,CAAC;IAExF,UAAU,CAAC,GAAW;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,cAAc;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnG,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,GAAG,GAAG,EAAE,GAAG,eAAe;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnG,CAAC;IAOS,WAAW,CAAC,KAAmC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAGrB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5I,IAAI,CAAC,MAAM,EAAE,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC;IACd,CAAC;IAID,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,KAAa;QACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAKjC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChC,IAAI,GAAG,KAAK,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAES,UAAU,CAAC,SAAiB,EAAE,KAAgC;QACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAIS,YAAY,CAAC,KAAmC,EAAE,IAAa;QACvE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,IAAI,GAAG,uBAAuB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,IAAI,IAAI;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAmC;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAIlC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClK,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,KAAa;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,WAA2B;QACxD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AAID,MAAM,OAAO,2BAA4B,SAAQ,+BAA+B;IAS3D;IARF,GAAG,CAAS;IACZ,UAAU,CAAS;IAC5B,EAAE,CAAqB;IACvB,mBAAmB,GAAG,CAAC,CAAC;IAEhC,YACE,IAAY,EACZ,MAA6D,EAC5C,eAAe,IAAI;QAEpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAFG,iBAAY,GAAZ,YAAY,CAAO;QAGpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;QAGnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO;QACzC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,IAAI,GAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK;gBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACpG,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9D,CAAC;iBACI,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,IAAI,GAAG,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,GAAgB;QAC7B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3E,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,YAAY;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAKO,YAAY;QAClB,IAAI,IAAI,CAAC,mBAAmB,IAAI,aAAa;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC;IAKO,OAAO;QACb,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAiB,CAAC,CAAC,CAAC;QAC7I,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,MAAM;gBAAE,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,YAAY;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAGjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC;oBACH,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,KAAmC;QACxD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAMQ,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,KAAa;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,WAA2B;QACjE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAGD,KAAK;QACH,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAmBD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAA0C,EAC1C,SAA6B,EAC7B,eAA8B,EAC9B,IAAuD,EAMvD,IAAoG;IAEpG,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;QAAE,OAAO;IAIjC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,IAA6B,EAAQ,EAAE;QAChE,IAAI,CAAC;YACH,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC,CAAC;IACF,IAAI,OAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;gBACpD,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpG,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAInC,IAAI,MAAM,GAA4B,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBACD,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,EAAsB,CAAC,CAAC;YACnI,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAsB,CAAC,CAAC;YACtH,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,2BAA2B,EAAE;gBAChC,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,UAAU,EAAE,IAAI,EAAE,UAAU;gBAC5B,SAAS;gBACT,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAGb,IAAI,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChL,CAAC;IACH,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,0BAA0B,CACxC,SAAiB,EACjB,KAAoB,EACpB,CAeC,EACD,UAAkB,EAIlB,YAAqB;IAErB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,MAAM,MAAM,GAA4B;QACtC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAGzC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAKlF,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAG9C,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAMhE,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;YACpK,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;YACvH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;IACF,OAAO;QACL,SAAS;QACT,KAAK;QAQL,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QACzD,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC;QAClD,UAAU;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,CAA+E,EAC/E,MAA0H,EAC1H,gBAAyB;IAEzB,IAAI,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC;IACvC,IAAI,KAAgC,CAAC;IACrC,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,WAAW,EAAE,CAAC;gBAChB,SAAS,KAAK,WAAW,CAAC,SAAS,IAAI,SAAS,CAAC;gBACjD,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,gBAAgB;YAAE,OAAO,SAAS,CAAC;QACvC,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAA2D,EAC3D,MAAsF;IAEtF,IAAI,CAAC,CAAC,oBAAoB;QAAE,OAAO,CAAC,CAAC,oBAAoB,CAAC;IAC1D,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"workflow-completion-inbox.js","sourceRoot":"","sources":["../../src/orchestration/workflow-completion-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-pool.d.ts","sourceRoot":"","sources":["../../src/plugins/pg-pool.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAalD,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"pg-pool.d.ts","sourceRoot":"","sources":["../../src/plugins/pg-pool.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAalD,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EA0NjD,CAAC;AAaF,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAU/G;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAElE;AAiBD,wBAAsB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCjE"}
|
package/dist/plugins/pg-pool.js
CHANGED
|
@@ -93,6 +93,21 @@ export const PG_SCHEMA_STATEMENTS = [
|
|
|
93
93
|
created_at TIMESTAMPTZ(3) NOT NULL,
|
|
94
94
|
PRIMARY KEY (session_id, tool_name)
|
|
95
95
|
)`,
|
|
96
|
+
`CREATE TABLE IF NOT EXISTS sendfile_link (
|
|
97
|
+
id VARCHAR(64) NOT NULL,
|
|
98
|
+
scope VARCHAR(190) NOT NULL,
|
|
99
|
+
bucket VARCHAR(190) NOT NULL,
|
|
100
|
+
object_key VARCHAR(512) NOT NULL,
|
|
101
|
+
track VARCHAR(16) NOT NULL,
|
|
102
|
+
filename VARCHAR(190) NOT NULL,
|
|
103
|
+
byte_len BIGINT NOT NULL,
|
|
104
|
+
ttl_sec BIGINT NOT NULL,
|
|
105
|
+
task_id VARCHAR(64),
|
|
106
|
+
session_id VARCHAR(64),
|
|
107
|
+
created_at TIMESTAMPTZ(3) NOT NULL,
|
|
108
|
+
PRIMARY KEY (id)
|
|
109
|
+
)`,
|
|
110
|
+
`CREATE INDEX IF NOT EXISTS idx_sendfile_link_scope ON sendfile_link (scope, id)`,
|
|
96
111
|
`CREATE TABLE IF NOT EXISTS session_policy (
|
|
97
112
|
policy_key CHAR(64) NOT NULL,
|
|
98
113
|
session_id VARCHAR(64) NOT NULL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../src/plugins/pg-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../src/plugins/pg-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,4 +10,15 @@ export interface S3PresignParams {
|
|
|
10
10
|
now?: Date;
|
|
11
11
|
}
|
|
12
12
|
export declare function presignS3Url(p: S3PresignParams): string;
|
|
13
|
+
export interface S3BucketPresignParams {
|
|
14
|
+
endpoint: string;
|
|
15
|
+
bucket: string;
|
|
16
|
+
method: "PUT" | "DELETE";
|
|
17
|
+
accessKey: string;
|
|
18
|
+
secretKey: string;
|
|
19
|
+
region?: string;
|
|
20
|
+
expiresSec?: number;
|
|
21
|
+
now?: Date;
|
|
22
|
+
}
|
|
23
|
+
export declare function presignS3BucketUrl(p: S3BucketPresignParams): string;
|
|
13
24
|
//# sourceMappingURL=s3-presign.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-presign.d.ts","sourceRoot":"","sources":["../../src/plugins/s3-presign.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;
|
|
1
|
+
{"version":3,"file":"s3-presign.d.ts","sourceRoot":"","sources":["../../src/plugins/s3-presign.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAwED,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAavD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAKD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAEnE"}
|
|
@@ -18,10 +18,7 @@ function uriEncode(s, encodeSlash) {
|
|
|
18
18
|
function hmac(key, data) {
|
|
19
19
|
return createHmac("sha256", key).update(data, "utf8").digest();
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
if (p.key.startsWith("/") || p.key.split("/").some((seg) => seg === "." || seg === "..")) {
|
|
23
|
-
throw new Error(`presignS3Url: refusing to sign a key with a traversal segment: ${p.key}`);
|
|
24
|
-
}
|
|
21
|
+
function presignCanonical(p) {
|
|
25
22
|
const region = p.region ?? "us-east-1";
|
|
26
23
|
const expires = p.expiresSec ?? 600;
|
|
27
24
|
const now = p.now ?? new Date();
|
|
@@ -29,7 +26,7 @@ export function presignS3Url(p) {
|
|
|
29
26
|
const dateStamp = amzDate.slice(0, 8);
|
|
30
27
|
const url = new URL(p.endpoint);
|
|
31
28
|
const host = url.host;
|
|
32
|
-
const canonicalUri =
|
|
29
|
+
const canonicalUri = p.canonicalUri;
|
|
33
30
|
const scope = `${dateStamp}/${region}/s3/aws4_request`;
|
|
34
31
|
const params = {
|
|
35
32
|
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
|
|
@@ -52,4 +49,16 @@ export function presignS3Url(p) {
|
|
|
52
49
|
const signature = createHmac("sha256", kSigning).update(stringToSign, "utf8").digest("hex");
|
|
53
50
|
return `${url.origin}${canonicalUri}?${canonicalQuery}&X-Amz-Signature=${signature}`;
|
|
54
51
|
}
|
|
52
|
+
export function presignS3Url(p) {
|
|
53
|
+
if (p.key === "") {
|
|
54
|
+
throw new Error("presignS3Url: refusing to sign an empty key (single-object contract) — use presignS3BucketUrl for bucket-level operations");
|
|
55
|
+
}
|
|
56
|
+
if (p.key.startsWith("/") || p.key.split("/").some((seg) => seg === "." || seg === "..")) {
|
|
57
|
+
throw new Error(`presignS3Url: refusing to sign a key with a traversal segment: ${p.key}`);
|
|
58
|
+
}
|
|
59
|
+
return presignCanonical({ ...p, canonicalUri: `/${uriEncode(p.bucket, true)}/${uriEncode(p.key, false)}` });
|
|
60
|
+
}
|
|
61
|
+
export function presignS3BucketUrl(p) {
|
|
62
|
+
return presignCanonical({ ...p, canonicalUri: `/${uriEncode(p.bucket, true)}/` });
|
|
63
|
+
}
|
|
55
64
|
//# sourceMappingURL=s3-presign.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-presign.js","sourceRoot":"","sources":["../../src/plugins/s3-presign.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkBrD,SAAS,SAAS,CAAC,CAAS,EAAE,WAAoB;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/I,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,GAAG,IAAI,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,GAAoB,EAAE,IAAY;IAC9C,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACjE,CAAC;
|
|
1
|
+
{"version":3,"file":"s3-presign.js","sourceRoot":"","sources":["../../src/plugins/s3-presign.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Pool as MysqlPool } from "mysql2/promise";
|
|
2
|
+
import type { Pool as PgPool } from "pg";
|
|
3
|
+
import type { IssuedFileLink } from "./send-user-file.js";
|
|
4
|
+
export declare const SENDFILE_SINGLE_USER_SCOPE = "_";
|
|
5
|
+
export interface SendFileLedgerEntry {
|
|
6
|
+
id: string;
|
|
7
|
+
scope: string;
|
|
8
|
+
bucket: string;
|
|
9
|
+
objectKey: string;
|
|
10
|
+
track: "public" | "presigned";
|
|
11
|
+
filename: string;
|
|
12
|
+
size: number;
|
|
13
|
+
ttlSec: number;
|
|
14
|
+
taskId?: string;
|
|
15
|
+
sessionId?: string;
|
|
16
|
+
createdAt: number;
|
|
17
|
+
}
|
|
18
|
+
export interface SendFileLedger {
|
|
19
|
+
record(entry: SendFileLedgerEntry): Promise<void>;
|
|
20
|
+
listByScope(scope: string, limit: number, beforeId?: string): Promise<SendFileLedgerEntry[]>;
|
|
21
|
+
}
|
|
22
|
+
export declare class TiDBSendFileLedger implements SendFileLedger {
|
|
23
|
+
private readonly pool;
|
|
24
|
+
constructor(pool: MysqlPool);
|
|
25
|
+
record(entry: SendFileLedgerEntry): Promise<void>;
|
|
26
|
+
listByScope(scope: string, limit: number, beforeId?: string): Promise<SendFileLedgerEntry[]>;
|
|
27
|
+
}
|
|
28
|
+
export declare class PgSendFileLedger implements SendFileLedger {
|
|
29
|
+
private readonly pool;
|
|
30
|
+
constructor(pool: PgPool);
|
|
31
|
+
record(entry: SendFileLedgerEntry): Promise<void>;
|
|
32
|
+
listByScope(scope: string, limit: number, beforeId?: string): Promise<SendFileLedgerEntry[]>;
|
|
33
|
+
}
|
|
34
|
+
export declare class MemorySendFileLedger implements SendFileLedger {
|
|
35
|
+
private readonly byScope;
|
|
36
|
+
record(entry: SendFileLedgerEntry): Promise<void>;
|
|
37
|
+
listByScope(scope: string, limit: number, beforeId?: string): Promise<SendFileLedgerEntry[]>;
|
|
38
|
+
}
|
|
39
|
+
export declare class FileSendFileLedger implements SendFileLedger {
|
|
40
|
+
private readonly path;
|
|
41
|
+
private readonly mem;
|
|
42
|
+
private log;
|
|
43
|
+
constructor(root: string);
|
|
44
|
+
record(entry: SendFileLedgerEntry): Promise<void>;
|
|
45
|
+
listByScope(scope: string, limit: number, beforeId?: string): Promise<SendFileLedgerEntry[]>;
|
|
46
|
+
dispose(): void;
|
|
47
|
+
}
|
|
48
|
+
export interface LedgerRecordingDeps {
|
|
49
|
+
ledger: SendFileLedger;
|
|
50
|
+
deleteObject: (bucket: string, key: string) => Promise<void>;
|
|
51
|
+
warn?: (msg: string, meta?: Record<string, unknown>) => void;
|
|
52
|
+
now?: () => number;
|
|
53
|
+
newId?: () => string;
|
|
54
|
+
}
|
|
55
|
+
export declare function withLedgerRecording(send: (path: string, ctx: {
|
|
56
|
+
taskId?: string;
|
|
57
|
+
sessionId?: string;
|
|
58
|
+
principal?: string;
|
|
59
|
+
}) => Promise<IssuedFileLink>, deps: LedgerRecordingDeps): (path: string, ctx: {
|
|
60
|
+
taskId?: string;
|
|
61
|
+
sessionId?: string;
|
|
62
|
+
principal?: string;
|
|
63
|
+
}) => Promise<IssuedFileLink>;
|
|
64
|
+
//# sourceMappingURL=send-file-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-file-ledger.d.ts","sourceRoot":"","sources":["../../src/plugins/send-file-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { AppendLog, ensureDir, readJsonlRecords, uuidv7 } from "@sema-agent/core";
|
|
3
|
+
export const SENDFILE_SINGLE_USER_SCOPE = "_";
|
|
4
|
+
export class TiDBSendFileLedger {
|
|
5
|
+
pool;
|
|
6
|
+
constructor(pool) {
|
|
7
|
+
this.pool = pool;
|
|
8
|
+
}
|
|
9
|
+
async record(entry) {
|
|
10
|
+
await this.pool.query("INSERT INTO sendfile_link (id, scope, bucket, object_key, track, filename, byte_len, ttl_sec, task_id, session_id, created_at) " +
|
|
11
|
+
"VALUES (?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE id = id", [entry.id, entry.scope, entry.bucket, entry.objectKey, entry.track, entry.filename, entry.size, entry.ttlSec, entry.taskId ?? null, entry.sessionId ?? null, new Date(entry.createdAt)]);
|
|
12
|
+
}
|
|
13
|
+
async listByScope(scope, limit, beforeId) {
|
|
14
|
+
const [rows] = await this.pool.query("SELECT id, scope, bucket, object_key, track, filename, byte_len, ttl_sec, task_id, session_id, created_at FROM sendfile_link " +
|
|
15
|
+
`WHERE scope = ?${beforeId !== undefined ? " AND id < ?" : ""} ORDER BY id DESC LIMIT ?`, beforeId !== undefined ? [scope, beforeId, limit] : [scope, limit]);
|
|
16
|
+
return rows.map((r) => rowToEntry(r));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class PgSendFileLedger {
|
|
20
|
+
pool;
|
|
21
|
+
constructor(pool) {
|
|
22
|
+
this.pool = pool;
|
|
23
|
+
}
|
|
24
|
+
async record(entry) {
|
|
25
|
+
await this.pool.query("INSERT INTO sendfile_link (id, scope, bucket, object_key, track, filename, byte_len, ttl_sec, task_id, session_id, created_at) " +
|
|
26
|
+
"VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) ON CONFLICT (id) DO NOTHING", [entry.id, entry.scope, entry.bucket, entry.objectKey, entry.track, entry.filename, entry.size, entry.ttlSec, entry.taskId ?? null, entry.sessionId ?? null, new Date(entry.createdAt)]);
|
|
27
|
+
}
|
|
28
|
+
async listByScope(scope, limit, beforeId) {
|
|
29
|
+
const res = await this.pool.query("SELECT id, scope, bucket, object_key, track, filename, byte_len, ttl_sec, task_id, session_id, created_at FROM sendfile_link " +
|
|
30
|
+
`WHERE scope = $1${beforeId !== undefined ? " AND id < $2" : ""} ORDER BY id DESC LIMIT ${beforeId !== undefined ? "$3" : "$2"}`, beforeId !== undefined ? [scope, beforeId, limit] : [scope, limit]);
|
|
31
|
+
return res.rows.map(rowToEntry);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function rowToEntry(r) {
|
|
35
|
+
return {
|
|
36
|
+
id: String(r.id),
|
|
37
|
+
scope: String(r.scope),
|
|
38
|
+
bucket: String(r.bucket),
|
|
39
|
+
objectKey: String(r.object_key),
|
|
40
|
+
track: r.track === "presigned" ? "presigned" : "public",
|
|
41
|
+
filename: String(r.filename),
|
|
42
|
+
size: Number(r.byte_len),
|
|
43
|
+
ttlSec: Number(r.ttl_sec),
|
|
44
|
+
...(r.task_id == null ? {} : { taskId: String(r.task_id) }),
|
|
45
|
+
...(r.session_id == null ? {} : { sessionId: String(r.session_id) }),
|
|
46
|
+
createdAt: new Date(r.created_at).getTime(),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export class MemorySendFileLedger {
|
|
50
|
+
byScope = new Map();
|
|
51
|
+
async record(entry) {
|
|
52
|
+
let m = this.byScope.get(entry.scope);
|
|
53
|
+
if (!m) {
|
|
54
|
+
m = new Map();
|
|
55
|
+
this.byScope.set(entry.scope, m);
|
|
56
|
+
}
|
|
57
|
+
if (!m.has(entry.id))
|
|
58
|
+
m.set(entry.id, { ...entry });
|
|
59
|
+
}
|
|
60
|
+
async listByScope(scope, limit, beforeId) {
|
|
61
|
+
const m = this.byScope.get(scope);
|
|
62
|
+
if (!m)
|
|
63
|
+
return [];
|
|
64
|
+
return [...m.values()]
|
|
65
|
+
.filter((e) => beforeId === undefined || e.id < beforeId)
|
|
66
|
+
.sort((a, b) => (a.id < b.id ? 1 : a.id > b.id ? -1 : 0))
|
|
67
|
+
.slice(0, Math.max(0, limit))
|
|
68
|
+
.map((e) => ({ ...e }));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export class FileSendFileLedger {
|
|
72
|
+
path;
|
|
73
|
+
mem = new MemorySendFileLedger();
|
|
74
|
+
log;
|
|
75
|
+
constructor(root) {
|
|
76
|
+
const dir = join(root, "sendfile-ledger");
|
|
77
|
+
ensureDir(dir);
|
|
78
|
+
this.path = join(dir, "links.jsonl");
|
|
79
|
+
for (const r of readJsonlRecords(this.path)) {
|
|
80
|
+
if (!r || typeof r.id !== "string" || typeof r.scope !== "string" || typeof r.objectKey !== "string")
|
|
81
|
+
continue;
|
|
82
|
+
void this.mem.record(r);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async record(entry) {
|
|
86
|
+
this.log ??= new AppendLog(this.path);
|
|
87
|
+
this.log.append(entry, true);
|
|
88
|
+
await this.mem.record(entry);
|
|
89
|
+
}
|
|
90
|
+
listByScope(scope, limit, beforeId) {
|
|
91
|
+
return this.mem.listByScope(scope, limit, beforeId);
|
|
92
|
+
}
|
|
93
|
+
dispose() {
|
|
94
|
+
try {
|
|
95
|
+
this.log?.close();
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
}
|
|
99
|
+
this.log = undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export function withLedgerRecording(send, deps) {
|
|
103
|
+
return async (path, ctx) => {
|
|
104
|
+
const link = await send(path, ctx);
|
|
105
|
+
try {
|
|
106
|
+
await deps.ledger.record({
|
|
107
|
+
id: deps.newId ? deps.newId() : uuidv7(),
|
|
108
|
+
scope: link.scope ?? SENDFILE_SINGLE_USER_SCOPE,
|
|
109
|
+
bucket: link.bucket,
|
|
110
|
+
objectKey: link.key,
|
|
111
|
+
track: link.track,
|
|
112
|
+
filename: link.filename,
|
|
113
|
+
size: link.size,
|
|
114
|
+
ttlSec: link.ttlSec,
|
|
115
|
+
...(ctx.taskId !== undefined ? { taskId: ctx.taskId } : {}),
|
|
116
|
+
...(ctx.sessionId !== undefined ? { sessionId: ctx.sessionId } : {}),
|
|
117
|
+
createdAt: deps.now ? deps.now() : Date.now(),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
let reclaimed = true;
|
|
122
|
+
try {
|
|
123
|
+
try {
|
|
124
|
+
await deps.deleteObject(link.bucket, link.key);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
await deps.deleteObject(link.bucket, link.key);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (de) {
|
|
131
|
+
reclaimed = false;
|
|
132
|
+
deps.warn?.("sendfile_ledger_reclaim_failed", { bucket: link.bucket, key: link.key, err: de instanceof Error ? de.message : String(de) });
|
|
133
|
+
}
|
|
134
|
+
const cause = e instanceof Error ? e.message : String(e);
|
|
135
|
+
throw new Error(reclaimed
|
|
136
|
+
? `SendUserFile ledger record failed — file not delivered (uploaded object reclaimed): ${cause}`
|
|
137
|
+
: `SendUserFile ledger record failed — file not delivered; reclaim FAILED — orphan object at ${link.bucket}/${link.key}, needs manual cleanup: ${cause}`);
|
|
138
|
+
}
|
|
139
|
+
return link;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=send-file-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-file-ledger.js","sourceRoot":"","sources":["../../src/plugins/send-file-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const PRESIGN_MAX_TTL_SEC = 604800;
|
|
2
|
+
export declare function scopeSegment(secretKey: string, scope: string | undefined): string;
|
|
2
3
|
export interface SendUserFileConfig {
|
|
3
4
|
endpoint: string;
|
|
4
5
|
publicEndpoint?: string;
|
|
@@ -19,6 +20,7 @@ export interface IssuedFileLink {
|
|
|
19
20
|
track: "public" | "presigned";
|
|
20
21
|
bucket: string;
|
|
21
22
|
key: string;
|
|
23
|
+
scope?: string;
|
|
22
24
|
}
|
|
23
25
|
export declare function sanitizeSendFileName(name: string | undefined): string;
|
|
24
26
|
export interface PreparedDirectUpload {
|
|
@@ -27,13 +29,15 @@ export interface PreparedDirectUpload {
|
|
|
27
29
|
finalize(size: number): IssuedFileLink;
|
|
28
30
|
}
|
|
29
31
|
export interface SendUserFileIssuer {
|
|
30
|
-
issue(bytes: Uint8Array, filename: string | undefined, ttlSec?: number): Promise<IssuedFileLink>;
|
|
31
|
-
prepareDirectUpload(filename: string | undefined, ttlSec?: number): PreparedDirectUpload;
|
|
32
|
+
issue(bytes: Uint8Array, filename: string | undefined, ttlSec?: number, scope?: string): Promise<IssuedFileLink>;
|
|
33
|
+
prepareDirectUpload(filename: string | undefined, ttlSec?: number, scope?: string): PreparedDirectUpload;
|
|
34
|
+
deleteObject(bucket: string, key: string): Promise<void>;
|
|
32
35
|
readonly publicEndpoint: string | undefined;
|
|
33
36
|
}
|
|
34
37
|
export declare function createSendUserFileIssuer(cfg: SendUserFileConfig, deps?: {
|
|
35
38
|
upload?: (bucket: string, key: string, bytes: Uint8Array) => Promise<void>;
|
|
36
39
|
verify?: (bucket: string, key: string, maxBytes: number) => Promise<number>;
|
|
40
|
+
remove?: (bucket: string, key: string) => Promise<void>;
|
|
37
41
|
now?: () => Date;
|
|
38
42
|
}): SendUserFileIssuer;
|
|
39
43
|
//# sourceMappingURL=send-user-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-user-file.d.ts","sourceRoot":"","sources":["../../src/plugins/send-user-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-user-file.d.ts","sourceRoot":"","sources":["../../src/plugins/send-user-file.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAuB3C,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjF;AAED,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,EAAE,MAAM,CAAC;IAEtB,gBAAgB,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiBrE;AAOD,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,MAAM,CAAC;IAMf,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IAIjC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAGjH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAGzG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,kBAAkB,EACvB,IAAI,CAAC,EAAE;IAEL,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GACA,kBAAkB,CAqKpB"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import { createHmac } from "node:crypto";
|
|
1
2
|
import { uuidv7 } from "@sema-agent/core";
|
|
2
3
|
import { presignS3Url } from "./s3-presign.js";
|
|
3
4
|
export const PRESIGN_MAX_TTL_SEC = 604_800;
|
|
5
|
+
export function scopeSegment(secretKey, scope) {
|
|
6
|
+
if (scope === undefined || scope === "")
|
|
7
|
+
return "_";
|
|
8
|
+
return createHmac("sha256", secretKey).update(`sendfile-scope:${scope}`).digest("hex").slice(0, 32);
|
|
9
|
+
}
|
|
4
10
|
export function sanitizeSendFileName(name) {
|
|
5
11
|
const base = (name ?? "").split(/[/\\]/).pop() ?? "";
|
|
6
12
|
let clean = base.replace(/[\u0000-\u001f\u007f\u200e\u200f\u202a-\u202e\u2066-\u2069]/g, "").replace(/^\.+/, "").trim();
|
|
@@ -36,7 +42,7 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
36
42
|
if (!res.ok)
|
|
37
43
|
throw new Error(`SendUserFile upload failed: ${res.status} ${res.statusText} (bucket=${bucket})`);
|
|
38
44
|
});
|
|
39
|
-
const issue = async (bytes, filename, ttlSec) => {
|
|
45
|
+
const issue = async (bytes, filename, ttlSec, scope) => {
|
|
40
46
|
if (cfg.publicEndpoint === undefined) {
|
|
41
47
|
throw new Error("SendUserFile is not configured for public links: set S3_PUBLIC_ENDPOINT (the S3/MinIO base URL users can reach; falls back to S3_ENDPOINT when that is already public)");
|
|
42
48
|
}
|
|
@@ -45,16 +51,18 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
45
51
|
throw new Error(`SendUserFile ttl must be a non-negative INTEGER of seconds (0 = permanent; SigV4 X-Amz-Expires is integer-only); got ${ttl}`);
|
|
46
52
|
const name = sanitizeSendFileName(filename);
|
|
47
53
|
const publicBase = cfg.publicEndpoint.replace(/\/+$/, "");
|
|
54
|
+
const seg = scopeSegment(cfg.secretKey, scope);
|
|
55
|
+
const scopeField = scope !== undefined && scope !== "" ? { scope } : {};
|
|
48
56
|
if (ttl === 0) {
|
|
49
|
-
const key = `${uuidv7()}/${name}`;
|
|
57
|
+
const key = `${seg}/${uuidv7()}/${name}`;
|
|
50
58
|
await upload(cfg.publicBucket, key, bytes);
|
|
51
59
|
const url = `${publicBase}/${cfg.publicBucket}/${key.split("/").map(encodeURIComponent).join("/")}`;
|
|
52
|
-
return { url, filename: name, size: bytes.byteLength, ttlSec: 0, track: "public", bucket: cfg.publicBucket, key };
|
|
60
|
+
return { url, filename: name, size: bytes.byteLength, ttlSec: 0, track: "public", bucket: cfg.publicBucket, key, ...scopeField };
|
|
53
61
|
}
|
|
54
62
|
if (ttl > PRESIGN_MAX_TTL_SEC) {
|
|
55
63
|
throw new Error(`SendUserFile ttl ${ttl}s exceeds the SigV4 presign ceiling (${PRESIGN_MAX_TTL_SEC}s = 7 days) — use ttl=0 for a permanent link`);
|
|
56
64
|
}
|
|
57
|
-
const key = `${cfg.privateKeyPrefix}${uuidv7()}/${name}`;
|
|
65
|
+
const key = `${cfg.privateKeyPrefix}${seg}/${uuidv7()}/${name}`;
|
|
58
66
|
await upload(cfg.privateBucket, key, bytes);
|
|
59
67
|
const url = presignS3Url({
|
|
60
68
|
endpoint: publicBase,
|
|
@@ -67,9 +75,9 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
67
75
|
expiresSec: ttl,
|
|
68
76
|
...(deps?.now !== undefined ? { now: deps.now() } : {}),
|
|
69
77
|
});
|
|
70
|
-
return { url, filename: name, size: bytes.byteLength, ttlSec: ttl, track: "presigned", bucket: cfg.privateBucket, key };
|
|
78
|
+
return { url, filename: name, size: bytes.byteLength, ttlSec: ttl, track: "presigned", bucket: cfg.privateBucket, key, ...scopeField };
|
|
71
79
|
};
|
|
72
|
-
const prepareDirectUpload = (filename, ttlSec) => {
|
|
80
|
+
const prepareDirectUpload = (filename, ttlSec, scope) => {
|
|
73
81
|
if (cfg.publicEndpoint === undefined) {
|
|
74
82
|
throw new Error("SendUserFile is not configured for public links: set S3_PUBLIC_ENDPOINT (the S3/MinIO base URL users can reach; falls back to S3_ENDPOINT when that is already public)");
|
|
75
83
|
}
|
|
@@ -83,7 +91,9 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
83
91
|
const publicBase = cfg.publicEndpoint.replace(/\/+$/, "");
|
|
84
92
|
const putBase = (cfg.sandboxPutEndpoint ?? cfg.publicEndpoint).replace(/\/+$/, "");
|
|
85
93
|
const bucket = ttl === 0 ? cfg.publicBucket : cfg.privateBucket;
|
|
86
|
-
const
|
|
94
|
+
const seg = scopeSegment(cfg.secretKey, scope);
|
|
95
|
+
const scopeField = scope !== undefined && scope !== "" ? { scope } : {};
|
|
96
|
+
const key = ttl === 0 ? `${seg}/${uuidv7()}/${name}` : `${cfg.privateKeyPrefix}${seg}/${uuidv7()}/${name}`;
|
|
87
97
|
const putUrl = presignS3Url({
|
|
88
98
|
endpoint: putBase,
|
|
89
99
|
bucket,
|
|
@@ -116,14 +126,14 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
116
126
|
throw new Error("SendUserFile upload verification failed: store returned no content-length");
|
|
117
127
|
if (size > maxBytes) {
|
|
118
128
|
await fetch(sign("DELETE"), { method: "DELETE" }).catch(() => undefined);
|
|
119
|
-
throw new Error(`file exceeds the ${Math.floor(maxBytes / (1024 * 1024))} MiB per-file cap (uploaded object was ${size} bytes — deleted)`);
|
|
129
|
+
throw new Error(`file exceeds the ${maxBytes >= 1024 * 1024 ? `${Math.floor(maxBytes / (1024 * 1024))} MiB` : `${maxBytes} byte`} per-file cap (uploaded object was ${size} bytes — deleted)`);
|
|
120
130
|
}
|
|
121
131
|
return size;
|
|
122
132
|
};
|
|
123
133
|
const finalize = (size) => {
|
|
124
134
|
if (ttl === 0) {
|
|
125
135
|
const url = `${publicBase}/${bucket}/${key.split("/").map(encodeURIComponent).join("/")}`;
|
|
126
|
-
return { url, filename: name, size, ttlSec: 0, track: "public", bucket, key };
|
|
136
|
+
return { url, filename: name, size, ttlSec: 0, track: "public", bucket, key, ...scopeField };
|
|
127
137
|
}
|
|
128
138
|
const url = presignS3Url({
|
|
129
139
|
endpoint: publicBase,
|
|
@@ -136,10 +146,28 @@ export function createSendUserFileIssuer(cfg, deps) {
|
|
|
136
146
|
expiresSec: ttl,
|
|
137
147
|
...(deps?.now !== undefined ? { now: deps.now() } : {}),
|
|
138
148
|
});
|
|
139
|
-
return { url, filename: name, size, ttlSec: ttl, track: "presigned", bucket, key };
|
|
149
|
+
return { url, filename: name, size, ttlSec: ttl, track: "presigned", bucket, key, ...scopeField };
|
|
140
150
|
};
|
|
141
151
|
return { putUrl, verifySize, finalize };
|
|
142
152
|
};
|
|
143
|
-
|
|
153
|
+
const deleteObject = async (bucket, key) => {
|
|
154
|
+
if (deps?.remove)
|
|
155
|
+
return deps.remove(bucket, key);
|
|
156
|
+
const url = presignS3Url({
|
|
157
|
+
endpoint: cfg.endpoint,
|
|
158
|
+
bucket,
|
|
159
|
+
key,
|
|
160
|
+
method: "DELETE",
|
|
161
|
+
accessKey: cfg.accessKey,
|
|
162
|
+
secretKey: cfg.secretKey,
|
|
163
|
+
...(cfg.region !== undefined ? { region: cfg.region } : {}),
|
|
164
|
+
expiresSec: 60,
|
|
165
|
+
...(deps?.now !== undefined ? { now: deps.now() } : {}),
|
|
166
|
+
});
|
|
167
|
+
const res = await fetch(url, { method: "DELETE" });
|
|
168
|
+
if (!res.ok && res.status !== 404)
|
|
169
|
+
throw new Error(`SendUserFile object delete failed: ${res.status} ${res.statusText} (bucket=${bucket})`);
|
|
170
|
+
};
|
|
171
|
+
return { issue, prepareDirectUpload, deleteObject, publicEndpoint: cfg.publicEndpoint };
|
|
144
172
|
}
|
|
145
173
|
//# sourceMappingURL=send-user-file.js.map
|