@lotics/app-sdk 0.123.4 → 0.123.6

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/dist/index.js CHANGED
@@ -6562,6 +6562,14 @@ var TOOL_INPUT_SEMANTICS = {
6562
6562
  // `fields` is keyed by field; the tool resolves it at execute.
6563
6563
  conflicts: { kind: "dynamic" }
6564
6564
  },
6565
+ save_record: {
6566
+ table_id: { kind: "table_ref", rows: "change" },
6567
+ match: { kind: "record_data", table_from: "table_id" },
6568
+ set: { kind: "record_data", table_from: "table_id" },
6569
+ add_to: { kind: "record_data", table_from: "table_id" },
6570
+ // Each entry names its own child table and fields; the tool resolves them at execute.
6571
+ lines: { kind: "dynamic" }
6572
+ },
6565
6573
  delete_records: {
6566
6574
  // THE ONE CALL THAT TAKES ROWS. Every column of the row goes with it, so
6567
6575
  // nothing field-keyed can carry the fact and it rides the table position —
package/docs/ai.md CHANGED
@@ -336,11 +336,11 @@ This hook is a **one-way push of data the app already showed this member**. (Cha
336
336
 
337
337
  ### The chat can also USE the app, not just be told about it
338
338
 
339
- While a member has an app open, their chat agent can also **call that app's own
340
- declared aliases** — named queries via `run_app_query`, workflows via
339
+ A member's chat agent can also **call the declared aliases of any app that member
340
+ can use** (the open app when a call names none): named queries via `run_app_query`, workflows via
341
341
  `run_app_workflow`. This adds no exposure: every declared alias is already
342
342
  callable by that member ([the devtools test](./security.md#the-devtools-test)).
343
- It is gated per turn on `app:use`, and runs under the app's OWNER authority with
343
+ It is gated on `app:use` when the call is made, and runs under the app's OWNER authority with
344
344
  `is_current_member` bound to the MEMBER, exactly as the app's own UI does.
345
345
 
346
346
  The agent is handed a **catalog** of those aliases — each one's `description`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lotics/app-sdk",
3
- "version": "0.123.4",
3
+ "version": "0.123.6",
4
4
  "description": "The SDK a Lotics custom-code app reads and writes through — typed hooks over the host bridge, cell readers, mount() and AppRouter",
5
5
  "type": "module",
6
6
  "exports": {