@selvajs/server 2.0.0-beta.20 → 2.0.0-beta.22

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.
Files changed (54) hide show
  1. package/dist/api/deps.d.ts +13 -1
  2. package/dist/api/deps.d.ts.map +1 -1
  3. package/dist/api/deps.js +2 -1
  4. package/dist/api/deps.js.map +1 -1
  5. package/dist/compute/index.d.ts +1 -1
  6. package/dist/compute/index.d.ts.map +1 -1
  7. package/dist/compute/index.js +1 -1
  8. package/dist/compute/index.js.map +1 -1
  9. package/dist/compute/resolve-server.d.ts +20 -0
  10. package/dist/compute/resolve-server.d.ts.map +1 -1
  11. package/dist/compute/resolve-server.js +53 -0
  12. package/dist/compute/resolve-server.js.map +1 -1
  13. package/dist/config/settings.d.ts.map +1 -1
  14. package/dist/config/settings.js +80 -50
  15. package/dist/config/settings.js.map +1 -1
  16. package/dist/definitions/load-for-render.d.ts.map +1 -1
  17. package/dist/definitions/load-for-render.js +15 -10
  18. package/dist/definitions/load-for-render.js.map +1 -1
  19. package/dist/handlers/apiTokens.d.ts +3 -0
  20. package/dist/handlers/apiTokens.d.ts.map +1 -1
  21. package/dist/handlers/apiTokens.js +7 -1
  22. package/dist/handlers/apiTokens.js.map +1 -1
  23. package/dist/handlers/oauthConsent.d.ts.map +1 -1
  24. package/dist/handlers/oauthConsent.js +1 -0
  25. package/dist/handlers/oauthConsent.js.map +1 -1
  26. package/dist/handlers/orgCompute.d.ts.map +1 -1
  27. package/dist/handlers/orgCompute.js +1 -0
  28. package/dist/handlers/orgCompute.js.map +1 -1
  29. package/dist/handlers/orgMembers.js +1 -1
  30. package/dist/handlers/orgMembers.js.map +1 -1
  31. package/dist/handlers/services.d.ts +1 -1
  32. package/dist/handlers/services.d.ts.map +1 -1
  33. package/dist/handlers/services.js.map +1 -1
  34. package/dist/http/api-token.d.ts +31 -0
  35. package/dist/http/api-token.d.ts.map +1 -1
  36. package/dist/http/api-token.js +62 -1
  37. package/dist/http/api-token.js.map +1 -1
  38. package/dist/http/index.d.ts +3 -1
  39. package/dist/http/index.d.ts.map +1 -1
  40. package/dist/http/index.js +3 -1
  41. package/dist/http/index.js.map +1 -1
  42. package/dist/http/request-memo.d.ts +16 -0
  43. package/dist/http/request-memo.d.ts.map +1 -0
  44. package/dist/http/request-memo.js +27 -0
  45. package/dist/http/request-memo.js.map +1 -0
  46. package/dist/http/session-resolver.d.ts +48 -0
  47. package/dist/http/session-resolver.d.ts.map +1 -0
  48. package/dist/http/session-resolver.js +137 -0
  49. package/dist/http/session-resolver.js.map +1 -0
  50. package/dist/testing/harness.d.ts +1 -1
  51. package/dist/testing/harness.d.ts.map +1 -1
  52. package/dist/testing/harness.js +2 -1
  53. package/dist/testing/harness.js.map +1 -1
  54. package/package.json +4 -4
@@ -16,6 +16,7 @@ import type { OrgAssetService } from '../organizations/org-asset-service.js';
16
16
  import type { TokenCodec } from '../tokens/token-codec.js';
17
17
  import type { ApiTokenCodec } from '../tokens/api-token-codec.js';
18
18
  import type { ApiTokenHolderPolicy } from '../tokens/api-token-holder.js';
19
+ import type { ApiTokenResolutionCache } from '../http/api-token.js';
19
20
  import type { ApiRateLimiter } from './rate-limit.js';
20
21
  import type { ApiIdempotencyStore } from './idempotency.js';
21
22
  import type { IAuthProvider, IDataProvider, IEventSink, INotificationProvider, IStorageProvider, SelvaConfig, SelvaFlags } from '@selvajs/platform';
@@ -73,6 +74,11 @@ export interface SelvaDeps {
73
74
  mayHoldApiTokens?: ApiTokenHolderPolicy;
74
75
  /** How long one sign-in lasts before minting needs a new one (`resolveSignInMaxAgeMs`). Absent: no limit. */
75
76
  signInMaxAgeMs?: number;
77
+ /**
78
+ * The cache the host hands `resolveApiToken`, so a revoke through these handlers drops
79
+ * the key from it at once. Absent: nothing to drop.
80
+ */
81
+ resolutionCache?: ApiTokenResolutionCache;
76
82
  };
77
83
  /**
78
84
  * Upload caps, in bytes.
@@ -128,6 +134,11 @@ export interface SelvaDeps {
128
134
  * and the handler must not have to know which kind of host it is running on.
129
135
  */
130
136
  evictComputeClient: (id: string) => void;
137
+ /**
138
+ * Called after every compute-config save, so a host remembering resolved servers
139
+ * (`createServerResolver`) reads the config again. Defaults to a no-op.
140
+ */
141
+ onComputeConfigSaved: () => void;
131
142
  /**
132
143
  * Composed services the host supplies.
133
144
  *
@@ -151,10 +162,11 @@ export interface SelvaDeps {
151
162
  * `tokens` arrives in an options object rather than as a third positional, so
152
163
  * the two composed bags cannot be swapped at a call site.
153
164
  */
154
- export declare function depsFromConfig(config: SelvaConfig, services?: SelvaDeps['services'], { tokens, uploadLimits, evictComputeClient, notifications, instanceName, apiTokenSettingsPath, apiRateLimiter, projectCreateLimiter, idempotency }?: {
165
+ export declare function depsFromConfig(config: SelvaConfig, services?: SelvaDeps['services'], { tokens, uploadLimits, evictComputeClient, onComputeConfigSaved, notifications, instanceName, apiTokenSettingsPath, apiRateLimiter, projectCreateLimiter, idempotency }?: {
155
166
  tokens?: SelvaDeps['tokens'];
156
167
  uploadLimits?: Partial<SelvaDeps['uploadLimits']>;
157
168
  evictComputeClient?: SelvaDeps['evictComputeClient'];
169
+ onComputeConfigSaved?: SelvaDeps['onComputeConfigSaved'];
158
170
  notifications?: INotificationProvider;
159
171
  instanceName?: string;
160
172
  apiTokenSettingsPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/api/deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/api/deps.ts"],"names":[],"mappings":"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"}
package/dist/api/deps.js CHANGED
@@ -21,7 +21,7 @@ import { isFlagEnabled, NoopEventSink } from '@selvajs/platform';
21
21
  * `tokens` arrives in an options object rather than as a third positional, so
22
22
  * the two composed bags cannot be swapped at a call site.
23
23
  */
24
- export function depsFromConfig(config, services = {}, { tokens = {}, uploadLimits, evictComputeClient = () => { }, notifications, instanceName = 'Selva', apiTokenSettingsPath = '/settings/tokens', apiRateLimiter, projectCreateLimiter, idempotency } = {}) {
24
+ export function depsFromConfig(config, services = {}, { tokens = {}, uploadLimits, evictComputeClient = () => { }, onComputeConfigSaved = () => { }, notifications, instanceName = 'Selva', apiTokenSettingsPath = '/settings/tokens', apiRateLimiter, projectCreateLimiter, idempotency } = {}) {
25
25
  const { data } = config;
26
26
  return {
27
27
  auth: config.auth,
@@ -47,6 +47,7 @@ export function depsFromConfig(config, services = {}, { tokens = {}, uploadLimit
47
47
  maxImageFileSize: uploadLimits?.maxImageFileSize ?? 10 * 1024 * 1024
48
48
  },
49
49
  evictComputeClient,
50
+ onComputeConfigSaved,
50
51
  notifications,
51
52
  instanceName,
52
53
  apiTokenSettingsPath,
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/api/deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA8IjE;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC7B,MAAmB,EACnB,WAAkC,EAAE,EACpC,EACC,MAAM,GAAG,EAAE,EACX,YAAY,EACZ,kBAAkB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC7B,aAAa,EACb,YAAY,GAAG,OAAO,EACtB,oBAAoB,GAAG,kBAAkB,EACzC,cAAc,EACd,oBAAoB,EACpB,WAAW,KAWR,EAAE;IAEN,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,WAAW;QAChC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;QAC5C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QAC3C,MAAM;QACN,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,YAAY,EAAE;YACb,qBAAqB,EAAE,YAAY,EAAE,qBAAqB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YAC9E,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;SACpE;QACD,kBAAkB;QAClB,aAAa;QACb,YAAY;QACZ,oBAAoB;QACpB,cAAc;QACd,oBAAoB;QACpB,WAAW;QACX,QAAQ;KACR,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/api/deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAyJjE;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC7B,MAAmB,EACnB,WAAkC,EAAE,EACpC,EACC,MAAM,GAAG,EAAE,EACX,YAAY,EACZ,kBAAkB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC7B,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC/B,aAAa,EACb,YAAY,GAAG,OAAO,EACtB,oBAAoB,GAAG,kBAAkB,EACzC,cAAc,EACd,oBAAoB,EACpB,WAAW,KAYR,EAAE;IAEN,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,WAAW;QAChC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;QAC5C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QAC3C,MAAM;QACN,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,YAAY,EAAE;YACb,qBAAqB,EAAE,YAAY,EAAE,qBAAqB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YAC9E,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;SACpE;QACD,kBAAkB;QAClB,oBAAoB;QACpB,aAAa;QACb,YAAY;QACZ,oBAAoB;QACpB,cAAc;QACd,oBAAoB;QACpB,WAAW;QACX,QAAQ;KACR,CAAC;AACH,CAAC"}
@@ -3,7 +3,7 @@ export { createComputeRateLimiter, DEFAULT_MAX_KEYS, type ComputeRateLimiter, ty
3
3
  export { createIdempotencyStore, DEFAULT_IDEMPOTENCY_MAX_KEYS, type IdempotencyStore, type IdempotencyStoreConfig, type IdempotencyOutcome } from './idempotency.js';
4
4
  export { isSafeRemoteDefinitionUrl, assertSafeRemoteDefinitionUrl, isLinkLocalUrl } from './safe-url.js';
5
5
  export { createRemoteDefinitionFetcher, readBodyWithCap, type RemoteDefinitionFetcher, type RemoteDefinitionConfig } from './remote-definition.js';
6
- export { resolveServerForOrg } from './resolve-server.js';
6
+ export { createServerResolver, resolveServerForOrg, type ServerResolver } from './resolve-server.js';
7
7
  export { ComputeServerUnconfiguredError } from './errors.js';
8
8
  export { evictChangedServers, type ServerConnection } from './evict-changed-servers.js';
9
9
  export { assertStoredKeysReadable, validateIncomingServers, resolveApiKey, storedKeysById, type IncomingServerBase } from './server-config-write.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,6BAA6B,EAC7B,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,6BAA6B,EAC7B,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,cAAc,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,0BAA0B,CAAC"}
@@ -13,7 +13,7 @@ export { createComputeRateLimiter, DEFAULT_MAX_KEYS } from './rate-limit.js';
13
13
  export { createIdempotencyStore, DEFAULT_IDEMPOTENCY_MAX_KEYS } from './idempotency.js';
14
14
  export { isSafeRemoteDefinitionUrl, assertSafeRemoteDefinitionUrl, isLinkLocalUrl } from './safe-url.js';
15
15
  export { createRemoteDefinitionFetcher, readBodyWithCap } from './remote-definition.js';
16
- export { resolveServerForOrg } from './resolve-server.js';
16
+ export { createServerResolver, resolveServerForOrg } from './resolve-server.js';
17
17
  export { ComputeServerUnconfiguredError } from './errors.js';
18
18
  export { evictChangedServers } from './evict-changed-servers.js';
19
19
  export { assertStoredKeysReadable, validateIncomingServers, resolveApiKey, storedKeysById } from './server-config-write.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,kGAAkG;AAClG,mGAAmG;AACnG,oBAAoB;AACpB,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,8FAA8F;AAC9F,qCAAqC;AAErC,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EAGR,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAIhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAI5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,6BAA6B,EAC7B,eAAe,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAyB,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,cAAc,EAEd,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,kGAAkG;AAClG,mGAAmG;AACnG,oBAAoB;AACpB,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,8FAA8F;AAC9F,qCAAqC;AAErC,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EAGR,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAIhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAI5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,6BAA6B,EAC7B,eAAe,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAyB,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,cAAc,EAEd,MAAM,0BAA0B,CAAC"}
@@ -22,4 +22,24 @@ type ComputeServerStore = IDataProvider['computeServer'];
22
22
  export declare function resolveServerForOrg(ctx: RequestContext, orgId: string | null | undefined, store: ComputeServerStore, opts?: {
23
23
  definitionPin?: string | null;
24
24
  }): Promise<ComputeServerConfig>;
25
+ export interface ServerResolver {
26
+ /** `resolveServerForOrg`, answered from what the same caller resolved within the TTL. */
27
+ resolve(ctx: RequestContext, orgId: string | null | undefined, store: ComputeServerStore, opts?: {
28
+ definitionPin?: string | null;
29
+ }): Promise<ComputeServerConfig>;
30
+ /** Call after any compute-config write: the next resolve reads the config again. */
31
+ forget(): void;
32
+ }
33
+ /**
34
+ * Remembers each caller's resolved server for `ttlMs`: every solve and every
35
+ * describe resolves one, and the config changes only through its own write
36
+ * handlers, which call `forget`. The TTL bounds a write made on another
37
+ * instance. Keyed by what row security decides visibility by, so one caller's
38
+ * answer is never handed to another; a share link's anonymous context is never
39
+ * remembered. A failed read is not kept.
40
+ */
41
+ export declare function createServerResolver({ ttlMs, maxEntries }?: {
42
+ ttlMs?: number;
43
+ maxEntries?: number;
44
+ }): ServerResolver;
25
45
  //# sourceMappingURL=resolve-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-server.d.ts","sourceRoot":"","sources":["../../src/compute/resolve-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAI7D,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,sEAAsE;AACtE,KAAK,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,KAAK,EAAE,kBAAkB,EACzB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
1
+ {"version":3,"file":"resolve-server.d.ts","sourceRoot":"","sources":["../../src/compute/resolve-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAI7D,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,sEAAsE;AACtE,KAAK,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,KAAK,EAAE,kBAAkB,EACzB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CAU9B;AAMD,MAAM,WAAW,cAAc;IAC9B,yFAAyF;IACzF,OAAO,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,KAAK,EAAE,kBAAkB,EACzB,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,oFAAoF;IACpF,MAAM,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EACpC,KAAc,EACd,UAAkB,EAClB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,cAAc,CA+B/D"}
@@ -32,4 +32,57 @@ export async function resolveServerForOrg(ctx, orgId, store, opts = {}) {
32
32
  return server;
33
33
  return { ...server, apiKey: await store.getServerApiKey(ctx, server.id) };
34
34
  }
35
+ /**
36
+ * Remembers each caller's resolved server for `ttlMs`: every solve and every
37
+ * describe resolves one, and the config changes only through its own write
38
+ * handlers, which call `forget`. The TTL bounds a write made on another
39
+ * instance. Keyed by what row security decides visibility by, so one caller's
40
+ * answer is never handed to another; a share link's anonymous context is never
41
+ * remembered. A failed read is not kept.
42
+ */
43
+ export function createServerResolver({ ttlMs = 30_000, maxEntries = 1_000 } = {}) {
44
+ // Per store: a host that swaps its data provider (tests do) must not read another's answers.
45
+ let byStore = new WeakMap();
46
+ return {
47
+ resolve(ctx, orgId, store, opts = {}) {
48
+ const caller = callerKey(ctx);
49
+ if (caller === null)
50
+ return resolveServerForOrg(ctx, orgId, store, opts);
51
+ let entries = byStore.get(store);
52
+ if (!entries)
53
+ byStore.set(store, (entries = new Map()));
54
+ const key = `${caller}|${orgId ?? ''}|${opts.definitionPin ?? ''}`;
55
+ const now = Date.now();
56
+ const hit = entries.get(key);
57
+ if (hit && hit.until > now)
58
+ return hit.server;
59
+ if (entries.size >= maxEntries) {
60
+ for (const [k, e] of entries)
61
+ if (e.until <= now)
62
+ entries.delete(k);
63
+ while (entries.size >= maxEntries)
64
+ entries.delete(entries.keys().next().value);
65
+ }
66
+ const server = resolveServerForOrg(ctx, orgId, store, opts);
67
+ entries.set(key, { server, until: now + ttlMs });
68
+ server.catch(() => {
69
+ if (entries.get(key)?.server === server)
70
+ entries.delete(key);
71
+ });
72
+ return server;
73
+ },
74
+ forget() {
75
+ byStore = new WeakMap();
76
+ }
77
+ };
78
+ }
79
+ /** Who row security sees: the user, acting org, platform permissions and API key; null for a share link. */
80
+ function callerKey(ctx) {
81
+ if (ctx.system)
82
+ return ctx.shareLinkId ? null : 'system';
83
+ if (!ctx.userId)
84
+ return null;
85
+ const permissions = [...ctx.platformPermissions].sort().join(',');
86
+ return `${ctx.userId}:${ctx.actingOrgId ?? ''}:${permissions}:${ctx.apiScope?.tokenId ?? ''}`;
87
+ }
35
88
  //# sourceMappingURL=resolve-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-server.js","sourceRoot":"","sources":["../../src/compute/resolve-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,IAAI,WAAW,EAIlC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAE7D,4EAA4E;AAC5E,qDAAqD;AACrD,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAK1C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,GAAmB,EACnB,KAAgC,EAChC,KAAyB,EACzB,OAA0C,EAAE;IAE5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,MAA2B,CAAC;IAChC,IAAI,CAAC;QACJ,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,8BAA8B,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"resolve-server.js","sourceRoot":"","sources":["../../src/compute/resolve-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,eAAe,6CAqS1B,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,eAAe,6CAsY1B,CAAC"}
@@ -2,8 +2,9 @@ import { composeManifest, defineSetting } from '@selvajs/platform/config';
2
2
  import { DEFAULT_API_RATE_LIMIT } from '../api/rate-limit.js';
3
3
  // Keys the engine reads, wherever the host app runs it. Providers declare their
4
4
  // own (`@selvajs/*-provider/config`); the host app declares what only it reads.
5
- const flag = (key, description, impact) => defineSetting({
5
+ const flag = (key, label, description, impact) => defineSetting({
6
6
  key: `SELVA_FLAG_${key}`,
7
+ label,
7
8
  type: 'bool',
8
9
  default: false,
9
10
  onInvalid: 'fail',
@@ -11,8 +12,9 @@ const flag = (key, description, impact) => defineSetting({
11
12
  description,
12
13
  ...(impact ? { impact } : {})
13
14
  });
14
- const tunableInt = (key, fallback, description, extra = {}) => defineSetting({
15
+ const tunableInt = (key, fallback, label, description, extra = {}) => defineSetting({
15
16
  key,
17
+ label,
16
18
  type: 'int',
17
19
  min: 1,
18
20
  default: fallback,
@@ -24,28 +26,47 @@ const tunableInt = (key, fallback, description, extra = {}) => defineSetting({
24
26
  const MB = 1024 * 1024;
25
27
  export const ENGINE_SETTINGS = composeManifest([
26
28
  // ── Wiring ───────────────────────────────────────────────────────────────
27
- ...['AUTH', 'DATA', 'STORAGE'].map((slot) => defineSetting({
29
+ ...[
30
+ [
31
+ 'AUTH',
32
+ 'Sign-in',
33
+ 'Who checks passwords: local (this server), supabase, or header (your SSO proxy).'
34
+ ],
35
+ [
36
+ 'DATA',
37
+ 'Database',
38
+ 'Where users, orgs and projects live: local (files on this server) or supabase.'
39
+ ],
40
+ [
41
+ 'STORAGE',
42
+ 'File storage',
43
+ 'Where uploaded .gh files and images live: local (this server) or supabase.'
44
+ ]
45
+ ].map(([slot, label, description]) => defineSetting({
28
46
  key: `SELVA_${slot}_PROVIDER`,
47
+ label,
29
48
  type: 'string',
30
49
  default: 'local',
31
50
  onInvalid: 'fail',
32
51
  class: 'bootstrap',
33
52
  summary: true,
34
- description: `${slot.toLowerCase()} provider: local, supabase${slot === 'AUTH' ? ' or header' : ''}.`,
53
+ description,
35
54
  impact: 'Switching it does not move any data: the instance starts on what the new provider holds.'
36
55
  })),
37
56
  defineSetting({
38
57
  key: 'SELVA_TENANCY',
58
+ label: 'Organizations',
39
59
  type: 'enum',
40
60
  values: ['single', 'multi'],
41
61
  default: 'single',
42
62
  onInvalid: 'fail',
43
63
  class: 'bootstrap',
44
64
  summary: true,
45
- description: 'single: one org per deployment. multi: users create their own orgs.'
65
+ description: 'single: everyone shares one organization. multi: users can create their own.'
46
66
  }),
47
67
  defineSetting({
48
68
  key: 'SELVA_CONFIG_PATH',
69
+ label: 'Custom config file',
49
70
  type: 'string',
50
71
  onInvalid: 'fail',
51
72
  class: 'bootstrap',
@@ -54,6 +75,7 @@ export const ENGINE_SETTINGS = composeManifest([
54
75
  // ── Keys ─────────────────────────────────────────────────────────────────
55
76
  defineSetting({
56
77
  key: 'SELVA_HMAC_KEY',
78
+ label: 'Signing key',
57
79
  type: 'string',
58
80
  minLength: 32,
59
81
  required: true,
@@ -62,11 +84,12 @@ export const ENGINE_SETTINGS = composeManifest([
62
84
  sensitive: true,
63
85
  generated: true,
64
86
  summary: true,
65
- description: 'Signs sessions (local auth), OAuth codes, MCP client ids and solve-event tokens.',
87
+ description: 'Stops sign-ins, links and tokens from being forged. Generated at install; never share it.',
66
88
  impact: 'Changing it without SELVA_HMAC_KEY_PREVIOUS breaks what it signed: run `selva keys rotate hmac`.'
67
89
  }),
68
90
  defineSetting({
69
91
  key: 'SELVA_AT_REST_KEY',
92
+ label: 'Encryption key',
70
93
  type: 'key',
71
94
  required: true,
72
95
  onInvalid: 'fail',
@@ -74,11 +97,12 @@ export const ENGINE_SETTINGS = composeManifest([
74
97
  sensitive: true,
75
98
  generated: true,
76
99
  summary: true,
77
- description: 'Encrypts stored Rhino.Compute API keys.',
100
+ description: 'Encrypts the Rhino.Compute API keys stored here. Generated at install.',
78
101
  impact: 'Changing it without SELVA_AT_REST_KEY_PREVIOUS makes stored API keys unreadable: run `selva keys rotate at-rest`.'
79
102
  }),
80
103
  defineSetting({
81
104
  key: 'SELVA_HMAC_KEY_PREVIOUS',
105
+ label: 'Previous signing key',
82
106
  type: 'string',
83
107
  minLength: 32,
84
108
  onInvalid: 'fail',
@@ -86,22 +110,24 @@ export const ENGINE_SETTINGS = composeManifest([
86
110
  sensitive: true,
87
111
  generated: true,
88
112
  summary: true,
89
- description: 'The HMAC key before the last rotation. Still accepted for what it signed.',
113
+ description: 'Kept after a rotation so what the old signing key signed works until it expires.',
90
114
  impact: 'Removing it ends sessions, MCP clients and links signed before the rotation.'
91
115
  }),
92
116
  defineSetting({
93
117
  key: 'SELVA_AT_REST_KEY_PREVIOUS',
118
+ label: 'Previous encryption key',
94
119
  type: 'key',
95
120
  onInvalid: 'fail',
96
121
  class: 'secret',
97
122
  sensitive: true,
98
123
  generated: true,
99
124
  summary: true,
100
- description: 'The encryption key before the last rotation. Stored API keys are re-sealed at boot.',
125
+ description: 'Kept after a rotation until stored API keys are re-encrypted, which happens at the next start.',
101
126
  impact: 'Remove it only once /admin/system shows no API key on the previous key.'
102
127
  }),
103
128
  defineSetting({
104
129
  key: 'SELVA_HMAC_KEY_PREVIOUS_EXPIRES',
130
+ label: 'Previous signing key expiry',
105
131
  type: 'string',
106
132
  onInvalid: 'fail',
107
133
  class: 'secret',
@@ -110,6 +136,7 @@ export const ENGINE_SETTINGS = composeManifest([
110
136
  }),
111
137
  defineSetting({
112
138
  key: 'SELVA_AT_REST_KEY_PREVIOUS_EXPIRES',
139
+ label: 'Previous encryption key expiry',
113
140
  type: 'string',
114
141
  onInvalid: 'fail',
115
142
  class: 'secret',
@@ -119,37 +146,42 @@ export const ENGINE_SETTINGS = composeManifest([
119
146
  // ── Access ───────────────────────────────────────────────────────────────
120
147
  defineSetting({
121
148
  key: 'BOOTSTRAP_INSTANCE_ADMIN_EMAIL',
149
+ label: 'Recovery admin email',
122
150
  type: 'string',
123
151
  onInvalid: 'fail',
124
152
  class: 'bootstrap',
125
153
  sensitive: true,
126
154
  summary: true,
127
- description: 'Only this address may claim instance admin while none exists. Break-glass recovery.'
155
+ description: 'While no instance admin exists, only this address may become one. For first setup and lockouts.'
128
156
  }),
129
157
  defineSetting({
130
158
  key: 'SIGN_IN_MAX_AGE_DAYS',
159
+ label: 'Force sign-in again after',
131
160
  type: 'int',
132
161
  min: 0,
133
162
  default: 0,
134
163
  onInvalid: 'fail',
135
164
  class: 'setting',
136
165
  summary: true,
137
- description: 'How long one sign-in at the identity provider lasts. 0 is off.',
166
+ zero: 'Never',
167
+ unit: 'days',
168
+ description: 'Days before users must sign in at the identity provider again. 0 is never.',
138
169
  impact: 'API tokens of anyone who has not signed in within this many days are revoked.'
139
170
  }),
140
- flag('ALLOW_ORG_CREATION', 'Self-service org creation (read by host apps).'),
141
- flag('ALLOW_CROSS_ORG_PUBLIC', 'Public projects are visible to every signed-in user, not just the publishing org.', 'Turning it on widens who sees existing public projects.'),
142
- flag('ALLOW_ORG_COMPUTE_OVERRIDE', 'Orgs may configure their own Rhino.Compute server.'),
143
- flag('ENABLE_SHARING', 'Per-definition share links for anonymous access.', 'Turning it off stops every existing share link from resolving.'),
144
- flag('ENABLE_PLATFORM_PROJECTS', 'Projects owned by instance admins and granted to orgs or users.'),
171
+ flag('ALLOW_ORG_CREATION', 'Users create orgs', 'Self-service org creation (read by host apps).'),
172
+ flag('ALLOW_CROSS_ORG_PUBLIC', 'Public across orgs', 'Public projects are visible to every signed-in user, not just the publishing org.', 'Turning it on widens who sees existing public projects.'),
173
+ flag('ALLOW_ORG_COMPUTE_OVERRIDE', 'Orgs bring their own compute', 'Orgs may configure their own Rhino.Compute server.'),
174
+ flag('ENABLE_SHARING', 'Share links', 'Per-definition share links for anonymous access.', 'Turning it off stops every existing share link from resolving.'),
175
+ flag('ENABLE_PLATFORM_PROJECTS', 'Platform projects', 'Projects owned by instance admins and granted to orgs or users.'),
145
176
  // ── Branding ─────────────────────────────────────────────────────────────
146
177
  ...[
147
- ['NAME', 'Product name in the header and titles.'],
148
- ['COPYRIGHT_NAME', 'Footer copyright owner. Defaults to the brand name.'],
149
- ['TAGLINE', 'Subtitle on the landing page.'],
150
- ['DESCRIPTION', 'Meta description for search and link previews.']
151
- ].map(([key, description]) => defineSetting({
178
+ ['NAME', 'Product name', 'Product name in the header and titles.'],
179
+ ['COPYRIGHT_NAME', 'Copyright holder', 'Footer copyright owner. Defaults to the brand name.'],
180
+ ['TAGLINE', 'Tagline', 'Subtitle on the landing page.'],
181
+ ['DESCRIPTION', 'Site description', 'Meta description for search and link previews.']
182
+ ].map(([key, label, description]) => defineSetting({
152
183
  key: `SELVA_BRAND_${key}`,
184
+ label,
153
185
  type: 'string',
154
186
  onInvalid: 'fail',
155
187
  class: 'setting',
@@ -158,6 +190,7 @@ export const ENGINE_SETTINGS = composeManifest([
158
190
  // ── Mail ─────────────────────────────────────────────────────────────────
159
191
  defineSetting({
160
192
  key: 'SMTP_HOST',
193
+ label: 'Mail server',
161
194
  type: 'string',
162
195
  onInvalid: 'fail',
163
196
  class: 'setting',
@@ -165,6 +198,7 @@ export const ENGINE_SETTINGS = composeManifest([
165
198
  }),
166
199
  defineSetting({
167
200
  key: 'SMTP_PORT',
201
+ label: 'Mail server port',
168
202
  type: 'int',
169
203
  min: 1,
170
204
  max: 65535,
@@ -175,6 +209,7 @@ export const ENGINE_SETTINGS = composeManifest([
175
209
  }),
176
210
  defineSetting({
177
211
  key: 'SMTP_USER',
212
+ label: 'Mail username',
178
213
  type: 'string',
179
214
  onInvalid: 'fail',
180
215
  class: 'setting',
@@ -183,6 +218,7 @@ export const ENGINE_SETTINGS = composeManifest([
183
218
  }),
184
219
  defineSetting({
185
220
  key: 'SMTP_PASS',
221
+ label: 'Mail password',
186
222
  type: 'string',
187
223
  onInvalid: 'fail',
188
224
  class: 'secret',
@@ -191,6 +227,7 @@ export const ENGINE_SETTINGS = composeManifest([
191
227
  }),
192
228
  defineSetting({
193
229
  key: 'SMTP_FROM',
230
+ label: 'Sender address',
194
231
  type: 'string',
195
232
  onInvalid: 'fail',
196
233
  class: 'setting',
@@ -199,6 +236,7 @@ export const ENGINE_SETTINGS = composeManifest([
199
236
  }),
200
237
  defineSetting({
201
238
  key: 'SMTP_SECURE',
239
+ label: 'Mail TLS mode',
202
240
  type: 'bool',
203
241
  onInvalid: 'fail',
204
242
  class: 'tunable',
@@ -206,38 +244,31 @@ export const ENGINE_SETTINGS = composeManifest([
206
244
  legacy: { bool: 'exact-true' }
207
245
  }),
208
246
  // ── Compute limits ───────────────────────────────────────────────────────
209
- tunableInt('COMPUTE_SOLVE_DEADLINE_MS', 100_000, 'Longest one solve may run.', {
247
+ tunableInt('COMPUTE_SOLVE_DEADLINE_MS', 100_000, 'Solve time limit', 'Longest one solve may run.', {
248
+ unit: 'ms',
210
249
  aliases: ['MAX_SOLVE_DURATION_MS'],
211
250
  impact: 'Past the reverse proxy read timeout, solves fail there with a 502 instead.'
212
251
  }),
213
- tunableInt('COMPUTE_RATE_LIMIT_WINDOW_MS', 100_000, 'Compute rate-limit window.'),
214
- tunableInt('COMPUTE_RATE_LIMIT_MAX', 120, 'Solves per user or share link per window.'),
215
- tunableInt('MAX_DEFINITION_FILE_SIZE_BYTES', 50 * MB, 'Largest .gh upload.'),
216
- tunableInt('MAX_IMAGE_FILE_SIZE_BYTES', 10 * MB, 'Largest cover image upload.'),
217
- tunableInt('COMPUTE_REQUEST_MAX_BYTES', 256 * MB, 'Largest solve request body.', {
218
- impact: 'Must stay at or below BODY_SIZE_LIMIT, or that limit rejects first.'
219
- }),
220
- tunableInt('COMPUTE_RESPONSE_MAX_BYTES', 300 * MB, 'Largest solve response body.'),
221
- tunableInt('REMOTE_DEFINITION_FETCH_TIMEOUT_MS', 30_000, 'Deadline for fetching a remote .gh.'),
222
- tunableInt('REMOTE_DEFINITION_CACHE_TTL_MS', 5 * 60 * 1000, 'How long remote .gh bytes stay cached.', {
223
- aliases: ['DEFINITION_CACHE_TTL_MS']
224
- }),
225
- tunableInt('COMPUTE_MAX_QUEUE_DEPTH', 0, 'Solves allowed to wait per compute server. 0 is unbounded.', {
226
- min: 0
227
- }),
228
- tunableInt('COMPUTE_QUEUE_WAIT_MS', 0, 'Longest a solve may wait queued. 0 is no deadline.', {
229
- min: 0
252
+ tunableInt('COMPUTE_RATE_LIMIT_WINDOW_MS', 100_000, 'Solve rate limit window', 'Compute rate-limit window.', { unit: 'ms' }),
253
+ tunableInt('COMPUTE_RATE_LIMIT_MAX', 120, 'Solves per window', 'Solves per user or share link per window.'),
254
+ tunableInt('MAX_DEFINITION_FILE_SIZE_BYTES', 50 * MB, 'Max .gh upload', 'Largest .gh upload.', {
255
+ unit: 'bytes'
230
256
  }),
231
- tunableInt('COMPUTE_DEFINITION_CACHE_MB', 256, 'Definition cache budget. 0 turns it off.', {
232
- min: 0,
233
- aliases: ['COMPUTE_DEFINITION_BYTE_CACHE_MB']
234
- }),
235
- tunableInt('COMPUTE_SOLVE_CACHE_MB', 256, 'Solve cache budget per warm compute server. 0 turns it off.', {
236
- min: 0,
237
- aliases: ['COMPUTE_RESPONSE_CACHE_MB']
257
+ tunableInt('MAX_IMAGE_FILE_SIZE_BYTES', 10 * MB, 'Max image upload', 'Largest cover image upload.', { unit: 'bytes' }),
258
+ tunableInt('COMPUTE_REQUEST_MAX_BYTES', 256 * MB, 'Max solve request', 'Largest solve request body.', {
259
+ unit: 'bytes',
260
+ impact: 'Must stay at or below BODY_SIZE_LIMIT, or that limit rejects first.'
238
261
  }),
262
+ tunableInt('COMPUTE_RESPONSE_MAX_BYTES', 300 * MB, 'Max solve response', 'Largest solve response body.', { unit: 'bytes' }),
263
+ tunableInt('REMOTE_DEFINITION_FETCH_TIMEOUT_MS', 30_000, 'Remote .gh fetch timeout', 'Deadline for fetching a remote .gh.', { unit: 'ms' }),
264
+ tunableInt('REMOTE_DEFINITION_CACHE_TTL_MS', 5 * 60 * 1000, 'Remote .gh cache time', 'How long remote .gh bytes stay cached.', { unit: 'ms', aliases: ['DEFINITION_CACHE_TTL_MS'] }),
265
+ tunableInt('COMPUTE_MAX_QUEUE_DEPTH', 0, 'Solve queue length', 'Solves allowed to wait per compute server. 0 is unbounded.', { min: 0, zero: 'No limit' }),
266
+ tunableInt('COMPUTE_QUEUE_WAIT_MS', 0, 'Max queue wait', 'Longest a solve may wait queued. 0 is no deadline.', { min: 0, unit: 'ms', zero: 'No limit' }),
267
+ tunableInt('COMPUTE_DEFINITION_CACHE_MB', 256, 'Definition cache size', 'Definition cache budget. 0 turns it off.', { min: 0, unit: 'mb', zero: 'Off', aliases: ['COMPUTE_DEFINITION_BYTE_CACHE_MB'] }),
268
+ tunableInt('COMPUTE_SOLVE_CACHE_MB', 256, 'Solve cache size', 'Solve cache budget per warm compute server. 0 turns it off.', { min: 0, unit: 'mb', zero: 'Off', aliases: ['COMPUTE_RESPONSE_CACHE_MB'] }),
239
269
  defineSetting({
240
270
  key: 'COMPUTE_REUSE_DEFINITION_CACHE',
271
+ label: 'Reuse compute server definition cache',
241
272
  type: 'bool',
242
273
  default: true,
243
274
  onInvalid: 'default',
@@ -247,15 +278,14 @@ export const ENGINE_SETTINGS = composeManifest([
247
278
  }),
248
279
  defineSetting({
249
280
  key: 'COMPUTE_SERVER_CACHESOLVE',
281
+ label: 'Compute server solve cache',
250
282
  type: 'bool',
251
283
  default: true,
252
284
  onInvalid: 'default',
253
285
  class: 'tunable',
254
286
  description: 'Ask Rhino.Compute to cache solve results server-side.'
255
287
  }),
256
- tunableInt('API_TOKEN_RATE_LIMIT_WINDOW_MS', DEFAULT_API_RATE_LIMIT.windowMs, 'API token rate-limit window.'),
257
- tunableInt('API_TOKEN_RATE_LIMIT_MAX', DEFAULT_API_RATE_LIMIT.maxPerWindow, 'Requests per API token per window. 0 is off.', {
258
- min: 0
259
- })
288
+ tunableInt('API_TOKEN_RATE_LIMIT_WINDOW_MS', DEFAULT_API_RATE_LIMIT.windowMs, 'API rate limit window', 'API token rate-limit window.', { unit: 'ms' }),
289
+ tunableInt('API_TOKEN_RATE_LIMIT_MAX', DEFAULT_API_RATE_LIMIT.maxPerWindow, 'API requests per window', 'Requests per API token per window. 0 is off.', { min: 0, zero: 'Off' })
260
290
  ]);
261
291
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-for-render.d.ts","sourceRoot":"","sources":["../../src/definitions/load-for-render.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,EAAE,UAAU,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;IACnC,MAAM,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvF,qBAAa,mBAAoB,SAAQ,KAAK;aAE5B,IAAI,EAAE,uBAAuB;aAE7B,KAAK,CAAC,EAAE,OAAO;gBAFf,IAAI,EAAE,uBAAuB,EAC7C,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKhC;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAC;IACvE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC5C,gFAAgF;IAChF,aAAa,EAAE,CACd,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,2FAA2F;IAC3F,SAAS,EAAE,CACV,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAC5C,qFAAqF;IACrF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACrC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC9B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,EACjC,OAAO,CAAC,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAqKnF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"load-for-render.d.ts","sourceRoot":"","sources":["../../src/definitions/load-for-render.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,EAAE,UAAU,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;IACnC,MAAM,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvF,qBAAa,mBAAoB,SAAQ,KAAK;aAE5B,IAAI,EAAE,uBAAuB;aAE7B,KAAK,CAAC,EAAE,OAAO;gBAFf,IAAI,EAAE,uBAAuB,EAC7C,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKhC;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAC;IACvE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC5C,gFAAgF;IAChF,aAAa,EAAE,CACd,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,2FAA2F;IAC3F,SAAS,EAAE,CACV,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAC5C,qFAAqF;IACrF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACrC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC9B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,EACjC,OAAO,CAAC,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CA2KnF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAE9D"}