@happyvertical/smrt-cli 0.60.10 → 0.60.12
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/AGENTS.md +7 -0
- package/README.md +5 -0
- package/agents/app-commands.md +2 -0
- package/dist/{AuditLogCollection-BBbvr8Qc-DU-QXhH5.js → AuditLogCollection-BBbvr8Qc-vKb0VQnR.js} +1 -1
- package/dist/{OidcIdentity-COeMidoC-BDr8b6iW.js → OidcIdentity-COeMidoC-ou8ulS56.js} +2 -2
- package/dist/{OidcIdentityCollection-D4DIZv0K-BvsaDTZY.js → OidcIdentityCollection-D4DIZv0K-CDtom8IP.js} +1 -1
- package/dist/{PasswordCredentialService-BSSP_kyT-DlxlWy6b.js → PasswordCredentialService-BSSP_kyT-CCXYv09q.js} +14 -14
- package/dist/{ProfileAssetCollection-D5-tG9Mm-Be7hQJJq.js → ProfileAssetCollection-D5-tG9Mm-3KXpJivM.js} +3 -3
- package/dist/{ProfileCollection-CmRaiE9U-n8apgXIh.js → ProfileCollection-CmRaiE9U-oA-87ioN.js} +17 -17
- package/dist/{ProfileLinkCollection-pvPTsysg-DCmnAd7m.js → ProfileLinkCollection-pvPTsysg-Djb4JC2d.js} +2 -2
- package/dist/{ProfileMetadataCollection-CAgJyjze-BKpcvrnf.js → ProfileMetadataCollection-CAgJyjze-dPvbXSv3.js} +1 -1
- package/dist/{ProfileMetafieldCollection-19ae6Lpf-BuTJKzmz.js → ProfileMetafieldCollection-19ae6Lpf-CMEYQehx.js} +1 -1
- package/dist/{ProfileRelationshipCollection-BFSlTQ7J-DBbNdauk.js → ProfileRelationshipCollection-BFSlTQ7J-JB4edzdN.js} +1 -1
- package/dist/{ProfileTypeCollection-BRLK8cHS-COCy6yqF.js → ProfileTypeCollection-BRLK8cHS-Dj1fAp2N.js} +2 -2
- package/dist/app/portability-assets.d.ts +2 -0
- package/dist/app/portability-assets.d.ts.map +1 -1
- package/dist/app.js +2 -2
- package/dist/{cli-CtRx1_yP.js → cli-DXIN1FbA.js} +1 -1
- package/dist/commands/docs-claude.d.ts.map +1 -1
- package/dist/commands/docs-skills-install.d.ts +31 -0
- package/dist/commands/docs-skills-install.d.ts.map +1 -0
- package/dist/{commands-CGfM14Uj.js → commands-CInFW-FU.js} +138 -4
- package/dist/{dist-B00KCyNE.js → dist-BN2kcmgm.js} +2 -2
- package/dist/{dist-D7vejSNK.js → dist-BPpS7FPO.js} +4 -4
- package/dist/{dist-BGEMcSs-.js → dist-c3-qNy0h.js} +5 -5
- package/dist/index.js +12 -12
- package/dist/{oidcProvisioningPrimitives-KpIiLmG4-Csnh1ENp.js → oidcProvisioningPrimitives-KpIiLmG4-D1a2bRf8.js} +3 -3
- package/dist/{operator-DCwooIiI.js → operator-n6zKS1br.js} +2 -2
- package/dist/{portability-CbMgEnD1.js → portability-sL8U5Hld.js} +21 -13
- package/dist/{resolveIdentity-j2WFuKDT-DZTwcb-u.js → resolveIdentity-j2WFuKDT-C2w7Bklk.js} +14 -14
- package/dist/smrt-knowledge.okf.md +3 -2
- package/package.json +11 -10
- package/dist/dist-DEKj_L2B.js +0 -1908
package/AGENTS.md
CHANGED
|
@@ -296,6 +296,7 @@ skipping it: agents/db-drop-framework-base-tables.md.
|
|
|
296
296
|
- `src/discovery/manifest-discovery.ts` — manifest auto-discovery
|
|
297
297
|
- `src/commands/docs-claude.ts` — downstream AGENTS.md generation + Claude alias; no object scanning
|
|
298
298
|
- `src/commands/docs-knowledge-bundle.ts` — knowledge-bundle half of `docs:agents`
|
|
299
|
+
- `src/commands/docs-skills-install.ts` — skill-installation half of `docs:agents` (#4708)
|
|
299
300
|
|
|
300
301
|
## docs:agents knowledge bundle (consumer contract)
|
|
301
302
|
|
|
@@ -309,6 +310,12 @@ artifacts — `scripts/ship-knowledge-pages.mjs` (root `pnpm build`, `prepack-pa
|
|
|
309
310
|
runs fall back to `docs/knowledge`). Links to uninstalled packages' pages dangle by design. The shape lives in
|
|
310
311
|
`@happyvertical/smrt-dev-mcp/knowledge` (`okf-bundle.ts`); `dev:knowledge-check` reads it (`stale-okf-bundle`).
|
|
311
312
|
|
|
313
|
+
Skill install (#4708): unless `--no-install-skills`, `docs:agents` also writes the `smrt-catalog` skill from
|
|
314
|
+
`@happyvertical/smrt-dev-mcp` to `.claude/skills/smrt-catalog/SKILL.md` and `.agents/skills/smrt-catalog/SKILL.md`
|
|
315
|
+
under the working directory (skipped on `--dry-run`). The copy carries a `<!-- smrt-generated: … smrt-dev-mcp@<version> … -->`
|
|
316
|
+
marker after the frontmatter: a rerun replaces a marked copy, a copy without the marker is left alone with a warning.
|
|
317
|
+
The shipped text names `.agents/smrt-knowledge/`; the installer substitutes the real bundle dir (`docs:claude`, custom `--output`). Only the smrt repository itself (root `package.json` name `@happyvertical/smrt`, not any pnpm monorepo) also gets `smrt-contribute`; an unmarked copy byte-identical to the shipped skill (the repo's own `.agents/skills/smrt-contribute`) counts as current. Destinations go through `containedPath` and are refused when any path segment is a symlink, before any write.
|
|
318
|
+
|
|
312
319
|
## Gotchas
|
|
313
320
|
|
|
314
321
|
- **Test mode detection**: checks `NODE_ENV=test`, `VITEST=true`, `global.it`/`describe` — may conflict with other test runners
|
package/README.md
CHANGED
|
@@ -186,6 +186,11 @@ alias supports the same flag and retains its historical output path.
|
|
|
186
186
|
Regenerate snapshots after moving the project or updating dependencies so the
|
|
187
187
|
local source paths remain current.
|
|
188
188
|
|
|
189
|
+
`docs:agents` also installs the `smrt-catalog` agent skill into
|
|
190
|
+
`.claude/skills/` and `.agents/skills/` so an agent consults the knowledge
|
|
191
|
+
catalog before hand-rolling infrastructure. Pass `--no-install-skills` to skip
|
|
192
|
+
it. A copy you edited (the generated marker removed) is never overwritten.
|
|
193
|
+
|
|
189
194
|
Review and architecture prompt bundles include package guidance and modules
|
|
190
195
|
matched by file or focus hints. Add `--complete` to either context command to
|
|
191
196
|
include every module for the selected packages. These commands still build the
|
package/agents/app-commands.md
CHANGED
|
@@ -97,6 +97,8 @@ config loading; `bin/smrt.js` imports `dist/` in-process so SIGTERM reaches
|
|
|
97
97
|
publishes via `link()` (never replaces); import requires a 0600 regular
|
|
98
98
|
bundle for the same app, an exactly matching manifest schema, and an empty
|
|
99
99
|
target; deployed import requires `SMRT_MAINTENANCE_MODE=true`.
|
|
100
|
+
Local relative asset locators resolve against the approved asset root during
|
|
101
|
+
export and stay relative after import. Legacy file URLs import as file URLs.
|
|
100
102
|
- **Process identity**: `app.pid` is trusted only when the live command
|
|
101
103
|
line's last two tokens are a path with basename `smrt-web.mjs` and exactly
|
|
102
104
|
`--smrt-instance=<record instance>` (an app started by the template's former
|
package/dist/{AuditLogCollection-BBbvr8Qc-DU-QXhH5.js → AuditLogCollection-BBbvr8Qc-vKb0VQnR.js}
RENAMED
|
@@ -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-
|
|
2
|
+
import { i as tenantId, r as TenantScoped } from "./dist-BN2kcmgm.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/AuditLogCollection-BBbvr8Qc.js
|
|
@@ -42,7 +42,7 @@ var OidcIdentity = class extends SmrtObject {
|
|
|
42
42
|
* Find identity by issuer and subject
|
|
43
43
|
*/
|
|
44
44
|
static async findBySubject(issuer, subject, options = {}) {
|
|
45
|
-
const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-
|
|
45
|
+
const { OidcIdentityCollection } = await import("./OidcIdentityCollection-D4DIZv0K-CDtom8IP.js").then((n) => n.r).then((n) => n.r);
|
|
46
46
|
return await (await OidcIdentityCollection.create(options)).findBySubject(issuer, subject);
|
|
47
47
|
}
|
|
48
48
|
/** Build the collision-free natural key for one OIDC issuer subject. */
|
|
@@ -65,7 +65,7 @@ var OidcIdentity = class extends SmrtObject {
|
|
|
65
65
|
static async findOrCreate(profile, oidcData, options = {}) {
|
|
66
66
|
const profileId = profile.id;
|
|
67
67
|
if (typeof profileId !== "string" || !profileId) throw new Error("OidcIdentity.findOrCreate() requires a saved Profile.");
|
|
68
|
-
const { reuseExistingOidcIdentityForProfile } = await import("./resolveIdentity-j2WFuKDT-
|
|
68
|
+
const { reuseExistingOidcIdentityForProfile } = await import("./resolveIdentity-j2WFuKDT-C2w7Bklk.js").then((n) => n.t).then((n) => n.i);
|
|
69
69
|
const profileOptions = profile.options ?? {};
|
|
70
70
|
return (await reuseExistingOidcIdentityForProfile(profileId, {
|
|
71
71
|
email: oidcData.email,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
2
|
import { n as __exportAll$1 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
|
|
3
|
-
import { t as OidcIdentity } from "./OidcIdentity-COeMidoC-
|
|
3
|
+
import { t as OidcIdentity } from "./OidcIdentity-COeMidoC-ou8ulS56.js";
|
|
4
4
|
import { SmrtCollection } from "@happyvertical/smrt-core";
|
|
5
5
|
//#region ../profiles/dist/chunks/OidcIdentityCollection-D4DIZv0K.js
|
|
6
6
|
var OidcIdentityCollection_D4DIZv0K_exports = /* @__PURE__ */ __exportAll({
|