Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jan 25, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@resourcexjs/registry@2.4.0

Minor Changes

  • 8669eb7: feat: introduce BundledType for sandbox-compatible execution

    Breaking changes:

    • ResourceType.resolver closure replaced with BundledType.code string
    • textType, jsonType, binaryType are now BundledType (pre-bundled)
    • Registry.supportType() now accepts BundledType instead of ResourceType
    • TypeHandlerChain.register() now accepts BundledType

    New exports:

    • BundledType interface - pre-bundled type with code string
    • SandboxType - "none" | "isolated" | "container"
    • bundleResourceType() - bundle custom types from source files

    Migration:

    // Before (closure-based)
    const customType: ResourceType = {
      name: "custom",
      resolver: {
        schema: undefined,
        async resolve(rxr) { ... }
      }
    };
    
    // After (code string)
    const customType: BundledType = {
      name: "custom",
      description: "Custom type",
      code: `({ async resolve(rxr) { ... } })`,
      sandbox: "none"
    };
  • 7a46fbf: refactor: remove serializer from ResourceType, unify storage format

    Breaking Changes:

    • Removed ResourceSerializer interface from @resourcexjs/type
    • Removed serializer field from ResourceType interface
    • Removed serialize() and deserialize() methods from TypeHandlerChain

    Migration:

    If you have custom resource types with serializers, remove the serializer field:

    // Before
    const customType: ResourceType = {
      name: "custom",
      description: "Custom type",
      serializer: customSerializer, // Remove this
      resolver: customResolver,
    };
    
    // After
    const customType: ResourceType = {
      name: "custom",
      description: "Custom type",
      resolver: customResolver,
    };

    Internal Changes:

    • Registry now uses unified storage format (manifest.json + archive.tar.gz)
    • Storage/retrieval uses archive.buffer() directly instead of type-specific serialization
    • Type validation happens at add() time via typeHandler.canHandle()
  • f9e6bdf: feat: implement sandbox execution architecture

    • Add ResolverExecutor for executing bundled code in SandboX
    • Add ResolveContext type for sandbox-safe data passing
    • Update TypeHandlerChain to only manage types (no execution)
    • Bundle builtin types with real ESM code via Bun.build
    • Support both ESM bundled and legacy object literal code formats
    • Add srt isolator support with configurable isolation levels
    • Add isolator tests for text, json, and custom types

Patch Changes

  • Updated dependencies [8669eb7]
  • Updated dependencies [7a46fbf]
  • Updated dependencies [f9e6bdf]
    • @resourcexjs/type@2.4.0
    • @resourcexjs/core@2.4.0
    • @resourcexjs/loader@2.4.0
    • @resourcexjs/arp@2.4.0

resourcexjs@2.4.0

Minor Changes

  • 8669eb7: feat: introduce BundledType for sandbox-compatible execution

    Breaking changes:

    • ResourceType.resolver closure replaced with BundledType.code string
    • textType, jsonType, binaryType are now BundledType (pre-bundled)
    • Registry.supportType() now accepts BundledType instead of ResourceType
    • TypeHandlerChain.register() now accepts BundledType

    New exports:

    • BundledType interface - pre-bundled type with code string
    • SandboxType - "none" | "isolated" | "container"
    • bundleResourceType() - bundle custom types from source files

    Migration:

    // Before (closure-based)
    const customType: ResourceType = {
      name: "custom",
      resolver: {
        schema: undefined,
        async resolve(rxr) { ... }
      }
    };
    
    // After (code string)
    const customType: BundledType = {
      name: "custom",
      description: "Custom type",
      code: `({ async resolve(rxr) { ... } })`,
      sandbox: "none"
    };
  • f9e6bdf: feat: implement sandbox execution architecture

    • Add ResolverExecutor for executing bundled code in SandboX
    • Add ResolveContext type for sandbox-safe data passing
    • Update TypeHandlerChain to only manage types (no execution)
    • Bundle builtin types with real ESM code via Bun.build
    • Support both ESM bundled and legacy object literal code formats
    • Add srt isolator support with configurable isolation levels
    • Add isolator tests for text, json, and custom types

Patch Changes

  • Updated dependencies [8669eb7]
  • Updated dependencies [7a46fbf]
  • Updated dependencies [f9e6bdf]
    • @resourcexjs/type@2.4.0
    • @resourcexjs/registry@2.4.0
    • @resourcexjs/core@2.4.0
    • @resourcexjs/loader@2.4.0
    • @resourcexjs/arp@2.4.0

@resourcexjs/type@2.4.0

Minor Changes

  • 8669eb7: feat: introduce BundledType for sandbox-compatible execution

    Breaking changes:

    • ResourceType.resolver closure replaced with BundledType.code string
    • textType, jsonType, binaryType are now BundledType (pre-bundled)
    • Registry.supportType() now accepts BundledType instead of ResourceType
    • TypeHandlerChain.register() now accepts BundledType

    New exports:

    • BundledType interface - pre-bundled type with code string
    • SandboxType - "none" | "isolated" | "container"
    • bundleResourceType() - bundle custom types from source files

    Migration:

    // Before (closure-based)
    const customType: ResourceType = {
      name: "custom",
      resolver: {
        schema: undefined,
        async resolve(rxr) { ... }
      }
    };
    
    // After (code string)
    const customType: BundledType = {
      name: "custom",
      description: "Custom type",
      code: `({ async resolve(rxr) { ... } })`,
      sandbox: "none"
    };
  • 7a46fbf: refactor: remove serializer from ResourceType, unify storage format

    Breaking Changes:

    • Removed ResourceSerializer interface from @resourcexjs/type
    • Removed serializer field from ResourceType interface
    • Removed serialize() and deserialize() methods from TypeHandlerChain

    Migration:

    If you have custom resource types with serializers, remove the serializer field:

    // Before
    const customType: ResourceType = {
      name: "custom",
      description: "Custom type",
      serializer: customSerializer, // Remove this
      resolver: customResolver,
    };
    
    // After
    const customType: ResourceType = {
      name: "custom",
      description: "Custom type",
      resolver: customResolver,
    };

    Internal Changes:

    • Registry now uses unified storage format (manifest.json + archive.tar.gz)
    • Storage/retrieval uses archive.buffer() directly instead of type-specific serialization
    • Type validation happens at add() time via typeHandler.canHandle()
  • f9e6bdf: feat: implement sandbox execution architecture

    • Add ResolverExecutor for executing bundled code in SandboX
    • Add ResolveContext type for sandbox-safe data passing
    • Update TypeHandlerChain to only manage types (no execution)
    • Bundle builtin types with real ESM code via Bun.build
    • Support both ESM bundled and legacy object literal code formats
    • Add srt isolator support with configurable isolation levels
    • Add isolator tests for text, json, and custom types

Patch Changes

  • @resourcexjs/core@2.4.0

@resourcexjs/loader@2.4.0

Patch Changes

  • @resourcexjs/core@2.4.0

@resourcexjs/arp@2.4.0

@resourcexjs/core@2.4.0

@github-actions github-actions bot force-pushed the changeset-release/main branch 7 times, most recently from f6d0b00 to 129f207 Compare January 26, 2026 06:49
@github-actions github-actions bot force-pushed the changeset-release/main branch from 129f207 to 4297d88 Compare January 26, 2026 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant