Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
3902e64
refactor(kb): use chonkie locally (#475)
adiologydev Jun 10, 2025
e557499
feat(parsers): text and markdown parsers (#473)
adiologydev Jun 10, 2025
3d9c993
fix(knowledge-wh): fixed authentication error on webhook trigger
aadamgough Jun 10, 2025
9ef2764
feat(tools): add huggingface tools/blcok (#472)
icecrasher321 Jun 11, 2025
bf579d8
fix(knowledge-ux): fixed ux for knowledge base (#478)
aadamgough Jun 12, 2025
45af563
fix(billing): bump better-auth version & fix existing subscription is…
waleedlatif1 Jun 13, 2025
f850e65
fix(env): added NEXT_PUBLIC_APP_URL to .env.example (#485)
waleedlatif1 Jun 13, 2025
2f78c5e
feat(subworkflows): workflows as a block within workflows (#480)
icecrasher321 Jun 13, 2025
b5dc560
fix(kb): fixed kb race condition resulting in no chunks found (#487)
waleedlatif1 Jun 13, 2025
187af53
fix: added all blocks activeExecutionPath (#486)
aadamgough Jun 13, 2025
3a0e389
refactor(chunker): replace chonkie with custom TextChunker (#479)
adiologydev Jun 13, 2025
b55398d
fix: KB tests updated
emir-karabeg Jun 13, 2025
8fe5bb9
fix(tab-sync): sync between tabs on change (#489)
emir-karabeg Jun 13, 2025
fe45d0f
fix(file-upload): upload presigned url to kb for file upload instead …
waleedlatif1 Jun 13, 2025
6c6131e
feat(folders): folders to manage workflows (#490)
icecrasher321 Jun 13, 2025
535a9d3
revert tab sync
Jun 14, 2025
e5edb98
improvement(folders): added multi-select for moving folders (#493)
waleedlatif1 Jun 14, 2025
1c7aa5c
fix(deployed-chat): made the chat mobile friendly (#494)
waleedlatif1 Jun 14, 2025
8b18a53
improvement(ui/ux): chat deploy (#496)
emir-karabeg Jun 14, 2025
0fd6e71
feat(gmail): added option to access raw gmail from gmail polling serv…
waleedlatif1 Jun 14, 2025
d8b3a9a
fix(ui): fix the UI for folder deletion, huggingface icon, workflow b…
waleedlatif1 Jun 15, 2025
a2a131c
fix(reset-data): remove reset all data button from settings modal alo…
icecrasher321 Jun 15, 2025
751c36a
fix(airtable): fixed airtable oauth token refresh, added tests (#502)
waleedlatif1 Jun 15, 2025
ee35533
feat(registration): disable registration + handle env booleans (#501)
adiologydev Jun 16, 2025
915741b
feat(providers): added azure openai (#503)
waleedlatif1 Jun 16, 2025
13c4fc9
fix: add vscode settings to gitignore
emir-karabeg Jun 16, 2025
f4cbf5d
feat(file-upload): generalized storage to support azure blob, enhance…
waleedlatif1 Jun 17, 2025
5eb7b88
fix(folders): modified folder deletion to delete subfolders & workflo…
waleedlatif1 Jun 17, 2025
2acef5c
feat: api response block and implementation
adiologydev Jun 17, 2025
941b26a
improvement(local-storage): remove use of local storage except for oa…
icecrasher321 Jun 17, 2025
1100bfd
feat(multi-select): simplified chat to always return readable stream,…
waleedlatif1 Jun 17, 2025
43f9119
improvement(workflow-state): split workflow state into separate table…
icecrasher321 Jun 18, 2025
dd50fb3
feat(models): added new openai models, updated model pricing, added n…
waleedlatif1 Jun 18, 2025
537e17d
fix(autocomplete): fixed extra closing tag on tag dropdown autocomple…
waleedlatif1 Jun 18, 2025
1f26fcc
chore: enable input format again
adiologydev Jun 18, 2025
d9fb76c
fix: process the input made on api calls with proper extraction
adiologydev Jun 18, 2025
93a1d99
feat: add json-object for ai generation for response block and others
adiologydev Jun 18, 2025
ae5e56e
chore: add documentation for response block
adiologydev Jun 18, 2025
9188f78
Merge branch 'main' of github.com:simstudioai/sim into feat/structure…
adiologydev Jun 18, 2025
1157c4d
chore: rollback temp fix and uncomment original input handler
adiologydev Jun 18, 2025
69a96ec
chore: add missing mock for response handler
adiologydev Jun 18, 2025
52578b8
chore: add missing mock
adiologydev Jun 18, 2025
98d7d9c
chore: greptile recommendations
adiologydev Jun 18, 2025
e81afa5
added cost tracking for router & evaluator blocks, consolidated model…
waleedlatif1 Jun 19, 2025
b67b0f1
fix(deployState): deploy not persisting bug (#518)
icecrasher321 Jun 19, 2025
cd4d20e
fix decimal entry issues
Jun 19, 2025
5009217
remove unused files
Jun 19, 2025
c1487af
fix(db): decimal position entry issues (#520)
icecrasher321 Jun 19, 2025
ab77f4c
fix lint
Jun 19, 2025
a078afd
Merge branch 'main' into fix/normalized-tables-type-bug
icecrasher321 Jun 19, 2025
2f9a935
fix test
Jun 19, 2025
ecece02
Merge branch 'fix/normalized-tables-type-bug' of github.com:simstudio…
Jun 19, 2025
cc74921
Merge pull request #521 from simstudioai/fix/normalized-tables-type-bug
icecrasher321 Jun 19, 2025
bd07f80
improvement(kb): added configurability for chunks, query across multi…
emir-karabeg Jun 20, 2025
a0c00bc
fix(models): remove temp from models that don't support it
waleedlatif1 Jun 20, 2025
a6e67ee
feat(sdk): added ts and python SDKs + docs (#524)
waleedlatif1 Jun 20, 2025
127e70e
fixed issue where it goes to random workspace when you click reload
SHARKYBOY1248 Jun 20, 2025
c4f3987
Merge pull request #526 from simstudioai/fix/workflow-reload
icecrasher321 Jun 20, 2025
657e072
feat: better response builder + doc update
adiologydev Jun 20, 2025
f663a12
fix(auth): added preview URLs to list of trusted origins (#525)
SHARKYBOY1248 Jun 21, 2025
ef865a5
fix(sdk): remove dev script from SDK
waleedlatif1 Jun 21, 2025
0ed370b
PR: changes for migration
SHARKYBOY1248 Jun 21, 2025
8cf0b76
add changes on top of db migration changes
SHARKYBOY1248 Jun 21, 2025
609ce5c
Merge pull request #528 from simstudioai/feature/migration-access-con…
icecrasher321 Jun 21, 2025
190f3f9
Merge pull request #529 from simstudioai/feature/else-access-control-…
icecrasher321 Jun 21, 2025
143f206
fix: allow removing single input field
adiologydev Jun 23, 2025
226e6ab
Merge branch 'main' of github.com:simstudioai/sim into feat/structure…
adiologydev Jun 23, 2025
bdf316e
Merge pull request #510 from adiologydev/feat/structured-response
icecrasher321 Jun 23, 2025
f2e74b5
improvement(permissions): workspace permissions improvements, added p…
waleedlatif1 Jun 23, 2025
bc502d0
improvement(tests): parallelized tests and build fixes (#531)
waleedlatif1 Jun 23, 2025
ac99d42
fix(kb): reduced params in kb block, added advanced mode to starter b…
waleedlatif1 Jun 23, 2025
05481f1
feat(realtime): sockets + normalized tables + deprecate sync (#523)
icecrasher321 Jun 24, 2025
fc6be73
fix(sockets): updated CSP
waleedlatif1 Jun 24, 2025
eec8c18
remove unecessary logs
Jun 24, 2025
842d032
fix lint
Jun 24, 2025
ca134eb
Merge pull request #532 from simstudioai/fix/realtime
icecrasher321 Jun 24, 2025
b394615
added throttling, refactor entire socket server, added tests
waleedlatif1 Jun 24, 2025
81e2bdd
improvements
waleedlatif1 Jun 24, 2025
979f349
remove self monitoring func, add block name event
Jun 24, 2025
cb886ab
working isWide, isAdvanced toggles with sockets
Jun 24, 2025
420b40d
fix lint
Jun 24, 2025
d3b5b83
fix duplicate key issue for user avatar
Jun 24, 2025
f71f6c2
fix lint
Jun 24, 2025
33fed14
fix user presence
Jun 24, 2025
20bec9a
working parallel badges / loop badges updates
Jun 24, 2025
9d43758
working connection output persistence
Jun 24, 2025
8f23fa7
fix lint
Jun 24, 2025
4818b29
fix build errors
Jun 24, 2025
38fab29
fix lint
Jun 24, 2025
900be98
logs removed
Jun 24, 2025
a2fa2f9
fix cascade var name update bug
Jun 24, 2025
131e798
works
Jun 24, 2025
79f89c5
fix lint
Jun 24, 2025
bd2310a
fix parallel blocks
Jun 24, 2025
ca801a1
fix placeholder
Jun 24, 2025
5f4d1aa
fix test
Jun 25, 2025
95a7a1b
fixed tests
waleedlatif1 Jun 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/workflows/publish-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [main]
paths:
- 'packages/simstudio/**'
- 'packages/cli/**'

jobs:
publish-npm:
Expand All @@ -25,16 +25,16 @@ jobs:
registry-url: 'https://registry.npmjs.org/'

- name: Install dependencies
working-directory: packages/simstudio
working-directory: packages/cli
run: bun install

- name: Build package
working-directory: packages/simstudio
working-directory: packages/cli
run: bun run build

- name: Get package version
id: package_version
working-directory: packages/simstudio
working-directory: packages/cli
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT

- name: Check if version already exists
Expand All @@ -48,7 +48,7 @@ jobs:

- name: Publish to npm
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/simstudio
working-directory: packages/cli
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand Down
89 changes: 89 additions & 0 deletions .github/workflows/publish-python-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Publish Python SDK

on:
push:
branches: [main]
paths:
- 'packages/python-sdk/**'

jobs:
publish-pypi:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build twine pytest requests tomli

- name: Run tests
working-directory: packages/python-sdk
run: |
PYTHONPATH=. pytest tests/ -v

- name: Get package version
id: package_version
working-directory: packages/python-sdk
run: echo "version=$(python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")" >> $GITHUB_OUTPUT

- name: Check if version already exists
id: version_check
run: |
if pip index versions simstudio-sdk | grep -q "${{ steps.package_version.outputs.version }}"; then
echo "exists=true" >> $GITHUB_OUTPUT
else
echo "exists=false" >> $GITHUB_OUTPUT
fi

- name: Build package
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/python-sdk
run: python -m build

- name: Check package
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/python-sdk
run: twine check dist/*

- name: Publish to PyPI
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/python-sdk
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: twine upload dist/*

- name: Log skipped publish
if: steps.version_check.outputs.exists == 'true'
run: echo "Skipped publishing because version ${{ steps.package_version.outputs.version }} already exists on PyPI"

- name: Create GitHub Release
if: steps.version_check.outputs.exists == 'false'
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: python-sdk-v${{ steps.package_version.outputs.version }}
name: Python SDK v${{ steps.package_version.outputs.version }}
body: |
## Python SDK v${{ steps.package_version.outputs.version }}

Published simstudio-sdk==${{ steps.package_version.outputs.version }} to PyPI.

### Installation
```bash
pip install simstudio-sdk==${{ steps.package_version.outputs.version }}
```

### Documentation
See the [README](https://github.com/simstudio/sim/tree/main/packages/python-sdk) for usage instructions.
draft: false
prerelease: false
85 changes: 85 additions & 0 deletions .github/workflows/publish-ts-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Publish TypeScript SDK

on:
push:
branches: [main]
paths:
- 'packages/ts-sdk/**'

jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Setup Node.js for npm publishing
uses: actions/setup-node@v4
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org/'

- name: Install dependencies
working-directory: packages/ts-sdk
run: bun install

- name: Run tests
working-directory: packages/ts-sdk
run: bun run test

- name: Build package
working-directory: packages/ts-sdk
run: bun run build

- name: Get package version
id: package_version
working-directory: packages/ts-sdk
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT

- name: Check if version already exists
id: version_check
run: |
if npm view simstudio-ts-sdk@${{ steps.package_version.outputs.version }} version &> /dev/null; then
echo "exists=true" >> $GITHUB_OUTPUT
else
echo "exists=false" >> $GITHUB_OUTPUT
fi

- name: Publish to npm
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/ts-sdk
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Log skipped publish
if: steps.version_check.outputs.exists == 'true'
run: echo "Skipped publishing because version ${{ steps.package_version.outputs.version }} already exists on npm"

- name: Create GitHub Release
if: steps.version_check.outputs.exists == 'false'
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: typescript-sdk-v${{ steps.package_version.outputs.version }}
name: TypeScript SDK v${{ steps.package_version.outputs.version }}
body: |
## TypeScript SDK v${{ steps.package_version.outputs.version }}

Published simstudio-ts-sdk@${{ steps.package_version.outputs.version }} to npm.

### Installation
```bash
npm install simstudio-ts-sdk@${{ steps.package_version.outputs.version }}
```

### Documentation
See the [README](https://github.com/simstudio/sim/tree/main/packages/ts-sdk) for usage instructions.
draft: false
prerelease: false
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ sim-standalone.tar.gz
# misc
.DS_Store
*.pem
uploads/

# env files
.env
Expand Down Expand Up @@ -63,4 +62,7 @@ docker-compose.collector.yml
start-collector.sh

# Turborepo
.turbo
.turbo

# VSCode
.vscode
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
bunx lint-staged
bun lint
7 changes: 7 additions & 0 deletions apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -263,3 +263,10 @@ export const SlackIcon = (props: SVGProps<SVGSVGElement>) => (
</g>
</svg>
)

export const ResponseIcon = (props: SVGProps<SVGSVGElement>) => (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor' {...props}>
<path d='M20 18v-2a4 4 0 0 0-4-4H4' />
<path d='m9 17-5-5 5-5' />
</svg>
)
17 changes: 16 additions & 1 deletion apps/docs/components/ui/block-types.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { cn } from '@/lib/utils'
import { AgentIcon, ApiIcon, ChartBarIcon, CodeIcon, ConditionalIcon, ConnectIcon } from '../icons'
import {
AgentIcon,
ApiIcon,
ChartBarIcon,
CodeIcon,
ConditionalIcon,
ConnectIcon,
ResponseIcon,
} from '../icons'

// Custom Feature component specifically for BlockTypes to handle the 6-item layout
const BlockFeature = ({
Expand Down Expand Up @@ -127,6 +135,13 @@ export function BlockTypes() {
icon: <ChartBarIcon className='h-6 w-6' />,
href: '/blocks/evaluator',
},
{
title: 'Response',
description:
'Send a response back to the caller with customizable data, status, and headers.',
icon: <ResponseIcon className='h-6 w-6' />,
href: '/blocks/response',
},
]

const totalItems = features.length
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/blocks/meta.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"title": "Blocks",
"pages": ["agent", "api", "condition", "function", "evaluator", "router"]
"pages": ["agent", "api", "condition", "function", "evaluator", "router", "response", "workflow"]
}
Loading