@package-broker/runtime-node 2.0.0-rc.3 → 2.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/blob/filesystem.d.ts.map +1 -1
  3. package/dist/blob/filesystem.js +128 -3
  4. package/dist/blob/filesystem.js.map +1 -1
  5. package/dist/blob/s3.d.ts.map +1 -1
  6. package/dist/blob/s3.js +146 -6
  7. package/dist/blob/s3.js.map +1 -1
  8. package/dist/client-ip.d.ts +2 -0
  9. package/dist/client-ip.d.ts.map +1 -1
  10. package/dist/client-ip.js +6 -0
  11. package/dist/client-ip.js.map +1 -1
  12. package/dist/entry.d.ts +1 -0
  13. package/dist/entry.d.ts.map +1 -1
  14. package/dist/entry.js +2 -1
  15. package/dist/entry.js.map +1 -1
  16. package/dist/import-jobs.d.ts +1 -1
  17. package/dist/import-jobs.d.ts.map +1 -1
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +257 -17
  21. package/dist/index.js.map +1 -1
  22. package/dist/jobs/loop.d.ts +1 -1
  23. package/dist/jobs/loop.d.ts.map +1 -1
  24. package/dist/jobs/loop.js +7 -1
  25. package/dist/jobs/loop.js.map +1 -1
  26. package/dist/notifications/transport.d.ts +19 -0
  27. package/dist/notifications/transport.d.ts.map +1 -0
  28. package/dist/notifications/transport.js +60 -0
  29. package/dist/notifications/transport.js.map +1 -0
  30. package/dist/sources/git-provider.d.ts.map +1 -1
  31. package/dist/sources/git-provider.js +2 -0
  32. package/dist/sources/git-provider.js.map +1 -1
  33. package/dist/sources/guarded-fetch.d.ts +2 -0
  34. package/dist/sources/guarded-fetch.d.ts.map +1 -1
  35. package/dist/sources/guarded-fetch.js +9 -1
  36. package/dist/sources/guarded-fetch.js.map +1 -1
  37. package/dist/startup.d.ts +2 -1
  38. package/dist/startup.d.ts.map +1 -1
  39. package/dist/startup.js +42 -7
  40. package/dist/startup.js.map +1 -1
  41. package/dist/token-jobs.d.ts +2 -2
  42. package/dist/token-jobs.d.ts.map +1 -1
  43. package/dist/token-jobs.js +12 -1
  44. package/dist/token-jobs.js.map +1 -1
  45. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAKhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,EACjD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAC/B,IAAI,CAAC;IACV,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACjF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOzD;AAWD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,IAAI,SAAI,EACR,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,GACL,MAAM,IAAI,CA8BZ;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACjD,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA6Df;AA2BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOjF"}
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAKhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,EACjD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAC/B,IAAI,CAAC;IACV,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACjF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOzD;AAWD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,IAAI,SAAI,EACR,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,GACL,MAAM,IAAI,CA8BZ;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACjD,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Df;AA2BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOjF"}
package/dist/entry.js CHANGED
@@ -64,7 +64,7 @@ export async function runEntry(manifest, env, runtime) {
64
64
  let port;
65
65
  let timeoutMs;
66
66
  try {
67
- const { plugins, migrations, platformPorts, observability, registry, tokens, vulnerability, mcp, } = await manifest;
67
+ const { plugins, migrations, platformPorts, observability, registry, tokens, vulnerability, mcp, notifications, } = await manifest;
68
68
  try {
69
69
  port = parsePort(env['PORT']);
70
70
  timeoutMs = parseShutdownTimeout(env['PB_SHUTDOWN_TIMEOUT_MS']);
@@ -85,6 +85,7 @@ export async function runEntry(manifest, env, runtime) {
85
85
  ...(tokens === undefined ? {} : { tokens }),
86
86
  ...(vulnerability === undefined ? {} : { vulnerability }),
87
87
  ...(mcp === undefined ? {} : { mcp }),
88
+ ...(notifications === undefined ? {} : { notifications }),
88
89
  });
89
90
  }
90
91
  catch (error) {
package/dist/entry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAIxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAqB,MAAM,cAAc,CAAC;AAEhF,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAyBzC,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAuB;IAC/C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAuB;IACnD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,2BAA2B,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,IAA4B,EAC5B,IAAI,GAAG,CAAC,EACR,UAGI,EAAE;IAEN,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,GAAG,EAAE;QACV,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,2BAA2B,CAAC;QACnE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAC9B,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CACpF,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAQ,EAAE;YACxC,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,CAAC;YACH,KAAK,EAAE,CAAC,IAAI,CACV,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAClB,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAChB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAgC,EAChC,GAAiD,EACjD,OAAqB;IAErB,IAAI,MAAkB,CAAC;IACvB,IAAI,IAAY,CAAC;IACjB,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,EACb,GAAG,EACH,aAAa,GACd,GAAG,MAAM,QAAQ,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YAC3B,OAAO;YACP,UAAU;YACV,GAAG;YACH,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACnD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACrC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,cAAc,CACzB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EACpB,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAChD,CAAC,EACD,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CACpC,CAAC;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI;QACjC,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;QACnD,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;KAC7C,EAAE,CAAC;QACX,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YACjD,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAc;IAClD,MAAM,QAAQ,GACZ,KAAK,KAAK,gBAAgB;QAC1B,CAAC,KAAK,YAAY,kBAAkB,IAAI,KAAK,YAAY,kBAAkB,CAAC;QAC1E,CAAC,CAAC,KAAK,CAAC,QAAQ;QAChB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GACb,QAAQ,KAAK,SAAS;QACtB,QAAQ,CAAC,MAAM,IAAI,EAAE;QACrB,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,CAAC,mBAAmB,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,UAAU,CAAC;YACZ,KAAK,EAAE,OAAO;YACd,KAAK;YACL,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC;SACjC,CAAC;QACF,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,SAAiB;IACtE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,KAAK,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE;QACpE,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5D,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;KACjE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,7 +2,7 @@ import type { ImportApplyStore } from '@package-broker/core/import/apply';
2
2
  import type { ImportRollbackStore } from '@package-broker/core/import/rollback';
3
3
  import type { ImportVerificationStore } from '@package-broker/core/import/verification';
4
4
  import type { RegisteredCoreJob } from '@package-broker/core/kernel/registry';
5
- import type { BlobStore } from '@package-broker/core/platform/blob';
5
+ import type { CoreBlobStore as BlobStore } from '@package-broker/core/platform/blob';
6
6
  export interface ImportJobStores {
7
7
  readonly verificationStore: ImportVerificationStore;
8
8
  readonly applyStore: ImportApplyStore;
@@ -1 +1 @@
1
- {"version":3,"file":"import-jobs.d.ts","sourceRoot":"","sources":["../src/import-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAM1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAExF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAIpE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,GAAG,IAAI,eAAe,CAAC;CACxB;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAYvD;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,iBAAiB,EAAE,CAyC5F"}
1
+ {"version":3,"file":"import-jobs.d.ts","sourceRoot":"","sources":["../src/import-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAM1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAExF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAIrF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,GAAG,IAAI,eAAe,CAAC;CACxB;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAYvD;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,iBAAiB,EAAE,CAyC5F"}
package/dist/index.d.ts CHANGED
@@ -51,6 +51,8 @@ export interface NodeServerOptions {
51
51
  readonly tokens?: BrokerConfig['tokens'];
52
52
  readonly vulnerability?: BrokerConfig['vulnerability'];
53
53
  readonly mcp?: BrokerConfig['mcp'];
54
+ /** Outbound publish notifications; off unless `enabled` is exactly true. */
55
+ readonly notifications?: BrokerConfig['notifications'];
54
56
  /** Resolves true once the broker may serve; a falsy answer refuses everything except liveness. */
55
57
  readonly servingGate?: () => Promise<boolean>;
56
58
  /** Registry routes need the database, auth, platform services and this input together. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,29 @@
1
+ import { discoveryRuleJobs, } from '@package-broker/core/runtime/discovery-rule-jobs';
2
+ import { createNpmTokenAdapters } from '@package-broker/db-sqlite/repositories/npm-tokens';
3
+ import { createUnpublishStore } from '@package-broker/db-sqlite/repositories/npm-unpublish';
4
+ import { createDistTagStore } from '@package-broker/db-sqlite/repositories/npm-dist-tags';
5
+ import { createDeprecationStore } from '@package-broker/db-sqlite/repositories/npm-deprecate';
6
+ import { createWorkloadTokenService } from '@package-broker/core/authz/service-token-service';
7
+ import { createWorkloadTokenStore } from '@package-broker/db-sqlite/repositories/workload-token';
8
+ import { createOidcRepository } from '@package-broker/db-sqlite/repositories/oidc';
9
+ import { createAccessRepository } from '@package-broker/db-sqlite/repositories/access';
10
+ import { checkPublishAdmission, createPublishReads, createPublishWriteGuard, } from '@package-broker/db-sqlite/repositories/catalogue-publish-guard';
11
+ import { createPublishScanJob, createPublishScanSweepJob, } from '@package-broker/core/ingest/publish-scan-job';
12
+ import { createNpmVcsBuildOutcomes, createNpmVcsBuildReader, createNpmVcsBuildPendingReader, } from '@package-broker/db-sqlite/repositories/npm-vcs-build';
13
+ import { createCatalogueWriteGuard } from '@package-broker/db-sqlite/repositories/catalogue-write-package';
14
+ import { createPublishApprovalExpireJob } from '@package-broker/core/ingest/publish-approval-expire-job';
15
+ import { createPublishesRepository } from '@package-broker/db-sqlite/repositories/publishes';
16
+ import { createPackageAccessExpiryJob } from '@package-broker/core/api/routes/package-access-requests-expiry';
17
+ import { REGISTRY_POLICY_JOB_EVENTS, registryPolicyJobs, } from '@package-broker/core/runtime/policy-jobs';
18
+ import { createRegistryPolicyExpiry } from '@package-broker/db-sqlite/repositories/registry-policy-expiry';
19
+ import { createRegistryPolicyReader } from '@package-broker/db-sqlite/repositories/registry-policy-read';
20
+ import { createPolicyReadAuditSink } from '@package-broker/db-sqlite/repositories/registry-policy-read-audit';
21
+ import { registryPolicySchemaReady } from '@package-broker/db-sqlite/repositories/registry-policy-schema';
22
+ import { createPackageAccessRequestRepository } from '@package-broker/db-sqlite/repositories/package-access-requests';
23
+ import { createUserRepository } from '@package-broker/db-sqlite/repositories/user';
24
+ import { createServicePrincipalRepository } from '@package-broker/db-sqlite/repositories/service-principal';
1
25
  import { schemaMigrationsMatch } from '@package-broker/db-sqlite/migrations/runner';
2
- import { createApiRoutes } from '@package-broker/db-sqlite/repositories/api-services';
26
+ import { createApiRoutes, notificationRoutesAvailable, } from '@package-broker/db-sqlite/repositories/api-services';
3
27
  import { createComposerRepositoryProvider } from '@package-broker/core/ingest/composer/composer-repository';
4
28
  import { createMcpTools } from '@package-broker/core/mcp/tools';
5
29
  import { createInProcessMcpLimiter } from '@package-broker/core/mcp/limit';
@@ -34,20 +58,21 @@ import { createAuditSealRepository } from '@package-broker/db-sqlite/repositorie
34
58
  import { createAuditVerifyReader } from '@package-broker/db-sqlite/repositories/audit-verify';
35
59
  import { createServer } from 'node:http';
36
60
  import { AsyncLocalStorage } from 'node:async_hooks';
61
+ import { parseLocalAuthPolicy } from '@package-broker/core/auth/module';
37
62
  import { getRequestListener } from '@hono/node-server';
38
63
  import { deferredDispatch } from '@package-broker/core/authz/token-use';
39
64
  import { createPackageAccess, } from '@package-broker/core/catalogue/package-access';
40
65
  import { createVisibilityService, } from '@package-broker/core/catalogue/visibility-service';
41
66
  import { buildClosureReport, } from '@package-broker/core/catalogue/closure-report';
42
67
  import {} from '@package-broker/core/authz/administration';
43
- import { createRegistryModule, } from '@package-broker/core/registry/module';
68
+ import { createRegistryModule, createNpmHandleOf, } from '@package-broker/core/registry/module';
44
69
  import { createAccessRecorder } from '@package-broker/core/registry/access-recorder';
45
70
  import { createScopedAdmittingAccess } from '@package-broker/core/registry/scoped-access';
46
71
  import { GITHUB_API } from '@package-broker/core/ingest/composer/packagist-proxy';
47
72
  import { INGEST_EVENTS, INGEST_REASON_CODES } from '@package-broker/core/ingest/finalize-guard';
48
73
  import { createRepositoryJobs } from '@package-broker/core/platform/jobs-port';
49
74
  import { resolveTokenLifetimePolicy, TokenConfigError, } from '@package-broker/core/authz/token-lifetime';
50
- import { createPatJobHolder, patOffboardingRegistrations, tokenWiring, } from './token-jobs.js';
75
+ import { createPatJobHolder, tokenJobRegistrations, tokenWiring, } from './token-jobs.js';
51
76
  import { SEAMS_KEY } from './internal/seams-key.js';
52
77
  import { PlatformUnavailableError } from '@package-broker/core/platform/errors';
53
78
  import { createPolicyFetch } from '@package-broker/core/sources/policy-fetch';
@@ -63,7 +88,7 @@ import { createKernel } from '@package-broker/core/kernel/kernel';
63
88
  import { createSetupUiRoutes, createUiRoutes, rewriteSetupRequest, } from '@package-broker/core/kernel/ui-routes';
64
89
  import { fileURLToPath } from 'node:url';
65
90
  import { createNodeAssets } from './assets.js';
66
- import { nodeClientIp } from './client-ip.js';
91
+ import { nodeAdmissionIp, nodeClientIp } from './client-ip.js';
67
92
  import { nodeCodecs } from './codec/node-codec.js';
68
93
  import { reportedVcsProviders } from '@package-broker/core/sources/config';
69
94
  import { createDnsGuard } from './sources/dns-guard.js';
@@ -75,6 +100,12 @@ import { createOrgResolver } from '@package-broker/core/kernel/org';
75
100
  import { collectRegistrations, KernelConfigError } from '@package-broker/core/kernel/registry';
76
101
  import { mcpEnabled } from '@package-broker/core/config';
77
102
  import { registerCoreJob } from '@package-broker/core/runtime/core-jobs';
103
+ import { NotificationRuntimeConfigError, notificationRuntime, notificationsSwitch, } from '@package-broker/core/runtime/notification-jobs';
104
+ import { createNotificationAttemptRepository } from '@package-broker/db-sqlite/repositories/notification-attempt';
105
+ import { createNotificationDispatchRepository } from '@package-broker/db-sqlite/repositories/notification-dispatch';
106
+ import { createNotificationPrepareRepository } from '@package-broker/db-sqlite/repositories/notification-prepare';
107
+ import { createNotificationRetentionRepository } from '@package-broker/db-sqlite/repositories/notification-retention';
108
+ import { createNodeNotificationTransport } from './notifications/transport.js';
78
109
  import { KeyringMismatchError, KeyringPasswordHashUnreadableError, KeyringStoreUnavailableError, KeyringVerifierMissingError, KeyringVersionInUseError, RESEED_VARIABLE, verifyKeyring, } from '@package-broker/core/secrets/keyring-verifier';
79
110
  import { createKeyringVerifierStore } from '@package-broker/db-sqlite/repositories/keyring-verifier';
80
111
  import { createBlobAccessRepository } from '@package-broker/db-sqlite/repositories/blob-access';
@@ -127,6 +158,11 @@ function retentionRegistrations(executor, storage) {
127
158
  const removal = createBlobLifecycle({
128
159
  metadata,
129
160
  store: {
161
+ putStaged: (...args) => store.putStaged(...args),
162
+ openStaged: (...args) => store.openStaged(...args),
163
+ promote: (...args) => store.promote(...args),
164
+ discardStaged: (...args) => store.discardStaged(...args),
165
+ listStaged: (...args) => store.listStaged(...args),
130
166
  putVerified: (...args) => store.putVerified(...args),
131
167
  head: (...args) => store.head(...args),
132
168
  get: (...args) => store.get(...args),
@@ -157,7 +193,18 @@ function retentionRegistrations(executor, storage) {
157
193
  };
158
194
  const bound = definition.name === retentionScanJob.name
159
195
  ? createRetentionScanJob({ reader: createBlobReferenceReader(guarded), lifecycle })
160
- : createBlobPurgeJob({ lifecycle });
196
+ : createBlobPurgeJob({
197
+ lifecycle,
198
+ staged: {
199
+ listStaged: (...args) => store.listStaged(...args),
200
+ async discardStaged(handle) {
201
+ checkSignal();
202
+ await executor.batch(guard);
203
+ checkSignal();
204
+ await store.discardStaged(handle);
205
+ },
206
+ },
207
+ });
161
208
  await bound.handler(payload, context);
162
209
  },
163
210
  }));
@@ -169,7 +216,8 @@ function rejectingExecutor() {
169
216
  const unavailable = () => Promise.reject(new Error('no SQL executor configured for this runtime'));
170
217
  return { driver: 'node-sqlite', all: unavailable, batch: unavailable };
171
218
  }
172
- async function assembleAccess(registration, plugins, auth, executor, log, tokens, clientIp) {
219
+ async function assembleAccess(registration, plugins, auth, executor, log, tokens, clientIp, admissionIp) {
220
+ const localAuth = parseLocalAuthPolicy(auth.env['PB_AUTH_LOCAL']);
173
221
  await auth.keyring.hmacKey('token-pepper', auth.keyring.currentVersion);
174
222
  const providers = buildIdentityProviders(registration, plugins, {
175
223
  fetch: (request) => fetch(request),
@@ -181,6 +229,7 @@ async function assembleAccess(registration, plugins, auth, executor, log, tokens
181
229
  keyring: auth.keyring,
182
230
  publicOrigin: auth.publicOrigin,
183
231
  providers,
232
+ localAuth,
184
233
  clock: systemClock,
185
234
  ids: { ulid },
186
235
  log,
@@ -189,7 +238,7 @@ async function assembleAccess(registration, plugins, auth, executor, log, tokens
189
238
  registration,
190
239
  tokens,
191
240
  });
192
- return built;
241
+ return { ...built, npmLogin: { ...built.npmLogin, admissionIp } };
193
242
  }
194
243
  function buildPackageReads(executor) {
195
244
  const reader = createCatalogueReader(executor);
@@ -406,7 +455,7 @@ function assembleRegistry(input) {
406
455
  seams.observeCredentials?.(credentials);
407
456
  const sources = createSourceRepository(executor);
408
457
  const reads = createRegistryReads(executor);
409
- const writer = createCatalogueWriter(executor);
458
+ const writer = createCatalogueWriter(executor, { notifications: input.notifications });
410
459
  const sessions = createIngestSessions(executor);
411
460
  const blobAccess = createBlobAccessRepository(executor);
412
461
  const inFlight = new Set();
@@ -425,6 +474,7 @@ function assembleRegistry(input) {
425
474
  return jobsFactory('core', unattended);
426
475
  };
427
476
  const jobs = seams.jobs ?? {
477
+ enqueueStatements: (...args) => coreJobs().enqueueStatements(...args),
428
478
  enqueue: (ctx, type, payload, enqueueInput) => coreJobs().enqueue(ctx, type, payload, enqueueInput),
429
479
  get: (ctx, id) => coreJobs().get(ctx, id),
430
480
  };
@@ -463,6 +513,41 @@ function assembleRegistry(input) {
463
513
  const policyFetch = (userAgent, context) => createPolicyFetch({ fetchImpl: outboundFetch, policy, userAgent, observability, ...context });
464
514
  const module = createRegistryModule({
465
515
  runtime: 'node',
516
+ policy: {
517
+ reader: createRegistryPolicyReader(executor),
518
+ audit: createPolicyReadAuditSink(executor),
519
+ hooks: input.policyHooks,
520
+ ids: { ulid },
521
+ },
522
+ npmOidc: {
523
+ clientIp: input.admissionIp,
524
+ repository: createOidcRepository(executor),
525
+ tokens: createWorkloadTokenService({
526
+ tokens: createWorkloadTokenStore(executor),
527
+ keyring: auth.keyring,
528
+ clock: systemClock,
529
+ ids: { ulid },
530
+ }),
531
+ organization: async () => {
532
+ const org = await input.findOrganization();
533
+ return org === null ? null : orgContext(org.id);
534
+ },
535
+ },
536
+ npmTokens: createNpmTokenAdapters(executor, (ctx) => input.anchors.anchors(ctx)),
537
+ npmPublish: {
538
+ deprecations: createDeprecationStore(executor, { notifications: input.notifications }),
539
+ distTags: createDistTagStore(executor, { notifications: input.notifications }),
540
+ unpublish: createUnpublishStore(executor, { notifications: input.notifications }),
541
+ reads: createPublishReads(executor),
542
+ lookupToken: createAccessRepository(executor).lookupToken,
543
+ anchors: (ctx) => input.anchors.anchors(ctx),
544
+ writeGuard: createPublishWriteGuard,
545
+ admitted: (ctx, guard) => checkPublishAdmission(executor, ctx, guard),
546
+ writer,
547
+ requiredScanners: input.requiredScanners,
548
+ scanJobs: jobs,
549
+ },
550
+ handleOf: createNpmHandleOf(createUserRepository(executor), createServicePrincipalRepository(executor)),
466
551
  registryJobs: registryJobDependencies({
467
552
  executor,
468
553
  providers: providerRegistry,
@@ -496,6 +581,10 @@ function assembleRegistry(input) {
496
581
  policyFetch,
497
582
  deploymentId: input.deploymentId,
498
583
  providers,
584
+ npmAudit: {
585
+ sources,
586
+ provenance: createVulnerabilityRepository(executor, systemClock),
587
+ },
499
588
  catalogue: {
500
589
  reader: input.reader,
501
590
  scopedAdmission: createScopedAdmission(executor),
@@ -521,6 +610,12 @@ function assembleRegistry(input) {
521
610
  credential: credentials.forSource,
522
611
  credentialUnavailable: (ctx, id) => sources.markCredentialUnavailable(ctx, id),
523
612
  },
613
+ npmVcsBuild: {
614
+ outcomes: createNpmVcsBuildOutcomes(executor),
615
+ target: createNpmVcsBuildReader(executor),
616
+ pending: createNpmVcsBuildPendingReader(executor),
617
+ writeGuard: createCatalogueWriteGuard,
618
+ },
524
619
  sync: {
525
620
  packageId: createPackageIdReads(executor).packageId,
526
621
  upstreamState: createUpstreamStateRepository(executor),
@@ -608,13 +703,13 @@ function assembleRegistry(input) {
608
703
  },
609
704
  };
610
705
  }
611
- function buildCatalogue(executor, reads, anchors, log) {
706
+ function buildCatalogue(executor, reads, anchors, log, notifications) {
612
707
  return Object.freeze({
613
708
  reader: reads.reader,
614
- writer: createCatalogueWriter(executor),
709
+ writer: createCatalogueWriter(executor, { notifications }),
615
710
  packageAccess: reads.packageAccess,
616
711
  visibility: createVisibilityService({
617
- store: createVisibilityStore(executor, { providerAnchors: anchors }),
712
+ store: createVisibilityStore(executor, { providerAnchors: anchors, notifications }),
618
713
  log,
619
714
  }),
620
715
  closureReport: (actor, organizationPermissions, ecosystem) => buildClosureReport(reads.reader, actor, organizationPermissions, ecosystem, systemClock),
@@ -636,8 +731,26 @@ export function createNodeServer(plugins, options = {}) {
636
731
  const log = options.log ?? defaultLog;
637
732
  const executor = options.executor ?? rejectingExecutor();
638
733
  const lifetime = resolveTokenLifetime(options.tokens);
734
+ let notificationsOn;
735
+ try {
736
+ notificationsOn = notificationsSwitch(options.notifications);
737
+ }
738
+ catch (error) {
739
+ if (error instanceof NotificationRuntimeConfigError)
740
+ throw new KernelConfigError([...error.problems]);
741
+ throw error;
742
+ }
743
+ const captureNotifications = notificationsOn;
744
+ if (notificationsOn &&
745
+ (options.executor === undefined ||
746
+ options.platformServices === undefined ||
747
+ options.auth === undefined))
748
+ throw new KernelConfigError(['notifications: delivery is unavailable on this runtime']);
749
+ let discoveryRules;
750
+ let notificationJobs;
639
751
  const remoteAddress = new AsyncLocalStorage();
640
752
  const clientIp = (request) => nodeClientIp(request, remoteAddress.getStore() ?? null, options.trustedProxy);
753
+ const admissionIp = (request) => nodeAdmissionIp(request, remoteAddress.getStore() ?? null, options.trustedProxy);
641
754
  const repository = createOrganizationRepository(executor);
642
755
  const bootstrap = createOrganizationBootstrap(executor);
643
756
  const ports = Object.freeze({
@@ -645,7 +758,9 @@ export function createNodeServer(plugins, options = {}) {
645
758
  clock: systemClock,
646
759
  ids: { ulid },
647
760
  });
648
- const { auth } = options;
761
+ const auth = options.auth === undefined
762
+ ? undefined
763
+ : { ...options.auth, env: Object.freeze({ ...options.auth.env }) };
649
764
  const importJobs = createImportJobHolder();
650
765
  const patJobs = createPatJobHolder();
651
766
  let drainRegistry;
@@ -672,6 +787,8 @@ export function createNodeServer(plugins, options = {}) {
672
787
  };
673
788
  const verifyOnce = () => (keyringVerification ??= verify());
674
789
  const application = (async () => {
790
+ const notificationRoutes = options.executor !== undefined &&
791
+ (await notificationRoutesAvailable(executor, notificationsOn, log));
675
792
  // A closed migration gate defers verification until the broker may serve.
676
793
  if (options.servingGate === undefined || (await options.servingGate()))
677
794
  await verifyOnce();
@@ -723,6 +840,20 @@ export function createNodeServer(plugins, options = {}) {
723
840
  });
724
841
  }
725
842
  const reads = options.executor === undefined ? undefined : buildPackageReads(executor);
843
+ let policyHooks = [];
844
+ const policyEnabled = options.registry?.config.policy.enabled === true;
845
+ // With the flag off a failed probe only leaves management unmounted; boot stays as before.
846
+ const policySchema = options.executor !== undefined &&
847
+ (await registryPolicySchemaReady(executor).catch((error) => {
848
+ if (policyEnabled)
849
+ throw error;
850
+ return false;
851
+ }));
852
+ if (options.executor !== undefined && policyEnabled && !policySchema) {
853
+ throw new KernelConfigError([
854
+ 'registry.policy.enabled: the registry policy migration is missing',
855
+ ]);
856
+ }
726
857
  const deploymentId = options.observability?.deploymentId ?? 'unconfigured';
727
858
  const registry = options.registry === undefined ||
728
859
  reads === undefined ||
@@ -743,7 +874,14 @@ export function createNodeServer(plugins, options = {}) {
743
874
  }),
744
875
  deploymentId,
745
876
  findOrganization: bootstrap.findSingleton,
877
+ admissionIp,
746
878
  ingestScope,
879
+ anchors: {
880
+ anchors: (ctx) => access?.providerAnchors.anchors(ctx) ?? Promise.resolve([]),
881
+ },
882
+ requiredScanners: () => plugins.flatMap((plugin) => (plugin.publishPolicy ? [plugin.publishPolicy.id] : [])),
883
+ policyHooks: () => policyHooks,
884
+ notifications: captureNotifications,
747
885
  });
748
886
  const vulnerabilityPolicy = createOutboundPolicy({
749
887
  allowPrivateHosts: [],
@@ -767,18 +905,85 @@ export function createNodeServer(plugins, options = {}) {
767
905
  drainRegistry = registry?.drain;
768
906
  const packageResolver = registry?.module.visibilityPort ?? reads?.resolver;
769
907
  const retention = options.platformServices?.retention;
908
+ const notifications = auth === undefined || options.platformServices === undefined
909
+ ? { enabled: false, jobs: [] }
910
+ : notificationRuntime({
911
+ notifications: options.notifications,
912
+ transport: createNodeNotificationTransport({
913
+ selfOrigins: options.registry?.config.outbound.selfOrigins ?? [auth.publicOrigin],
914
+ ...(seams.resolver === undefined ? {} : { resolver: seams.resolver }),
915
+ ...(seams.notificationConnector === undefined
916
+ ? {}
917
+ : { connector: seams.notificationConnector }),
918
+ }),
919
+ repositories: () => ({
920
+ dispatch: createNotificationDispatchRepository(executor),
921
+ attempts: createNotificationAttemptRepository(executor),
922
+ prepare: createNotificationPrepareRepository(executor),
923
+ retention: createNotificationRetentionRepository(executor),
924
+ }),
925
+ credentials: () => {
926
+ const repository = createCredentialRepository(executor);
927
+ return {
928
+ repository,
929
+ store: createCredentialStore({
930
+ repository,
931
+ cipher: createSecretCipher(auth.keyring, 'credential-encryption'),
932
+ ids: { ulid },
933
+ clock: systemClock,
934
+ }),
935
+ };
936
+ },
937
+ clock: systemClock,
938
+ ids: { ulid },
939
+ wake: async (ctx, id) => notificationJobs?.notify?.(ctx, id),
940
+ });
941
+ if (notifications.enabled !== notificationsOn)
942
+ throw new KernelConfigError(['notifications: delivery is unavailable on this runtime']);
770
943
  const registration = collectRegistrations(plugins, {
771
944
  ...(registry === undefined ? {} : { sourceProviderContext: registry.sourceProviderContext }),
772
945
  ...(packageResolver === undefined ? {} : { packageResolver }),
773
946
  coreJobs: options.platformServices === undefined
774
947
  ? []
775
948
  : [
949
+ ...(auth === undefined || reads === undefined
950
+ ? []
951
+ : discoveryRuleJobs(() => {
952
+ if (discoveryRules === undefined)
953
+ throw new JobError('handler_error');
954
+ return discoveryRules;
955
+ })),
776
956
  ...vulnerability.jobs.map((job) => registerIngestJob(job.definition, {
777
957
  events: new Set([VULNERABILITY_EVENT]),
778
958
  reasonCodes: new Set(VULNERABILITY_REASON_CODES),
779
959
  routeTemplates: new Set(),
780
960
  })),
781
961
  ...(retention === undefined ? [] : retentionRegistrations(executor, () => retention)),
962
+ registerIngestJob(createPublishScanJob({
963
+ publishes: createPublishesRepository(executor, [], {
964
+ notifications: captureNotifications,
965
+ }),
966
+ scanners: plugins.flatMap((plugin) => plugin.publishPolicy ? [plugin.publishPolicy] : []),
967
+ blob: options.platformServices.blob,
968
+ })),
969
+ registerIngestJob(createPublishScanSweepJob({
970
+ publishes: createPublishesRepository(executor, [], {
971
+ notifications: captureNotifications,
972
+ }),
973
+ })),
974
+ registerIngestJob(createPublishApprovalExpireJob({
975
+ publishes: createPublishesRepository(executor, [], {
976
+ notifications: captureNotifications,
977
+ }),
978
+ })),
979
+ registerIngestJob(createPackageAccessExpiryJob(createPackageAccessRequestRepository(executor, []))),
980
+ ...(options.registry === undefined
981
+ ? []
982
+ : registryPolicyJobs(options.registry.config, () => createRegistryPolicyExpiry(executor)).map((job) => registerIngestJob(job, {
983
+ events: new Set([...INGEST_EVENTS, ...REGISTRY_POLICY_JOB_EVENTS]),
984
+ reasonCodes: INGEST_REASON_CODES,
985
+ routeTemplates: new Set(),
986
+ }))),
782
987
  registerAuditJob(auditSealJob(createAuditSealRepository(executor))),
783
988
  registerAuditJob(auditVerifyJob(createAuditVerifyReader(executor))),
784
989
  ...(registry?.module.coreJobs ?? []).map((job) => registerIngestJob(job.definition)),
@@ -786,9 +991,11 @@ export function createNodeServer(plugins, options = {}) {
786
991
  ? []
787
992
  : [registerIngestJob(registry.module.packageSyncJob)]),
788
993
  ...(auth === undefined ? [] : importJobRegistrations(importJobs)),
789
- ...(auth === undefined ? [] : patOffboardingRegistrations(executor, patJobs, log)),
994
+ ...(auth === undefined ? [] : tokenJobRegistrations(executor, patJobs, log)),
995
+ ...notifications.jobs,
790
996
  ],
791
997
  });
998
+ policyHooks = registration.hooks['registry.read'];
792
999
  if (registry !== undefined && options.platformServices !== undefined) {
793
1000
  await registry.bindSourceProviders(registration.sourceProviders.values());
794
1001
  registry.bindJobs(createRepositoryJobs({
@@ -798,6 +1005,14 @@ export function createNodeServer(plugins, options = {}) {
798
1005
  ids: { ulid },
799
1006
  }));
800
1007
  }
1008
+ if (notifications.enabled && options.platformServices !== undefined) {
1009
+ notificationJobs = createRepositoryJobs({
1010
+ store: options.platformServices.jobStore,
1011
+ jobs: registration.jobs,
1012
+ clock: systemClock,
1013
+ ids: { ulid },
1014
+ })('core', { projectId: null, tokenId: null });
1015
+ }
801
1016
  if (auth !== undefined && options.platformServices !== undefined) {
802
1017
  patJobs.set(createRepositoryJobs({
803
1018
  store: options.platformServices.jobStore,
@@ -808,7 +1023,7 @@ export function createNodeServer(plugins, options = {}) {
808
1023
  }
809
1024
  const access = auth === undefined
810
1025
  ? undefined
811
- : await assembleAccess(registration, plugins, auth, executor, log, tokenWiring(lifetime, patJobs, options.platformServices !== undefined), clientIp);
1026
+ : await assembleAccess(registration, plugins, auth, executor, log, tokenWiring(lifetime, patJobs, options.platformServices !== undefined), clientIp, admissionIp);
812
1027
  if (access !== undefined && options.platformServices !== undefined) {
813
1028
  importJobs.set({
814
1029
  verificationStore: createImportVerificationStore({
@@ -822,10 +1037,28 @@ export function createNodeServer(plugins, options = {}) {
822
1037
  }
823
1038
  const packages = access === undefined || reads === undefined
824
1039
  ? null
825
- : buildCatalogue(executor, reads, access.anchors, log);
1040
+ : buildCatalogue(executor, reads, access.anchors, log, captureNotifications);
826
1041
  const apiRoutes = auth === undefined || access === undefined || packages === null
827
1042
  ? []
828
1043
  : createApiRoutes({
1044
+ onDiscoveryRules: (deps) => {
1045
+ discoveryRules = deps;
1046
+ },
1047
+ discoveryFetch: createPolicyFetch({
1048
+ fetchImpl: registry?.services.outboundFetch ??
1049
+ seams.transport ??
1050
+ createGuardedFetch(vulnerabilityPolicy),
1051
+ policy: vulnerabilityPolicy,
1052
+ userAgent: 'PackageBroker/2.0',
1053
+ }),
1054
+ notifications: captureNotifications,
1055
+ notificationRoutes,
1056
+ notificationSelfOrigins: options.registry?.config.outbound.selfOrigins ?? [
1057
+ auth.publicOrigin,
1058
+ ],
1059
+ ...(registry?.module.lookupTrustedPublisherRepository === undefined
1060
+ ? {}
1061
+ : { trustedPublisherLookup: registry?.module.lookupTrustedPublisherRepository }),
829
1062
  clientIp,
830
1063
  executor,
831
1064
  runtime: 'node',
@@ -846,6 +1079,10 @@ export function createNodeServer(plugins, options = {}) {
846
1079
  blob: options.platformServices?.blob,
847
1080
  vcsProviders: () => registry?.vcsProviders() ?? [],
848
1081
  refuseVcsProvider: (provider) => provider === 'git' && !(registry?.vcsProviders() ?? []).includes('git'),
1082
+ registryPolicy: {
1083
+ ...(policySchema ? { management: true } : {}),
1084
+ ...(registry?.module.policy === undefined ? {} : { serving: registry.module.policy }),
1085
+ },
849
1086
  });
850
1087
  const authorization = options.authorization ?? access?.module.authorization;
851
1088
  const assets = await createNodeAssets(fileURLToPath(new URL('./assets/', import.meta.url))).catch((error) => {
@@ -864,7 +1101,7 @@ export function createNodeServer(plugins, options = {}) {
864
1101
  }, { publicOrigin: auth?.publicOrigin ?? 'http://localhost', log });
865
1102
  const coreRoutes = [
866
1103
  ...(access?.module.coreRoutes ?? []),
867
- ...apiRoutes,
1104
+ ...apiRoutes.filter((route) => route.path.startsWith('/_pb/')),
868
1105
  openApiRoute(openApiDocument),
869
1106
  ...(registry?.module.coreRoutes ?? []).map((route) => ({
870
1107
  ...route,
@@ -892,7 +1129,10 @@ export function createNodeServer(plugins, options = {}) {
892
1129
  const kernel = await createKernel({
893
1130
  platform: 'node',
894
1131
  ...(packageResolver === undefined ? {} : { packageResolver }),
895
- ...(registry === undefined ? {} : { ecosystemRoutes: registry.module.ecosystemRoutes }),
1132
+ ecosystemRoutes: [
1133
+ ...(registry?.module.ecosystemRoutes ?? []),
1134
+ ...apiRoutes.filter((route) => !route.path.startsWith('/_pb/')),
1135
+ ],
896
1136
  plugins,
897
1137
  publicOrigin: auth?.publicOrigin,
898
1138
  registration,