Tobias Lins
0c688a0111
Add support for telegram bot ( #90 )
...
* Add support for telegram bot
* Add support for action buttons in telegram
* Use markdown parse mode
* Add more tests
* Fix linting issues
* Fixes
* Fixes
* Don't reverse order messages for AI and always answer for telegram
* Add telegram integration test
* Update telegram.json
2026-02-26 14:10:41 -08:00
Malte Ubl
39888ce38d
Fix teams bundling under strict ESM ( #99 )
2026-02-24 15:10:11 -08:00
Hayden Bleasel
e970a6939b
Upgrade Biome configuration to use Ultracite preset ( #81 )
...
* Upgrade Biome to Ultracite
* Remove package commands
* Update biome.jsonc
* Update biome.jsonc
* Initial fixes
* Update biome.jsonc
* Remaining fixes
* Update pnpm-lock.yaml
* Fix commands
* Update knip.json
* Merge Claude files
* Fix skipped test
* Misc fixes
2026-02-20 22:01:10 -08:00
Hayden Bleasel
1348532068
Open Source Beta Prep ( #73 )
...
* Update docs - Slack Assistants API, App Home tab, Stream stop blocks
* Update README.md
* Update package readmes, fix readme integration test
* Add npm badges to all package READMEs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* Add test coverage to all packages
* Create CODE_OF_CONDUCT.md
* Create pull_request_template.md
* Create issue templates
* Create config.yml
* Add unit tests for errors, singleton, logger, message, modals, gchat utils, and teams markdown
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* Add a vitest:workspace command
* Misc URL fixes
* Update CONTRIBUTING.md
* Misc fixes, upgrade workflow/serde
* Replace PII in integration test data
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 13:25:09 -08:00
John Pham
f371c0d951
feat(slack): add assistant_thread_started event support ( #54 )
...
* feat(slack): full Slack Assistants API support
- Route assistant_thread_started + assistant_thread_context_changed
- Add onAssistantThreadStarted + onAssistantContextChanged handlers
- Add setSuggestedPrompts, setAssistantStatus, setAssistantTitle methods
- Extend stream() for Block Kit on stop (stopBlocks)
- Bump @slack/web-api to ^7.11.0 for chatStream
- 14 integration tests
* fix: pass waitUntil to assistant thread started handlers
2026-02-19 16:18:05 -08:00
Hayden Bleasel
9265a6af25
Remove duplicate lockfile
2026-02-16 16:42:44 -08:00
Fernando Rojo
154dda0965
linear
2026-02-05 19:52:12 -05:00
Fernando Rojo
1fb8fd2a50
github
2026-01-31 19:02:43 -05:00
Malte Ubl
9e8f9e7425
Serde for Thread and Message ( #10 )
...
* Serde for Thread and Message
* Refactor
* serde
* message
2026-01-20 19:24:12 -08:00
Malte Ubl
e1d97f6af5
discord-ws
2026-01-04 13:59:41 -08:00
Malte Ubl
33f7bf7ee2
verify3
2026-01-04 13:07:16 -08:00
Malte Ubl
815548c39a
verify
2026-01-04 13:00:11 -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
82440f657a
Test coverage
2026-01-04 08:05:01 -08:00
Malte Ubl
fb7c41d3a5
Refactoring duplication
2026-01-03 20:32:35 -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
1922517855
chat-sdk to chat director rename
2026-01-02 16:11:31 -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
Malte Ubl
93a82ffc08
IORedis and better validate
2026-01-01 09:11:52 -08:00
Malte Ubl
874ffbdbf9
replay-tests
2025-12-31 16:10:32 -08:00
Malte Ubl
9a18e55f5e
record
2025-12-31 15:46:27 -08:00
Malte Ubl
26ff575392
step
2025-12-31 14:23:43 -08:00
Malte Ubl
777f03c015
step
2025-12-31 13:52:12 -08:00
Malte Ubl
2c78cc1f78
step
2025-12-31 13:22:58 -08:00
Malte Ubl
bf18adc163
OIDC
2025-12-22 12:13:14 -08:00
Malte Ubl
1f401aacd0
initial cook
2025-12-21 20:48:14 -08:00