@happyvertical/smrt-agents 0.57.46 → 0.57.48

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 CHANGED
@@ -7,6 +7,7 @@ Agent framework for autonomous actors with inter-agent messaging, interest-based
7
7
  | Module | Contract |
8
8
  | --- | --- |
9
9
  | [Data-surface discovery](agents/data-surface-discovery.md) | Summary discovery, row-count hints, allowed values, `id`/request aliases |
10
+ | [Lazy agent_config](agents/lazy-config.md) | `$env` sentinels, class `configResolvers`, resolver context and precedence (#1161, #2806) |
10
11
 
11
12
  ## Agent Lifecycle
12
13
 
@@ -95,27 +96,7 @@ Cron-based scheduling stored in `_smrt_agent_schedules`. Fields: `agentType`, `c
95
96
 
96
97
  ## Lazy agent_config Resolution (issue #1161)
97
98
 
98
- Persisted `agent_config` snapshots env-derived values at sync time, so rotated env vars don't reach already-stored schedule rows. Two complementary mechanisms unfreeze them:
99
-
100
- 1. **`$env` sentinels in persisted config** — register a global resolver and reference it from the JSON:
101
-
102
- ```ts
103
- import { registerConfigResolver } from '@happyvertical/smrt-agents';
104
- registerConfigResolver('sharedAssetStorage', () => resolveSharedAssetStorage());
105
- // persisted: { "assetStorage": { "$env": "sharedAssetStorage" } }
106
- ```
107
-
108
- 2. **`static configResolvers` on the agent class** — declarative, discoverable via the class itself:
109
-
110
- ```ts
111
- class Praeco extends Agent {
112
- static override configResolvers = {
113
- assetStorage: () => resolveSharedAssetStorage(),
114
- };
115
- }
116
- ```
117
-
118
- The TaskRunner calls `resolveLazyConfig()` immediately before constructing the agent, so live values always win over snapshotted ones. Re-exported from `@happyvertical/smrt-core` (`resolveLazyConfig`, `registerConfigResolver`, `getClassConfigResolvers`, …) for cases where agents isn't on the import path.
99
+ `$env` sentinels and `static configResolvers` re-resolve persisted `agent_config` at execute time. Resolvers receive the instance's identity and its own persisted value (#2806). Keep a per-agent credential with `preferPersisted()`, and never select an agent by scanning the tenant's rows. See [agents/lazy-config.md](agents/lazy-config.md).
119
100
 
120
101
  ## Learning Trait (issue #1886) — opt-in
121
102
 
@@ -0,0 +1,35 @@
1
+ # Lazy agent_config resolution (#1161, #2806)
2
+
3
+ Persisted `agent_config` snapshots env-derived values at sync time, so rotated env vars don't reach already-stored schedule rows. Two complementary mechanisms unfreeze them:
4
+
5
+ 1. **`$env` sentinels in persisted config** — register a global resolver and reference it from the JSON:
6
+
7
+ ```ts
8
+ import { registerConfigResolver } from '@happyvertical/smrt-agents';
9
+ registerConfigResolver('sharedAssetStorage', () => resolveSharedAssetStorage());
10
+ // persisted: { "assetStorage": { "$env": "sharedAssetStorage" } }
11
+ ```
12
+
13
+ 2. **`static configResolvers` on the agent class** — declarative, discoverable via the class itself:
14
+
15
+ ```ts
16
+ class Praeco extends Agent {
17
+ static override configResolvers = {
18
+ assetStorage: () => resolveSharedAssetStorage(),
19
+ };
20
+ }
21
+ ```
22
+
23
+ The TaskRunner calls `resolveLazyConfig()` immediately before constructing the agent, so live values always win over snapshotted ones. Re-exported from `@happyvertical/smrt-core` (`resolveLazyConfig`, `registerConfigResolver`, `getClassConfigResolvers`, …) for cases where agents isn't on the import path.
24
+
25
+ **Resolver context and precedence (#2806).** Every resolver receives a frozen `ConfigResolverContext`. It holds this instance's `agentId` (the job's `objectId`), canonical `agentClass`, `tenantId`, `scheduleId` and `jobId`. Class resolvers also get the instance's own persisted value for the key (`persisted`, `hasPersisted`); sentinel resolvers get the value's `path`. Precedence:
26
+ 1. a non-null resolver result;
27
+ 2. the persisted value, kept on `undefined` / `null`;
28
+ 3. absent.
29
+
30
+ A deployment fallback that must not clobber an agent's own value, such as its provider credential, uses `preferPersisted(fallback)` or returns `undefined` when `context.hasPersisted`. Never select an agent by scanning the tenant's `agent_configs` rows: with several agents of one class per tenant, that leaks one agent's credential to another. Use `context.agentId`. Zero-argument resolvers remain valid.
31
+
32
+ Caveats:
33
+ - `scheduleId` is echoed from job args without verification, so never key a per-agent value on it.
34
+ - `persisted` is neither copied nor deep-frozen. Treat it as read-only.
35
+ - Only `undefined` / `null` count as absent for `preferPersisted`. A present but empty value such as `{}` is kept.
package/dist/agent.d.ts CHANGED
@@ -212,12 +212,24 @@ export declare abstract class Agent extends SmrtObject {
212
212
  * the persisted value (or to whatever
213
213
  * {@link ResolveLazyConfigOptions.onError} dictates).
214
214
  *
215
+ * Each resolver receives a `ConfigResolverContext` (#2806): this agent
216
+ * instance's `agentId`, canonical `agentClass`, `tenantId`, `scheduleId`,
217
+ * and the value its own persisted config holds for the key (`persisted`,
218
+ * `hasPersisted`). A per-agent value such as the agent's own AI credential
219
+ * should not be clobbered by a deployment default: wrap the default in
220
+ * `preferPersisted()` (or return `undefined` when `context.hasPersisted`).
221
+ * Never pick an agent by scanning the tenant's `agent_configs` rows — with
222
+ * several agents of one class per tenant that hands one agent another's
223
+ * credential; use `context.agentId`.
224
+ *
215
225
  * @example
216
226
  * ```typescript
217
227
  * class Praeco extends Agent {
218
228
  * static override configResolvers = {
219
229
  * assetStorage: () => resolveSharedAssetStorage(),
220
230
  * aiKey: async () => loadAIKeyFromSecretsManager(),
231
+ * ai: preferPersisted(() => deploymentDefaultAi()),
232
+ * region: ({ agentId }) => lookupRegionFor(agentId),
221
233
  * };
222
234
  * }
223
235
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -65,8 +65,8 @@
65
65
  * @module @have/agents
66
66
  */
67
67
  import './__smrt-register__.js';
68
- export type { ConfigResolver, LazyConfigSentinel, ResolveLazyConfigOptions, } from '@happyvertical/smrt-core';
69
- export { getClassConfigResolvers, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, registerConfigResolver, resetConfigResolvers, resolveLazyConfig, unregisterConfigResolver, } from '@happyvertical/smrt-core';
68
+ export type { ConfigResolutionContext, ConfigResolver, ConfigResolverContext, LazyConfigSentinel, ResolveLazyConfigOptions, } from '@happyvertical/smrt-core';
69
+ export { createConfigResolverContext, getClassConfigResolvers, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, preferPersisted, registerConfigResolver, resetConfigResolvers, resolveLazyConfig, unregisterConfigResolver, } from '@happyvertical/smrt-core';
70
70
  export { Agent, type AgentOptions } from './agent.js';
71
71
  export { type AgentAIOptions, type AgentAISecretFallback, resolveAgentAIOptions, } from './ai-config.js';
72
72
  export { AgentConfig, AgentConfigCollection } from './config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as getAgentClassName, c as instanceScopedSubscriber, i as AgentConfigCollection, l as parseTenantAgentConfigOwnerId, n as executeAsPrincipal, o as getAgentTypeAliases, r as AgentConfig, s as getAgentTypeName, t as PrincipalToolNotAllowedError, u as tenantAgentConfigOwnerId } from "./chunks/execute-as-principal-tnjcjKIp.js";
2
2
  import { AgentUIRegistry, createUIRegistry, isAgentCreateEntryAvailable, resolveAgentCreateEntries } from "./ui.js";
3
- import { DEFAULT_DATA_QUERY_RESULT_BYTES, DataQueryValidationError, LearningMemory, MAX_DATA_QUERY_FILTERS, MAX_DATA_QUERY_OFFSET, MAX_DATA_QUERY_REQUEST_BYTES, ObjectRegistry, SmrtCollection, SmrtObject, canonicalizeDataQuery, createDataQueryFingerprint, createDispatchBus, detectEngine, field, getClassConfigResolvers, getClassName, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, normalizeDataQueryFieldValues, normalizeDataQueryRequest, normalizeDataQueryResult, normalizeDataQuerySchema, registerConfigResolver, resetConfigResolvers, resolveDispatchTenantScope, resolveLazyConfig, smrt, toSnakeCase, unregisterConfigResolver } from "@happyvertical/smrt-core";
3
+ import { DEFAULT_DATA_QUERY_RESULT_BYTES, DataQueryValidationError, LearningMemory, MAX_DATA_QUERY_FILTERS, MAX_DATA_QUERY_OFFSET, MAX_DATA_QUERY_REQUEST_BYTES, ObjectRegistry, SmrtCollection, SmrtObject, canonicalizeDataQuery, createConfigResolverContext, createDataQueryFingerprint, createDispatchBus, detectEngine, field, getClassConfigResolvers, getClassName, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, normalizeDataQueryFieldValues, normalizeDataQueryRequest, normalizeDataQueryResult, normalizeDataQuerySchema, preferPersisted, registerConfigResolver, resetConfigResolvers, resolveDispatchTenantScope, resolveLazyConfig, smrt, toSnakeCase, unregisterConfigResolver } from "@happyvertical/smrt-core";
4
4
  import { createLogger } from "@happyvertical/logger";
5
5
  import { getDefaultAIKeyEnvName, sanitizeConfig } from "@happyvertical/smrt-config";
6
6
  import { TenantScoped, getCurrentTenant, getTenantScopedConfig, isSuperAdminBypass, isSystemContext, isTenancyEnabled, isTenantScopedClass, queryGlobal, queryWithGlobals, tenantId, withTenant } from "@happyvertical/smrt-tenancy";
@@ -12,7 +12,7 @@ import { createServerStepEvaluator, preflightPlaybook } from "@happyvertical/smr
12
12
  import { applyReportExport, applyReportRefresh, buildReportAdapterDescriptor, buildReportDrilldownQuery, createReportExportRequest, createReportExportSnapshot, previewReportExport, previewReportRefresh, queryReportMaterializedRows } from "@happyvertical/smrt-reports";
13
13
  import { getNextCronDate } from "@happyvertical/smrt-jobs";
14
14
  //#region src/__smrt-register__.ts
15
- ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-agents","packageVersion":"0.57.46","objects":{"@happyvertical/smrt-agents:Agent":{"name":"agent","className":"Agent","qualifiedName":"@happyvertical/smrt-agents:Agent","collection":"agents","description":"Base Agent class for building autonomous actors in the SMRT ecosystem","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/agent.ts","packageName":"@happyvertical/smrt-agents","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"status":{"type":"text","required":false,"default":"idle","enum":["idle","initializing","running","error","shutdown"]}},"methods":{"getInstanceKey":{"name":"getInstanceKey","async":false,"parameters":[],"returnType":"string | null","isStatic":false,"isPublic":true},"getConfigOwnerId":{"name":"getConfigOwnerId","async":false,"parameters":[{"name":"slotId","type":"string","optional":true}],"returnType":"string | null","isStatic":false,"isPublic":true},"getDispatchSubscriber":{"name":"getDispatchSubscriber","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"getUISlots":{"name":"getUISlots","async":false,"parameters":[],"returnType":"AgentUISlots","isStatic":false,"isPublic":true},"loadConfigs":{"name":"loadConfigs","async":true,"parameters":[],"returnType":"Promise<Map<string, Record<string, unknown>>>","isStatic":false,"isPublic":true},"saveSlotConfig":{"name":"saveSlotConfig","async":true,"parameters":[{"name":"slotId","type":"string","optional":false},{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMergedConfig":{"name":"getMergedConfig","async":true,"parameters":[{"name":"slotId","type":"string","optional":false}],"returnType":"Promise<Record<string, unknown>>","isStatic":false,"isPublic":true},"exportConfig":{"name":"exportConfig","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Promise<Record<string, unknown>>","isStatic":false,"isPublic":true},"getDispatch":{"name":"getDispatch","async":true,"parameters":[],"returnType":"Promise<DispatchBus>","isStatic":false,"isPublic":true},"handleDispatch":{"name":"handleDispatch","async":true,"parameters":[{"name":"_payload","type":"unknown","optional":false},{"name":"_metadata","type":"DispatchMetadata","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"processDispatches":{"name":"processDispatches","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"getLearningMemory":{"name":"getLearningMemory","async":false,"parameters":[],"returnType":"LearningMemory | null","isStatic":false,"isPublic":true},"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"validate":{"name":"validate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"shutdown":{"name":"shutdown","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"execute":{"name":"execute","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"interesting":{"name":"interesting","async":true,"parameters":[],"returnType":"Promise<InterestResult[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"cli":false,"api":false,"mcp":false,"tableStrategy":"sti","tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Agent","collectionExportName":"AgentCollection","staticProperties":{"uiSlots":{},"adminRoutes":[],"createEntries":[],"signalSubscriptions":[]},"schema":{"tableName":"agents","ddl":"CREATE TABLE IF NOT EXISTS \\"agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"status\\" TEXT DEFAULT 'idle'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"status":{"type":"TEXT","notNull":false,"default":"idle"}},"indexes":[{"name":"agents_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"agents_meta_type_idx","columns":["_meta_type"]},{"name":"agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"dde8777b"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentConfig":{"name":"agentconfig","className":"AgentConfig","qualifiedName":"@happyvertical/smrt-agents:AgentConfig","collection":"agentconfigs","description":"AgentConfig stores agent configuration in the database","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/config.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"agentId":{"type":"text","required":false,"_meta":{}},"agentClass":{"type":"text","required":false,"_meta":{}},"slotId":{"type":"text","required":false,"_meta":{}},"configData":{"type":"json","required":false,"_meta":{"sensitive":true},"sensitive":true},"schemaVersion":{"type":"integer","required":false,"_meta":{}}},"methods":{"forAgent":{"name":"forAgent","async":true,"parameters":[{"name":"agentId","type":"string","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Map<string, Record<string, unknown>>>","isStatic":true,"isPublic":true},"forAgents":{"name":"forAgents","async":true,"parameters":[{"name":"agentIds","type":"string[]","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Map<string, Map<string, Record<string, unknown>>>>","isStatic":true,"isPublic":true},"forSlot":{"name":"forSlot","async":true,"parameters":[{"name":"agentId","type":"string","optional":false},{"name":"slotId","type":"string","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Record<string, unknown> | undefined>","isStatic":true,"isPublic":true},"saveSlot":{"name":"saveSlot","async":true,"parameters":[{"name":"data","type":"object","optional":false,"memberTypes":["string","Record<string, unknown>"]},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<AgentConfig>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"agent_configs","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AgentConfig","collectionExportName":"AgentConfigCollection","schema":{"tableName":"agent_configs","ddl":"CREATE TABLE IF NOT EXISTS \\"agent_configs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_id\\" TEXT,\\n \\"agent_class\\" TEXT,\\n \\"slot_id\\" TEXT,\\n \\"config_data\\" JSON,\\n \\"schema_version\\" INTEGER\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"slot_id":{"type":"TEXT","notNull":false,"unique":false},"config_data":{"type":"JSON","notNull":false,"unique":false},"schema_version":{"type":"INTEGER","notNull":false,"unique":false}},"indexes":[{"name":"agent_configs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"agent_configs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"25c6ac4c"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentConfigCollection":{"name":"agentconfigcollection","className":"AgentConfigCollection","qualifiedName":"@happyvertical/smrt-agents:AgentConfigCollection","collection":"agentconfigs","description":"Collection for AgentConfig objects","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/config.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"agent_configs","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"AgentConfig","exportName":"AgentConfigCollection","collectionExportName":"AgentConfigCollectionCollection","schema":{"tableName":"agent_configs","ddl":"CREATE TABLE IF NOT EXISTS \\"agent_configs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_id\\" TEXT,\\n \\"agent_class\\" TEXT,\\n \\"slot_id\\" TEXT,\\n \\"config_data\\" JSON,\\n \\"schema_version\\" INTEGER\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"slot_id":{"type":"TEXT","notNull":false,"unique":false},"config_data":{"type":"JSON","notNull":false,"unique":false},"schema_version":{"type":"INTEGER","notNull":false,"unique":false}},"indexes":[{"name":"agent_configs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"agent_configs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"25c6ac4c"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentSchedule":{"name":"agentschedule","className":"AgentSchedule","qualifiedName":"@happyvertical/smrt-agents:AgentSchedule","collection":"agentschedules","description":"AgentSchedule model for cron-based agent scheduling","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/schedule.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"agentType":{"type":"text","required":false,"_meta":{}},"agentId":{"type":"text","required":false,"_meta":{"nullable":true}},"agentConfig":{"type":"json","required":false,"_meta":{"sqlType":"TEXT","sensitive":true},"sensitive":true},"cron":{"type":"text","required":false,"_meta":{}},"timezone":{"type":"text","required":false,"_meta":{}},"enabled":{"type":"boolean","required":false,"_meta":{}},"status":{"type":"text","required":false,"_meta":{},"enum":["active","paused","disabled","error"]},"lastRun":{"type":"datetime","required":false,"_meta":{"nullable":true}},"nextRun":{"type":"datetime","required":false,"_meta":{"nullable":true}},"lastStatus":{"type":"text","required":false,"_meta":{"nullable":true},"enum":["success","failed"]},"lastError":{"type":"text","required":false,"_meta":{"nullable":true}},"runCount":{"type":"integer","required":false,"_meta":{}},"successCount":{"type":"integer","required":false,"_meta":{}},"failureCount":{"type":"integer","required":false,"_meta":{}},"maxConcurrent":{"type":"integer","required":false,"_meta":{}},"runningCount":{"type":"integer","required":false,"_meta":{}},"timeout":{"type":"integer","required":false,"_meta":{}},"method":{"type":"text","required":false,"_meta":{}},"methodArgs":{"type":"json","required":false,"_meta":{"sqlType":"TEXT"}}},"methods":{"enable":{"name":"enable","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"disable":{"name":"disable","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"pause":{"name":"pause","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"resume":{"name":"resume","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"calculateNextRun":{"name":"calculateNextRun","async":false,"parameters":[],"returnType":"void","isStatic":false,"isPublic":true},"getDescription":{"name":"getDescription","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"beforeSave":{"name":"beforeSave","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_agent_schedules","api":{"include":["list","get","create","update","delete"]},"cli":{"include":["list","get","create","update","delete","enable","disable"],"skipApiCheck":true},"mcp":{"include":["list","get"]},"indexes":[{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","nextRun"]}],"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AgentSchedule","collectionExportName":"AgentScheduleCollection","schema":{"tableName":"_smrt_agent_schedules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_agent_schedules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_type\\" TEXT,\\n \\"agent_id\\" TEXT,\\n \\"agent_config\\" TEXT,\\n \\"cron\\" TEXT,\\n \\"timezone\\" TEXT,\\n \\"enabled\\" BOOLEAN,\\n \\"status\\" TEXT,\\n \\"last_run\\" TIMESTAMP,\\n \\"next_run\\" TIMESTAMP,\\n \\"last_status\\" TEXT,\\n \\"last_error\\" TEXT,\\n \\"run_count\\" INTEGER,\\n \\"success_count\\" INTEGER,\\n \\"failure_count\\" INTEGER,\\n \\"max_concurrent\\" INTEGER,\\n \\"running_count\\" INTEGER,\\n \\"timeout\\" INTEGER,\\n \\"method\\" TEXT,\\n \\"method_args\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_type":{"type":"TEXT","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_config":{"type":"TEXT","notNull":false,"unique":false},"cron":{"type":"TEXT","notNull":false,"unique":false},"timezone":{"type":"TEXT","notNull":false,"unique":false},"enabled":{"type":"BOOLEAN","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"last_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"next_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"last_status":{"type":"TEXT","notNull":false,"unique":false},"last_error":{"type":"TEXT","notNull":false,"unique":false},"run_count":{"type":"INTEGER","notNull":false,"unique":false},"success_count":{"type":"INTEGER","notNull":false,"unique":false},"failure_count":{"type":"INTEGER","notNull":false,"unique":false},"max_concurrent":{"type":"INTEGER","notNull":false,"unique":false},"running_count":{"type":"INTEGER","notNull":false,"unique":false},"timeout":{"type":"INTEGER","notNull":false,"unique":false},"method":{"type":"TEXT","notNull":false,"unique":false},"method_args":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_agent_schedules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","next_run"]},{"name":"_smrt_agent_schedules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c21a1f29"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentScheduleCollection":{"name":"agentschedulecollection","className":"AgentScheduleCollection","qualifiedName":"@happyvertical/smrt-agents:AgentScheduleCollection","collection":"agentschedules","description":"Collection for managing AgentSchedule objects","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/schedule.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"listByStatus":{"name":"listByStatus","async":true,"parameters":[{"name":"status","type":"ScheduleStatus | ScheduleStatus[]","optional":false,"unionBranches":[{"type":"ScheduleStatus"},{"type":"ScheduleStatus[]"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number"]}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"listByAgentType":{"name":"listByAgentType","async":true,"parameters":[{"name":"agentType","type":"string","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["number","boolean"]}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_agent_schedules","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create","update","delete"],"skipApiCheck":true}},"extends":"SmrtCollection","extendsTypeArg":"AgentSchedule","exportName":"AgentScheduleCollection","collectionExportName":"AgentScheduleCollectionCollection","schema":{"tableName":"_smrt_agent_schedules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_agent_schedules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_type\\" TEXT,\\n \\"agent_id\\" TEXT,\\n \\"agent_config\\" TEXT,\\n \\"cron\\" TEXT,\\n \\"timezone\\" TEXT,\\n \\"enabled\\" BOOLEAN,\\n \\"status\\" TEXT,\\n \\"last_run\\" TIMESTAMP,\\n \\"next_run\\" TIMESTAMP,\\n \\"last_status\\" TEXT,\\n \\"last_error\\" TEXT,\\n \\"run_count\\" INTEGER,\\n \\"success_count\\" INTEGER,\\n \\"failure_count\\" INTEGER,\\n \\"max_concurrent\\" INTEGER,\\n \\"running_count\\" INTEGER,\\n \\"timeout\\" INTEGER,\\n \\"method\\" TEXT,\\n \\"method_args\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_type":{"type":"TEXT","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_config":{"type":"TEXT","notNull":false,"unique":false},"cron":{"type":"TEXT","notNull":false,"unique":false},"timezone":{"type":"TEXT","notNull":false,"unique":false},"enabled":{"type":"BOOLEAN","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"last_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"next_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"last_status":{"type":"TEXT","notNull":false,"unique":false},"last_error":{"type":"TEXT","notNull":false,"unique":false},"run_count":{"type":"INTEGER","notNull":false,"unique":false},"success_count":{"type":"INTEGER","notNull":false,"unique":false},"failure_count":{"type":"INTEGER","notNull":false,"unique":false},"max_concurrent":{"type":"INTEGER","notNull":false,"unique":false},"running_count":{"type":"INTEGER","notNull":false,"unique":false},"timeout":{"type":"INTEGER","notNull":false,"unique":false},"method":{"type":"TEXT","notNull":false,"unique":false},"method_args":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_agent_schedules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","next_run"]},{"name":"_smrt_agent_schedules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c21a1f29"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:TenantAgent":{"name":"tenantagent","className":"TenantAgent","qualifiedName":"@happyvertical/smrt-agents:TenantAgent","collection":"tenantagents","description":"TenantAgent SmrtObject \u2014 junction between tenants and agents","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/tenant-agent.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"agentClass":{"type":"text","required":false,"_meta":{}},"status":{"type":"text","required":false,"_meta":{},"enum":["active","disabled"]},"permissions":{"type":"json","required":false,"_meta":{"nullable":true}},"config":{"type":"json","required":false,"_meta":{"nullable":true,"sensitive":true},"sensitive":true}},"methods":{},"decoratorConfig":{"tableName":"tenant_agents","api":{"include":["list","get","create","update","delete"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"conflictColumns":["tenant_id","agent_class"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"TenantAgent","collectionExportName":"TenantAgentCollection","validationRules":[],"schema":{"tableName":"tenant_agents","ddl":"CREATE TABLE IF NOT EXISTS \\"tenant_agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"agent_class\\" TEXT,\\n \\"status\\" TEXT,\\n \\"permissions\\" JSON,\\n \\"config\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"permissions":{"type":"JSON","notNull":false,"unique":false},"config":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"tenant_agents_tenant_id_agent_class_idx","columns":["tenant_id","agent_class"],"unique":true,"nullsNotDistinct":true},{"name":"tenant_agents_slug_context_idx","columns":["slug","context"]},{"name":"tenant_agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"9892a054"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:TenantAgentCollection":{"name":"tenantagentcollection","className":"TenantAgentCollection","qualifiedName":"@happyvertical/smrt-agents:TenantAgentCollection","collection":"tenantagents","description":"Collection for managing tenant-agent bindings","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/tenant-agent.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"resolveForTenant":{"name":"resolveForTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"getAncestorIds","type":"Function","optional":false},{"name":"manifests","type":"Map<string, AgentManifestInfo>","optional":true}],"returnType":"Promise<ResolvedAgentAvailability[]>","isStatic":false,"isPublic":true},"enableAgent":{"name":"enableAgent","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"disableAgent":{"name":"disableAgent","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"clearOverride":{"name":"clearOverride","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setPermissions":{"name":"setPermissions","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false},{"name":"permissions","type":"Record<string, boolean>","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"findByTenantAndClass":{"name":"findByTenantAndClass","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"tenant_agents","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"TenantAgent","exportName":"TenantAgentCollection","collectionExportName":"TenantAgentCollectionCollection","schema":{"tableName":"tenant_agents","ddl":"CREATE TABLE IF NOT EXISTS \\"tenant_agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"agent_class\\" TEXT,\\n \\"status\\" TEXT,\\n \\"permissions\\" JSON,\\n \\"config\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"permissions":{"type":"JSON","notNull":false,"unique":false},"config":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"tenant_agents_tenant_id_agent_class_idx","columns":["tenant_id","agent_class"],"unique":true,"nullsNotDistinct":true},{"name":"tenant_agents_slug_context_idx","columns":["slug","context"]},{"name":"tenant_agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"9892a054"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:SmrtDataSurfaceActionTask":{"name":"smrtdatasurfaceactiontask","className":"SmrtDataSurfaceActionTask","qualifiedName":"@happyvertical/smrt-agents:SmrtDataSurfaceActionTask","collection":"smrtdatasurfaceactiontasks","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/jobs-data-surface-action-queue.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"args":{"type":"json","required":true,"_meta":{"required":true}}},"methods":{"run":{"name":"run","async":true,"parameters":[{"name":"args","type":"DataSurfaceActionJobArgs","optional":true},{"name":"context","type":"JobExecutionContext","optional":true}],"returnType":"Promise<DataSurfaceActionResult>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_data_surface_action_tasks","api":false,"cli":false,"mcp":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"SmrtDataSurfaceActionTask","collectionExportName":"SmrtDataSurfaceActionTaskCollection","validationRules":[{"field":"args","rule":"required","fieldType":"json"}],"schema":{"tableName":"_smrt_data_surface_action_tasks","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_tasks\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"args\\" JSON NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"args":{"type":"JSON","notNull":true,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_tasks_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_data_surface_action_tasks_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"d1c4adf8"},"importPath":"@happyvertical/smrt-agents/server"},"@happyvertical/smrt-agents:DataSurfaceActionTokenState":{"name":"datasurfaceactiontokenstate","className":"DataSurfaceActionTokenState","qualifiedName":"@happyvertical/smrt-agents:DataSurfaceActionTokenState","collection":"datasurfaceactiontokenstates","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/sql-data-surface-action-state.ts","packageName":"@happyvertical/smrt-agents","fields":{"tokenHash":{"type":"text","required":true,"_meta":{"required":true,"unique":true}},"record":{"type":"json","required":true,"_meta":{"required":true}},"consumedBy":{"type":"text","required":false,"_meta":{"nullable":true}}},"methods":{},"decoratorConfig":{"tableName":"_smrt_data_surface_action_tokens","api":false,"cli":false,"mcp":false},"extends":"SmrtObject","exportName":"DataSurfaceActionTokenState","collectionExportName":"DataSurfaceActionTokenStateCollection","validationRules":[{"field":"tokenHash","rule":"required","fieldType":"text"},{"field":"record","rule":"required","fieldType":"json"}],"schema":{"tableName":"_smrt_data_surface_action_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_tokens\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"token_hash\\" TEXT NOT NULL UNIQUE,\\n \\"record\\" JSON NOT NULL,\\n \\"consumed_by\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"token_hash":{"type":"TEXT","notNull":true,"unique":true},"record":{"type":"JSON","notNull":true,"unique":false},"consumed_by":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"_smrt_data_surface_action_tokens_created_at_idx","columns":["created_at"]}],"version":"497cf260"},"importPath":"@happyvertical/smrt-agents/server"},"@happyvertical/smrt-agents:DataSurfaceActionIdempotencyState":{"name":"datasurfaceactionidempotencystate","className":"DataSurfaceActionIdempotencyState","qualifiedName":"@happyvertical/smrt-agents:DataSurfaceActionIdempotencyState","collection":"datasurfaceactionidempotencystates","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/sql-data-surface-action-state.ts","packageName":"@happyvertical/smrt-agents","fields":{"keyHash":{"type":"text","required":true,"_meta":{"required":true,"unique":true}},"status":{"type":"text","required":true,"_meta":{"required":true},"enum":["reserved","completed"]},"requestFingerprint":{"type":"text","required":true,"_meta":{"required":true}},"ownerHash":{"type":"text","required":false,"_meta":{"nullable":true}},"reservedAt":{"type":"text","required":false,"_meta":{"nullable":true}},"result":{"type":"json","required":false,"_meta":{"nullable":true}},"recovery":{"type":"json","required":false,"_meta":{"nullable":true}}},"methods":{},"decoratorConfig":{"tableName":"_smrt_data_surface_action_idempotency","api":false,"cli":false,"mcp":false},"extends":"SmrtObject","exportName":"DataSurfaceActionIdempotencyState","collectionExportName":"DataSurfaceActionIdempotencyStateCollection","validationRules":[{"field":"keyHash","rule":"required","fieldType":"text"},{"field":"status","rule":"required","fieldType":"text"},{"field":"requestFingerprint","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_data_surface_action_idempotency","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_idempotency\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"key_hash\\" TEXT NOT NULL UNIQUE,\\n \\"status\\" TEXT NOT NULL,\\n \\"request_fingerprint\\" TEXT NOT NULL,\\n \\"owner_hash\\" TEXT,\\n \\"reserved_at\\" TEXT,\\n \\"result\\" JSON,\\n \\"recovery\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"key_hash":{"type":"TEXT","notNull":true,"unique":true},"status":{"type":"TEXT","notNull":true,"unique":false},"request_fingerprint":{"type":"TEXT","notNull":true,"unique":false},"owner_hash":{"type":"TEXT","notNull":false,"unique":false},"reserved_at":{"type":"TEXT","notNull":false,"unique":false},"result":{"type":"JSON","notNull":false,"unique":false},"recovery":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_idempotency_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"_smrt_data_surface_action_idempotency_created_at_idx","columns":["created_at"]}],"version":"eb65ff1e"},"importPath":"@happyvertical/smrt-agents/server"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-core","@happyvertical/smrt-jobs","@happyvertical/smrt-playbooks","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"],"browser":{"status":"server-only","issues":["#3615","#3617","#3624","#3625","#3626","#3627"],"reason":"node:crypto in root; core migrations (node:os)","via":["@happyvertical/smrt-jobs","@happyvertical/smrt-profiles","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"]},"stampsConstructors":true}`));
15
+ ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-agents","packageVersion":"0.57.48","objects":{"@happyvertical/smrt-agents:Agent":{"name":"agent","className":"Agent","qualifiedName":"@happyvertical/smrt-agents:Agent","collection":"agents","description":"Base Agent class for building autonomous actors in the SMRT ecosystem","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/agent.ts","packageName":"@happyvertical/smrt-agents","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"status":{"type":"text","required":false,"default":"idle","enum":["idle","initializing","running","error","shutdown"]}},"methods":{"getInstanceKey":{"name":"getInstanceKey","async":false,"parameters":[],"returnType":"string | null","isStatic":false,"isPublic":true},"getConfigOwnerId":{"name":"getConfigOwnerId","async":false,"parameters":[{"name":"slotId","type":"string","optional":true}],"returnType":"string | null","isStatic":false,"isPublic":true},"getDispatchSubscriber":{"name":"getDispatchSubscriber","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"getUISlots":{"name":"getUISlots","async":false,"parameters":[],"returnType":"AgentUISlots","isStatic":false,"isPublic":true},"loadConfigs":{"name":"loadConfigs","async":true,"parameters":[],"returnType":"Promise<Map<string, Record<string, unknown>>>","isStatic":false,"isPublic":true},"saveSlotConfig":{"name":"saveSlotConfig","async":true,"parameters":[{"name":"slotId","type":"string","optional":false},{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMergedConfig":{"name":"getMergedConfig","async":true,"parameters":[{"name":"slotId","type":"string","optional":false}],"returnType":"Promise<Record<string, unknown>>","isStatic":false,"isPublic":true},"exportConfig":{"name":"exportConfig","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Promise<Record<string, unknown>>","isStatic":false,"isPublic":true},"getDispatch":{"name":"getDispatch","async":true,"parameters":[],"returnType":"Promise<DispatchBus>","isStatic":false,"isPublic":true},"handleDispatch":{"name":"handleDispatch","async":true,"parameters":[{"name":"_payload","type":"unknown","optional":false},{"name":"_metadata","type":"DispatchMetadata","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"processDispatches":{"name":"processDispatches","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"getLearningMemory":{"name":"getLearningMemory","async":false,"parameters":[],"returnType":"LearningMemory | null","isStatic":false,"isPublic":true},"initialize":{"name":"initialize","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"validate":{"name":"validate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"shutdown":{"name":"shutdown","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"execute":{"name":"execute","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"interesting":{"name":"interesting","async":true,"parameters":[],"returnType":"Promise<InterestResult[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"cli":false,"api":false,"mcp":false,"tableStrategy":"sti","tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Agent","collectionExportName":"AgentCollection","staticProperties":{"uiSlots":{},"adminRoutes":[],"createEntries":[],"signalSubscriptions":[]},"schema":{"tableName":"agents","ddl":"CREATE TABLE IF NOT EXISTS \\"agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"status\\" TEXT DEFAULT 'idle'\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"status":{"type":"TEXT","notNull":false,"default":"idle"}},"indexes":[{"name":"agents_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"agents_meta_type_idx","columns":["_meta_type"]},{"name":"agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"dde8777b"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentConfig":{"name":"agentconfig","className":"AgentConfig","qualifiedName":"@happyvertical/smrt-agents:AgentConfig","collection":"agentconfigs","description":"AgentConfig stores agent configuration in the database","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/config.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"agentId":{"type":"text","required":false,"_meta":{}},"agentClass":{"type":"text","required":false,"_meta":{}},"slotId":{"type":"text","required":false,"_meta":{}},"configData":{"type":"json","required":false,"_meta":{"sensitive":true},"sensitive":true},"schemaVersion":{"type":"integer","required":false,"_meta":{}}},"methods":{"forAgent":{"name":"forAgent","async":true,"parameters":[{"name":"agentId","type":"string","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Map<string, Record<string, unknown>>>","isStatic":true,"isPublic":true},"forAgents":{"name":"forAgents","async":true,"parameters":[{"name":"agentIds","type":"string[]","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Map<string, Map<string, Record<string, unknown>>>>","isStatic":true,"isPublic":true},"forSlot":{"name":"forSlot","async":true,"parameters":[{"name":"agentId","type":"string","optional":false},{"name":"slotId","type":"string","optional":false},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<Record<string, unknown> | undefined>","isStatic":true,"isPublic":true},"saveSlot":{"name":"saveSlot","async":true,"parameters":[{"name":"data","type":"object","optional":false,"memberTypes":["string","Record<string, unknown>"]},{"name":"options","type":"SmrtClassOptions","optional":false}],"returnType":"Promise<AgentConfig>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"agent_configs","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AgentConfig","collectionExportName":"AgentConfigCollection","schema":{"tableName":"agent_configs","ddl":"CREATE TABLE IF NOT EXISTS \\"agent_configs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_id\\" TEXT,\\n \\"agent_class\\" TEXT,\\n \\"slot_id\\" TEXT,\\n \\"config_data\\" JSON,\\n \\"schema_version\\" INTEGER\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"slot_id":{"type":"TEXT","notNull":false,"unique":false},"config_data":{"type":"JSON","notNull":false,"unique":false},"schema_version":{"type":"INTEGER","notNull":false,"unique":false}},"indexes":[{"name":"agent_configs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"agent_configs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"25c6ac4c"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentConfigCollection":{"name":"agentconfigcollection","className":"AgentConfigCollection","qualifiedName":"@happyvertical/smrt-agents:AgentConfigCollection","collection":"agentconfigs","description":"Collection for AgentConfig objects","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/config.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentConfig[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"agent_configs","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"AgentConfig","exportName":"AgentConfigCollection","collectionExportName":"AgentConfigCollectionCollection","collectionOf":"@happyvertical/smrt-agents:AgentConfig","inheritedExposure":["api","mcp"],"schema":{"tableName":"agent_configs","ddl":"CREATE TABLE IF NOT EXISTS \\"agent_configs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_id\\" TEXT,\\n \\"agent_class\\" TEXT,\\n \\"slot_id\\" TEXT,\\n \\"config_data\\" JSON,\\n \\"schema_version\\" INTEGER\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"slot_id":{"type":"TEXT","notNull":false,"unique":false},"config_data":{"type":"JSON","notNull":false,"unique":false},"schema_version":{"type":"INTEGER","notNull":false,"unique":false}},"indexes":[{"name":"agent_configs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"agent_configs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"25c6ac4c"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentSchedule":{"name":"agentschedule","className":"AgentSchedule","qualifiedName":"@happyvertical/smrt-agents:AgentSchedule","collection":"agentschedules","description":"AgentSchedule model for cron-based agent scheduling","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/schedule.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"agentType":{"type":"text","required":false,"_meta":{}},"agentId":{"type":"text","required":false,"_meta":{"nullable":true}},"agentConfig":{"type":"json","required":false,"_meta":{"sqlType":"TEXT","sensitive":true},"sensitive":true},"cron":{"type":"text","required":false,"_meta":{}},"timezone":{"type":"text","required":false,"_meta":{}},"enabled":{"type":"boolean","required":false,"_meta":{}},"status":{"type":"text","required":false,"_meta":{},"enum":["active","paused","disabled","error"]},"lastRun":{"type":"datetime","required":false,"_meta":{"nullable":true}},"nextRun":{"type":"datetime","required":false,"_meta":{"nullable":true}},"lastStatus":{"type":"text","required":false,"_meta":{"nullable":true},"enum":["success","failed"]},"lastError":{"type":"text","required":false,"_meta":{"nullable":true}},"runCount":{"type":"integer","required":false,"_meta":{}},"successCount":{"type":"integer","required":false,"_meta":{}},"failureCount":{"type":"integer","required":false,"_meta":{}},"maxConcurrent":{"type":"integer","required":false,"_meta":{}},"runningCount":{"type":"integer","required":false,"_meta":{}},"timeout":{"type":"integer","required":false,"_meta":{}},"method":{"type":"text","required":false,"_meta":{}},"methodArgs":{"type":"json","required":false,"_meta":{"sqlType":"TEXT"}}},"methods":{"enable":{"name":"enable","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"disable":{"name":"disable","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"pause":{"name":"pause","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"resume":{"name":"resume","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"calculateNextRun":{"name":"calculateNextRun","async":false,"parameters":[],"returnType":"void","isStatic":false,"isPublic":true},"getDescription":{"name":"getDescription","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"beforeSave":{"name":"beforeSave","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_agent_schedules","api":{"include":["list","get","create","update","delete"]},"cli":{"include":["list","get","create","update","delete","enable","disable"],"skipApiCheck":true},"mcp":{"include":["list","get"]},"indexes":[{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","nextRun"]}],"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AgentSchedule","collectionExportName":"AgentScheduleCollection","schema":{"tableName":"_smrt_agent_schedules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_agent_schedules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_type\\" TEXT,\\n \\"agent_id\\" TEXT,\\n \\"agent_config\\" TEXT,\\n \\"cron\\" TEXT,\\n \\"timezone\\" TEXT,\\n \\"enabled\\" BOOLEAN,\\n \\"status\\" TEXT,\\n \\"last_run\\" TIMESTAMP,\\n \\"next_run\\" TIMESTAMP,\\n \\"last_status\\" TEXT,\\n \\"last_error\\" TEXT,\\n \\"run_count\\" INTEGER,\\n \\"success_count\\" INTEGER,\\n \\"failure_count\\" INTEGER,\\n \\"max_concurrent\\" INTEGER,\\n \\"running_count\\" INTEGER,\\n \\"timeout\\" INTEGER,\\n \\"method\\" TEXT,\\n \\"method_args\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_type":{"type":"TEXT","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_config":{"type":"TEXT","notNull":false,"unique":false},"cron":{"type":"TEXT","notNull":false,"unique":false},"timezone":{"type":"TEXT","notNull":false,"unique":false},"enabled":{"type":"BOOLEAN","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"last_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"next_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"last_status":{"type":"TEXT","notNull":false,"unique":false},"last_error":{"type":"TEXT","notNull":false,"unique":false},"run_count":{"type":"INTEGER","notNull":false,"unique":false},"success_count":{"type":"INTEGER","notNull":false,"unique":false},"failure_count":{"type":"INTEGER","notNull":false,"unique":false},"max_concurrent":{"type":"INTEGER","notNull":false,"unique":false},"running_count":{"type":"INTEGER","notNull":false,"unique":false},"timeout":{"type":"INTEGER","notNull":false,"unique":false},"method":{"type":"TEXT","notNull":false,"unique":false},"method_args":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_agent_schedules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","next_run"]},{"name":"_smrt_agent_schedules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c21a1f29"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:AgentScheduleCollection":{"name":"agentschedulecollection","className":"AgentScheduleCollection","qualifiedName":"@happyvertical/smrt-agents:AgentScheduleCollection","collection":"agentschedules","description":"Collection for managing AgentSchedule objects","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/schedule.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"listByStatus":{"name":"listByStatus","async":true,"parameters":[{"name":"status","type":"ScheduleStatus | ScheduleStatus[]","optional":false,"unionBranches":[{"type":"ScheduleStatus"},{"type":"ScheduleStatus[]"}]},{"name":"options","type":"object","optional":true,"memberTypes":["number"]}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true},"listByAgentType":{"name":"listByAgentType","async":true,"parameters":[{"name":"agentType","type":"string","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["number","boolean"]}],"returnType":"Promise<AgentSchedule[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_agent_schedules","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create","update","delete"],"skipApiCheck":true}},"extends":"SmrtCollection","extendsTypeArg":"AgentSchedule","exportName":"AgentScheduleCollection","collectionExportName":"AgentScheduleCollectionCollection","collectionOf":"@happyvertical/smrt-agents:AgentSchedule","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"_smrt_agent_schedules","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_agent_schedules\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"agent_type\\" TEXT,\\n \\"agent_id\\" TEXT,\\n \\"agent_config\\" TEXT,\\n \\"cron\\" TEXT,\\n \\"timezone\\" TEXT,\\n \\"enabled\\" BOOLEAN,\\n \\"status\\" TEXT,\\n \\"last_run\\" TIMESTAMP,\\n \\"next_run\\" TIMESTAMP,\\n \\"last_status\\" TEXT,\\n \\"last_error\\" TEXT,\\n \\"run_count\\" INTEGER,\\n \\"success_count\\" INTEGER,\\n \\"failure_count\\" INTEGER,\\n \\"max_concurrent\\" INTEGER,\\n \\"running_count\\" INTEGER,\\n \\"timeout\\" INTEGER,\\n \\"method\\" TEXT,\\n \\"method_args\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"agent_type":{"type":"TEXT","notNull":false,"unique":false},"agent_id":{"type":"TEXT","notNull":false,"unique":false},"agent_config":{"type":"TEXT","notNull":false,"unique":false},"cron":{"type":"TEXT","notNull":false,"unique":false},"timezone":{"type":"TEXT","notNull":false,"unique":false},"enabled":{"type":"BOOLEAN","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"last_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"next_run":{"type":"TIMESTAMP","notNull":false,"unique":false},"last_status":{"type":"TEXT","notNull":false,"unique":false},"last_error":{"type":"TEXT","notNull":false,"unique":false},"run_count":{"type":"INTEGER","notNull":false,"unique":false},"success_count":{"type":"INTEGER","notNull":false,"unique":false},"failure_count":{"type":"INTEGER","notNull":false,"unique":false},"max_concurrent":{"type":"INTEGER","notNull":false,"unique":false},"running_count":{"type":"INTEGER","notNull":false,"unique":false},"timeout":{"type":"INTEGER","notNull":false,"unique":false},"method":{"type":"TEXT","notNull":false,"unique":false},"method_args":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_agent_schedules_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_agent_schedules_enabled_status_next_run_idx","columns":["enabled","status","next_run"]},{"name":"_smrt_agent_schedules_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"c21a1f29"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:SmrtDataSurfaceActionTask":{"name":"smrtdatasurfaceactiontask","className":"SmrtDataSurfaceActionTask","qualifiedName":"@happyvertical/smrt-agents:SmrtDataSurfaceActionTask","collection":"smrtdatasurfaceactiontasks","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/jobs-data-surface-action-queue.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"args":{"type":"json","required":true,"_meta":{"required":true}}},"methods":{"run":{"name":"run","async":true,"parameters":[{"name":"args","type":"DataSurfaceActionJobArgs","optional":true},{"name":"context","type":"JobExecutionContext","optional":true}],"returnType":"Promise<DataSurfaceActionResult>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_data_surface_action_tasks","api":false,"cli":false,"mcp":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"SmrtDataSurfaceActionTask","collectionExportName":"SmrtDataSurfaceActionTaskCollection","validationRules":[{"field":"args","rule":"required","fieldType":"json"}],"schema":{"tableName":"_smrt_data_surface_action_tasks","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_tasks\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"args\\" JSON NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"args":{"type":"JSON","notNull":true,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_tasks_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_data_surface_action_tasks_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"d1c4adf8"},"importPath":"@happyvertical/smrt-agents/server"},"@happyvertical/smrt-agents:DataSurfaceActionTokenState":{"name":"datasurfaceactiontokenstate","className":"DataSurfaceActionTokenState","qualifiedName":"@happyvertical/smrt-agents:DataSurfaceActionTokenState","collection":"datasurfaceactiontokenstates","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/sql-data-surface-action-state.ts","packageName":"@happyvertical/smrt-agents","fields":{"tokenHash":{"type":"text","required":true,"_meta":{"required":true,"unique":true}},"record":{"type":"json","required":true,"_meta":{"required":true}},"consumedBy":{"type":"text","required":false,"_meta":{"nullable":true}}},"methods":{},"decoratorConfig":{"tableName":"_smrt_data_surface_action_tokens","api":false,"cli":false,"mcp":false},"extends":"SmrtObject","exportName":"DataSurfaceActionTokenState","collectionExportName":"DataSurfaceActionTokenStateCollection","validationRules":[{"field":"tokenHash","rule":"required","fieldType":"text"},{"field":"record","rule":"required","fieldType":"json"}],"schema":{"tableName":"_smrt_data_surface_action_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_tokens\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"token_hash\\" TEXT NOT NULL UNIQUE,\\n \\"record\\" JSON NOT NULL,\\n \\"consumed_by\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"token_hash":{"type":"TEXT","notNull":true,"unique":true},"record":{"type":"JSON","notNull":true,"unique":false},"consumed_by":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"_smrt_data_surface_action_tokens_created_at_idx","columns":["created_at"]}],"version":"497cf260"},"importPath":"@happyvertical/smrt-agents/server"},"@happyvertical/smrt-agents:DataSurfaceActionIdempotencyState":{"name":"datasurfaceactionidempotencystate","className":"DataSurfaceActionIdempotencyState","qualifiedName":"@happyvertical/smrt-agents:DataSurfaceActionIdempotencyState","collection":"datasurfaceactionidempotencystates","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/server/sql-data-surface-action-state.ts","packageName":"@happyvertical/smrt-agents","fields":{"keyHash":{"type":"text","required":true,"_meta":{"required":true,"unique":true}},"status":{"type":"text","required":true,"_meta":{"required":true},"enum":["reserved","completed"]},"requestFingerprint":{"type":"text","required":true,"_meta":{"required":true}},"ownerHash":{"type":"text","required":false,"_meta":{"nullable":true}},"reservedAt":{"type":"text","required":false,"_meta":{"nullable":true}},"result":{"type":"json","required":false,"_meta":{"nullable":true}},"recovery":{"type":"json","required":false,"_meta":{"nullable":true}}},"methods":{},"decoratorConfig":{"tableName":"_smrt_data_surface_action_idempotency","api":false,"cli":false,"mcp":false},"extends":"SmrtObject","exportName":"DataSurfaceActionIdempotencyState","collectionExportName":"DataSurfaceActionIdempotencyStateCollection","validationRules":[{"field":"keyHash","rule":"required","fieldType":"text"},{"field":"status","rule":"required","fieldType":"text"},{"field":"requestFingerprint","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_data_surface_action_idempotency","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_data_surface_action_idempotency\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"key_hash\\" TEXT NOT NULL UNIQUE,\\n \\"status\\" TEXT NOT NULL,\\n \\"request_fingerprint\\" TEXT NOT NULL,\\n \\"owner_hash\\" TEXT,\\n \\"reserved_at\\" TEXT,\\n \\"result\\" JSON,\\n \\"recovery\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"key_hash":{"type":"TEXT","notNull":true,"unique":true},"status":{"type":"TEXT","notNull":true,"unique":false},"request_fingerprint":{"type":"TEXT","notNull":true,"unique":false},"owner_hash":{"type":"TEXT","notNull":false,"unique":false},"reserved_at":{"type":"TEXT","notNull":false,"unique":false},"result":{"type":"JSON","notNull":false,"unique":false},"recovery":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_data_surface_action_idempotency_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"_smrt_data_surface_action_idempotency_created_at_idx","columns":["created_at"]}],"version":"eb65ff1e"},"importPath":"@happyvertical/smrt-agents/server"},"@happyvertical/smrt-agents:TenantAgent":{"name":"tenantagent","className":"TenantAgent","qualifiedName":"@happyvertical/smrt-agents:TenantAgent","collection":"tenantagents","description":"TenantAgent SmrtObject \u2014 junction between tenants and agents","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/tenant-agent.ts","packageName":"@happyvertical/smrt-agents","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"agentClass":{"type":"text","required":false,"_meta":{}},"status":{"type":"text","required":false,"_meta":{},"enum":["active","disabled"]},"permissions":{"type":"json","required":false,"_meta":{"nullable":true}},"config":{"type":"json","required":false,"_meta":{"nullable":true,"sensitive":true},"sensitive":true}},"methods":{},"decoratorConfig":{"tableName":"tenant_agents","api":{"include":["list","get","create","update","delete"]},"cli":{"include":["list","get"]},"mcp":{"include":["list","get"]},"conflictColumns":["tenant_id","agent_class"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"TenantAgent","collectionExportName":"TenantAgentCollection","validationRules":[],"schema":{"tableName":"tenant_agents","ddl":"CREATE TABLE IF NOT EXISTS \\"tenant_agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"agent_class\\" TEXT,\\n \\"status\\" TEXT,\\n \\"permissions\\" JSON,\\n \\"config\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"permissions":{"type":"JSON","notNull":false,"unique":false},"config":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"tenant_agents_tenant_id_agent_class_idx","columns":["tenant_id","agent_class"],"unique":true,"nullsNotDistinct":true},{"name":"tenant_agents_slug_context_idx","columns":["slug","context"]},{"name":"tenant_agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"9892a054"},"importPath":"@happyvertical/smrt-agents"},"@happyvertical/smrt-agents:TenantAgentCollection":{"name":"tenantagentcollection","className":"TenantAgentCollection","qualifiedName":"@happyvertical/smrt-agents:TenantAgentCollection","collection":"tenantagents","description":"Collection for managing tenant-agent bindings","filePath":"/home/runner/work/smrt/smrt/packages/agents/src/tenant-agent.ts","packageName":"@happyvertical/smrt-agents","fields":{},"methods":{"resolveForTenant":{"name":"resolveForTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"getAncestorIds","type":"Function","optional":false},{"name":"manifests","type":"Map<string, AgentManifestInfo>","optional":true}],"returnType":"Promise<ResolvedAgentAvailability[]>","isStatic":false,"isPublic":true},"enableAgent":{"name":"enableAgent","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"disableAgent":{"name":"disableAgent","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"clearOverride":{"name":"clearOverride","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setPermissions":{"name":"setPermissions","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false},{"name":"permissions","type":"Record<string, boolean>","optional":false}],"returnType":"Promise<TenantAgent>","isStatic":false,"isPublic":true},"findByTenantAndClass":{"name":"findByTenantAndClass","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false},{"name":"agentClass","type":"string","optional":false}],"returnType":"Promise<TenantAgent | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"tenant_agents","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"TenantAgent","exportName":"TenantAgentCollection","collectionExportName":"TenantAgentCollectionCollection","collectionOf":"@happyvertical/smrt-agents:TenantAgent","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"tenant_agents","ddl":"CREATE TABLE IF NOT EXISTS \\"tenant_agents\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"agent_class\\" TEXT,\\n \\"status\\" TEXT,\\n \\"permissions\\" JSON,\\n \\"config\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"agent_class":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":false,"unique":false},"permissions":{"type":"JSON","notNull":false,"unique":false},"config":{"type":"JSON","notNull":false,"unique":false}},"indexes":[{"name":"tenant_agents_tenant_id_agent_class_idx","columns":["tenant_id","agent_class"],"unique":true,"nullsNotDistinct":true},{"name":"tenant_agents_slug_context_idx","columns":["slug","context"]},{"name":"tenant_agents_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"9892a054"},"importPath":"@happyvertical/smrt-agents"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-core","@happyvertical/smrt-jobs","@happyvertical/smrt-playbooks","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"],"browser":{"status":"server-only","issues":["#3615","#3617","#3624","#3625","#3626","#3627"],"reason":"node:crypto in root; core migrations (node:os)","via":["@happyvertical/smrt-jobs","@happyvertical/smrt-profiles","@happyvertical/smrt-reports","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"]},"stampsConstructors":true}`));
16
16
  //#endregion
17
17
  //#region src/ai-config.ts
18
18
  var DEFAULT_SECRET_FALLBACK = "ancestors";
@@ -1067,12 +1067,24 @@ __publicField$2(Agent, "signalSubscriptions", []);
1067
1067
  * the persisted value (or to whatever
1068
1068
  * {@link ResolveLazyConfigOptions.onError} dictates).
1069
1069
  *
1070
+ * Each resolver receives a `ConfigResolverContext` (#2806): this agent
1071
+ * instance's `agentId`, canonical `agentClass`, `tenantId`, `scheduleId`,
1072
+ * and the value its own persisted config holds for the key (`persisted`,
1073
+ * `hasPersisted`). A per-agent value such as the agent's own AI credential
1074
+ * should not be clobbered by a deployment default: wrap the default in
1075
+ * `preferPersisted()` (or return `undefined` when `context.hasPersisted`).
1076
+ * Never pick an agent by scanning the tenant's `agent_configs` rows — with
1077
+ * several agents of one class per tenant that hands one agent another's
1078
+ * credential; use `context.agentId`.
1079
+ *
1070
1080
  * @example
1071
1081
  * ```typescript
1072
1082
  * class Praeco extends Agent {
1073
1083
  * static override configResolvers = {
1074
1084
  * assetStorage: () => resolveSharedAssetStorage(),
1075
1085
  * aiKey: async () => loadAIKeyFromSecretsManager(),
1086
+ * ai: preferPersisted(() => deploymentDefaultAi()),
1087
+ * region: ({ agentId }) => lookupRegionFor(agentId),
1076
1088
  * };
1077
1089
  * }
1078
1090
  * ```
@@ -4485,6 +4497,6 @@ function getManifestForAgent(manifests, agentTypeOrIdentifier) {
4485
4497
  return manifests.get(agentTypeOrIdentifier) || manifests.get(getAgentClassName(agentTypeOrIdentifier));
4486
4498
  }
4487
4499
  //#endregion
4488
- export { AGENT_COMPLETED_SIGNAL, AGENT_CONFIGS_TABLE, AGENT_INVOKE_SIGNAL, AGENT_SCHEDULE_SLUG_BACKFILL, AGENT_SCHEDULE_TABLE, Agent, AgentConfig, AgentConfigCollection, AgentSchedule, AgentScheduleCollection, AgentScheduleSlugBackfillError, AgentUIRegistry, DATA_DISCOVER_FUNCTION_NAME, DATA_DISCOVER_TOOL_SLUG, DATA_INSPECT_FUNCTION_NAME, DATA_INSPECT_TOOL_SLUG, DATA_QUERY_FUNCTION_NAME, DATA_QUERY_TOOL_PARAMETERS, DATA_QUERY_TOOL_SLUG, DEFAULT_DATA_SURFACE_DEADLINE_MS, DataSurfaceActionDeniedError, DataSurfaceDeadlineError, DataSurfaceDeniedError, DataSurfaceQueryError, DataSurfaceRequestError, DataSurfaceResultOrderError, DelegationDepthExceededError, ID_FIELD_FILTER_OPERATORS, INVOKE_AGENT_FUNCTION_NAME, INVOKE_AGENT_TOOL_SLUG, MAX_DATA_SURFACE_DEADLINE_MS, MAX_DATA_SURFACE_ROW_COUNT_HINT_CHARS, MAX_DATA_SURFACE_SUMMARY_DESCRIPTION_CHARS, MAX_DELEGATION_DEPTH, NULL_TEST_FILTER_OPERATORS, PLAYBOOK_PREFLIGHT_FUNCTION_NAME, PLAYBOOK_PREFLIGHT_TOOL_SLUG, PrincipalToolNotAllowedError, PrincipalWideningError, REPORT_DRILLDOWN_FUNCTION_NAME, REPORT_DRILLDOWN_TOOL_SLUG, REPORT_EXPORT_FUNCTION_NAME, REPORT_EXPORT_TOOL_SLUG, REPORT_QUERY_FUNCTION_NAME, REPORT_QUERY_TOOL_SLUG, REPORT_REFRESH_FUNCTION_NAME, REPORT_REFRESH_TOOL_SLUG, ReportDataSurfaceConfigurationError, ReportDataSurfaceVisibleError, TENANT_AGENTS_TABLE, TenantAgent, TenantAgentCollection, TenantAgentConfigKeyRepairError, agentInvokeSignalType, assertIdFieldConditions, assertPrincipalNotWidened, assertSmrtCollectionQuerySchema, assertWithinDelegationDepth, buildDataQuerySchemaForClass, canonicalScheduleSlug, clearSmrtCollectionQuerySchemaCache, createDataSurfaceQueryFingerprint, createDataSurfaceTools, createDispatchInvokeTransport, createInvokeAgentTool, createPlaybookPreflightTool, createReportDataSurfaceDefinition, createReportDataSurfaceTools, createSmrtCollectionDataSurfaceDefinition, createUIRegistry, dataQueryOrderByTerms, deriveDelegationEnvelope, emitAgentCompletion, executeAsPrincipal, executeDelegatedInvocation, executeSmrtCollectionQuery, filterPlaybooksByPreflight, getAgentClassName, getAgentTypeName, getClassConfigResolvers, getConfigResolver, inlineInvokeAgentTransport, instanceScopedSubscriber, isAgentCreateEntryAvailable, isLazyConfigSentinel, listConfigResolvers, mergeFilters, migrateAgentScheduleSlugs, normalizeDataSurfaceRowCountHint, normalizeSort, nullableColumnFieldIds, parseTenantAgentConfigOwnerId, planAgentScheduleSlugMigration, planTenantAgentConfigKeyRepair, planTenantAgentConfigKeyRepairRows, playbookStepCollection, playbookStepToolSlug, processAgentInvocations, registerConfigResolver, repairTenantAgentConfigKeys, resetConfigResolvers, resolveAgentAIOptions, resolveAgentCreateEntries, resolveAgentLearning, resolveLazyConfig, rootDelegationEnvelope, surfaceAgentCompletions, tenantAgentConfigOwnerId, unregisterConfigResolver, uuidColumnFieldIds };
4500
+ export { AGENT_COMPLETED_SIGNAL, AGENT_CONFIGS_TABLE, AGENT_INVOKE_SIGNAL, AGENT_SCHEDULE_SLUG_BACKFILL, AGENT_SCHEDULE_TABLE, Agent, AgentConfig, AgentConfigCollection, AgentSchedule, AgentScheduleCollection, AgentScheduleSlugBackfillError, AgentUIRegistry, DATA_DISCOVER_FUNCTION_NAME, DATA_DISCOVER_TOOL_SLUG, DATA_INSPECT_FUNCTION_NAME, DATA_INSPECT_TOOL_SLUG, DATA_QUERY_FUNCTION_NAME, DATA_QUERY_TOOL_PARAMETERS, DATA_QUERY_TOOL_SLUG, DEFAULT_DATA_SURFACE_DEADLINE_MS, DataSurfaceActionDeniedError, DataSurfaceDeadlineError, DataSurfaceDeniedError, DataSurfaceQueryError, DataSurfaceRequestError, DataSurfaceResultOrderError, DelegationDepthExceededError, ID_FIELD_FILTER_OPERATORS, INVOKE_AGENT_FUNCTION_NAME, INVOKE_AGENT_TOOL_SLUG, MAX_DATA_SURFACE_DEADLINE_MS, MAX_DATA_SURFACE_ROW_COUNT_HINT_CHARS, MAX_DATA_SURFACE_SUMMARY_DESCRIPTION_CHARS, MAX_DELEGATION_DEPTH, NULL_TEST_FILTER_OPERATORS, PLAYBOOK_PREFLIGHT_FUNCTION_NAME, PLAYBOOK_PREFLIGHT_TOOL_SLUG, PrincipalToolNotAllowedError, PrincipalWideningError, REPORT_DRILLDOWN_FUNCTION_NAME, REPORT_DRILLDOWN_TOOL_SLUG, REPORT_EXPORT_FUNCTION_NAME, REPORT_EXPORT_TOOL_SLUG, REPORT_QUERY_FUNCTION_NAME, REPORT_QUERY_TOOL_SLUG, REPORT_REFRESH_FUNCTION_NAME, REPORT_REFRESH_TOOL_SLUG, ReportDataSurfaceConfigurationError, ReportDataSurfaceVisibleError, TENANT_AGENTS_TABLE, TenantAgent, TenantAgentCollection, TenantAgentConfigKeyRepairError, agentInvokeSignalType, assertIdFieldConditions, assertPrincipalNotWidened, assertSmrtCollectionQuerySchema, assertWithinDelegationDepth, buildDataQuerySchemaForClass, canonicalScheduleSlug, clearSmrtCollectionQuerySchemaCache, createConfigResolverContext, createDataSurfaceQueryFingerprint, createDataSurfaceTools, createDispatchInvokeTransport, createInvokeAgentTool, createPlaybookPreflightTool, createReportDataSurfaceDefinition, createReportDataSurfaceTools, createSmrtCollectionDataSurfaceDefinition, createUIRegistry, dataQueryOrderByTerms, deriveDelegationEnvelope, emitAgentCompletion, executeAsPrincipal, executeDelegatedInvocation, executeSmrtCollectionQuery, filterPlaybooksByPreflight, getAgentClassName, getAgentTypeName, getClassConfigResolvers, getConfigResolver, inlineInvokeAgentTransport, instanceScopedSubscriber, isAgentCreateEntryAvailable, isLazyConfigSentinel, listConfigResolvers, mergeFilters, migrateAgentScheduleSlugs, normalizeDataSurfaceRowCountHint, normalizeSort, nullableColumnFieldIds, parseTenantAgentConfigOwnerId, planAgentScheduleSlugMigration, planTenantAgentConfigKeyRepair, planTenantAgentConfigKeyRepairRows, playbookStepCollection, playbookStepToolSlug, preferPersisted, processAgentInvocations, registerConfigResolver, repairTenantAgentConfigKeys, resetConfigResolvers, resolveAgentAIOptions, resolveAgentCreateEntries, resolveAgentLearning, resolveLazyConfig, rootDelegationEnvelope, surfaceAgentCompletions, tenantAgentConfigOwnerId, unregisterConfigResolver, uuidColumnFieldIds };
4489
4501
 
4490
4502
  //# sourceMappingURL=index.js.map