@alneas/eaos-server 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.ja.md +28 -18
  3. package/README.md +8 -2
  4. package/dist/agentic/agent-jobs.d.ts +5 -1
  5. package/dist/agentic/autonomous-worker.d.ts +30 -3
  6. package/dist/agentic/autonomous-worker.js +2 -1
  7. package/dist/agentic/event-bridge.d.ts +6 -0
  8. package/dist/agentic/index.d.ts +7 -3
  9. package/dist/agentic/index.js +2 -1
  10. package/dist/agentic/local-runner.d.ts +6 -2
  11. package/dist/chunk-4BARRLJR.js +180 -0
  12. package/dist/chunk-4BARRLJR.js.map +1 -0
  13. package/dist/{chunk-THYUY5ZZ.js → chunk-F2J6IQ6I.js} +68 -25
  14. package/dist/chunk-F2J6IQ6I.js.map +1 -0
  15. package/dist/{chunk-6KV5CJBW.js → chunk-F4IITPGX.js} +5 -5
  16. package/dist/{chunk-DHQGNP4T.js → chunk-SDJNYPYK.js} +2 -2
  17. package/dist/{chunk-DHQGNP4T.js.map → chunk-SDJNYPYK.js.map} +1 -1
  18. package/dist/chunk-YMHVRBUU.js +199 -0
  19. package/dist/chunk-YMHVRBUU.js.map +1 -0
  20. package/dist/db-package/index.js +3 -3
  21. package/dist/engine.js +2 -2
  22. package/dist/execution/chat.d.ts +7 -0
  23. package/dist/execution/chat.js +7 -0
  24. package/dist/execution/chat.js.map +1 -0
  25. package/dist/execution/index.d.ts +294 -2
  26. package/dist/execution/index.js +10 -1
  27. package/dist/execution/index.js.map +1 -1
  28. package/dist/execution/tool-agent.d.ts +7 -0
  29. package/dist/execution/tool-agent.js +8 -0
  30. package/dist/execution/tool-agent.js.map +1 -0
  31. package/dist/index.d.ts +5 -1
  32. package/dist/index.js +4 -3
  33. package/dist/lifecycle-engine/backend-migration.js +1 -1
  34. package/dist/lifecycle-engine/baseline.js +1 -1
  35. package/dist/lifecycle-engine/index.js +1 -1
  36. package/dist/lifecycle-engine/platform/index.js +8 -8
  37. package/dist/sql-lifecycle/index.d.ts +1 -1
  38. package/docs/api.md +809 -2
  39. package/docs/guide.md +44 -0
  40. package/docs/index.md +6 -2
  41. package/package.json +12 -3
  42. package/dist/chunk-THYUY5ZZ.js.map +0 -1
  43. /package/dist/{chunk-6KV5CJBW.js.map → chunk-F4IITPGX.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/execution/index.ts"],"sourcesContent":["import { Hono, type Context } from 'hono'\n/**\n * Authenticated host identity supplied to {@link createPluginExecutionRouter}.\n */\nexport interface ExecutionIdentity {\n /** Nonblank verified tenant ID. */\n tenantId: string\n /** Nonblank verified user ID. */\n userId: string\n}\n/**\n * Routes authenticated, authorized JSON requests to a fixed plugin/action operation map.\n * @param options - resolveIdentity receives Hono context and resolves verified identity/null; authorize receives that identity, pluginId, action, and parsed payload and must check current membership, activation, and resource permissions; operations maps pluginId:action to async handlers receiving identity/payload. maxBodyBytes defaults to 1048576; allowedOrigins permits exact Origin values and defaults to none.\n * @returns A router serving POST /:pluginId/:action with no-store responses. It returns handler output as JSON or explicit 400/401/403/404/413/415 failures; callback/transport/serialization failures become 503.\n * @throws Synchronously for a nonpositive or unsafe-integer body limit.\n * @remarks The operation map is shallow-copied at creation. Plugin IDs must be lowercase kebab-case; actions allow letters/digits/underscore/hyphen. Origin is checked only when present and is not authentication. Body readers are released and oversized streams cancelled. No transaction, idempotency, cancellation, or retry is supplied; operation side effects may precede a 503 response.\n * @example\n * ```typescript\n * import { createPluginExecutionRouter } from \"@alneas/eaos-server/execution\";\n * export function executionRouter(options: Parameters<typeof createPluginExecutionRouter>[0]) {\n * // Host adapters authenticate, authorize, validate payloads, and persist operation results.\n * return createPluginExecutionRouter(options);\n * }\n * ```\n */\nexport function createPluginExecutionRouter(options: {\n /**\n * Authenticates the Hono request and resolves nonblank verified tenant/user IDs or null; callback failure becomes a 503 response.\n */\n resolveIdentity: (context: Context) => Promise<ExecutionIdentity | null>\n /** Must check current tenant membership, plugin activation and resource permissions. */\n authorize: (identity: ExecutionIdentity, pluginId: string, action: string, payload: unknown) => Promise<boolean>\n /**\n * Fixed pluginId:action handlers shallow-copied at creation; each receives admitted identity and parsed JSON and resolves JSON-serializable output.\n */\n operations: Record<string, (identity: ExecutionIdentity, payload: unknown) => Promise<unknown>>\n /**\n * Positive safe-integer request body limit in bytes, enforced while reading; defaults to 1048576.\n */\n maxBodyBytes?: number\n /**\n * Optional exact Origin allowlist; any present Origin is denied unless included, while an absent Origin skips this check.\n */\n allowedOrigins?: string[]\n}) {\n const router = new Hono(), operations = { ...options.operations }, maxBytes = options.maxBodyBytes ?? 1_048_576\n if (!Number.isSafeInteger(maxBytes) || maxBytes < 1) throw new Error('Invalid request limit')\n router.post('/:pluginId/:action', async c => {\n c.header('Cache-Control', 'no-store')\n try {\n if (c.req.header('Content-Type')?.split(';')[0].trim().toLowerCase() !== 'application/json') return c.json({ error: 'JSON required' }, 415)\n const origin = c.req.header('Origin')\n if (origin && !options.allowedOrigins?.includes(origin)) return c.json({ error: 'Origin denied' }, 403)\n const identity = await options.resolveIdentity(c)\n if (!identity?.tenantId?.trim() || !identity.userId?.trim()) return c.json({ error: 'Authentication required' }, 401)\n const { pluginId, action } = c.req.param()\n if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(pluginId) || !/^[a-zA-Z0-9_-]+$/.test(action) || !Object.hasOwn(operations, `${pluginId}:${action}`)) return c.json({ error: 'Unknown operation' }, 404)\n const reader = c.req.raw.body?.getReader(); const chunks: Uint8Array[] = []; let size = 0\n if (reader) try {\n while (true) { const { done, value } = await reader.read(); if (done) break; size += value.length; if (size > maxBytes) { await reader.cancel(); return c.json({ error: 'Request too large' }, 413) }; chunks.push(value) }\n } finally { reader.releaseLock() }\n const bytes = new Uint8Array(size); let offset = 0\n for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.length }\n let payload: unknown\n try { payload = JSON.parse(new TextDecoder().decode(bytes)) } catch { return c.json({ error: 'Invalid JSON' }, 400) }\n if (!await options.authorize(identity, pluginId, action, payload)) return c.json({ error: 'Execution denied' }, 403)\n return c.json(await operations[`${pluginId}:${action}`](identity, payload))\n } catch { return c.json({ error: 'Execution unavailable' }, 503) }\n })\n return router\n}\n"],"mappings":";AAAA,SAAS,YAA0B;AAyB5B,SAAS,4BAA4B,SAmBzC;AACD,QAAM,SAAS,IAAI,KAAK,GAAG,aAAa,EAAE,GAAG,QAAQ,WAAW,GAAG,WAAW,QAAQ,gBAAgB;AACtG,MAAI,CAAC,OAAO,cAAc,QAAQ,KAAK,WAAW,EAAG,OAAM,IAAI,MAAM,uBAAuB;AAC5F,SAAO,KAAK,sBAAsB,OAAM,MAAK;AAC3C,MAAE,OAAO,iBAAiB,UAAU;AACpC,QAAI;AACF,UAAI,EAAE,IAAI,OAAO,cAAc,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,MAAM,mBAAoB,QAAO,EAAE,KAAK,EAAE,OAAO,gBAAgB,GAAG,GAAG;AAC1I,YAAM,SAAS,EAAE,IAAI,OAAO,QAAQ;AACpC,UAAI,UAAU,CAAC,QAAQ,gBAAgB,SAAS,MAAM,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,gBAAgB,GAAG,GAAG;AACtG,YAAM,WAAW,MAAM,QAAQ,gBAAgB,CAAC;AAChD,UAAI,CAAC,UAAU,UAAU,KAAK,KAAK,CAAC,SAAS,QAAQ,KAAK,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,0BAA0B,GAAG,GAAG;AACpH,YAAM,EAAE,UAAU,OAAO,IAAI,EAAE,IAAI,MAAM;AACzC,UAAI,CAAC,6BAA6B,KAAK,QAAQ,KAAK,CAAC,mBAAmB,KAAK,MAAM,KAAK,CAAC,OAAO,OAAO,YAAY,GAAG,QAAQ,IAAI,MAAM,EAAE,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,oBAAoB,GAAG,GAAG;AAC9L,YAAM,SAAS,EAAE,IAAI,IAAI,MAAM,UAAU;AAAG,YAAM,SAAuB,CAAC;AAAG,UAAI,OAAO;AACxF,UAAI,OAAQ,KAAI;AACd,eAAO,MAAM;AAAE,gBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAAG,cAAI,KAAM;AAAO,kBAAQ,MAAM;AAAQ,cAAI,OAAO,UAAU;AAAE,kBAAM,OAAO,OAAO;AAAG,mBAAO,EAAE,KAAK,EAAE,OAAO,oBAAoB,GAAG,GAAG;AAAA,UAAE;AAAC;AAAE,iBAAO,KAAK,KAAK;AAAA,QAAE;AAAA,MAC5N,UAAE;AAAU,eAAO,YAAY;AAAA,MAAE;AACjC,YAAM,QAAQ,IAAI,WAAW,IAAI;AAAG,UAAI,SAAS;AACjD,iBAAW,SAAS,QAAQ;AAAE,cAAM,IAAI,OAAO,MAAM;AAAG,kBAAU,MAAM;AAAA,MAAO;AAC/E,UAAI;AACJ,UAAI;AAAE,kBAAU,KAAK,MAAM,IAAI,YAAY,EAAE,OAAO,KAAK,CAAC;AAAA,MAAE,QAAQ;AAAE,eAAO,EAAE,KAAK,EAAE,OAAO,eAAe,GAAG,GAAG;AAAA,MAAE;AACpH,UAAI,CAAC,MAAM,QAAQ,UAAU,UAAU,UAAU,QAAQ,OAAO,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,mBAAmB,GAAG,GAAG;AACnH,aAAO,EAAE,KAAK,MAAM,WAAW,GAAG,QAAQ,IAAI,MAAM,EAAE,EAAE,UAAU,OAAO,CAAC;AAAA,IAC5E,QAAQ;AAAE,aAAO,EAAE,KAAK,EAAE,OAAO,wBAAwB,GAAG,GAAG;AAAA,IAAE;AAAA,EACnE,CAAC;AACD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/execution/index.ts"],"sourcesContent":["import { Hono, type Context } from 'hono'\n/**\n * Authenticated host identity supplied to {@link createPluginExecutionRouter}.\n */\nexport interface ExecutionIdentity {\n /** Nonblank verified tenant ID. */\n tenantId: string\n /** Nonblank verified user ID. */\n userId: string\n}\n/**\n * Routes authenticated, authorized JSON requests to a fixed plugin/action operation map.\n * @param options - resolveIdentity receives Hono context and resolves verified identity/null; authorize receives that identity, pluginId, action, and parsed payload and must check current membership, activation, and resource permissions; operations maps pluginId:action to async handlers receiving identity/payload. maxBodyBytes defaults to 1048576; allowedOrigins permits exact Origin values and defaults to none.\n * @returns A router serving POST /:pluginId/:action with no-store responses. It returns handler output as JSON or explicit 400/401/403/404/413/415 failures; callback/transport/serialization failures become 503.\n * @throws Synchronously for a nonpositive or unsafe-integer body limit.\n * @remarks The operation map is shallow-copied at creation. Plugin IDs must be lowercase kebab-case; actions allow letters/digits/underscore/hyphen. Origin is checked only when present and is not authentication. Body readers are released and oversized streams cancelled. No transaction, idempotency, cancellation, or retry is supplied; operation side effects may precede a 503 response.\n * @example\n * ```typescript\n * import { createPluginExecutionRouter } from \"@alneas/eaos-server/execution\";\n * export function executionRouter(options: Parameters<typeof createPluginExecutionRouter>[0]) {\n * // Host adapters authenticate, authorize, validate payloads, and persist operation results.\n * return createPluginExecutionRouter(options);\n * }\n * ```\n */\nexport function createPluginExecutionRouter(options: {\n /**\n * Authenticates the Hono request and resolves nonblank verified tenant/user IDs or null; callback failure becomes a 503 response.\n */\n resolveIdentity: (context: Context) => Promise<ExecutionIdentity | null>\n /** Must check current tenant membership, plugin activation and resource permissions. */\n authorize: (identity: ExecutionIdentity, pluginId: string, action: string, payload: unknown) => Promise<boolean>\n /**\n * Fixed pluginId:action handlers shallow-copied at creation; each receives admitted identity and parsed JSON and resolves JSON-serializable output.\n */\n operations: Record<string, (identity: ExecutionIdentity, payload: unknown) => Promise<unknown>>\n /**\n * Positive safe-integer request body limit in bytes, enforced while reading; defaults to 1048576.\n */\n maxBodyBytes?: number\n /**\n * Optional exact Origin allowlist; any present Origin is denied unless included, while an absent Origin skips this check.\n */\n allowedOrigins?: string[]\n}) {\n const router = new Hono(), operations = { ...options.operations }, maxBytes = options.maxBodyBytes ?? 1_048_576\n if (!Number.isSafeInteger(maxBytes) || maxBytes < 1) throw new Error('Invalid request limit')\n router.post('/:pluginId/:action', async c => {\n c.header('Cache-Control', 'no-store')\n try {\n if (c.req.header('Content-Type')?.split(';')[0].trim().toLowerCase() !== 'application/json') return c.json({ error: 'JSON required' }, 415)\n const origin = c.req.header('Origin')\n if (origin && !options.allowedOrigins?.includes(origin)) return c.json({ error: 'Origin denied' }, 403)\n const identity = await options.resolveIdentity(c)\n if (!identity?.tenantId?.trim() || !identity.userId?.trim()) return c.json({ error: 'Authentication required' }, 401)\n const { pluginId, action } = c.req.param()\n if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(pluginId) || !/^[a-zA-Z0-9_-]+$/.test(action) || !Object.hasOwn(operations, `${pluginId}:${action}`)) return c.json({ error: 'Unknown operation' }, 404)\n const reader = c.req.raw.body?.getReader(); const chunks: Uint8Array[] = []; let size = 0\n if (reader) try {\n while (true) { const { done, value } = await reader.read(); if (done) break; size += value.length; if (size > maxBytes) { await reader.cancel(); return c.json({ error: 'Request too large' }, 413) }; chunks.push(value) }\n } finally { reader.releaseLock() }\n const bytes = new Uint8Array(size); let offset = 0\n for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.length }\n let payload: unknown\n try { payload = JSON.parse(new TextDecoder().decode(bytes)) } catch { return c.json({ error: 'Invalid JSON' }, 400) }\n if (!await options.authorize(identity, pluginId, action, payload)) return c.json({ error: 'Execution denied' }, 403)\n return c.json(await operations[`${pluginId}:${action}`](identity, payload))\n } catch { return c.json({ error: 'Execution unavailable' }, 503) }\n })\n return router\n}\n\n/** Verified generic execution identity; policy checks remain host-owned.\n * @see createChatClient\n */\nexport type ExecutionPrincipal = ExecutionIdentity\n/** Current admission policy used by model and action orchestration.\n * @see createChatClient\n */\nexport interface ExecutionPolicy {\n /**\n * Check current membership, activation and operation permission.\n * @param principal - Trusted tenant/user identity copied before calling the host.\n * @param operation - Host operation identity; chat uses model:chat.\n * @returns Exactly true to admit; any other value denies execution.\n * @throws Host policy failures propagate to the caller.\n * @example\n * ```typescript\n * import type { ExecutionPolicy } from '@alneas/eaos-server/execution';\n * export function currentPolicy(policy: ExecutionPolicy) { return policy; }\n * ```\n * @see createChatClient\n */\n authorize(principal: ExecutionPrincipal, operation: string): Promise<boolean>\n}\nexport {createChatClient, type ChatGovernanceOptions, type ChatClientOptions, type ChatCompletion} from './chat'\nexport {createToolAgent, type AgentTool, type ToolAgentOptions, type ToolAgentResult} from './tool-agent'\n"],"mappings":";;;;;;;;AAAA,SAAS,YAA0B;AAyB5B,SAAS,4BAA4B,SAmBzC;AACD,QAAM,SAAS,IAAI,KAAK,GAAG,aAAa,EAAE,GAAG,QAAQ,WAAW,GAAG,WAAW,QAAQ,gBAAgB;AACtG,MAAI,CAAC,OAAO,cAAc,QAAQ,KAAK,WAAW,EAAG,OAAM,IAAI,MAAM,uBAAuB;AAC5F,SAAO,KAAK,sBAAsB,OAAM,MAAK;AAC3C,MAAE,OAAO,iBAAiB,UAAU;AACpC,QAAI;AACF,UAAI,EAAE,IAAI,OAAO,cAAc,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,MAAM,mBAAoB,QAAO,EAAE,KAAK,EAAE,OAAO,gBAAgB,GAAG,GAAG;AAC1I,YAAM,SAAS,EAAE,IAAI,OAAO,QAAQ;AACpC,UAAI,UAAU,CAAC,QAAQ,gBAAgB,SAAS,MAAM,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,gBAAgB,GAAG,GAAG;AACtG,YAAM,WAAW,MAAM,QAAQ,gBAAgB,CAAC;AAChD,UAAI,CAAC,UAAU,UAAU,KAAK,KAAK,CAAC,SAAS,QAAQ,KAAK,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,0BAA0B,GAAG,GAAG;AACpH,YAAM,EAAE,UAAU,OAAO,IAAI,EAAE,IAAI,MAAM;AACzC,UAAI,CAAC,6BAA6B,KAAK,QAAQ,KAAK,CAAC,mBAAmB,KAAK,MAAM,KAAK,CAAC,OAAO,OAAO,YAAY,GAAG,QAAQ,IAAI,MAAM,EAAE,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,oBAAoB,GAAG,GAAG;AAC9L,YAAM,SAAS,EAAE,IAAI,IAAI,MAAM,UAAU;AAAG,YAAM,SAAuB,CAAC;AAAG,UAAI,OAAO;AACxF,UAAI,OAAQ,KAAI;AACd,eAAO,MAAM;AAAE,gBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAAG,cAAI,KAAM;AAAO,kBAAQ,MAAM;AAAQ,cAAI,OAAO,UAAU;AAAE,kBAAM,OAAO,OAAO;AAAG,mBAAO,EAAE,KAAK,EAAE,OAAO,oBAAoB,GAAG,GAAG;AAAA,UAAE;AAAC;AAAE,iBAAO,KAAK,KAAK;AAAA,QAAE;AAAA,MAC5N,UAAE;AAAU,eAAO,YAAY;AAAA,MAAE;AACjC,YAAM,QAAQ,IAAI,WAAW,IAAI;AAAG,UAAI,SAAS;AACjD,iBAAW,SAAS,QAAQ;AAAE,cAAM,IAAI,OAAO,MAAM;AAAG,kBAAU,MAAM;AAAA,MAAO;AAC/E,UAAI;AACJ,UAAI;AAAE,kBAAU,KAAK,MAAM,IAAI,YAAY,EAAE,OAAO,KAAK,CAAC;AAAA,MAAE,QAAQ;AAAE,eAAO,EAAE,KAAK,EAAE,OAAO,eAAe,GAAG,GAAG;AAAA,MAAE;AACpH,UAAI,CAAC,MAAM,QAAQ,UAAU,UAAU,UAAU,QAAQ,OAAO,EAAG,QAAO,EAAE,KAAK,EAAE,OAAO,mBAAmB,GAAG,GAAG;AACnH,aAAO,EAAE,KAAK,MAAM,WAAW,GAAG,QAAQ,IAAI,MAAM,EAAE,EAAE,UAAU,OAAO,CAAC;AAAA,IAC5E,QAAQ;AAAE,aAAO,EAAE,KAAK,EAAE,OAAO,wBAAwB,GAAG,GAAG;AAAA,IAAE;AAAA,EACnE,CAAC;AACD,SAAO;AACT;","names":[]}
@@ -0,0 +1,7 @@
1
+ import '@alneas/appkit-core/ai';
2
+ import '@alneas/appkit-core/ai/action';
3
+ import '@alneas/appkit-core/ai/ai-chat';
4
+ export { AgentTool, ToolAgentOptions, ToolAgentResult, createToolAgent } from './index.js';
5
+ import '@alneas/eaos-core';
6
+ import 'hono/types';
7
+ import 'hono';
@@ -0,0 +1,8 @@
1
+ import {
2
+ createToolAgent
3
+ } from "../chunk-4BARRLJR.js";
4
+ import "../chunk-YMHVRBUU.js";
5
+ export {
6
+ createToolAgent
7
+ };
8
+ //# sourceMappingURL=tool-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { TenantResolver, TenantResolverOptions, createTenantResolver } from './t
9
9
  export { HealthRouterOptions, createHealthRouter } from './health/index.js';
10
10
  export { PlatformAdminRouterOptions, createPlatformAdminRouter } from './platform-admin/index.js';
11
11
  export { ServerAgentDispatchMode, ServerAgentExecutionContext, ServerAgentExecutionError, ServerAgentExecutor, ServerAgentTaskRequest, ServerAgentTaskResult, ServerAgentWorkerType, ServerApprovalCallbackPayload } from './agentic/types.js';
12
- export { ServerAutonomousWorker, ServerRuntimeRole, ServerWorkerOptions } from './agentic/autonomous-worker.js';
12
+ export { ServerAutonomousWorker, ServerRuntimeRole, ServerWorkerChatOptions, ServerWorkerOptions } from './agentic/autonomous-worker.js';
13
13
  export { CommandAgentExecutorOptions, CommandAgentSandboxMode, CommandAgentSandboxOptions, buildSystemdRunArgs, createCommandAgentExecutor, validateAgentRuntimePolicy } from './agentic/executor.js';
14
14
  export { ServerWorkflowAgentRunnerOptions, createWorkflowAgentRunner } from './agentic/agent-runner.js';
15
15
  export { WorkflowAgentNodeOptions, createWorkflowAgentNode } from './agentic/agent-node.js';
@@ -36,4 +36,8 @@ import './plugin-data/index.js';
36
36
  import '@alneas/eaos-core/plugin-sdk';
37
37
  import '@alneas/eaos-server/platform';
38
38
  import './platform-admin/store.js';
39
+ import '@alneas/appkit-core/ai/ai-chat';
40
+ import './execution/index.js';
41
+ import '@alneas/appkit-core/ai/action';
42
+ import '@alneas/appkit-core/ai';
39
43
  import '@langchain/langgraph';
package/dist/index.js CHANGED
@@ -35,7 +35,8 @@ import {
35
35
  } from "./chunk-3NLSWP2Y.js";
36
36
  import {
37
37
  ServerAutonomousWorker
38
- } from "./chunk-THYUY5ZZ.js";
38
+ } from "./chunk-F2J6IQ6I.js";
39
+ import "./chunk-YMHVRBUU.js";
39
40
  import {
40
41
  EventAgentBridge,
41
42
  InMemoryEventAgentTaskStore
@@ -58,7 +59,8 @@ import {
58
59
  ErpEngine,
59
60
  createErpEngine,
60
61
  defineConfig
61
- } from "./chunk-6KV5CJBW.js";
62
+ } from "./chunk-F4IITPGX.js";
63
+ import "./chunk-L6PMAEMB.js";
62
64
  import {
63
65
  createAuthMiddleware
64
66
  } from "./chunk-XIEY2OF4.js";
@@ -71,7 +73,6 @@ import {
71
73
  import {
72
74
  createHealthRouter
73
75
  } from "./chunk-R4ADP2DC.js";
74
- import "./chunk-L6PMAEMB.js";
75
76
  import {
76
77
  createMcpRouter
77
78
  } from "./chunk-VF5YDZJC.js";
@@ -2,7 +2,7 @@ import {
2
2
  assertBackendMigrationCutover,
3
3
  assertBackendMigrationVerification,
4
4
  planBackendMigration
5
- } from "../chunk-DHQGNP4T.js";
5
+ } from "../chunk-SDJNYPYK.js";
6
6
  export {
7
7
  assertBackendMigrationCutover,
8
8
  assertBackendMigrationVerification,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createDataContractBaseline,
3
3
  rebaseDataContractBaseline
4
- } from "../chunk-DHQGNP4T.js";
4
+ } from "../chunk-SDJNYPYK.js";
5
5
  export {
6
6
  createDataContractBaseline,
7
7
  rebaseDataContractBaseline
@@ -17,7 +17,7 @@ import {
17
17
  planBackendMigration,
18
18
  rebaseDataContractBaseline,
19
19
  resolveDataContracts
20
- } from "../chunk-DHQGNP4T.js";
20
+ } from "../chunk-SDJNYPYK.js";
21
21
  export {
22
22
  FRAMEWORK_VERSION,
23
23
  PluginLifecycle,
@@ -1,3 +1,11 @@
1
+ import {
2
+ platformDatabaseTargets,
3
+ resolvePlatformDatabaseTarget,
4
+ validatePlatformRuntime
5
+ } from "../../chunk-RHN4Y6VS.js";
6
+ import {
7
+ parseSitePublicationPolicy
8
+ } from "../../chunk-5TBBZIND.js";
1
9
  import {
2
10
  initialPersonName,
3
11
  parseAccountMemberships,
@@ -26,14 +34,6 @@ import {
26
34
  validateDeploymentReceipt,
27
35
  validateDeploymentTarget
28
36
  } from "../../chunk-6CBVZ6CT.js";
29
- import {
30
- platformDatabaseTargets,
31
- resolvePlatformDatabaseTarget,
32
- validatePlatformRuntime
33
- } from "../../chunk-RHN4Y6VS.js";
34
- import {
35
- parseSitePublicationPolicy
36
- } from "../../chunk-5TBBZIND.js";
37
37
  export {
38
38
  TenantDatabaseRouter,
39
39
  deploymentActions,
@@ -1,4 +1,4 @@
1
- import { Dialect, LifecycleStore, LifecycleState, LifecycleWriter } from '@alneas/eaos-server/lifecycle-engine';
1
+ import { Dialect, LifecycleStore, LifecycleWriter } from '@alneas/eaos-server/lifecycle-engine';
2
2
 
3
3
  /**
4
4
  * Privileged primary SQL connection used by {@link SqlLifecycleStore}; it is not a tenant data adapter.