dominus-sdk-nodejs 6.4.0 → 6.5.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.
@@ -1,15 +1,25 @@
1
1
  /**
2
2
  * Stash Namespace — the single Dominus storage verb family.
3
3
  *
4
+ * Positioning: this is the **primary storage surface** for Dominus applications.
5
+ * Store named-kind data here and let the kind registry pick the backend — you
6
+ * address data by what it is (env, kind, scope, key), not by which primitive
7
+ * holds it. Reach for the primitive namespaces (`redis`, `db`, `files`) or the
8
+ * addressed `artifacts` helpers directly only for ephemera or when building a
9
+ * kernel backend (the Two-Layer Storage Rule). Those primitives are building
10
+ * blocks, never deprecated.
11
+ *
4
12
  * Every modern call is addressed by (env, kind, scope, key) and dispatches by
5
- * the kind registry to one of four backends: db-row (operator/credential rows),
13
+ * the kind registry to one of six backends: db-row (operator/credential rows),
6
14
  * b2-versioned-bytes (artifact-style versioned bytes), b2-pointer-text
7
- * (recipe-style YAML/JSON text with project→group→platform fallback), and
8
- * redis-ttl (ephemeral state). The verb stays the same; the registered
9
- * behavior bundle changes per kind.
15
+ * (recipe-style YAML/JSON text with project→group→platform fallback),
16
+ * redis-ttl (ephemeral state), artifact-v2 (artifact-worker owned versioned
17
+ * lifecycle), and journal (append-only conversation journals). The verb stays
18
+ * the same; the registered behavior bundle changes per kind.
10
19
  *
11
- * Kernel seeds only four generic Dominus kinds:
12
- * application-secret, browser-recipe, workflow-recipe-v1, pipeline-recipe-v1
20
+ * Kernel seeds only generic Dominus kinds:
21
+ * application-secret, browser-recipe, workflow-recipe-v1, pipeline-recipe-v1,
22
+ * artifact-v1, conversation-v1
13
23
  * Product/group vocabularies (CareBridge envoy-bootstrap-v1, pacs-extraction-
14
24
  * recipe-v1, credential.vendor.<vendor>, config.routing.<config>,
15
25
  * study-artifact-<name>, etc.) are registered by the owning product's
@@ -23,6 +33,7 @@
23
33
  * stores items in each project's `stash.*` schema and transparently falls
24
34
  * back to a designated shared project on read.
25
35
  */
36
+ import { ValidationError } from '../lib/errors.js';
26
37
  // ============================================================================
27
38
  function buildActor(input) {
28
39
  if (!input.actor_type && !input.actor_id)
@@ -35,6 +46,32 @@ function omitActorHeaders(input) {
35
46
  const { actor_type: _at, actor_id: _ai, ...rest } = input;
36
47
  return rest;
37
48
  }
49
+ function ttlSecondsFromExpiresAt(expiresAt) {
50
+ const expiresAtMs = Date.parse(expiresAt);
51
+ if (!Number.isFinite(expiresAtMs)) {
52
+ throw new ValidationError('expires_at must be a valid future timestamp', 400, { code: 'stash.watch.expires_at_invalid', category: 'validation' }, '/svc/stash/watch');
53
+ }
54
+ const ttlSeconds = Math.ceil((expiresAtMs - Date.now()) / 1000);
55
+ if (ttlSeconds <= 0) {
56
+ throw new ValidationError('expires_at must be a valid future timestamp', 400, { code: 'stash.watch.expires_at_invalid', category: 'validation' }, '/svc/stash/watch');
57
+ }
58
+ return ttlSeconds;
59
+ }
60
+ function normalizeStashWatchInput(input) {
61
+ const { actor_type: _at, actor_id: _ai, trigger, expires_at, ...rest } = input;
62
+ const triggerRule = rest.trigger_rule ?? trigger;
63
+ if (!triggerRule) {
64
+ throw new ValidationError('trigger_rule is required', 400, { code: 'stash.watch.trigger_rule_required', category: 'validation' }, '/svc/stash/watch');
65
+ }
66
+ const body = {
67
+ ...rest,
68
+ trigger_rule: triggerRule,
69
+ };
70
+ if (body.ttl_seconds === undefined && expires_at !== undefined) {
71
+ body.ttl_seconds = ttlSecondsFromExpiresAt(expires_at);
72
+ }
73
+ return body;
74
+ }
38
75
  export class StashNamespace {
39
76
  client;
40
77
  constructor(client) {
@@ -114,6 +151,33 @@ export class StashNamespace {
114
151
  useGateway: true,
115
152
  });
116
153
  }
154
+ /** Append one or more entries to a journal head. */
155
+ async append(input) {
156
+ return this.client.request({
157
+ endpoint: '/svc/stash/append',
158
+ body: omitActorHeaders(input),
159
+ actor: buildActor(input),
160
+ useGateway: true,
161
+ });
162
+ }
163
+ /** Read entries from a journal head. */
164
+ async entries(input) {
165
+ return this.client.request({
166
+ endpoint: '/svc/stash/entries',
167
+ body: omitActorHeaders(input),
168
+ actor: buildActor(input),
169
+ useGateway: true,
170
+ });
171
+ }
172
+ /** Head metadata for a journal head. */
173
+ async journalHead(input) {
174
+ return this.client.request({
175
+ endpoint: '/svc/stash/journal-head',
176
+ body: omitActorHeaders(input),
177
+ actor: buildActor(input),
178
+ useGateway: true,
179
+ });
180
+ }
117
181
  /** Compare two versions of a b2-versioned-bytes item. */
118
182
  async compare(input) {
119
183
  return this.client.request({
@@ -145,7 +209,7 @@ export class StashNamespace {
145
209
  async watch(input) {
146
210
  return this.client.request({
147
211
  endpoint: '/svc/stash/watch',
148
- body: omitActorHeaders(input),
212
+ body: normalizeStashWatchInput(input),
149
213
  actor: buildActor(input),
150
214
  useGateway: true,
151
215
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/namespaces/stash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/namespaces/stash.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,19 @@ This document describes how `dominus-sdk-nodejs` is structured and how requests
29
29
  - `console-capture.ts`: optional console forwarding to logs
30
30
  - `page-rules.ts`, `user-session.ts`: local portal/session acceleration
31
31
 
32
+ ## 2a. Storage layer positioning
33
+
34
+ `dominus.stash.*` is the **primary storage surface**. Applications store named-kind data through Stash and the kind registry routes each kind to the right backend; callers address data by what it *is* (`kind` + `scope` + `key`), not by which primitive holds it. The primitive namespaces (`redis`, `db`, `files`) and the addressed `artifacts` helpers remain as building blocks — they are not deprecated and are never removed — but they are rarely targeted directly for application data.
35
+
36
+ This is the **Two-Layer Storage Rule**: applications store named-kind data via Stash; primitives are used directly only for ephemera (locks, queues, cache) or when building a kernel backend.
37
+
38
+ | Your data | Use | Why |
39
+ |---|---|---|
40
+ | Named, durable data of a registered kind (artifacts, conversations, configs, recipes, secrets) | `dominus.stash.*` | Primary surface; the kind registry routes to the right backend and policy. |
41
+ | A direct `ar://`-addressed artifact workflow (you already hold a canonical ref) | `dominus.artifacts.*` | Escape hatch for explicit Artifact V2 addressing; prefer a Stash `artifact-v2`-backed kind for new code. |
42
+ | Locks, queues, rate counters, short-lived cache — ephemera | `dominus.redis.*` | Building block for ephemeral state; named data belongs in Stash. |
43
+ | Building a new kernel backend or a documented migration fallback | primitives (`redis`, `db`, `files`) | The lowest layer; not the place for ordinary application data. |
44
+
32
45
  ## 3. Request Lifecycle
33
46
 
34
47
  1. Caller invokes namespace method.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dominus-sdk-nodejs",
3
- "version": "6.4.0",
3
+ "version": "6.5.0",
4
4
  "description": "Node.js SDK for the Dominus gateway-first platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "dev": "tsc --watch",
21
21
  "clean": "rm -rf dist",
22
22
  "prepublishOnly": "npm run build",
23
- "test": "npm run build && npm run test:types && node --test tests/auth.test.js tests/health.test.js tests/browser.test.js tests/recipes.test.js tests/platform-coder.test.js tests/publisher.test.js tests/workflow-lifecycle.test.js tests/logs.test.js tests/public-exports.test.js tests/authority-contract.test.js tests/error-contract.test.js tests/admin.test.js tests/control-plane.test.js tests/schema-builder-contract.test.js tests/files-contract.test.js",
23
+ "test": "npm run build && npm run test:types && node --test tests/auth.test.js tests/health.test.js tests/browser.test.js tests/recipes.test.js tests/recipes-stash-routing.test.js tests/platform-coder.test.js tests/publisher.test.js tests/workflow-lifecycle.test.js tests/logs.test.js tests/public-exports.test.js tests/authority-contract.test.js tests/error-contract.test.js tests/admin.test.js tests/control-plane.test.js tests/schema-builder-contract.test.js tests/files-contract.test.js tests/storage-wire-contract.test.js tests/conversation-format.test.js",
24
24
  "test:types": "tsc -p tsconfig.type-tests.json",
25
25
  "lint": "tsc --noEmit"
26
26
  },