@layers/amba 4.1.0 → 4.1.1

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.
@@ -22,11 +22,13 @@
22
22
  * confirmation is approved by re-running with
23
23
  * --confirm). STORE-PRODUCT steps (creating
24
24
  * declared products in the provider and, for
25
- * App Store products with push intent, in App
26
- * Store Connect) ALWAYS wait for an explicit
27
- * approval of the started apply — an up-front
28
- * --confirm never auto-runs them. Refuses if
29
- * the provider drifted since the plan.
25
+ * App Store products with push intent in App
26
+ * Store Connect, and Google Play one-time
27
+ * products with push intent in Google Play)
28
+ * ALWAYS wait for an explicit approval of the
29
+ * started apply — an up-front --confirm never
30
+ * auto-runs them. Refuses if the provider
31
+ * drifted since the plan.
30
32
  *
31
33
  * Project is resolved via `loadProjectConfig` — same pattern as the other
32
34
  * project-scoped CLI commands.
package/dist/index.js CHANGED
@@ -2853,7 +2853,7 @@ All SDKs expose the same surface: \`Amba.configure({ projectId, apiKey })\`, the
2853
2853
  - **analytics** — funnels + retention. Query via \`amba_analytics_get\`.
2854
2854
 
2855
2855
  ### Infrastructure
2856
- - **collections** — your own typed key-value tables. Define with \`amba_collections_create\`; read/write from SDK \`Amba.client.*\`.
2856
+ - **collections** — your own relational Postgres tables (typed columns, foreign keys, transactions, unique indexes, vector search). Define with \`amba_collections_create\`; read/write from SDK \`Amba.client.*\`.
2857
2857
  - **functions** — serverless TypeScript handlers. Deploy with \`amba_functions_deploy\`; schedule with \`amba_functions_schedule\`.
2858
2858
  - **sites** — static site hosting at \`*.app.amba.host\`. Deploy with \`amba_sites_deploy\`.
2859
2859
  - **media** — file storage + CDN. Upload via \`amba_media_upload\`.
@@ -3490,7 +3490,7 @@ When the user asks you to wire Amba into this codebase, run this journey end-to-
3490
3490
  - **gamification** — XP, achievements, streaks, leaderboards, challenges (\`amba://setup/gamification\`).
3491
3491
  - **economy** — currencies, catalog, stores, inventory (\`amba://setup/economy\`).
3492
3492
  - **social** — friends, groups, feeds, messaging, moderation, reviews (\`amba://setup/social\`).
3493
- - **infrastructure** — collections (typed tables), functions, AI prompts, secrets, configs, integrations, media, sites (\`amba://setup/infrastructure\`).
3493
+ - **infrastructure** — collections (relational Postgres tables), functions, AI prompts, secrets, configs, integrations, media, sites (\`amba://setup/infrastructure\`).
3494
3494
 
3495
3495
  ## SDKs
3496
3496
 
@@ -6901,11 +6901,13 @@ async function paymentsPayoutsCommand(input) {
6901
6901
  * confirmation is approved by re-running with
6902
6902
  * --confirm). STORE-PRODUCT steps (creating
6903
6903
  * declared products in the provider and, for
6904
- * App Store products with push intent, in App
6905
- * Store Connect) ALWAYS wait for an explicit
6906
- * approval of the started apply — an up-front
6907
- * --confirm never auto-runs them. Refuses if
6908
- * the provider drifted since the plan.
6904
+ * App Store products with push intent in App
6905
+ * Store Connect, and Google Play one-time
6906
+ * products with push intent in Google Play)
6907
+ * ALWAYS wait for an explicit approval of the
6908
+ * started apply — an up-front --confirm never
6909
+ * auto-runs them. Refuses if the provider
6910
+ * drifted since the plan.
6909
6911
  *
6910
6912
  * Project is resolved via `loadProjectConfig` — same pattern as the other
6911
6913
  * project-scoped CLI commands.
@@ -9528,7 +9530,7 @@ async function diffConfigCommand(file = DEFAULT_BUNDLE_FILE, options = {}) {
9528
9530
  //#endregion
9529
9531
  //#region src/index.ts
9530
9532
  const program = new Command();
9531
- program.name("amba").description("amba — agent-native backend-as-a-service for mobile apps.").version("4.1.0");
9533
+ program.name("amba").description("amba — agent-native backend-as-a-service for mobile apps.").version("4.1.1");
9532
9534
  program.option("--token <pat>", "Use a Personal Access Token for headless / CI / agent use (overrides ~/.amba/credentials.json + AMBA_PAT env)");
9533
9535
  program.hook("preAction", (thisCommand) => {
9534
9536
  setBearerOverride(resolveTokenSource({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layers/amba",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "amba — agent-native backend-as-a-service. Functions, collections, storage, AI, email, queues, sites, and `amba ship` to take an Expo app live on the App Store + Google Play. `npx @layers/amba init` to start.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,8 +49,8 @@
49
49
  "tsdown": "^0.12.5",
50
50
  "typescript": "^5.8.3",
51
51
  "vitest": "^3.2.4",
52
- "@layers/amba-shared": "4.0.4",
53
- "@layers/amba-mcp": "4.0.6"
52
+ "@layers/amba-mcp": "4.0.6",
53
+ "@layers/amba-shared": "4.0.4"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "tsdown && tsc --emitDeclarationOnly",
@@ -176,7 +176,7 @@ For each surface in the confirmed set, read the relevant reference file and exec
176
176
  - **gamification** (XP rules, achievements, streaks, leaderboards, challenges) → `references/gamification.md`
177
177
  - **economy** (currencies, catalog, stores, inventory) → `references/economy.md`
178
178
  - **social** (friends, groups, feeds, messaging, moderation, reviews) → `references/social.md`
179
- - **infrastructure** (collections / DB tables, functions, analytics, AI prompts) → `references/infrastructure.md`
179
+ - **infrastructure** (collections / relational Postgres tables, functions, analytics, AI prompts) → `references/infrastructure.md`
180
180
 
181
181
  Each reference file has, in order:
182
182
 
@@ -1,14 +1,14 @@
1
1
  # Infrastructure
2
2
 
3
- The plumbing that sits behind every other surface: custom database tables (Collections — schema-first, per-tenant), serverless functions (run server-side code without standing up a backend), analytics (events + sessions), AI prompts (managed LLM templates, callable from the SDK with per-tenant keys), secrets, runtime configs, feature flags, third-party integrations (RevenueCat / Superwall / Resend / Stripe / etc.), media (file storage + CDN), and sites (static asset hosting at `*.app.amba.host`).
3
+ The plumbing that sits behind every other surface: relational Postgres tables (Collections — schema-first, per-tenant), serverless functions (run server-side code without standing up a backend), analytics (events + sessions), AI prompts (managed LLM templates, callable from the SDK with per-tenant keys), secrets, runtime configs, feature flags, third-party integrations (RevenueCat / Superwall / Resend / Stripe / etc.), media (file storage + CDN), and sites (static asset hosting at `*.app.amba.host`).
4
4
 
5
5
  If gamification, economy, and social are the playable surface, **infrastructure is what you build a custom product on top of**. Anything that doesn't fit the canned surfaces lands here.
6
6
 
7
7
  ## MCP tools
8
8
 
9
- ### Collections (typed tables)
9
+ ### Collections (relational Postgres tables)
10
10
 
11
- A collection is a schema-first table inside the project's isolated tenant database. You describe the columns, the server creates the table and any indexes. Rows are scoped to the signed-in `app_user` automatically (server-enforced auto row-level isolation) for SDK clients — admin tools bypass this.
11
+ A collection is a relational Postgres table inside the project's isolated tenant database — typed columns, foreign keys, transactions, unique indexes, and vector search. You describe the columns, the server creates the table and any indexes. Rows are scoped to the signed-in `app_user` automatically (server-enforced auto row-level isolation) for SDK clients — admin tools bypass this.
12
12
 
13
13
  | Tool | Purpose | Example args |
14
14
  | --- | --- | --- |