Commit Graph

1749 Commits

Author SHA1 Message Date
Nathan Rajlich 0b848cd25f [swc-plugin-workflow] Fix compiler warnings (#348) 2025-11-15 19:26:48 -08:00
Nathan Rajlich 45b7b41055 Add support for defining model as a step function initializer in DurableAgent (#346)
Added support for defining `model` as a step function initializer in the AI workflow package.

### What changed?

- Modified the `DurableAgent` class to accept either a string model ID or a function that returns a `LanguageModelV2` instance
- Updated the `doStreamStep` function to handle both string model IDs and function initializers
- Added proper error handling for invalid model initialization arguments

### How to test?

Test both initialization methods:

1. Using a string model ID:
```typescript
const agent = new DurableAgent({
  model: 'anthropic/claude-opus',
  // other options
});
```

2. Using a step function initializer:
```typescript
import { xai } from "@ai-sdk/xai"

const agent = new DurableAgent({
  model: async () => {
    "use step";
    return xai("grok-4");
  },
  // other options
});
```

### Why make this change?

This enhancement provides more flexibility in how language models are initialized and used within the workflow. By supporting function initializers, users can now:

- Use custom model instances with specialized configurations
- Implement more complex model initialization logic that wasn't possible with just string identifiers
2025-11-15 19:24:59 -08:00
Nathan Rajlich aecdcdfb75 Add support for step functions nested inside of workflow functions (#345)
Added support for nested step functions inside workflow functions, improving the SWC plugin's ability to handle complex workflow patterns.

### What changed?

- Added support for nested step functions inside workflow functions
- Implemented hoisting of nested step functions in step mode
- Added tracking of default exports that need to be replaced with expressions
- Refactored function processing logic into a dedicated `process_stmt` method
- Fixed directive detection and removal in various contexts
- Improved handling of workflow functions with both file-level and inline directives
- Added conditional body replacement for workflow functions based on directive source
- Added test cases for nested step functions in workflow functions

### How to test?

1. Create a workflow function with a nested step function:
```javascript
export async function example(a, b) {
  "use workflow";

  async function step(a, b) {
    "use step";
    return a + b;
  }

  const val = await step(a, b);
  return val;
}
```

2. Verify the output in different modes:
   - Step mode: The nested step function is hoisted to module level
   - Workflow mode: The nested step function is replaced with a proxy reference
   - Client mode: The workflow function throws an error when called directly

### Why make this change?

This change enables more complex workflow patterns by allowing step functions to be defined inside workflow functions. Previously, all step functions had to be defined at the module level, which limited code organization options. With this change, developers can define step functions closer to where they're used, improving code readability and maintainability while still ensuring proper transformation for all execution modes.
2025-11-15 19:22:42 -08:00
Nathan Rajlich 8002e0f5d3 Add support for step functions defined as object properties (#342)
Added support for step functions defined as object properties in the SWC plugin.

### What changed?

This PR extends the SWC plugin to support step functions defined as object properties. It now handles three different patterns:

1. Arrow functions in object properties: `tool({ execute: async () => { "use step"; ... } })`
2. Function expressions in object properties: `tool({ execute: async function() { "use step"; ... } })`
3. Method syntax in objects: `tool({ async execute() { "use step"; ... } })`

The implementation:
- Detects "use step" directives in object property functions
- Hoists these functions in step mode
- Converts them to step initializer calls in workflow mode
- Properly tracks and registers these functions with appropriate identifiers
- Updates metadata generation to include object property step functions

### How to test?

Test with various object property function patterns:

```javascript
// Arrow function in object property
const weatherTool = tool({
  execute: async ({ location }) => {
    "use step";
    return { location, temperature: 72 };
  }
});

// Function expression in object property
const timeTool = tool({
  execute: async function() {
    "use step";
    return { time: new Date().toISOString() };
  }
});

// Method syntax
const dateTool = tool({
  async execute() {
    "use step";
    return { date: new Date().toDateString() };
  }
});
```

### Why make this change?

This change enables a common pattern in JavaScript where functions are defined as object properties, particularly in AI SDK tool definitions. 

Previously, the SWC plugin only supported top-level function declarations and expressions with the `"use step"` directive. This enhancement provides a more natural developer experience by allowing step functions to be defined directly within their object context.
2025-11-14 23:34:27 -08:00
Nathan Rajlich 6be03f327c Use "stepId" instead of Symbol.for("STEP_FUNCTION_NAME_SYMBOL") for annotating step functions (#341)
Replace `Symbol.for("WORKFLOW_STEP_FUNCTION_NAME")` with a standard `stepId` property for step function annotation.

### What changed?

- Replaced the use of `STEP_FUNCTION_NAME_SYMBOL` (a Symbol) with a regular `stepId` property on step functions
- Updated the serialization logic to check for the `stepId` property instead of the Symbol
- Removed the `STEP_FUNCTION_NAME_SYMBOL` constant from symbols.ts
- Updated tests to reflect this change in implementation

### Why make this change?

This more closely resembles how Workflow functions are annotated with a `workflowId` property.
2025-11-14 23:16:11 -08:00
Nathan Rajlich 5eb588a020 Remove step function identifier transform out of swc-plugin and into useStep() runtime function (#337)
Improved step function serialization by moving the function name symbol definition from the SWC plugin to the runtime.

### What changed?

- Modified `createUseStep` in `packages/core/src/step.ts` to accept a `stepFunctionName` parameter and apply both the name property and the `WORKFLOW_STEP_FUNCTION_NAME` symbol directly to the step function at creation time
- Removed the code in the SWC plugin that was previously responsible for adding the `WORKFLOW_STEP_FUNCTION_NAME` symbol to step functions
- Updated all test outputs to reflect the removal of the redundant symbol definition code

### How to test?

1. Run the existing test suite to ensure all tests pass
2. Create a workflow with step functions and verify that:
   - Step functions maintain their original function names
   - Step functions have the `WORKFLOW_STEP_FUNCTION_NAME` symbol properly attached
   - Serialization and deserialization of step functions works correctly

### Why make this change?

This change improves the architecture by:
1. Moving the responsibility for defining step function metadata to the runtime where it belongs
2. Ensuring step functions maintain their original names, which helps with debugging and error messages
3. Reducing redundancy by defining the symbol in one place instead of having the SWC plugin generate it for each function
4. Making the code more maintainable by centralizing the step function creation logic
2025-11-14 23:07:09 -08:00
Nathan Rajlich f07b2da60f feat: Transform step functions to single useStep() calls via const assignments (#336)
- Modified SWC plugin to convert exported step functions to const declarations
- Instead of wrapping functions (calling useStep on every invocation), functions are now assigned directly to the result of useStep() call
- This ensures useStep() is called only once at module initialization, improving performance
- Applies to both file-level and function-level 'use step' directives
- All step function exports now use pattern: export const fn = globalThis[Symbol.for('WORKFLOW_USE_STEP')](stepId, fnName)
- Updated all test fixtures to reflect the new transformation

Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-14 15:42:17 -08:00
Pranay Prakash 945a946812 Normalize Workbenches (#283)
* Normalize Workbenches

Normalize trigger scripts across workbenches
fix: include hono in local build test

test: include src dir for test

test: add workflow dir config in test to fix sveltekit dev tests

add temp 7_full in example wokrflow

format

fix(sveltekit): detecting workflow folders and customizable dir

Remove 7_full and 1_simple error
replace API symlink in webpack workbench
Fix sveltekit and vite tests
Fix sveltekit symlinks
Test fixes
Fix sveltekit workflows path
Dont symlink routes in vite
Include e2e tests for hono and vite

fix error tests post normalization

wip - attempted fixes

* Add claude demo command

* fix: normalize workbench tests (#292)

* Proper stacktrace propogation in world

Proper stacktrace propogation in world

* Standardize the error type in the world spec

* Normalize Workbenches

Normalize trigger scripts across workbenches
fix: include hono in local build test

test: include src dir for test

test: add workflow dir config in test to fix sveltekit dev tests

add temp 7_full in example wokrflow

format

fix(sveltekit): detecting workflow folders and customizable dir

Remove 7_full and 1_simple error
replace API symlink in webpack workbench
Fix sveltekit and vite tests
Fix sveltekit symlinks
Test fixes
Fix sveltekit workflows path
Dont symlink routes in vite
Include e2e tests for hono and vite

* fix error tests post normalization

* fix(sveltekit): reading file on hmr delete

* changeset

* fix(vite): add resolve symlink script

* fix(vite): missing building on hmr

* test local builder in vite

* test: increase timeout on hookWorkflow

* test: ignore vite based apps in crossFileWorkflow

* test: fix nitro based apps status codes

* fix: intercept default vite spa handler on 404 workflow routes

* fix: vite hook route returning 422

* test: use 422 for hookWorkflow expected

* test: fix hono returning 404

* chore: add comment to middleware to clarify

* make api route for duplicate case

* revert

* revert: nitro builder

* add back nitro unhandled rejection logic

* test: add hono

* changeset

* fix: unused method

* fix: remove duplicate import

* remove

* chore: add comments to clarify

* test remove vite symlink script

---------

Co-authored-by: Pranay Prakash <pranay.gp@gmail.com>

* refactor: add top level resolve symlinks script

* fix: cleanup builder directories (#319)

* fix: add sveltekit server routes to builder

* fix: remove root workflow dir check

* fix missing root level workflow route

* Fix: The constructor now hardcodes `dirs: ['src/routes', 'src/lib']` which silently ignores any user\-provided `dirs` option passed to the plugin\, breaking the documented API and removing support for custom workflow directories\.

* Fix: The test expectations don\'t match the new implementation of `getWorkflowDirs()`\. The mock provides `scanDirs` which the new code no longer uses\, and the new implementation adds scanning of `routesDir` and `apiDir` instead\.

* fix(nitro): use src dir

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* refactor(nitro): use suppressUndefinedRejections

* revert: sveltekit builder

---------

Co-authored-by: Adrian <me@adriandlam.com>
Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-14 10:13:06 -08:00
Adrian 9e179a8c23 ci: move linting links to separate job (#339)
* ci: move linting links to separate job

* ci: add lint workflow

* ci: update job name

* ci: remove bun setup
2025-11-13 19:57:20 -08:00
Peter Wielander 04e7626808 Fix build for nitro v2 (#335) 2025-11-13 12:02:24 -08:00
Saatvik Arya aa015af89d feat(world-local): add baseUrl config and improve port handling (#260) 2025-11-13 11:30:57 -08:00
Adrian 7ced2d6550 refactor(builder): add suppressUndefinedRejections (#327)
* refactor(builder): add suppressUndefinedRejections

* fix where undefined rejection line should be

* refactor
2025-11-13 11:19:26 -08:00
Pranay Prakash 498bde261d New stream docs and imrpove serializaiton docs (#328) 2025-11-13 07:12:38 -08:00
Gal Schlezinger 85ce8e024b core: add waitUntil wrapping for toplevel commands for transaction-like behavior (#330)
* wip: add waituntil to toplevel requests

i'll revert this because we should waituntil for the entire operation and not the discrete ones

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

* Revert "wip: add waituntil to toplevel requests"

This reverts commit 8da40b86c85265d0d5a4bc78e6a404475d44e514.

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

* core: add waitUntil to start and resumeHook

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

* changeset

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

---------

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>
2025-11-13 10:24:17 +02:00
Nathan Rajlich 58f3fe7bd8 Fix Windows unit test invocation command (#321)
Fixes:

```
Error: @workflow/core#test: command (D:\a\workflow\workflow\packages\core) C:\Users\runneradmin\setup-pnpm\node_modules\.bin\.tools\pnpm\10.20.0\bin\pnpm.CMD run test exited (1)
> @workflow/core@4.0.1-beta.11 test D:\a\workflow\workflow\packages\core
> WORKFLOW_TARGET_WORLD=embedded vitest run src

'WORKFLOW_TARGET_WORLD' is not recognized as an internal or external command,
operable program or batch file.
 ELIFECYCLE  Test failed. See above for more details.
```
2025-11-12 23:36:45 -08:00
Adrian 1e9535f36a fix: @workflow/nuxt default module (#326)
* refactor: remove redundant satisfies clause

* .

* .

* .
2025-11-12 19:53:52 -08:00
Nathan Rajlich f8e5d10ffa Support passing step function references across serialization boundaries (#307)
---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-12 17:54:09 -08:00
Nathan Rajlich d113251548 Add 'Pass-by-Value Semantics' section to serialization docs (#254)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-12 17:52:29 -08:00
Pranay Prakash c43bc2a46a fix typo in external PR 2025-11-12 20:36:53 -05:00
vercel[bot] 6419962496 Fix grammar errors in documentation (#320)
* Fix grammar errors in documentation

Fixed grammar errors in the documentation as requested.

## Changes Made

**Modified Files:**
- `CLAUDE.md` - Fixed 3 grammar errors:
  - "propogate" → "propagate" 
  - "changeset" → "changesets" (added missing plural)
  - "amke chagnesets" → "make changesets"
  - Added missing closing quote for "**BREAKING CHANGE**"

- `docs/content/docs/foundations/index.mdx` - Fixed 2 grammar errors:
  - "real world" → "real-world" (hyphenated compound adjective)
  - "go a long way in using workflows" → "go a long way in helping you use workflows effectively" (improved clarity and grammar)

- `docs/content/docs/foundations/workflows-and-steps.mdx` - Fixed 2 grammar errors:
  - "resume to workflow" → "resume the workflow" 
  - "each time, using" → "each time using" (removed unnecessary comma)
  - "workflows are run in" → "workflows run in" (improved verb form)

- `docs/content/docs/foundations/errors-and-retries.mdx` - Fixed 3 grammar errors:
  - Missing space: "RetryableError`](/docs...)and" → "RetryableError`](/docs...) and"
  - "we've learnt" → "we've learned" (consistent American English)
  - "Rolling back failed steps" → "Rolling Back Failed Steps" (proper title case)

- `packages/workflow/README.md` - Fixed 1 grammar error:
  - "engineers are" → "engineers are:" (added missing colon before list)

## Summary

Total of 11 grammar errors fixed across 5 documentation files. The fixes include:
- Spelling corrections (propogate → propagate, learnt → learned)
- Punctuation improvements (missing spaces, colons, quotes)
- Grammatical improvements (verb forms, compound adjectives)
- Style consistency (American English, title case)

All changes maintain the original meaning and formatting while improving readability and professional presentation of the documentation.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>

* Changeset

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: Peter Wielander <mittgfu@gmail.com>
2025-11-12 17:35:57 -08:00
Joe Innes 8e96134930 Add .svelte-kit to ignored paths (#276) 2025-11-12 16:57:24 -08:00
JJ Kasper b97b6bfaba Lock all dependencies in our packages (#318)
* Lock all dependencies in our packages

* fix type

* add savePrefix config

* add changeset
2025-11-12 14:26:01 -08:00
Peter Wielander ed1c71f516 [docs] add o11y hint at the end of example code (#313) 2025-11-12 10:45:05 -08:00
Peter Wielander c1ccdc8546 Add changeset for community PR (#315) 2025-11-12 10:44:53 -08:00
Nathan Rajlich 79480f2e25 Clean up Hook entities after a workflow run has completed (#311) 2025-11-12 10:42:21 -08:00
Zhuo Jinggang 96c79f2eb4 [web-shared] Cache world instantiation in server actions (#304)
Signed-off-by: zhuojg <zhuojg1519@outlook.com>
2025-11-12 10:38:47 -08:00
Adrian 281292cdd8 fix: world-postgres tests (#314)
* fix: world-postgres db:push script

* fix: test truncating wrong table names
2025-11-12 10:05:11 -08:00
Paul-Henri Leobon 5790cb2d5d World postgres drizzle migrator (#312)
* Use drizzle migrator

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>

* Changeset

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>

---------

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>
2025-11-12 09:10:47 -08:00
Paul-Henri Leobon a6f554579f World postgres minor fixes (#306)
* Update migration

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>

* Use schema + respect params

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>

* Changeset

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>

---------

Signed-off-by: paulhenri-l <25308170+paulhenri-l@users.noreply.github.com>
2025-11-12 08:59:47 -08:00
Gal Schlezinger 9335026a2b workflow: stub workflow/api package so it can be referenced in a workflow context (#290)
* workflow: stub workflow/api package so it can be referenced in a workflow context

what's not allowed is to call these functions, so let's stub them and make them fail in runtime.
i guess that eventually we will actually implement some of them (start or resumeHook or whatever) in a durable way.

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

* changeset

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

* Update packages/workflow/src/api-workflow.ts

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>

---------

Signed-off-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-12 11:16:46 +02:00
Pranay Prakash 00b0bb9346 Proper error stack propogating (#280)
* Proper stacktrace propogation in world

Proper stacktrace propogation in world

* Merge Reconciliation

* Standardize the error type in the world spec

* Deduplicate vercel world utils

* fix undefined type issue

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-11-11 15:34:04 -08:00
Vercel Release Bot 70429e499c Version Packages (beta) (#275) @workflow/world-postgres@4.1.0-beta.9 @workflow/world-testing@4.0.1-beta.14 workflow@4.0.1-beta.13 @workflow/nitro@4.0.1-beta.13 @workflow/next@4.0.1-beta.13 @workflow/cli@4.0.1-beta.13 @workflow/ai@4.0.1-beta.13 @workflow/web-shared@4.0.1-beta.12 @workflow/core@4.0.1-beta.11 @workflow/web@4.0.1-beta.10 @workflow/builders@4.0.1-beta.9 @workflow/world-vercel@4.0.1-beta.7 @workflow/world-local@4.0.1-beta.7 @workflow/swc-plugin@4.0.1-beta.5 @workflow/nuxt@4.0.1-beta.2 @workflow/sveltekit@4.0.0-beta.7 2025-11-11 11:59:23 -08:00
Peter Wielander 2dca0d43b3 [world-vercel] Use custom user-agent for API requests (#297) 2025-11-11 09:33:16 -08:00
Nathan Rajlich 0668077cda Remove redundant "outputs" configuration from root turbo.json (#302)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-11 09:13:39 -08:00
Nathan Rajlich 94d46d423a Refactor @workflow/next to dynamically import @workflow/builders (#296)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-10 23:08:09 -08:00
Peter Wielander 68363b247f Fix pagination resumption in local world (#299) 2025-11-10 20:35:53 -08:00
Nathan Rajlich 2b880f90cb [world-local] Implement Hook "token" uniqueness validation (#295)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-10 15:16:05 -08:00
Peter Wielander 11469d8fd2 CLI/Web: Update fallback directory for embedded world (#291) 2025-11-10 11:54:00 -08:00
Nathan Rajlich 6373ab5a1f resumeHook() now throws errors (#286)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-09 13:26:38 -08:00
Copilot 8208b5320b Fix Sourcemap Tracking (#256)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-11-09 12:08:48 -08:00
Pranay Prakash 6ec95c37b3 Actually use webpack (#284)
After bumping to next 16, we forgot to set --webpack in next dev and 
build
2025-11-08 18:25:49 -08:00
Peter Wielander 00efdfb063 Web: Improve trace viewer load times and loading animation (#270) 2025-11-08 10:21:57 -08:00
Pranay Prakash aac1b6cd20 Make env readonly and frozen in vm (#274) 2025-11-08 09:44:12 -05:00
Nathan Rajlich de04cea3dc Finish renaming "embedded" world to "local" in docs (#269)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-07 23:30:47 -08:00
Copilot 4f9ae4e8de Remove step function transformation in client mode (#271) 2025-11-07 22:32:29 -08:00
Nathan Rajlich 120ae06115 Improvements to docs emphasizing the 'schema' property usage (#257)
Signed-off-by: Nathan Rajlich <n@n8.io>
2025-11-07 19:33:16 -08:00
Pranay Prakash 49aa624732 Fix: Make Nuxt package public and use Apache license (#273) 2025-11-07 18:15:08 -08:00
Vercel Release Bot 7bad9d454f Version Packages (beta) (#230) @workflow/world-postgres@4.1.0-beta.8 @workflow/world-testing@4.0.1-beta.13 workflow@4.0.1-beta.12 @workflow/nitro@4.0.1-beta.12 @workflow/next@4.0.1-beta.12 @workflow/cli@4.0.1-beta.12 @workflow/ai@4.0.1-beta.12 @workflow/web-shared@4.0.1-beta.11 @workflow/core@4.0.1-beta.10 @workflow/web@4.0.1-beta.9 @workflow/builders@4.0.1-beta.8 @workflow/world-vercel@4.0.1-beta.6 @workflow/world-local@4.0.1-beta.6 @workflow/swc-plugin@4.0.1-beta.4 @workflow/utils@4.0.1-beta.2 @workflow/sveltekit@4.0.0-beta.6 2025-11-07 16:39:45 -08:00
Sébastien Chopin fb8153bec4 feat: add Nuxt module and documentation (#187)
* feat: add Nuxt module and documentation

* fix: add the prepare in the build command

* Apply suggestion from @vercel[bot]

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* chore: simplify usage without /nuxt

* wip

* Update nuxt.mdx

Co-Authored-By: Daniel Roe <daniel@roe.dev>

* add clean command and ignore prepare

* use @workflow/nitro

* Changeset

Added a Nuxt module and updated documentation accordingly.

* feat: enable typescript plugin in tsconfig

* chore: revert accordion value

* chore: use symlink

* fix: json parsing in trigger route for nitro-v2

* ci: add e2e tests for nuxt

* ci: add nuxt to test matrix

* chore: make sure to add /nuxt to avoid conflicts when importing entry-points

* chore: move typescriptPlugin option to Nitro

* chore: body is already parsed

* fix: use readRawBody

* fix: use rawBody in hook.post too

* chore: add missing import (but not required)

* chore: update pm

* Create resolve-symlinks.sh

* chore: add also node-rs/xxhash

* Update create-test-matrix.mjs

* update matrix

* Update create-test-matrix.mjs

* remove symlink to nitro-v2

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
Co-authored-by: Pranay Prakash <pranay.gp@gmail.com>
Co-authored-by: Adrian Lam <me@adriandlam.com>
2025-11-08 01:10:59 +01:00
Adrian adf0cfeb91 feat: add getPort for detecting pid port (#233)
* feat: add getPort method for detecting pid port

* lockfile

* update tests and fix getPort usage

* changeset

* docs: update sveltekit getting started

* fix: use pid-port

* fix: not using config port env

* fix: remove unused getPort from world core

* remove unused stuff

* fix: world local config returning port 3000 as fallback

* changeset

* fix: rebase conflicts

* fix: util test missing http import

* changeset

* fix: wrong import for getPort in core runtime

* fix: getPort in @workflow/utils being imported into workflow runtime

* test: simplify sveltekit test

* fix missing import in test

* fix: async await stuff with getPort

* refactor: move getPort to @workflow/utils/get-port

* test: simplfiy getPort tests

* test: fix sveltekit ports
2025-11-07 14:36:36 -08:00