feat(vision): add the opt-in image-recognition bundle

Mounts the capability seam, the configurable HTTP provider, and the
model-facing recognition consumer. Not in any default profile's bundles
list — a user opts in per profile.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Pine
2026-08-14 10:58:29 +08:00
parent 457304e619
commit 5e962b8a8d
5 changed files with 143 additions and 0 deletions
@@ -0,0 +1,30 @@
/**
* Package-owned invariant companion for `@deepseek-ai/dsh-image-recognition-bundle`.
* @module @deepseek-ai/dsh-image-recognition-bundle/invariant
*/
/* jscpd:ignore-start */
import type { Context } from '@deepseek-ai/cordis'
import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants'
const PACKAGE_NAME = '@deepseek-ai/dsh-image-recognition-bundle'
/** Cordis companion plugin name. */
export const name = 'image-recognition-bundle-invariant'
/** Service required before the companion can reserve package ownership. */
export const inject = ['invariants']
/**
* No runtime invariant: this bundle mounts a patch and owns no runtime state;
* the mounted capability's providers and consumer assert their own relations.
*/
const install: InvariantInstaller = () => {}
/**
* Register this package's invariant companion.
* @param ctx - Cordis context carrying the invariant service.
* @returns the installed registration's disposer after setup succeeds.
*/
export const apply = (ctx: Context): Promise<() => void> =>
Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install))
/* jscpd:ignore-end */