@package-broker/runtime-node 2.0.0-rc.2 → 2.0.0-rc.4

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 +245 -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
package/dist/startup.js CHANGED
@@ -178,8 +178,11 @@ function checkTokens(input) {
178
178
  throw new StartupConfigError('config', error.problems.join('; '));
179
179
  }
180
180
  }
181
- function identityEnv(env) {
182
- return Object.freeze(Object.fromEntries(Object.entries(env).filter(([name]) => name.startsWith(IDENTITY_ENV_PREFIX))));
181
+ function authEnv(env) {
182
+ return Object.freeze({
183
+ ...Object.fromEntries(Object.entries(env).filter(([name]) => name.startsWith(IDENTITY_ENV_PREFIX))),
184
+ ...(env['PB_AUTH_LOCAL'] === undefined ? {} : { PB_AUTH_LOCAL: env['PB_AUTH_LOCAL'] }),
185
+ });
183
186
  }
184
187
  async function bootstrapOrganization(executor, slug, name) {
185
188
  const result = await createOrganizationBootstrap(executor).bootstrap({
@@ -195,6 +198,7 @@ export const AUTH_EVENTS = Object.freeze([
195
198
  'auth.hook.denied',
196
199
  'auth.hook.error',
197
200
  'auth.local.locked',
201
+ 'auth.local.refused_disabled',
198
202
  'auth.local.setup.completed',
199
203
  'auth.local.setup.refused',
200
204
  'auth.login.refused',
@@ -212,6 +216,7 @@ export const NODE_RUNTIME_EVENTS = new Set([
212
216
  'http.error',
213
217
  'shutdown.jobs_abandoned',
214
218
  'startup.failed',
219
+ 'registry.publish_cap_clamped',
215
220
  'process.uncaught_exception',
216
221
  'process.unhandled_rejection',
217
222
  ]);
@@ -423,14 +428,24 @@ async function openByteStore(config, env, fetchImpl) {
423
428
  throw new StartupConfigError('blob', `S3 setting ${error.field} is invalid`);
424
429
  }
425
430
  }
426
- async function buildServices(ports, options, executor) {
431
+ async function buildServices(ports, options, executor, admissionWaitMs, telemetry) {
427
432
  blobPurgeTiming(BLOB_DELETE_TIMEOUT_MS, BLOB_PURGE_LEASE_SECONDS);
428
433
  const byteStore = await openByteStore(ports.blob, options.env, options.fetch);
429
434
  let blob;
430
435
  try {
431
- blob = createBlobStore(byteStore, createBlobRepository(executor, { purgeLeaseSeconds: BLOB_PURGE_LEASE_SECONDS }), {
436
+ blob = createBlobStore(byteStore, createBlobRepository(executor, {
437
+ purgeLeaseSeconds: BLOB_PURGE_LEASE_SECONDS,
438
+ supersededObjects: {
439
+ remove: (key) => byteStore.remove(key),
440
+ counter: (outcome) => telemetry
441
+ .observe()
442
+ .counter('pb.blob.operations', { kind: 'superseded_remove', outcome }),
443
+ },
444
+ }), {
445
+ observability: telemetry.observe(),
432
446
  admission: createBlobUploadAdmission(),
433
447
  maxBytes: ports.blob.maxBytes,
448
+ admissionWaitMs,
434
449
  });
435
450
  }
436
451
  catch (error) {
@@ -536,6 +551,13 @@ export async function startNode(options) {
536
551
  throw new StartupConfigError('PB_TRUSTED_PROXY', TRUSTED_PROXY_RULE);
537
552
  if (trustedProxy.kind === 'legacy')
538
553
  options.log?.(TRUSTED_PROXY_DEPRECATION);
554
+ if (options.env['PB_TRUSTED_PROXY'] === undefined)
555
+ options.log?.({
556
+ level: 'info',
557
+ event: 'config.proxy_unset',
558
+ key: 'PB_TRUSTED_PROXY',
559
+ message: 'Set PB_TRUSTED_PROXY behind a reverse proxy so anonymous admission uses client addresses.',
560
+ });
539
561
  const log = options.log;
540
562
  const path = options.env['PB_SQLITE_PATH'] ?? DEFAULT_DATABASE_PATH;
541
563
  const ports = options.platformPorts ?? null;
@@ -598,12 +620,24 @@ export async function startNode(options) {
598
620
  if (options.registry !== undefined && ports === null) {
599
621
  throw new StartupConfigError('registry', 'requires platformPorts');
600
622
  }
601
- const registry = registryConfig(options.registry, origin);
623
+ let registry = registryConfig(options.registry, origin);
602
624
  checkTokens(options.tokens);
603
625
  await selfTestPasswordHashing(keyring);
604
626
  if (ports !== null) {
605
627
  telemetry = createTelemetry(ports, options);
606
- services = await buildServices(ports, options, opened.executor);
628
+ if (ports.blob.maxBytes < registry.caps.publishTarballBytes) {
629
+ telemetry.observe().log({
630
+ level: 'warn',
631
+ event: 'registry.publish_cap_clamped',
632
+ publish_tarball_bytes: registry.caps.publishTarballBytes,
633
+ blob_max_bytes: ports.blob.maxBytes,
634
+ });
635
+ registry = {
636
+ ...registry,
637
+ caps: { ...registry.caps, publishTarballBytes: ports.blob.maxBytes },
638
+ };
639
+ }
640
+ services = await buildServices(ports, options, opened.executor, registry.timers.waitBudgetMs, telemetry);
607
641
  }
608
642
  if (options.env['PB_MIGRATE'] !== 'off') {
609
643
  await migrate(opened.executor, options.migrations, {
@@ -631,7 +665,8 @@ export async function startNode(options) {
631
665
  ...(options.tokens === undefined ? {} : { tokens: options.tokens }),
632
666
  ...(options.vulnerability === undefined ? {} : { vulnerability: options.vulnerability }),
633
667
  ...(options.mcp === undefined ? {} : { mcp: options.mcp }),
634
- auth: { keyring, publicOrigin: origin, env: identityEnv(options.env) },
668
+ ...(options.notifications === undefined ? {} : { notifications: options.notifications }),
669
+ auth: { keyring, publicOrigin: origin, env: authEnv(options.env) },
635
670
  ...(servingGate === undefined ? {} : { servingGate }),
636
671
  ...(telemetry !== undefined
637
672
  ? { log: sinkLog(telemetry.observe) }
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ import type { TokenLifetimePolicy } from '@package-broker/core/authz/token-lifet
3
3
  import type { SqlExecutor } from '@package-broker/core/db/port';
4
4
  import type { KernelLog } from '@package-broker/core/kernel/errors';
5
5
  import type { RegisteredCoreJob } from '@package-broker/core/kernel/registry';
6
- import { type Jobs } from '@package-broker/core/platform/jobs';
6
+ import { type CoreJobs as Jobs } from '@package-broker/core/platform/jobs';
7
7
  export interface PatJobHolder {
8
8
  set(jobs: Jobs): void;
9
9
  get(): Jobs;
10
10
  }
11
11
  export declare function createPatJobHolder(): PatJobHolder;
12
- export declare function patOffboardingRegistrations(executor: SqlExecutor, holder: PatJobHolder, log: KernelLog): readonly RegisteredCoreJob[];
12
+ export declare function tokenJobRegistrations(executor: SqlExecutor, holder: PatJobHolder, log: KernelLog): readonly RegisteredCoreJob[];
13
13
  export interface TokenWiring {
14
14
  readonly lifetime: TokenLifetimePolicy;
15
15
  readonly offboarding: Pick<ProjectAdministrationDeps, 'onUserOffboarded' | 'onProjectAccessLost'>;
@@ -1 +1 @@
1
- {"version":3,"file":"token-jobs.d.ts","sourceRoot":"","sources":["../src/token-jobs.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAGzE,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAYjD;AAQD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,SAAS,iBAAiB,EAAE,CAM9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;CACnG;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,OAAO,GACrB,WAAW,CAWb"}
1
+ {"version":3,"file":"token-jobs.d.ts","sourceRoot":"","sources":["../src/token-jobs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAY,KAAK,QAAQ,IAAI,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAGrF,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAYjD;AASD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,SAAS,iBAAiB,EAAE,CAY9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;CACnG;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,OAAO,GACrB,WAAW,CAWb"}
@@ -1,3 +1,7 @@
1
+ import { registerCoreJob } from '@package-broker/core/runtime/core-jobs';
2
+ import { createOidcReplayExpiryJob } from '@package-broker/core/registry/npm/oidc/expiry';
3
+ import { createOidcRepository } from '@package-broker/db-sqlite/repositories/oidc';
4
+ import { createNpmLoginExpiryJob } from '@package-broker/db-sqlite/repositories/npm-login-expire';
1
5
  import { enqueuePatOffboarding, enqueueProjectRemovedPatOffboarding, createPatOffboardingJob, } from '@package-broker/core/authz/pat-offboarding';
2
6
  import { createPatOffboardingSweepJob } from '@package-broker/core/authz/pat-offboarding-sweep';
3
7
  import { systemClock, ulid } from '@package-broker/core/ids';
@@ -20,12 +24,19 @@ export function createPatJobHolder() {
20
24
  }
21
25
  function lazyJobs(holder) {
22
26
  return {
27
+ enqueueStatements: (...args) => holder.get().enqueueStatements(...args),
23
28
  enqueue: (ctx, type, payload, input) => holder.get().enqueue(ctx, type, payload, input),
24
29
  };
25
30
  }
26
- export function patOffboardingRegistrations(executor, holder, log) {
31
+ export function tokenJobRegistrations(executor, holder, log) {
27
32
  const store = createPatOffboardingRepository(executor);
33
+ const replayExpiry = createOidcReplayExpiryJob(createOidcRepository(executor));
28
34
  return [
35
+ registerCoreJob({
36
+ ...replayExpiry,
37
+ handler: (payload, context) => replayExpiry.handler(replayExpiry.validate(payload), context),
38
+ }),
39
+ createNpmLoginExpiryJob(executor, lazyJobs(holder)),
29
40
  createPatOffboardingJob({ store, clock: systemClock, ids: { ulid }, log }),
30
41
  createPatOffboardingSweepJob({ store, jobs: lazyJobs(holder), clock: systemClock, log }),
31
42
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"token-jobs.js","sourceRoot":"","sources":["../src/token-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAIhG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAa,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AAOxG,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAyB,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC,IAAI;YACN,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAClF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,GAAG;YACD,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC/D,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB;IACpC,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAqB,EACrB,MAAoB,EACpB,GAAc;IAEd,MAAM,KAAK,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO;QACL,uBAAuB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;QAC1E,4BAA4B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;KACzF,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,WAAW,CACzB,QAA6B,EAC7B,MAAoB,EACpB,aAAsB;IAEtB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,aAAa;YACxB,CAAC,CAAC;gBACE,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC;gBAC7C,mBAAmB,EAAE,mCAAmC,CAAC,IAAI,CAAC;aAC/D;YACH,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"token-jobs.js","sourceRoot":"","sources":["../src/token-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EACL,qBAAqB,EACrB,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAIhG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAyB,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AAOxG,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAyB,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC,IAAI;YACN,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAClF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,GAAG;YACD,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC/D,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB;IACpC,OAAO;QACL,iBAAiB,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QACvE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAqB,EACrB,MAAoB,EACpB,GAAc;IAEd,MAAM,KAAK,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,OAAO;QACL,eAAe,CAAC;YACd,GAAG,YAAY;YACf,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;SAC7F,CAAC;QACF,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,uBAAuB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;QAC1E,4BAA4B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;KACzF,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,WAAW,CACzB,QAA6B,EAC7B,MAAoB,EACpB,aAAsB;IAEtB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,aAAa;YACxB,CAAC,CAAC;gBACE,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC;gBAC7C,mBAAmB,EAAE,mCAAmC,CAAC,IAAI,CAAC;aAC/D;YACH,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@package-broker/runtime-node",
3
- "version": "2.0.0-rc.2",
3
+ "version": "2.0.0-rc.4",
4
4
  "description": "Package Broker Node runtime",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
7
7
  "sideEffects": false,
8
+ "packageBroker": {
9
+ "localAuth": 1
10
+ },
8
11
  "exports": {
9
12
  ".": {
10
13
  "types": "./dist/index.d.ts",
@@ -31,8 +34,8 @@
31
34
  ],
32
35
  "dependencies": {
33
36
  "@hono/node-server": "2.1.4",
34
- "@package-broker/core": "^2.0.0-rc.2",
35
- "@package-broker/db-sqlite": "^2.0.0-rc.2",
37
+ "@package-broker/core": "^2.0.0-rc.4",
38
+ "@package-broker/db-sqlite": "^2.0.0-rc.4",
36
39
  "aws4fetch": "1.0.20",
37
40
  "better-sqlite3": "13.0.3",
38
41
  "hono": "4.13.13"