percher 0.5.10 → 0.5.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "percher",
3
- "version": "0.5.10",
3
+ "version": "0.5.12",
4
4
  "description": "CLI for the Percher hosting platform \u2014 publish apps with one command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@percher/client": "^0.2.10",
28
- "@percher/core": "^0.4.5",
27
+ "@percher/client": "^0.2.16",
28
+ "@percher/core": "^0.4.16",
29
29
  "@percher/toml": "^0.1.5",
30
30
  "cac": "^7.0.0",
31
31
  "picocolors": "^1.1.1"
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AA4B/B,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA2YpE"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AA4B/B,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAwZpE"}
@@ -142,13 +142,23 @@ export function registerAccountCommands(cli, ctx) {
142
142
  return;
143
143
  }
144
144
  await writeLine(ctx, pc.bold("Percher MCP server"));
145
- await writeLine(ctx, pc.dim("Add this entry to your MCP-aware client:"));
146
145
  await writeLine(ctx, "");
146
+ await writeLine(ctx, pc.bold("Local (npx) — full tool set, reads your project files:"));
147
147
  await writeLine(ctx, JSON.stringify(result.config, null, 2));
148
148
  await writeLine(ctx, "");
149
+ await writeLine(ctx, pc.bold("Hosted connector — add this URL, OAuth login in the browser (no token):"));
150
+ await writeLine(ctx, ` ${result.hosted.url}`);
151
+ await writeLine(ctx, "");
149
152
  await writeLine(ctx, pc.bold("Where to paste:"));
150
153
  for (const loc of result.installLocations) {
151
154
  await writeLine(ctx, ` ${loc.client.padEnd(28)} ${pc.dim(loc.path)}`);
155
+ if (loc.note) {
156
+ await writeLine(ctx, ` ${"".padEnd(28)} ${pc.dim(loc.note)}`);
157
+ }
158
+ }
159
+ await writeLine(ctx, "");
160
+ for (const note of result.notes) {
161
+ await writeLine(ctx, pc.dim(note));
152
162
  }
153
163
  await writeLine(ctx, "");
154
164
  await writeLine(ctx, pc.dim("Once installed, your assistant gets percher_publish + 28 other tools."));
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,eAAe,GAAwC;IAC3D,UAAU,EACR,4GAA4G;IAC9G,uBAAuB,EACrB,sIAAsI;IACxI,yBAAyB,EACvB,0GAA0G;IAC5G,4BAA4B,EAC1B,wGAAwG;IAC1G,0BAA0B,EACxB,gIAAgI;IAClI,mBAAmB,EACjB,8EAA8E;IAChF,mBAAmB,EACjB,gFAAgF;CACnF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,GAAQ,EAAE,GAAY;IAC5D,sEAAsE;IACtE,mEAAmE;IACnE,mEAAmE;IACnE,gEAAgE;IAChE,+BAA+B;IAC/B,GAAG;SACA,OAAO,CACN,4BAA4B,EAC5B,yHAAyH,CAC1H;SACA,MAAM,CAAC,cAAc,EAAE,gCAAgC,CAAC;SACxD,MAAM,CACL,oBAAoB,EACpB,+EAA+E,CAChF;SACA,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,CAAC;SAC1F,MAAM,CAAC,OAAO,EAAE,wDAAwD,CAAC;SACzE,MAAM,CACL,KAAK,EACH,MAA0B,EAC1B,KAAe,EACf,OAAoF,EACpF,EAAE;QACF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBACzE,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;gBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC9C,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBACzC,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,SAAS,CACb,GAAG,EACH,EAAE,CAAC,MAAM,CACP,uBAAuB,MAAM,CAAC,iBAAiB,CAAC,MAAM,sFAAsF,CAC7I,CACF,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,CACb,GAAG,EACH,EAAE,CAAC,GAAG,CACJ,iJAAiJ,CAClJ,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBACzE,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,oGAAoG,CACrH,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,QAAQ,CAAC,MAAM,IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAC/C,KAAK,OAAO,CAAC,aAAa,UAAU,OAAO,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CACrF,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC;gBAClF,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtE,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;oBACnD,MAAM,SAAS,CAAC,GAAG,EAAE,WAAW,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,SAAS,CACb,GAAG,EACH,EAAE,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,OAAO,CAAC,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,SAAS,CACb,GAAG,EACH,EAAE,CAAC,GAAG,CACJ,mKAAmK,CACpK,CACF,CAAC;YACF,8DAA8D;YAC9D,4DAA4D;YAC5D,8DAA8D;YAC9D,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBACzE,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,wOAAwO,CACvP,CAAC;gBACF,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAC7B,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,mZAAmZ,CACla,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,mBAAmB,EAAE,CAAC;oBACxD,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,oEAAoE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,uFAAuF,CAC1M,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,IAAI,EAAE,2CAA2C,CACnF,CAAC;IACJ,CAAC,CACF,CAAC;IAEJ,sEAAsE;IACtE,oEAAoE;IACpE,0DAA0D;IAC1D,GAAG;SACA,OAAO,CAAC,gBAAgB,EAAE,oEAAoE,CAAC;SAC/F,MAAM,CAAC,cAAc,EAAE,kEAAkE,CAAC;SAC1F,MAAM,CACL,oBAAoB,EACpB,qGAAqG,CACtG;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,iEAAiE;IACnE,CAAC,CAAC,CAAC;IACL,GAAG;SACA,OAAO,CACN,wBAAwB,EACxB,gLAAgL,CACjL;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,iEAAiE;IACnE,CAAC,CAAC,CAAC;IACL,GAAG;SACA,OAAO,CACN,gBAAgB,EAChB,yLAAyL,CAC1L;SACA,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;SACpF,MAAM,CAAC,OAAO,EAAE,qEAAqE,CAAC;SACtF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,iEAAiE;IACnE,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,EAAE,+EAA+E,CAAC;SAC/F,MAAM,CAAC,QAAQ,EAAE,gCAAgC,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,SAAS,CACb,GAAG,EACH,EAAE,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAChF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CACN,mBAAmB,EACnB,sEAAsE,CACvE;SACA,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;SAC/B,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAA4C,EAAE,EAAE;QAC7E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC5B,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YACvF,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,GAAG,GACP,CAAC,CAAC,MAAM,KAAK,mBAAmB;oBAC9B,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;wBACvB,CAAC,CAAC,0CAA0C;wBAC5C,CAAC,CAAC,yCAAyC,CAAC;gBAClD,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;gBACxF,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,GAAG,GACP,CAAC,CAAC,MAAM,KAAK,YAAY;oBACvB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;wBACvB,CAAC,CAAC,0CAA0C;wBAC5C,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;4BACtB,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,mBAAmB,CAAC;gBAC9B,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,IAAI,GACR,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;oBACf,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;wBACvB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;wBAChB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;4BACtB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;4BACb,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,UAAU,GACd,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,aAAa;oBAC1D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC;oBAC9D,CAAC,CAAC,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,GAAG,CAAC;wBACrC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/G,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,4BAA4B,MAAM,4CAA4C,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,EAAE,kDAAkD,CAAC;SACrE,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;SACpF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;YAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,SAAS,CACb,GAAG,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,2BAA2B,CAC7E,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,SAAS,CAAC,GAAG,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;SAC5F,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,MAA0B,EAAE,OAAO,EAAE,EAAE;QACpE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YACxE,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,CACb,GAAG,EACH,yBAAyB,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,+FAA+F,CAAC,CAAC,CAAC,gDAAgD,GAAG,CACxN,CAAC;YACF,MAAM,SAAS,CACb,GAAG,EACH,YAAY,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CACrF,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;YAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACzB,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;gBAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,SAAS,CACb,GAAG,EACH,oEAAoE,CACrE,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACrB,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAClC,MAAM,SAAS,CACb,GAAG,EACH,4BAA4B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC3F,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,sCAAsC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI/B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA4LjF"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI/B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAkPjF"}
@@ -15,6 +15,11 @@ export function registerDataCommands(cli, ctx, argv) {
15
15
  .option("--json", "Output as JSON")
16
16
  .option("--reveal", "(reset-superuser only) also print the plaintext password once")
17
17
  .option("--out <path>", "(export only) Output file (default: ./<app>-pb-<timestamp>.tar.gz)")
18
+ .option("--provider <name>", "(oauth only) OAuth provider (default: google)")
19
+ .option("--app <name>", "(oauth only) target app (default: read percher.toml)")
20
+ .option("--client-id <id>", "(oauth only) OAuth client id")
21
+ .option("--client-secret <secret>", "(oauth only) OAuth client secret")
22
+ .option("--remove", "(oauth only) remove the provider instead of setting it")
18
23
  .action(async (app, _rest, options) => {
19
24
  // cac matches commands by single first-token equality, so
20
25
  // `percher data reset-superuser <app>` would otherwise hit this
@@ -49,6 +54,43 @@ export function registerDataCommands(cli, ctx, argv) {
49
54
  await writeLine(ctx, ` Size: ${mb} MB`);
50
55
  return;
51
56
  }
57
+ if (app === "oauth") {
58
+ // The positional after `oauth` is the PROVIDER — `percher data oauth
59
+ // google` (as advertised), NOT an app name. The app comes from `--app`
60
+ // or percher.toml (the capsule flow runs from the app dir).
61
+ const idx = argv.indexOf("oauth");
62
+ const provider = (idx >= 0 ? firstNonFlagAfter(argv, idx) : undefined) ?? options.provider ?? "google";
63
+ const result = await core.dataOauth(ctx, {
64
+ app: options.app,
65
+ provider,
66
+ clientId: options.clientId,
67
+ clientSecret: options.clientSecret,
68
+ remove: options.remove,
69
+ });
70
+ if (result.action === "removed") {
71
+ await writeLine(ctx, `${pc.green("✓")} Removed ${result.provider} sign-in.`);
72
+ }
73
+ else if (result.action === "set") {
74
+ await writeLine(ctx, `${pc.green("✓")} ${result.provider} sign-in enabled.`);
75
+ await writeLine(ctx, "");
76
+ await writeLine(ctx, pc.bold("One more step — add this redirect URI in the provider console:"));
77
+ await writeLine(ctx, ` ${result.redirectUri}`);
78
+ }
79
+ else {
80
+ if (!result.providers?.length) {
81
+ await writeLine(ctx, pc.dim("No OAuth providers configured."));
82
+ }
83
+ else {
84
+ await writeLine(ctx, pc.bold("Configured providers"));
85
+ for (const p of result.providers) {
86
+ await writeLine(ctx, ` ${p.provider.padEnd(12)} ${pc.dim(p.clientId)}`);
87
+ }
88
+ }
89
+ await writeLine(ctx, "");
90
+ await writeLine(ctx, `Redirect URI: ${result.redirectUri}`);
91
+ }
92
+ return;
93
+ }
52
94
  const result = await core.data(ctx, { app, json: options.json });
53
95
  if (options.json) {
54
96
  await writeLine(ctx, JSON.stringify(result, null, 2));
@@ -85,6 +127,12 @@ export function registerDataCommands(cli, ctx, argv) {
85
127
  const result = await core.resetSuperuser(ctx, { app, reveal: options.reveal });
86
128
  await printSuperuserResetResult(ctx, result);
87
129
  });
130
+ cli
131
+ .command("data oauth [provider]", "Configure capsule OAuth sign-in (e.g. `data oauth google --client-id … --client-secret …`)")
132
+ .action(async () => {
133
+ // Unreachable in practice — handled by the "data [app] [...rest]" action
134
+ // above via the `app === "oauth"` branch. Registered here so --help lists it.
135
+ });
88
136
  cli
89
137
  .command("data export [app]", "Download a snapshot of your app's PocketBase data as a .tar.gz")
90
138
  // --out is registered on the parent `data [app] [...rest]` so cac
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/commands/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/commands/data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ :8080 {
2
+ bind 0.0.0.0
3
+ root * /srv
4
+ encode gzip zstd
5
+ try_files {path} /index.html
6
+ file_server
7
+ }
@@ -0,0 +1,39 @@
1
+ # Capsule build: a Bun stage compiles the static Preact bundle, then a minimal
2
+ # Caddy image serves it. runtime = "docker" (not "static") because the static
3
+ # runtime serves pre-built files only — it does not run a build command.
4
+ # Generated by Percher; safe to edit and own.
5
+
6
+ # --- Build stage: install deps and build the static bundle -----------
7
+ FROM oven/bun:1-alpine AS build
8
+ WORKDIR /app
9
+ COPY . .
10
+ # Percher injects VITE_POCKETBASE_URL (the app's own pb-<app>.<suffix> origin)
11
+ # as a build-arg. A runtime=docker build only sees it if the Dockerfile DECLARES
12
+ # the ARG before the build — without this, db.ts compiles against `undefined`.
13
+ ARG VITE_POCKETBASE_URL
14
+ ENV VITE_POCKETBASE_URL=$VITE_POCKETBASE_URL
15
+ # Managed inference endpoint (Slice 3) — also a public URL, baked in the same way.
16
+ ARG VITE_PERCHER_AI_URL
17
+ ENV VITE_PERCHER_AI_URL=$VITE_PERCHER_AI_URL
18
+ RUN bun install && bun run build
19
+
20
+ # --- Serve stage: minimal Caddy image --------------------------------
21
+ # caddy:2-alpine ships /usr/bin/caddy with cap_net_bind_service file caps.
22
+ # Percher runs every container with --security-opt no-new-privileges, which
23
+ # makes execve refuse a cap-bearing binary. Strip the caps with setcap -r —
24
+ # Caddy listens on :8080 (>= 1024) and never needs the cap.
25
+ FROM caddy:2-alpine AS caddy-source
26
+ FROM alpine:3.21
27
+ COPY --from=caddy-source /usr/bin/caddy /usr/bin/caddy
28
+ RUN apk add --no-cache libcap \
29
+ && (setcap -r /usr/bin/caddy 2>/dev/null || true) \
30
+ && test -z "$(getcap /usr/bin/caddy)" \
31
+ && apk del libcap \
32
+ && rm -rf /var/cache/apk/*
33
+ COPY Caddyfile /etc/caddy/Caddyfile
34
+ COPY --from=build /app/dist /srv
35
+ # HOME points at the writable tmpfs so non-root Caddy can persist its XDG state
36
+ # under Percher's read-only root filesystem.
37
+ ENV HOME=/tmp
38
+ EXPOSE 8080
39
+ CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>__APP_NAME__</title>
7
+ </head>
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="/src/main.tsx"></script>
11
+ </body>
12
+ </html>
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "__APP_NAME__",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "pocketbase": "^0.26.0",
13
+ "preact": "^10.22.0"
14
+ },
15
+ "devDependencies": {
16
+ "@preact/preset-vite": "^2.9.0",
17
+ "typescript": "^5.5.0",
18
+ "vite": "^5.3.0"
19
+ }
20
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "version": 1,
3
+ "collections": [
4
+ {
5
+ "name": "messages",
6
+ "type": "base",
7
+ "fields": [
8
+ { "name": "text", "type": "text", "required": true, "max": 500 },
9
+ { "name": "author", "type": "text", "required": true }
10
+ ],
11
+ "listRule": "",
12
+ "viewRule": "",
13
+ "createRule": "@request.auth.id != \"\"",
14
+ "updateRule": "author = @request.auth.id",
15
+ "deleteRule": "author = @request.auth.id"
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,13 @@
1
+ [app]
2
+ name = "__APP_NAME__"
3
+ runtime = "docker"
4
+ framework = "vite"
5
+
6
+ [web]
7
+ port = 8080
8
+ health = "/"
9
+
10
+ # A capsule auto-provisions a PocketBase sidecar (db + auth + realtime + file
11
+ # storage). Percher applies pb/schema.json before the app goes live.
12
+ [data]
13
+ mode = "pocketbase"
@@ -0,0 +1,65 @@
1
+ import { useEffect, useState } from "preact/hooks";
2
+ import { Auth } from "./components/Auth";
3
+ import { db, pb } from "./lib/db";
4
+ import { subscribe } from "./lib/realtime";
5
+
6
+ interface Message {
7
+ id: string;
8
+ text: string;
9
+ author: string;
10
+ }
11
+
12
+ // The guestbook demo — email/password sign-in + db + realtime, working the
13
+ // moment `scaffold → publish` finishes (Percher provisions the schema before
14
+ // the app goes live). Only signed-in users can post (pb/schema.json createRule);
15
+ // each row is owner-editable (updateRule/deleteRule key off author).
16
+ export function App() {
17
+ const [messages, setMessages] = useState<Message[]>([]);
18
+ const [text, setText] = useState("");
19
+ // Force a re-render when auth state changes (sign in/out).
20
+ const [, bump] = useState(0);
21
+
22
+ async function load() {
23
+ setMessages(await db.collection<Message>("messages").getFullList());
24
+ }
25
+
26
+ useEffect(() => {
27
+ load();
28
+ const off = subscribe<Message>("messages", () => load());
29
+ return () => {
30
+ void off.then((fn) => fn());
31
+ };
32
+ }, []);
33
+
34
+ async function post() {
35
+ const author = pb.authStore.record?.id;
36
+ if (!author || !text.trim()) return;
37
+ await db.collection("messages").create({ text, author });
38
+ setText("");
39
+ }
40
+
41
+ return (
42
+ <main style={{ fontFamily: "system-ui", padding: 40, maxWidth: 640, margin: "0 auto" }}>
43
+ <h1>__APP_NAME__</h1>
44
+ <p>A Percher capsule — PocketBase db + auth + realtime, pre-wired.</p>
45
+ <Auth onChange={() => bump((n) => n + 1)} />
46
+ {pb.authStore.isValid && (
47
+ <div style={{ display: "flex", gap: 8, margin: "16px 0" }}>
48
+ <input
49
+ value={text}
50
+ placeholder="Leave a message"
51
+ onInput={(e) => setText((e.target as HTMLInputElement).value)}
52
+ />
53
+ <button type="button" onClick={post}>
54
+ Post
55
+ </button>
56
+ </div>
57
+ )}
58
+ <ul>
59
+ {messages.map((m) => (
60
+ <li key={m.id}>{m.text}</li>
61
+ ))}
62
+ </ul>
63
+ </main>
64
+ );
65
+ }
@@ -0,0 +1,75 @@
1
+ import { useState } from "preact/hooks";
2
+ import { pb } from "../lib/db";
3
+ import { SignInWithGoogle } from "./SignInWithGoogle";
4
+
5
+ /**
6
+ * Email/password sign-up + sign-in against PocketBase's built-in `users` auth
7
+ * collection — works on day one with ZERO provider config. Google sign-in is a
8
+ * convenience added on top (Slice 2), never a prerequisite.
9
+ */
10
+ export function Auth({ onChange }: { onChange?: () => void }) {
11
+ const [email, setEmail] = useState("");
12
+ const [password, setPassword] = useState("");
13
+ const [error, setError] = useState("");
14
+
15
+ async function signIn() {
16
+ setError("");
17
+ try {
18
+ await pb.collection("users").authWithPassword(email, password);
19
+ onChange?.();
20
+ } catch (e) {
21
+ setError((e as Error).message);
22
+ }
23
+ }
24
+ async function signUp() {
25
+ setError("");
26
+ try {
27
+ await pb.collection("users").create({ email, password, passwordConfirm: password });
28
+ await signIn();
29
+ } catch (e) {
30
+ setError((e as Error).message);
31
+ }
32
+ }
33
+ function signOut() {
34
+ pb.authStore.clear();
35
+ onChange?.();
36
+ }
37
+
38
+ if (pb.authStore.isValid) {
39
+ return (
40
+ <div>
41
+ <span>Signed in as {pb.authStore.record?.email}</span>{" "}
42
+ <button type="button" onClick={signOut}>
43
+ Sign out
44
+ </button>
45
+ </div>
46
+ );
47
+ }
48
+
49
+ return (
50
+ <div style={{ display: "grid", gap: 8, maxWidth: 280 }}>
51
+ <input
52
+ type="email"
53
+ placeholder="Email"
54
+ value={email}
55
+ onInput={(e) => setEmail((e.target as HTMLInputElement).value)}
56
+ />
57
+ <input
58
+ type="password"
59
+ placeholder="Password"
60
+ value={password}
61
+ onInput={(e) => setPassword((e.target as HTMLInputElement).value)}
62
+ />
63
+ <div style={{ display: "flex", gap: 8 }}>
64
+ <button type="button" onClick={signIn}>
65
+ Sign in
66
+ </button>
67
+ <button type="button" onClick={signUp}>
68
+ Sign up
69
+ </button>
70
+ </div>
71
+ <SignInWithGoogle onChange={onChange} />
72
+ {error && <p style={{ color: "crimson" }}>{error}</p>}
73
+ </div>
74
+ );
75
+ }
@@ -0,0 +1,27 @@
1
+ import { pb } from "../lib/db";
2
+
3
+ /**
4
+ * One-click Google sign-in — the bonus path on top of email/password. It lights
5
+ * up once an operator runs `percher data oauth google` (Slice 2) to configure the
6
+ * provider in this app's PocketBase. Until then it renders disabled with a hint;
7
+ * the disabled state never blocks the email/password path.
8
+ */
9
+ export function SignInWithGoogle({ onChange }: { onChange?: () => void }) {
10
+ async function signIn() {
11
+ await pb.collection("users").authWithOAuth2({ provider: "google" });
12
+ onChange?.();
13
+ }
14
+
15
+ // Flip to true once `percher data oauth google` has configured the provider.
16
+ const enabled = false;
17
+ return (
18
+ <button
19
+ type="button"
20
+ disabled={!enabled}
21
+ onClick={enabled ? signIn : undefined}
22
+ title="Run `percher data oauth google` to enable Google sign-in"
23
+ >
24
+ Sign in with Google
25
+ </button>
26
+ );
27
+ }
@@ -0,0 +1,32 @@
1
+ import { pb } from "./db";
2
+
3
+ // Managed inference endpoint, injected at build time (a public URL, not a
4
+ // secret). The Dockerfile declares ARG VITE_PERCHER_AI_URL.
5
+ const AI_URL = import.meta.env.VITE_PERCHER_AI_URL;
6
+
7
+ /**
8
+ * Keyless managed inference — NO API key, billed to the app owner's Percher
9
+ * plan. Only works for SIGNED-IN users (the proxy validates the current PB
10
+ * session against this app's sidecar). Returns the completion text.
11
+ *
12
+ * const reply = await complete("Summarize: " + text);
13
+ */
14
+ export async function complete(
15
+ prompt: string,
16
+ opts?: { model?: string; maxTokens?: number },
17
+ ): Promise<string> {
18
+ if (!AI_URL) throw new Error("Managed inference isn't configured for this app.");
19
+ if (!pb.authStore.isValid) throw new Error("Sign in to use AI.");
20
+ const res = await fetch(AI_URL, {
21
+ method: "POST",
22
+ headers: { "content-type": "application/json", authorization: pb.authStore.token },
23
+ body: JSON.stringify({
24
+ model: opts?.model,
25
+ max_tokens: opts?.maxTokens ?? 512,
26
+ messages: [{ role: "user", content: prompt }],
27
+ }),
28
+ });
29
+ if (!res.ok) throw new Error(`AI request failed (${res.status})`);
30
+ const data = (await res.json()) as { choices?: Array<{ message?: { content?: string } }> };
31
+ return data.choices?.[0]?.message?.content ?? "";
32
+ }
@@ -0,0 +1,14 @@
1
+ import PocketBase from "pocketbase";
2
+
3
+ // The app's own PocketBase, injected at build time via the Dockerfile's
4
+ // ARG VITE_POCKETBASE_URL (the pb-<app>.<suffix> origin). Auth state persists in
5
+ // localStorage automatically.
6
+ export const pb = new PocketBase(import.meta.env.VITE_POCKETBASE_URL);
7
+
8
+ /**
9
+ * Typed data client. Write `db.collection<Message>("messages").create(...)`
10
+ * instead of hand-rolling the REST API.
11
+ */
12
+ export const db = {
13
+ collection: <T = Record<string, unknown>>(name: string) => pb.collection<T>(name),
14
+ };
@@ -0,0 +1,16 @@
1
+ import { pb } from "./db";
2
+
3
+ /**
4
+ * Subscribe to live changes on a collection — one call closes the cross-tab /
5
+ * cross-user realtime glue. The callback fires on every create/update/delete;
6
+ * resolves to an unsubscribe function.
7
+ *
8
+ * const off = await subscribe<Message>("messages", (e) => refresh());
9
+ * // later: off();
10
+ */
11
+ export function subscribe<T = Record<string, unknown>>(
12
+ collection: string,
13
+ cb: (e: { action: string; record: T }) => void,
14
+ ) {
15
+ return pb.collection<T>(collection).subscribe("*", cb);
16
+ }
@@ -0,0 +1,5 @@
1
+ import { render } from "preact";
2
+ import { App } from "./App";
3
+
4
+ const root = document.getElementById("app");
5
+ if (root) render(<App />, root);
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "jsx": "react-jsx",
7
+ "jsxImportSource": "preact",
8
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
9
+ "types": ["vite/client"],
10
+ "strict": true,
11
+ "skipLibCheck": true,
12
+ "noEmit": true
13
+ },
14
+ "include": ["src"]
15
+ }
@@ -0,0 +1,6 @@
1
+ import preact from "@preact/preset-vite";
2
+ import { defineConfig } from "vite";
3
+
4
+ export default defineConfig({
5
+ plugins: [preact()],
6
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "percher",
3
- "version": "0.5.10",
3
+ "version": "0.5.12",
4
4
  "description": "CLI for the Percher hosting platform \u2014 publish apps with one command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@percher/client": "^0.2.10",
28
- "@percher/core": "^0.4.5",
27
+ "@percher/client": "^0.2.16",
28
+ "@percher/core": "^0.4.16",
29
29
  "@percher/toml": "^0.1.5",
30
30
  "cac": "^7.0.0",
31
31
  "picocolors": "^1.1.1"