@verana-labs/vs-agent-sdk 1.11.0-dev.13 → 1.11.0-dev.14

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/README.md ADDED
@@ -0,0 +1,172 @@
1
+ # @verana-labs/vs-agent-sdk
2
+
3
+ Framework-agnostic Verifiable Service Agent SDK with DIDComm, AnonCreds, and blockchain integration.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @verana-labs/vs-agent-sdk @credo-ts/core @credo-ts/node
9
+ ```
10
+
11
+ ## Basic Usage
12
+
13
+ ```typescript
14
+ import { createVsAgent, setupBaseDidComm } from '@verana-labs/vs-agent-sdk'
15
+ import { getNodeHttpServer } from '@credo-ts/node'
16
+
17
+ const agent = createVsAgent({
18
+ plugins: [
19
+ setupBaseDidComm({
20
+ walletConfig: { dbPath: './wallet' },
21
+ publicApiBaseUrl: 'https://api.example.com',
22
+ endpoints: ['https://agent.example.com/didcomm'],
23
+ }),
24
+ ],
25
+ label: 'My Agent',
26
+ publicApiBaseUrl: 'https://api.example.com',
27
+ dependencies: getNodeHttpServer(),
28
+ })
29
+
30
+ await agent.initialize()
31
+ ```
32
+
33
+ ## Indexer WebSocket
34
+
35
+ Stream blockchain events in real-time:
36
+
37
+ ```typescript
38
+ import { IndexerWebSocketService } from '@verana-labs/vs-agent-sdk'
39
+
40
+ const indexerWs = new IndexerWebSocketService({
41
+ indexerUrl: 'https://indexer.verana.io',
42
+ agent,
43
+ })
44
+
45
+ await indexerWs.start()
46
+ // Auto-reconnects with exponential backoff (max 5min)
47
+ // Persists last block height in agent storage
48
+ ```
49
+
50
+ ### Custom Handlers
51
+
52
+ Build default handlers or replace with your own:
53
+
54
+ ```typescript
55
+ import { buildDefaultIndexerHandlerRegistry } from '@verana-labs/vs-agent-sdk'
56
+
57
+ const handlerRegistry = buildDefaultIndexerHandlerRegistry()
58
+
59
+ const indexerWs = new IndexerWebSocketService({
60
+ indexerUrl: 'https://indexer.example.com',
61
+ agent,
62
+ handlerRegistry,
63
+ })
64
+ ```
65
+
66
+ **Override a specific handler:**
67
+
68
+ ```typescript
69
+ import { buildDefaultIndexerHandlerRegistry } from '@verana-labs/vs-agent-sdk'
70
+ import type { IndexerActivity, IndexerDispatchContext } from '@verana-labs/vs-agent-sdk'
71
+
72
+ const registry = buildDefaultIndexerHandlerRegistry()
73
+
74
+ // Replace credential schema handler with custom logic
75
+ registry.register('CredentialSchema', async (activity: IndexerActivity, context: IndexerDispatchContext) => {
76
+ const { id, jsonSchema } = activity.changes as any
77
+ console.log(`Schema ${id} updated at block ${context.blockHeight}`)
78
+
79
+ // Sync to your database
80
+ await db.schemas.update(id, { schema: jsonSchema })
81
+ })
82
+
83
+ const indexerWs = new IndexerWebSocketService({
84
+ indexerUrl: 'https://indexer.example.com',
85
+ agent,
86
+ handlerRegistry: registry,
87
+ })
88
+ ```
89
+
90
+ **Custom handlers from scratch:**
91
+
92
+ ```typescript
93
+ import { IndexerHandlerRegistry } from '@verana-labs/vs-agent-sdk'
94
+ import type { IndexerActivity, IndexerDispatchContext } from '@verana-labs/vs-agent-sdk'
95
+
96
+ const registry = new IndexerHandlerRegistry()
97
+
98
+ // Handle trust registry changes
99
+ registry.register('TrustRegistry', async (activity, context) => {
100
+ const { id, did, archived } = activity.changes as any
101
+ await agent.config.logger.info(`[Block ${context.blockHeight}] TR ${id} ${archived ? 'archived' : 'activated'}`)
102
+ })
103
+
104
+ // Handle permission changes with custom messages
105
+ registry.register('Permission', async (activity, context) => {
106
+ const { id, did, revoked } = activity.changes as any
107
+ const status = revoked ? 'revoked' : 'granted'
108
+
109
+ await agent.config.logger.info(`[Block ${context.blockHeight}] Permission ${status}: ${id}`)
110
+
111
+ // Emit to your service
112
+ await sendWebhookEvent('https://your-service.com/perms', {
113
+ type: 'permission_status_changed',
114
+ permissionId: id,
115
+ did,
116
+ status,
117
+ blockHeight: context.blockHeight,
118
+ timestamp: new Date().toISOString(),
119
+ })
120
+ })
121
+
122
+ const indexerWs = new IndexerWebSocketService({
123
+ indexerUrl: 'https://indexer.example.com',
124
+ agent,
125
+ handlerRegistry: registry,
126
+ })
127
+ ```
128
+
129
+ ## Blockchain Integration
130
+
131
+ ```typescript
132
+ import { VeranaChainService } from '@verana-labs/vs-agent-sdk'
133
+
134
+ const chain = new VeranaChainService({
135
+ rpcUrl: 'https://rpc.verana.io',
136
+ chainId: 'verana-mainnet-1',
137
+ mnemonic: 'your wallet seed phrase...',
138
+ logger: agent.config.logger,
139
+ })
140
+
141
+ const agent = createVsAgent({
142
+ plugins: [...],
143
+ veranaChain: chain,
144
+ label: 'My Agent',
145
+ publicApiBaseUrl: 'https://api.example.com',
146
+ dependencies: getNodeHttpServer(),
147
+ })
148
+ ```
149
+
150
+ ## Utilities
151
+
152
+ ```typescript
153
+ // DIDs
154
+ import { createInvitation, getWebDid } from '@verana-labs/vs-agent-sdk'
155
+
156
+ const did = await getWebDid(agent)
157
+ const invitation = await createInvitation(agent)
158
+
159
+ // Webhooks
160
+ import { sendWebhookEvent } from '@verana-labs/vs-agent-sdk'
161
+
162
+ await sendWebhookEvent('https://example.com/webhook', {
163
+ type: 'event_type',
164
+ data: { /* ... */ },
165
+ })
166
+
167
+ // Transports
168
+ import {
169
+ HttpInboundTransport,
170
+ VsAgentWsInboundTransport,
171
+ } from '@verana-labs/vs-agent-sdk'
172
+ ```
@@ -1,7 +1,9 @@
1
1
  import { VsAgent } from '../agent/VsAgent';
2
+ import { IndexerHandlerRegistry } from './handlers/IndexerHandlerRegistry';
2
3
  export interface IndexerWebSocketServiceOptions {
3
4
  indexerUrl: string;
4
5
  agent: VsAgent;
6
+ handlerRegistry?: IndexerHandlerRegistry;
5
7
  }
6
8
  export declare class IndexerWebSocketService {
7
9
  private readonly options;
@@ -11,6 +13,7 @@ export declare class IndexerWebSocketService {
11
13
  private syncing;
12
14
  private pendingEvents;
13
15
  private readonly indexer;
16
+ private readonly handlerRegistry;
14
17
  constructor(options: IndexerWebSocketServiceOptions);
15
18
  start(): Promise<void>;
16
19
  stop(): void;
@@ -7,10 +7,12 @@ exports.IndexerWebSocketService = void 0;
7
7
  const ws_1 = __importDefault(require("ws"));
8
8
  const VeranaHelpers_1 = require("./VeranaHelpers");
9
9
  const VeranaIndexerService_1 = require("./VeranaIndexerService");
10
+ const handlers_1 = require("./handlers");
10
11
  const MAX_RECONNECT_DELAY_MS = 300000;
11
12
  const WS_PATHNAME = 'verana/indexer/v1/events';
12
13
  class IndexerWebSocketService {
13
14
  constructor(options) {
15
+ var _a;
14
16
  this.options = options;
15
17
  this.ws = null;
16
18
  this.reconnectAttempt = 0;
@@ -21,6 +23,7 @@ class IndexerWebSocketService {
21
23
  baseUrl: options.indexerUrl,
22
24
  logger: options.agent.config.logger,
23
25
  });
26
+ this.handlerRegistry = (_a = options.handlerRegistry) !== null && _a !== void 0 ? _a : (0, handlers_1.buildDefaultIndexerHandlerRegistry)();
24
27
  }
25
28
  async start() {
26
29
  this.stopped = false;
@@ -139,8 +142,20 @@ class IndexerWebSocketService {
139
142
  const mine = activity.filter(a => a.account === operatorAddress || did === this.options.agent.did);
140
143
  if (mine.length === 0)
141
144
  return;
142
- for (const a of mine)
143
- (0, VeranaHelpers_1.applyActivity)(state, a);
145
+ for (const a of mine) {
146
+ try {
147
+ await this.handlerRegistry.dispatch(a, {
148
+ agent: this.options.agent,
149
+ blockHeight,
150
+ operatorAddress,
151
+ state,
152
+ });
153
+ }
154
+ catch (err) {
155
+ this.logger.error(`[IndexerWS] Handler ${a.msg} failed at block ${blockHeight}: ${err.message}`);
156
+ }
157
+ }
158
+ state.lastBlockHeight = Math.max(state.lastBlockHeight, blockHeight);
144
159
  await (0, VeranaHelpers_1.saveSyncState)(this.options.agent, state);
145
160
  this.logger.debug(`[IndexerWS] Block ${blockHeight}: applied ${mine.length} activity item(s)`);
146
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerWebSocketService.js","sourceRoot":"","sources":["../../src/blockchain/IndexerWebSocketService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexerWebSocketService.js","sourceRoot":"","sources":["../../src/blockchain/IndexerWebSocketService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { VsAgent } from '../agent/VsAgent';
2
- import { IndexerActivity, VeranaSyncState } from './types';
3
- export declare function applyActivity(state: VeranaSyncState, activity: IndexerActivity): void;
2
+ import { VeranaSyncState } from './types';
4
3
  export declare function loadSyncState(agent: VsAgent): Promise<VeranaSyncState>;
5
4
  export declare function saveSyncState(agent: VsAgent, state: VeranaSyncState): Promise<void>;
@@ -1,81 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyActivity = applyActivity;
4
3
  exports.loadSyncState = loadSyncState;
5
4
  exports.saveSyncState = saveSyncState;
6
5
  const types_1 = require("./types");
7
- function applyActivity(state, activity) {
8
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
9
- const block = Number(activity.block_height) || 0;
10
- const id = String(activity.entity_id);
11
- const c = activity.changes;
12
- switch (activity.entity_type) {
13
- case 'TrustRegistry': {
14
- state.trustRegistries[id] = {
15
- id: Number(id),
16
- did: String(c['did']),
17
- controller: String(c['controller']),
18
- archived: Boolean(c['archived']),
19
- lastModifiedBlock: block,
20
- };
21
- break;
22
- }
23
- case 'CredentialSchema': {
24
- const existing = state.credentialSchemas[id];
25
- state.credentialSchemas[id] = {
26
- id: Number(id),
27
- trId: Number(c['tr_id']),
28
- jsonSchema: String((_b = (_a = c['json_schema']) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.jsonSchema) !== null && _b !== void 0 ? _b : ''),
29
- issuerMode: c['issuer_perm_management_mode']
30
- ? String(c['issuer_perm_management_mode'])
31
- : existing === null || existing === void 0 ? void 0 : existing.issuerMode,
32
- verifierMode: c['verifier_perm_management_mode']
33
- ? String(c['verifier_perm_management_mode'])
34
- : existing === null || existing === void 0 ? void 0 : existing.verifierMode,
35
- archived: activity.msg === 'ArchiveCredentialSchema'
36
- ? !((_c = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _c !== void 0 ? _c : false)
37
- : ((_d = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _d !== void 0 ? _d : false),
38
- lastModifiedBlock: block,
39
- };
40
- break;
41
- }
42
- case 'Permission': {
43
- const existing = state.permissions[id];
44
- const isRevoked = activity.msg === 'RevokePermission' ? true : ((_e = existing === null || existing === void 0 ? void 0 : existing.revoked) !== null && _e !== void 0 ? _e : false);
45
- const isSlashed = activity.msg === 'SlashPermissionTrustDeposit' ? true : ((_f = existing === null || existing === void 0 ? void 0 : existing.slashed) !== null && _f !== void 0 ? _f : false);
46
- state.permissions[id] = {
47
- id: Number(id),
48
- schemaId: Number(c['schema_id']),
49
- did: String((_g = c['did']) !== null && _g !== void 0 ? _g : ''),
50
- type: Number(c['type']),
51
- vpState: (() => {
52
- var _a, _b;
53
- switch (activity.msg) {
54
- case 'SetPermissionVPToValidated':
55
- return 'VALIDATED';
56
- case 'StartPermissionVP':
57
- case 'RenewPermissionVP':
58
- return 'IN_PROGRESS';
59
- case 'CancelPermissionVPLastRequest':
60
- return 'CANCELLED';
61
- default:
62
- return String((_b = (_a = c['vp_state']) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.vpState) !== null && _b !== void 0 ? _b : '');
63
- }
64
- })(),
65
- effectiveUntil: activity.msg === 'AdjustPermission'
66
- ? String((_h = c['effective_until']) !== null && _h !== void 0 ? _h : '')
67
- : ((_j = existing === null || existing === void 0 ? void 0 : existing.effectiveUntil) !== null && _j !== void 0 ? _j : ''),
68
- revoked: isRevoked,
69
- slashed: isSlashed,
70
- lastModifiedBlock: block,
71
- };
72
- break;
73
- }
74
- default:
75
- break;
76
- }
77
- state.lastBlockHeight = Math.max(state.lastBlockHeight, block);
78
- }
79
6
  const emptyState = () => ({
80
7
  lastBlockHeight: 0,
81
8
  trustRegistries: {},
@@ -1 +1 @@
1
- {"version":3,"file":"VeranaHelpers.js","sourceRoot":"","sources":["../../src/blockchain/VeranaHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VeranaHelpers.js","sourceRoot":"","sources":["../../src/blockchain/VeranaHelpers.ts"],"names":[],"mappings":";;AAaA,sCAIC;AAED,sCAQC;AAvBD,mCAAoD;AAEpD,MAAM,UAAU,GAAG,GAAoB,EAAE,CAAC,CAAC;IACzC,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE;CAChB,CAAC,CAAA;AAEK,KAAK,UAAU,aAAa,CAAC,KAAc;;IAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,EAAE,CAAA;IAChC,OAAO,MAAC,MAAM,CAAC,OAAsC,mCAAI,UAAU,EAAE,CAAA;AACvE,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAc,EAAE,KAAsB;IACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,GAAG,KAA8B,CAAA;QACjD,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAS,EAAE,OAAO,EAAE,KAA8B,EAAE,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { VsAgent } from '../../agent';
2
+ import { IndexerActivity, VeranaSyncState } from '../types';
3
+ interface IndexerHandlerContext {
4
+ agent: VsAgent;
5
+ blockHeight: number;
6
+ operatorAddress: string;
7
+ state: VeranaSyncState;
8
+ }
9
+ export interface IndexerEventHandler<TMsg extends string = string> {
10
+ readonly msg: TMsg;
11
+ handle(activity: IndexerActivity, ctx: IndexerHandlerContext): Promise<void>;
12
+ }
13
+ /**
14
+ * Registry for handlers of indexer events. Handlers can be registered/unregistered at runtime
15
+ * and are looked up by the `msg` field of indexer activities.
16
+ */
17
+ export declare class IndexerHandlerRegistry {
18
+ private handlers;
19
+ register(handler: IndexerEventHandler): void;
20
+ unregister(msg: string): void;
21
+ get(msg: string): IndexerEventHandler | undefined;
22
+ has(msg: string): boolean;
23
+ dispatch(activity: IndexerActivity, ctx: IndexerHandlerContext): Promise<void>;
24
+ }
25
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexerHandlerRegistry = void 0;
4
+ /**
5
+ * Registry for handlers of indexer events. Handlers can be registered/unregistered at runtime
6
+ * and are looked up by the `msg` field of indexer activities.
7
+ */
8
+ class IndexerHandlerRegistry {
9
+ constructor() {
10
+ this.handlers = new Map();
11
+ }
12
+ register(handler) {
13
+ this.handlers.set(handler.msg, handler);
14
+ }
15
+ unregister(msg) {
16
+ this.handlers.delete(msg);
17
+ }
18
+ get(msg) {
19
+ return this.handlers.get(msg);
20
+ }
21
+ has(msg) {
22
+ return this.handlers.has(msg);
23
+ }
24
+ async dispatch(activity, ctx) {
25
+ const h = this.handlers.get(activity.msg);
26
+ if (!h) {
27
+ ctx.agent.config.logger.debug(`[IndexerWS] No handler for msg=${activity.msg}`);
28
+ return;
29
+ }
30
+ await h.handle(activity, ctx);
31
+ }
32
+ }
33
+ exports.IndexerHandlerRegistry = IndexerHandlerRegistry;
34
+ //# sourceMappingURL=IndexerHandlerRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexerHandlerRegistry.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/IndexerHandlerRegistry.ts"],"names":[],"mappings":";;;AAeA;;;GAGG;AACH,MAAa,sBAAsB;IAAnC;QACU,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IA0B3D,CAAC;IAxBC,QAAQ,CAAC,OAA4B;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAyB,EAAE,GAA0B;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;YAC/E,OAAM;QACR,CAAC;QACD,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;CACF;AA3BD,wDA2BC"}
@@ -0,0 +1,6 @@
1
+ import { IndexerEventHandler, IndexerHandlerRegistry } from './IndexerHandlerRegistry';
2
+ /**
3
+ * Default handlers for indexer events emitted by the Verana blockchain.
4
+ */
5
+ export declare const defaultHandlers: IndexerEventHandler[];
6
+ export declare function buildDefaultIndexerHandlerRegistry(): IndexerHandlerRegistry;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultHandlers = void 0;
4
+ exports.buildDefaultIndexerHandlerRegistry = buildDefaultIndexerHandlerRegistry;
5
+ const IndexerHandlerRegistry_1 = require("./IndexerHandlerRegistry");
6
+ const stateMutations_1 = require("./stateMutations");
7
+ /**
8
+ * Default handlers for indexer events emitted by the Verana blockchain.
9
+ */
10
+ exports.defaultHandlers = [
11
+ {
12
+ msg: 'CreateNewTrustRegistry',
13
+ handle: async (activity, ctx) => {
14
+ (0, stateMutations_1.upsertTrustRegistry)(ctx.state, activity);
15
+ ctx.agent.config.logger.info(`[IndexerWS] CreateNewTrustRegistry entity=${activity.entity_id} block=${ctx.blockHeight}`);
16
+ },
17
+ },
18
+ {
19
+ msg: 'UpdateTrustRegistry',
20
+ handle: async (activity, ctx) => {
21
+ (0, stateMutations_1.upsertTrustRegistry)(ctx.state, activity);
22
+ ctx.agent.config.logger.info(`[IndexerWS] UpdateTrustRegistry entity=${activity.entity_id} block=${ctx.blockHeight}`);
23
+ },
24
+ },
25
+ {
26
+ msg: 'AddGovernanceFrameworkDocument',
27
+ handle: async (activity, ctx) => {
28
+ (0, stateMutations_1.upsertTrustRegistry)(ctx.state, activity);
29
+ ctx.agent.config.logger.info(`[IndexerWS] AddGovernanceFrameworkDocument entity=${activity.entity_id} block=${ctx.blockHeight}`);
30
+ },
31
+ },
32
+ {
33
+ msg: 'IncreaseActiveGFVersion',
34
+ handle: async (activity, ctx) => {
35
+ (0, stateMutations_1.bumpActiveGfVersion)(ctx.state, activity);
36
+ ctx.agent.config.logger.info(`[IndexerWS] IncreaseActiveGFVersion entity=${activity.entity_id} block=${ctx.blockHeight}`);
37
+ },
38
+ },
39
+ {
40
+ msg: 'CreateNewCredentialSchema',
41
+ handle: async (activity, ctx) => {
42
+ (0, stateMutations_1.upsertCredentialSchema)(ctx.state, activity);
43
+ ctx.agent.config.logger.info(`[IndexerWS] CreateNewCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §6: generate VTJSC + publish Linked VP`);
44
+ },
45
+ },
46
+ {
47
+ msg: 'UpdateCredentialSchema',
48
+ handle: async (activity, ctx) => {
49
+ (0, stateMutations_1.upsertCredentialSchema)(ctx.state, activity);
50
+ ctx.agent.config.logger.info(`[IndexerWS] UpdateCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight}`);
51
+ },
52
+ },
53
+ {
54
+ msg: 'ArchiveCredentialSchema',
55
+ handle: async (activity, ctx) => {
56
+ (0, stateMutations_1.upsertCredentialSchema)(ctx.state, activity, { toggleArchived: true });
57
+ ctx.agent.config.logger.info(`[IndexerWS] ArchiveCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight}`);
58
+ },
59
+ },
60
+ {
61
+ msg: 'StartPermissionVP',
62
+ handle: async (activity, ctx) => {
63
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { vpState: 'PENDING' });
64
+ ctx.agent.config.logger.info(`[IndexerWS] StartPermissionVP entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §5.1: progress credential acquisition flow (applicant)`);
65
+ },
66
+ },
67
+ {
68
+ msg: 'RenewPermissionVP',
69
+ handle: async (activity, ctx) => {
70
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { vpState: 'PENDING' });
71
+ ctx.agent.config.logger.info(`[IndexerWS] RenewPermissionVP entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §5.1: progress credential acquisition flow (applicant renewal)`);
72
+ },
73
+ },
74
+ {
75
+ msg: 'SetPermissionVPToValidated',
76
+ handle: async (activity, ctx) => {
77
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { vpState: 'VALIDATED' });
78
+ ctx.agent.config.logger.info(`[IndexerWS] SetPermissionVPToValidated entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §5.1: progress credential acquisition flow (validator)`);
79
+ },
80
+ },
81
+ {
82
+ msg: 'AdjustPermission',
83
+ handle: async (activity, ctx) => {
84
+ var _a;
85
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, {
86
+ effectiveUntil: String((_a = activity.changes['effective_until']) !== null && _a !== void 0 ? _a : ''),
87
+ });
88
+ ctx.agent.config.logger.info(`[IndexerWS] AdjustPermission entity=${activity.entity_id} block=${ctx.blockHeight}`);
89
+ },
90
+ },
91
+ {
92
+ msg: 'RevokePermission',
93
+ handle: async (activity, ctx) => {
94
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { revoked: true });
95
+ ctx.agent.config.logger.info(`[IndexerWS] RevokePermission entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §7.2: remove linked VP from DID doc + delete credential`);
96
+ },
97
+ },
98
+ {
99
+ msg: 'SlashPermissionTrustDeposit',
100
+ handle: async (activity, ctx) => {
101
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { slashed: true });
102
+ ctx.agent.config.logger.info(`[IndexerWS] SlashPermissionTrustDeposit entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §7.2: clean up associated flow state`);
103
+ },
104
+ },
105
+ {
106
+ msg: 'RepayPermissionSlashedTrustDeposit',
107
+ handle: async (activity, ctx) => {
108
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, { slashed: false });
109
+ ctx.agent.config.logger.info(`[IndexerWS] RepayPermissionSlashedTrustDeposit entity=${activity.entity_id} block=${ctx.blockHeight}`);
110
+ },
111
+ },
112
+ {
113
+ msg: 'CancelPermissionVPLastRequest',
114
+ handle: async (activity, ctx) => {
115
+ (0, stateMutations_1.upsertPermission)(ctx.state, activity, {});
116
+ ctx.agent.config.logger.info(`[IndexerWS] CancelPermissionVPLastRequest entity=${activity.entity_id} block=${ctx.blockHeight} — TODO §7.2: clean up associated flow state`);
117
+ },
118
+ },
119
+ ];
120
+ function buildDefaultIndexerHandlerRegistry() {
121
+ const r = new IndexerHandlerRegistry_1.IndexerHandlerRegistry();
122
+ exports.defaultHandlers.forEach(h => r.register(h));
123
+ return r;
124
+ }
125
+ //# sourceMappingURL=defaultHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/defaultHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './defaultHandlers';
2
+ export * from './IndexerHandlerRegistry';
3
+ export * from './stateMutations';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./defaultHandlers"), exports);
18
+ __exportStar(require("./IndexerHandlerRegistry"), exports);
19
+ __exportStar(require("./stateMutations"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,2DAAwC;AACxC,mDAAgC"}
@@ -0,0 +1,12 @@
1
+ import { IndexerActivity, VeranaSyncState } from '../types';
2
+ export declare function upsertTrustRegistry(state: VeranaSyncState, activity: IndexerActivity): void;
3
+ export declare function bumpActiveGfVersion(state: VeranaSyncState, activity: IndexerActivity): void;
4
+ export declare function upsertCredentialSchema(state: VeranaSyncState, activity: IndexerActivity, opts?: {
5
+ toggleArchived?: boolean;
6
+ }): void;
7
+ export declare function upsertPermission(state: VeranaSyncState, activity: IndexerActivity, overrides?: {
8
+ vpState?: string;
9
+ revoked?: boolean;
10
+ slashed?: boolean;
11
+ effectiveUntil?: string;
12
+ }): void;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upsertTrustRegistry = upsertTrustRegistry;
4
+ exports.bumpActiveGfVersion = bumpActiveGfVersion;
5
+ exports.upsertCredentialSchema = upsertCredentialSchema;
6
+ exports.upsertPermission = upsertPermission;
7
+ function upsertTrustRegistry(state, activity) {
8
+ var _a, _b, _c, _d, _e, _f;
9
+ const block = Number(activity.block_height) || 0;
10
+ const id = String(activity.entity_id);
11
+ const c = activity.changes;
12
+ const existing = state.trustRegistries[id];
13
+ state.trustRegistries[id] = {
14
+ id: Number(id),
15
+ did: String((_b = (_a = c['did']) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.did) !== null && _b !== void 0 ? _b : ''),
16
+ controller: String((_d = (_c = c['controller']) !== null && _c !== void 0 ? _c : existing === null || existing === void 0 ? void 0 : existing.controller) !== null && _d !== void 0 ? _d : ''),
17
+ archived: Boolean((_f = (_e = c['archived']) !== null && _e !== void 0 ? _e : existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _f !== void 0 ? _f : false),
18
+ activeGfVersion: existing === null || existing === void 0 ? void 0 : existing.activeGfVersion,
19
+ lastModifiedBlock: block,
20
+ };
21
+ }
22
+ function bumpActiveGfVersion(state, activity) {
23
+ var _a, _b, _c, _d;
24
+ const block = Number(activity.block_height) || 0;
25
+ const id = String(activity.entity_id);
26
+ const existing = state.trustRegistries[id];
27
+ state.trustRegistries[id] = {
28
+ id: Number(id),
29
+ did: String((_a = existing === null || existing === void 0 ? void 0 : existing.did) !== null && _a !== void 0 ? _a : ''),
30
+ controller: String((_b = existing === null || existing === void 0 ? void 0 : existing.controller) !== null && _b !== void 0 ? _b : ''),
31
+ archived: (_c = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _c !== void 0 ? _c : false,
32
+ activeGfVersion: ((_d = existing === null || existing === void 0 ? void 0 : existing.activeGfVersion) !== null && _d !== void 0 ? _d : 0) + 1,
33
+ lastModifiedBlock: block,
34
+ };
35
+ }
36
+ function upsertCredentialSchema(state, activity, opts = {}) {
37
+ var _a, _b, _c, _d, _e, _f;
38
+ const block = Number(activity.block_height) || 0;
39
+ const id = String(activity.entity_id);
40
+ const c = activity.changes;
41
+ const existing = state.credentialSchemas[id];
42
+ state.credentialSchemas[id] = {
43
+ id: Number(id),
44
+ trId: Number((_b = (_a = c['tr_id']) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.trId) !== null && _b !== void 0 ? _b : 0),
45
+ jsonSchema: String((_d = (_c = c['json_schema']) !== null && _c !== void 0 ? _c : existing === null || existing === void 0 ? void 0 : existing.jsonSchema) !== null && _d !== void 0 ? _d : ''),
46
+ issuerMode: c['issuer_perm_management_mode']
47
+ ? String(c['issuer_perm_management_mode'])
48
+ : existing === null || existing === void 0 ? void 0 : existing.issuerMode,
49
+ verifierMode: c['verifier_perm_management_mode']
50
+ ? String(c['verifier_perm_management_mode'])
51
+ : existing === null || existing === void 0 ? void 0 : existing.verifierMode,
52
+ archived: opts.toggleArchived ? !((_e = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _e !== void 0 ? _e : false) : ((_f = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _f !== void 0 ? _f : false),
53
+ lastModifiedBlock: block,
54
+ };
55
+ }
56
+ function upsertPermission(state, activity, overrides = {}) {
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
58
+ const block = Number(activity.block_height) || 0;
59
+ const id = String(activity.entity_id);
60
+ const c = activity.changes;
61
+ const existing = state.permissions[id];
62
+ state.permissions[id] = {
63
+ id: Number(id),
64
+ schemaId: Number((_b = (_a = c['schema_id']) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.schemaId) !== null && _b !== void 0 ? _b : 0),
65
+ did: String((_d = (_c = c['did']) !== null && _c !== void 0 ? _c : existing === null || existing === void 0 ? void 0 : existing.did) !== null && _d !== void 0 ? _d : ''),
66
+ type: Number((_f = (_e = c['type']) !== null && _e !== void 0 ? _e : existing === null || existing === void 0 ? void 0 : existing.type) !== null && _f !== void 0 ? _f : 0),
67
+ vpState: (_g = overrides.vpState) !== null && _g !== void 0 ? _g : String((_j = (_h = c['vp_state']) !== null && _h !== void 0 ? _h : existing === null || existing === void 0 ? void 0 : existing.vpState) !== null && _j !== void 0 ? _j : ''),
68
+ effectiveUntil: (_l = (_k = overrides.effectiveUntil) !== null && _k !== void 0 ? _k : existing === null || existing === void 0 ? void 0 : existing.effectiveUntil) !== null && _l !== void 0 ? _l : '',
69
+ revoked: (_o = (_m = overrides.revoked) !== null && _m !== void 0 ? _m : existing === null || existing === void 0 ? void 0 : existing.revoked) !== null && _o !== void 0 ? _o : false,
70
+ slashed: (_q = (_p = overrides.slashed) !== null && _p !== void 0 ? _p : existing === null || existing === void 0 ? void 0 : existing.slashed) !== null && _q !== void 0 ? _q : false,
71
+ lastModifiedBlock: block,
72
+ };
73
+ }
74
+ //# sourceMappingURL=stateMutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export * from './VeranaHelpers';
3
3
  export * from './VeranaChainService';
4
4
  export * from './VeranaIndexerService';
5
5
  export * from './types';
6
+ export * from './handlers';
@@ -19,4 +19,5 @@ __exportStar(require("./VeranaHelpers"), exports);
19
19
  __exportStar(require("./VeranaChainService"), exports);
20
20
  __exportStar(require("./VeranaIndexerService"), exports);
21
21
  __exportStar(require("./types"), exports);
22
+ __exportStar(require("./handlers"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "default": "./build/index.js"
10
10
  }
11
11
  },
12
- "version": "1.11.0-dev.13",
12
+ "version": "1.11.0-dev.14",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "https://github.com/verana-labs/vs-agent"
@@ -38,7 +38,7 @@
38
38
  "didwebvh-ts": "^2.5.6",
39
39
  "express": "^4.18.1",
40
40
  "tsyringe": "4.8.0",
41
- "@verana-labs/vs-agent-model": "1.11.0-dev.13"
41
+ "@verana-labs/vs-agent-model": "1.11.0-dev.14"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@credo-ts/core": "0.7.0-alpha-20260410113934",