open-index/open-npm huggingface dataset:
npm package: @skillrecordings/core
Description: Internal, shared utilities
Author: Joel Hooks
Latest version: 0.0.5

# @skillrecordings/core

[![Stable release](https://img.shields.io/npm/v/@skillrecordings/core.svg)](https://npm.im/@skillrecordings/core)

Shared utilities for various `@skillrecordings` packages.

**Important:** This package is intended for internal use by the @skillrecordings libraries. You should not use it directly in your production projects, as the APIs can and will change often without regard to sem-ver. You have been warned!
npm package: @skillrecordings/sdk
Description: Integration contract for Skill Recordings products.
Latest version: 0.6.0

# packages/sdk

Integration contract for Skill Recordings products.

## Purpose

Apps (Total TypeScript, Pro Tailwind, etc.) implement `SupportIntegration` interface. The support platform calls these methods via HTTP with HMAC auth.

## Interface

```typescript
interface SupportIntegration {
  lookupUser(email: string): Promise<User | null>
  getPurchases(userId: string): Promise<Purchase[]>
  getSubscriptions?(userId: string): Promise<Subscription[]>
  revokeAccess(params: { purchaseId, reason, refundId }): Promise<ActionResult>
  transferPurchase(params: { purchaseId, fromUserId, toEmail }): Promise<ActionResult>
  generateMagicLink(params: { email, expiresIn }): Promise<{ url: string }>
  updateEmail?(params: { userId, newEmail }): Promise<ActionResult>
  updateName?(params: { userId, newName }): Promise<ActionResult>
  getClaimedSeats?(bulkCouponId: string): Promise<ClaimedSeat[]>
  searchContent?(request: ContentSearchRequest): Promise<ContentSearchResponse>  // v0.3.0+
}
```

## Exports

- `integration.ts` - SupportIntegration interface + types
- `handler.ts` - Webhook handler factory
- `client.ts` - IntegrationClient for calling apps
- `adapter.ts` - Adapter utilities
- `types.ts` - Shared types (User, Purchase, etc.)