dataspace-client-sdk-node 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/SDK_PARITY_MAP.md DELETED
@@ -1,120 +0,0 @@
1
- # SDK Parity Map (Node vs Python)
2
-
3
- Estado: guía de referencia para alinear `dataspace-client-sdk-node` con `connector-sdk-py`.
4
-
5
- Convención:
6
- - Node SDK: `dataspace-client-sdk-node`
7
- - Python SDK: `connector-sdk-py`
8
- - Wallet interno temporal en Node: `src/sdk/dataspace-wallet-sdk-node/`
9
-
10
- ## 0) Repos fuente del ecosistema (contexto obligatorio)
11
-
12
- | Repo | Rol |
13
- |---|---|
14
- | `dataspace-client-sdk-node` | SDK backend Node (este repo) |
15
- | `connector-sdk-py` | referencia de paridad backend Python |
16
- | `gdc-sdk-client-ts` | SDK/frontend wallet UX-side |
17
- | `gwtemplate-node-ts` | base backend GW + `gdc-backend-utils-node` |
18
- | `gdc-unid-node-ts` | fork operativo de GW para UNID |
19
- | `uhc-unid-chat-node` | consumidor de alto nivel (voice/chat orchestration) |
20
-
21
- ## 1) Perímetro de paridad
22
-
23
- La paridad se mide por capacidades, no por nombres internos exactos:
24
-
25
- 1. Auth backend (PKCE + exchange / SMART backend)
26
- 2. Submit + poll de operaciones de dominio
27
- 3. Lifecycle de API keys
28
- 4. Wallet/KMS cliente (firma, verificación, cifrado, descifrado)
29
-
30
- ## 2) Identity Routes (canónicas)
31
-
32
- Patrón objetivo para rutas de identidad:
33
-
34
- `/{prefix}/cds-{jurisdiction}/v1/{sector}/{tenantId}/identity/auth/{action}`
35
-
36
- Donde `prefix` depende del servicio:
37
- - `host` (GW)
38
- - `publisher` (DataConv)
39
- - `ica` (ICA)
40
-
41
- Nota de compatibilidad:
42
- - Consumidores que usan métodos de alto nivel (`authenticateBackendPkceAndExchange`) no deberían depender de este detalle.
43
- - Consumidores que montaban rutas manuales sí deben migrar.
44
-
45
- ## 3) Paridad de Auth
46
-
47
- | Capability | Node SDK | Python SDK | Estado objetivo |
48
- |---|---|---|---|
49
- | Identity DCR submit/poll | path builder + submit/poll | operación equivalente | ✅ |
50
- | Identity code submit/poll | path builder + submit/poll | operación equivalente | ✅ |
51
- | Identity token submit/poll | path builder + submit/poll | operación equivalente | ✅ |
52
- | Identity exchange submit/poll | path builder + submit/poll | operación equivalente | ✅ |
53
- | PKCE orchestration | `authenticateBackendPkceAndExchange(...)` | `authenticate_backend_pkce_and_exchange(...)` | ✅ |
54
- | SMART backend orchestration | método Node equivalente (pendiente según contrato) | `authenticate_backend_smart_standard(...)` | ⏳ |
55
-
56
- ## 4) Paridad de Wallet/KMS cliente
57
-
58
- Arquitectura temporal Node:
59
- - módulo interno `src/sdk/dataspace-wallet-sdk-node/`
60
- - evolución futura: extraer a paquete/repo independiente
61
-
62
- Baseline funcional backend/KMS que debe respetarse:
63
- - en GW (`gdc-unid-node-ts`/`gwtemplate-node-ts`) existen servicios KMS runtime (`KmsService`, `DemoKmsService`) y utilidades KEK en backend utils,
64
- - el SDK cliente no replica managers de GW,
65
- - pero sí debe exponer wallet/KMS reutilizable para servicios backend cliente.
66
-
67
- | Capability | Node target (`dataspace-wallet-sdk-node` interno) | Python target | Estado |
68
- |---|---|---|---|
69
- | Key material provider abstraction | `WalletProvider` | provider equivalente | ⏳ |
70
- | In-memory provider | `memory-provider` | provider equivalente | ⏳ |
71
- | Deterministic seed provider (demo/dev) | `seed-provider` | provider equivalente | ⏳ |
72
- | Public JWK export | `getPublicJwks(...)` | equivalente | ⏳ |
73
- | Sign/verify | `sign(...)`, `verify(...)` | equivalente | ⏳ |
74
- | Encrypt/decrypt | `encrypt(...)`, `decrypt(...)` | equivalente | ⏳ |
75
- | Single-tenant facade | `WalletClient` | equivalente | ⏳ |
76
- | Multi-tenant facade | `MultiWalletClient` | equivalente | ⏳ |
77
-
78
- ## 5) Paridad de dominios (baseline)
79
-
80
- | Domain capability | Node SDK | Python SDK | Estado |
81
- |---|---|---|---|
82
- | Family/Organization onboarding | métodos batch + poll | equivalente | ✅/⏳ según endpoint |
83
- | RelatedPerson | métodos batch + poll | equivalente | ✅ |
84
- | Observation | métodos batch + poll | equivalente | ✅ |
85
- | Communication | métodos batch + poll | equivalente | ✅ |
86
- | Composition | métodos batch + poll | equivalente | ✅ |
87
- | Task | métodos batch + poll | equivalente | ✅ |
88
- | Conversion upload | upload + poll | equivalente | ✅ |
89
-
90
- ## 6) Surface nuevo (onboarding/licensing/payment)
91
-
92
- | Capability | Node SDK | Python SDK | Contract endpoint | Estado |
93
- |---|---|---|---|---|
94
- | Family Organization search | pendiente | pendiente | `individual/org.schema/Organization/_search` (+ `_batch-response`) | ⏳ |
95
- | Family Organization create/resume | pendiente | pendiente | `individual/org.schema/Organization/_batch` (+ `_batch-response`) | ⏳ |
96
- | Family Order create | pendiente | pendiente | `individual/org.schema/Order/_batch` (+ `_batch-response`) | ⏳ |
97
- | Host registry order (host flow) | pendiente | pendiente | `host/.../registry/org.schema/Order/_batch` (+ `_batch-response`) | ⏳ |
98
- | Offer consumption for family flow | pendiente | pendiente | offer returned by Organization `_batch-response` | ⏳ |
99
- | Stripe intent | pendiente | pendiente | `payment/stripe/_intent` | ⏳ |
100
- | Stripe status | pendiente | pendiente | `payment/stripe/_status` | ⏳ |
101
- | API key create | pendiente | disponible en Python | `identity/api-key/_create` | ⏳ |
102
- | API key disable | pendiente | disponible en Python | `identity/api-key/_disable` | ⏳ |
103
- | API key search | pendiente | disponible en Python | `identity/api-key/_search` | ⏳ |
104
-
105
- ## 7) Reglas de cambio
106
-
107
- Cada PR que cambie superficie pública en Node o Python debe incluir:
108
-
109
- 1. actualización de esta tabla,
110
- 2. tests de paridad/compatibilidad,
111
- 3. nota de migración si hay breaking changes.
112
-
113
- ## 8) Check de salida para release
114
-
115
- Antes de publicar nueva versión Node:
116
-
117
- 1. `README` actualizado con auth + wallet.
118
- 2. ejemplos funcionales en `examples/`.
119
- 3. tests de paridad en verde.
120
- 4. changelog con sección de migración (si aplica).