feat(sdk): add developer project tooling

docs(rfc): propose SDK developer project tooling

feat: rename / docs

ci: fix windows gates

docs: revert
This commit is contained in:
imccyu
2026-07-15 18:17:38 +08:00
parent 5a8466b774
commit 42b07a7022
115 changed files with 11315 additions and 27 deletions

View File

@@ -0,0 +1,31 @@
/**
* Branded identities owned by the SDK project domain.
*
* @module @deepseek-ai/dsh-helper/ids
*/
import type { Branded } from '@deepseek-ai/dsh-brand'
/** Stable identity of a builtin SDK feature. */
export type FeatureId = Branded<'FeatureId'>
/**
* Construct a feature identity from its registry key.
* @param value - lowercase kebab-case registry key.
* @returns branded feature identity.
*/
export function featureId(value: string): FeatureId {
if (!/^[a-z][a-z0-9-]*$/.test(value)) {
throw new Error(`invalid feature id: ${JSON.stringify(value)}`)
}
return value as FeatureId
}
/** Stable identity of a resource contributed to an SDK project. */
export type ResourceKey = Branded<'ResourceKey'>
/** Construct a resource key from its owner-qualified value. */
export function resourceKey(value: string): ResourceKey {
if (value.length === 0) throw new Error('resource key must not be empty')
return value as ResourceKey
}