@happyvertical/smrt-dev-mcp 0.40.62 → 0.40.64
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 +35 -1
- package/README.md +42 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -500
- package/dist/index.js.map +1 -1
- package/dist/knowledge/index.d.ts +36 -3
- package/dist/knowledge/index.d.ts.map +1 -1
- package/dist/knowledge/mcp-docs.d.ts +16 -0
- package/dist/knowledge/mcp-docs.d.ts.map +1 -0
- package/dist/{knowledge-DUUhTM5u.js → knowledge-A7-gIjW4.js} +799 -31
- package/dist/knowledge-A7-gIjW4.js.map +1 -0
- package/dist/knowledge.js +1 -1
- package/dist/tool-catalog.d.ts +4 -0
- package/dist/tool-catalog.d.ts.map +1 -0
- package/package.json +4 -4
- package/dist/knowledge-DUUhTM5u.js.map +0 -1
package/AGENTS.md
CHANGED
|
@@ -23,6 +23,10 @@ deterministic SMRT ecosystem knowledge, and portable agent workflows.
|
|
|
23
23
|
| `list-agent-skills` | Lists bundled harness-agnostic agent skills |
|
|
24
24
|
| `get-agent-skill` | Returns a bundled agent skill as Markdown plus optional references |
|
|
25
25
|
|
|
26
|
+
`pnpm knowledge:check --strict --format markdown` compares this catalog and the
|
|
27
|
+
README parameter tables to the exported `TOOLS` definitions. Add or change a
|
|
28
|
+
tool schema and its authored documentation in the same commit.
|
|
29
|
+
|
|
26
30
|
## Knowledge Discovery (#2143)
|
|
27
31
|
|
|
28
32
|
Discovery reads the workspace globs instead of assuming `<root>/packages`:
|
|
@@ -44,6 +48,36 @@ amplify into unbounded filesystem work. Discovery also stops before package
|
|
|
44
48
|
reads when more than 512 packages match, revalidates confinement immediately
|
|
45
49
|
before reading each package, and runs at most eight scanner fallbacks at once.
|
|
46
50
|
|
|
51
|
+
### Consumer apps (#2275)
|
|
52
|
+
|
|
53
|
+
An app that installs the published packages authors none of them, so workspace
|
|
54
|
+
discovery alone sees nothing. Every installed `@happyvertical/smrt-*` package,
|
|
55
|
+
plus the known SDK packages, is resolved from the project's and each workspace
|
|
56
|
+
package's `node_modules/@happyvertical` scope directory and marked
|
|
57
|
+
`isInstalledDependency`. This is an enumeration, not a walk: pnpm materializes
|
|
58
|
+
a store whose entries link back out to their siblings, so a descent reads the
|
|
59
|
+
same package once per path that reaches it. Real paths deduplicate the result;
|
|
60
|
+
each package is still read through its `node_modules` path, because a realpath
|
|
61
|
+
escapes the root wherever an ancestor is a symlink. A workspace package linked
|
|
62
|
+
into a sibling's `node_modules` is authored source and is never marked
|
|
63
|
+
installed.
|
|
64
|
+
|
|
65
|
+
- `--scope installed` reports exactly those packages. `local` and `package`
|
|
66
|
+
exclude them; `project` includes them; the index also lists them separately
|
|
67
|
+
as `installedPackages` (`schemaVersion: 3`). It is a reporting scope:
|
|
68
|
+
`dev:knowledge-check` has no authored packages to gate under it.
|
|
69
|
+
- Each package carries `agentDocSha256`, the hash of its shipped `AGENTS.md`.
|
|
70
|
+
That is the drift signal a consumer diffs against a recorded baseline — a
|
|
71
|
+
version bump is not, because most releases do not touch a documented surface.
|
|
72
|
+
- The freshness gate skips installed packages entirely: indexed, never checked.
|
|
73
|
+
A consumer cannot add an `AGENTS.md` to a dependency, and a published
|
|
74
|
+
package's artifact hashes cannot match its republished sources.
|
|
75
|
+
- Coverage and the `no-smrt-objects-discovered` guard count authored packages
|
|
76
|
+
only. Dependencies ship their own objects, so counting them would make that
|
|
77
|
+
guard unreachable in exactly the projects most likely to have broken
|
|
78
|
+
discovery. A project whose own packages contribute nothing while its
|
|
79
|
+
dependencies do gets the `no-authored-smrt-objects` warning instead.
|
|
80
|
+
|
|
47
81
|
Per package, objects resolve in this order, and the winner is recorded in
|
|
48
82
|
`objectSource` with a reason:
|
|
49
83
|
|
|
@@ -52,7 +86,7 @@ Per package, objects resolve in this order, and the winner is recorded in
|
|
|
52
86
|
3. `scanner` — `OxcScanner` + `ManifestAdapter` over the package's sources
|
|
53
87
|
4. `none` — with a machine-readable reason
|
|
54
88
|
|
|
55
|
-
The index exposes `coverage` and `diagnostics` (`schemaVersion: 2`). Zero
|
|
89
|
+
The index exposes `coverage` and `diagnostics` (added in `schemaVersion: 2`). Zero
|
|
56
90
|
discovered objects is an **error-grade** diagnostic that names the roots and
|
|
57
91
|
artifact paths checked plus the fix, and it propagates into
|
|
58
92
|
`smrt-architecture`/`smrt-review`/`reflect-*` results and prompt bundles.
|
package/README.md
CHANGED
|
@@ -124,7 +124,7 @@ dependency edge — by connected component, keeping the copy the others depend o
|
|
|
124
124
|
and reports `duplicate-object-identity`. Unrelated packages that share a class
|
|
125
125
|
name stay distinct.
|
|
126
126
|
|
|
127
|
-
The index therefore carries two extra blocks (`schemaVersion: 2`):
|
|
127
|
+
The index therefore carries two extra blocks (added in `schemaVersion: 2`):
|
|
128
128
|
|
|
129
129
|
- `coverage` — `workspaceGlobs`, `workspaceGlobSource`, `packageDirs`,
|
|
130
130
|
`packagesWithObjects`, and `packagesWithoutObjects` with a reason, the artifact
|
|
@@ -134,6 +134,13 @@ The index therefore carries two extra blocks (`schemaVersion: 2`):
|
|
|
134
134
|
commands to fix it, so an unseen project is never reported as a project with no
|
|
135
135
|
model. `smrt-architecture`, `smrt-review`, and the `reflect-*` tools surface it.
|
|
136
136
|
|
|
137
|
+
`schemaVersion: 3` adds the consumer-app view: `installedPackages` lists every
|
|
138
|
+
installed `@happyvertical/smrt-*` package plus the known SDK packages — the ones
|
|
139
|
+
the project installs rather than authors — each with `isInstalledDependency`, its
|
|
140
|
+
version, and `agentDocSha256`, the hash of its shipped `AGENTS.md`. That hash is
|
|
141
|
+
what a downstream project diffs against a recorded baseline to find documentation
|
|
142
|
+
drift. Reach it with `--scope installed`.
|
|
143
|
+
|
|
137
144
|
## Response Budgets
|
|
138
145
|
|
|
139
146
|
Knowledge and introspection tools return a **summary** by default and accept
|
|
@@ -235,14 +242,14 @@ Generate a complete s-m-r-t class with `@smrt()` decorator, fields, and imports.
|
|
|
235
242
|
| Parameter | Type | Required | Description |
|
|
236
243
|
|-----------|------|----------|-------------|
|
|
237
244
|
| `className` | `string` | Yes | Class name (PascalCase) |
|
|
238
|
-
| `properties` | `
|
|
239
|
-
| `baseClass` | `
|
|
240
|
-
| `template` | `
|
|
245
|
+
| `properties` | `object[]` | Yes | Property definitions (`name`, `type`, `required?`, `nullable?`, `description?`, `defaultValue?`) |
|
|
246
|
+
| `baseClass` | `'SmrtObject' \| 'SmrtCollection'` | No | `'SmrtObject'` (default) or `'SmrtCollection'` |
|
|
247
|
+
| `template` | `'basic' \| 'global-catalog' \| 'optional-catalog' \| 'tenant-project-object' \| 'tenant-event-log-object' \| 'cross-package-reference'` | No | Generation template (default: `basic`) |
|
|
241
248
|
| `tableName` | `string` | No | Explicit `@smrt({ tableName })` value |
|
|
242
249
|
| `conflictColumns` | `string[]` | No | Explicit upsert natural key columns |
|
|
243
|
-
| `tenantScoped` | `boolean
|
|
250
|
+
| `tenantScoped` | `boolean \| object` | No | Add `@TenantScoped(...)`; object supports `mode`, `field`, and bypass/filter options |
|
|
244
251
|
| `includeTenantIdField` | `boolean` | No | Emit a matching `@tenantId()` field |
|
|
245
|
-
| `relationships` | `
|
|
252
|
+
| `relationships` | `object[]` | No | Relationship definitions for `foreignKey`, `crossPackageRef`, `oneToMany`, or `manyToMany` |
|
|
246
253
|
| `includeCompanionSnippets` | `boolean` | No | Append package wiring notes |
|
|
247
254
|
| `includeApiConfig` | `boolean` | No | Include REST API config (default: true) |
|
|
248
255
|
| `includeMcpConfig` | `boolean` | No | Include MCP config (default: true) |
|
|
@@ -300,7 +307,7 @@ coverage, relationship-v2 counts, and freshness status.
|
|
|
300
307
|
| Parameter | Type | Required | Description |
|
|
301
308
|
|-----------|------|----------|-------------|
|
|
302
309
|
| `rootDir` | `string` | No | Project root directory (default: cwd) |
|
|
303
|
-
| `scope` | `
|
|
310
|
+
| `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
|
|
304
311
|
| `package` | `string` | No | Package name or short name to focus |
|
|
305
312
|
|
|
306
313
|
### `check-knowledge-freshness`
|
|
@@ -323,7 +330,7 @@ Alias over the deterministic checker that emphasizes downstream
|
|
|
323
330
|
| `rootDir` | `string` | No | Project root directory (default: cwd) |
|
|
324
331
|
| `changed` | `boolean` | No | Limit stale-pattern checks to changed files |
|
|
325
332
|
| `strict` | `boolean` | No | Treat stale-pattern findings as errors |
|
|
326
|
-
| `scope` | `
|
|
333
|
+
| `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
|
|
327
334
|
| `package` | `string` | No | Package name or short name to focus |
|
|
328
335
|
|
|
329
336
|
### `build-review-context`
|
|
@@ -337,11 +344,21 @@ then return a model-ready prompt bundle.
|
|
|
337
344
|
| `changedFiles` | `string[]` | No | Files to route to package experts |
|
|
338
345
|
| `focus` | `string` | No | Review focus or concern |
|
|
339
346
|
| `documentation` | `string` | No | Additional docs or notes to include |
|
|
347
|
+
| `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
|
|
340
348
|
|
|
341
349
|
### `build-domain-review-context`
|
|
342
350
|
|
|
343
|
-
Domain-scoped alias for `build-review-context`.
|
|
344
|
-
|
|
351
|
+
Domain-scoped alias for `build-review-context`.
|
|
352
|
+
|
|
353
|
+
| Parameter | Type | Required | Description |
|
|
354
|
+
|-----------|------|----------|-------------|
|
|
355
|
+
| `rootDir` | `string` | No | Project root directory (default: cwd) |
|
|
356
|
+
| `changedFiles` | `string[]` | No | Files to route to package experts |
|
|
357
|
+
| `focus` | `string` | No | Review focus or concern |
|
|
358
|
+
| `documentation` | `string` | No | Additional docs or notes to include |
|
|
359
|
+
| `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
|
|
360
|
+
| `package` | `string` | No | Package name or short name to focus |
|
|
361
|
+
| `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
|
|
345
362
|
|
|
346
363
|
### `smrt-review`
|
|
347
364
|
|
|
@@ -353,7 +370,8 @@ Return deterministic review findings, a prompt bundle, or both.
|
|
|
353
370
|
| `changedFiles` | `string[]` | No | Files to route to package experts |
|
|
354
371
|
| `focus` | `string` | No | Review focus or concern |
|
|
355
372
|
| `documentation` | `string` | No | Additional docs or notes to include |
|
|
356
|
-
| `mode` | `
|
|
373
|
+
| `mode` | `'findings' \| 'prompt-bundle' \| 'both'` | No | Response mode (default: `both`) |
|
|
374
|
+
| `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
|
|
357
375
|
|
|
358
376
|
### `build-architecture-context`
|
|
359
377
|
|
|
@@ -366,11 +384,21 @@ then return a model-ready architecture prompt bundle.
|
|
|
366
384
|
| `idea` | `string` | No | Product or implementation idea |
|
|
367
385
|
| `documentation` | `string` | No | Existing docs or requirements |
|
|
368
386
|
| `focus` | `string` | No | Architecture concern to prioritize |
|
|
387
|
+
| `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
|
|
369
388
|
|
|
370
389
|
### `build-domain-architecture-context`
|
|
371
390
|
|
|
372
|
-
Domain-scoped alias for `build-architecture-context`.
|
|
373
|
-
|
|
391
|
+
Domain-scoped alias for `build-architecture-context`.
|
|
392
|
+
|
|
393
|
+
| Parameter | Type | Required | Description |
|
|
394
|
+
|-----------|------|----------|-------------|
|
|
395
|
+
| `rootDir` | `string` | No | Project root directory (default: cwd) |
|
|
396
|
+
| `idea` | `string` | No | Product or implementation idea |
|
|
397
|
+
| `documentation` | `string` | No | Existing docs or requirements |
|
|
398
|
+
| `focus` | `string` | No | Architecture concern to prioritize |
|
|
399
|
+
| `scope` | `'project' \| 'local' \| 'package' \| 'sdk' \| 'installed'` | No | Knowledge source scope (default: `project`) |
|
|
400
|
+
| `package` | `string` | No | Package name or short name to focus |
|
|
401
|
+
| `detail` | `'summary' \| 'full'` | No | Default `summary`; `full` embeds authored docs and full package records |
|
|
374
402
|
|
|
375
403
|
### `smrt-architecture`
|
|
376
404
|
|
|
@@ -396,7 +424,7 @@ Return a bundled agent skill as Markdown, with optional referenced files.
|
|
|
396
424
|
|
|
397
425
|
| Parameter | Type | Required | Description |
|
|
398
426
|
|-----------|------|----------|-------------|
|
|
399
|
-
| `name` | `
|
|
427
|
+
| `name` | `'smrt-code-review'` | Yes | Skill name |
|
|
400
428
|
| `includeReferences` | `boolean` | No | Include referenced files (default: true) |
|
|
401
429
|
|
|
402
430
|
## MCP Resources And Prompts
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Server
|
|
1
|
+
import { Server } from '@modelcontextprotocol/server';
|
|
2
|
+
export { TOOLS } from './tool-catalog.js';
|
|
2
3
|
export declare const SERVER_VERSION: string;
|
|
3
|
-
export declare const TOOLS: Tool[];
|
|
4
4
|
export declare function createServer(): Server;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,MAAM,EACP,MAAM,8BAA8B,CAAC;AAqBtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,eAAO,MAAM,cAAc,QAAuB,CAAC;AAuBnD,wBAAgB,YAAY,IAAI,MAAM,CAkfrC"}
|