chainlesschain 0.66.0 → 0.132.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.
Files changed (143) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +1 -1
  3. package/src/commands/a2a.js +380 -0
  4. package/src/commands/agent-network.js +254 -1
  5. package/src/commands/audit.js +302 -0
  6. package/src/commands/automation.js +271 -1
  7. package/src/commands/bi.js +348 -0
  8. package/src/commands/codegen.js +224 -0
  9. package/src/commands/collab.js +341 -0
  10. package/src/commands/compliance.js +1035 -0
  11. package/src/commands/cowork.js +221 -0
  12. package/src/commands/crosschain.js +218 -0
  13. package/src/commands/dbevo.js +284 -0
  14. package/src/commands/dev.js +252 -0
  15. package/src/commands/did.js +358 -0
  16. package/src/commands/dlp.js +341 -0
  17. package/src/commands/encrypt.js +341 -0
  18. package/src/commands/evomap.js +394 -0
  19. package/src/commands/export.js +256 -1
  20. package/src/commands/federation.js +283 -0
  21. package/src/commands/fusion.js +258 -0
  22. package/src/commands/governance.js +325 -0
  23. package/src/commands/hardening.js +411 -0
  24. package/src/commands/hook.js +148 -0
  25. package/src/commands/import.js +252 -0
  26. package/src/commands/incentive.js +322 -0
  27. package/src/commands/inference.js +318 -0
  28. package/src/commands/infra.js +244 -0
  29. package/src/commands/instinct.js +260 -0
  30. package/src/commands/ipfs.js +318 -0
  31. package/src/commands/kg.js +387 -0
  32. package/src/commands/llm.js +263 -0
  33. package/src/commands/lowcode.js +356 -0
  34. package/src/commands/marketplace.js +256 -0
  35. package/src/commands/mcp.js +221 -0
  36. package/src/commands/memory.js +248 -0
  37. package/src/commands/multimodal.js +296 -0
  38. package/src/commands/nlprog.js +356 -0
  39. package/src/commands/note.js +244 -0
  40. package/src/commands/ops.js +354 -0
  41. package/src/commands/orchestrate.js +166 -0
  42. package/src/commands/org.js +277 -0
  43. package/src/commands/p2p.js +390 -0
  44. package/src/commands/perception.js +290 -0
  45. package/src/commands/permmem.js +251 -0
  46. package/src/commands/plugin-ecosystem.js +273 -0
  47. package/src/commands/pqc.js +393 -0
  48. package/src/commands/privacy.js +321 -0
  49. package/src/commands/quantization.js +351 -0
  50. package/src/commands/rcache.js +271 -0
  51. package/src/commands/recommend.js +340 -0
  52. package/src/commands/reputation.js +261 -0
  53. package/src/commands/runtime.js +307 -0
  54. package/src/commands/scim.js +262 -0
  55. package/src/commands/session.js +258 -0
  56. package/src/commands/siem.js +246 -0
  57. package/src/commands/skill.js +267 -1
  58. package/src/commands/sla.js +259 -0
  59. package/src/commands/social.js +256 -0
  60. package/src/commands/sso.js +186 -1
  61. package/src/commands/stress.js +230 -0
  62. package/src/commands/sync.js +256 -0
  63. package/src/commands/tech.js +338 -0
  64. package/src/commands/tenant.js +351 -0
  65. package/src/commands/terraform.js +245 -0
  66. package/src/commands/tokens.js +269 -0
  67. package/src/commands/trust.js +249 -0
  68. package/src/commands/wallet.js +277 -0
  69. package/src/commands/workflow.js +171 -0
  70. package/src/commands/zkp.js +335 -0
  71. package/src/index.js +4 -0
  72. package/src/lib/a2a-protocol.js +451 -0
  73. package/src/lib/agent-coordinator.js +325 -0
  74. package/src/lib/agent-network.js +387 -0
  75. package/src/lib/agent-router.js +395 -0
  76. package/src/lib/aiops.js +478 -0
  77. package/src/lib/app-builder.js +239 -0
  78. package/src/lib/audit-logger.js +379 -0
  79. package/src/lib/automation-engine.js +330 -0
  80. package/src/lib/autonomous-developer.js +350 -0
  81. package/src/lib/bi-engine.js +338 -0
  82. package/src/lib/code-agent.js +323 -0
  83. package/src/lib/collaboration-governance.js +364 -0
  84. package/src/lib/community-governance.js +436 -0
  85. package/src/lib/compliance-manager.js +434 -0
  86. package/src/lib/content-recommendation.js +469 -0
  87. package/src/lib/cross-chain.js +345 -0
  88. package/src/lib/crypto-manager.js +350 -0
  89. package/src/lib/dbevo.js +338 -0
  90. package/src/lib/decentral-infra.js +340 -0
  91. package/src/lib/did-manager.js +367 -0
  92. package/src/lib/dlp-engine.js +389 -0
  93. package/src/lib/evomap-federation.js +177 -0
  94. package/src/lib/evomap-governance.js +276 -0
  95. package/src/lib/federation-hardening.js +259 -0
  96. package/src/lib/hardening-manager.js +348 -0
  97. package/src/lib/hook-manager.js +380 -0
  98. package/src/lib/inference-network.js +330 -0
  99. package/src/lib/instinct-manager.js +332 -0
  100. package/src/lib/ipfs-storage.js +334 -0
  101. package/src/lib/knowledge-exporter.js +381 -0
  102. package/src/lib/knowledge-graph.js +432 -0
  103. package/src/lib/knowledge-importer.js +379 -0
  104. package/src/lib/llm-providers.js +391 -0
  105. package/src/lib/mcp-registry.js +333 -0
  106. package/src/lib/memory-manager.js +330 -0
  107. package/src/lib/multimodal.js +346 -0
  108. package/src/lib/nl-programming.js +343 -0
  109. package/src/lib/note-versioning.js +327 -0
  110. package/src/lib/org-manager.js +323 -0
  111. package/src/lib/p2p-manager.js +387 -0
  112. package/src/lib/perception.js +346 -0
  113. package/src/lib/perf-tuning.js +4 -1
  114. package/src/lib/permanent-memory.js +320 -0
  115. package/src/lib/plugin-ecosystem.js +377 -0
  116. package/src/lib/pqc-manager.js +368 -0
  117. package/src/lib/privacy-computing.js +427 -0
  118. package/src/lib/protocol-fusion.js +417 -0
  119. package/src/lib/quantization.js +325 -0
  120. package/src/lib/reputation-optimizer.js +299 -0
  121. package/src/lib/response-cache.js +327 -0
  122. package/src/lib/scim-manager.js +329 -0
  123. package/src/lib/session-manager.js +329 -0
  124. package/src/lib/siem-exporter.js +333 -0
  125. package/src/lib/skill-loader.js +377 -0
  126. package/src/lib/skill-marketplace.js +325 -0
  127. package/src/lib/sla-manager.js +275 -0
  128. package/src/lib/social-manager.js +326 -0
  129. package/src/lib/sso-manager.js +332 -0
  130. package/src/lib/stress-tester.js +330 -0
  131. package/src/lib/sync-manager.js +326 -0
  132. package/src/lib/tech-learning-engine.js +369 -0
  133. package/src/lib/tenant-saas.js +460 -0
  134. package/src/lib/terraform-manager.js +363 -0
  135. package/src/lib/threat-intel.js +335 -0
  136. package/src/lib/token-incentive.js +293 -0
  137. package/src/lib/token-tracker.js +329 -0
  138. package/src/lib/trust-security.js +390 -0
  139. package/src/lib/ueba.js +389 -0
  140. package/src/lib/universal-runtime.js +325 -0
  141. package/src/lib/wallet-manager.js +326 -0
  142. package/src/lib/workflow-engine.js +322 -0
  143. package/src/lib/zkp-engine.js +274 -0
@@ -268,3 +268,370 @@ export function resolveDID(db, did) {
268
268
  if (!identity) return null;
269
269
  return JSON.parse(identity.did_document || "{}");
270
270
  }
271
+
272
+ /* ─────────────────────────────────────────────────────────────────────────
273
+ * V2 in-memory governance layer (independent of SQLite did_identities)
274
+ * ───────────────────────────────────────────────────────────────────────── */
275
+
276
+ export const IDENTITY_MATURITY_V2 = Object.freeze({
277
+ PENDING: "pending",
278
+ ACTIVE: "active",
279
+ SUSPENDED: "suspended",
280
+ REVOKED: "revoked",
281
+ });
282
+
283
+ export const ISSUANCE_LIFECYCLE_V2 = Object.freeze({
284
+ QUEUED: "queued",
285
+ ISSUING: "issuing",
286
+ ISSUED: "issued",
287
+ FAILED: "failed",
288
+ CANCELLED: "cancelled",
289
+ });
290
+
291
+ const IDENTITY_TERMINAL_V2 = new Set([IDENTITY_MATURITY_V2.REVOKED]);
292
+ const ISSUANCE_TERMINAL_V2 = new Set([
293
+ ISSUANCE_LIFECYCLE_V2.ISSUED,
294
+ ISSUANCE_LIFECYCLE_V2.FAILED,
295
+ ISSUANCE_LIFECYCLE_V2.CANCELLED,
296
+ ]);
297
+
298
+ const IDENTITY_TRANSITIONS_V2 = new Map([
299
+ [
300
+ IDENTITY_MATURITY_V2.PENDING,
301
+ new Set([IDENTITY_MATURITY_V2.ACTIVE, IDENTITY_MATURITY_V2.REVOKED]),
302
+ ],
303
+ [
304
+ IDENTITY_MATURITY_V2.ACTIVE,
305
+ new Set([IDENTITY_MATURITY_V2.SUSPENDED, IDENTITY_MATURITY_V2.REVOKED]),
306
+ ],
307
+ [
308
+ IDENTITY_MATURITY_V2.SUSPENDED,
309
+ new Set([IDENTITY_MATURITY_V2.ACTIVE, IDENTITY_MATURITY_V2.REVOKED]),
310
+ ],
311
+ ]);
312
+
313
+ const ISSUANCE_TRANSITIONS_V2 = new Map([
314
+ [
315
+ ISSUANCE_LIFECYCLE_V2.QUEUED,
316
+ new Set([ISSUANCE_LIFECYCLE_V2.ISSUING, ISSUANCE_LIFECYCLE_V2.CANCELLED]),
317
+ ],
318
+ [
319
+ ISSUANCE_LIFECYCLE_V2.ISSUING,
320
+ new Set([
321
+ ISSUANCE_LIFECYCLE_V2.ISSUED,
322
+ ISSUANCE_LIFECYCLE_V2.FAILED,
323
+ ISSUANCE_LIFECYCLE_V2.CANCELLED,
324
+ ]),
325
+ ],
326
+ ]);
327
+
328
+ export const DID_DEFAULT_MAX_ACTIVE_IDENTITIES_PER_OWNER = 8;
329
+ export const DID_DEFAULT_MAX_PENDING_ISSUANCES_PER_IDENTITY = 12;
330
+ export const DID_DEFAULT_IDENTITY_IDLE_MS = 90 * 24 * 60 * 60 * 1000;
331
+ export const DID_DEFAULT_ISSUANCE_STUCK_MS = 5 * 60 * 1000;
332
+
333
+ let _maxActiveIdentitiesPerOwnerV2 =
334
+ DID_DEFAULT_MAX_ACTIVE_IDENTITIES_PER_OWNER;
335
+ let _maxPendingIssuancesPerIdentityV2 =
336
+ DID_DEFAULT_MAX_PENDING_ISSUANCES_PER_IDENTITY;
337
+ let _identityIdleMsV2 = DID_DEFAULT_IDENTITY_IDLE_MS;
338
+ let _issuanceStuckMsV2 = DID_DEFAULT_ISSUANCE_STUCK_MS;
339
+
340
+ const _identitiesV2 = new Map();
341
+ const _issuancesV2 = new Map();
342
+
343
+ function _posIntDidV2(n, label) {
344
+ if (typeof n !== "number" || !Number.isFinite(n) || n <= 0) {
345
+ throw new Error(`${label} must be a positive number`);
346
+ }
347
+ return Math.floor(n);
348
+ }
349
+
350
+ export function getMaxActiveIdentitiesPerOwnerV2() {
351
+ return _maxActiveIdentitiesPerOwnerV2;
352
+ }
353
+ export function setMaxActiveIdentitiesPerOwnerV2(n) {
354
+ _maxActiveIdentitiesPerOwnerV2 = _posIntDidV2(
355
+ n,
356
+ "maxActiveIdentitiesPerOwner",
357
+ );
358
+ return _maxActiveIdentitiesPerOwnerV2;
359
+ }
360
+ export function getMaxPendingIssuancesPerIdentityV2() {
361
+ return _maxPendingIssuancesPerIdentityV2;
362
+ }
363
+ export function setMaxPendingIssuancesPerIdentityV2(n) {
364
+ _maxPendingIssuancesPerIdentityV2 = _posIntDidV2(
365
+ n,
366
+ "maxPendingIssuancesPerIdentity",
367
+ );
368
+ return _maxPendingIssuancesPerIdentityV2;
369
+ }
370
+ export function getIdentityIdleMsV2() {
371
+ return _identityIdleMsV2;
372
+ }
373
+ export function setIdentityIdleMsV2(ms) {
374
+ _identityIdleMsV2 = _posIntDidV2(ms, "identityIdleMs");
375
+ return _identityIdleMsV2;
376
+ }
377
+ export function getIssuanceStuckMsV2() {
378
+ return _issuanceStuckMsV2;
379
+ }
380
+ export function setIssuanceStuckMsV2(ms) {
381
+ _issuanceStuckMsV2 = _posIntDidV2(ms, "issuanceStuckMs");
382
+ return _issuanceStuckMsV2;
383
+ }
384
+
385
+ export function getActiveIdentityCountV2(ownerId) {
386
+ let n = 0;
387
+ for (const i of _identitiesV2.values()) {
388
+ if (i.status !== IDENTITY_MATURITY_V2.ACTIVE) continue;
389
+ if (ownerId && i.ownerId !== ownerId) continue;
390
+ n++;
391
+ }
392
+ return n;
393
+ }
394
+
395
+ export function getPendingIssuanceCountV2(identityId) {
396
+ let n = 0;
397
+ for (const j of _issuancesV2.values()) {
398
+ if (
399
+ j.status !== ISSUANCE_LIFECYCLE_V2.QUEUED &&
400
+ j.status !== ISSUANCE_LIFECYCLE_V2.ISSUING
401
+ )
402
+ continue;
403
+ if (identityId && j.identityId !== identityId) continue;
404
+ n++;
405
+ }
406
+ return n;
407
+ }
408
+
409
+ function _cloneIdentityV2(i) {
410
+ return { ...i, metadata: { ...i.metadata } };
411
+ }
412
+ function _cloneIssuanceV2(j) {
413
+ return { ...j, metadata: { ...j.metadata } };
414
+ }
415
+
416
+ export function registerIdentityV2(
417
+ id,
418
+ { ownerId, didMethod, displayName, metadata } = {},
419
+ ) {
420
+ if (!id || typeof id !== "string") throw new Error("identity id required");
421
+ if (!ownerId || typeof ownerId !== "string")
422
+ throw new Error("ownerId required");
423
+ if (!didMethod || typeof didMethod !== "string")
424
+ throw new Error("didMethod required");
425
+ if (_identitiesV2.has(id)) throw new Error(`identity ${id} already exists`);
426
+ const now = Date.now();
427
+ const identity = {
428
+ id,
429
+ ownerId,
430
+ didMethod,
431
+ displayName: displayName || id,
432
+ status: IDENTITY_MATURITY_V2.PENDING,
433
+ createdAt: now,
434
+ activatedAt: null,
435
+ revokedAt: null,
436
+ lastSeenAt: now,
437
+ metadata: metadata ? { ...metadata } : {},
438
+ };
439
+ _identitiesV2.set(id, identity);
440
+ return _cloneIdentityV2(identity);
441
+ }
442
+
443
+ export function getIdentityV2(id) {
444
+ const i = _identitiesV2.get(id);
445
+ return i ? _cloneIdentityV2(i) : null;
446
+ }
447
+
448
+ export function listIdentitiesV2({ ownerId, status, didMethod } = {}) {
449
+ const out = [];
450
+ for (const i of _identitiesV2.values()) {
451
+ if (ownerId && i.ownerId !== ownerId) continue;
452
+ if (status && i.status !== status) continue;
453
+ if (didMethod && i.didMethod !== didMethod) continue;
454
+ out.push(_cloneIdentityV2(i));
455
+ }
456
+ return out;
457
+ }
458
+
459
+ export function setIdentityStatusV2(id, next) {
460
+ const i = _identitiesV2.get(id);
461
+ if (!i) throw new Error(`unknown identity ${id}`);
462
+ if (IDENTITY_TERMINAL_V2.has(i.status)) {
463
+ throw new Error(`identity ${id} is terminal (${i.status})`);
464
+ }
465
+ const allowed = IDENTITY_TRANSITIONS_V2.get(i.status);
466
+ if (!allowed || !allowed.has(next)) {
467
+ throw new Error(`invalid identity transition ${i.status} -> ${next}`);
468
+ }
469
+ if (
470
+ next === IDENTITY_MATURITY_V2.ACTIVE &&
471
+ i.status === IDENTITY_MATURITY_V2.PENDING
472
+ ) {
473
+ const owned = getActiveIdentityCountV2(i.ownerId);
474
+ if (owned >= _maxActiveIdentitiesPerOwnerV2) {
475
+ throw new Error(
476
+ `owner ${i.ownerId} active identity cap reached (${_maxActiveIdentitiesPerOwnerV2})`,
477
+ );
478
+ }
479
+ }
480
+ const now = Date.now();
481
+ i.status = next;
482
+ if (next === IDENTITY_MATURITY_V2.ACTIVE && !i.activatedAt)
483
+ i.activatedAt = now;
484
+ if (next === IDENTITY_MATURITY_V2.REVOKED && !i.revokedAt) i.revokedAt = now;
485
+ i.lastSeenAt = now;
486
+ return _cloneIdentityV2(i);
487
+ }
488
+
489
+ export function activateIdentityV2(id) {
490
+ return setIdentityStatusV2(id, IDENTITY_MATURITY_V2.ACTIVE);
491
+ }
492
+ export function suspendIdentityV2(id) {
493
+ return setIdentityStatusV2(id, IDENTITY_MATURITY_V2.SUSPENDED);
494
+ }
495
+ export function revokeIdentityV2(id) {
496
+ return setIdentityStatusV2(id, IDENTITY_MATURITY_V2.REVOKED);
497
+ }
498
+
499
+ export function touchIdentityV2(id) {
500
+ const i = _identitiesV2.get(id);
501
+ if (!i) throw new Error(`unknown identity ${id}`);
502
+ i.lastSeenAt = Date.now();
503
+ return _cloneIdentityV2(i);
504
+ }
505
+
506
+ export function createIssuanceV2(
507
+ id,
508
+ { identityId, credentialType, metadata } = {},
509
+ ) {
510
+ if (!id || typeof id !== "string") throw new Error("issuance id required");
511
+ if (!identityId || typeof identityId !== "string")
512
+ throw new Error("identityId required");
513
+ if (!credentialType || typeof credentialType !== "string")
514
+ throw new Error("credentialType required");
515
+ if (_issuancesV2.has(id)) throw new Error(`issuance ${id} already exists`);
516
+ if (!_identitiesV2.has(identityId))
517
+ throw new Error(`unknown identity ${identityId}`);
518
+ const pending = getPendingIssuanceCountV2(identityId);
519
+ if (pending >= _maxPendingIssuancesPerIdentityV2) {
520
+ throw new Error(
521
+ `identity ${identityId} pending issuance cap reached (${_maxPendingIssuancesPerIdentityV2})`,
522
+ );
523
+ }
524
+ const now = Date.now();
525
+ const job = {
526
+ id,
527
+ identityId,
528
+ credentialType,
529
+ status: ISSUANCE_LIFECYCLE_V2.QUEUED,
530
+ createdAt: now,
531
+ startedAt: null,
532
+ settledAt: null,
533
+ metadata: metadata ? { ...metadata } : {},
534
+ };
535
+ _issuancesV2.set(id, job);
536
+ return _cloneIssuanceV2(job);
537
+ }
538
+
539
+ export function getIssuanceV2(id) {
540
+ const j = _issuancesV2.get(id);
541
+ return j ? _cloneIssuanceV2(j) : null;
542
+ }
543
+
544
+ export function listIssuancesV2({ identityId, status } = {}) {
545
+ const out = [];
546
+ for (const j of _issuancesV2.values()) {
547
+ if (identityId && j.identityId !== identityId) continue;
548
+ if (status && j.status !== status) continue;
549
+ out.push(_cloneIssuanceV2(j));
550
+ }
551
+ return out;
552
+ }
553
+
554
+ export function setIssuanceStatusV2(id, next) {
555
+ const j = _issuancesV2.get(id);
556
+ if (!j) throw new Error(`unknown issuance ${id}`);
557
+ if (ISSUANCE_TERMINAL_V2.has(j.status)) {
558
+ throw new Error(`issuance ${id} is terminal (${j.status})`);
559
+ }
560
+ const allowed = ISSUANCE_TRANSITIONS_V2.get(j.status);
561
+ if (!allowed || !allowed.has(next)) {
562
+ throw new Error(`invalid issuance transition ${j.status} -> ${next}`);
563
+ }
564
+ const now = Date.now();
565
+ j.status = next;
566
+ if (next === ISSUANCE_LIFECYCLE_V2.ISSUING && !j.startedAt) j.startedAt = now;
567
+ if (ISSUANCE_TERMINAL_V2.has(next) && !j.settledAt) j.settledAt = now;
568
+ return _cloneIssuanceV2(j);
569
+ }
570
+
571
+ export function startIssuanceV2(id) {
572
+ return setIssuanceStatusV2(id, ISSUANCE_LIFECYCLE_V2.ISSUING);
573
+ }
574
+ export function completeIssuanceV2(id) {
575
+ return setIssuanceStatusV2(id, ISSUANCE_LIFECYCLE_V2.ISSUED);
576
+ }
577
+ export function failIssuanceV2(id) {
578
+ return setIssuanceStatusV2(id, ISSUANCE_LIFECYCLE_V2.FAILED);
579
+ }
580
+ export function cancelIssuanceV2(id) {
581
+ return setIssuanceStatusV2(id, ISSUANCE_LIFECYCLE_V2.CANCELLED);
582
+ }
583
+
584
+ export function autoSuspendIdleIdentitiesV2({ now = Date.now() } = {}) {
585
+ const out = [];
586
+ for (const i of _identitiesV2.values()) {
587
+ if (i.status !== IDENTITY_MATURITY_V2.ACTIVE) continue;
588
+ if (now - i.lastSeenAt < _identityIdleMsV2) continue;
589
+ i.status = IDENTITY_MATURITY_V2.SUSPENDED;
590
+ i.lastSeenAt = now;
591
+ out.push(_cloneIdentityV2(i));
592
+ }
593
+ return out;
594
+ }
595
+
596
+ export function autoFailStuckIssuancesV2({ now = Date.now() } = {}) {
597
+ const out = [];
598
+ for (const j of _issuancesV2.values()) {
599
+ if (j.status !== ISSUANCE_LIFECYCLE_V2.ISSUING) continue;
600
+ if (!j.startedAt || now - j.startedAt < _issuanceStuckMsV2) continue;
601
+ j.status = ISSUANCE_LIFECYCLE_V2.FAILED;
602
+ j.settledAt = now;
603
+ out.push(_cloneIssuanceV2(j));
604
+ }
605
+ return out;
606
+ }
607
+
608
+ export function getDidManagerStatsV2() {
609
+ const identitiesByStatus = {};
610
+ for (const s of Object.values(IDENTITY_MATURITY_V2))
611
+ identitiesByStatus[s] = 0;
612
+ for (const i of _identitiesV2.values()) identitiesByStatus[i.status]++;
613
+ const issuancesByStatus = {};
614
+ for (const s of Object.values(ISSUANCE_LIFECYCLE_V2))
615
+ issuancesByStatus[s] = 0;
616
+ for (const j of _issuancesV2.values()) issuancesByStatus[j.status]++;
617
+ return {
618
+ totalIdentitiesV2: _identitiesV2.size,
619
+ totalIssuancesV2: _issuancesV2.size,
620
+ maxActiveIdentitiesPerOwner: _maxActiveIdentitiesPerOwnerV2,
621
+ maxPendingIssuancesPerIdentity: _maxPendingIssuancesPerIdentityV2,
622
+ identityIdleMs: _identityIdleMsV2,
623
+ issuanceStuckMs: _issuanceStuckMsV2,
624
+ identitiesByStatus,
625
+ issuancesByStatus,
626
+ };
627
+ }
628
+
629
+ export function _resetStateDidManagerV2() {
630
+ _identitiesV2.clear();
631
+ _issuancesV2.clear();
632
+ _maxActiveIdentitiesPerOwnerV2 = DID_DEFAULT_MAX_ACTIVE_IDENTITIES_PER_OWNER;
633
+ _maxPendingIssuancesPerIdentityV2 =
634
+ DID_DEFAULT_MAX_PENDING_ISSUANCES_PER_IDENTITY;
635
+ _identityIdleMsV2 = DID_DEFAULT_IDENTITY_IDLE_MS;
636
+ _issuanceStuckMsV2 = DID_DEFAULT_ISSUANCE_STUCK_MS;
637
+ }