Skip to content

refactor: split provider-inventory into 2 interfaces#3197

Merged
stalniy merged 1 commit into
mainfrom
refactor/split-pi
May 20, 2026
Merged

refactor: split provider-inventory into 2 interfaces#3197
stalniy merged 1 commit into
mainfrom
refactor/split-pi

Conversation

@stalniy
Copy link
Copy Markdown
Contributor

@stalniy stalniy commented May 19, 2026

Why

Closes CON-358

What

Summary by CodeRabbit

  • New Features

    • App can run REST and provider-sync as independent worker services, together or individually, on configurable ports/interfaces.
    • Providers-sync now has its own dedicated startup entrypoint.
  • Refactor

    • Startup and bootstrap logic reorganized so each service initializes itself; legacy bootstrap removed.
    • Build now produces separate entrypoints for REST and provider-sync.
  • Bug Fixes

    • Startup only runs registered initializers, improving startup stability and graceful shutdown.

Review Change Stack

@stalniy stalniy requested a review from a team as a code owner May 19, 2026 13:02
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

📝 Walkthrough

Walkthrough

Launches provider-inventory in worker threads for REST and providers-sync interfaces; adds bootstrapEntry to load providers before app bootstrap; inlines Hono app construction per interface; guards APP_INITIALIZER execution; updates drizzle schema usage and tsup build entrypoints.

Changes

Multi-interface worker-thread architecture

Layer / File(s) Summary
Worker-thread server launcher and orchestration
apps/provider-inventory/src/server.ts
Replaces minimalist entrypoint with worker management: spawns separate workers per interface (REST, providers-sync) when INTERFACE="all", parses PORT/INTERFACE from environment, forwards SIGTERM/SIGINT to workers, and provides bootstrapInWorker that tracks readiness and exit.
Bootstrap helper with dynamic provider loading
apps/provider-inventory/src/bootstrap-entry.ts
New bootstrapEntry utility imports reflect-metadata and @akashnetwork/env-loader at module load, then dynamically imports ./providers before executing the app's loadEntry callback to preserve side-effect ordering.
Providers-sync app bootstrap
apps/provider-inventory/src/providers-sync-app.ts
New bootstrap() that builds a Hono app with OTEL and HTTP logging, mounts health routes, registers an error handler, resets repository state in beforeStart, starts the server, and starts DiscoverySchedulerService after server start.
REST app inline bootstrap
apps/provider-inventory/src/rest-app.ts
Removes top-level provider/model side-effect imports and createApp() factory; bootstrap() now constructs Hono inline with OTEL middleware, HTTP logging interceptor, route wiring (healthz, bidScreeningRouter), and error handling; OTEL context set to "REST".
Provider barrel exports and drizzle schema
apps/provider-inventory/src/providers/index.ts, apps/provider-inventory/src/providers/drizzle.provider.ts
Removes stream-boostrap.provider re-export; updates drizzle provider to pass schema: modelsSchema.
Conditional APP_INITIALIZER execution
apps/provider-inventory/src/services/start-server/start-server.ts, apps/provider-inventory/src/services/start-server/start-server.spec.ts
startServer now checks container.isRegistered(APP_INITIALIZER, true) before resolving/executing initializers; test mock updated to return true for isRegistered.
Build entrypoints and worker Node options
apps/provider-inventory/tsup.config.ts
Adds rest-app and providers-sync-app to tsup entry map; updates watch-mode onSuccess to use NODE_OPTIONS='--allow-worker' npm run prod.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • ygrishajev
  • baktun14
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/split-pi

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

❌ Patch coverage is 13.63636% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.23%. Comparing base (b634c5d) to head (887f094).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
apps/provider-inventory/src/providers-sync-app.ts 0.00% 13 Missing and 1 partial ⚠️
apps/provider-inventory/src/bootstrap-entry.ts 0.00% 3 Missing ⚠️
apps/provider-inventory/src/rest-app.ts 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3197      +/-   ##
==========================================
- Coverage   64.03%   63.23%   -0.81%     
==========================================
  Files        1096     1057      -39     
  Lines       26685    25669    -1016     
  Branches     6474     6307     -167     
==========================================
- Hits        17089    16233     -856     
+ Misses       8394     8246     -148     
+ Partials     1202     1190      -12     
Flag Coverage Δ *Carryforward flag
api 84.28% <ø> (ø) Carriedforward from b634c5d
deploy-web 47.43% <ø> (ø) Carriedforward from b634c5d
log-collector ?
notifications 91.06% <ø> (ø) Carriedforward from b634c5d
provider-console 81.48% <ø> (ø) Carriedforward from b634c5d
provider-inventory 80.21% <13.63%> (-1.65%) ⬇️
provider-proxy 86.08% <ø> (ø) Carriedforward from b634c5d
tx-signer ?

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
...ovider-inventory/src/providers/drizzle.provider.ts 100.00% <100.00%> (ø)
...nventory/src/services/start-server/start-server.ts 96.77% <100.00%> (+0.10%) ⬆️
apps/provider-inventory/src/rest-app.ts 0.00% <0.00%> (ø)
apps/provider-inventory/src/bootstrap-entry.ts 0.00% <0.00%> (ø)
apps/provider-inventory/src/providers-sync-app.ts 0.00% <0.00%> (ø)

... and 42 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@stalniy stalniy force-pushed the refactor/split-pi branch from 14ebb7d to d970d07 Compare May 19, 2026 13:10
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (2)
apps/provider-inventory/src/services/start-server/start-server.spec.ts (1)

169-171: ⚡ Quick win

Add coverage for the unregistered-initializer branch.

Hard-coding isRegistered() to true means the new guard never gets exercised in this file. A regression where startup should skip resolveAll(APP_INITIALIZER) would still pass here.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/provider-inventory/src/services/start-server/start-server.spec.ts`
around lines 169 - 171, The test currently hard-codes the DependencyContainer
mock's isRegistered to always return true so the branch where APP_INITIALIZER is
not registered is never exercised; change the mock for isRegistered to be
configurable (e.g., use vi.fn().mockImplementation((token) =>
input?.containerRegistered ?? true) or similar) and add a test case where
isRegistered returns false while resolveAll would have returned initializers;
assert that resolveAll(APP_INITIALIZER) is not called and the startup path that
skips initializers runs (locate the DependencyContainer mock, its isRegistered
and resolveAll methods, and the test calling the start-server routine in
start-server.spec.ts to implement this).
apps/provider-inventory/tsup.config.ts (1)

24-24: ⚡ Quick win

Append to NODE_OPTIONS instead of replacing it.

The current command overwrites NODE_OPTIONS, dropping any flags already set in the environment. Watch mode could then behave differently from the normal dev/prod runtime if other Node options are configured.

Use parameter expansion to preserve existing flags:

-    onSuccess: overrideOptions.watch && !isProduction ? "NODE_OPTIONS='--allow-worker' npm run prod" : undefined,
+    onSuccess: overrideOptions.watch && !isProduction ? "NODE_OPTIONS=\"${NODE_OPTIONS:+$NODE_OPTIONS }--allow-worker\" npm run prod" : undefined,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/provider-inventory/tsup.config.ts` at line 24, The onSuccess command
currently replaces NODE_OPTIONS and loses any existing flags; update the
onSuccess branch in tsup.config.ts (the expression using overrideOptions.watch
and isProduction) to append --allow-worker to the existing NODE_OPTIONS using
shell parameter expansion rather than assigning a new value so existing options
are preserved when running the "npm run prod" command in watch mode.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/provider-inventory/src/bootstrap-entry.ts`:
- Line 7: The dynamic import currently uses a hardcoded TypeScript extension
("await import(\"./providers/index.ts\")") which will fail at runtime after tsup
compilation; change the import specifier to be extensionless (e.g., import
"./providers/index" or "./providers") so Node's resolver can load the compiled
.js; apply the same change to the other dynamic import occurrences noted in
server.ts (the import expressions at lines referenced in the review) to avoid
runtime module resolution errors.

In `@apps/provider-inventory/src/server.ts`:
- Around line 87-90: The current Promise named `exited` treats both "exit" and
"error" events on `ref` as a clean resolution, hiding worker failures; change it
so the "error" event causes the Promise to reject (or triggers process
termination with non-zero exit) while only the "exit" event resolves
successfully. Locate the `exited` Promise and update its handlers on `ref` to
call resolve on "exit" and call reject (or call process.exit(1) / propagate the
error) on "error", ensuring the parent process observes and fails on worker
errors instead of silently continuing.

In `@apps/provider-inventory/src/services/start-server/start-server.ts`:
- Around line 47-49: The guard using container.isRegistered(APP_INITIALIZER) is
non-recursive and can miss parent-registered initializers when startServer() is
invoked with a child container; change the check to
container.isRegistered(APP_INITIALIZER, true) so it matches
resolveAll(APP_INITIALIZER) behavior, then continue to await
Promise.all(container.resolveAll(APP_INITIALIZER).map(initializer =>
initializer[ON_APP_START]())); ensure you reference APP_INITIALIZER,
container.isRegistered, container.resolveAll, ON_APP_START and startServer when
making the change.

---

Nitpick comments:
In `@apps/provider-inventory/src/services/start-server/start-server.spec.ts`:
- Around line 169-171: The test currently hard-codes the DependencyContainer
mock's isRegistered to always return true so the branch where APP_INITIALIZER is
not registered is never exercised; change the mock for isRegistered to be
configurable (e.g., use vi.fn().mockImplementation((token) =>
input?.containerRegistered ?? true) or similar) and add a test case where
isRegistered returns false while resolveAll would have returned initializers;
assert that resolveAll(APP_INITIALIZER) is not called and the startup path that
skips initializers runs (locate the DependencyContainer mock, its isRegistered
and resolveAll methods, and the test calling the start-server routine in
start-server.spec.ts to implement this).

In `@apps/provider-inventory/tsup.config.ts`:
- Line 24: The onSuccess command currently replaces NODE_OPTIONS and loses any
existing flags; update the onSuccess branch in tsup.config.ts (the expression
using overrideOptions.watch and isProduction) to append --allow-worker to the
existing NODE_OPTIONS using shell parameter expansion rather than assigning a
new value so existing options are preserved when running the "npm run prod"
command in watch mode.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 515991e7-281d-4ed3-8d4a-88e0c486f36c

📥 Commits

Reviewing files that changed from the base of the PR and between 0ae0146 and 14ebb7d.

📒 Files selected for processing (9)
  • apps/provider-inventory/src/bootstrap-entry.ts
  • apps/provider-inventory/src/providers-sync-app.ts
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/rest-app.ts
  • apps/provider-inventory/src/server.ts
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts
  • apps/provider-inventory/src/services/start-server/start-server.ts
  • apps/provider-inventory/tsup.config.ts
💤 Files with no reviewable changes (2)
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/providers/index.ts

Comment thread apps/provider-inventory/src/bootstrap-entry.ts
Comment thread apps/provider-inventory/src/server.ts
Comment thread apps/provider-inventory/src/services/start-server/start-server.ts Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/provider-inventory/src/providers/drizzle.provider.ts`:
- Line 7: Replace the relative import of the model schemas with the project path
alias: change the import that brings in modelsSchema (currently `import * as
modelsSchema from "../model-schemas"`) to use the `@src/*` alias (e.g., `import
* as modelsSchema from "`@src/model-schemas`"`), update any build/tsconfig alias
config if needed, and ensure the symbol `modelsSchema` is still referenced
correctly in drizzle.provider.ts (and any export/consume sites).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 65b11cbf-bdd5-4599-aa9c-514eb15256fc

📥 Commits

Reviewing files that changed from the base of the PR and between 14ebb7d and d970d07.

📒 Files selected for processing (10)
  • apps/provider-inventory/src/bootstrap-entry.ts
  • apps/provider-inventory/src/providers-sync-app.ts
  • apps/provider-inventory/src/providers/drizzle.provider.ts
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/rest-app.ts
  • apps/provider-inventory/src/server.ts
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts
  • apps/provider-inventory/src/services/start-server/start-server.ts
  • apps/provider-inventory/tsup.config.ts
💤 Files with no reviewable changes (2)
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
✅ Files skipped from review due to trivial changes (1)
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts
🚧 Files skipped from review as they are similar to previous changes (6)
  • apps/provider-inventory/src/rest-app.ts
  • apps/provider-inventory/src/providers-sync-app.ts
  • apps/provider-inventory/tsup.config.ts
  • apps/provider-inventory/src/bootstrap-entry.ts
  • apps/provider-inventory/src/server.ts
  • apps/provider-inventory/src/services/start-server/start-server.ts

Comment thread apps/provider-inventory/src/providers/drizzle.provider.ts
@stalniy stalniy force-pushed the refactor/split-pi branch from d970d07 to ed5351d Compare May 20, 2026 09:36
@stalniy stalniy enabled auto-merge May 20, 2026 09:36
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
apps/provider-inventory/src/services/start-server/start-server.spec.ts (1)

169-171: ⚡ Quick win

Cover the unregistered-initializer path.

This mock always returns true, so the new guard's false branch is never exercised. Please add one case with isRegistered returning false and assert resolveAll and ON_APP_START are skipped.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/provider-inventory/src/services/start-server/start-server.spec.ts`
around lines 169 - 171, Add a test case in start-server.spec.ts that covers the
branch where the DependencyContainer reports not registered: create a mocked
DependencyContainer where isRegistered returns false and verify that resolveAll
is not called and ON_APP_START handlers are not invoked; update the existing
test suite that uses the mock<DependencyContainer> (the instance with
isRegistered, resolveAll) to include this scenario and assert resolveAll was not
called and any ON_APP_START side-effects were skipped when isRegistered returns
false.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/provider-inventory/src/providers-sync-app.ts`:
- Around line 29-31: Wrap the scheduler startup in an awaited try-catch: when
server is truthy, call await on
container.resolve(DiscoverySchedulerService).start() inside a try block; in the
catch log the error (including details) via the app logger/processLogger and
handle failure (e.g., stop the server or exit process with non-zero code or set
a health/failure flag) so the app does not continue accepting requests without a
running scheduler. Ensure you reference DiscoverySchedulerService.start() and
the container.resolve(...) call when making the change.

---

Nitpick comments:
In `@apps/provider-inventory/src/services/start-server/start-server.spec.ts`:
- Around line 169-171: Add a test case in start-server.spec.ts that covers the
branch where the DependencyContainer reports not registered: create a mocked
DependencyContainer where isRegistered returns false and verify that resolveAll
is not called and ON_APP_START handlers are not invoked; update the existing
test suite that uses the mock<DependencyContainer> (the instance with
isRegistered, resolveAll) to include this scenario and assert resolveAll was not
called and any ON_APP_START side-effects were skipped when isRegistered returns
false.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 47ae0327-b166-4639-b26a-1f6645626f6c

📥 Commits

Reviewing files that changed from the base of the PR and between d970d07 and ed5351d.

📒 Files selected for processing (10)
  • apps/provider-inventory/src/bootstrap-entry.ts
  • apps/provider-inventory/src/providers-sync-app.ts
  • apps/provider-inventory/src/providers/drizzle.provider.ts
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/rest-app.ts
  • apps/provider-inventory/src/server.ts
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts
  • apps/provider-inventory/src/services/start-server/start-server.ts
  • apps/provider-inventory/tsup.config.ts
💤 Files with no reviewable changes (2)
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts

Comment thread apps/provider-inventory/src/providers-sync-app.ts
@stalniy stalniy force-pushed the refactor/split-pi branch from ed5351d to 887f094 Compare May 20, 2026 10:04
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
apps/provider-inventory/src/providers-sync-app.ts (1)

29-35: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Await scheduler startup in Line 31 so rollback actually works.

try/catch here only handles sync throws; if start() is async, rejection will escape and server.close() won’t run.

Proposed fix
   if (server) {
     try {
-      container.resolve(DiscoverySchedulerService).start();
+      await container.resolve(DiscoverySchedulerService).start();
     } catch (error) {
       server.close();
       throw error;
     }
   }
#!/bin/bash
set -euo pipefail

# Verify whether DiscoverySchedulerService.start is async / Promise-returning.
fd discovery-scheduler.service.ts --type f | while read -r f; do
  echo "=== $f ==="
  rg -n -C3 'class\s+DiscoverySchedulerService|start\s*\(' "$f"
done
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/provider-inventory/src/providers-sync-app.ts` around lines 29 - 35, The
try/catch currently only handles synchronous throws from
container.resolve(DiscoverySchedulerService).start(); make the startup awaited
so rejections trigger the catch and run server.close(): change the surrounding
logic to await the Promise returned by DiscoverySchedulerService.start (i.e.,
call await container.resolve(DiscoverySchedulerService).start()), ensure the
enclosing function is async or otherwise handles the returned Promise, and keep
the existing catch block to call server.close() and rethrow the error so
rollback actually executes on async failures.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/provider-inventory/src/server.ts`:
- Around line 12-15: The code uses parseInt(rawAppConfig.PORT) which accepts
malformed inputs like "3092foo" and later when INTERFACE === "all" derives
worker ports that can exceed 65535; update the PORT validation (where
rawAppConfig.PORT is parsed into port) to strictly accept only a numeric string
(e.g. /^\d+$/), convert to a Number, verify it's an integer within 0–65535, and
on failure throw or exit with a clear error; additionally, before calling
bootstrapInWorker in the INTERFACE === "all" branch check that port + index <=
65535 for each SUPPORTED_INTERFACES index (or refuse startup if any would
overflow) so bootstrapInWorker({ PORT: String(port + index), INTERFACE:
interfaceName }) always receives a valid port.

In `@apps/provider-inventory/tsup.config.ts`:
- Line 24: The onSuccess command currently embeds a POSIX-only env var
assignment string ("NODE_OPTIONS='--allow-worker' npm run prod") which will fail
on Windows; change the onSuccess value to use cross-env (e.g., "cross-env
NODE_OPTIONS=--allow-worker npm run prod") so the environment variable is set
portably, and update the same pattern in the other tsup config (the occurrence
that also uses onSuccess / overrideOptions.watch and isProduction).

---

Duplicate comments:
In `@apps/provider-inventory/src/providers-sync-app.ts`:
- Around line 29-35: The try/catch currently only handles synchronous throws
from container.resolve(DiscoverySchedulerService).start(); make the startup
awaited so rejections trigger the catch and run server.close(): change the
surrounding logic to await the Promise returned by
DiscoverySchedulerService.start (i.e., call await
container.resolve(DiscoverySchedulerService).start()), ensure the enclosing
function is async or otherwise handles the returned Promise, and keep the
existing catch block to call server.close() and rethrow the error so rollback
actually executes on async failures.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ac5f272a-618d-4d65-9d2b-f4fdc65748fd

📥 Commits

Reviewing files that changed from the base of the PR and between ed5351d and 887f094.

📒 Files selected for processing (10)
  • apps/provider-inventory/src/bootstrap-entry.ts
  • apps/provider-inventory/src/providers-sync-app.ts
  • apps/provider-inventory/src/providers/drizzle.provider.ts
  • apps/provider-inventory/src/providers/index.ts
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/rest-app.ts
  • apps/provider-inventory/src/server.ts
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts
  • apps/provider-inventory/src/services/start-server/start-server.ts
  • apps/provider-inventory/tsup.config.ts
💤 Files with no reviewable changes (2)
  • apps/provider-inventory/src/providers/stream-boostrap.provider.ts
  • apps/provider-inventory/src/providers/index.ts
✅ Files skipped from review due to trivial changes (1)
  • apps/provider-inventory/src/services/start-server/start-server.spec.ts

Comment thread apps/provider-inventory/src/server.ts
Comment thread apps/provider-inventory/tsup.config.ts
@stalniy stalniy added this pull request to the merge queue May 20, 2026
Merged via the queue into main with commit 8f9b64e May 20, 2026
56 checks passed
@stalniy stalniy deleted the refactor/split-pi branch May 20, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants