@assembly-js/app-foundation 0.0.7 → 0.0.8-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assembly-js/app-foundation",
3
- "version": "0.0.7",
3
+ "version": "0.0.8-rc.0",
4
4
  "description": "Versioned foundation helpers and build context for Assembly generated apps",
5
5
  "type": "module",
6
6
  "files": [
@@ -84,3 +84,22 @@ Send the structured object — a bare string is accepted for backwards compatibi
84
84
  - **Clearing a value**: empty array `[]`, not `null` or `undefined`.
85
85
  - **Either `key` or `id` works** as the inner option value — use `key` by convention.
86
86
  - Same shape applies to `createClient`, `createCompany`, `updateCompany`.
87
+
88
+ <!-- feature:platform-mcp -->
89
+ ## Provisioning fields at build time (platform MCP)
90
+
91
+ You have a scoped platform MCP server (tool prefix `mcp__platform__`). When the app you are building depends on a custom field the workspace does not have yet — the user asked for "call clients at their phone number" and no Phone-type client field exists — provision it yourself at build time instead of shipping an app that gates on missing workspace config:
92
+
93
+ ```
94
+ mcp__platform__custom_fields with action "list" — check what exists first
95
+ mcp__platform__custom_fields with action "create" — create the missing field
96
+ ```
97
+
98
+ Rules:
99
+
100
+ - **Check before creating** (`list`, match case-insensitively by name) — never create a duplicate of a field that already exists under a slightly different name.
101
+ - **Creating a field does not replace graceful handling.** The app's runtime code must still handle the field being absent or renamed later (discover by name, render a setup hint) — you provision the field the app *starts* with; you don't get to assume it forever.
102
+ - **Never delete fields.** Deletion is not available to you by policy: fields carry data on real client records.
103
+ - **This tool is for workspace configuration only.** Do not reach for `mcp__platform__*` to create clients, send messages/notifications/invoices, or touch any client-facing data — those denials are enforced server-side and the attempt wastes a turn.
104
+ - Tell the user in chat, in product terms, when you create a field ("I added a Phone number field to your client records so the app can call them").
105
+ <!-- /feature:platform-mcp -->