@happyvertical/smrt-core 0.51.27 → 0.51.29
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 +20 -0
- package/README.md +47 -0
- package/agents/build-knowledge.md +16 -0
- package/agents/change-feed.md +95 -4
- package/agents/change-signals.md +6 -1
- package/agents/run-once.md +268 -0
- package/agents/schema-paths.md +17 -5
- package/dist/browser.js +4 -3
- package/dist/change-feed-authz.d.ts +141 -0
- package/dist/change-feed-authz.d.ts.map +1 -0
- package/dist/change-feed-authz.js +260 -0
- package/dist/change-feed-authz.js.map +1 -0
- package/dist/change-feed.d.ts +15 -0
- package/dist/change-feed.d.ts.map +1 -1
- package/dist/change-feed.js +4 -0
- package/dist/change-feed.js.map +1 -1
- package/dist/errors.d.ts +28 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +36 -1
- package/dist/errors.js.map +1 -1
- package/dist/generators/changes-route.d.ts.map +1 -1
- package/dist/generators/changes-route.js +13 -3
- package/dist/generators/changes-route.js.map +1 -1
- package/dist/generators/events-route.d.ts +35 -4
- package/dist/generators/events-route.d.ts.map +1 -1
- package/dist/generators/events-route.js +78 -14
- package/dist/generators/events-route.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +1 -1
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/migrations/differ.d.ts +6 -3
- package/dist/migrations/differ.d.ts.map +1 -1
- package/dist/migrations/differ.js +11 -5
- package/dist/migrations/differ.js.map +1 -1
- package/dist/registry/class-registration.d.ts.map +1 -1
- package/dist/registry/class-registration.js +21 -1
- package/dist/registry/class-registration.js.map +1 -1
- package/dist/registry/types.d.ts +3 -1
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/run-once.d.ts +80 -0
- package/dist/run-once.d.ts.map +1 -0
- package/dist/run-once.js +311 -0
- package/dist/run-once.js.map +1 -0
- package/dist/smrt-knowledge.json +20 -14
- package/dist/system/index.d.ts +1 -0
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +3 -2
- package/dist/system/retention.d.ts +53 -4
- package/dist/system/retention.d.ts.map +1 -1
- package/dist/system/retention.js +67 -14
- package/dist/system/retention.js.map +1 -1
- package/dist/system/schema.d.ts +33 -1
- package/dist/system/schema.d.ts.map +1 -1
- package/dist/system/schema.js +60 -3
- package/dist/system/schema.js.map +1 -1
- package/dist/vite-plugin/changes-route.d.ts.map +1 -1
- package/dist/vite-plugin/changes-route.js +21 -5
- package/dist/vite-plugin/changes-route.js.map +1 -1
- package/dist/vite-plugin/events-route.d.ts.map +1 -1
- package/dist/vite-plugin/events-route.js +9 -0
- package/dist/vite-plugin/events-route.js.map +1 -1
- package/dist/vite-plugin/index.d.ts.map +1 -1
- package/dist/vite-plugin/index.js +14 -0
- package/dist/vite-plugin/index.js.map +1 -1
- package/dist/vite-plugin/worker-registration.d.ts +34 -0
- package/dist/vite-plugin/worker-registration.d.ts.map +1 -0
- package/dist/vite-plugin/worker-registration.js +108 -0
- package/dist/vite-plugin/worker-registration.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Alias, ResolvedConfig } from 'vite';
|
|
2
|
+
/** Directory (under the project root) the compiled registration is written to. */
|
|
3
|
+
export declare const WORKER_REGISTRATION_DIR = ".smrt/runtime";
|
|
4
|
+
/** Entry file name inside {@link WORKER_REGISTRATION_DIR}. */
|
|
5
|
+
export declare const WORKER_REGISTRATION_ENTRY = "register.js";
|
|
6
|
+
/** Project-relative path a worker imports: `.smrt/runtime/register.js`. */
|
|
7
|
+
export declare const WORKER_REGISTRATION_PATH = ".smrt/runtime/register.js";
|
|
8
|
+
/**
|
|
9
|
+
* The resolved aliases that point at the application's own sources (e.g.
|
|
10
|
+
* SvelteKit's `$lib` → `src/lib`). Aliases that map a package name elsewhere
|
|
11
|
+
* are dropped: the compiled registration must import packages exactly as the
|
|
12
|
+
* deployed process resolves them, from `node_modules`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function projectSourceAliases(projectRoot: string, aliases: readonly Alias[] | undefined): Alias[];
|
|
15
|
+
/**
|
|
16
|
+
* Rollup `external` predicate: bundle relative, absolute (resolved), virtual,
|
|
17
|
+
* and project-alias imports; keep every other bare specifier external.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createWorkerRegistrationExternal(aliases: readonly Alias[]): (id: string) => boolean;
|
|
20
|
+
export interface BuildWorkerRegistrationOptions {
|
|
21
|
+
/** The application root (where `.smrt/` lives). */
|
|
22
|
+
projectRoot: string;
|
|
23
|
+
/** The generated `smrt-register.ts` to compile. */
|
|
24
|
+
registrationFile: string;
|
|
25
|
+
/** The consumer build's resolved config (aliases, decorator transform, mode). */
|
|
26
|
+
resolvedConfig: Pick<ResolvedConfig, 'mode' | 'oxc' | 'resolve'>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Compile the generated registration into `.smrt/runtime/register.js`.
|
|
30
|
+
* Returns the absolute output path. Throws on failure: a worker without it
|
|
31
|
+
* cannot run any application-defined job, so the build must fail closed.
|
|
32
|
+
*/
|
|
33
|
+
export declare function buildWorkerRegistration(options: BuildWorkerRegistrationOptions): Promise<string>;
|
|
34
|
+
//# sourceMappingURL=worker-registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-registration.d.ts","sourceRoot":"","sources":["../../src/vite-plugin/worker-registration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAElD,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,8BAA4D,CAAC;AASlG;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,SAAS,GACpC,KAAK,EAAE,CAOT;AASD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,SAAS,KAAK,EAAE,GACxB,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAQzB;AAED,MAAM,WAAW,8BAA8B;IAC7C,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;CAClE;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
2
|
+
//#region src/vite-plugin/worker-registration.ts
|
|
3
|
+
/**
|
|
4
|
+
* Compiled application registration for out-of-bundle Node processes (#3117).
|
|
5
|
+
*
|
|
6
|
+
* A SvelteKit app registers its own `@smrt()` objects through the generated
|
|
7
|
+
* `smrt-register.ts`, which only the Vite build compiles — and adapter-node
|
|
8
|
+
* re-bundles the server from its own entries, so that module never exists as
|
|
9
|
+
* an importable file in `build/`. A deployed task or schedule worker is plain
|
|
10
|
+
* ESM run by `node`, so without this artifact `ObjectRegistry.getClass()`
|
|
11
|
+
* cannot resolve any application object and every app-defined job throws
|
|
12
|
+
* `Unknown object type` before its method runs.
|
|
13
|
+
*
|
|
14
|
+
* After a production build, this compiles that same generated module into
|
|
15
|
+
* `.smrt/runtime/register.js`: one ESM entry that registers the app's local
|
|
16
|
+
* objects AND its consumed packages' objects (via the `.smrt/register.js` it
|
|
17
|
+
* imports), with each class's package-qualified identity and isolated
|
|
18
|
+
* manifest exactly as the web server registers them. Application sources are
|
|
19
|
+
* bundled; every package import stays external and is resolved from
|
|
20
|
+
* `node_modules` at runtime, like the rest of the deployed image — so the
|
|
21
|
+
* worker and `@happyvertical/smrt-core` share one registry.
|
|
22
|
+
*/
|
|
23
|
+
/** Directory (under the project root) the compiled registration is written to. */
|
|
24
|
+
var WORKER_REGISTRATION_DIR = ".smrt/runtime";
|
|
25
|
+
/** Entry file name inside {@link WORKER_REGISTRATION_DIR}. */
|
|
26
|
+
var WORKER_REGISTRATION_ENTRY = "register.js";
|
|
27
|
+
`${WORKER_REGISTRATION_DIR}${WORKER_REGISTRATION_ENTRY}`;
|
|
28
|
+
/** Is `child` the project root or inside it (and not under node_modules)? */
|
|
29
|
+
function isProjectSource(projectRoot, child) {
|
|
30
|
+
const rel = relative(projectRoot, child);
|
|
31
|
+
if (rel.startsWith("..") || isAbsolute(rel)) return false;
|
|
32
|
+
return !rel.split(/[\\/]/).includes("node_modules");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The resolved aliases that point at the application's own sources (e.g.
|
|
36
|
+
* SvelteKit's `$lib` → `src/lib`). Aliases that map a package name elsewhere
|
|
37
|
+
* are dropped: the compiled registration must import packages exactly as the
|
|
38
|
+
* deployed process resolves them, from `node_modules`.
|
|
39
|
+
*/
|
|
40
|
+
function projectSourceAliases(projectRoot, aliases) {
|
|
41
|
+
return (aliases ?? []).filter((alias) => typeof alias.replacement === "string" && isAbsolute(alias.replacement) && isProjectSource(projectRoot, alias.replacement));
|
|
42
|
+
}
|
|
43
|
+
function matchesAlias(id, alias) {
|
|
44
|
+
const { find } = alias;
|
|
45
|
+
if (typeof find === "string") return id === find || id.startsWith(`${find}/`);
|
|
46
|
+
find.lastIndex = 0;
|
|
47
|
+
return find.test(id);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Rollup `external` predicate: bundle relative, absolute (resolved), virtual,
|
|
51
|
+
* and project-alias imports; keep every other bare specifier external.
|
|
52
|
+
*/
|
|
53
|
+
function createWorkerRegistrationExternal(aliases) {
|
|
54
|
+
return (id) => {
|
|
55
|
+
if (id.startsWith(".") || id.startsWith("\0") || isAbsolute(id)) return false;
|
|
56
|
+
if (aliases.some((alias) => matchesAlias(id, alias))) return false;
|
|
57
|
+
return true;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Compile the generated registration into `.smrt/runtime/register.js`.
|
|
62
|
+
* Returns the absolute output path. Throws on failure: a worker without it
|
|
63
|
+
* cannot run any application-defined job, so the build must fail closed.
|
|
64
|
+
*/
|
|
65
|
+
async function buildWorkerRegistration(options) {
|
|
66
|
+
const { projectRoot, registrationFile, resolvedConfig } = options;
|
|
67
|
+
const outDir = resolve(projectRoot, WORKER_REGISTRATION_DIR);
|
|
68
|
+
const aliases = projectSourceAliases(projectRoot, resolvedConfig.resolve.alias);
|
|
69
|
+
const { build } = await import("vite");
|
|
70
|
+
await build({
|
|
71
|
+
configFile: false,
|
|
72
|
+
envFile: false,
|
|
73
|
+
root: projectRoot,
|
|
74
|
+
mode: resolvedConfig.mode,
|
|
75
|
+
logLevel: "warn",
|
|
76
|
+
clearScreen: false,
|
|
77
|
+
publicDir: false,
|
|
78
|
+
plugins: [],
|
|
79
|
+
resolve: { alias: aliases },
|
|
80
|
+
oxc: resolvedConfig.oxc,
|
|
81
|
+
ssr: {
|
|
82
|
+
target: "node",
|
|
83
|
+
noExternal: true
|
|
84
|
+
},
|
|
85
|
+
build: {
|
|
86
|
+
ssr: registrationFile,
|
|
87
|
+
outDir,
|
|
88
|
+
emptyOutDir: true,
|
|
89
|
+
copyPublicDir: false,
|
|
90
|
+
minify: false,
|
|
91
|
+
sourcemap: true,
|
|
92
|
+
reportCompressedSize: false,
|
|
93
|
+
rollupOptions: {
|
|
94
|
+
external: createWorkerRegistrationExternal(aliases),
|
|
95
|
+
output: {
|
|
96
|
+
format: "es",
|
|
97
|
+
entryFileNames: WORKER_REGISTRATION_ENTRY,
|
|
98
|
+
chunkFileNames: "chunks/[name]-[hash].js"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
return join(outDir, WORKER_REGISTRATION_ENTRY);
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
export { WORKER_REGISTRATION_DIR, WORKER_REGISTRATION_ENTRY, buildWorkerRegistration, createWorkerRegistrationExternal, projectSourceAliases };
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=worker-registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-registration.js","names":[],"sources":["../../src/vite-plugin/worker-registration.ts"],"sourcesContent":["/**\n * Compiled application registration for out-of-bundle Node processes (#3117).\n *\n * A SvelteKit app registers its own `@smrt()` objects through the generated\n * `smrt-register.ts`, which only the Vite build compiles — and adapter-node\n * re-bundles the server from its own entries, so that module never exists as\n * an importable file in `build/`. A deployed task or schedule worker is plain\n * ESM run by `node`, so without this artifact `ObjectRegistry.getClass()`\n * cannot resolve any application object and every app-defined job throws\n * `Unknown object type` before its method runs.\n *\n * After a production build, this compiles that same generated module into\n * `.smrt/runtime/register.js`: one ESM entry that registers the app's local\n * objects AND its consumed packages' objects (via the `.smrt/register.js` it\n * imports), with each class's package-qualified identity and isolated\n * manifest exactly as the web server registers them. Application sources are\n * bundled; every package import stays external and is resolved from\n * `node_modules` at runtime, like the rest of the deployed image — so the\n * worker and `@happyvertical/smrt-core` share one registry.\n */\n\nimport { isAbsolute, join, relative, resolve } from 'node:path';\nimport type { Alias, ResolvedConfig } from 'vite';\n\n/** Directory (under the project root) the compiled registration is written to. */\nexport const WORKER_REGISTRATION_DIR = '.smrt/runtime';\n\n/** Entry file name inside {@link WORKER_REGISTRATION_DIR}. */\nexport const WORKER_REGISTRATION_ENTRY = 'register.js';\n\n/** Project-relative path a worker imports: `.smrt/runtime/register.js`. */\nexport const WORKER_REGISTRATION_PATH = `${WORKER_REGISTRATION_DIR}/${WORKER_REGISTRATION_ENTRY}`;\n\n/** Is `child` the project root or inside it (and not under node_modules)? */\nfunction isProjectSource(projectRoot: string, child: string): boolean {\n const rel = relative(projectRoot, child);\n if (rel.startsWith('..') || isAbsolute(rel)) return false;\n return !rel.split(/[\\\\/]/).includes('node_modules');\n}\n\n/**\n * The resolved aliases that point at the application's own sources (e.g.\n * SvelteKit's `$lib` → `src/lib`). Aliases that map a package name elsewhere\n * are dropped: the compiled registration must import packages exactly as the\n * deployed process resolves them, from `node_modules`.\n */\nexport function projectSourceAliases(\n projectRoot: string,\n aliases: readonly Alias[] | undefined,\n): Alias[] {\n return (aliases ?? []).filter(\n (alias) =>\n typeof alias.replacement === 'string' &&\n isAbsolute(alias.replacement) &&\n isProjectSource(projectRoot, alias.replacement),\n );\n}\n\nfunction matchesAlias(id: string, alias: Alias): boolean {\n const { find } = alias;\n if (typeof find === 'string') return id === find || id.startsWith(`${find}/`);\n find.lastIndex = 0;\n return find.test(id);\n}\n\n/**\n * Rollup `external` predicate: bundle relative, absolute (resolved), virtual,\n * and project-alias imports; keep every other bare specifier external.\n */\nexport function createWorkerRegistrationExternal(\n aliases: readonly Alias[],\n): (id: string) => boolean {\n return (id) => {\n if (id.startsWith('.') || id.startsWith('\\0') || isAbsolute(id)) {\n return false;\n }\n if (aliases.some((alias) => matchesAlias(id, alias))) return false;\n return true;\n };\n}\n\nexport interface BuildWorkerRegistrationOptions {\n /** The application root (where `.smrt/` lives). */\n projectRoot: string;\n /** The generated `smrt-register.ts` to compile. */\n registrationFile: string;\n /** The consumer build's resolved config (aliases, decorator transform, mode). */\n resolvedConfig: Pick<ResolvedConfig, 'mode' | 'oxc' | 'resolve'>;\n}\n\n/**\n * Compile the generated registration into `.smrt/runtime/register.js`.\n * Returns the absolute output path. Throws on failure: a worker without it\n * cannot run any application-defined job, so the build must fail closed.\n */\nexport async function buildWorkerRegistration(\n options: BuildWorkerRegistrationOptions,\n): Promise<string> {\n const { projectRoot, registrationFile, resolvedConfig } = options;\n const outDir = resolve(projectRoot, WORKER_REGISTRATION_DIR);\n const aliases = projectSourceAliases(\n projectRoot,\n resolvedConfig.resolve.alias,\n );\n const { build } = await import('vite');\n await build({\n configFile: false,\n envFile: false,\n root: projectRoot,\n mode: resolvedConfig.mode,\n logLevel: 'warn',\n clearScreen: false,\n publicDir: false,\n // No consumer plugins: the generated module is plain TypeScript over the\n // app's decorated classes, and re-running smrtPlugin here would recurse.\n plugins: [],\n resolve: { alias: aliases },\n oxc: resolvedConfig.oxc,\n // Externalization is decided by `external` below, not Vite's SSR\n // heuristics, so a package import can never be inlined into the bundle.\n ssr: { target: 'node', noExternal: true },\n build: {\n ssr: registrationFile,\n outDir,\n emptyOutDir: true,\n copyPublicDir: false,\n minify: false,\n sourcemap: true,\n reportCompressedSize: false,\n rollupOptions: {\n external: createWorkerRegistrationExternal(aliases),\n output: {\n format: 'es',\n entryFileNames: WORKER_REGISTRATION_ENTRY,\n chunkFileNames: 'chunks/[name]-[hash].js',\n },\n },\n },\n });\n return join(outDir, WORKER_REGISTRATION_ENTRY);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAa,0BAA0B;;AAGvC,IAAa,4BAA4B;AAGD,GAAG,wBAAH,EAA8B,0BAA9B;;AAGxC,SAAS,gBAAgB,aAAqB,OAAwB;CACpE,MAAM,MAAM,SAAS,aAAa,KAAK;CACvC,IAAI,IAAI,WAAW,IAAI,KAAK,WAAW,GAAG,GAAG,OAAO;CACpD,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc;AACpD;;;;;;;AAQA,SAAgB,qBACd,aACA,SACS;CACT,QAAQ,WAAW,CAAC,EAAA,CAAG,QACpB,UACC,OAAO,MAAM,gBAAgB,YAC7B,WAAW,MAAM,WAAW,KAC5B,gBAAgB,aAAa,MAAM,WAAW,CAClD;AACF;AAEA,SAAS,aAAa,IAAY,OAAuB;CACvD,MAAM,EAAE,SAAS;CACjB,IAAI,OAAO,SAAS,UAAU,OAAO,OAAO,QAAQ,GAAG,WAAW,GAAG,KAAK,EAAE;CAC5E,KAAK,YAAY;CACjB,OAAO,KAAK,KAAK,EAAE;AACrB;;;;;AAMA,SAAgB,iCACd,SACyB;CACzB,QAAQ,OAAO;EACb,IAAI,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,IAAI,KAAK,WAAW,EAAE,GAC5D,OAAO;EAET,IAAI,QAAQ,MAAM,UAAU,aAAa,IAAI,KAAK,CAAC,GAAG,OAAO;EAC7D,OAAO;CACT;AACF;;;;;;AAgBA,eAAsB,wBACpB,SACiB;CACjB,MAAM,EAAE,aAAa,kBAAkB,mBAAmB;CAC1D,MAAM,SAAS,QAAQ,aAAa,uBAAuB;CAC3D,MAAM,UAAU,qBACd,aACA,eAAe,QAAQ,KACzB;CACA,MAAM,EAAE,UAAU,MAAM,OAAO;CAC/B,MAAM,MAAM;EACV,YAAY;EACZ,SAAS;EACT,MAAM;EACN,MAAM,eAAe;EACrB,UAAU;EACV,aAAa;EACb,WAAW;EAGX,SAAS,CAAC;EACV,SAAS,EAAE,OAAO,QAAQ;EAC1B,KAAK,eAAe;EAGpB,KAAK;GAAE,QAAQ;GAAQ,YAAY;EAAK;EACxC,OAAO;GACL,KAAK;GACL;GACA,aAAa;GACb,eAAe;GACf,QAAQ;GACR,WAAW;GACX,sBAAsB;GACtB,eAAe;IACb,UAAU,iCAAiC,OAAO;IAClD,QAAQ;KACN,QAAQ;KACR,gBAAgB;KAChB,gBAAgB;IAClB;GACF;EACF;CACF,CAAC;CACD,OAAO,KAAK,QAAQ,yBAAyB;AAC/C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-core",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.29",
|
|
4
4
|
"description": "Core AI agent framework with standardized collections, object-relational mapping, and code generators",
|
|
5
5
|
"author": "HappyVertical",
|
|
6
6
|
"type": "module",
|
|
@@ -154,9 +154,9 @@
|
|
|
154
154
|
"@happyvertical/files": "^0.90.0",
|
|
155
155
|
"@happyvertical/json": "^0.90.0",
|
|
156
156
|
"@happyvertical/logger": "^0.90.0",
|
|
157
|
-
"@happyvertical/smrt-config": "0.51.
|
|
158
|
-
"@happyvertical/smrt-scanner": "0.51.
|
|
159
|
-
"@happyvertical/smrt-types": "0.51.
|
|
157
|
+
"@happyvertical/smrt-config": "0.51.29",
|
|
158
|
+
"@happyvertical/smrt-scanner": "0.51.29",
|
|
159
|
+
"@happyvertical/smrt-types": "0.51.29",
|
|
160
160
|
"@happyvertical/sql": "^0.90.0",
|
|
161
161
|
"@happyvertical/utils": "^0.90.0",
|
|
162
162
|
"@oxc-project/runtime": "^0.150.0",
|