Skip to main content
← Back to list
01Issue
BugShippedSwamp CLI
Assigneeskeeb

Relationships

#903 Local extension files (export const extension) are indexed but methods not merged into target types

Opened by dmc · 7/1/2026· Shipped 7/1/2026

Description

Local TypeScript files in extensions/models/ that use export const extension are recognized and indexed by swamp doctor extensions (shown as Indexed), but the methods they declare are never merged into their target types.

Steps to Reproduce

  1. Create extensions/models/foo.ts with:
    export const extension = {
      type: '@keeb/docker/compose',
      methods: [{ myMethod: { description: '...', arguments: z.object({}), execute: async () => ({}) } }]
    };
  2. swamp doctor extensions --verbose shows the file as Indexed
  3. swamp model method run <any-compose-model> myMethodUnknown method 'myMethod'

Affected Files

  • extensions/models/docker_compose_deploy.ts — extends @keeb/docker/compose with deploy, tailscaleAuthUrl, etc.
  • extensions/models/docker_engine_rocky.ts — extends @keeb/docker/engine
  • Any new local extension file (reproduced with a fresh goldpinger extension)

Expected Behavior

Methods from local export const extension files should be merged into the target type at runtime, the same way methods from pulled-extension packages (e.g. @dmc/proxmox's proxmox_vm_extras.ts) are successfully merged into @keeb/proxmox/vm.

Environment

  • swamp version: 20260701.000413.0-sha.eaa21300
  • Extension source: extensions/models (configured, confirmed via swamp extension source list)
  • Trust: swamp, swamp_lord, john, keeb all trusted
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 4 MOREPR_MERGED+ 1 MORECONTRIBUTOR_NOTIFIED

Shipped

7/1/2026, 4:45:54 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
keeb assigned keeb7/1/2026, 3:36:06 AM
Editable. Press Enter to edit.

keeb commented 7/1/2026, 4:45:56 AM

Thanks @dmc for reporting this! The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.