Skip to content

Commit 7d113fd

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
Merge remote-tracking branch 'origin/staging' into feat/oracle-netsuite-integration
# Conflicts: # apps/sim/tools/generated/tool-ids.ts # apps/sim/tools/generated/tool-metadata.ts # apps/sim/tools/generated/tool-outputs.ts
2 parents cdcdc7f + 1dd85eb commit 7d113fd

2,278 files changed

Lines changed: 279712 additions & 56825 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-block/SKILL.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ export const {ServiceName}Block: BlockConfig = {
5252
// Auth mode
5353
authMode: AuthMode.OAuth, // or AuthMode.ApiKey
5454

55+
// Card summary sentences — see "Canvas Sentences" below
56+
canvasPresentation: {
57+
defaultTitle: '{Default Operation}',
58+
sentences: { byOperation: { /* one per operation dropdown option id */ } },
59+
},
60+
5561
subBlocks: [
5662
// Define all UI fields here
5763
],
@@ -945,6 +951,35 @@ Derive templates from the service's real use cases. Each prompt should name a co
945951
- **Ground every skill in operations the block actually exposes** — cross-check each skill's steps against `tools.access`. Never describe an action the integration cannot perform.
946952
- **Derive skills from real, popular use cases found online — never invent them.** Web-search the service's documented use cases (vendor use-case/solutions pages, official docs describing the workflow, reputable "top automations for X" articles) and only add a skill you can source as something people genuinely do with the service. Do not hallucinate skills.
947953

954+
## Canvas Sentences
955+
956+
Every block declares a one-line prose summary that replaces its card's field rows:
957+
958+
```
959+
Slack ← header (already names the block)
960+
Posts ⟨Ship it 🚀⟩ to ⟨#eng⟩ ← the sentence; ⟨…⟩ are live value chips
961+
```
962+
963+
Write one `byOperation` entry per operation dropdown option (or a single `default`
964+
when the block has no operation dropdown).
965+
966+
**The full authoring contract — voice, structure, and the two mistakes that break
967+
cards silently — is `apps/sim/blocks/AGENTS.md` → "Canvas sentences". Read it
968+
before writing any.** The two failures worth repeating here, because both are
969+
invisible at runtime:
970+
971+
1. A clause naming only one member of a `canonicalParamId` pair drops the sentence
972+
for every advanced-mode user. List all members:
973+
`field: ['channelSelector', 'manualChannel']`.
974+
2. A clause referencing a subblock whose `condition` excludes that operation can
975+
never render.
976+
977+
Validate before finishing:
978+
979+
```bash
980+
bun run apps/sim/scripts/check-canvas-sentences.ts --block={service}
981+
```
982+
948983
## Generated artifacts
949984

950985
Adding a block on its own needs no **tool metadata** regeneration — a block references existing
@@ -963,7 +998,6 @@ bun run integration-catalog:check
963998
The catalog check independently derives deployment metadata from the executable block registry and
964999
compares it with the committed `apps/sim/lib/integrations/integrations.json`. Review the generated
9651000
diff and keep only intentional changes.
966-
9671001
## Checklist Before Finishing
9681002

9691003
- [ ] `integrationType` is set to the correct `IntegrationType` enum value
@@ -991,6 +1025,7 @@ diff and keep only intentional changes.
9911025
- [ ] Exported `{Service}BlockMeta` with at least 7 templates
9921026
- [ ] `url` set on `{Service}BlockMeta` to the external service's verified homepage (omit only for first-party blocks with no external service)
9931027
- [ ] `skills` added to `{Service}BlockMeta`, each grounded in `tools.access` and sourced from a real online use case (not invented)
1028+
- [ ] `canvasPresentation.sentences` covers every operation, and `bun run apps/sim/scripts/check-canvas-sentences.ts --block={service}` passes with 100% coverage
9941029

9951030
## Final Validation (Required)
9961031

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -768,9 +768,11 @@ tools: {
768768
}
769769
```
770770

771-
#### 3. Create Internal API Route
771+
#### 3. Create Special Internal Tool Execution Route
772772

773-
Create `apps/sim/app/api/tools/{service}/{action}/route.ts`. Internal tool routes are HTTP boundaries and follow the same contract policy as public routes — define the request/response shape in `apps/sim/lib/api/contracts/tools/{service}.ts` (or an existing aggregate) and validate with canonical helpers from `@/lib/api/server`. Never write a route-local Zod schema.
773+
Create `apps/sim/app/api/tools/{service}/{action}/route.ts`. This raw route pattern is only for an integration's provider-execution boundary when it needs special file normalization, large-body handling, or protocol behavior. It is not the pattern for CRUD or other operations on protected Sim resources. For those, use the `migrate-application-operation` skill and an authorized application use case with the ordinary internal/v2 route builders.
774+
775+
Internal tool routes are HTTP boundaries and follow the same contract policy as public routes — define the request/response shape in `apps/sim/lib/api/contracts/tools/{service}.ts` (or an existing aggregate) and validate with canonical helpers from `@/lib/api/server`. Never write a route-local Zod schema. Authenticate and perform cheap admission before parsing or downloading files.
774776

775777
```typescript
776778
// apps/sim/lib/api/contracts/tools/{service}.ts

.agents/skills/design-taste-frontend/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
name: design-taste-frontend
3+
source: https://github.com/leonxlnx/taste-skill — skills/taste-skill/SKILL.md
34
description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.
45
---
56

.agents/skills/emil-design-eng/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
name: emil-design-eng
3+
source: https://github.com/emilkowalski/skill — skills/emil-design-eng/SKILL.md
34
description: This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
45
---
56

.agents/skills/make-interfaces-feel-better/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
name: make-interfaces-feel-better
3+
source: https://github.com/jakubkrehel/make-interfaces-feel-better — skills/make-interfaces-feel-better/SKILL.md
34
description: Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, typography, micro-interactions, enter/exit animations, or any visual detail work. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, border radius, optical alignment, font smoothing, tabular numbers, image outlines, box shadows.
45
---
56

0 commit comments

Comments
 (0)