Commit Graph

91 Commits

Author SHA1 Message Date
Nicolás Montone c7d51cb8f4 add support for privatemetadata in slack adapter (#40)
* add private metadata in chat adapter

* add test on jsx runtime

* changeset
2026-02-14 17:17:03 -08:00
Nicolás Montone 5ed3ed9126 add example 2026-02-09 14:03:50 -08:00
Fernando Rojo e8ec9cd901 oauth 2026-02-05 20:06:55 -05:00
Fernando Rojo 0392ad6701 linear threads 2026-02-05 19:58:09 -05:00
Fernando Rojo 154dda0965 linear 2026-02-05 19:52:12 -05:00
Fernando Rojo 284dc2830f log 2026-01-31 22:59:23 -05:00
Fernando Rojo d4db2ff47e fix: rendering 2026-01-31 22:06:48 -05:00
Fernando Rojo 0b4899c8fc emoji support 2026-01-31 21:33:28 -05:00
Fernando Rojo 5b0f3f5a94 fixes 2026-01-31 21:24:21 -05:00
Fernando Rojo 1fb8fd2a50 github 2026-01-31 19:02:43 -05:00
Vishal Yathish 160f1f7d59 [chat] fetch event relatedMessage separately (#25)
* [chat] fetch event message separately

* add replay tests

* remove logs

* add changeset

* pass context between modal frames

* remove dividers

* remove unused export
2026-01-23 21:44:53 -08:00
Vishal Yathish 5eec3f6cdc restore 2026-01-22 15:32:15 -08:00
Vishal Yathish 660a84ee09 cleanup 2026-01-22 15:30:44 -08:00
Vishal Yathish e84cbf4187 [chat] add relatedThread and relatedMessage props to modal events 2026-01-22 13:19:09 -08:00
Fernando Rojo 70bca43f51 lint 2026-01-21 15:00:17 -05:00
Fernando Rojo b03cbd7130 add <LinkButton> 2026-01-21 14:54:48 -05:00
Fernando Rojo 8073eae795 fix: lint 2026-01-21 12:23:59 -05:00
Fernando Rojo 4f2ff75070 ephemeral readme 2026-01-21 11:14:39 -05:00
Vishal Yathish a488dbf118 [chat] add support for modals and form inputs + add to slack adapter 2026-01-20 10:20:08 -08:00
Malte Ubl e9a540a574 Remove bad Fluid behavior 2026-01-06 08:57:22 -08:00
Malte Ubl 1efab24d53 Optimize discord listener 2026-01-06 08:28:35 -08:00
Malte Ubl bebd470827 Role mention support 2026-01-04 18:32:15 -08:00
Malte Ubl 96c0875b29 Start discord gateway via cron 2026-01-04 17:42:12 -08:00
Malte Ubl 21012ea23c Forwarding discord via http 2026-01-04 16:29:47 -08:00
Malte Ubl 78c27ec8f8 discord-ws3 2026-01-04 14:07:05 -08:00
Malte Ubl 8f9f0d880b discord-ws2 2026-01-04 14:03:18 -08:00
Malte Ubl e1d97f6af5 discord-ws 2026-01-04 13:59:41 -08:00
Malte Ubl 50f06527e7 Add discord adapter (#7)
* Implement a discord adapter

* Integration tests
2026-01-04 12:44:34 -08:00
Malte Ubl 7e8826f9c2 Required-logger 2026-01-04 09:12:45 -08:00
Malte Ubl 4ef6e98b65 Test refactor 2026-01-03 13:48:05 -08:00
Malte Ubl 56d7c58f91 Teams original message 2026-01-03 13:33:59 -08:00
Malte Ubl bed9113fc8 Fix teams again8 2026-01-03 13:19:54 -08:00
Malte Ubl 45c4f8b14d Fix teams again7 2026-01-03 13:17:06 -08:00
Malte Ubl 0c13ed5320 Fix teams again6 2026-01-03 13:04:24 -08:00
Malte Ubl 143af459f4 Fix teams again5 2026-01-03 12:20:34 -08:00
Malte Ubl 6d8039950e Fix teams again3 2026-01-03 11:25:14 -08:00
Malte Ubl 63cc5c85f1 Replay tests for fetchMessages and allMessages 2026-01-03 10:42:49 -08:00
Malte Ubl 1abaee2dcd Teams and GChat fixes 2026-01-03 09:32:52 -08:00
Malte Ubl fb786253a1 Don't limit all 2026-01-03 09:16:39 -08:00
Malte Ubl 0df823a7e4 Fix fetchMessages and allMessages 2026-01-03 09:12:22 -08:00
Malte Ubl 09bb779f70 Make only one recording entry per sha 2026-01-03 08:32:24 -08:00
Malte Ubl 518d9c85c8 Fix fetchMessages in gchat 2026-01-03 08:12:17 -08:00
Malte Ubl 344f352882 log-history 2026-01-03 08:04:52 -08:00
Malte Ubl a020b8054a record-more 2026-01-02 19:19:25 -08:00
Vishal Yathish 9b95317750 [chat-sdk] add support for streamed messages + example of AI bot (#1)
* [chat-sdk] add support for streamed messages + example of AI bot

* Refactor to just post AI

* Permissions

* Permissions teams

* empty

* Replay tests

* Better fake stream

* fix-slack-bug

* changeset

---------

Co-authored-by: Malte Ubl <malte.ubl@gmail.com>
2026-01-02 18:58:07 -08:00
Malte Ubl 3de5ee3537 style 2026-01-02 17:21:35 -08:00
Malte Ubl 9108e32089 DX for testing 2026-01-02 17:19:09 -08:00
Malte Ubl d0e6abef24 Skip in middleware 2026-01-02 17:10:04 -08:00
Malte Ubl 80400c0ac8 Make previews testable 2026-01-02 17:05:44 -08:00
Malte Ubl d2ffcc2cbe The great rename
We've acquired `chat` on npm. This plan covers renaming all packages and setting up automated publishing.

| Current Name | New Name | Version |
|--------------|----------|---------|
| `chat-sdk` | `chat` | 4.0.0 |
| `@chat-sdk/slack` | `@chat-adapter/slack` | 4.0.0 |
| `@chat-sdk/gchat` | `@chat-adapter/gchat` | 4.0.0 |
| `@chat-sdk/teams` | `@chat-adapter/teams` | 4.0.0 |
| `@chat-sdk/state-memory` | `@chat-adapter/state-memory` | 4.0.0 |
| `@chat-sdk/state-redis` | `@chat-adapter/state-redis` | 4.0.0 |
| `@chat-sdk/state-ioredis` | `@chat-adapter/state-ioredis` | 4.0.0 |

1. **Main package** (`packages/chat-sdk/package.json`):
   - Change `"name": "chat-sdk"` → `"name": "chat"`
   - Change `"version": "0.1.0"` → `"version": "4.0.0"`

2. **Adapter packages**:
   - `packages/adapter-slack/package.json`: `@chat-sdk/slack` → `@chat-adapter/slack`
   - `packages/adapter-gchat/package.json`: `@chat-sdk/gchat` → `@chat-adapter/gchat`
   - `packages/adapter-teams/package.json`: `@chat-sdk/teams` → `@chat-adapter/teams`
   - Update all versions to `4.0.0`
   - Update dependency on `chat-sdk` → `chat`

3. **State packages**:
   - `packages/state-memory/package.json`: `@chat-sdk/state-memory` → `@chat-adapter/state-memory`
   - `packages/state-redis/package.json`: `@chat-sdk/state-redis` → `@chat-adapter/state-redis`
   - `packages/state-ioredis/package.json`: `@chat-sdk/state-ioredis` → `@chat-adapter/state-ioredis`
   - Update all versions to `4.0.0`
   - Update dependency on `chat-sdk` → `chat`

Update `peerDependencies` and `dependencies` in each package:

```json
// Before
"peerDependencies": {
  "chat-sdk": "workspace:*"
}

// After
"peerDependencies": {
  "chat": "workspace:*"
}
```

Search and replace across the codebase:

| Find | Replace |
|------|---------|
| `from "chat-sdk"` | `from "chat"` |
| `from 'chat-sdk'` | `from 'chat'` |
| `import("chat-sdk")` | `import("chat")` |
| `from "@chat-sdk/slack"` | `from "@chat-adapter/slack"` |
| `from "@chat-sdk/gchat"` | `from "@chat-adapter/gchat"` |
| `from "@chat-sdk/teams"` | `from "@chat-adapter/teams"` |
| `from "@chat-sdk/state-memory"` | `from "@chat-adapter/state-memory"` |
| `from "@chat-sdk/state-redis"` | `from "@chat-adapter/state-redis"` |
| `from "@chat-sdk/state-ioredis"` | `from "@chat-adapter/state-ioredis"` |

Update any references to old package names in:
- `pnpm-workspace.yaml`
- `turbo.json` (task filters)
- Root `package.json` scripts

1. **README.md files** in each package
2. **Examples** (`examples/nextjs-chat/`)
3. **AGENTS.md** and other docs
4. **JSDoc comments** referencing package names

1. **Install changesets**:
   ```bash
   pnpm add -D @changesets/cli
   pnpm changeset init
   ```

2. **Configure `.changeset/config.json`**:
   ```json
   {
     "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
     "changelog": "@changesets/cli/changelog",
     "commit": false,
     "fixed": [],
     "linked": [
       ["chat", "@chat-adapter/*"]
     ],
     "access": "public",
     "baseBranch": "main",
     "updateInternalDependencies": "patch",
     "ignore": ["example-nextjs-chat"]
   }
   ```

3. **Add GitHub Action** (`.github/workflows/release.yml`):
   ```yaml
   name: Release

   on:
     push:
       branches:
         - main

   concurrency: ${{ github.workflow }}-${{ github.ref }}

   jobs:
     release:
       name: Release
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v4
         - uses: pnpm/action-setup@v2
           with:
             version: 9
         - uses: actions/setup-node@v4
           with:
             node-version: 20
             cache: 'pnpm'

         - run: pnpm install
         - run: pnpm build
         - run: pnpm test

         - name: Create Release Pull Request or Publish
           uses: changesets/action@v1
           with:
             publish: pnpm changeset publish
           env:
             GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
             NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
   ```

4. **Add publish config to each package.json**:
   ```json
   "publishConfig": {
     "access": "public"
   }
   ```

1. Run full build: `pnpm build`
2. Run typecheck: `pnpm typecheck`
3. Run lint: `pnpm lint`
4. Run tests: `pnpm test`
5. Test local linking in example app

| File | Changes |
|------|---------|
| `packages/chat-sdk/package.json` | Rename to `chat`, version 4.0.0 |
| `packages/adapter-slack/package.json` | Rename to `@chat-adapter/slack`, update deps |
| `packages/adapter-gchat/package.json` | Rename to `@chat-adapter/gchat`, update deps |
| `packages/adapter-teams/package.json` | Rename to `@chat-adapter/teams`, update deps |
| `packages/state-memory/package.json` | Rename to `@chat-adapter/state-memory`, update deps |
| `packages/state-redis/package.json` | Rename to `@chat-adapter/state-redis`, update deps |
| `packages/state-ioredis/package.json` | Rename to `@chat-adapter/state-ioredis`, update deps |
| `examples/nextjs-chat/package.json` | Update all dependencies |
| `packages/integration-tests/package.json` | Update all dependencies |
| `turbo.json` | Update package references |
| All `*.ts` files | Update import statements |
| All `README.md` files | Update package names in docs |
| `.changeset/config.json` | Create new |
| `.github/workflows/release.yml` | Create new |

1. Update all `package.json` files (names, versions, dependencies)
2. Run `pnpm install` to update lockfile
3. Update all import statements in source files
4. Update all import statements in test files
5. Update documentation
6. Set up changesets
7. Run full validation
8. Create initial changeset for 4.0.0 release
9. Commit and push

If issues arise:
1. Git revert the rename commit
2. Run `pnpm install` to restore lockfile
3. Previous npm versions remain available
2026-01-02 13:56:55 -08:00