Skip to content

Commit 7cf57f3

Browse files
authored
v0.9.7: embeddings cleanup, search expansion, navigation and execution speedup
2 parents a6198f2 + 85402d0 commit 7cf57f3

270 files changed

Lines changed: 14882 additions & 2162 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.agents/skills/add-integration/SKILL.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Follow `.agents/skills/add-block/SKILL.md` for the block structure, subBlock typ
123123
`canvasPresentation`; `bun run apps/sim/scripts/check-canvas-sentences.ts --block={service}` must
124124
pass (CI runs `check:canvas-sentences --require-coverage`).
125125

126-
Two rules that are easy to get wrong when copying from existing blocks:
126+
Three rules that are easy to get wrong when copying from existing blocks:
127127

128128
- Every remote `selectorKey` must use the unified server selector path. Apply the `add-selector` skill:
129129
add browser-safe metadata to `apps/sim/lib/selectors/manifest.ts`, reuse or extract a server-only
@@ -135,6 +135,12 @@ Two rules that are easy to get wrong when copying from existing blocks:
135135
(e.g. `channelSelector` + `channelId` → `canonicalParamId: 'channel'`). It is the only key that
136136
survives serialization, so `inputs` and `tools.config.params` reference the canonical id, never the
137137
subblock ids. It is unique block-wide, and every member of a group shares the same `required` value.
138+
- Every text-entry subBlock (`short-input`, `long-input`, `code`) and every selector declares a
139+
`placeholder`; an empty box tells the user nothing. Secrets read `Enter your {thing}` (e.g.
140+
`Enter your API key`), free text names what to type (`Enter branch name`), and formatted values
141+
show the shape (`2023-01-01T00:00:00Z`, `1 to 1000`). An optional field with a server-side default
142+
names that default (`Defaults to the database region`). Dropdowns, switches, and `oauth-input` do
143+
not need one.
138144

139145
## Step 4: Add Icon
140146

@@ -309,6 +315,28 @@ bun run docs:check
309315

310316
This creates `apps/docs/content/docs/integrations/{service}.mdx` — one page per service carrying the block's Actions and, if it has one, its Triggers section. Never hand-edit generated pages; the only editable region is the `{/* MANUAL-CONTENT */}` block (see `scripts/README.md`).
311317

318+
Every generated integration page carries a hand-written intro directly under `<BlockInfoCard />`. The
319+
generator preserves it across regenerations, so write it once after the first generate:
320+
321+
```mdx
322+
{/* MANUAL-CONTENT-START:intro */}
323+
[{Service}](https://service.com/) is {one sentence on what the service is}.
324+
325+
With the {Service} block, you can:
326+
327+
- **{Capability}**: {what the operations in this group do}
328+
- **{Capability}**: {...}
329+
330+
{How to connect: which credential to create and where, if it is not OAuth.}
331+
332+
In Sim, the {Service} block lets your agents {concrete workflow uses}.
333+
{/* MANUAL-CONTENT-END */}
334+
```
335+
336+
Group the bullets by what the user gets done, not one bullet per tool. Only describe operations the
337+
block actually ships. Follow `.claude/rules/constitution.md` for voice. Re-run
338+
`bun run scripts/generate-docs.ts` afterwards and confirm the section survived unchanged.
339+
312340
The docs generator refreshes `packages/deployment-config/src/integrations.json`, and the deployment
313341
config generator projects service-account provider IDs from that catalog plus the canonical OAuth
314342
registry. The checks compare both committed projections with their sources. Review the generated
@@ -368,6 +396,7 @@ If creating V2 versions (API-aligned outputs):
368396
- [ ] Defined operation dropdown with all operations
369397
- [ ] Added credential field with `requiredScopes: getScopesForService('{service}')`
370398
- [ ] Added conditional fields per operation
399+
- [ ] Every `short-input`, `long-input`, `code`, and selector subBlock has a `placeholder`
371400
- [ ] Set up dependsOn for cascading selectors
372401
- [ ] Every remote `selectorKey` exists in the shared manifest and has one server attachment with
373402
trusted credential provider binding and a fixed, credential-bound, or explicitly reviewed
@@ -415,6 +444,7 @@ If creating V2 versions (API-aligned outputs):
415444
- [ ] Ran `bun run scripts/generate-docs.ts`
416445
- [ ] Ran `bun run deployment-config:generate` for OAuth or service-account changes
417446
- [ ] Verified docs file created
447+
- [ ] Wrote the `{/* MANUAL-CONTENT-START:intro */}` section under `<BlockInfoCard />` and confirmed it survives a regenerate
418448
- [ ] Reviewed and committed the generated `packages/deployment-config/src/integrations.json` change
419449
- [ ] `bun run integration-catalog:check` passes
420450
- [ ] `bun run docs:check` passes — CI fails on stale generated docs, so commit the full generator

‎.agents/skills/validate-integration/SKILL.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,9 @@ For **each tool** in `tools.access`:
218218
- True/false → `switch` (a Yes/No `dropdown` only when the tool needs a third "unset" state)
219219
- Credentials → `oauth-input` with correct `serviceId`
220220
- [ ] Dropdown `value: () => 'default'` is set for dropdowns with a sensible default
221+
- [ ] Every `short-input`, `long-input`, `code`, and selector subBlock has a `placeholder` — including
222+
password fields (`Enter your API key`). Formatted values show the shape
223+
(`2023-01-01T00:00:00Z`); optional fields with a server default name it. See add-integration → Step 3
221224

222225
### Advanced Mode
223226
- [ ] Optional, rarely-used fields are set to `mode: 'advanced'`:
@@ -450,6 +453,10 @@ upstream PR that skipped regeneration), and investigate anything that looks like
450453
page losing a section usually means its source block moved or a generator input broke, not that the
451454
hunk should be reverted.
452455

456+
The integration's page must carry a `{/* MANUAL-CONTENT-START:intro */}` section directly under
457+
`<BlockInfoCard />`. If it is missing, write one using the template in add-integration → Step 8, and
458+
check an existing intro against what the block actually ships (no removed or unshipped operations).
459+
453460
If an icon changed, `apps/sim/components/icons.tsx` is the source of truth and `apps/docs/components/icons.tsx` is its generated mirror — they must end up byte-identical for that component.
454461

455462
### Validation Output
@@ -473,6 +480,7 @@ After fixing, confirm:
473480
- [ ] Validated every tool's ID, params, request, response, outputs, and types against API docs
474481
- [ ] Validated block ↔ tool alignment (every tool param has a subBlock, every condition is correct)
475482
- [ ] Validated advanced mode on optional/rarely-used fields
483+
- [ ] Validated every text-entry and selector subBlock has a `placeholder`
476484
- [ ] Validated wandConfig on timestamps and complex inputs
477485
- [ ] Validated tools.config mapping, tool selector, and type coercions
478486
- [ ] Validated block outputs match what tools return, with typed JSON where possible
@@ -496,6 +504,7 @@ After fixing, confirm:
496504
- [ ] Fixed all critical and warning issues
497505
- [ ] Ran `bun run tool-metadata:generate` if any tool outputs/params changed, and confirmed `bun run tool-metadata:check` passes
498506
- [ ] Ran `bun run scripts/generate-docs.ts` if any block metadata changed, and committed the full generated diff — including stale-page catch-up for other integrations (`bun run docs:check` fails CI on reverted generator output)
507+
- [ ] Validated the docs page has an accurate `MANUAL-CONTENT-START:intro` section
499508
- [ ] Ran `bun run lint` after fixes
500509
- [ ] Verified TypeScript compiles clean
501510
- [ ] Verified added tests fail without their fix

‎.github/workflows/desktop-e2e.yml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ on:
1010
- '.github/workflows/desktop-e2e.yml'
1111
- '.github/workflows/desktop-release.yml'
1212
- 'apps/desktop/**'
13+
- 'apps/sim/app/_shell/desktop-update-*.tsx'
14+
- 'apps/sim/app/layout.tsx'
15+
- 'apps/sim/hooks/use-desktop-update-state.ts'
16+
- 'apps/sim/lib/desktop/**'
1317
- 'apps/sim/app/workspace/**/browser-session/**'
1418
- 'apps/sim/app/_styles/**'
1519
- 'apps/sim/lib/postcss/**'

0 commit comments

Comments
 (0)