{"_id":"@archlast/sdk-core","name":"@archlast/sdk-core","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@archlast/sdk-core","version":"0.1.1","description":"Archlast SDK Core - Platform-agnostic client base with HTTP transport and types","license":"MIT","repository":{"type":"git","url":"git+https://github.com/algochad/archlast-sync.git"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","prepublishOnly":"npm run build","test":"bun test","format":"prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"","format:check":"prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"","clean":"rm -rf dist"},"dependencies":{"@paralleldrive/cuid2":"^3.0.4"},"devDependencies":{"typescript":"^5.0.0","tsup":"^8.5.1","prettier":"^3.4.2"},"_id":"@archlast/sdk-core@0.1.1","gitHead":"5c702f9d66c02436cf156c2bd7791beb6764360d","bugs":{"url":"https://github.com/algochad/archlast-sync/issues"},"homepage":"https://github.com/algochad/archlast-sync#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-fjQjsszaJZ38Qx6SFJi6CnuHw+zPz10tFrC3XyCgSs4dXozvVQWUyJov4lBdb6Ss6CUpvQUl8NtH4CQTb1pi/A==","shasum":"f555776eeea3d0e54870adebb9bad3f302e25157","tarball":"https://registry.npmjs.org/@archlast/sdk-core/-/sdk-core-0.1.1.tgz","fileCount":8,"unpackedSize":94250,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICsedKeq3ZaZiaIi1bqd1e8YHwkpa2PDjz1gHalPnnXoAiBt0GT3B4jBHDKViNUO039zSIPe6aVO0Nw1CzyfJxpBpA=="}]},"_npmUser":{"name":"algochad","email":"givillamor01@gmail.com"},"directories":{},"maintainers":[{"name":"algochad","email":"givillamor01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk-core_0.1.1_1769954227917_0.7966096108791021"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T13:57:07.812Z","0.1.1":"2026-02-01T13:57:08.113Z","modified":"2026-02-01T13:57:08.368Z"},"maintainers":[{"name":"algochad","email":"givillamor01@gmail.com"}],"description":"Archlast SDK Core - Platform-agnostic client base with HTTP transport and types","homepage":"https://github.com/algochad/archlast-sync#readme","repository":{"type":"git","url":"git+https://github.com/algochad/archlast-sync.git"},"bugs":{"url":"https://github.com/algochad/archlast-sync/issues"},"license":"MIT","readme":"# @archlast/sdk-core\n\nPlatform-agnostic core for Archlast SDKs. This package provides the base client class, HTTP transport layer, and shared types used by all platform-specific SDKs.\n\n## Installation\n\n```bash\nnpm install @archlast/sdk-core\n```\n\n## Usage\n\nThis package is typically used as a dependency of platform-specific SDKs (`@archlast/client`, `@archlast/sdk-next`, `@archlast/sdk-expo`), not directly by end users.\n\n### Direct Usage (Advanced)\n\nIf you need to build a custom platform integration:\n\n```typescript\nimport { BaseClient } from \"@archlast/sdk-core\";\n\nclass MyPlatformClient extends BaseClient {\n    constructor(options: ClientOptions) {\n        super(options);\n        // Add platform-specific functionality\n    }\n}\n\nconst client = new MyPlatformClient({\n    baseUrl: \"http://localhost:4000\",\n    appId: \"my-app\",\n});\n\n// Use inherited methods\nconst state = await client.getAuthState();\nconst result = await client.query(\"myQuery\", { arg1: \"value\" });\n```\n\n## Features\n\n- **BaseClient**: Core client with HTTP transport and auth methods\n- **HttpClient**: Platform-agnostic HTTP client with error handling\n- **Type definitions**: Shared types across all platforms\n- **No React dependencies**: Can be used in any JavaScript/TypeScript environment\n\n## API\n\n### BaseClient\n\nThe main client class that all platform clients extend.\n\n#### Methods\n\n- `getAuthState()` - Get current authentication state\n- `signUp(input)` - Sign up new user\n- `signIn(input)` - Sign in with email/username and password\n- `signOut()` - Sign out and revoke session\n- `requestPasswordReset(email)` - Request password reset\n- `resetPassword(token, password)` - Reset password\n- `query(name, args)` - Call a query function\n- `mutate(name, args)` - Call a mutation function\n- `action(name, args)` - Call an action function\n\n### HttpClient\n\nLow-level HTTP client used by BaseClient.\n\n#### Methods\n\n- `get(path, params)` - GET request\n- `post(path, body)` - POST request\n- `put(path, body)` - PUT request\n- `delete(path)` - DELETE request\n- `uploadFile(path, file)` - Upload file\n\n## Types\n\nAll types are exported from the package:\n\n- `AuthUser` - User information\n- `AuthSession` - Session information\n- `AuthState` - Authentication state\n- `SignUpInput` - Sign up parameters\n- `SignInInput` - Sign in parameters\n- `ClientOptions` - Client configuration options\n- `PaginatedResponse<T>` - Paginated query response\n- `SdkError`, `AuthError`, `NetworkError`, `ValidationError` - Error types\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-a50b1dbd83a3b31a0d3f0f032abd25ea"}