@happyvertical/smrt-cli 0.52.0 → 0.53.1

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 (44) hide show
  1. package/AGENTS.md +1 -0
  2. package/README.md +1 -0
  3. package/dist/{ApiKey-BZmbOTnL-CMUo3WLf.js → ApiKey-BZmbOTnL-CNdRPt4L.js} +2 -2
  4. package/dist/ApiKeyCollection-Bfb_nw81-C41xeWjP.js +2 -0
  5. package/dist/AuditLogCollection-B1YonCAP-CuxT42P9.js +2 -0
  6. package/dist/{NostrIdentity-n70E0vck-BD7uutxz.js → NostrIdentity-n70E0vck-DyvmAKWA.js} +3 -3
  7. package/dist/NostrIdentityCollection-Ca74dkaL-BYOCASkU.js +2 -0
  8. package/dist/{OidcIdentity-Cb1bxreM-DY0aRLu-.js → OidcIdentity-Cb1bxreM-EFGNe-9i.js} +2 -2
  9. package/dist/OidcIdentityCollection-TV8VdK69-DMFHjlKf.js +2 -0
  10. package/dist/ProfileAssetCollection-B9hacUJa-B1DI2fld.js +2 -0
  11. package/dist/{ProfileCollection-DuJT7Mum-D_ScbSMu.js → ProfileCollection-DuJT7Mum-CjXI7sxS.js} +26 -26
  12. package/dist/ProfileLinkCollection-4uNURz32-BSG4g55p.js +2 -0
  13. package/dist/ProfileMetadataCollection-DQhbfEfa-BmQ59oGm.js +2 -0
  14. package/dist/{ProfileMetafieldCollection-CoBuM_5G-BDwo4x3z.js → ProfileMetafieldCollection-CoBuM_5G-Cid3HNFI.js} +1 -1
  15. package/dist/{ProfileRelationshipCollection-DUVgaIqf-BRrBeg1Q.js → ProfileRelationshipCollection-DUVgaIqf-D-VeP3Xp.js} +1 -1
  16. package/dist/{ProfileRelationshipTermCollection-DtA9OM23-D4WMfN9a.js → ProfileRelationshipTermCollection-DtA9OM23-BscMcndN.js} +1 -1
  17. package/dist/{ProfileRelationshipType-BRiRka6t-B32A4UFT.js → ProfileRelationshipType-BRiRka6t-BP33exAz.js} +1 -1
  18. package/dist/{ProfileRelationshipTypeCollection-BdXwd7Kf-BqQa8Awc.js → ProfileRelationshipTypeCollection-BdXwd7Kf-CSMHKaaN.js} +1 -1
  19. package/dist/cli-generator.d.ts.map +1 -1
  20. package/dist/commands/db-qualified-names.d.ts +39 -0
  21. package/dist/commands/db-qualified-names.d.ts.map +1 -0
  22. package/dist/commands/gnode.d.ts.map +1 -1
  23. package/dist/commands/index.d.ts +1 -0
  24. package/dist/commands/index.d.ts.map +1 -1
  25. package/dist/commands/mcp-apps-packaging.d.ts +24 -0
  26. package/dist/commands/mcp-apps-packaging.d.ts.map +1 -0
  27. package/dist/commands/utilities.d.ts.map +1 -1
  28. package/dist/{commands-BvcMfEoO.js → commands-DISJzBlT.js} +487 -6
  29. package/dist/{dist-Dm4q4uB4.js → dist-7S5I_gWk.js} +4 -4
  30. package/dist/{dist-BTxdRxKP.js → dist-BGMJi2g1.js} +2 -2
  31. package/dist/{dist-qJw7ALwV.js → dist-BZd_JjEL.js} +10 -6
  32. package/dist/{dist-vJJL0WMc.js → dist-Ws7B05wT.js} +26 -26
  33. package/dist/index.js +17 -11
  34. package/dist/{oidcProvisioningPrimitives-D9OYu5-F-D9DQdiwS.js → oidcProvisioningPrimitives-D9OYu5-F-BqS3T8Kt.js} +4 -4
  35. package/dist/resolveIdentity-B-PK6RwU-cgVjM6Kk.js +2 -0
  36. package/package.json +16 -15
  37. package/dist/ApiKeyCollection-Bfb_nw81-C3Xz7MUq.js +0 -2
  38. package/dist/AuditLogCollection-B1YonCAP-DmmboC_X.js +0 -2
  39. package/dist/NostrIdentityCollection-Ca74dkaL--KYlM_ou.js +0 -2
  40. package/dist/OidcIdentityCollection-TV8VdK69-DPeFJt3R.js +0 -2
  41. package/dist/ProfileAssetCollection-B9hacUJa-6R8lwjti.js +0 -2
  42. package/dist/ProfileLinkCollection-4uNURz32-lMKBjaik.js +0 -2
  43. package/dist/ProfileMetadataCollection-DQhbfEfa-B1QlmBkX.js +0 -2
  44. package/dist/resolveIdentity-B-PK6RwU-Dvqeq9-I.js +0 -2
package/AGENTS.md CHANGED
@@ -19,6 +19,7 @@ smrt db:migrate-uuid # Convert schema-declared UUID text columns after d
19
19
  smrt db:migrate-int8
20
20
  smrt db:migrate-null-equal-indexes # ../core/agents/null-equal-indexes.md
21
21
  smrt db:migrate-ledger-accounts [--dry-run] # Move pre-#3098 ledger rows out of `accounts` (smrt-ledgers README)
22
+ smrt db:migrate-qualified-names [--dry-run] # Opt-in old→current name backfill; doctor --db counts (../core/agents/model-moves.md)
22
23
  smrt db:materialize-tenant-hierarchy [--dry-run] # smrt-users tenant hierarchy_path backfill (#3036)
23
24
  smrt db:drop-framework-base-tables # One-time drop of the five #2644-orphaned framework-base tables
24
25
  smrt db:drop-framework-base-tables --dry-run # Print the drop plan without executing
package/README.md CHANGED
@@ -49,6 +49,7 @@ The four snapshot options are atomic: supplying any one requires all four.
49
49
  | `smrt db:migrate-uuid` | Convert schema-declared UUID text columns to native PostgreSQL uuid after data has been remapped |
50
50
  | `smrt db:migrate-int8` | Widen legacy pre-#2373 int4 columns to BIGINT after reviewing the maintenance-window preflight |
51
51
  | `smrt db:migrate-ledger-accounts [--dry-run]` | Move smrt-ledgers accounts out of the pre-#3098 shared `accounts` table into `ledger_accounts` (PostgreSQL; run between two `db:migrate` passes — see the smrt-ledgers README) |
52
+ | `smrt db:migrate-qualified-names [--dry-run] [--tenant <id>] [--force]` | Rewrite stored deprecated qualified names (`@smrt({ previousQualifiedNames })`) to current names. Opt-in, idempotent, tracked in `_smrt_backfills`; `smrt doctor --db` counts what remains (#3338) |
52
53
  | `smrt db:drop-framework-base-tables` | One-time removal of the five framework-base tables (`smrt_objects`, `smrt_classes`, `smrt_collections`, `smrt_hierarchicals`, `smrt_polymorphic_associations`) orphaned by #2644; refuses if any target table has rows, an unexpected shape, or an inbound foreign key |
53
54
  | `smrt db:drop-framework-base-tables --dry-run` | Print the drop plan (tables and companion indexes) without executing |
54
55
  | `smrt db:diff` | Show schema differences without generating migration files |
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-BD7uutxz.js";
2
+ import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-DyvmAKWA.js";
3
3
  import { SmrtObject, field, foreignKey, smrt } from "@happyvertical/smrt-core";
4
4
  import { createHash, randomBytes } from "node:crypto";
5
5
  //#region ../profiles/dist/chunks/ApiKey-BZmbOTnL.js
@@ -127,7 +127,7 @@ var ApiKey = class extends SmrtObject {
127
127
  */
128
128
  static async verify(key, options = {}) {
129
129
  const keyHash = ApiKey.hashKey(key);
130
- const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C3Xz7MUq.js").then((n) => n.n);
130
+ const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C41xeWjP.js").then((n) => n.n);
131
131
  const apiKey = await (await ApiKeyCollection.create(options)).findOne({ where: { keyHash } });
132
132
  if (!apiKey) return null;
133
133
  if (!apiKey.isValid()) return null;
@@ -0,0 +1,2 @@
1
+ import { L as ApiKeyCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { ApiKeyCollection_exports as n };
@@ -0,0 +1,2 @@
1
+ import { F as AuditLogCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { AuditLogCollection_exports as n };
@@ -4097,21 +4097,21 @@ var NostrIdentity = class extends SmrtObject {
4097
4097
  * Find identity by public key
4098
4098
  */
4099
4099
  static async findByPubkey(pubkey, options = {}) {
4100
- const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL--KYlM_ou.js").then((n) => n.n);
4100
+ const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL-BYOCASkU.js").then((n) => n.n);
4101
4101
  return await (await NostrIdentityCollection.create(options)).findOne({ where: { pubkey } });
4102
4102
  }
4103
4103
  /**
4104
4104
  * Find identity by email
4105
4105
  */
4106
4106
  static async findByEmail(email, options = {}) {
4107
- const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL--KYlM_ou.js").then((n) => n.n);
4107
+ const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL-BYOCASkU.js").then((n) => n.n);
4108
4108
  return await (await NostrIdentityCollection.create(options)).findOne({ where: { email: email.toLowerCase() } });
4109
4109
  }
4110
4110
  /**
4111
4111
  * Find identity by NIP-05 username
4112
4112
  */
4113
4113
  static async findByNip05(username, options = {}) {
4114
- const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL--KYlM_ou.js").then((n) => n.n);
4114
+ const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL-BYOCASkU.js").then((n) => n.n);
4115
4115
  return await (await NostrIdentityCollection.create(options)).findOne({ where: { nip05Username: username.toLowerCase() } });
4116
4116
  }
4117
4117
  /**
@@ -0,0 +1,2 @@
1
+ import { M as NostrIdentityCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { NostrIdentityCollection_exports as n };
@@ -35,7 +35,7 @@ var OidcIdentity = class extends SmrtObject {
35
35
  * Find identity by issuer and subject
36
36
  */
37
37
  static async findBySubject(issuer, subject, options = {}) {
38
- const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DPeFJt3R.js").then((n) => n.r);
38
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DMFHjlKf.js").then((n) => n.r);
39
39
  return await (await OidcIdentityCollection.create(options)).findBySubject(issuer, subject);
40
40
  }
41
41
  /** Build the collision-free natural key for one OIDC issuer subject. */
@@ -58,7 +58,7 @@ var OidcIdentity = class extends SmrtObject {
58
58
  static async findOrCreate(profile, oidcData, options = {}) {
59
59
  const profileId = profile.id;
60
60
  if (typeof profileId !== "string" || !profileId) throw new Error("OidcIdentity.findOrCreate() requires a saved Profile.");
61
- const { reuseExistingOidcIdentityForProfile } = await import("./resolveIdentity-B-PK6RwU-Dvqeq9-I.js").then((n) => n.i);
61
+ const { reuseExistingOidcIdentityForProfile } = await import("./resolveIdentity-B-PK6RwU-cgVjM6Kk.js").then((n) => n.i);
62
62
  const profileOptions = profile.options ?? {};
63
63
  return (await reuseExistingOidcIdentityForProfile(profileId, {
64
64
  email: oidcData.email,
@@ -0,0 +1,2 @@
1
+ import { A as OidcIdentityCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { OidcIdentityCollection_exports as r };
@@ -0,0 +1,2 @@
1
+ import { D as ProfileAssetCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { ProfileAssetCollection_exports as n };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as queryGlobal, i as tenantId, l as withSystemContext, n as resolvePrompt, o as queryWithGlobals, r as TenantScoped, s as getTenantId, t as definePrompt } from "./dist-BTxdRxKP.js";
3
- import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-BD7uutxz.js";
4
- import { a as getOwnedAssetsFromCollection, i as assertValidOwnedAssetSortOrder, n as assertAssetLinkable, o as removeOwnedAssetFromCollection, r as assertValidOwnedAssetRelationship, s as resolveOwnedAssetsById, t as addOwnedAssetFromCollection } from "./dist-qJw7ALwV.js";
2
+ import { a as queryGlobal, i as tenantId, l as withSystemContext, n as resolvePrompt, o as queryWithGlobals, r as TenantScoped, s as getTenantId, t as definePrompt } from "./dist-BGMJi2g1.js";
3
+ import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-DyvmAKWA.js";
4
+ import { a as getOwnedAssetsFromCollection, i as assertValidOwnedAssetSortOrder, n as assertAssetLinkable, o as removeOwnedAssetFromCollection, r as assertValidOwnedAssetRelationship, s as resolveOwnedAssetsById, t as addOwnedAssetFromCollection } from "./dist-BZd_JjEL.js";
5
5
  import { RuntimeError, SmrtCollection, SmrtObject, ValidationError, field, foreignKey, isAbortedTransactionError, oneToMany, smrt } from "@happyvertical/smrt-core";
6
6
  import { BackfillTableUnavailableError, BackfillTracker } from "@happyvertical/smrt-core/migrations";
7
7
  //#region ../profiles/dist/chunks/ProfileCollection-DuJT7Mum.js
@@ -430,8 +430,8 @@ var Profile = class extends SmrtObject {
430
430
  * @param value - The value to set
431
431
  */
432
432
  async addMetadata(metafieldSlug, value) {
433
- const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-CoBuM_5G-BDwo4x3z.js").then((n) => n.n);
434
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-B1QlmBkX.js").then((n) => n.n);
433
+ const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-CoBuM_5G-Cid3HNFI.js").then((n) => n.n);
434
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-BmQ59oGm.js").then((n) => n.n);
435
435
  const metafield = await this.resolveMetafield(await ProfileMetafieldCollection.create(this.options), metafieldSlug);
436
436
  if (!metafield) throw new Error(`Metafield '${metafieldSlug}' not found`);
437
437
  await metafield.validateValue(value);
@@ -464,7 +464,7 @@ var Profile = class extends SmrtObject {
464
464
  * @returns Object with metafield slugs as keys
465
465
  */
466
466
  async getMetadata() {
467
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-B1QlmBkX.js").then((n) => n.n);
467
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-BmQ59oGm.js").then((n) => n.n);
468
468
  return await (await ProfileMetadataCollection.create(this.options)).getMetadataObject(this.id);
469
469
  }
470
470
  /**
@@ -481,8 +481,8 @@ var Profile = class extends SmrtObject {
481
481
  * @param metafieldSlug - The slug of the metafield to remove
482
482
  */
483
483
  async removeMetadata(metafieldSlug) {
484
- const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-CoBuM_5G-BDwo4x3z.js").then((n) => n.n);
485
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-B1QlmBkX.js").then((n) => n.n);
484
+ const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-CoBuM_5G-Cid3HNFI.js").then((n) => n.n);
485
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-DQhbfEfa-BmQ59oGm.js").then((n) => n.n);
486
486
  const metafield = await this.resolveMetafield(await ProfileMetafieldCollection.create(this.options), metafieldSlug);
487
487
  if (!metafield) throw new Error(`Metafield '${metafieldSlug}' not found`);
488
488
  const existing = await (await ProfileMetadataCollection.create(this.options)).list({
@@ -507,7 +507,7 @@ var Profile = class extends SmrtObject {
507
507
  return candidates.find((candidate) => ownerTenantId && candidate.tenantId === ownerTenantId) ?? candidates.find((candidate) => !candidate.tenantId) ?? null;
508
508
  }
509
509
  async getProfileLinkCollection() {
510
- const { ProfileLinkCollection } = await import("./ProfileLinkCollection-4uNURz32-lMKBjaik.js").then((n) => n.r);
510
+ const { ProfileLinkCollection } = await import("./ProfileLinkCollection-4uNURz32-BSG4g55p.js").then((n) => n.r);
511
511
  return ProfileLinkCollection.create({ db: this.db });
512
512
  }
513
513
  /** This profile's web links in display order. */
@@ -524,7 +524,7 @@ var Profile = class extends SmrtObject {
524
524
  return (await this.getProfileLinkCollection()).replaceForProfile(this.id, links);
525
525
  }
526
526
  async getProfileAssetCollection() {
527
- const { ProfileAssetCollection } = await import("./ProfileAssetCollection-B9hacUJa-6R8lwjti.js").then((n) => n.n);
527
+ const { ProfileAssetCollection } = await import("./ProfileAssetCollection-B9hacUJa-B1DI2fld.js").then((n) => n.n);
528
528
  return ProfileAssetCollection.create({ db: this.db });
529
529
  }
530
530
  async getAssets(relationship) {
@@ -555,9 +555,9 @@ var Profile = class extends SmrtObject {
555
555
  * @param contextProfile - Optional context profile for tertiary relationships
556
556
  */
557
557
  async addRelationship(toProfile, relationshipSlug, contextProfile) {
558
- const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-BqQa8Awc.js").then((n) => n.n);
559
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-BRrBeg1Q.js").then((n) => n.n);
560
- const { ProfileRelationshipType } = await import("./ProfileRelationshipType-BRiRka6t-B32A4UFT.js").then((n) => n.n).then((n) => n.n);
558
+ const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-CSMHKaaN.js").then((n) => n.n);
559
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-D-VeP3Xp.js").then((n) => n.n);
560
+ const { ProfileRelationshipType } = await import("./ProfileRelationshipType-BRiRka6t-BP33exAz.js").then((n) => n.n).then((n) => n.n);
561
561
  const relationshipType = await (await ProfileRelationshipTypeCollection.create(this.options)).getBySlug(relationshipSlug);
562
562
  if (!relationshipType) throw new Error(`Relationship type '${relationshipSlug}' not found`);
563
563
  const relationshipCollection = await ProfileRelationshipCollection.create(this.options);
@@ -581,8 +581,8 @@ var Profile = class extends SmrtObject {
581
581
  * @returns Array of ProfileRelationship instances
582
582
  */
583
583
  async getRelationships(options) {
584
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-BRrBeg1Q.js").then((n) => n.n);
585
- const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-BqQa8Awc.js").then((n) => n.n);
584
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-D-VeP3Xp.js").then((n) => n.n);
585
+ const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-CSMHKaaN.js").then((n) => n.n);
586
586
  const relationshipCollection = await ProfileRelationshipCollection.create(this.options);
587
587
  const direction = options?.direction || "all";
588
588
  let typeId;
@@ -625,8 +625,8 @@ var Profile = class extends SmrtObject {
625
625
  * @param relationshipSlug - The type of relationship to remove
626
626
  */
627
627
  async removeRelationship(toProfile, relationshipSlug) {
628
- const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-BqQa8Awc.js").then((n) => n.n);
629
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-BRrBeg1Q.js").then((n) => n.n);
628
+ const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BdXwd7Kf-CSMHKaaN.js").then((n) => n.n);
629
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-DUVgaIqf-D-VeP3Xp.js").then((n) => n.n);
630
630
  const relationshipType = await (await ProfileRelationshipTypeCollection.create(this.options)).getBySlug(relationshipSlug);
631
631
  if (!relationshipType) throw new Error(`Relationship type '${relationshipSlug}' not found`);
632
632
  const relationshipCollection = await ProfileRelationshipCollection.create(this.options);
@@ -719,7 +719,7 @@ var Profile = class extends SmrtObject {
719
719
  * @returns Array of API keys
720
720
  */
721
721
  async getApiKeys() {
722
- const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C3Xz7MUq.js").then((n) => n.n);
722
+ const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C41xeWjP.js").then((n) => n.n);
723
723
  return await (await ApiKeyCollection.create(this.options)).findByProfile(this.id);
724
724
  }
725
725
  /**
@@ -728,7 +728,7 @@ var Profile = class extends SmrtObject {
728
728
  * @returns Array of active API keys
729
729
  */
730
730
  async getActiveApiKeys() {
731
- const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C3Xz7MUq.js").then((n) => n.n);
731
+ const { ApiKeyCollection } = await import("./ApiKeyCollection-Bfb_nw81-C41xeWjP.js").then((n) => n.n);
732
732
  return await (await ApiKeyCollection.create(this.options)).findActiveByProfile(this.id);
733
733
  }
734
734
  /**
@@ -738,7 +738,7 @@ var Profile = class extends SmrtObject {
738
738
  * @returns The generated key (plaintext) and ApiKey record
739
739
  */
740
740
  async generateApiKey(options) {
741
- const { ApiKey } = await import("./ApiKey-BZmbOTnL-CMUo3WLf.js").then((n) => n.n).then((n) => n.n);
741
+ const { ApiKey } = await import("./ApiKey-BZmbOTnL-CNdRPt4L.js").then((n) => n.n).then((n) => n.n);
742
742
  return await ApiKey.generate(this, {
743
743
  ...options,
744
744
  db: this.options?.db
@@ -750,7 +750,7 @@ var Profile = class extends SmrtObject {
750
750
  * @returns Array of OIDC identity records
751
751
  */
752
752
  async getOidcIdentities() {
753
- const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DPeFJt3R.js").then((n) => n.r);
753
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DMFHjlKf.js").then((n) => n.r);
754
754
  return await (await OidcIdentityCollection.create(this.options)).findByProfile(this.id);
755
755
  }
756
756
  /**
@@ -763,7 +763,7 @@ var Profile = class extends SmrtObject {
763
763
  * type, but refuses to create or rebind authority.
764
764
  */
765
765
  async linkOidcIdentity(oidcData) {
766
- const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DPeFJt3R.js").then((n) => n.r);
766
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-DMFHjlKf.js").then((n) => n.r);
767
767
  return await (await OidcIdentityCollection.create(this.options)).linkToProfile(this, oidcData);
768
768
  }
769
769
  /**
@@ -772,7 +772,7 @@ var Profile = class extends SmrtObject {
772
772
  * @returns Array of Nostr identity records
773
773
  */
774
774
  async getNostrIdentities() {
775
- const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL--KYlM_ou.js").then((n) => n.n);
775
+ const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL-BYOCASkU.js").then((n) => n.n);
776
776
  return await (await NostrIdentityCollection.create(this.options)).findByProfile(this.id);
777
777
  }
778
778
  /**
@@ -782,7 +782,7 @@ var Profile = class extends SmrtObject {
782
782
  * @returns The linked Nostr identity record
783
783
  */
784
784
  async linkNostrIdentity(nostrData) {
785
- const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL--KYlM_ou.js").then((n) => n.n);
785
+ const { NostrIdentityCollection } = await import("./NostrIdentityCollection-Ca74dkaL-BYOCASkU.js").then((n) => n.n);
786
786
  return await (await NostrIdentityCollection.create(this.options)).linkToProfile(this, nostrData);
787
787
  }
788
788
  /**
@@ -792,7 +792,7 @@ var Profile = class extends SmrtObject {
792
792
  * @returns Array of audit log entries
793
793
  */
794
794
  async getAuditLogs(limit = 50) {
795
- const { AuditLogCollection } = await import("./AuditLogCollection-B1YonCAP-DmmboC_X.js").then((n) => n.n);
795
+ const { AuditLogCollection } = await import("./AuditLogCollection-B1YonCAP-CuxT42P9.js").then((n) => n.n);
796
796
  return await (await AuditLogCollection.create(this.options)).getRecentActivity(this.id, limit);
797
797
  }
798
798
  /**
@@ -802,7 +802,7 @@ var Profile = class extends SmrtObject {
802
802
  * @returns The created audit log entry
803
803
  */
804
804
  async recordAction(options) {
805
- const { AuditLogCollection } = await import("./AuditLogCollection-B1YonCAP-DmmboC_X.js").then((n) => n.n);
805
+ const { AuditLogCollection } = await import("./AuditLogCollection-B1YonCAP-CuxT42P9.js").then((n) => n.n);
806
806
  return await (await AuditLogCollection.create(this.options)).record({
807
807
  profile: this,
808
808
  ...options
@@ -0,0 +1,2 @@
1
+ import { S as ProfileLinkCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { ProfileLinkCollection_exports as r };
@@ -0,0 +1,2 @@
1
+ import { v as ProfileMetadataCollection_exports } from "./dist-Ws7B05wT.js";
2
+ export { ProfileMetadataCollection_exports as n };
@@ -1,2 +1,2 @@
1
- import { h as ProfileMetafieldCollection_exports } from "./dist-vJJL0WMc.js";
1
+ import { h as ProfileMetafieldCollection_exports } from "./dist-Ws7B05wT.js";
2
2
  export { ProfileMetafieldCollection_exports as n };
@@ -1,2 +1,2 @@
1
- import { f as ProfileRelationshipCollection_exports } from "./dist-vJJL0WMc.js";
1
+ import { f as ProfileRelationshipCollection_exports } from "./dist-Ws7B05wT.js";
2
2
  export { ProfileRelationshipCollection_exports as n };
@@ -1,2 +1,2 @@
1
- import { l as ProfileRelationshipTermCollection_exports } from "./dist-vJJL0WMc.js";
1
+ import { l as ProfileRelationshipTermCollection_exports } from "./dist-Ws7B05wT.js";
2
2
  export { ProfileRelationshipTermCollection_exports as n };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-BD7uutxz.js";
2
+ import { n as __exportAll$1 } from "./NostrIdentity-n70E0vck-DyvmAKWA.js";
3
3
  import { SmrtObject, field, smrt } from "@happyvertical/smrt-core";
4
4
  //#region ../profiles/dist/chunks/ProfileRelationshipType-BRiRka6t.js
5
5
  var ProfileRelationshipType_BRiRka6t_exports = /* @__PURE__ */ __exportAll({
@@ -1,2 +1,2 @@
1
- import { o as ProfileRelationshipTypeCollection_exports } from "./dist-vJJL0WMc.js";
1
+ import { o as ProfileRelationshipTypeCollection_exports } from "./dist-Ws7B05wT.js";
2
2
  export { ProfileRelationshipTypeCollection_exports as n };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-generator.d.ts","sourceRoot":"","sources":["../src/cli-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-generator.d.ts","sourceRoot":"","sources":["../src/cli-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Stored references to deprecated qualified names (#3338).
3
+ *
4
+ * `smrt doctor --db` reports how many rows still store a name a class
5
+ * declared in `@smrt({ previousQualifiedNames })` — the signal that an alias
6
+ * can (or cannot yet) be removed. `smrt db:migrate-qualified-names` is the
7
+ * opt-in, idempotent cleanup; nothing rewrites stored names automatically.
8
+ */
9
+ import { type LegacyQualifiedNameReport } from '@happyvertical/smrt-core/migrations';
10
+ import type { CLICommand } from '../cli-generator.js';
11
+ /** Result of one CLI-level legacy-name count. */
12
+ export interface LegacyQualifiedNameOutcome {
13
+ report: LegacyQualifiedNameReport | null;
14
+ /** Human-readable failure reason; non-null exactly when `report` is null. */
15
+ error: string | null;
16
+ }
17
+ /**
18
+ * Count stored deprecated qualified names in the configured database.
19
+ * Never throws for an operational problem.
20
+ */
21
+ export declare function runLegacyQualifiedNameReport(options?: {
22
+ discover?: boolean;
23
+ }): Promise<LegacyQualifiedNameOutcome>;
24
+ /**
25
+ * Render a legacy-name report as the lines `smrt doctor --db` and
26
+ * `smrt db:migrate-qualified-names` print.
27
+ *
28
+ * A zero count is a removal signal only when it is global and complete: a
29
+ * tenant-scoped count (`tenantId`) or one that skipped untenanted tables
30
+ * never says the aliases are removable. Stored rows are also only half the
31
+ * picture, so every report reminds the operator that source still naming an
32
+ * old name must move first.
33
+ */
34
+ export declare function formatLegacyQualifiedNameReport(report: LegacyQualifiedNameReport, options?: {
35
+ tenantId?: string;
36
+ }): string[];
37
+ /** `smrt db:migrate-qualified-names` — the opt-in rewrite. */
38
+ export declare const dbMigrateQualifiedNamesCommand: CLICommand;
39
+ //# sourceMappingURL=db-qualified-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-qualified-names.d.ts","sourceRoot":"","sources":["../../src/commands/db-qualified-names.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQtD,iDAAiD;AACjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAqBD;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAoBrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,MAAM,EAAE,CAmDV;AAQD,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,EAAE,UAoF5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gnode.d.ts","sourceRoot":"","sources":["../../src/commands/gnode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAsBtD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAwHpD,CAAC"}
1
+ {"version":3,"file":"gnode.d.ts","sourceRoot":"","sources":["../../src/commands/gnode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAgEtD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA+IpD,CAAC"}
@@ -17,6 +17,7 @@ export { generateCommands } from './generate.js';
17
17
  export { gitCommands } from './git.js';
18
18
  export { gnodeCommands } from './gnode.js';
19
19
  export { initCommands } from './init.js';
20
+ export { mcpAppsCommands } from './mcp-apps-packaging.js';
20
21
  export { playgroundCommands } from './playground.js';
21
22
  export { utilityCommands } from './utilities.js';
22
23
  export { workbenchCommands } from './workbench.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { CLICommand } from '../cli-generator.js';
2
+ export interface McpAppsFinding {
3
+ code: string;
4
+ message: string;
5
+ }
6
+ export interface McpAppsValidationResult {
7
+ findings: McpAppsFinding[];
8
+ valid: boolean;
9
+ }
10
+ /** Validate portable plugin files and the optional OpenAI install extension. */
11
+ export declare function validateMcpAppsPackage(rootPath: string): McpAppsValidationResult;
12
+ /**
13
+ * Add the public, credential-free SMRT package route to a generated app.
14
+ * A pre-existing scope route is an explicit consumer decision and must not be
15
+ * silently replaced.
16
+ */
17
+ export declare function configureMcpAppsConsumerRegistry(appRoot: string): void;
18
+ /** Copy the opt-in app route/resources and merge only its declared dependencies. */
19
+ export declare function addMcpAppsRuntime(sourceRoot: string, appRoot: string): void;
20
+ export declare function assertMcpAppsPluginName(name: string): void;
21
+ /** Create the minimal local portable package. It intentionally has no .app.json: registered IDs are host-owned. */
22
+ export declare function scaffoldMcpAppsPackage(rootPath: string, name: string, version?: string): void;
23
+ export declare const mcpAppsCommands: Record<string, CLICommand>;
24
+ //# sourceMappingURL=mcp-apps-packaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-apps-packaging.d.ts","sourceRoot":"","sources":["../../src/commands/mcp-apps-packaging.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB;AAyLD,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAyIzB;AAUD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,QA+B/D;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAoBpE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,QAKnD;AAED,mHAAmH;AACnH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAU,QAiBlB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6DtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/commands/utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/commands/utilities.ts"],"names":[],"mappings":"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"}