jinaga-server 3.7.3 → 3.7.5

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.
@@ -23,7 +23,7 @@ jobs:
23
23
  # Steps represent a sequence of tasks that will be executed as part of the job
24
24
  steps:
25
25
  # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
26
- - uses: actions/checkout@v4
26
+ - uses: actions/checkout@v7
27
27
 
28
28
  - name: Build and Test
29
29
  run: |
@@ -11,13 +11,15 @@ jobs:
11
11
  contents: read
12
12
  id-token: write
13
13
  steps:
14
- - uses: actions/checkout@v4
15
- - uses: actions/setup-node@v4
14
+ - uses: actions/checkout@v7
15
+ - uses: actions/setup-node@v7
16
16
  with:
17
- node-version: '20.x'
17
+ node-version: '24.x'
18
18
  registry-url: 'https://registry.npmjs.org'
19
- - run: npm install -g npm@latest
20
- - run: npm install
21
- - run: npm publish
19
+ - run: npm ci
20
+ # Force NODE_AUTH_TOKEN empty so .npmrc has no static token and npm
21
+ # falls through to OIDC trusted publishing. setup-node defaults this
22
+ # to GITHUB_TOKEN, which the npm registry rejects (masked as 404).
23
+ - run: npm publish --provenance
22
24
  env:
23
25
  NODE_AUTH_TOKEN: ''
@@ -14,11 +14,11 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v4
17
+ - uses: actions/checkout@v7
18
18
 
19
- - uses: actions/setup-node@v4
19
+ - uses: actions/setup-node@v7
20
20
  with:
21
- node-version: '20.x'
21
+ node-version: '24.x'
22
22
 
23
23
  - name: Get versions
24
24
  id: versions
@@ -30,7 +30,7 @@ function getOrStream(getMethod, streamMethod) {
30
30
  .then(response => {
31
31
  if (!response) {
32
32
  console.log(`[HttpConnection:${connectionId}] Stream method returned null - sending 404`);
33
- res.sendStatus(404);
33
+ sendRouteMiss(res);
34
34
  next();
35
35
  }
36
36
  else {
@@ -118,7 +118,7 @@ function getOrStream(getMethod, streamMethod) {
118
118
  .then(response => {
119
119
  if (!response) {
120
120
  console.log(`[HttpConnection:${connectionId}] Get method returned null - sending 404`);
121
- res.sendStatus(404);
121
+ sendRouteMiss(res);
122
122
  next();
123
123
  }
124
124
  else {
@@ -155,9 +155,14 @@ function getAuthenticate(method) {
155
155
  function post(parse, method, output) {
156
156
  return (req, res, next) => {
157
157
  const user = req.user;
158
- const message = parse(req.body);
158
+ const parsed = parseRequestInput(() => parse(req.body), req, res, next);
159
+ if (!parsed.ok) {
160
+ return;
161
+ }
162
+ const message = parsed.value;
159
163
  if (!message) {
160
- throw new Error('Ensure that you have called app.use(express.json()).');
164
+ handleError(new jinaga_1.Invalid(`${MISSING_BODY} ${describeContentType(req)}`), req, res, next);
165
+ return;
161
166
  }
162
167
  method(user, message, req.params)
163
168
  .then(response => {
@@ -176,8 +181,11 @@ function post(parse, method, output) {
176
181
  function postCreate(parse, method) {
177
182
  return (req, res, next) => {
178
183
  const user = req.user;
179
- const message = parse(req);
180
- method(user, message)
184
+ const parsed = parseRequestInput(() => parse(req), req, res, next);
185
+ if (!parsed.ok) {
186
+ return;
187
+ }
188
+ method(user, parsed.value)
181
189
  .then(_ => {
182
190
  res.sendStatus(201);
183
191
  next();
@@ -188,45 +196,39 @@ function postCreate(parse, method) {
188
196
  function postStringCreate(method) {
189
197
  return (req, res, next) => {
190
198
  const user = req.user;
191
- const input = parseString(req.body);
192
- if (!input || typeof (input) !== 'string') {
193
- res.type("text");
194
- res.status(500).send('Expected Content-Type text/plain. Ensure that you have called app.use(express.text()).');
195
- }
196
- else {
197
- method(user, input)
198
- .then(_ => {
199
- res.sendStatus(201);
200
- next();
201
- })
202
- .catch(error => handleError(error, req, res, next));
199
+ const parsed = parseRequestInput(() => parseTextBody(req), req, res, next);
200
+ if (!parsed.ok) {
201
+ return;
203
202
  }
203
+ method(user, parsed.value)
204
+ .then(_ => {
205
+ res.sendStatus(201);
206
+ next();
207
+ })
208
+ .catch(error => handleError(error, req, res, next));
204
209
  };
205
210
  }
206
211
  function postReadWithStreaming(method) {
207
212
  return (req, res, next) => {
208
213
  const user = req.user;
209
- const input = parseString(req.body);
210
- if (!input || typeof (input) !== 'string') {
211
- res.type("text");
212
- res.status(500).send('Expected Content-Type text/plain. Ensure that you have called app.use(express.text()).');
214
+ const parsed = parseRequestInput(() => parseTextBody(req), req, res, next);
215
+ if (!parsed.ok) {
216
+ return;
213
217
  }
214
- else {
215
- // Check if Accept header explicitly prefers a specific format
216
- const acceptHeader = req.get('Accept');
217
- let acceptType = 'text/plain'; // Default for backward compatibility
218
- if (acceptHeader && acceptHeader !== '*/*') {
219
- // Only use req.accepts() when there's a specific preference
220
- const preferredType = req.accepts(['text/csv', 'application/x-ndjson', 'application/json', 'text/plain']);
221
- acceptType = preferredType ? String(preferredType) : 'text/plain';
222
- }
223
- method(user, input, acceptType)
224
- .then(({ resultStream, csvMetadata }) => {
225
- outputReadResults(resultStream, res, acceptType, csvMetadata);
226
- next();
227
- })
228
- .catch(error => handleError(error, req, res, next));
218
+ // Check if Accept header explicitly prefers a specific format
219
+ const acceptHeader = req.get('Accept');
220
+ let acceptType = 'text/plain'; // Default for backward compatibility
221
+ if (acceptHeader && acceptHeader !== '*/*') {
222
+ // Only use req.accepts() when there's a specific preference
223
+ const preferredType = req.accepts(['text/csv', 'application/x-ndjson', 'application/json', 'text/plain']);
224
+ acceptType = preferredType ? String(preferredType) : 'text/plain';
229
225
  }
226
+ method(user, parsed.value, acceptType)
227
+ .then(({ resultStream, csvMetadata }) => {
228
+ outputReadResults(resultStream, res, acceptType, csvMetadata);
229
+ next();
230
+ })
231
+ .catch(error => handleError(error, req, res, next));
230
232
  };
231
233
  }
232
234
  function subscriptionOwnerKey(userIdentity) {
@@ -252,7 +254,7 @@ function inputSaveMessage(req) {
252
254
  read: (onEnvelopes) => __awaiter(this, void 0, void 0, function* () {
253
255
  const message = (0, jinaga_1.parseSaveMessage)(req.body);
254
256
  if (!message) {
255
- throw new Error('Ensure that you have called app.use(express.json()).');
257
+ throw new jinaga_1.Invalid(MISSING_JSON_BODY);
256
258
  }
257
259
  yield onEnvelopes(message.facts.map(fact => ({
258
260
  fact: fact,
@@ -287,7 +289,9 @@ function outputReadResults(result, res, acceptType, csvMetadata) {
287
289
  .catch(error => {
288
290
  console.error('Error in outputReadResults:', error);
289
291
  if (!res.headersSent) {
290
- res.status(500).send('Internal server error');
292
+ // Without an explicit type, res.send of a string makes Express
293
+ // infer text/html and label an error body as markup.
294
+ res.type("text").status(500).send('Internal server error');
291
295
  }
292
296
  });
293
297
  }
@@ -432,11 +436,20 @@ class HttpRouter {
432
436
  factRecords.push(value.declared.fact);
433
437
  }
434
438
  const userIdentity = serializeUserIdentity(user);
435
- yield this.authorization.save(userIdentity, factRecords
439
+ const envelopes = factRecords
436
440
  .map(fact => ({
437
441
  fact: fact,
438
442
  signatures: []
439
- })));
443
+ }));
444
+ try {
445
+ yield this.authorization.save(userIdentity, envelopes);
446
+ }
447
+ catch (error) {
448
+ // /write reaches the same authorization path as /save, so it
449
+ // needs the same translation of predecessor-resolution
450
+ // failures into a diagnosable 4xx (issue #182 finding 2).
451
+ throw toSaveAuthorizationError(error, envelopes);
452
+ }
440
453
  }));
441
454
  }
442
455
  feeds(user, input) {
@@ -815,28 +828,142 @@ class FeedNotFound extends Error {
815
828
  }
816
829
  }
817
830
  exports.FeedNotFound = FeedNotFound;
831
+ // Both message shapes below are matched by prose, because jinaga reports a
832
+ // missing predecessor as a plain Error. That is fragile: an upstream wording
833
+ // change silently turns these back into 500s (issue #182 finding 5). The
834
+ // end-to-end cases in test/http/errorStatusMappingSpec.ts drive the real
835
+ // AuthorizationEngine so that drift fails the build.
836
+ //
837
+ // jinaga 6.11.3 landed the typed errors of jinaga.js#234, so the topological
838
+ // sort's failure is now an instanceof check below. One prose pattern remains:
839
+ // specification-runner still reports its missing fact as a plain Error.
818
840
  // Authorization rule evaluation reports a missing predecessor as a plain
819
- // Error of this shape (see authorizationRules.ts / specification-runner.ts
820
- // in jinaga). It surfaces when the client's save request didn't include the
821
- // full closure of facts a rule needs to walk. Map it to a diagnosable 4xx
822
- // instead of an opaque 500 (issue #175).
841
+ // Error of this shape (specification-runner.ts in jinaga, still untyped as of
842
+ // 6.11.3). It surfaces when the client's save request didn't include the full
843
+ // closure of facts a rule needs to walk. Map it to a diagnosable 4xx instead
844
+ // of an opaque 500 (issue #175).
823
845
  const FACT_NOT_DEFINED_PATTERN = /^The fact (\S+):(\S+) is not defined\.$/;
824
846
  function toSaveAuthorizationError(error, envelopes) {
825
- if (error instanceof Error) {
826
- const match = FACT_NOT_DEFINED_PATTERN.exec(error.message);
827
- if (match) {
828
- const [, factType, factHash] = match;
829
- const factTypesInBatch = Array.from(new Set(envelopes.map(e => e.fact.type))).join(", ");
830
- jinaga_1.Trace.warn(`Save authorization could not resolve predecessor ${factType}:${factHash} ` +
831
- `among ${envelopes.length} fact(s) in the request (types: ${factTypesInBatch}).`);
832
- return new jinaga_1.Invalid(`The fact ${factType}:${factHash} is required to authorize this save but was not included in the request. ` +
833
- `Ensure the full closure of predecessors needed by your authorization rules is sent together.`);
847
+ if (!(error instanceof Error)) {
848
+ return error;
849
+ }
850
+ const describeBatch = () => {
851
+ const factTypesInBatch = Array.from(new Set(envelopes.map(e => e.fact.type))).join(", ");
852
+ return `${envelopes.length} fact(s) in the request (types: ${factTypesInBatch})`;
853
+ };
854
+ // The batch named a predecessor that is in neither the batch nor storage,
855
+ // so the topological sort could never reach the facts that depend on it.
856
+ // A client data problem, not a server fault (issue #182 finding 1).
857
+ if (error instanceof jinaga_1.PredecessorNotResolvedError) {
858
+ const missing = error.missingPredecessors.map(r => `${r.type}:${r.hash}`);
859
+ const unresolved = error.unresolvedFacts.map(r => `${r.type}:${r.hash}`);
860
+ jinaga_1.Trace.warn(`Save authorization could not resolve ${missing.length} predecessor(s) [${missing.join(", ")}] ` +
861
+ `needed by ${unresolved.length} fact(s) [${unresolved.join(", ")}] among ${describeBatch()}.`);
862
+ const advice = `Send the full closure of predecessors together, or commit the predecessors first.`;
863
+ if (missing.length === 1) {
864
+ return new jinaga_1.Invalid(`The fact ${missing[0]} is named as a predecessor, but it was not found in storage ` +
865
+ `and was not included in the request. ${advice}`);
866
+ }
867
+ if (missing.length > 1) {
868
+ return new jinaga_1.Invalid(`${missing.length} facts are named as predecessors, but they were not found in storage ` +
869
+ `and were not included in the request: ${missing.join(", ")}. ${advice}`);
834
870
  }
871
+ // The engine could not attribute the failure to specific references.
872
+ return new jinaga_1.Invalid(`${unresolved.length} fact(s) could not be authorized because one or more predecessors ` +
873
+ `were not found in storage and were not included in the request. ${advice}`);
874
+ }
875
+ const notDefined = FACT_NOT_DEFINED_PATTERN.exec(error.message);
876
+ if (notDefined) {
877
+ const [, factType, factHash] = notDefined;
878
+ jinaga_1.Trace.warn(`Save authorization could not resolve predecessor ${factType}:${factHash} ` +
879
+ `among ${describeBatch()}.`);
880
+ return new jinaga_1.Invalid(`The fact ${factType}:${factHash} is required to authorize this save but was not included in the request. ` +
881
+ `Ensure the full closure of predecessors needed by your authorization rules is sent together.`);
835
882
  }
836
883
  return error;
837
884
  }
885
+ // post() serves both a JSON route (/load) and a text route (/feeds), so its
886
+ // message names no particular parser; the single-content-type entry points
887
+ // keep the specific hint they have always given.
888
+ const MISSING_BODY = 'The request body is empty or could not be read. Ensure that the body parser for this Content-Type is registered.';
889
+ const MISSING_JSON_BODY = 'Ensure that you have called app.use(express.json()).';
890
+ const MISSING_TEXT_BODY = 'Expected Content-Type text/plain. Ensure that you have called app.use(express.text()).';
891
+ // A request body that fails to parse is a client error. Both this module's
892
+ // parseString and jinaga's message parsers signal that by throwing
893
+ // synchronously from the handler, where Express hands it to its default error
894
+ // handler and reports 500. Classify parse failures as Invalid so handleError
895
+ // renders a 400 (issue #182 finding 3).
896
+ function toInvalidInput(error) {
897
+ if (error instanceof jinaga_1.Invalid) {
898
+ return error;
899
+ }
900
+ return new jinaga_1.Invalid(error instanceof Error ? error.message : String(error));
901
+ }
902
+ // /read and /write accept text/plain only, so every unreadable body there has
903
+ // the same cause and deserves the same actionable hint. Checking req.body here
904
+ // rather than deferring to parseString keeps a missing body parser — the common
905
+ // misconfiguration — from being reported with parseString's generic
906
+ // content-type message.
907
+ function parseTextBody(req) {
908
+ const body = req.body;
909
+ if (typeof body !== 'string' || !body) {
910
+ throw new jinaga_1.Invalid(`${MISSING_TEXT_BODY} ${describeContentType(req)}`);
911
+ }
912
+ return body;
913
+ }
914
+ // Naming what arrived turns "check your setup" into something the caller can
915
+ // act on without guessing which end is misconfigured. The value is echoed from
916
+ // the request, so cap it: a real content type is short, and the body should
917
+ // not grow with whatever the caller chose to send.
918
+ const MAX_ECHOED_CONTENT_TYPE = 80;
919
+ function describeContentType(req) {
920
+ const contentType = req.get('Content-Type');
921
+ if (!contentType) {
922
+ return `No Content-Type header was received.`;
923
+ }
924
+ const echoed = contentType.length > MAX_ECHOED_CONTENT_TYPE
925
+ ? `${contentType.substring(0, MAX_ECHOED_CONTENT_TYPE)}…`
926
+ : contentType;
927
+ return `Received Content-Type: ${echoed}.`;
928
+ }
929
+ function parseRequestInput(parse, req, res, next) {
930
+ try {
931
+ return { ok: true, value: parse() };
932
+ }
933
+ catch (error) {
934
+ handleError(toInvalidInput(error), req, res, next);
935
+ return { ok: false };
936
+ }
937
+ }
938
+ // A route miss (no :hash in the URL) is a 404 just like a feed-cache miss,
939
+ // but for a different reason. Send a machine-readable body so a client can
940
+ // always tell "wrong URL" from "re-subscribe via POST /feeds" (issue #182
941
+ // finding 6); handleError sends "feed_not_found" for the latter.
942
+ function sendRouteMiss(res) {
943
+ res.type("text");
944
+ res.status(404).send("not_found");
945
+ }
946
+ // These bodies are diagnostics, not markup, but they quote client-supplied
947
+ // text: a Content-Type header, a fact type named in a parse failure. The
948
+ // response is text/plain and marked nosniff, yet that is the content type
949
+ // saying so — neutralize the characters that could start markup here, at the
950
+ // one place every error body is written, so the guarantee does not rest on a
951
+ // header a proxy or a later edit could change. Quotes are left alone: they
952
+ // only matter inside a tag, which escaping '<' already prevents, and messages
953
+ // quote identifiers routinely.
954
+ const HTML_META_CHARACTERS = {
955
+ "&": "&amp;",
956
+ "<": "&lt;",
957
+ ">": "&gt;"
958
+ };
959
+ function sanitizeErrorBody(message) {
960
+ return message.replace(/[&<>]/g, character => HTML_META_CHARACTERS[character]);
961
+ }
838
962
  function handleError(error, req, res, next) {
839
963
  const requestPath = req.path;
964
+ // Error bodies are plain text built partly from client-supplied input, so
965
+ // stop a browser from sniffing one as markup.
966
+ res.set("X-Content-Type-Options", "nosniff");
840
967
  if (error instanceof FeedNotFound) {
841
968
  jinaga_1.Trace.warn(`Feed not found: ${error.feedHash} (Path: ${requestPath})`);
842
969
  res.type("text");
@@ -845,17 +972,21 @@ function handleError(error, req, res, next) {
845
972
  else if (error instanceof jinaga_1.Forbidden) {
846
973
  jinaga_1.Trace.warn(`Forbidden: ${error.message} (Path: ${requestPath})`);
847
974
  res.type("text");
848
- res.status(403).send(error.message);
975
+ res.status(403).send(sanitizeErrorBody(error.message));
849
976
  }
850
977
  else if (error instanceof jinaga_1.Invalid) {
851
978
  jinaga_1.Trace.warn(`Invalid: ${error.message} (Path: ${requestPath})`);
852
979
  res.type("text");
853
- res.status(400).send(error.message);
980
+ res.status(400).send(sanitizeErrorBody(error.message));
854
981
  }
855
982
  else {
983
+ // Classification above is an allow-list, so anything reaching here is
984
+ // unclassified — including genuine internal failures whose message can
985
+ // name internal hosts or credentials. Keep the detail in the trace and
986
+ // send a generic body to the caller (issue #182 finding 4).
856
987
  jinaga_1.Trace.error(`Error: ${error.message} (Path: ${requestPath})`);
857
988
  res.type("text");
858
- res.status(500).send(error.message);
989
+ res.status(500).send("Internal server error");
859
990
  }
860
991
  next();
861
992
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/http/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/http/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinaga-server",
3
- "version": "3.7.3",
3
+ "version": "3.7.5",
4
4
  "description": "Data management for web and mobile applications.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -49,7 +49,7 @@
49
49
  "dependencies": {
50
50
  "csv-stringify": "^6.6.0",
51
51
  "express": "^4.21.2",
52
- "jinaga": "^6.11.1",
52
+ "jinaga": "^6.11.3",
53
53
  "pg": "^8.13.1"
54
54
  }
55
55
  }