@_linked/server 2.1.7 → 2.3.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.
@@ -14,6 +14,12 @@ jobs:
14
14
  permissions:
15
15
  contents: write
16
16
  pull-requests: write
17
+ # `npm stage publish --provenance` signs the tarball with a GitHub OIDC token, so the
18
+ # job needs to be able to mint one. This does NOT switch the package to OIDC trusted
19
+ # publishing — authentication is still the org npm token. It only lets npm attest where
20
+ # the tarball was built, which is worth having on a package a human is about to approve
21
+ # sight-unseen.
22
+ id-token: write
17
23
  steps:
18
24
  # Author the changesets "Version Packages" PR as the org release App (not the default
19
25
  # GITHUB_TOKEN) so its CI runs without a manual "Approve and run" gate. Requires the org
@@ -36,31 +42,108 @@ jobs:
36
42
  node-version: 22.16.0
37
43
  registry-url: 'https://registry.npmjs.org'
38
44
 
45
+ # `npm stage` landed in CLI 11.15.0; Node 22.16 ships npm 10.x, so the bundled one
46
+ # cannot stage. Pinned rather than `@latest` so a future npm release cannot change how
47
+ # releases behave without a commit here.
48
+ - name: Use an npm that can stage
49
+ run: npm i -g npm@^11.15.0
50
+
39
51
  - name: Install dependencies
40
52
  run: npm ci --legacy-peer-deps
41
53
 
42
54
  - name: Build
43
55
  run: npm run build
44
56
 
45
- - name: Create release Pull Request or Publish
57
+ # No `publish:` changesets only opens/updates the version PR here. Publishing is the
58
+ # step below, because `changeset publish` shells out to `npm publish`, which a
59
+ # stage-only token cannot do (changesets/changesets#2025 is open for first-class
60
+ # support). Splitting them keeps changesets doing what it is good at — versions and
61
+ # changelogs — and leaves the registry call to us.
62
+ - name: Create release Pull Request
46
63
  id: changesets
47
64
  uses: changesets/action@v1
48
65
  with:
49
- publish: npx changeset publish
50
66
  title: 'chore: release'
51
67
  commit: 'chore: release'
52
68
  env:
53
69
  GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
70
+
71
+ # Stage the version for a human to approve.
72
+ #
73
+ # A staged version is uploaded but NOT public: a maintainer reviews it and approves with
74
+ # 2FA, from the Staged Packages tab in the npm user menu or `npm stage approve`. That is
75
+ # the point — every release keeps a proof-of-presence step even though CI is
76
+ # unattended — and it is why the org token is scoped "read and write (stage only)".
77
+ #
78
+ # Idempotent: this workflow runs on every push to main, including the merge of the
79
+ # version PR and any later commit, so it must do nothing when the version is already on
80
+ # the registry or already sitting in the queue.
81
+ - name: Stage the release for approval
82
+ if: steps.changesets.outputs.hasChangesets != 'true'
83
+ env:
54
84
  NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
55
85
  NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
86
+ run: |
87
+ set -euo pipefail
88
+ name=$(node -p "require('./package.json').name")
89
+ version=$(node -p "require('./package.json').version")
90
+ private=$(node -p "require('./package.json').private === true")
91
+ if [ "$private" = "true" ]; then
92
+ echo "$name is private — nothing to publish."; exit 0
93
+ fi
94
+
95
+ if npm view "$name@$version" version >/dev/null 2>&1; then
96
+ echo "$name@$version is already on the registry — nothing to do."
97
+ exit 0
98
+ fi
99
+
100
+ if npm stage list "$name" 2>/dev/null | grep -q "$version"; then
101
+ echo "$name@$version is already staged and waiting for approval."
102
+ exit 0
103
+ fi
104
+
105
+ echo "Staging $name@$version…"
106
+ # Capture the output: `npm stage publish` prints the stage id, and `npm stage
107
+ # approve` takes ONLY that id — a package spec is rejected with "stage-id must be a
108
+ # valid UUID". Without this the notice below hands out a command that does not work.
109
+ out=$(npm stage publish --access public --provenance 2>&1 | tee /dev/stderr)
110
+ uuid='[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'
111
+ # `|| true` because the script runs under `set -euo pipefail`: a grep that matches
112
+ # nothing exits 1 and would fail the step even though the staging itself succeeded.
113
+ stage_id=$(printf '%s' "$out" | grep -oE "$uuid" | tail -1 || true)
114
+
115
+ {
116
+ echo "### 📦 \`$name@$version\` is staged, not published"
117
+ echo
118
+ echo "It is uploaded and held for review. **Approve it to make it public:**"
119
+ echo
120
+ if [ -n "$stage_id" ]; then
121
+ echo "- **CLI:** \`npm stage approve $stage_id\`"
122
+ else
123
+ echo "- **CLI:** \`npm stage list $name\` to find the id, then"
124
+ echo " \`npm stage approve <stage-id>\`"
125
+ fi
126
+ echo "- **Web:** [npmjs.com](https://www.npmjs.com) → your avatar → **Staged"
127
+ echo " Packages** → **Approve**. The button stays disabled until npm has"
128
+ echo " finished scanning the tarball; the page refreshes every minute."
129
+ echo
130
+ echo "Both prompt for 2FA. Until then \`npm install $name\` still resolves"
131
+ echo "\`$(npm view "$name" version 2>/dev/null || echo 'nothing')\`."
132
+ } >> "$GITHUB_STEP_SUMMARY"
133
+
134
+ if [ -n "$stage_id" ]; then
135
+ echo "::notice title=Approval needed::$name@$version is staged. Run: npm stage approve $stage_id"
136
+ else
137
+ echo "::notice title=Approval needed::$name@$version is staged, but the stage id could not be read from the output. Run: npm stage list $name"
138
+ fi
56
139
 
57
- # When changesets opened/updated the version PR (rather than publishing), merge it so the
58
- # release ships without a manual click. App token → the merge's push re-triggers this
59
- # workflow, which then runs `changeset publish`. DIRECT-merge (not `--auto`): GitHub
140
+ # When changesets opened/updated the version PR, merge it so the release reaches the
141
+ # staging queue without a manual click. App token → the merge's push re-triggers this
142
+ # workflow, which then stages. DIRECT-merge (not `--auto`): GitHub
60
143
  # auto-merge ignores branch-protection review-bypass allowances; main is check-only so a
61
144
  # direct merge lands once the required check is green — retry until then.
62
- - name: Merge the version PR to publish
63
- if: steps.changesets.outputs.hasChangesets == 'true' && steps.changesets.outputs.published != 'true'
145
+ - name: Merge the version PR to stage the release
146
+ if: steps.changesets.outputs.hasChangesets == 'true'
64
147
  env:
65
148
  GH_TOKEN: ${{ steps.app-token.outputs.token }}
66
149
  run: |
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @\_linked/server
2
2
 
3
+ ## 2.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#36](https://github.com/linked-cm/server/pull/36) [`e0c0627`](https://github.com/linked-cm/server/commit/e0c06276e578396efe4be413f367b391b2132451) Thanks [@flyon](https://github.com/flyon)! - Make server call failures explicit. Update code that relied on failed calls resolving quietly.
8
+
9
+ - **No provider now answers 501.** A `/call/...` request that no provider handles gets `501 {"error": "No provider for <pkg>/<method>"}`. Before, it got `200` with an empty body (shape methods) or `200 null` (backend methods). This covers both a missing provider and a provider without the called method.
10
+ - **Provider errors answer 500 (since 2.2.0).** A provider method that throws answers `500 {"error": ...}` instead of `200 null`. The 2.2.0 changeset did not mention this.
11
+ - **Backend-to-backend `Server.call` rejects.** When `Server.call` runs on the backend, where it calls `LinkedServer` directly, a provider method that throws rejects the promise (since 2.2.0). An unmatched call throws a `ServerCallError` with status 501. `@_linked/server-utils` resolves that as `undefined` unless the caller passes `rejectOnError: true`.
12
+ - **`BackendAPIStore` rejects only on HTTP errors.** It calls with `rejectOnError: true`, so a failed query rejects with a `ServerCallError` carrying the HTTP `status` and the server's message. A successful call resolves whatever the provider returned, `undefined` included. Before, every `undefined` result was treated as a failure.
13
+ - **Dependency.** Requires `@_linked/server-utils` ^1.2.0.
14
+
15
+ ## 2.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#34](https://github.com/linked-cm/server/pull/34) [`f7ae758`](https://github.com/linked-cm/server/commit/f7ae758ba165df8c1f4a4ca46b189f3e17cc1e51) Thanks [@flyon](https://github.com/flyon)! - Honour `server.apiOnly` (set by `linked start --api-only`): LinkedServer skips the SPA catch-all, so a backend without a web frontend serves its API routes and answers page requests with a plain 404 instead of failing to render a missing `src/App.tsx`.
20
+
21
+ `BackendAPIStore` implements `askQuery`, required by `IDataset` since `@_linked/core` 2.18.1. It is forwarded to the backend like the other query kinds (as DSL-JSON through `Server.call`, rehydrated and answered by `BackendAPIStoreProvider` through `LinkedStorage.askQuery`), so it type-checks as an `IDataset` without a cast. `@_linked/core` is bumped to `^2.18.1`.
22
+
23
+ Linked packages whose `exports` have no `./backend` entry no longer log a `Missing "./backend" specifier` error at boot. Real backend load errors are still reported.
24
+
25
+ A backend or shape provider method that throws during a `/call/...` request now answers with HTTP 500 and a JSON `{error}` body (the same shape as other server errors) instead of `200 null`; direct backend-to-backend calls get a rejected promise. `BackendAPIStore` rejects when `Server.call` returns no response (a failed HTTP call), so a failed query no longer reads as an empty result.
26
+
3
27
  ## 2.1.7
4
28
 
5
29
  ### Patch Changes
@@ -36,6 +36,6 @@ export declare class LincdAPI extends Shape {
36
36
  }): Promise<import("@_linked/core/queries/DeleteQuery").DeleteResponse>;
37
37
  post_select_raw({ query }: {
38
38
  query: any;
39
- }): Promise<void | import("@_linked/core/sparql/resultMapping").SparqlJsonResults>;
39
+ }): Promise<void | import("@_linked/core/sparql/resultMapping").SparqlQueryResults>;
40
40
  private checkRawQuerySupport;
41
41
  }
@@ -59,7 +59,8 @@ let LincdAPI = class LincdAPI extends Shape {
59
59
  await LinkedStorage.getDefaultDataset()
60
60
  .rawQuery(`SELECT (COUNT(?s) AS ?count) ?type WHERE { ?s a ?type } GROUP BY ?type`)
61
61
  .then((results) => {
62
- if (!results)
62
+ // rawQuery also types ASK results (a boolean envelope); this is a SELECT.
63
+ if (!results || !('results' in results))
63
64
  return;
64
65
  results.results.bindings.forEach((binding) => {
65
66
  if (binding.type && binding.type.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"LincdAPI.js","sourceRoot":"","sources":["../../../src/shapes/LincdAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LincdAPI.js","sourceRoot":"","sources":["../../../src/shapes/LincdAPI.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ import { AppContextProvider } from '@_linked/server-utils/components/AppContext'
25
25
  import { JSONParser } from '@_linked/server-utils/utils/JSONParser';
26
26
  import { JSONWriter } from '@_linked/server-utils/utils/JSONWriter';
27
27
  import { Server } from '@_linked/server-utils/utils/Server';
28
+ import { ServerCallError } from '@_linked/server-utils/utils/ServerCallError';
28
29
  import { ShapeProvider } from '@_linked/server-utils/utils/ShapeProvider';
29
30
  import { Shape } from '@_linked/core/shapes/Shape';
30
31
  import { LinkedErrorLogging } from '@_linked/core/utils/LinkedErrorLogging';
@@ -214,7 +215,7 @@ let LinkedServer = class LinkedServer extends Shape {
214
215
  // })
215
216
  // }
216
217
  async start() {
217
- var _a, _b, _c, _d;
218
+ var _a, _b, _c, _d, _e;
218
219
  this.initPackage();
219
220
  // Static assets should come from the static store URL (versioned path),
220
221
  // not the upload store URL. storage-config sets STATIC_ACCESS_URL accordingly.
@@ -411,7 +412,11 @@ let LinkedServer = class LinkedServer extends Shape {
411
412
  // hook for providers to register their own routes, so installing the
412
413
  // catch-all before it would shadow every GET route registered there —
413
414
  // answering them with the client shell at status 200.
414
- this.installSpaFallback();
415
+ // An API-only backend (`linked start --api-only`) has no app to render:
416
+ // without the catch-all, page requests get express's plain 404.
417
+ if (!((_e = this.config.server) === null || _e === void 0 ? void 0 : _e.apiOnly)) {
418
+ this.installSpaFallback();
419
+ }
415
420
  //remove http(s):// and remove port :[port]
416
421
  const HOST = process.env.SITE_ROOT.replace(/https?:\/\//, '').replace(/:\d+$/, '');
417
422
  //backlog of 1024 means maximum of 1024 connections in the queue (higher than default)
@@ -892,17 +897,21 @@ let LinkedServer = class LinkedServer extends Shape {
892
897
  // shapes:
893
898
  // Node's import() → ERR_MODULE_NOT_FOUND + "Cannot find module 'X/backend'"
894
899
  // Vite's ssrLoadModule() → "Failed to load url X/backend"
900
+ // package `exports` without a ./backend entry (Node + Vite)
901
+ // → 'Missing "./backend" specifier in "X" package'
895
902
  // In either case, missing /backend on a package that doesn't
896
903
  // ship a backend is expected; loud-error only on REAL load
897
904
  // failures (syntax error inside an existing backend.ts, etc).
898
905
  const nodeMatch = e.message.match(/module \'([^\']+)'/);
899
906
  const viteMatch = e.message.match(/Failed to load url ([^\s]+)/);
900
907
  const matchedSpec = (_a = nodeMatch === null || nodeMatch === void 0 ? void 0 : nodeMatch[1]) !== null && _a !== void 0 ? _a : viteMatch === null || viteMatch === void 0 ? void 0 : viteMatch[1];
901
- let providerNotFound = !!matchedSpec &&
902
- matchedSpec.includes('/backend') &&
903
- ((e.code === 'ERR_MODULE_NOT_FOUND' &&
904
- e.message.indexOf(`Cannot find module`) !== -1) ||
905
- e.message.indexOf('Failed to load url') !== -1);
908
+ const notExported = /Missing "\.\/backend" specifier in "[^"]+" package/.test(e.message);
909
+ let providerNotFound = notExported ||
910
+ (!!matchedSpec &&
911
+ matchedSpec.includes('/backend') &&
912
+ ((e.code === 'ERR_MODULE_NOT_FOUND' &&
913
+ e.message.indexOf(`Cannot find module`) !== -1) ||
914
+ e.message.indexOf('Failed to load url') !== -1));
906
915
  if (providerNotFound) {
907
916
  // console.warn('Error loading ' + providerPath + ': ' + e.stack);
908
917
  if (warnIfNotFound) {
@@ -1092,6 +1101,7 @@ let LinkedServer = class LinkedServer extends Shape {
1092
1101
  ((_b = (_a = provider.shape) === null || _a === void 0 ? void 0 : _a.shape) === null || _b === void 0 ? void 0 : _b.id) === nodeShapeId);
1093
1102
  });
1094
1103
  };
1104
+ let providerMethodFailed = false;
1095
1105
  try {
1096
1106
  //- find matching provider
1097
1107
  let shapeClass = getShapeClass(shapeURI);
@@ -1108,14 +1118,15 @@ let LinkedServer = class LinkedServer extends Shape {
1108
1118
  }
1109
1119
  }
1110
1120
  }
1111
- // Degrade gracefully rather than crashing the whole request when the shape
1112
- // can't be resolved (e.g. it isn't registered on this side). Framework
1113
- // packages are kept single-instance by the cli vite-config's
1114
- // `optimizeDeps.exclude`, so a mismatch here signals a real misconfiguration.
1121
+ // No provider for this shape (e.g. it isn't registered on this side).
1122
+ // Framework packages are kept single-instance by the cli vite-config's
1123
+ // `optimizeDeps.exclude`, so a mismatch here signals a real
1124
+ // misconfiguration. Answer 501 (via handleErrorsJson) rather than an empty
1125
+ // 200; direct backend callers get a rejected ServerCallError.
1115
1126
  if (!shapeProvider) {
1116
1127
  console.warn(`[LinkedServer] callShapeMethod: no provider for '${shapeURI}' ` +
1117
- `(pkg '${pkg}', method '${method}') — skipping.`);
1118
- return;
1128
+ `(pkg '${pkg}', method '${method}').`);
1129
+ throw new ServerCallError(501, `No provider for ${pkg}/${method}`);
1119
1130
  }
1120
1131
  if (shapeProvider) {
1121
1132
  //NOTE: if this is a direct call from backend to backend, we won't know the request & response here because those don't get passed to the Server utility
@@ -1147,6 +1158,11 @@ let LinkedServer = class LinkedServer extends Shape {
1147
1158
  }
1148
1159
  catch (e) {
1149
1160
  console.warn(`Error whilst calling ${Object.getPrototypeOf(shapeProvider).constructor.name}.${method}(): `, e);
1161
+ // Rethrow so the HTTP route answers with an error status (via
1162
+ // handleErrorsJson) instead of `200 null`, and direct backend
1163
+ // callers get a rejected promise.
1164
+ providerMethodFailed = true;
1165
+ throw e;
1150
1166
  }
1151
1167
  }
1152
1168
  else {
@@ -1154,15 +1170,16 @@ let LinkedServer = class LinkedServer extends Shape {
1154
1170
  }
1155
1171
  }
1156
1172
  else {
1157
- return this.sendError(response, 501, `${Object.getPrototypeOf(shapeProvider).constructor.name} does not have a method called ${method}`);
1173
+ console.warn(`${Object.getPrototypeOf(shapeProvider).constructor.name} does not have a method called ${method}`);
1174
+ throw new ServerCallError(501, `No provider for ${pkg}/${method}`);
1158
1175
  }
1159
1176
  }
1160
- else {
1161
- return this.sendError(response, 501, "Could not find provider for shape '" + shapeURI + "'");
1162
- }
1163
1177
  }
1164
1178
  catch (err) {
1165
- console.warn(`Error whilst trying to access provider of ${pkg}: `, err);
1179
+ if (!providerMethodFailed && !ServerCallError.is(err)) {
1180
+ console.warn(`Error whilst trying to access provider of ${pkg}: `, err);
1181
+ }
1182
+ throw err;
1166
1183
  }
1167
1184
  return null;
1168
1185
  }
@@ -1183,6 +1200,11 @@ let LinkedServer = class LinkedServer extends Shape {
1183
1200
  return await fn(req, res);
1184
1201
  }
1185
1202
  catch (err) {
1203
+ // A ServerCallError (e.g. 501 for a call no provider handles) carries
1204
+ // its own status and a message that is safe to send to the client.
1205
+ if (ServerCallError.is(err)) {
1206
+ return this.sendError(res, err.status, err.message);
1207
+ }
1186
1208
  this.sendError(res, 500, 'internal server error' + (isDevelopment ? ': ' + (err === null || err === void 0 ? void 0 : err.stack) : ''), 'internal server error: ' + (err === null || err === void 0 ? void 0 : err.stack));
1187
1209
  }
1188
1210
  };
@@ -1547,12 +1569,12 @@ let LinkedServer = class LinkedServer extends Shape {
1547
1569
  let result;
1548
1570
  if (!genericBackendProvider) {
1549
1571
  console.warn(`${chalk.magenta(pkg)} does not have a generic backend provider. If you can edit this package, make sure 'backend.ts' is included in 'tsconfig.json' and that it exports a provider.`);
1550
- return null;
1572
+ throw new ServerCallError(501, `No provider for ${pkg}/${method}`);
1551
1573
  }
1552
1574
  //test if there is a matching method in the backend provider
1553
1575
  if (!genericBackendProvider[method]) {
1554
1576
  console.warn(`Generic provider '${Object.getPrototypeOf(genericBackendProvider).constructor.name}' of ${pkg} does not have a method called ${method}`);
1555
- return null;
1577
+ throw new ServerCallError(501, `No provider for ${pkg}/${method}`);
1556
1578
  }
1557
1579
  try {
1558
1580
  //TODO: remove init request.
@@ -1573,6 +1595,8 @@ let LinkedServer = class LinkedServer extends Shape {
1573
1595
  console.warn(`Error whilst calling ${method}() in provider ${Object.getPrototypeOf(genericBackendProvider).constructor.name} of package ${pkg}:\n`, e);
1574
1596
  // error logging
1575
1597
  LinkedErrorLogging.log(e);
1598
+ // Rethrow so the HTTP route answers with an error status instead of `200 null`.
1599
+ throw e;
1576
1600
  }
1577
1601
  return result;
1578
1602
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Shape } from '@_linked/core/shapes/Shape';
2
2
  import type { IDataset } from '@_linked/core/interfaces/IDataset';
3
3
  import type { SelectQuery } from '@_linked/core/queries/SelectQuery';
4
+ import type { AskQuery } from '@_linked/core/queries/AskQuery';
4
5
  import type { UpdateQuery } from '@_linked/core/queries/UpdateQuery';
5
6
  import type { CreateQuery } from '@_linked/core/queries/CreateQuery';
6
7
  import type { DeleteQuery, DeleteResponse } from '@_linked/core/queries/DeleteQuery';
@@ -27,7 +28,15 @@ export declare class BackendAPIStore extends Shape implements IDataset {
27
28
  });
28
29
  init(): Promise<void>;
29
30
  selectQuery(query: SelectQuery): Promise<SelectResult>;
31
+ askQuery(query: AskQuery): Promise<boolean>;
30
32
  updateQuery(query: UpdateQuery): Promise<UpdateResult>;
31
33
  createQuery(query: CreateQuery): Promise<CreateResult>;
32
34
  deleteQuery(query: DeleteQuery): Promise<DeleteResponse>;
35
+ /**
36
+ * Opts in to `rejectOnError`, so a failed call (HTTP error status, or no
37
+ * provider on the backend) rejects with a `ServerCallError` carrying the
38
+ * status and the server's message instead of reading as an empty result.
39
+ * Whatever a successful call returns, `undefined` included, resolves as is.
40
+ */
41
+ private callBackend;
33
42
  }
@@ -44,16 +44,28 @@ let BackendAPIStore = class BackendAPIStore extends Shape {
44
44
  // live (closed) query can't cross Server.call as-is, so we ship `toJSON()` and
45
45
  // the BackendAPIStoreProvider rehydrates with `fromJSON()` on the backend.
46
46
  selectQuery(query) {
47
- return Server.call(this, 'selectQuery', query.toJSON());
47
+ return this.callBackend('selectQuery', query.toJSON());
48
+ }
49
+ askQuery(query) {
50
+ return this.callBackend('askQuery', query.toJSON());
48
51
  }
49
52
  updateQuery(query) {
50
- return Server.call(this, 'updateQuery', query.toJSON());
53
+ return this.callBackend('updateQuery', query.toJSON());
51
54
  }
52
55
  createQuery(query) {
53
- return Server.call(this, 'createQuery', query.toJSON());
56
+ return this.callBackend('createQuery', query.toJSON());
54
57
  }
55
58
  deleteQuery(query) {
56
- return Server.call(this, 'deleteQuery', query.toJSON());
59
+ return this.callBackend('deleteQuery', query.toJSON());
60
+ }
61
+ /**
62
+ * Opts in to `rejectOnError`, so a failed call (HTTP error status, or no
63
+ * provider on the backend) rejects with a `ServerCallError` carrying the
64
+ * status and the server's message instead of reading as an empty result.
65
+ * Whatever a successful call returns, `undefined` included, resolves as is.
66
+ */
67
+ callBackend(method, json) {
68
+ return Server.call(this, { method, rejectOnError: true }, json);
57
69
  }
58
70
  };
59
71
  BackendAPIStore.targetClass = lincdServer.BackendAPIStore;
@@ -1 +1 @@
1
- {"version":3,"file":"BackendAPIStore.js","sourceRoot":"","sources":["../../../../src/shapes/quadstores/BackendAPIStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AA2B5D;;;GAGG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,KAAK;IAGxC,YAAY,MAAyD;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,sDAAsD;YACtD,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,sBAAsB,MAAM,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAK,MAAgC,CAAC,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,EAAE,EAAE,EAAG,MAAgC,CAAC,EAAG,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAK,MAAgC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAI,MAAgC,CAAC,IAAK,CAAC;YACrD,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,sBAAsB,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,IAAI;QACR,+DAA+D;IACjE,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,2EAA2E;IAC3E,WAAW,CAAC,KAAkB;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAA0B,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAA0B,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAA0B,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAA4B,CAAC;IACrF,CAAC;;AA7CM,2BAAW,GAAG,WAAW,CAAC,eAAe,AAA9B,CAA+B;AADtC,eAAe;IAD3B,WAAW;;GACC,eAAe,CA+C3B"}
1
+ {"version":3,"file":"BackendAPIStore.js","sourceRoot":"","sources":["../../../../src/shapes/quadstores/BackendAPIStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AA4B5D;;;GAGG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,KAAK;IAGxC,YAAY,MAAyD;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,sDAAsD;YACtD,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,sBAAsB,MAAM,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAK,MAAgC,CAAC,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,EAAE,EAAE,EAAG,MAAgC,CAAC,EAAG,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAK,MAAgC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAI,MAAgC,CAAC,IAAK,CAAC;YACrD,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,sBAAsB,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,IAAI;QACR,+DAA+D;IACjE,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,2EAA2E;IAC3E,WAAW,CAAC,KAAkB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,KAAe;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAI,MAAc,EAAE,IAAa;QAClD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;;AA3DM,2BAAW,GAAG,WAAW,CAAC,eAAe,AAA9B,CAA+B;AADtC,eAAe;IAD3B,WAAW;;GACC,eAAe,CA6D3B"}
@@ -12,6 +12,7 @@ import { ShapeProvider } from '@_linked/server-utils/utils/ShapeProvider';
12
12
  export declare class BackendAPIStoreProvider extends ShapeProvider {
13
13
  shape: typeof BackendAPIStore;
14
14
  selectQuery(store: BackendAPIStore, json: any): Promise<unknown>;
15
+ askQuery(store: BackendAPIStore, json: any): Promise<boolean>;
15
16
  updateQuery(store: BackendAPIStore, json: any): Promise<unknown>;
16
17
  createQuery(store: BackendAPIStore, json: any): Promise<unknown>;
17
18
  deleteQuery(store: BackendAPIStore, json: any): Promise<import("@_linked/core/queries/DeleteQuery").DeleteResponse>;
@@ -19,6 +19,9 @@ export class BackendAPIStoreProvider extends ShapeProvider {
19
19
  selectQuery(store, json) {
20
20
  return LinkedStorage.selectQuery(fromJSON(json));
21
21
  }
22
+ askQuery(store, json) {
23
+ return LinkedStorage.askQuery(fromJSON(json));
24
+ }
22
25
  updateQuery(store, json) {
23
26
  return LinkedStorage.updateQuery(fromJSON(json));
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BackendAPIStoreProvider.js","sourceRoot":"","sources":["../../../../src/shapes/quadstores/BackendAPIStoreProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAA1D;;QACS,UAAK,GAAG,eAAe,CAAC;IAiBjC,CAAC;IAfC,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"BackendAPIStoreProvider.js","sourceRoot":"","sources":["../../../../src/shapes/quadstores/BackendAPIStoreProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAA1D;;QACS,UAAK,GAAG,eAAe,CAAC;IAqBjC,CAAC;IAnBC,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,KAAsB,EAAE,IAAS;QACxC,OAAO,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,IAAS;QAC3C,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC1D,CAAC;CACF"}
package/package.json CHANGED
@@ -8,9 +8,9 @@
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": ""
11
+ "url": "git+https://github.com/linked-cm/server.git"
12
12
  },
13
- "version": "2.1.7",
13
+ "version": "2.3.0",
14
14
  "linkedPackage": true,
15
15
  "type": "module",
16
16
  "main": "lib/esm/index.js",
@@ -35,8 +35,8 @@
35
35
  ],
36
36
  "dependencies": {
37
37
  "@_linked/cli": "^1.2",
38
- "@_linked/core": "^2.17.0",
39
- "@_linked/server-utils": "^1.0",
38
+ "@_linked/core": "^2.18.1",
39
+ "@_linked/server-utils": "^1.2.0",
40
40
  "adm-zip": "^0.5.16",
41
41
  "archiver": "^7.0.1",
42
42
  "autoprefixer": "^10.4.18",
package/readme.md CHANGED
@@ -17,6 +17,8 @@ If you want to further adjust the functionality of LincdServer yourself, either
17
17
  - [Shape providers](#shape-providers)
18
18
  - [Generic backend providers](#generic-backend-providers)
19
19
  - [Gotchas](#gotchas)
20
+ - [Error semantics](#error-semantics)
21
+ - [API-only servers (`server.apiOnly`)](#api-only-servers-serverapionly)
20
22
  - [Provider lifecycle and HMR](#provider-lifecycle-and-hmr)
21
23
  - [When to implement `dispose()`](#when-to-implement-dispose)
22
24
  - [Route tracking helpers](#route-tracking-helpers)
@@ -176,6 +178,44 @@ where the provider lives. Generally, this means you call `Server.call` from a co
176
178
  Provider (and import packageName from `src/package.ts`). If you want to call a method from another package, then import
177
179
  packageName from that package, or manually type it.
178
180
 
181
+ ### Error semantics
182
+
183
+ The `/call/...` routes answer as follows:
184
+
185
+ | Situation | Response |
186
+ | --- | --- |
187
+ | The provider method returns a value | `200` with the JSON result (`null` when the method returns nothing and has not written the response itself) |
188
+ | The provider method throws | `500 {"error": "internal server error..."}`. The stack is included in development only. |
189
+ | No provider handles the call (no provider for the package or shape, or the provider has no such method) | `501 {"error": "No provider for <pkg>/<method>"}` |
190
+
191
+ What the caller sees depends on how it calls:
192
+
193
+ - **`Server.call` from the frontend (over HTTP).** By default a non-2xx response logs a warning and resolves `undefined`. Pass `{ method, rejectOnError: true }` as the method to reject with a `ServerCallError` instead. The error carries `status` and the server's `error` message.
194
+
195
+ ```typescript
196
+ Server.call(this, { method: 'sendEmail', rejectOnError: true }, subject, message);
197
+ ```
198
+
199
+ - **`Server.call` on the backend.** Here it calls the `LinkedServer` directly.
200
+ - A provider method that throws always rejects.
201
+ - An unmatched call resolves `undefined` by default and rejects with a 501 `ServerCallError` when `rejectOnError` is set.
202
+ - **`BackendAPIStore`.** It always uses `rejectOnError`, so a failed query rejects with the status and message. A successful call resolves with whatever the provider returned, `undefined` included.
203
+
204
+ ## API-only servers (`server.apiOnly`)
205
+
206
+ A backend that serves no frontend app (e.g. started with `linked start --api-only`) can set `apiOnly` in its server config:
207
+
208
+ ```typescript
209
+ new LinkedServer({
210
+ server: {
211
+ apiOnly: true,
212
+ //...
213
+ },
214
+ });
215
+ ```
216
+
217
+ With `apiOnly` the server skips page rendering. It installs no SPA catch-all, so a `GET` for a page that no route handles gets express's plain `404` instead of the app shell. The `/call/...` and `/api/...` routes and the routes that providers register work as usual.
218
+
179
219
  ## Provider lifecycle and HMR
180
220
 
181
221
  Every provider — generic (`BackendProvider`) or shape-scoped (`ShapeProvider`) — has a lifecycle the framework drives: