@happyvertical/smrt-cli 0.60.9 → 0.60.11

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 (55) hide show
  1. package/AGENTS.md +24 -53
  2. package/README.md +5 -0
  3. package/agents/app-commands.md +2 -0
  4. package/agents/db-drop-framework-base-tables.md +49 -0
  5. package/agents/db-migrate-concurrency.md +11 -0
  6. package/dist/{AuditLogCollection-BBbvr8Qc-CoDs0BaX.js → AuditLogCollection-BBbvr8Qc-mcBSLXW9.js} +1 -1
  7. package/dist/{OidcIdentity-COeMidoC-B-cVovG3.js → OidcIdentity-COeMidoC-ETkpZbIS.js} +2 -2
  8. package/dist/{OidcIdentityCollection-D4DIZv0K-CexIL7No.js → OidcIdentityCollection-D4DIZv0K-Do3bwRuw.js} +1 -1
  9. package/dist/{PasswordCredentialService-DHJNKEeJ-DQlR62e-.js → PasswordCredentialService-BSSP_kyT-t7bjBu4L.js} +40 -22
  10. package/dist/{ProfileAssetCollection-D5-tG9Mm-Bmn4-Urc.js → ProfileAssetCollection-D5-tG9Mm-FbzWS3Fo.js} +3 -3
  11. package/dist/{ProfileCollection-CmRaiE9U-52qjwbhJ.js → ProfileCollection-CmRaiE9U-BYvpJg0y.js} +17 -17
  12. package/dist/{ProfileLinkCollection-pvPTsysg-ocN3hj_M.js → ProfileLinkCollection-pvPTsysg-nDbgawOW.js} +2 -2
  13. package/dist/{ProfileMetadataCollection-CAgJyjze-FX20yKjY.js → ProfileMetadataCollection-CAgJyjze-D-5QuGnR.js} +1 -1
  14. package/dist/{ProfileMetafieldCollection-19ae6Lpf-qg7eMcJk.js → ProfileMetafieldCollection-19ae6Lpf-CgEt1gPi.js} +1 -1
  15. package/dist/{ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js → ProfileRelationshipCollection-BFSlTQ7J-Dv0ll9S1.js} +1 -1
  16. package/dist/{ProfileTypeCollection-BRLK8cHS-QVwjfqe8.js → ProfileTypeCollection-BRLK8cHS-BKuh_ajh.js} +2 -2
  17. package/dist/app/portability-assets.d.ts +2 -0
  18. package/dist/app/portability-assets.d.ts.map +1 -1
  19. package/dist/app.js +2 -2
  20. package/dist/{cli-CtRx1_yP.js → cli-DXIN1FbA.js} +1 -1
  21. package/dist/commands/docs-claude.d.ts +1 -0
  22. package/dist/commands/docs-claude.d.ts.map +1 -1
  23. package/dist/commands/docs-knowledge-bundle.d.ts +87 -0
  24. package/dist/commands/docs-knowledge-bundle.d.ts.map +1 -0
  25. package/dist/commands/docs-skills-install.d.ts +31 -0
  26. package/dist/commands/docs-skills-install.d.ts.map +1 -0
  27. package/dist/{commands-DNssH5Dv.js → commands-DD5gexRY.js} +400 -7
  28. package/dist/{dist-BJABhykg.js → dist-CivxAJ6C.js} +2 -2
  29. package/dist/dist-DcYLLDwF.js +1854 -0
  30. package/dist/{dist-D25iWIXX.js → dist-DjG0qPkx.js} +5 -5
  31. package/dist/index.js +12 -12
  32. package/dist/knowledge/intents/audit-trail.md +63 -0
  33. package/dist/knowledge/intents/auth-and-users.md +67 -0
  34. package/dist/knowledge/intents/background-work.md +72 -0
  35. package/dist/knowledge/intents/feature-flags-and-entitlements.md +60 -0
  36. package/dist/knowledge/intents/file-and-asset-storage.md +71 -0
  37. package/dist/knowledge/intents/human-approvals.md +56 -0
  38. package/dist/knowledge/intents/index.md +41 -0
  39. package/dist/knowledge/intents/money-and-rates.md +65 -0
  40. package/dist/knowledge/intents/outbound-messages.md +67 -0
  41. package/dist/knowledge/intents/prompts-and-ai-operations.md +72 -0
  42. package/dist/knowledge/intents/relationships-and-trees.md +56 -0
  43. package/dist/knowledge/intents/scheduled-runs.md +61 -0
  44. package/dist/knowledge/intents/search-facts-knowledge.md +68 -0
  45. package/dist/knowledge/intents/secrets-and-config.md +66 -0
  46. package/dist/knowledge/intents/tenant-scoping.md +63 -0
  47. package/dist/knowledge/intents/webhooks-and-events.md +71 -0
  48. package/dist/{oidcProvisioningPrimitives-KpIiLmG4-CnRTofeV.js → oidcProvisioningPrimitives-KpIiLmG4-D5-0dAY3.js} +3 -3
  49. package/dist/{operator-fwao3Y1j.js → operator-B0ZraSEE.js} +2 -2
  50. package/dist/{portability-CbMgEnD1.js → portability-sL8U5Hld.js} +21 -13
  51. package/dist/{resolveIdentity-j2WFuKDT-C9XtigVZ.js → resolveIdentity-j2WFuKDT-BieMIOLz.js} +14 -14
  52. package/dist/smrt-knowledge.okf.md +58 -0
  53. package/package.json +16 -15
  54. package/dist/dist-B3gpMpBj.js +0 -1908
  55. package/dist/dist-BQI8s_yA.js +0 -1854
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as tenantId, r as TenantScoped } from "./dist-BJABhykg.js";
2
+ import { i as tenantId, r as TenantScoped } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
- import { a as getOwnedAssetsFromCollection, o as removeOwnedAssetFromCollection, t as addOwnedAssetFromCollection } from "./dist-B3gpMpBj.js";
5
4
  import { SmrtJunction, SmrtObject, crossPackageRef, field, foreignKey, smrt } from "@happyvertical/smrt-core";
5
+ import { addOwnedAssetFromCollection, getOwnedAssetsFromCollection, removeOwnedAssetFromCollection } from "@happyvertical/smrt-assets";
6
6
  //#region ../profiles/dist/chunks/ProfileAssetCollection-D5-tG9Mm.js
7
7
  var ProfileAssetCollection_D5_tG9Mm_exports = /* @__PURE__ */ __exportAll({
8
8
  n: () => ProfileAssetCollection_exports,
@@ -84,7 +84,7 @@ var ProfileAssetCollection = class extends SmrtJunction {
84
84
  profileCollectionPromise = null;
85
85
  async getProfileCollection() {
86
86
  if (!this.profileCollectionPromise) {
87
- const { ProfileCollection } = await import("./ProfileCollection-CmRaiE9U-52qjwbhJ.js").then((n) => n.i).then((n) => n.r);
87
+ const { ProfileCollection } = await import("./ProfileCollection-CmRaiE9U-BYvpJg0y.js").then((n) => n.i).then((n) => n.r);
88
88
  this.profileCollectionPromise = ProfileCollection.create({ db: this.db });
89
89
  }
90
90
  return this.profileCollectionPromise;
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { d as getTenantId, i as tenantId, m as withSystemContext, n as resolvePrompt, o as queryGlobal, r as TenantScoped, s as queryWithGlobals, t as definePrompt } from "./dist-BJABhykg.js";
2
+ import { d as getTenantId, i as tenantId, m as withSystemContext, n as resolvePrompt, o as queryGlobal, r as TenantScoped, s as queryWithGlobals, t as definePrompt } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.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-B3gpMpBj.js";
5
4
  import { RuntimeError, SmrtCollection, SmrtObject, ValidationError, field, foreignKey, isAbortedTransactionError, oneToMany, smrt } from "@happyvertical/smrt-core";
6
5
  import { BackfillTableUnavailableError, BackfillTracker } from "@happyvertical/smrt-core/migrations";
6
+ import { addOwnedAssetFromCollection, assertAssetLinkable, assertValidOwnedAssetRelationship, assertValidOwnedAssetSortOrder, getOwnedAssetsFromCollection, removeOwnedAssetFromCollection, resolveOwnedAssetsById } from "@happyvertical/smrt-assets";
7
7
  //#region ../profiles/dist/chunks/ProfileCollection-CmRaiE9U.js
8
8
  var ProfileCollection_CmRaiE9U_exports = /* @__PURE__ */ __exportAll({
9
9
  _: () => smrtProfilesGenerateBioPrompt,
@@ -435,7 +435,7 @@ var Profile = class extends SmrtObject {
435
435
  async getTypeSlug() {
436
436
  const tenantId2 = this.tenantId || getTenantId();
437
437
  if (this.typeId && tenantId2) {
438
- const { ProfileTypeCollection } = await import("./ProfileTypeCollection-BRLK8cHS-QVwjfqe8.js").then((n) => n.n).then((n) => n.n);
438
+ const { ProfileTypeCollection } = await import("./ProfileTypeCollection-BRLK8cHS-BKuh_ajh.js").then((n) => n.n).then((n) => n.n);
439
439
  return (await (await ProfileTypeCollection.create(this.options)).getAvailableById(this.typeId, tenantId2))?.slug ?? "";
440
440
  }
441
441
  return (await this.loadRelated("typeId"))?.slug || "";
@@ -458,8 +458,8 @@ var Profile = class extends SmrtObject {
458
458
  * @param value - The value to set
459
459
  */
460
460
  async addMetadata(metafieldSlug, value) {
461
- const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-19ae6Lpf-qg7eMcJk.js").then((n) => n.t).then((n) => n.n);
462
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-FX20yKjY.js").then((n) => n.t).then((n) => n.n);
461
+ const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-19ae6Lpf-CgEt1gPi.js").then((n) => n.t).then((n) => n.n);
462
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-D-5QuGnR.js").then((n) => n.t).then((n) => n.n);
463
463
  const metafield = await this.resolveMetafield(await ProfileMetafieldCollection.create(this.options), metafieldSlug);
464
464
  if (!metafield) throw new Error(`Metafield '${metafieldSlug}' not found`);
465
465
  await metafield.validateValue(value);
@@ -492,7 +492,7 @@ var Profile = class extends SmrtObject {
492
492
  * @returns Object with metafield slugs as keys
493
493
  */
494
494
  async getMetadata() {
495
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-FX20yKjY.js").then((n) => n.t).then((n) => n.n);
495
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-D-5QuGnR.js").then((n) => n.t).then((n) => n.n);
496
496
  return await (await ProfileMetadataCollection.create(this.options)).getMetadataObject(this.id);
497
497
  }
498
498
  /**
@@ -509,8 +509,8 @@ var Profile = class extends SmrtObject {
509
509
  * @param metafieldSlug - The slug of the metafield to remove
510
510
  */
511
511
  async removeMetadata(metafieldSlug) {
512
- const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-19ae6Lpf-qg7eMcJk.js").then((n) => n.t).then((n) => n.n);
513
- const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-FX20yKjY.js").then((n) => n.t).then((n) => n.n);
512
+ const { ProfileMetafieldCollection } = await import("./ProfileMetafieldCollection-19ae6Lpf-CgEt1gPi.js").then((n) => n.t).then((n) => n.n);
513
+ const { ProfileMetadataCollection } = await import("./ProfileMetadataCollection-CAgJyjze-D-5QuGnR.js").then((n) => n.t).then((n) => n.n);
514
514
  const metafield = await this.resolveMetafield(await ProfileMetafieldCollection.create(this.options), metafieldSlug);
515
515
  if (!metafield) throw new Error(`Metafield '${metafieldSlug}' not found`);
516
516
  const existing = await (await ProfileMetadataCollection.create(this.options)).list({
@@ -535,7 +535,7 @@ var Profile = class extends SmrtObject {
535
535
  return candidates.find((candidate) => ownerTenantId && candidate.tenantId === ownerTenantId) ?? candidates.find((candidate) => !candidate.tenantId) ?? null;
536
536
  }
537
537
  async getProfileLinkCollection() {
538
- const { ProfileLinkCollection } = await import("./ProfileLinkCollection-pvPTsysg-ocN3hj_M.js").then((n) => n.t).then((n) => n.r);
538
+ const { ProfileLinkCollection } = await import("./ProfileLinkCollection-pvPTsysg-nDbgawOW.js").then((n) => n.t).then((n) => n.r);
539
539
  return ProfileLinkCollection.create({ db: this.db });
540
540
  }
541
541
  /** This profile's web links in display order. */
@@ -552,7 +552,7 @@ var Profile = class extends SmrtObject {
552
552
  return (await this.getProfileLinkCollection()).replaceForProfile(this.id, links);
553
553
  }
554
554
  async getProfileAssetCollection() {
555
- const { ProfileAssetCollection } = await import("./ProfileAssetCollection-D5-tG9Mm-Bmn4-Urc.js").then((n) => n.t).then((n) => n.n);
555
+ const { ProfileAssetCollection } = await import("./ProfileAssetCollection-D5-tG9Mm-FbzWS3Fo.js").then((n) => n.t).then((n) => n.n);
556
556
  return ProfileAssetCollection.create({ db: this.db });
557
557
  }
558
558
  async getAssets(relationship) {
@@ -584,7 +584,7 @@ var Profile = class extends SmrtObject {
584
584
  */
585
585
  async addRelationship(toProfile, relationshipSlug, contextProfile) {
586
586
  const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BRBpX00F-D78l9V1y.js").then((n) => n.t).then((n) => n.n);
587
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js").then((n) => n.t).then((n) => n.n);
587
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-Dv0ll9S1.js").then((n) => n.t).then((n) => n.n);
588
588
  const { ProfileRelationshipType } = await import("./ProfileRelationshipType-Cevy-vaF-G82Gg40q.js").then((n) => n.n).then((n) => n.n);
589
589
  const relationshipType = await (await ProfileRelationshipTypeCollection.create(this.options)).getBySlug(relationshipSlug);
590
590
  if (!relationshipType) throw new Error(`Relationship type '${relationshipSlug}' not found`);
@@ -609,7 +609,7 @@ var Profile = class extends SmrtObject {
609
609
  * @returns Array of ProfileRelationship instances
610
610
  */
611
611
  async getRelationships(options) {
612
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js").then((n) => n.t).then((n) => n.n);
612
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-Dv0ll9S1.js").then((n) => n.t).then((n) => n.n);
613
613
  const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BRBpX00F-D78l9V1y.js").then((n) => n.t).then((n) => n.n);
614
614
  const relationshipCollection = await ProfileRelationshipCollection.create(this.options);
615
615
  const direction = options?.direction || "all";
@@ -654,7 +654,7 @@ var Profile = class extends SmrtObject {
654
654
  */
655
655
  async removeRelationship(toProfile, relationshipSlug) {
656
656
  const { ProfileRelationshipTypeCollection } = await import("./ProfileRelationshipTypeCollection-BRBpX00F-D78l9V1y.js").then((n) => n.t).then((n) => n.n);
657
- const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js").then((n) => n.t).then((n) => n.n);
657
+ const { ProfileRelationshipCollection } = await import("./ProfileRelationshipCollection-BFSlTQ7J-Dv0ll9S1.js").then((n) => n.t).then((n) => n.n);
658
658
  const relationshipType = await (await ProfileRelationshipTypeCollection.create(this.options)).getBySlug(relationshipSlug);
659
659
  if (!relationshipType) throw new Error(`Relationship type '${relationshipSlug}' not found`);
660
660
  const relationshipCollection = await ProfileRelationshipCollection.create(this.options);
@@ -778,7 +778,7 @@ var Profile = class extends SmrtObject {
778
778
  * @returns Array of OIDC identity records
779
779
  */
780
780
  async getOidcIdentities() {
781
- const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-CexIL7No.js").then((n) => n.r).then((n) => n.r);
781
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-Do3bwRuw.js").then((n) => n.r).then((n) => n.r);
782
782
  return await (await OidcIdentityCollection.create(this.options)).findByProfile(this.id);
783
783
  }
784
784
  /**
@@ -791,7 +791,7 @@ var Profile = class extends SmrtObject {
791
791
  * type, but refuses to create or rebind authority.
792
792
  */
793
793
  async linkOidcIdentity(oidcData) {
794
- const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-CexIL7No.js").then((n) => n.r).then((n) => n.r);
794
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-Do3bwRuw.js").then((n) => n.r).then((n) => n.r);
795
795
  return await (await OidcIdentityCollection.create(this.options)).linkToProfile(this, oidcData);
796
796
  }
797
797
  /**
@@ -820,7 +820,7 @@ var Profile = class extends SmrtObject {
820
820
  * @returns Array of audit log entries
821
821
  */
822
822
  async getAuditLogs(limit = 50) {
823
- const { AuditLogCollection } = await import("./AuditLogCollection-BBbvr8Qc-CoDs0BaX.js").then((n) => n.t).then((n) => n.n);
823
+ const { AuditLogCollection } = await import("./AuditLogCollection-BBbvr8Qc-mcBSLXW9.js").then((n) => n.t).then((n) => n.n);
824
824
  return await (await AuditLogCollection.create(this.options)).getRecentActivity(this.id, limit);
825
825
  }
826
826
  /**
@@ -830,7 +830,7 @@ var Profile = class extends SmrtObject {
830
830
  * @returns The created audit log entry
831
831
  */
832
832
  async recordAction(options) {
833
- const { AuditLogCollection } = await import("./AuditLogCollection-BBbvr8Qc-CoDs0BaX.js").then((n) => n.t).then((n) => n.n);
833
+ const { AuditLogCollection } = await import("./AuditLogCollection-BBbvr8Qc-mcBSLXW9.js").then((n) => n.t).then((n) => n.n);
834
834
  return await (await AuditLogCollection.create(this.options)).record({
835
835
  profile: this,
836
836
  ...options
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as tenantId, r as TenantScoped } from "./dist-BJABhykg.js";
2
+ import { i as tenantId, r as TenantScoped } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
4
  import { SmrtCollection, SmrtObject, field, foreignKey, isEmbeddedDatabase, smrt, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
5
5
  //#region ../profiles/dist/chunks/ProfileLinkCollection-pvPTsysg.js
@@ -203,7 +203,7 @@ var ProfileLinkCollection = class ProfileLinkCollection extends SmrtCollection {
203
203
  /** The profile's tenant; throws when the profile is not visible here. */
204
204
  async requireProfileTenant(profileId) {
205
205
  if (!profileId) throw new Error("A profile link needs a profile");
206
- const { ProfileCollection } = await import("./ProfileCollection-CmRaiE9U-52qjwbhJ.js").then((n) => n.i).then((n) => n.r);
206
+ const { ProfileCollection } = await import("./ProfileCollection-CmRaiE9U-BYvpJg0y.js").then((n) => n.i).then((n) => n.r);
207
207
  const profile = await (await ProfileCollection.create({ db: this.db })).get({ id: profileId });
208
208
  if (!profile) throw new Error(`Profile '${profileId}' not found`);
209
209
  return profile.tenantId ?? null;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as tenantId, r as TenantScoped } from "./dist-BJABhykg.js";
2
+ import { i as tenantId, r as TenantScoped } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
4
  import { SmrtCollection, SmrtObject, field, foreignKey, smrt } from "@happyvertical/smrt-core";
5
5
  //#region ../profiles/dist/chunks/ProfileMetadataCollection-CAgJyjze.js
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as tenantId, r as TenantScoped } from "./dist-BJABhykg.js";
2
+ import { i as tenantId, r as TenantScoped } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
4
  import { SmrtCollection, SmrtObject, field, smrt } from "@happyvertical/smrt-core";
5
5
  //#region ../profiles/dist/chunks/ProfileMetafieldCollection-19ae6Lpf.js
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as tenantId, r as TenantScoped } from "./dist-BJABhykg.js";
2
+ import { i as tenantId, r as TenantScoped } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
4
  import { SmrtCollection, SmrtObject, foreignKey, oneToMany, smrt } from "@happyvertical/smrt-core";
5
5
  //#region ../profiles/dist/chunks/ProfileRelationshipCollection-BFSlTQ7J.js
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { l as withTenantGlobalRead, p as isSystemContext } from "./dist-BJABhykg.js";
2
+ import { l as withTenantGlobalRead, p as isSystemContext } from "./dist-CivxAJ6C.js";
3
3
  import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
- import { a as ProfileType } from "./ProfileCollection-CmRaiE9U-52qjwbhJ.js";
4
+ import { a as ProfileType } from "./ProfileCollection-CmRaiE9U-BYvpJg0y.js";
5
5
  import { SmrtCollection } from "@happyvertical/smrt-core";
6
6
  //#region ../profiles/dist/chunks/ProfileTypeCollection-BRLK8cHS.js
7
7
  var ProfileTypeCollection_BRLK8cHS_exports = /* @__PURE__ */ __exportAll({
@@ -24,6 +24,8 @@ export interface AssetManifestEntry {
24
24
  byteLength: number;
25
25
  contentDigest: string;
26
26
  payloadPath: string;
27
+ /** Omitted for bundles whose assets import as absolute file URLs. */
28
+ locator?: 'relative';
27
29
  }
28
30
  /** One embedded asset payload. */
29
31
  export interface AssetPayload {
@@ -1 +1 @@
1
- {"version":3,"file":"portability-assets.d.ts","sourceRoot":"","sources":["../../src/app/portability-assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portability-assets.d.ts","sourceRoot":"","sources":["../../src/app/portability-assets.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as assertExternalArtifactPath, C as prepareMigration, D as cliExecutablePath, E as validateMcpAppsIfPresent, F as AppCommandError, I as ApplicationStartError, M as resolveApplicationId, N as resolveApplicationStateRoot, O as runtimeEnvironment, P as runtimeConfigurationFingerprint, R as redactSecrets, S as launchVite, T as runWorker, _ as sendTerminationSignal, a as renderAppHelp, b as ViteLauncherError, c as parseTokenLifetime, d as START_OUTPUT_TAIL_BYTES, f as runApplicationOperation, g as readOwnedProcess, h as matchesApplicationProcess, i as errorEnvelope, j as prepareApplicationStateRoot, k as webLauncherPath, l as runTokenOperation, m as checkOwnedProcess, n as APP_RECOVERY, o as runAppCommand, p as WEB_LAUNCHER_NAME, s as TOKEN_USAGE, t as APP_COMMANDS, u as APP_OPERATIONS, v as verifyOwnedProcess, w as resolveViteEntry, x as devServerArguments, y as writeProcessRecord } from "./cli-CtRx1_yP.js";
2
- import { C as publishFilesystemAssets, D as stageFilesystemAssets, E as rollbackFilesystemAssets, O as verifyFilesystemAssets, S as markFilesystemAssetsCommitted, T as recoverFilesystemAssets, _ as bundleContentDigest, a as manifestTables, b as finishFilesystemAssets, c as serializeExportBundle, d as AssetPortabilityError, f as MAX_ASSET_BYTES, g as assertAssetRoot, h as MAX_TOTAL_ASSET_BYTES, i as importedRowsMatchBundle, k as verifyPublishedFilesystemAssets, l as validateImportBundle, m as MAX_BUNDLE_BYTES, n as exportApplication, o as planImportTables, p as MAX_ASSET_COUNT, r as importApplication, t as executeImportPlan, u as ASSET_MANIFEST_SCHEMA_VERSION, v as collectFilesystemAssets, w as readSensitiveBundle, x as hasCommittedImportJournal, y as digestBytes } from "./portability-CbMgEnD1.js";
1
+ import { A as assertExternalArtifactPath, C as prepareMigration, D as cliExecutablePath, E as validateMcpAppsIfPresent, F as AppCommandError, I as ApplicationStartError, M as resolveApplicationId, N as resolveApplicationStateRoot, O as runtimeEnvironment, P as runtimeConfigurationFingerprint, R as redactSecrets, S as launchVite, T as runWorker, _ as sendTerminationSignal, a as renderAppHelp, b as ViteLauncherError, c as parseTokenLifetime, d as START_OUTPUT_TAIL_BYTES, f as runApplicationOperation, g as readOwnedProcess, h as matchesApplicationProcess, i as errorEnvelope, j as prepareApplicationStateRoot, k as webLauncherPath, l as runTokenOperation, m as checkOwnedProcess, n as APP_RECOVERY, o as runAppCommand, p as WEB_LAUNCHER_NAME, s as TOKEN_USAGE, t as APP_COMMANDS, u as APP_OPERATIONS, v as verifyOwnedProcess, w as resolveViteEntry, x as devServerArguments, y as writeProcessRecord } from "./cli-DXIN1FbA.js";
2
+ import { C as publishFilesystemAssets, D as stageFilesystemAssets, E as rollbackFilesystemAssets, O as verifyFilesystemAssets, S as markFilesystemAssetsCommitted, T as recoverFilesystemAssets, _ as bundleContentDigest, a as manifestTables, b as finishFilesystemAssets, c as serializeExportBundle, d as AssetPortabilityError, f as MAX_ASSET_BYTES, g as assertAssetRoot, h as MAX_TOTAL_ASSET_BYTES, i as importedRowsMatchBundle, k as verifyPublishedFilesystemAssets, l as validateImportBundle, m as MAX_BUNDLE_BYTES, n as exportApplication, o as planImportTables, p as MAX_ASSET_COUNT, r as importApplication, t as executeImportPlan, u as ASSET_MANIFEST_SCHEMA_VERSION, v as collectFilesystemAssets, w as readSensitiveBundle, x as hasCommittedImportJournal, y as digestBytes } from "./portability-sL8U5Hld.js";
3
3
  import { PROVIDER_READINESS_SETTINGS, RECLAIM_MUTEX_FILE, acquireWriterLease, createProviderReadinessProbe, findInstalledPackage, isStaleOperationLock, lockOwnerPid, processExists, readActiveWriterLease, reclaimStaleRecord, resolveReadinessModule, withOperationLock } from "@happyvertical/smrt-app-runtime";
4
4
  export { APP_COMMANDS, APP_OPERATIONS, APP_RECOVERY, ASSET_MANIFEST_SCHEMA_VERSION, AppCommandError, ApplicationStartError, AssetPortabilityError, MAX_ASSET_BYTES, MAX_ASSET_COUNT, MAX_BUNDLE_BYTES, MAX_TOTAL_ASSET_BYTES, PROVIDER_READINESS_SETTINGS, RECLAIM_MUTEX_FILE, START_OUTPUT_TAIL_BYTES, TOKEN_USAGE, ViteLauncherError, WEB_LAUNCHER_NAME, acquireWriterLease, assertAssetRoot, assertExternalArtifactPath, bundleContentDigest, checkOwnedProcess, cliExecutablePath, collectFilesystemAssets, createProviderReadinessProbe, devServerArguments, digestBytes, errorEnvelope, executeImportPlan, exportApplication, findInstalledPackage, finishFilesystemAssets, hasCommittedImportJournal, importApplication, importedRowsMatchBundle, isStaleOperationLock, launchVite, lockOwnerPid, manifestTables, markFilesystemAssetsCommitted, matchesApplicationProcess, parseTokenLifetime, planImportTables, prepareApplicationStateRoot, prepareMigration, processExists, publishFilesystemAssets, readActiveWriterLease, readOwnedProcess, readSensitiveBundle, reclaimStaleRecord, recoverFilesystemAssets, redactSecrets, renderAppHelp, resolveApplicationId, resolveApplicationStateRoot, resolveReadinessModule, resolveViteEntry, rollbackFilesystemAssets, runAppCommand, runApplicationOperation, runTokenOperation, runWorker, runtimeConfigurationFingerprint, runtimeEnvironment, sendTerminationSignal, serializeExportBundle, stageFilesystemAssets, validateImportBundle, validateMcpAppsIfPresent, verifyFilesystemAssets, verifyOwnedProcess, verifyPublishedFilesystemAssets, webLauncherPath, withOperationLock, writeProcessRecord };
@@ -1292,7 +1292,7 @@ async function backup(context, args) {
1292
1292
  async function loadPortabilityAdapter(context) {
1293
1293
  const override = join(context.sourceRoot, "scripts", "smrt-portability.mjs");
1294
1294
  if (existsSync(override)) return await import(pathToFileURL(override).href);
1295
- return import("./portability-CbMgEnD1.js").then((n) => n.s);
1295
+ return import("./portability-sL8U5Hld.js").then((n) => n.s);
1296
1296
  }
1297
1297
  async function portability(context, operation, args, operationLock) {
1298
1298
  const adapter = await loadPortabilityAdapter(context);
@@ -39,6 +39,7 @@ export declare function detectMonorepoRoot(): string | null;
39
39
  export declare function extractReadmeSections(readme: string, sectionNames: string[]): Record<string, string>;
40
40
  export declare function generateMarkdown(packages: PackageInfo[], rootDocs?: RootDocInfo[], sdkPackages?: PackageInfo[], generatedBy?: string, options?: {
41
41
  complete?: boolean;
42
+ intentSection?: string[];
42
43
  }): string;
43
44
  export declare const docsCommands: Record<string, CLICommand>;
44
45
  //# sourceMappingURL=docs-claude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs-claude.d.ts","sourceRoot":"","sources":["../../src/commands/docs-claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7C,gEAAgE;IAChE,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuLD,eAAO,MAAM,iBAAiB,EAAE,UAM9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,UAO9B,CAAC;AAyHH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAyBlD;AA6BD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8CxB;AAiDD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,EACxB,WAAW,CAAC,EAAE,WAAW,EAAE,EAC3B,WAAW,SAAqB,EAChC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,MAAM,CAmGR;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAGnD,CAAC"}
1
+ {"version":3,"file":"docs-claude.d.ts","sourceRoot":"","sources":["../../src/commands/docs-claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7C,gEAAgE;IAChE,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiQD,eAAO,MAAM,iBAAiB,EAAE,UAM9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,UAO9B,CAAC;AAyIH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAyBlD;AA6BD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8CxB;AAiDD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,EACxB,WAAW,CAAC,EAAE,WAAW,EAAE,EAC3B,WAAW,SAAqB,EAChC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC7D,MAAM,CAuGR;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAGnD,CAAC"}
@@ -0,0 +1,87 @@
1
+ /** The subset of an installed package the bundle needs. */
2
+ export interface BundlePackage {
3
+ name: string;
4
+ version: string;
5
+ directory?: string;
6
+ /** Identity the package was discovered under; `name` must equal it when set. */
7
+ specifier?: string;
8
+ }
9
+ export interface IntentRow {
10
+ /** Display name, e.g. `Background work and retries`. */
11
+ intent: string;
12
+ slug: string;
13
+ /** Unscoped names of the home packages, e.g. `smrt-jobs`. */
14
+ homes: string[];
15
+ entryPoint: string;
16
+ /** The original table row, kept verbatim for the filtered index. */
17
+ raw: string;
18
+ }
19
+ export interface IntentSource {
20
+ dir: string;
21
+ /** Version of the package that supplied the pages; undefined in the monorepo. */
22
+ version?: string;
23
+ }
24
+ export declare function isValidPackageName(name: unknown): name is string;
25
+ /**
26
+ * `target` resolved under `root`, or a thrown error when it escapes (`..`,
27
+ * absolute segments). Every bundle write and delete goes through this.
28
+ */
29
+ export declare function containedPath(root: string, target: string): string;
30
+ /**
31
+ * Throws when `path` exists as a symlink. `containedPath` is lexical, so a
32
+ * checkout that ships `.agents/smrt-knowledge` as a link would otherwise have
33
+ * the bundle's wholesale directory replacement land wherever the link points.
34
+ */
35
+ export declare function assertNotSymlink(path: string): void;
36
+ /**
37
+ * Whether a package may supply bundle file names: a plain npm name that equals
38
+ * the identity its directory was discovered under (a mismatching name could
39
+ * claim another package's page or point the target elsewhere).
40
+ */
41
+ export declare function isBundleSafePackage(pkg: BundlePackage): boolean;
42
+ export declare function unscopedName(name: string): string;
43
+ /** Parses the intent index table; the rows are the only structure relied on. */
44
+ export declare function parseIntentIndex(markdown: string): IntentRow[];
45
+ /** Intents with at least one installed home package, in index order. */
46
+ export declare function filterInstalledIntents(rows: IntentRow[], installed: ReadonlyMap<string, string>): IntentRow[];
47
+ /** The intent index with rows for intents without an installed home removed. */
48
+ export declare function filterIntentIndexMarkdown(markdown: string, keptSlugs: ReadonlySet<string>): string;
49
+ /**
50
+ * The leading "Find it by intent" section, or [] when no intent has an
51
+ * installed home. `pagesDir` is the bundle directory relative to the file the
52
+ * section is written into.
53
+ */
54
+ export declare function renderIntentSection(rows: IntentRow[], installed: ReadonlyMap<string, string>, pagesDir?: string): string[];
55
+ /** Finds the intent pages; null when none are reachable (the section is then omitted). */
56
+ export declare function resolveIntentSource(options: {
57
+ monorepoRoot: string | null;
58
+ /** Real directory of the installed `smrt-cli`, when the project has it. */
59
+ installedCliDirectory?: string;
60
+ }): IntentSource | null;
61
+ export declare function loadIntentRows(source: IntentSource): IntentRow[];
62
+ export interface BundleExportResult {
63
+ bundleDir: string;
64
+ components: number;
65
+ intents: number;
66
+ /** Installed packages that ship no knowledge page (older releases, templates). */
67
+ withoutPages: string[];
68
+ exportedAt: string;
69
+ }
70
+ /**
71
+ * Writes `<bundleDir>/{components,intents}/` and `bundle.json`. The two page
72
+ * directories are replaced wholesale so uninstalled packages and retired
73
+ * intents never linger; nothing else under `bundleDir` is touched. Returns null
74
+ * (writing nothing) when no page is reachable.
75
+ */
76
+ export declare function exportKnowledgeBundle(options: {
77
+ bundleDir: string;
78
+ packages: BundlePackage[];
79
+ monorepoRoot: string | null;
80
+ intentSource: IntentSource | null;
81
+ intentRows: IntentRow[];
82
+ exportedBy: string;
83
+ now?: Date;
84
+ }): BundleExportResult | null;
85
+ /** Leftover listing helper for tests and diagnostics. */
86
+ export declare function listBundleConcepts(bundleDir: string): string[];
87
+ //# sourceMappingURL=docs-knowledge-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-knowledge-bundle.d.ts","sourceRoot":"","sources":["../../src/commands/docs-knowledge-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /** Harness directories that receive each skill, relative to the project root. */
2
+ export declare const SKILL_INSTALL_DIRS: readonly [".claude/skills", ".agents/skills"];
3
+ export declare const SKILL_MARKER_PREFIX = "<!-- smrt-generated:";
4
+ export type SkillInstallStatus = 'installed' | 'updated' | 'unchanged' | 'skipped-hand-edited';
5
+ export interface SkillInstallResult {
6
+ skill: string;
7
+ path: string;
8
+ status: SkillInstallStatus;
9
+ }
10
+ /**
11
+ * Inserts the generated marker after the frontmatter, which must stay the
12
+ * first thing in the file for skill-aware harnesses.
13
+ */
14
+ export declare function withGeneratedMarker(markdown: string, skill: string, version: string, generatedBy: string): string;
15
+ /**
16
+ * Installs `skills` under every harness directory of `projectRoot`. Existing
17
+ * unmarked copies are skipped (and reported through `warn`) unless they are
18
+ * already byte-identical to what would be written.
19
+ */
20
+ export declare function installAgentSkills(options: {
21
+ projectRoot: string;
22
+ skills: string[];
23
+ /**
24
+ * Bundle directory relative to `projectRoot` (default `.agents/smrt-knowledge`).
25
+ * The shipped skill text names the default; other locations are substituted.
26
+ */
27
+ bundleDir?: string;
28
+ generatedBy: string;
29
+ warn?: (message: string) => void;
30
+ }): SkillInstallResult[];
31
+ //# sourceMappingURL=docs-skills-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-skills-install.d.ts","sourceRoot":"","sources":["../../src/commands/docs-skills-install.ts"],"names":[],"mappings":"AAsBA,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,+CAAgD,CAAC;AAMhF,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,SAAS,GACT,WAAW,GACX,qBAAqB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,CAMR;AAkBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,GAAG,kBAAkB,EAAE,CA+DvB"}