@happyvertical/smrt-core 0.55.6 → 0.55.8

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 (205) hide show
  1. package/AGENTS.md +2 -1
  2. package/agents/browser-entry.md +44 -0
  3. package/agents/build-knowledge.md +20 -0
  4. package/agents/recipes.md +217 -0
  5. package/agents/revision-guard.md +72 -1
  6. package/dist/audit-context.d.ts.map +1 -1
  7. package/dist/audit-context.js +2 -2
  8. package/dist/audit-context.js.map +1 -1
  9. package/dist/browser.d.ts +2 -1
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js +7 -7
  12. package/dist/cascade.d.ts +1 -1
  13. package/dist/cascade.d.ts.map +1 -1
  14. package/dist/cascade.js +1 -1
  15. package/dist/cascade.js.map +1 -1
  16. package/dist/change-feed.d.ts.map +1 -1
  17. package/dist/change-feed.js +1 -2
  18. package/dist/change-feed.js.map +1 -1
  19. package/dist/class.d.ts +1 -1
  20. package/dist/class.d.ts.map +1 -1
  21. package/dist/class.js +7 -3
  22. package/dist/class.js.map +1 -1
  23. package/dist/collection.d.ts.map +1 -1
  24. package/dist/collection.js +1 -1
  25. package/dist/collection.js.map +1 -1
  26. package/dist/consumer-plugin/index.js +2 -2
  27. package/dist/data-query.d.ts.map +1 -1
  28. package/dist/data-query.js +2 -13
  29. package/dist/data-query.js.map +1 -1
  30. package/dist/database.js +1 -1
  31. package/dist/database.js.map +1 -1
  32. package/dist/dispatch/bus.js +1 -1
  33. package/dist/dispatch/bus.js.map +1 -1
  34. package/dist/embedded-write-queue.d.ts +1 -1
  35. package/dist/embedded-write-queue.d.ts.map +1 -1
  36. package/dist/embedded-write-queue.js +7 -5
  37. package/dist/embedded-write-queue.js.map +1 -1
  38. package/dist/embeddings/hash.js +2 -2
  39. package/dist/embeddings/hash.js.map +1 -1
  40. package/dist/embeddings/storage.d.ts.map +1 -1
  41. package/dist/embeddings/storage.js +1 -2
  42. package/dist/embeddings/storage.js.map +1 -1
  43. package/dist/errors.d.ts.map +1 -1
  44. package/dist/errors.js +1 -0
  45. package/dist/errors.js.map +1 -1
  46. package/dist/generation-snapshot.js +1 -1
  47. package/dist/generators/index.js +1 -1
  48. package/dist/generators/mcp.js +3 -3
  49. package/dist/generators/preflight-route.js +1 -1
  50. package/dist/generators/rest.js +1 -1
  51. package/dist/generators.js +1 -1
  52. package/dist/host.browser.d.ts +12 -0
  53. package/dist/host.browser.d.ts.map +1 -0
  54. package/dist/host.browser.js +30 -0
  55. package/dist/host.browser.js.map +1 -0
  56. package/dist/host.d.ts +18 -0
  57. package/dist/host.d.ts.map +1 -0
  58. package/dist/host.js +15 -0
  59. package/dist/host.js.map +1 -0
  60. package/dist/index.d.ts +1 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +10 -9
  63. package/dist/knowledge.d.ts.map +1 -1
  64. package/dist/knowledge.js +6 -4
  65. package/dist/knowledge.js.map +1 -1
  66. package/dist/manifest/browser-capability.generated.d.ts +14 -0
  67. package/dist/manifest/browser-capability.generated.d.ts.map +1 -0
  68. package/dist/manifest/browser-capability.generated.js +499 -0
  69. package/dist/manifest/browser-capability.generated.js.map +1 -0
  70. package/dist/manifest/discover-base-classes.js +1 -1
  71. package/dist/manifest/discover-smrt-packages.js +1 -1
  72. package/dist/manifest/generator.js +3 -3
  73. package/dist/manifest/index.js +2 -2
  74. package/dist/manifest/local-manifest-reader.d.ts +48 -0
  75. package/dist/manifest/local-manifest-reader.d.ts.map +1 -0
  76. package/dist/manifest/local-manifest-reader.js +81 -0
  77. package/dist/manifest/local-manifest-reader.js.map +1 -0
  78. package/dist/manifest/manager.d.ts +5 -28
  79. package/dist/manifest/manager.d.ts.map +1 -1
  80. package/dist/manifest/manager.js +10 -56
  81. package/dist/manifest/manager.js.map +1 -1
  82. package/dist/manifest/manifest-loader.d.ts +1 -1
  83. package/dist/manifest/manifest-loader.d.ts.map +1 -1
  84. package/dist/manifest/manifest-loader.js +43 -12
  85. package/dist/manifest/manifest-loader.js.map +1 -1
  86. package/dist/manifest/node-host.d.ts +38 -0
  87. package/dist/manifest/node-host.d.ts.map +1 -0
  88. package/dist/manifest/node-host.js +52 -0
  89. package/dist/manifest/node-host.js.map +1 -0
  90. package/dist/manifest/package-manifest-exports.js +1 -1
  91. package/dist/manifest/static-manifest.d.ts.map +1 -1
  92. package/dist/manifest/static-manifest.js +12 -2
  93. package/dist/manifest/static-manifest.js.map +1 -1
  94. package/dist/manifest/store.d.ts +2 -1
  95. package/dist/manifest/store.d.ts.map +1 -1
  96. package/dist/manifest/store.js +7 -4
  97. package/dist/manifest/store.js.map +1 -1
  98. package/dist/manifest.js +1 -1
  99. package/dist/manifest.json +14 -2
  100. package/dist/native-duckdb.d.ts +28 -0
  101. package/dist/native-duckdb.d.ts.map +1 -0
  102. package/dist/native-duckdb.js +51 -0
  103. package/dist/native-duckdb.js.map +1 -0
  104. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/_md.js +169 -0
  105. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/_md.js.map +1 -0
  106. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/_u64.js +13 -0
  107. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/_u64.js.map +1 -0
  108. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/sha2.js +198 -0
  109. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/sha2.js.map +1 -0
  110. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/utils.js +243 -0
  111. package/dist/node_modules/.pnpm/@noble_hashes@2.4.0/node_modules/@noble/hashes/utils.js.map +1 -0
  112. package/dist/object.d.ts +56 -0
  113. package/dist/object.d.ts.map +1 -1
  114. package/dist/object.js +139 -16
  115. package/dist/object.js.map +1 -1
  116. package/dist/postgres-permissions.d.ts.map +1 -1
  117. package/dist/postgres-permissions.js +3 -3
  118. package/dist/postgres-permissions.js.map +1 -1
  119. package/dist/prebuild/index.js +1 -1
  120. package/dist/recipe-demo.d.ts +70 -0
  121. package/dist/recipe-demo.d.ts.map +1 -0
  122. package/dist/recipe-demo.js +130 -0
  123. package/dist/recipe-demo.js.map +1 -0
  124. package/dist/recipe.d.ts +64 -1
  125. package/dist/recipe.d.ts.map +1 -1
  126. package/dist/recipe.js +30 -0
  127. package/dist/recipe.js.map +1 -1
  128. package/dist/registry/class-registration.js +2 -2
  129. package/dist/registry/class-registration.js.map +1 -1
  130. package/dist/registry/db-cache-key.js +4 -5
  131. package/dist/registry/db-cache-key.js.map +1 -1
  132. package/dist/registry/inheritance-resolver.js +1 -1
  133. package/dist/registry/name-resolver.js +1 -1
  134. package/dist/registry/qualified-name-aliases.js +1 -1
  135. package/dist/registry/schema-builder.d.ts.map +1 -1
  136. package/dist/registry/schema-builder.js +3 -3
  137. package/dist/registry/schema-builder.js.map +1 -1
  138. package/dist/registry/types.d.ts +5 -0
  139. package/dist/registry/types.d.ts.map +1 -1
  140. package/dist/registry.d.ts.map +1 -1
  141. package/dist/registry.js +5 -8
  142. package/dist/registry.js.map +1 -1
  143. package/dist/revision-guard.js +1 -1
  144. package/dist/revision-guard.js.map +1 -1
  145. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  146. package/dist/scanner/manifest-generator.js +19 -10
  147. package/dist/scanner/manifest-generator.js.map +1 -1
  148. package/dist/scanner/recipe-demo-pass.d.ts +14 -0
  149. package/dist/scanner/recipe-demo-pass.d.ts.map +1 -0
  150. package/dist/scanner/recipe-demo-pass.js +33 -0
  151. package/dist/scanner/recipe-demo-pass.js.map +1 -0
  152. package/dist/scanner/types.d.ts +9 -1
  153. package/dist/scanner/types.d.ts.map +1 -1
  154. package/dist/scanner/types.js.map +1 -1
  155. package/dist/schema/ddl/duckdb-strategy.d.ts.map +1 -1
  156. package/dist/schema/ddl/duckdb-strategy.js +1 -1
  157. package/dist/schema/ddl/duckdb-strategy.js.map +1 -1
  158. package/dist/schema/foreign-key-planner.d.ts.map +1 -1
  159. package/dist/schema/foreign-key-planner.js +1 -1
  160. package/dist/schema/foreign-key-planner.js.map +1 -1
  161. package/dist/schema/generator.d.ts.map +1 -1
  162. package/dist/schema/generator.js +10 -14
  163. package/dist/schema/generator.js.map +1 -1
  164. package/dist/schema/schema-aggregator.js +1 -1
  165. package/dist/scripts/browser-entry-evaluation.mjs +157 -0
  166. package/dist/smrt-knowledge.json +32 -12
  167. package/dist/system/browser.d.ts +16 -0
  168. package/dist/system/browser.d.ts.map +1 -0
  169. package/dist/system/browser.js +6 -0
  170. package/dist/system/index.d.ts +1 -6
  171. package/dist/system/index.d.ts.map +1 -1
  172. package/dist/system/index.js +2 -1
  173. package/dist/testing/database.js +1 -1
  174. package/dist/tools/index.js +1 -1
  175. package/dist/unchanged-indexed.d.ts +85 -0
  176. package/dist/unchanged-indexed.d.ts.map +1 -0
  177. package/dist/unchanged-indexed.js +219 -0
  178. package/dist/unchanged-indexed.js.map +1 -0
  179. package/dist/utils/async-context.d.ts +22 -0
  180. package/dist/utils/async-context.d.ts.map +1 -0
  181. package/dist/utils/async-context.js +27 -0
  182. package/dist/utils/async-context.js.map +1 -0
  183. package/dist/utils/import-project-vite.js +1 -1
  184. package/dist/utils/import-workspace-module.js +1 -1
  185. package/dist/utils/json.browser.d.ts +18 -0
  186. package/dist/utils/json.browser.d.ts.map +1 -0
  187. package/dist/utils/json.browser.js +47 -0
  188. package/dist/utils/json.browser.js.map +1 -0
  189. package/dist/utils/sha256.d.ts +15 -0
  190. package/dist/utils/sha256.d.ts.map +1 -0
  191. package/dist/utils/sha256.js +29 -0
  192. package/dist/utils/sha256.js.map +1 -0
  193. package/dist/vite-plugin/changes-route.js +1 -1
  194. package/dist/vite-plugin/dev-plane-route.js +1 -1
  195. package/dist/vite-plugin/events-route.js +1 -1
  196. package/dist/vite-plugin/import-build-aware.js +1 -1
  197. package/dist/vite-plugin/index.js +2 -2
  198. package/dist/vite-plugin/resources-route.js +1 -1
  199. package/dist/vite-plugin/sveltekit-generator.js +2 -2
  200. package/dist/vite-plugin/sveltekit-path.js +1 -1
  201. package/dist/vite-plugin/sveltekit-register-injection.js +1 -1
  202. package/dist/vite-plugin/sveltekit-route-coordinator.js +1 -1
  203. package/dist/vite-plugin/sync-apply-route.js +1 -1
  204. package/dist/vite-plugin/web-collections.js +2 -2
  205. package/package.json +21 -11
@@ -1,8 +1,8 @@
1
1
  import { DETERMINISTIC_GENERATED_AT } from "../scanner/types.js";
2
- import { publishAtomicArtifact } from "../consumer-plugin/artifact-publication.js";
3
2
  import { CRUD_OPERATIONS } from "../generators/custom-action.js";
4
3
  import { findCliApiCoherenceViolations, generateSvelteKitRoutes, methodNameToKebab, resolveApiActionRouteConfig, resolveApiActionSet, validateCliIncludeAgainstApi } from "./sveltekit-generator.js";
5
4
  import { buildWebMcpToolDefinitions, compareText, generateWebModule, selectWebCollectionEntries } from "./web-collections.js";
5
+ import { publishAtomicArtifact } from "../consumer-plugin/artifact-publication.js";
6
6
  import { mergeKnowledgeConfig, resolveFileKnowledgeConfig } from "../knowledge-config.js";
7
7
  import { buildDomainKnowledgeManifest } from "../knowledge.js";
8
8
  import { importWorkspaceModule } from "../utils/import-workspace-module.js";
@@ -15,8 +15,8 @@ import { injectPackageStamps, packageStampText } from "./package-stamp.js";
15
15
  import { injectSvelteKitRegistration } from "./sveltekit-register-injection.js";
16
16
  import { assertSvelteKitRouteCoordinationComplete, contributeSvelteKitRoutes, expectedSvelteKitRouteOwners, markSvelteKitRouteParticipant } from "./sveltekit-route-coordinator.js";
17
17
  import { buildWorkerRegistration } from "./worker-registration.js";
18
- import { existsSync, readFileSync } from "node:fs";
19
18
  import { dirname, join, resolve } from "node:path";
19
+ import { existsSync, readFileSync } from "node:fs";
20
20
  import { fileURLToPath } from "node:url";
21
21
  //#region src/vite-plugin/index.ts
22
22
  /**
@@ -1,8 +1,8 @@
1
1
  import { AUTO_GENERATED_ROUTE_HEADER } from "./route-header.js";
2
2
  import { resolveSvelteKitConfigImport } from "./sveltekit-config-import.js";
3
+ import { join } from "node:path";
3
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
4
5
  import { createRequire } from "node:module";
5
- import { join } from "node:path";
6
6
  import { pathToFileURL } from "node:url";
7
7
  //#region src/vite-plugin/resources-route.ts
8
8
  /**
@@ -1,7 +1,7 @@
1
1
  import { MAX_LIST_LIMIT, buildDefaultListOrderBy } from "../query-bounds.js";
2
- import { CRUD_OPERATIONS, createManifestClassNamePredicate, declaredTypeAcceptsDate, isCrudOperation, isFrameworkLifecycleMethod, queryStringDecoderFor, resolveApiMethodExposure, resolveCustomActionMetadata, resolveCustomActionNames, resolveDeclaredScopeMismatch, resolveEffectiveActionMetadata } from "../generators/custom-action.js";
3
2
  import { isFrameworkBaseClass } from "../registry/framework-base-classes.js";
4
3
  import { generateConditionalGetRouteHelper } from "../generators/conditional-get.js";
4
+ import { CRUD_OPERATIONS, createManifestClassNamePredicate, declaredTypeAcceptsDate, isCrudOperation, isFrameworkLifecycleMethod, queryStringDecoderFor, resolveApiMethodExposure, resolveCustomActionMetadata, resolveCustomActionNames, resolveDeclaredScopeMismatch, resolveEffectiveActionMetadata } from "../generators/custom-action.js";
5
5
  import { AUTO_GENERATED_ROUTE_HEADER } from "./route-header.js";
6
6
  import { assertSvelteKitConfigModuleNotReserved, generateCollectionAccessImports, resolveSvelteKitConfigImport } from "./sveltekit-config-import.js";
7
7
  import { generateChangesRoute } from "./changes-route.js";
@@ -11,9 +11,9 @@ import { generateResourcesRoute, reservesResourcesRoute } from "./resources-rout
11
11
  import { canonicalSvelteKitPath } from "./sveltekit-path.js";
12
12
  import { collectSyncApplyTargets, generateSyncApplyRoute } from "./sync-apply-route.js";
13
13
  import { computeWebManifestHash, isCollectionManifestClass, orderedManifestObjectEntries, resolveCollectionItemObject, resolveCollectionItemTypeName } from "./web-collections.js";
14
+ import { isAbsolute, join, relative, resolve, sep } from "node:path";
14
15
  import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
15
16
  import { createRequire } from "node:module";
16
- import { isAbsolute, join, relative, resolve, sep } from "node:path";
17
17
  import { pathToFileURL } from "node:url";
18
18
  //#region src/vite-plugin/sveltekit-generator.ts
19
19
  /**
@@ -1,5 +1,5 @@
1
- import { existsSync, realpathSync } from "node:fs";
2
1
  import { basename, dirname, resolve } from "node:path";
2
+ import { existsSync, realpathSync } from "node:fs";
3
3
  //#region src/vite-plugin/sveltekit-path.ts
4
4
  /**
5
5
  * Identifies an output path by its physical location without requiring the
@@ -1,5 +1,5 @@
1
- import { existsSync } from "node:fs";
2
1
  import { join, resolve } from "node:path";
2
+ import { existsSync } from "node:fs";
3
3
  //#region src/vite-plugin/sveltekit-register-injection.ts
4
4
  /**
5
5
  * Register generated objects before the application's server config module
@@ -1,7 +1,7 @@
1
1
  import { canonicalSvelteKitPath } from "./sveltekit-path.js";
2
2
  import { assertNoCrossObjectRouteCollisions, generateSvelteKitRoutes, knowledgeRoutePath } from "./sveltekit-generator.js";
3
- import { existsSync, readdirSync, statSync } from "node:fs";
4
3
  import { join, relative, resolve, sep } from "node:path";
4
+ import { existsSync, readdirSync, statSync } from "node:fs";
5
5
  //#region src/vite-plugin/sveltekit-route-coordinator.ts
6
6
  var ROUTE_PARTICIPANT = Symbol("smrt.sveltekit-route-participant");
7
7
  var coordinators = /* @__PURE__ */ new WeakMap();
@@ -2,8 +2,8 @@ import { isFrameworkBaseClass } from "../registry/framework-base-classes.js";
2
2
  import { AUTO_GENERATED_ROUTE_HEADER } from "./route-header.js";
3
3
  import { generateCollectionAccessImports } from "./sveltekit-config-import.js";
4
4
  import { isCollectionManifestClass } from "./web-collections.js";
5
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
6
5
  import { join } from "node:path";
6
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
7
  //#region src/vite-plugin/sync-apply-route.ts
8
8
  /**
9
9
  * SvelteKit generator for the sync-apply batch write route (#1759).
@@ -1,7 +1,7 @@
1
- import { customActionParameterInputName, isCrudOperation, isCrudToolAction, resolveCustomActionMetadata } from "../generators/custom-action.js";
2
- import { isFieldUIWidget } from "../ui-metadata.js";
3
1
  import { isFrameworkBaseClass } from "../registry/framework-base-classes.js";
4
2
  import { readFieldEnum } from "../registry/manifest-field-merge.js";
3
+ import { customActionParameterInputName, isCrudOperation, isCrudToolAction, resolveCustomActionMetadata } from "../generators/custom-action.js";
4
+ import { isFieldUIWidget } from "../ui-metadata.js";
5
5
  import { buildToolDescriptors, finalizeMcpJsonSchema, isCrudAction } from "../generators/tool-schema.js";
6
6
  import { resolveApiActionRouteConfig, resolveApiActionSet } from "./sveltekit-generator.js";
7
7
  import { createHash } from "node:crypto";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-core",
3
- "version": "0.55.6",
3
+ "version": "0.55.8",
4
4
  "description": "Core AI agent framework with standardized collections, object-relational mapping, and code generators",
5
5
  "author": "HappyVertical",
6
6
  "type": "module",
@@ -143,6 +143,11 @@
143
143
  "import": "./dist/ui-metadata.js",
144
144
  "default": "./dist/ui-metadata.js"
145
145
  },
146
+ "./recipe-demo": {
147
+ "types": "./dist/recipe-demo.d.ts",
148
+ "import": "./dist/recipe-demo.js",
149
+ "default": "./dist/recipe-demo.js"
150
+ },
146
151
  "./utils/database-url": {
147
152
  "types": "./dist/utils/database-url.d.ts",
148
153
  "import": "./dist/utils/database-url.js",
@@ -164,16 +169,21 @@
164
169
  "default": "./dist/testing.js"
165
170
  }
166
171
  },
172
+ "browser": {
173
+ "./dist/host.js": "./dist/host.browser.js",
174
+ "./dist/utils/json.js": "./dist/utils/json.browser.js"
175
+ },
167
176
  "dependencies": {
168
- "@happyvertical/ai": "^0.102.4",
169
- "@happyvertical/files": "^0.102.4",
170
- "@happyvertical/json": "^0.102.4",
171
- "@happyvertical/logger": "^0.102.4",
172
- "@happyvertical/smrt-config": "0.55.6",
173
- "@happyvertical/smrt-scanner": "0.55.6",
174
- "@happyvertical/smrt-types": "0.55.6",
175
- "@happyvertical/sql": "^0.102.4",
176
- "@happyvertical/utils": "^0.102.4",
177
+ "@happyvertical/ai": "^0.103.1",
178
+ "@happyvertical/files": "^0.103.1",
179
+ "@happyvertical/json": "^0.103.1",
180
+ "@happyvertical/logger": "^0.103.1",
181
+ "@happyvertical/smrt-config": "0.55.8",
182
+ "@happyvertical/smrt-scanner": "0.55.8",
183
+ "@happyvertical/smrt-types": "0.55.8",
184
+ "@happyvertical/sql": "^0.103.1",
185
+ "@happyvertical/utils": "^0.103.1",
186
+ "@noble/hashes": "^2.4.0",
177
187
  "@oxc-project/runtime": "^0.150.0",
178
188
  "cheerio": "^1.2.0",
179
189
  "fast-glob": "3.3.3",
@@ -223,7 +233,7 @@
223
233
  "generate": "node scripts/generate-manifest.js",
224
234
  "generate:test": "node scripts/generate-test-manifest.js",
225
235
  "test": "node scripts/generate-test-manifest.js && vitest run",
226
- "test:browser": "node scripts/browser-plain-json-regression.mjs",
236
+ "test:browser": "node scripts/browser-plain-json-regression.mjs && node scripts/browser-entry-evaluation.mjs",
227
237
  "test:postgres": "node scripts/generate-test-manifest.js && NODE_OPTIONS=--trace-deprecation node ../../scripts/run-with-ci-postgres.mjs -- pnpm exec vitest run optional.test.ts",
228
238
  "test:integration": "TEST_INTEGRATION=1 vitest run src/__tests__/full-registry-integration.test.ts src/__tests__/manifest-no-leak.test.ts",
229
239
  "test:watch": "node scripts/generate-test-manifest.js && vitest",