@somewhere-tech/cli 0.34.0 → 0.34.2
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/README.md +1 -1
- package/dist/commands/auth.js +18 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/check.js +3 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/deploy.js +64 -15
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/init.js +18 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/client.js +7 -0
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/declared-data.js +53 -1
- package/dist/lib/declared-data.js.map +1 -1
- package/dist/lib/init-agent-guide.js +26 -27
- package/dist/lib/init-agent-guide.js.map +1 -1
- package/dist/lib/init-auth-template.js +230 -0
- package/dist/lib/init-auth-template.js.map +1 -0
- package/dist/lib/init-green-template.js +8 -29
- package/dist/lib/init-green-template.js.map +1 -1
- package/dist/lib/output.js +12 -1
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/surface-counts.js +11 -1
- package/dist/lib/surface-counts.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/runtime/DECLARED-DATA-VENDOR.json +7 -6
- package/runtime/declared-data.cjs +2404 -80
package/dist/commands/init.js
CHANGED
|
@@ -5,9 +5,14 @@ import { getToken, hasGlobalMcpConfig, loadProjectConfig, saveGlobalMcpConfig, s
|
|
|
5
5
|
import { installInitDependencies } from '../lib/init-install.js';
|
|
6
6
|
import { canWriteInitScaffold, writeInitScaffold, writeMissingGuideFiles } from '../lib/init-scaffold.js';
|
|
7
7
|
import { INIT_AGENTS_MD, INIT_CLAUDE_MD } from '../lib/init-agent-guide.js';
|
|
8
|
+
import { createAuthTemplate } from '../lib/init-auth-template.js';
|
|
8
9
|
import { createGreenTemplate } from '../lib/init-green-template.js';
|
|
9
10
|
import { formatNextActions, nextActions } from '../lib/next-actions.js';
|
|
10
11
|
import { bold, dim, error, info, printJson, success, teal, warn } from '../lib/output.js';
|
|
12
|
+
const INIT_TEMPLATES = ['auth', 'minimal'];
|
|
13
|
+
function starterFiles(name) {
|
|
14
|
+
return name === 'minimal' ? createGreenTemplate() : createAuthTemplate();
|
|
15
|
+
}
|
|
11
16
|
export function registerInit(program) {
|
|
12
17
|
program
|
|
13
18
|
.command('init')
|
|
@@ -16,15 +21,22 @@ export function registerInit(program) {
|
|
|
16
21
|
.option('--link', 'Link to an existing project instead of creating one')
|
|
17
22
|
.option('--project <ref>', 'Existing project ID, name, slug, or subdomain (requires --link)')
|
|
18
23
|
.option('--bare', 'Create and link only: no starter source or dependencies (AGENTS.md/CLAUDE.md are still added when absent)')
|
|
24
|
+
.option('--template <name>', 'Starter to write: auth (default, cookie sign-in) or minimal (no sign-in)', 'auth')
|
|
19
25
|
.option('--json', 'Print the created or linked project as JSON')
|
|
20
26
|
.addHelpText('after', '\nRecommended for a new app: run `somewhere init` in an empty directory.\n'
|
|
21
|
-
+ 'The starter is a deployable React + TypeScript app
|
|
22
|
-
+ '
|
|
23
|
-
+ '
|
|
24
|
-
+ '
|
|
27
|
+
+ 'The starter is a deployable React + TypeScript app with cookie sign-in: the SDK\n'
|
|
28
|
+
+ 'client in src/services/auth.ts, the SDK\'s packaged handler as a one-line\n'
|
|
29
|
+
+ 'api/auth/[...path].ts, a protected api/greeting.ts (sw.endpoint), db/schema.ts,\n'
|
|
30
|
+
+ 'and an AGENTS.md workflow (typecheck, deploy, verify). `--template minimal` writes\n'
|
|
31
|
+
+ 'the same app without sign-in.\n'
|
|
25
32
|
+ '\nA directory that already has files is linked and left untouched. Use --bare\n'
|
|
26
33
|
+ 'only to bring your own layout; existing AGENTS.md/CLAUDE.md are never replaced.\n')
|
|
27
34
|
.action(async (opts) => {
|
|
35
|
+
const template = (opts.template ?? 'auth');
|
|
36
|
+
if (!INIT_TEMPLATES.includes(template)) {
|
|
37
|
+
error(`Unknown --template ${opts.template}. Use one of: ${INIT_TEMPLATES.join(', ')}.`);
|
|
38
|
+
process.exit(2);
|
|
39
|
+
}
|
|
28
40
|
if (opts.project && !opts.link) {
|
|
29
41
|
error('--project requires --link.');
|
|
30
42
|
process.exit(1);
|
|
@@ -123,7 +135,7 @@ export function registerInit(program) {
|
|
|
123
135
|
if (!hasGlobalMcpConfig())
|
|
124
136
|
saveGlobalMcpConfig();
|
|
125
137
|
if (shouldScaffold) {
|
|
126
|
-
writeInitScaffold(dir,
|
|
138
|
+
writeInitScaffold(dir, starterFiles(template));
|
|
127
139
|
await installInitDependencies({ cwd: dir, quiet: true });
|
|
128
140
|
}
|
|
129
141
|
else if (opts.bare) {
|
|
@@ -141,7 +153,7 @@ export function registerInit(program) {
|
|
|
141
153
|
success('.somewhere.json written');
|
|
142
154
|
saveMcpConfig(dir);
|
|
143
155
|
if (shouldScaffold) {
|
|
144
|
-
const scaffold = writeInitScaffold(dir,
|
|
156
|
+
const scaffold = writeInitScaffold(dir, starterFiles(template));
|
|
145
157
|
success(`Full-stack starter written (${scaffold.created.length} files)`);
|
|
146
158
|
info('Installing pinned dependencies with `npm install`…');
|
|
147
159
|
await installInitDependencies({ cwd: dir, quiet: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAA0B,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/client.js
CHANGED
|
@@ -35,6 +35,13 @@ export class ApiClient {
|
|
|
35
35
|
async callRunner(body, opts) {
|
|
36
36
|
return this.call('POST', '/run', body, undefined, { ...opts, baseUrl: RUNNER_BASE_URL });
|
|
37
37
|
}
|
|
38
|
+
/** Run one handler from inline function source (`deploy-check --run`). Rooted
|
|
39
|
+
* at RUNNER_BASE_URL for the same loop-protection reason as callRunner: the
|
|
40
|
+
* /v1 API cannot dispatch a handler, only the runner can. Body: { project_id,
|
|
41
|
+
* functions, path, method, headers?, body?, timeout_ms? }. */
|
|
42
|
+
async checkHandler(body, opts) {
|
|
43
|
+
return this.call('POST', '/check-handler', body, undefined, { ...opts, baseUrl: RUNNER_BASE_URL });
|
|
44
|
+
}
|
|
38
45
|
/** Authenticated API call. On a 401 API_KEY_EXPIRED — the short-lived
|
|
39
46
|
* cli-pair access key timed out — and with a stored refresh token, this
|
|
40
47
|
* swaps in a fresh access key via POST /v1/keys/cli-pair/refresh and
|
package/dist/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;8EAI8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,+BAA+B,CAAC;AAEjH;;;;;;4BAM4B;AAC5B,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,+BAA+B,CAAC;AAE1F;0DAC0D;AAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;8DAC8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,MAAM,CAAC;AAEhD,MAAM,OAAO,SAAS;IACpB;gFAC4E;IACpE,KAAK,CAAS;IAEtB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;6DAIyD;IACzD,KAAK,CAAC,UAAU,CACd,IAAa,EACb,IAA6B;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAI,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;mEAG+D;IAC/D,KAAK,CAAC,YAAY,CAChB,IAAa,EACb,IAA6B;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAI,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;2DAMuD;IACvD,KAAK,CAAC,IAAI,CACR,MAAc,EACd,IAAY,EACZ,IAAc,EACd,KAAmD,EACnD,IAA+C;QAE/C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB;gBAAE,MAAM,GAAG,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/D,2EAA2E;YAC3E,qEAAqE;YACrE,2EAA2E;YAC3E,oCAAoC;YACpC,IAAI,CAAC,SAAS;gBAAE,MAAM,GAAG,CAAC;YAC1B,wEAAwE;YACxE,+CAA+C;YAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;;uEAImE;IACnE,KAAK,CAAC,UAAU,CACd,MAAc,EACd,IAAY,EACZ,WAA4B,EAC5B,IAIC;QAED,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAC;QAE7C,IAAI,IAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAwB,CAAC;YACpE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,KAAK,iBAAiB;YAAE,OAAO,QAAQ,CAAC;QAEhD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,iBAAiB,EACjB,sFAAsF,EACtF,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;YACzC,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,kFAAkF,EAClF,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,IAAY,EACZ,WAA4B,EAC5B,IAIC;QAED,MAAM,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE;gBAC5B,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;oBACrC,GAAG,IAAI,EAAE,OAAO;iBACjB;gBACD,IAAI,EAAE,WAAW,EAAE,EAAE;gBACrB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,WAAW,CACnB,SAAS,EACT,oBAAoB,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAC3E,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAI,GAAuD,CAAC,KAAK,CAAC;YAC7E,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACnG,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,mBAAmB,MAAM,IAAI,GAAG,MAAM,MAAM,kCAAkC,EAC9E,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;2BAOuB;IACvB,KAAK,CAAC,gBAAgB,CAAC,SAAkB;QACvC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,EAAE,aAAa,CAAC;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,4EAA4E;YAC5E,4EAA4E;YAC5E,6EAA6E;YAC7E,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,6CAA6C;YAC7C,MAAM,IAAI,WAAW,CACnB,iBAAiB,EACjB,qEAAqE;gBACnE,oEAAoE;gBACpE,qEAAqE,EACvE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,IAAmE,CAAC;QACxE,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CACvB,MAAM,EACN,wBAAwB,EACxB,EAAE,aAAa,EAAE,YAAY,EAAE,EAC/B,SAAS,EACT,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CACpD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACvE,MAAM,IAAI,WAAW,CACnB,iBAAiB,EACjB,0GAA0G,EAC1G,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,mEAAmE;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc,EACd,KAAmD,EACnD,IAA+C;QAE/C,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,OAAO,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,EAAE;gBAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC;QACxD,IAAI,GAA4C,CAAC;QACjD,IAAI,CAAC;YACH,wEAAwE;YACxE,8DAA8D;YAC9D,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE;gBAC3B,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,WAAW,CACnB,SAAS,EACT,oBAAoB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;oBACxF,sGAAsG,EACxG,CAAC,CACF,CAAC;YACJ,CAAC;YACD,0DAA0D;YAC1D,wDAAwD;YACxD,+DAA+D;YAC/D,6DAA6D;YAC7D,0DAA0D;YAC1D,qCAAqC;YACrC,MAAM,KAAK,GAAI,GAAuD,CAAC,KAAK,CAAC;YAC7E,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;YACzB,4EAA4E;YAC5E,yEAAyE;YACzE,4EAA4E;YAC5E,2EAA2E;YAC3E,qDAAqD;YACrD,IAAI,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1E,MAAM,IAAI,WAAW,CACnB,aAAa,EACb,GAAG,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,+DAA+D;oBAC3F,2FAA2F;oBAC3F,4EAA4E;oBAC5E,oEAAoE,EACtE,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GACV,IAAI;gBACJ,KAAK,EAAE,OAAO;gBACd,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,mBAAmB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,IAAI;gBAC5D,wFAAwF;gBACxF,qGAAqG,EACvG,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,8DAA8D;QAC9D,wEAAwE;QACxE,MAAM,IAAI,GAAoB;YAC5B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS;YACvD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;SACpD,CAAC;QACF,IAAI,MAAsB,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CACnB,kBAAkB,EAClB,sBAAsB,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAC1D,GAAG,CAAC,MAAM,EACV,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,uEAAuE;YACvE,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,MAAM,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YACzC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAkD,CAAC;YACnF,OAAO,OAAY,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,MAQf,CAAC;QACF,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QACzF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,oEAAoE;QACpE,2EAA2E;QAC3E,oEAAoE;QACpE,qEAAqE;QACrE,kBAAkB;QAClB,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnD,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,WAAW,CACnB,KAAK,IAAI,SAAS,EAClB,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;YAC1C,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;YAC/C,CAAC,CAAC,OAAO,IAAI,eAAe,EAC9B,GAAG,CAAC,MAAM,EACV,IAAI,IAAI,SAAS,EACjB,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;qDAIiD;IACjD,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,IAAc,EACd,IAA6B;QAE7B,MAAM,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAA2B,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAClF,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC;QACxD,IAAI,GAA4C,CAAC;QACjD,IAAI,CAAC;YACH,wEAAwE;YACxE,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE;gBAC3B,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAI,GAAuD,CAAC,KAAK,CAAC;YAC7E,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACnG,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,mBAAmB,MAAM,IAAI,GAAG,MAAM,MAAM,kCAAkC,EAC9E,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAA2B,EAAE,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG;YACpB,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE;YACtB,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF;AAqBD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB;IAEA;IAEA;IACA;IACA;IAPlB,YACkB,IAAY,EAC5B,OAAe,EACC,UAAkB;IAClC,+EAA+E;IAC/D,IAA8B,EAC9B,IAAa,EACb,OAAwB,EAAE;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QARC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,eAAU,GAAV,UAAU,CAAQ;QAElB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,SAAI,GAAJ,IAAI,CAAS;QACb,SAAI,GAAJ,IAAI,CAAsB;QAG1C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,IAAY;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CACL,uBAAuB,MAAM,gDAAgD;QAC7E,CAAC,OAAO;YACN,CAAC,CAAC,kBAAkB,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/D,CAAC,CAAC,8BAA8B,CAAC,CACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAiC;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}
|
|
@@ -5,6 +5,58 @@ export const DATA_MODULE = 'somewhere:data';
|
|
|
5
5
|
export const DATA_VIRTUAL_ID = '\0somewhere:data';
|
|
6
6
|
export const DATA_DECLARATION_FILE = '__somewhere_data.d.ts';
|
|
7
7
|
export const GENERATED_DATA_HEADER = '// Generated by Somewhere from db/schema.ts. Do not edit.\n';
|
|
8
|
+
// The global `sw.endpoint` wrapper every deployed function can use. Mirrors the
|
|
9
|
+
// platform's __sw_init.mjs pipeline (worker/src/utils/function-bundle.ts):
|
|
10
|
+
// auth, body schema, rate limit, cors, then handler({ body, user, ... }, sw).
|
|
11
|
+
// Written here so projects never hand-declare the platform's globals.
|
|
12
|
+
export const ENDPOINT_DECLARATION = `
|
|
13
|
+
interface SomewhereEndpointUser {
|
|
14
|
+
id: string;
|
|
15
|
+
email?: string | null;
|
|
16
|
+
display_name?: string | null;
|
|
17
|
+
role?: string;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
type __SomewhereEndpointLeaf = 'string' | 'email' | 'number' | 'boolean' | 'array' | 'object';
|
|
21
|
+
interface SomewhereEndpointBodySchema {
|
|
22
|
+
readonly [field: string]: __SomewhereEndpointLeaf | \`\${__SomewhereEndpointLeaf}?\` | SomewhereEndpointBodySchema;
|
|
23
|
+
}
|
|
24
|
+
type __SomewhereEndpointValue<T> =
|
|
25
|
+
T extends 'string' | 'email' ? string : T extends 'number' ? number : T extends 'boolean' ? boolean
|
|
26
|
+
: T extends 'array' ? unknown[] : T extends 'object' ? Record<string, unknown> : never;
|
|
27
|
+
type __SomewhereEndpointBody<S> = {
|
|
28
|
+
-readonly [K in keyof S as S[K] extends \`\${string}?\` ? never : K]:
|
|
29
|
+
S[K] extends string ? __SomewhereEndpointValue<S[K]> : __SomewhereEndpointBody<S[K]>;
|
|
30
|
+
} & {
|
|
31
|
+
-readonly [K in keyof S as S[K] extends \`\${string}?\` ? K : never]?:
|
|
32
|
+
S[K] extends \`\${infer T}?\` ? __SomewhereEndpointValue<T> | null : never;
|
|
33
|
+
};
|
|
34
|
+
type SomewhereEndpointAuth = 'none' | 'optional' | 'required';
|
|
35
|
+
interface SomewhereEndpointInput<Auth extends SomewhereEndpointAuth, Body> {
|
|
36
|
+
body: Body;
|
|
37
|
+
user: Auth extends 'required' ? SomewhereEndpointUser : SomewhereEndpointUser | null;
|
|
38
|
+
headers: Headers;
|
|
39
|
+
params: Record<string, string>;
|
|
40
|
+
request: Request;
|
|
41
|
+
}
|
|
42
|
+
interface SomewhereEndpointConfig<Auth extends SomewhereEndpointAuth, Schema extends SomewhereEndpointBodySchema | undefined> {
|
|
43
|
+
auth?: Auth;
|
|
44
|
+
body?: Schema;
|
|
45
|
+
rateLimit?: \`\${number}/\${'second' | 'minute' | 'hour' | 'day'}\${'' | 's'}\`;
|
|
46
|
+
cors?: 'same-origin' | '*' | readonly string[];
|
|
47
|
+
handler(
|
|
48
|
+
input: SomewhereEndpointInput<Auth, Schema extends SomewhereEndpointBodySchema ? __SomewhereEndpointBody<Schema> : null>,
|
|
49
|
+
sw: SomewhereRuntimeContext,
|
|
50
|
+
): unknown;
|
|
51
|
+
}
|
|
52
|
+
declare const sw: {
|
|
53
|
+
// docs({ topic: 'sw.endpoint' }). Throw an Error with .status and .code
|
|
54
|
+
// for a typed error response; anything else is 500 HANDLER_ERROR.
|
|
55
|
+
endpoint<const Schema extends SomewhereEndpointBodySchema | undefined = undefined, Auth extends SomewhereEndpointAuth = 'none'>(
|
|
56
|
+
config: SomewhereEndpointConfig<Auth, Schema>,
|
|
57
|
+
): (req: Request, sw: SomewhereRuntimeContext) => Promise<Response>;
|
|
58
|
+
};
|
|
59
|
+
`;
|
|
8
60
|
// This file is bundled from the platform's parser and compiler; no second DSL.
|
|
9
61
|
const require = createRequire(import.meta.url);
|
|
10
62
|
/** Source only: no evaluation, backend requests, npm installs or customer build. */
|
|
@@ -33,7 +85,7 @@ export function prepareDeclaredData(projectDir) {
|
|
|
33
85
|
rmSync(declarationPath);
|
|
34
86
|
throw error;
|
|
35
87
|
}
|
|
36
|
-
const declaration = GENERATED_DATA_HEADER + generator.RUNTIME_CONTEXT_DECLARATION + generator.SCHEMA_DECLARATION + (client?.declaration ?? '');
|
|
88
|
+
const declaration = GENERATED_DATA_HEADER + generator.RUNTIME_CONTEXT_DECLARATION + ENDPOINT_DECLARATION + generator.SCHEMA_DECLARATION + (client?.declaration ?? '');
|
|
37
89
|
if (declaration !== previous)
|
|
38
90
|
writeFileSync(declarationPath, declaration);
|
|
39
91
|
return { client, declarationPath, schemaPath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-data.js","sourceRoot":"","sources":["../../src/lib/declared-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"declared-data.js","sourceRoot":"","sources":["../../src/lib/declared-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,36 +2,35 @@
|
|
|
2
2
|
// docs lint byte-compares this value when SOMEWHERE_CLI_REPO points here.
|
|
3
3
|
export const AGENT_WORKFLOW = `## Getting started — build, deploy, verify
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
\`shared()\` (cross-user rows), or \`serverOnly()\`, and add a \`client\` block for
|
|
7
|
-
browser access. See \`docs({ topic: 'declared-data' })\`.
|
|
8
|
-
2. Add a \`tsconfig.json\` for TypeScript source, then run \`somewhere typecheck\`.
|
|
9
|
-
The CLI generates declaration types from \`db/schema.ts\`; it does not need
|
|
10
|
-
hand-written module stubs. See the complete files in \`/start.txt\`.
|
|
11
|
-
3. Deploy raw source with \`somewhere deploy\`; do not build first. The CLI links
|
|
12
|
-
the directory to the project it created.
|
|
13
|
-
4. Write a \`flow.json\` that submits data and checks the rendered result. From
|
|
14
|
-
the linked directory run \`somewhere verify --flow flow.json\` to exercise it
|
|
15
|
-
at desktop and phone sizes. \`/start.txt\` includes a working flow.
|
|
5
|
+
The loop, after every change:
|
|
16
6
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
1. \`somewhere deploy\` — raw source; do not build first. It prints the live URL.
|
|
8
|
+
2. \`somewhere verify\` — the live app at desktop and phone sizes, with
|
|
9
|
+
screenshots and console/network health. \`somewhere verify --flow flow.json\`
|
|
10
|
+
fills and clicks (\`/start.txt\` has a flow); \`somewhere browser\` inspects a page.
|
|
11
|
+
3. \`somewhere logs --tail 10\`, then \`somewhere errors\` (claimed project,
|
|
12
|
+
signed in): read the failure before guessing.
|
|
13
|
+
4. Email flows: sign up as \`<name>@<subdomain>.test.somewhere.site\`, then
|
|
14
|
+
\`somewhere email test-inbox <addr>\` prints the message and its magic link.
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
Default build path, in order:
|
|
17
|
+
1. Sign-in (\`somewhere init\` writes it): \`api/auth/[...path].ts\` is
|
|
18
|
+
\`export { somewhereAuth as default } from '@somewhere-tech/sdk/server'\`;
|
|
19
|
+
the page calls \`createSomewhereAuth()\` from \`@somewhere-tech/sdk/auth\`.
|
|
20
|
+
2. Data: tables in \`db/schema.ts\` — \`owner()\` (own rows), \`shared()\` or
|
|
21
|
+
\`serverOnly()\` — with a \`client\` block; the page reads and writes them
|
|
22
|
+
through \`somewhere:data\` (\`docs({ topic: 'declared-data' })\`).
|
|
23
|
+
3. Counts and groups: \`data.<table>.aggregate\` (\`sw.db.aggregate\` server-side).
|
|
24
|
+
4. A function only when a business rule needs the server:
|
|
25
|
+
\`sw.endpoint({ auth, body, rateLimit, handler })\`.
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
\`Promise.all\`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
\`https://somewhere.tech/start.txt\`; uncertain architecture or composition:
|
|
33
|
-
\`somewhere advisor "<question>"\`. Without a shell: MCP \`docs({ topic })\`,
|
|
34
|
-
\`advisor({ question })\`; \`catalog\` finds tools.
|
|
27
|
+
\`somewhere typecheck\` generates the types for \`sw\` and your tables. Independent
|
|
28
|
+
reads go in one \`Promise.all\`. \`owner()\` tables need no auth guard; a custom
|
|
29
|
+
endpoint enforces its own caller policy. \`somewhere docs <topic>\` for a
|
|
30
|
+
contract; \`somewhere advisor "<question>"\` for uncertain architecture (MCP:
|
|
31
|
+
\`docs({ topic })\`, \`advisor({ question })\`, \`catalog\`). \`somewhere dev\` is
|
|
32
|
+
optional local UI work; \`somewhere cron run <id> --wait\` runs a scheduled job
|
|
33
|
+
(plain \`cron run\` only queues it).
|
|
35
34
|
|
|
36
35
|
No account yet? \`npx @somewhere-tech/cli deploy\` publishes a temporary app and
|
|
37
36
|
prints its live URL, claim URL, and expiry. On a hosted VM, after consent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-agent-guide.js","sourceRoot":"","sources":["../../src/lib/init-agent-guide.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"init-agent-guide.js","sourceRoot":"","sources":["../../src/lib/init-agent-guide.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCb,CAAC;AAElB,MAAM,CAAC,MAAM,cAAc,GAAG,wCAAwC,cAAc,IAAI,CAAC;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { INIT_AGENTS_MD, INIT_CLAUDE_MD } from './init-agent-guide.js';
|
|
2
|
+
// The default `somewhere init` starter: cookie sign-in through the SDK client
|
|
3
|
+
// and the SDK's packaged /api/auth handler, plus one protected endpoint.
|
|
4
|
+
// `--template minimal` keeps the no-auth starter (init-green-template.ts).
|
|
5
|
+
const PACKAGE_JSON = `{
|
|
6
|
+
"name": "somewhere-starter",
|
|
7
|
+
"private": true,
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"type": "module",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"dev": "somewhere dev",
|
|
12
|
+
"typecheck": "somewhere typecheck"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@somewhere-tech/sdk": "0.8.0",
|
|
16
|
+
"react": "19.2.7",
|
|
17
|
+
"react-dom": "19.2.7"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/react": "19.2.2",
|
|
21
|
+
"@types/react-dom": "19.2.2",
|
|
22
|
+
"typescript": "5.9.3",
|
|
23
|
+
"vite": "7.2.2"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
const TSCONFIG = `{
|
|
28
|
+
"compilerOptions": {
|
|
29
|
+
"target": "ES2022",
|
|
30
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
31
|
+
"strict": true,
|
|
32
|
+
"noEmit": true,
|
|
33
|
+
"skipLibCheck": true,
|
|
34
|
+
"module": "ESNext",
|
|
35
|
+
"moduleResolution": "Bundler",
|
|
36
|
+
"isolatedModules": true,
|
|
37
|
+
"jsx": "react-jsx"
|
|
38
|
+
},
|
|
39
|
+
"include": ["src", "api", "db", "types"]
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
const APP_TYPES = `export interface GreetingResponse {
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
const SCHEMA = `import { id, schema, serverOnly, table, text } from 'somewhere/db';
|
|
47
|
+
|
|
48
|
+
export default schema({
|
|
49
|
+
greetings: table({
|
|
50
|
+
id: id(),
|
|
51
|
+
message: text({ default: 'You are signed in.' }),
|
|
52
|
+
}, {
|
|
53
|
+
scope: serverOnly(),
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
`;
|
|
57
|
+
const AUTH_API = `export { somewhereAuth as default } from '@somewhere-tech/sdk/server';
|
|
58
|
+
`;
|
|
59
|
+
const GREETING_API = `export default sw.endpoint({
|
|
60
|
+
auth: 'required',
|
|
61
|
+
rateLimit: '30/minute',
|
|
62
|
+
handler: async ({ user }, sw) => {
|
|
63
|
+
const result = await sw.db.from('greetings', { limit: 1 });
|
|
64
|
+
const message = result.data[0]?.message;
|
|
65
|
+
return { message: \`\${typeof message === 'string' ? message : 'You are signed in.'} (\${user.email ?? user.id})\` };
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
`;
|
|
69
|
+
const AUTH_SERVICE = `import { createSomewhereAuth, type User } from '@somewhere-tech/sdk/auth';
|
|
70
|
+
|
|
71
|
+
// Talks to api/auth/[...path].ts. The session is an httpOnly cookie; this
|
|
72
|
+
// code never sees a token.
|
|
73
|
+
export const auth = createSomewhereAuth();
|
|
74
|
+
export type { User };
|
|
75
|
+
`;
|
|
76
|
+
const GREETING_SERVICE = `import type { GreetingResponse } from '../../types/app';
|
|
77
|
+
|
|
78
|
+
export async function loadGreeting(): Promise<GreetingResponse> {
|
|
79
|
+
const response = await fetch('/api/greeting', { credentials: 'include' });
|
|
80
|
+
const body = (await response.json().catch(() => ({}))) as Partial<GreetingResponse> & { message?: string };
|
|
81
|
+
if (!response.ok) throw new Error(body.message ?? \`Request failed (\${response.status})\`);
|
|
82
|
+
return { message: body.message ?? '' };
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
const APP = `import { useEffect, useState, type FormEvent } from 'react';
|
|
86
|
+
import { auth, type User } from './services/auth';
|
|
87
|
+
import { loadGreeting } from './services/greeting';
|
|
88
|
+
|
|
89
|
+
export function App() {
|
|
90
|
+
const [user, setUser] = useState<User | null>(auth.getCachedUser());
|
|
91
|
+
const [checking, setChecking] = useState(true);
|
|
92
|
+
const [mode, setMode] = useState<'signIn' | 'signUp'>('signIn');
|
|
93
|
+
const [email, setEmail] = useState('');
|
|
94
|
+
const [password, setPassword] = useState('');
|
|
95
|
+
const [error, setError] = useState('');
|
|
96
|
+
const [message, setMessage] = useState('');
|
|
97
|
+
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
void auth.getUser().then(setUser).finally(() => setChecking(false));
|
|
100
|
+
}, []);
|
|
101
|
+
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
if (!user) return;
|
|
104
|
+
void loadGreeting()
|
|
105
|
+
.then((result) => setMessage(result.message))
|
|
106
|
+
.catch((reason: unknown) => setMessage(reason instanceof Error ? reason.message : 'Could not load the greeting.'));
|
|
107
|
+
}, [user]);
|
|
108
|
+
|
|
109
|
+
async function submit(event: FormEvent<HTMLFormElement>) {
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
setError('');
|
|
112
|
+
try {
|
|
113
|
+
const next = mode === 'signIn'
|
|
114
|
+
? await auth.signIn({ email, password })
|
|
115
|
+
: await auth.signUp({ email, password });
|
|
116
|
+
setUser(next);
|
|
117
|
+
} catch (reason: unknown) {
|
|
118
|
+
setError(reason instanceof Error ? reason.message : 'Sign-in failed.');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
async function signOut() {
|
|
123
|
+
await auth.signOut();
|
|
124
|
+
setUser(null);
|
|
125
|
+
setMessage('');
|
|
126
|
+
setMode('signIn');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (checking && !user) return <main><p className="hint">Loading…</p></main>;
|
|
130
|
+
|
|
131
|
+
if (user) {
|
|
132
|
+
return (
|
|
133
|
+
<main>
|
|
134
|
+
<p className="eyebrow">somewhere.tech starter</p>
|
|
135
|
+
<h1>You are signed in.</h1>
|
|
136
|
+
<p className="message">{message || 'Loading your greeting…'}</p>
|
|
137
|
+
<button type="button" onClick={() => void signOut()}>Sign out</button>
|
|
138
|
+
</main>
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return (
|
|
143
|
+
<main>
|
|
144
|
+
<p className="eyebrow">somewhere.tech starter</p>
|
|
145
|
+
<h1>{mode === 'signIn' ? 'Sign in' : 'Create an account'}</h1>
|
|
146
|
+
<form onSubmit={(event) => void submit(event)}>
|
|
147
|
+
<label>Email<input type="email" name="email" autoComplete="email" required value={email} onChange={(event) => setEmail(event.target.value)} /></label>
|
|
148
|
+
<label>Password<input type="password" name="password" autoComplete={mode === 'signIn' ? 'current-password' : 'new-password'} required minLength={8} value={password} onChange={(event) => setPassword(event.target.value)} /></label>
|
|
149
|
+
{error ? <p className="error" role="alert">{error}</p> : null}
|
|
150
|
+
<button type="submit">{mode === 'signIn' ? 'Sign in' : 'Create account'}</button>
|
|
151
|
+
</form>
|
|
152
|
+
<button type="button" className="link" onClick={() => { setMode(mode === 'signIn' ? 'signUp' : 'signIn'); setError(''); }}>
|
|
153
|
+
{mode === 'signIn' ? 'New here? Create an account' : 'Have an account? Sign in'}
|
|
154
|
+
</button>
|
|
155
|
+
</main>
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
`;
|
|
159
|
+
const MAIN = `import { StrictMode } from 'react';
|
|
160
|
+
import { createRoot } from 'react-dom/client';
|
|
161
|
+
import { App } from './App';
|
|
162
|
+
import './styles.css';
|
|
163
|
+
|
|
164
|
+
createRoot(document.getElementById('root')!).render(
|
|
165
|
+
<StrictMode>
|
|
166
|
+
<App />
|
|
167
|
+
</StrictMode>,
|
|
168
|
+
);
|
|
169
|
+
`;
|
|
170
|
+
const STYLES = `:root {
|
|
171
|
+
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
172
|
+
color: #17201c;
|
|
173
|
+
background: #edf4ef;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
* { box-sizing: border-box; }
|
|
177
|
+
body { margin: 0; min-width: 320px; }
|
|
178
|
+
main { width: min(480px, calc(100% - 32px)); margin: 12vh auto; }
|
|
179
|
+
h1 { margin: 12px 0 24px; font-size: clamp(2.2rem, 7vw, 3.6rem); line-height: 1; letter-spacing: -.04em; }
|
|
180
|
+
.eyebrow { color: #14734c; font-weight: 750; text-transform: uppercase; letter-spacing: .12em; }
|
|
181
|
+
form { display: grid; gap: 14px; }
|
|
182
|
+
label { display: grid; gap: 6px; font-weight: 600; }
|
|
183
|
+
input { padding: 12px 14px; border: 1px solid #c6d8ce; border-radius: 10px; font: inherit; }
|
|
184
|
+
button { padding: 12px 16px; border: 0; border-radius: 10px; background: #14734c; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
|
|
185
|
+
button.link { margin-top: 12px; padding: 0; background: none; color: #0e6542; }
|
|
186
|
+
.message { padding: 20px 22px; border: 1px solid #c6d8ce; border-radius: 16px; background: rgba(255, 255, 255, .82); }
|
|
187
|
+
.error { margin: 0; color: #a3261b; }
|
|
188
|
+
.hint { color: #4f665b; }
|
|
189
|
+
`;
|
|
190
|
+
const README = `# somewhere.tech starter
|
|
191
|
+
|
|
192
|
+
This project starts signed in: a React page signs users up and in with the
|
|
193
|
+
SDK client (\`src/services/auth.ts\`), \`api/auth/[...path].ts\` is the SDK's
|
|
194
|
+
packaged auth handler, and \`api/greeting.ts\` is a protected endpoint
|
|
195
|
+
(\`sw.endpoint({ auth: 'required' })\`). The session is an httpOnly cookie.
|
|
196
|
+
|
|
197
|
+
\`\`\`sh
|
|
198
|
+
somewhere typecheck
|
|
199
|
+
somewhere deploy
|
|
200
|
+
somewhere verify
|
|
201
|
+
\`\`\`
|
|
202
|
+
|
|
203
|
+
Deploy the raw source. The platform compiles it; do not create or deploy a
|
|
204
|
+
\`dist/\` or \`build/\` directory. For a starter without sign-in, run
|
|
205
|
+
\`somewhere init --template minimal\` in an empty directory.
|
|
206
|
+
`;
|
|
207
|
+
export function createAuthTemplate() {
|
|
208
|
+
return [
|
|
209
|
+
{ path: '.gitignore', content: 'node_modules\ndist\nbuild\n.env\n' },
|
|
210
|
+
{ path: 'AGENTS.md', content: INIT_AGENTS_MD },
|
|
211
|
+
{ path: 'CLAUDE.md', content: INIT_CLAUDE_MD },
|
|
212
|
+
{ path: 'README.md', content: README },
|
|
213
|
+
{ path: 'package.json', content: PACKAGE_JSON },
|
|
214
|
+
{ path: 'tsconfig.json', content: TSCONFIG },
|
|
215
|
+
{
|
|
216
|
+
path: 'index.html',
|
|
217
|
+
content: '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>somewhere.tech starter</title>\n </head>\n <body>\n <div id="root"></div>\n <script type="module" src="/src/main.tsx"></script>\n </body>\n</html>\n',
|
|
218
|
+
},
|
|
219
|
+
{ path: 'src/App.tsx', content: APP },
|
|
220
|
+
{ path: 'src/main.tsx', content: MAIN },
|
|
221
|
+
{ path: 'src/services/auth.ts', content: AUTH_SERVICE },
|
|
222
|
+
{ path: 'src/services/greeting.ts', content: GREETING_SERVICE },
|
|
223
|
+
{ path: 'src/styles.css', content: STYLES },
|
|
224
|
+
{ path: 'api/auth/[...path].ts', content: AUTH_API },
|
|
225
|
+
{ path: 'api/greeting.ts', content: GREETING_API },
|
|
226
|
+
{ path: 'db/schema.ts', content: SCHEMA },
|
|
227
|
+
{ path: 'types/app.ts', content: APP_TYPES },
|
|
228
|
+
];
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=init-auth-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-auth-template.js","sourceRoot":"","sources":["../../src/lib/init-auth-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvE,8EAA8E;AAC9E,yEAAyE;AACzE,2EAA2E;AAE3E,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;CAchB,CAAC;AAEF,MAAM,SAAS,GAAG;;;CAGjB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;CAUd,CAAC;AAEF,MAAM,QAAQ,GAAG;CAChB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;CASpB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;CAQxB,CAAC;AAEF,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEX,CAAC;AAEF,MAAM,IAAI,GAAG;;;;;;;;;;CAUZ,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBd,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mCAAmC,EAAE;QACpE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE;QAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE;QAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;QACtC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;QAC/C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5C;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,mUAAmU;SAC7U;QACD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;QACvC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,YAAY,EAAE;QACvD,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC/D,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3C,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,QAAQ,EAAE;QACpD,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;QAClD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;QACzC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -39,18 +39,6 @@ const APP_TYPES = `export interface GreetingResponse {
|
|
|
39
39
|
message: string;
|
|
40
40
|
}
|
|
41
41
|
`;
|
|
42
|
-
const RUNTIME_TYPES = `export interface QueryResult<T> {
|
|
43
|
-
data: T[];
|
|
44
|
-
count: number;
|
|
45
|
-
changes: number;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface SomewhereRuntime {
|
|
49
|
-
db: {
|
|
50
|
-
from<T>(table: string, options: { limit: number }): Promise<QueryResult<T>>;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
`;
|
|
54
42
|
const SCHEMA = `import { id, schema, serverOnly, table, text } from 'somewhere/db';
|
|
55
43
|
|
|
56
44
|
export default schema({
|
|
@@ -62,22 +50,14 @@ export default schema({
|
|
|
62
50
|
}),
|
|
63
51
|
});
|
|
64
52
|
`;
|
|
65
|
-
const API = `
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
sw: SomewhereRuntime,
|
|
74
|
-
): Promise<Response> {
|
|
75
|
-
const result = await sw.db.from<GreetingRow>('greetings', { limit: 1 });
|
|
76
|
-
|
|
77
|
-
return Response.json({
|
|
78
|
-
message: result.data[0]?.message ?? 'Your full-stack app is ready.',
|
|
79
|
-
});
|
|
80
|
-
}
|
|
53
|
+
const API = `export default sw.endpoint({
|
|
54
|
+
auth: 'none',
|
|
55
|
+
handler: async (_input, sw) => {
|
|
56
|
+
const result = await sw.db.from('greetings', { limit: 1 });
|
|
57
|
+
const message = result.data[0]?.message;
|
|
58
|
+
return { message: typeof message === 'string' ? message : 'Your full-stack app is ready.' };
|
|
59
|
+
},
|
|
60
|
+
});
|
|
81
61
|
`;
|
|
82
62
|
const SERVICE = `import type { GreetingResponse } from '../../types/app';
|
|
83
63
|
|
|
@@ -173,7 +153,6 @@ export function createGreenTemplate() {
|
|
|
173
153
|
{ path: 'api/greeting.ts', content: API },
|
|
174
154
|
{ path: 'db/schema.ts', content: SCHEMA },
|
|
175
155
|
{ path: 'types/app.ts', content: APP_TYPES },
|
|
176
|
-
{ path: 'types/runtime.ts', content: RUNTIME_TYPES },
|
|
177
156
|
];
|
|
178
157
|
}
|
|
179
158
|
//# sourceMappingURL=init-green-template.js.map
|