{"_id":"@enc-protocol/timeline-cli","name":"@enc-protocol/timeline-cli","description":"Per-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.","dist-tags":{"latest":"0.4.2","local":"0.3.2-local"},"versions":{"0.1.0":{"name":"@enc-protocol/timeline-cli","version":"0.1.0","type":"module","description":"ENC Protocol per-app SDK + skill for the \"timeline\" app. Enclaves: Timeline,Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.1.0"},"keywords":["enc-protocol","timeline","sdk","skill"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"ERROR: No README data found!","_id":"@enc-protocol/timeline-cli@0.1.0","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.1.0.tgz","shasum":"f52ea2154b6964f858b9b8b1de61e8365747e528","integrity":"sha512-WlmcOfTqW1G22z81QS9TWpwrIB+vLa2WQfCY+Zh7+j5KtECXOCEC+q6kBXY1znUThAMOlGqfxPTfMd21xjMkSQ=="}},"0.1.1":{"name":"@enc-protocol/timeline-cli","version":"0.1.1","type":"module","description":"ENC Protocol per-app SDK + skill for the \"timeline\" app. Enclaves: Timeline,Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.1.1"},"keywords":["enc-protocol","timeline","sdk","skill"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.1.1","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.1.1.tgz","shasum":"64816f77d3311215f105be7d74f01d44620054fe","integrity":"sha512-k15AT/m17QmSh4D00hpHNyXSN6XirIyuAPzJ/P4mkhpGcNQfBH6B7x8B/5ghwuiDL6s6cHCNYc6CZZm7RMU7Dw=="}},"0.1.2":{"name":"@enc-protocol/timeline-cli","version":"0.1.2","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app (typed methods, encryption hook). Enclaves: Timeline,Personal. For the Claude Code skill, use @enc-protocol/skill-timeline (or `enc skill add timeline`).","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.1.1"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.1.2","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.1.2.tgz","shasum":"bd7d8bdc105433b5cb1dbd019f704933522bddc1","integrity":"sha512-U/sjPdP5B65xrVhLJ4k2AkDoBeUzf9jdpCYiH/yyCFKai9A07J+yjDXeWDZVb3vYVEKfT0p1jniAnCyEZIDT6g=="}},"0.2.0":{"name":"@enc-protocol/timeline-cli","version":"0.2.0","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app. Enclaves: Timeline, Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.2.0"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.2.0","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.2.0.tgz","shasum":"5c881d1c31478dcbd394da9c6525c623defee8e4","integrity":"sha512-fLRhy6xmB0N1WxleQRFH/qRixkUiWbfaFwxy3pA17jvyEFHfY0SPL26HavpzpVBcnPl0UEkk9sqAJ0ySFiVxeQ=="}},"0.3.0":{"name":"@enc-protocol/timeline-cli","version":"0.3.0","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app. Enclaves: Timeline, Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.3.0"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.3.0","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.3.0.tgz","shasum":"8864aa2d9715b18140128af2a2eed4e70fd474cc","integrity":"sha512-eOfM6uHEA9l7E/9PGZZ5NdCMjz1QLbQHmsCkr3BKjnmiwEaRkw/AjsoSXX07mm7NuWYRjmkXG/Rc/VGE5O9nqQ=="}},"0.3.1":{"name":"@enc-protocol/timeline-cli","version":"0.3.1","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app. Enclaves: Timeline, Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.3.0"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.3.1","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.3.1.tgz","shasum":"316ebbcb3e6fb5abaf325c3cc7a4462b416187a2","integrity":"sha512-JBj/7xgSSkjnCXkMEUFdq8jtrD/6IWXR9UvAdvYxqKEvK7lEbBUgT/UOPuccNBZzLZBkiSKbK+O8XvokqssE/w=="}},"0.4.1":{"name":"@enc-protocol/timeline-cli","version":"0.4.1","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app. Enclaves: Timeline, Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.4.0"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.4.1","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.4.1.tgz","shasum":"75e06797be9fe1d2bf72b0b12d0ebce602ee35c8","integrity":"sha512-O3c3G17oe3rgRtxDUUaGCzAZvBLJoJbs8oWeccE/fXFpcaizYwBGJkDIp0qrXUCRAtLtW8BrKn56xsjxdRAlRA=="}},"0.4.2":{"name":"@enc-protocol/timeline-cli","version":"0.4.2","type":"module","description":"ENC Protocol per-app SDK for the \"timeline\" app. Enclaves: Timeline, Personal.","main":"sdk.mjs","files":["sdk.mjs","cli.json","skill/SKILL.md","README.md"],"exports":{".":"./sdk.mjs","./sdk":"./sdk.mjs","./cli.json":"./cli.json","./skill":"./skill/SKILL.md"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.4.0"},"keywords":["enc-protocol","timeline","sdk","cli"],"license":"MIT","publishConfig":{"registry":"https://npm-registry.ocrybit.workers.dev/"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","_id":"@enc-protocol/timeline-cli@0.4.2","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.4.2.tgz","shasum":"bbadc9b7f9ad85da2c567a815e34e0131cb55ceb","integrity":"sha512-K4lKtXknWncR4g19UA3yppKAk86vwcR53W4QuP5AhMY2QOWRsdTNEjPNP4n+K7WpIEzsx4F5lHn3OSaxzEVrwQ=="}},"0.3.2-local":{"name":"@enc-protocol/timeline-cli","version":"0.3.2-local","type":"module","main":"sdk.mjs","exports":{".":"./sdk.mjs","./sdk.mjs":"./sdk.mjs"},"dependencies":{"@enc-protocol/cli-sdk-base":"^0.3.1"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n","readmeFilename":"README.md","gitHead":"9d8f216d0d69913d9f915ddcdc914e183a2ea52a","_id":"@enc-protocol/timeline-cli@0.3.2-local","description":"Per-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"tarball":"https://npm-registry.ocrybit.workers.dev/@enc-protocol/timeline-cli/-/@enc-protocol/timeline-cli-0.3.2-local.tgz","shasum":"0a3d37606ec6a4e2a86193cef5dabce2b6229076","integrity":"sha512-t/pvv3zaywD6pts0zgCh+/s5Bzsgx0g1EBzzXcLM7BemukXiRo408etEWLm82/v7PLowlmAFgYqCDZ6IsYjJOg=="}}},"time":{"created":"2026-05-14T14:59:33.647Z","modified":"2026-06-12T21:35:50.814Z","0.1.0":"2026-05-14T14:59:33.647Z","0.1.1":"2026-05-14T15:08:27.934Z","0.1.2":"2026-05-14T15:18:40.474Z","0.2.0":"2026-05-14T16:19:01.064Z","0.3.0":"2026-05-15T19:19:20.800Z","0.3.1":"2026-05-15T19:53:55.672Z","0.4.1":"2026-05-19T02:59:37.953Z","0.4.2":"2026-05-19T17:59:51.109Z","0.3.2-local":"2026-06-12T21:35:50.814Z"},"readme":"# @enc-protocol/timeline-cli\n\nPer-app SDK for the `timeline` app on ENC Protocol. Enclaves: Timeline, Personal.\n\n> Auto-generated by `lib/codegen/readme-codegen.mjs` from `apps/timeline/{app,schema}.json`. Do not hand-edit — regenerate via `enc gen readme timeline`.\n\n## Install\n\n### Recommended — via the `enc` CLI\n\n```bash\n# Install the global enc CLI once (any project)\nnpm install -g @enc-protocol/cli --registry https://npm-registry.ocrybit.workers.dev/\n\n# Install the skill into the current project (.claude/commands/timeline.md)\nenc skill add timeline\n```\n\nThe skill is the recommended consumption surface for Claude Code — adds an `/enc timeline` slash command. The skill package is published as `@enc-protocol/skill-timeline`.\n\n### Programmatic — for direct SDK use\n\n```bash\necho \"@enc-protocol:registry=https://npm-registry.ocrybit.workers.dev/\" >> .npmrc\nnpm install @enc-protocol/timeline-cli\n```\n\n## Quick example\n\n```js\nimport { TimelineSdk } from '@enc-protocol/timeline-cli'\n\nconst sdk = new TimelineSdk({ mode: 'cf', nodeUrl: process.env.NODE_URL })\nawait sdk.init()\nawait sdk.submitPosts({\"draft\":\"example\"})\nconst events = await sdk.queryPosts()\n```\n\n## API reference\n\n### `new TimelineSdk(opts)`\n\nConstructor. Accepts:\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `mode` | `'mem' \\| 'cf'` | Backend: in-process mem or HTTP cf |\n| `identity` | `Identity` | Required for cf mode (signing keypair) |\n| `nodeUrl` | `string` | cf-mode node URL (or set `NODE_URL` env) |\n| `repoRoot` | `string` | Path to repo root for finding `apps/<id>/` and `enclaves/<Name>.json` (defaults to package location) |\n| `encHome` | `string` | Optional state directory (defaults to `~/.enc`) |\n\n### `async init()`\n\nInitialize the SDK: load app definition, register all 2 enclaves (Timeline, Personal), wire dataview, mint cf enclaves if needed.\n\n### Write methods\n\n| Method | Data type | Resolves to | Encrypted | Ops | Operators |\n|--------|-----------|-------------|-----------|-----|-----------|\n| `submitPosts(args)` | `posts` | `Timeline.post` |  | CDU | Self \\| owner |\n\n### Read methods\n\n| Method | Read | Source | Fields |\n|--------|------|--------|--------|\n| `queryPosts()` | `posts` | `Timeline.post` | `body`, `from`, `trailing`, `likes`, `replies` |\n| `queryProfiles()` | `profiles` | *dataview (cross_enclave)* | *all* |\n\n## Composition\n\n- **Enclaves**: `Timeline`, `Personal`\n- **tableMap**: `posts` → `post`, `my_posts` → `post`, `likes` → `like`, `comments` → `comment`, `follows` → `follow`\n- **derived views**: `my_posts`, `following_posts`, `my_likes`, `post_comments`, `profile_posts`, `profile_stats`, `browsing_following`, `browsing_followers`, `search_results`, `search_users`\n\n## See also\n\n- [`cli.json`](./cli.json) — full app metadata + fuzz contract\n- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill bundle (install via `enc skill install timeline`)\n- `@enc-protocol/cli-sdk-base` — base class (`AppSdk`, `AppClient`, `DataView`)\n"}