@makaio/framework 1.0.0-dev-1781081952714 → 1.0.0-dev-1781260968078
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/README.md +29 -0
- package/dist/.makaio-build.json +2 -2
- package/dist/adapters/acp-client/index.d.mts +4 -4
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +1 -1
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/ajv-BA2z5ztb.mjs +8 -0
- package/dist/bus/index.d.mts +19 -19
- package/dist/bus/index.mjs +1 -1
- package/dist/client-BJVDImPV.d.mts +175 -0
- package/dist/clients/index.d.mts +105 -2
- package/dist/clients/index.mjs +2 -2
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +741 -228
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/{cursor-storage-C_WTAESV.mjs → cursor-storage-CmKjSvKY.mjs} +1 -1
- package/dist/{definition-DqJOg6Lv.d.mts → definition-SiimP25_.d.mts} +1 -1
- package/dist/{detached-extension-handle-CxEBQnSa.mjs → detached-extension-handle-Diiwgm13.mjs} +1 -1
- package/dist/drizzle/0001_messages_content_tsv.na.md +18 -0
- package/dist/drizzle/0012_legal_kate_bishop.sql +3 -0
- package/dist/drizzle/0013_eager_rhodey.sql +56 -0
- package/dist/drizzle/0014_fancy_ultimo.sql +1 -0
- package/dist/drizzle/meta/0012_snapshot.json +2934 -0
- package/dist/drizzle/meta/0013_snapshot.json +2954 -0
- package/dist/drizzle/meta/0014_snapshot.json +2959 -0
- package/dist/drizzle/meta/_journal.json +21 -0
- package/dist/drizzle-wjquQK2m.mjs +1 -0
- package/dist/esm-CQVFKEW5.mjs +1 -0
- package/dist/expression/index.d.mts +11 -2
- package/dist/expression/index.mjs +4 -4
- package/dist/extension-DfNcE0zm.mjs +1 -0
- package/dist/extension-ZBN4BGre.mjs +1 -0
- package/dist/{filesystem-service-DH9zlxyd.mjs → filesystem-service-BjfrUmGS.mjs} +1 -1
- package/dist/git/index.mjs +14 -14
- package/dist/{globby-4SrlyIlj.mjs → globby-BIH65cbN.mjs} +1 -1
- package/dist/handler-DSfSAlxx.mjs +1 -0
- package/dist/handlers-C8EtpSqK.mjs +41 -0
- package/dist/{index-BCKRUuI2.d.mts → index-B2xbnMZe.d.mts} +1 -1
- package/dist/{index-YDfOv0GT.d.mts → index-BDRKAxIV.d.mts} +160 -7
- package/dist/{index-CwKzQuIX.d.mts → index-BQiHs8EF.d.mts} +12 -12
- package/dist/{index-BheaEhyI.d.mts → index-BtztOqaF.d.mts} +6 -6
- package/dist/{index-BmV60tMf.d.mts → index-BvSyOgTY.d.mts} +1298 -30
- package/dist/{index-D6bw4qJp.d.mts → index-CARxIllg.d.mts} +98 -98
- package/dist/{index-Bibt5jAX.d.mts → index-CZ_TcT6J.d.mts} +8 -8
- package/dist/{index-CNOTkyGw.d.mts → index-Cb64d5c5.d.mts} +307 -383
- package/dist/{index-DETxgKS2.d.mts → index-CgjslA5-.d.mts} +88 -15
- package/dist/{index-C3zfJg6s.d.mts → index-D5CI1V5d.d.mts} +16 -16
- package/dist/{index-jlQ4IhR5.d.mts → index-DDQkhhRo.d.mts} +281 -273
- package/dist/{index-Db0uJ_Cg2.d.mts → index-DTdqGAfH2.d.mts} +18 -8
- package/dist/{index-Clut1ljB.d.mts → index-Drz_a7kW.d.mts} +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{lib-B9kVK_1_.mjs → lib-CNOQJtgs.mjs} +1 -1
- package/dist/{lib-DPruLs5D.mjs → lib-Cq5R6Tx9.mjs} +19 -22
- package/dist/lib-nlcl5kRW.mjs +2 -0
- package/dist/{load-extensions-C-TqCwzL.mjs → load-extensions-wELQ4BBN.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/{namespace-ByyuIFpL.d.mts → namespace-7tsuJhQ9.d.mts} +28 -28
- package/dist/{namespace-BlS_i9KT.d.mts → namespace-B73Sxj5L.d.mts} +1 -1
- package/dist/{namespace-aBIAWxY3.d.mts → namespace-Ba4bxtHQ.d.mts} +12 -12
- package/dist/{namespace-DBKWNrk7.d.mts → namespace-DDCjoQUj.d.mts} +3 -3
- package/dist/{namespace-Ds6HkJEU.d.mts → namespace-DRFJN-_z.d.mts} +134 -134
- package/dist/namespace-DwE2g8Wm.mjs +1 -0
- package/dist/{orchestrator-shared-FnWrPS09.mjs → orchestrator-shared-Dt4WDse7.mjs} +1 -1
- package/dist/{out-CvZYgczi.mjs → out-C1JFb2Bp.mjs} +1 -1
- package/dist/package-Be2Ez4vv.mjs +1 -0
- package/dist/package.json +1 -1
- package/dist/primitive-runtime-Xrc9xh6p.mjs +1 -0
- package/dist/registry-RG-bkw3c.mjs +146 -0
- package/dist/rules/index.mjs +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +57 -36
- package/dist/runtime-node/index.mjs +26 -53
- package/dist/runtime-node/makaio-config.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/{schema-CDL_pyyM.d.mts → schema-BNrM9LWb.d.mts} +216 -10
- package/dist/schema-BerZmr2q.mjs +1 -0
- package/dist/schema-BrnYlDwZ.mjs +1 -0
- package/dist/{schemas-t1VR6_b_.d.mts → schemas-CkOSG2eJ.d.mts} +3 -3
- package/dist/{schemas-Exixg77V2.d.mts → schemas-DAFYpgHk2.d.mts} +12 -12
- package/dist/{schemas-on3_N5HP.d.mts → schemas-Dv5FxHDT.d.mts} +134 -134
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +2 -2
- package/dist/services/git/schemas.d.mts +2 -2
- package/dist/services/harness/index.d.mts +29 -17
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/harness/storage/schema.d.mts +60 -16
- package/dist/services/harness/storage/schema.mjs +1 -1
- package/dist/services/index.d.mts +103 -103
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +7 -12
- package/dist/services/log-import/index.mjs +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +7 -7
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +2 -2
- package/dist/services/session/storage/schema.mjs +1 -1
- package/dist/services/session/testing/index.d.mts +18 -2
- package/dist/services/session/testing/index.mjs +52 -3
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +12 -12
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/session-KnewDVxt.mjs +39 -0
- package/dist/{session-lineage-CKg6mErA.d.mts → session-lineage-CXzV_hAP.d.mts} +1 -1
- package/dist/{src-Dvp41Cg2.mjs → src-CBG3IHUl.mjs} +1 -1
- package/dist/storage/drizzle/client.d.mts +2 -78
- package/dist/storage/drizzle/client.mjs +1 -1
- package/dist/storage/drizzle/columns/postgres.d.mts +88 -0
- package/dist/storage/drizzle/columns/postgres.mjs +1 -0
- package/dist/storage/drizzle/columns/sqlite.d.mts +81 -0
- package/dist/storage/drizzle/columns/sqlite.mjs +1 -0
- package/dist/storage/drizzle/index.d.mts +976 -23
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/style.css +540 -540
- package/dist/testing/drizzle-harness.d.mts +52 -6
- package/dist/testing/drizzle-harness.mjs +1 -1
- package/dist/testing/index.d.mts +34 -2
- package/dist/testing/index.mjs +1 -1
- package/dist/{tool-approval-service-BgNcJvKx.mjs → tool-approval-service-Cb2F1yT6.mjs} +1 -1
- package/dist/tools-D5DVHC-R.mjs +1 -0
- package/dist/{types-CmMesAgR.d.mts → types-BMpIa4fx.d.mts} +1 -1
- package/dist/{types-D0fPFh-D.d.mts → types-D5IMwOkJ.d.mts} +1 -1
- package/dist/{types-DiGqpZOD.d.mts → types-DLVitCZP.d.mts} +195 -195
- package/dist/ui-components/index.d.mts +1 -1
- package/dist/ui-components/index.mjs +2 -2
- package/dist/ui-hooks/index.d.mts +6 -6
- package/dist/ui-views/index.mjs +2 -2
- package/dist/workflow-engine/index.d.mts +492 -96
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/workflow-worker-CK9Sqj7D.mjs +1 -0
- package/package.json +40 -1
- package/dist/ajv-BJsabpMb.mjs +0 -8
- package/dist/drizzle-DpjZFY_j.mjs +0 -1
- package/dist/esm-BdLRFEUy.mjs +0 -3
- package/dist/extension--5Q190u_.mjs +0 -1
- package/dist/extension-DFIZ3FCJ.mjs +0 -1
- package/dist/fast-uri-BF2Xuiop.mjs +0 -1
- package/dist/handlers-Bev7-xjL.mjs +0 -41
- package/dist/lib-aRogYLqg.mjs +0 -5
- package/dist/namespace-CDiM5Bcr.mjs +0 -1
- package/dist/namespace-h0HIuqx0.mjs +0 -1
- package/dist/package-1DS4bXg5.mjs +0 -1
- package/dist/primitive-runtime-DcYYWy_6.mjs +0 -8
- package/dist/schema-DCJyzRHe.mjs +0 -1
- package/dist/schema-DOnJmAPw.mjs +0 -1
- package/dist/session-BnfsJoZi.mjs +0 -134
- package/dist/tools-DC4KrqI1.mjs +0 -1
- package/dist/types-BhXRffJ_.d.mts +0 -31
- package/dist/workflow-worker-DvP753UN.mjs +0 -1
- /package/dist/{cleanEnvForAdapter-BlpmyXYk.mjs → cleanEnvForAdapter-vZfPGi0X.mjs} +0 -0
- /package/dist/{create-static-mount-CFGo91CI.mjs → create-static-mount-BB1MIQ9J.mjs} +0 -0
- /package/dist/{jsonl-transport-BxNXizIm.mjs → jsonl-transport-C21tpVfe.mjs} +0 -0
- /package/dist/{src-Z3vAZJfw.mjs → src-DedDL9iv.mjs} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { i as LogImportSettings, t as LogImporterInfo } from "../../index-
|
|
2
|
-
import { a as OrchestratorFactory, i as OrchestratorEntry, n as LogImportServiceInstance, o as LogImportRegistry, r as LogImporterRegistration, t as LogImportRegistryOptions } from "../../types-
|
|
1
|
+
import { i as LogImportSettings, t as LogImporterInfo } from "../../index-B2xbnMZe.mjs";
|
|
2
|
+
import { a as OrchestratorFactory, i as OrchestratorEntry, n as LogImportServiceInstance, o as LogImportRegistry, r as LogImporterRegistration, t as LogImportRegistryOptions } from "../../types-D5IMwOkJ.mjs";
|
|
3
|
+
import { LogImportNamespace, LogImportSubjects } from "./namespace.mjs";
|
|
3
4
|
import { IMakaioBus } from "@makaio/framework/bus";
|
|
4
5
|
import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
|
|
5
6
|
import { ExtensionContext, MakaioNodeExtension } from "@makaio/framework/contracts";
|
|
@@ -160,13 +161,7 @@ declare const ImportPhase: {
|
|
|
160
161
|
type ImportPhaseValue = (typeof ImportPhase)[keyof typeof ImportPhase];
|
|
161
162
|
//#endregion
|
|
162
163
|
//#region services/log-import/src/storage/schema.d.ts
|
|
163
|
-
/**
|
|
164
|
-
* Drizzle schema for the `log_import_settings` table.
|
|
165
|
-
*
|
|
166
|
-
* Stores per-adapter global import mode. One row per adapter — `adapter_name`
|
|
167
|
-
* is the primary key. Hosts that need scoped overrides should provide their own
|
|
168
|
-
* extended storage subjects and tables.
|
|
169
|
-
*/
|
|
164
|
+
/** SQLite face of the `log_import_settings` table (canonical schema). */
|
|
170
165
|
declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
|
|
171
166
|
name: "log_import_settings";
|
|
172
167
|
schema: undefined;
|
|
@@ -210,7 +205,7 @@ declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColum
|
|
|
210
205
|
length: number | undefined;
|
|
211
206
|
}>;
|
|
212
207
|
createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
|
|
213
|
-
name:
|
|
208
|
+
name: string;
|
|
214
209
|
tableName: "log_import_settings";
|
|
215
210
|
dataType: "number";
|
|
216
211
|
columnType: "SQLiteInteger";
|
|
@@ -227,7 +222,7 @@ declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColum
|
|
|
227
222
|
generated: undefined;
|
|
228
223
|
}, {}, {}>;
|
|
229
224
|
updatedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
|
|
230
|
-
name:
|
|
225
|
+
name: string;
|
|
231
226
|
tableName: "log_import_settings";
|
|
232
227
|
dataType: "number";
|
|
233
228
|
columnType: "SQLiteInteger";
|
|
@@ -271,4 +266,4 @@ declare function rowToSettings(row: SelectLogImportSettings): LogImportSettings;
|
|
|
271
266
|
*/
|
|
272
267
|
declare function registerDrizzleLogImportStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
|
|
273
268
|
//#endregion
|
|
274
|
-
export { ImportPhase, type ImportPhaseValue, LogImportRegistry, type LogImportRegistryOptions, LogImportRegistryToken, type LogImportServiceInstance, type LogImporterInfo, type LogImporterRegistration, type OrchestratorEntry, type OrchestratorFactory, type PersistImportResultContext, type SessionCompactedEventInput, appendSessionCompactedEvent, createLogImportContributionProcessor, logImportRegistryPackage, persistImportResultTree, registerDrizzleLogImportStorage, rowToSettings };
|
|
269
|
+
export { ImportPhase, type ImportPhaseValue, LogImportNamespace, LogImportRegistry, type LogImportRegistryOptions, LogImportRegistryToken, type LogImportServiceInstance, LogImportSubjects, type LogImporterInfo, type LogImporterRegistration, type OrchestratorEntry, type OrchestratorFactory, type PersistImportResultContext, type SessionCompactedEventInput, appendSessionCompactedEvent, createLogImportContributionProcessor, logImportRegistryPackage, persistImportResultTree, registerDrizzleLogImportStorage, rowToSettings };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{LogImportNamespace as e,LogImportSubjects as t}from"./namespace.mjs";import{z as n}from"zod";import*as r from"node:fs/promises";import{basename as i,dirname as a,isAbsolute as o,join as s,relative as c,resolve as l,sep as u}from"node:path";import{MakaioBus as d}from"@makaio/framework/bus";import{COMPRESS_SESSION_LINEAGE_KIND as f,CapabilitySubjects as p,FORK_SESSION_LINEAGE_KIND as m,ROOT_SESSION_LINEAGE_KIND as ee,SUBAGENT_SESSION_LINEAGE_KIND as h,extensionToken as
|
|
2
|
-
`).filter(e=>e.trim());for(let e of n){let n=t.parseRecord(e,r);n&&i.push(n)}}else{let n=t.parseRecord(e,r);n&&i.push(n)}return i}function P(e,n){return e.on(t.scan,async t=>{let{adapterName:i}=t.payload,a=n(i);if(!a){t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let{importer:o,logFilePattern:s,adapterName:c}=a,l=o.getLogDirectory();try{await r.access(l)}catch{t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let u=s.endsWith(`.jsonl`),d=await M(l,s),f=0,p=0;for(let t of d)try{let n=N(await r.readFile(t,`utf8`),o,u,t);if(n.length===0)continue;let i=C(o.extractSessionContext(n).sessionEvent);f++;let{created:a}=await e.request(x.importUpsert,w(i,c,i.cwd,t,i.startedAt));a&&p++}catch(e){console.warn(`[LogImportRegistry] Failed to process ${t}:`,e instanceof Error?e.message:e)}t.setResult({adapterName:i,sessionsFound:f,newSessions:p})})}async function F(e,t,n,i,a,o){try{let a=await r.stat(i),s=t.extractSessionContext(n),c={adapterSessionId:o,model:s.model,cwd:s.cwd,sessionEvent:s.sessionEvent,startedEvent:s.startedEvent,state:t.serializeState(s.state)};await e.request(ne.set,{filePath:i,bytesRead:a.size,lastModified:a.mtime.toISOString(),sessionContext:c})}catch(e){console.warn(`[importFromFileContent] Failed to persist import cursor`,{adapterName:a,adapterSessionId:o,filePath:i,error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}}async function I(e,t,n,r,i){let a=i.find(e=>e.origin===`compact`),o=a?.contentText??null,s=r.timestamp??a?.timestamp??Date.now();await E(e,{sessionId:t,eventId:`session-compacted:${t}:${n}`,timestamp:s,trigger:r.trigger,preTokens:r.preTokens,summary:o,compressChildSessionId:n})}async function L(e,t,n){for(let r of n)await e.request(ie.upsertByAdapterMessageId,{sessionId:t,turnId:null,adapterMessageId:r.adapterMessageId,role:r.role,contentText:r.contentText,blocks:r.blocks,agentId:r.agentId,adapterSessionId:r.adapterSessionId,timestamp:r.timestamp,...r.origin!==void 0&&{origin:r.origin}})}async function R(e,t,n,r){let i=T(t,n.model,n.cwd),a=t.messages.length>0?t.messages.reduce((e,t)=>Math.min(e,t.timestamp),1/0):void 0,{sessionId:o}=await e.request(x.importUpsert,w(i,n.adapterName,n.cwd,n.logFilePath,a,n.adapterId));await L(e,o,t.messages),r!==void 0&&t.compaction!==void 0&&await I(e,r,o,t.compaction,t.messages);let s=t.messages.length,c={adapterId:n.adapterId,adapterName:n.adapterName,model:n.model,cwd:n.cwd,logFilePath:null};for(let n of t.children??[]){let t=await R(e,n,c,o);s+=t.messageCount}return await e.request(x.updateImportStatus,{sessionId:o,importStatus:`imported`}),{sessionId:o,messageCount:s}}async function z(e,t,n){let r=C(t.sessionEvent);return R(e,re(t),{adapterId:n.adapterId,adapterName:n.adapterName,model:r.model,cwd:r.cwd,logFilePath:n.logFilePath})}async function B(e){let{bus:t,importer:n,content:r,isJsonl:i,adapterName:a,adapterId:o,sourceFilePath:s,persistedLogFilePath:c}=e,l=N(r,n,i,s);if(l.length===0)throw Error(`No valid records found`);let u=n.processLogFile(l),d=se(c,s,C(u.sessionEvent).cwd),{sessionId:f,messageCount:p}=await z(t,u,{adapterId:o,adapterName:a,logFilePath:d});return d!==void 0&&await F(t,n,l,d,a,u.adapterSessionId),{sessionId:f,messageCount:p}}function V(e,n){return e.on(t.uploadFiles,async t=>{let{adapterName:r,files:i}=t.payload,a=n(r);if(!a){t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:0,errors:i.map(e=>({filename:e.filename,error:`No importer registered for this adapter`}))});return}let{importer:o,logFilePattern:s,adapterName:c,id:l}=a,u=s.endsWith(`.jsonl`),d=0,f=[];for(let t of i)try{await B({bus:e,importer:o,content:Buffer.from(t.contentBase64,`base64`).toString(`utf8`),isJsonl:u,adapterName:c,adapterId:l,sourceFilePath:t.filename}),d++}catch(e){f.push({filename:t.filename,error:e instanceof Error?e.message:String(e)})}t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:d,errors:f})})}function H(e,n){return e.on(t.importSession,async t=>{let{adapterSessionId:i,adapterName:a}=t.payload,{session:o}=await e.request(x.getByAdapterSessionId,{adapterSessionId:i,source:a});if(!o)throw Error(`Session not found for external ID: ${i}`);if(o.source!==a)throw Error(`Session '${i}' belongs to adapter '${o.source}', not '${a}'`);if(!o.logFilePath)throw Error(`No log file path recorded for session with external ID '${i}'. Re-run a discovery scan to populate the file path.`);let s=n(a);if(!s)throw Error(`No importer registered for adapter '${a}'`);let{importer:c,logFilePattern:l,adapterName:u,id:d}=s,f=l.endsWith(`.jsonl`),{sessionId:p,messageCount:m}=await B({bus:e,importer:c,content:await r.readFile(o.logFilePath,`utf8`),isJsonl:f,adapterName:u,adapterId:d,sourceFilePath:o.logFilePath,persistedLogFilePath:o.logFilePath});t.setResult({sessionId:p,messageCount:m})})}function U(e){return e.hasAdapterContribution?`adapter`:`extension`}function W(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.registration;return typeof t.id==`string`&&typeof t.displayName==`string`&&typeof t.adapterName==`string`&&!!n&&typeof n==`object`&&typeof n.LogImporterClass==`function`&&typeof n.logFilePattern==`string`&&(n.LogOrchestratorClass===void 0||typeof n.LogOrchestratorClass==`function`)&&(n.LogDiscoveryOrchestratorClass===void 0||typeof n.LogDiscoveryOrchestratorClass==`function`)}function G(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function K(e,t,n,r,i){if(!r&&!i)return null;let a=G(e,t,n);return e=>a.enabled?e===`discover`&&i?new i(a):e===`import`&&r?new r(a):null:null}async function ce(e,n,r,i){try{let a=await r.requestOptional(t.getMode,{adapterName:n});if(!a.handled)return;let{mode:o}=a.data;if(o===`disabled`)return;await i(e,o)}catch(e){console.warn(`[LogImport] Failed to restore persisted mode for '${n}':`,e)}}async function q(e,t,n){if(!W(e)||n.getImporter(e.id)!==void 0)return;await n.register({id:e.id,adapterName:e.adapterName,displayName:e.displayName,source:U({hasAdapterContribution:!0}),importer:new e.registration.LogImporterClass({adapterId:e.id,adapterName:e.adapterName}),logFilePattern:e.registration.logFilePattern});let r=K(e.id,e.adapterName,e.logImportConfig,e.registration.LogOrchestratorClass,e.registration.LogDiscoveryOrchestratorClass);r&&n.setOrchestratorFactory(e.id,r),await ce(e.id,e.adapterName,t,(e,t)=>n.switchMode(e,t))}async function le(e,t,n){let r=e.on(p.register,async t=>{await q(t.payload.provider,e,n)},{filter:{capabilityId:`log-import`}});for(let r of t?.getProviders(`log-import`)??[])await q(r,e,n);return r}async function J(e,t){let n=e.get(t);if(n)try{n.orchestrator.isRunning()&&await n.orchestrator.stop()}finally{try{await n.orchestrator.dispose()}finally{e.delete(t)}}}async function ue(e,t){try{await e.start()}catch(n){try{try{e.isRunning()&&await e.stop()}finally{await e.dispose()}}catch(e){console.warn(`[LogImportRegistry] Failed to clean up orchestrator after start failure for '${t}'.`,e instanceof Error?e.message:String(e))}throw n}}var Y=class{bus;capabilityService;registrations=new Map;orchestrators=new Map;cleanupHandlers=[];initialized=!1;constructor(e){this.bus=e?.bus??d,this.capabilityService=e?.capabilityService}async init(){if(this.initialized)return;let e=this.bus.on(t.listImporters,e=>{let t=this.listImporters();e.setResult({importers:t})});this.cleanupHandlers.push(e);let n=P(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(n);let r=V(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(r);let i=H(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(i);let a=await le(this.bus,this.capabilityService,this);this.cleanupHandlers.push(a),this.initialized=!0}async register(e){if(this.registrations.has(e.id))throw Error(`Log importer '${e.id}' is already registered`);this.registrations.set(e.id,e)}async unregister(e){if(!this.registrations.has(e))throw Error(`Log importer '${e}' is not registered`);await J(this.orchestrators,e),this.registrations.delete(e)}async startImporter(e){if(!this.registrations.get(e))throw Error(`Log importer '${e}' is not registered`);let t=this.orchestrators.get(e);if(!t)throw Error(`No orchestrator available for '${e}'. Orchestrators must be created and provided by the adapter or extension before starting.`);t.orchestrator.isRunning()||(await t.orchestrator.start(),t.isManaged=!0)}async stopImporter(e){let t=this.orchestrators.get(e);t&&(t.orchestrator.isRunning()&&await t.orchestrator.stop(),t.isManaged=!1)}async switchMode(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Log importer '${e}' is not registered`);if(await J(this.orchestrators,e),t===`disabled`||!n.orchestratorFactory)return;let r=n.orchestratorFactory(t);r&&(await ue(r,e),this.orchestrators.set(e,{orchestrator:r,isManaged:!0}))}async startDiscovery(e){return this.switchMode(e,`discover`)}setOrchestratorFactory(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Cannot set orchestrator factory for unregistered importer '${e}'`);this.registrations.set(e,{...n,orchestratorFactory:t})}listImporters(){let e=[];for(let[,t]of this.registrations){let n=this.orchestrators.get(t.id)?.orchestrator.isRunning()??!1;e.push({id:t.id,adapterName:t.adapterName,displayName:t.displayName,source:t.source,logFilePattern:t.logFilePattern,isRunning:n,supportsManualImport:t.supportsManualImport??!0})}return e}getImporter(e){let t=this.registrations.get(e);return t?{...t}:void 0}getImporterByAdapterName(e){for(let t of this.registrations.values())if(t.adapterName===e)return{...t}}detectImporter(e){let t,n=0;for(let r of this.registrations.values()){let i=r.importer.canHandle(e);if(i===!1)continue;let a=i===!0?1:i.confidence;a>n&&(n=a,t=r)}return t}async registerOrchestrator(e,t){if(!this.registrations.has(e))throw Error(`Cannot register orchestrator for unregistered importer '${e}'`);await J(this.orchestrators,e),this.orchestrators.set(e,{orchestrator:t,isManaged:!1})}async destroy(){if(!(!this.initialized&&this.orchestrators.size===0&&this.cleanupHandlers.length===0)){for(let[e]of this.orchestrators)await J(this.orchestrators,e);for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0,this.initialized=!1}}};const X=te(`log-import-registry`),de={name:X.name,displayName:`Log Import Registry`,version:`0.1.0`,critical:!0,namespaces:[e],create:e=>new Y({bus:e.bus})};function fe(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function pe(e,t,n){if(!n.LogOrchestratorClass&&!n.LogDiscoveryOrchestratorClass)return null;let r=fe(e,t,n.logImportConfig);return e=>r.enabled?e===`discover`&&n.LogDiscoveryOrchestratorClass?new n.LogDiscoveryOrchestratorClass(r):e===`import`&&n.LogOrchestratorClass?new n.LogOrchestratorClass(r):null:null}function me(){let e=new Map;return{filter:e=>!!e.logImport,processActivated:async(t,n,r)=>{let{logImport:i}=n;if(!i)return;let a=r.getService(X);if(!a)throw Error(`[LogImportContributionProcessor] LogImportRegistry is not available. Ensure '${X.name}' is listed as a dependency before activating '${t}'.`);let{adapterName:o,displayName:s,config:c}=i,l=c,u=`package:${t}`,d=U({hasAdapterContribution:!!n.adapters?.length}),f=new l.LogImporterClass({adapterId:u,adapterName:o});await a.register({id:u,adapterName:o,displayName:s,source:d,importer:f,logFilePattern:l.logFilePattern??``,supportsManualImport:l.supportsManualImport});try{let e=pe(u,o,l);e&&a.setOrchestratorFactory(u,e)}catch(e){try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Rollback of log importer '${u}' failed:`,e)}throw e}console.info(`[LogImportContributionProcessor] Registered log importer '${o}' from package: ${t}`),e.set(u,async()=>{try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Failed to unregister log importer '${u}' during cleanup:`,e)}})},processStopped:async t=>{let n=`package:${t}`,r=e.get(n);r&&(e.delete(n),await r())}}}const he={linked:`linked`,persisted:`persisted`,finalized:`finalized`},Z=_(`log_import_settings`,{adapterName:v(`adapter_name`).primaryKey(),mode:v(`mode`,{enum:[`disabled`,`discover`,`import`]}).notNull().default(`disabled`),createdAt:g(`created_at`).notNull(),updatedAt:g(`updated_at`).notNull()});function Q(e){return{adapterName:e.adapterName,mode:e.mode,createdAt:e.createdAt,updatedAt:e.updatedAt}}function ge(e){let{bus:n,db:r}=e;return n.on(t.getMode,async e=>{let{adapterName:t}=e.payload,[n]=await r.select().from(Z).where(y(Z.adapterName,t)).limit(1);e.setResult({mode:n?.mode??`disabled`})})}function $(e){let{bus:n,db:r}=e;return n.on(t.setMode,async e=>{let{adapterName:t,mode:n}=e.payload,i=Date.now();await r.insert(Z).values({adapterName:t,mode:n,createdAt:i,updatedAt:i}).onConflictDoUpdate({target:Z.adapterName,set:{mode:n,updatedAt:i}}),e.setResult({success:!0})})}function _e(e){let{bus:n,db:r}=e;return n.on(t.listSettings,async e=>{let t=await r.select().from(Z);e.setResult({settings:t.map(Q)})})}function ve(e,t,n){let r={bus:e,db:t},i=[ge(r),$(r),_e(r)];return()=>i.forEach(e=>e())}export{he as ImportPhase,Y as LogImportRegistry,X as LogImportRegistryToken,E as appendSessionCompactedEvent,me as createLogImportContributionProcessor,de as logImportRegistryPackage,z as persistImportResultTree,ve as registerDrizzleLogImportStorage,Q as rowToSettings};
|
|
1
|
+
import{LogImportNamespace as e,LogImportSubjects as t}from"./namespace.mjs";import{z as n}from"zod";import*as r from"node:fs/promises";import{basename as i,dirname as a,isAbsolute as o,join as s,relative as c,resolve as l,sep as u}from"node:path";import{MakaioBus as d}from"@makaio/framework/bus";import{COMPRESS_SESSION_LINEAGE_KIND as f,CapabilitySubjects as p,FORK_SESSION_LINEAGE_KIND as m,ROOT_SESSION_LINEAGE_KIND as ee,SUBAGENT_SESSION_LINEAGE_KIND as h,extensionToken as g}from"@makaio/framework/contracts";import{defineDialectSchema as _,defineDualTable as te,resolveSchema as v}from"@makaio/framework/storage/drizzle";import{eq as ne}from"drizzle-orm";import{ImportCursorStorageSubjects as re,toImportSegment as ie}from"@makaio/framework/adapters";import{MessageStorageSubjects as ae,SessionEventStorageSubjects as y,SessionStorageSubjects as b,toSessionLineage as x}from"@makaio/framework/services/session";const S=n.discriminatedUnion(`kind`,[n.object({adapterSessionId:n.string(),kind:n.literal(ee),parentAdapterSessionId:n.null().default(null),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(m),parentAdapterSessionId:n.string(),forkPointMessageId:n.string(),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(h),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(f),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()})]);function C(e){return S.parse(e.payload)}function w(e,t,n,r,i,a,o){let s=x(e);return{externalSessionId:e.adapterSessionId,source:t,cwd:n,...r===void 0?{}:{logFilePath:r},...i===void 0?{}:{startedAt:i},...a===void 0?{}:{adapterId:a},...o===void 0?{}:{clientId:o},...s}}function oe(e,t,n){let r={adapterSessionId:e.adapterSessionId,model:t,cwd:n};switch(e.lineage.kind){case`root`:return{...r,kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Fork segment ${e.adapterSessionId} missing parentAdapterSessionId`);if(e.lineage.forkPointMessageId==null)throw Error(`Fork segment ${e.adapterSessionId} missing forkPointMessageId`);return{...r,kind:`fork`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:e.lineage.forkPointMessageId};case`subagent`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Subagent segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`subagent`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};case`compress`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Compress segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`compress`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};default:{let t=e.lineage.kind;throw Error(`Unknown lineage kind: ${String(t)}`)}}}async function T(e,t){let{events:n}=await e.request(y.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(!(n.length>0))try{await e.request(y.append,{event:{sessionId:t.sessionId,eventId:t.eventId,timestamp:t.timestamp,type:`session.compacted`,payload:{trigger:t.trigger,preTokens:t.preTokens,summary:t.summary,compressChildSessionId:t.compressChildSessionId}}})}catch(n){let{events:r}=await e.request(y.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(r.length>0)return;throw n}}const E=new Map,D=`MAKAIO_GLOBSTAR_DIR`,O=`MAKAIO_GLOBSTAR`,k=`MAKAIO_STAR`;function A(e){return e.replace(/[\\/]+/g,`/`).replace(/^\.\/+/,``)}function se(e,t){let n=A(e),r=A(t),a=r.includes(`/`)?n:i(n);if(r.length>200)return!1;if(!r.includes(`*`))return a===r;let o=0;for(let e of r)if(e===`*`&&(o+=1,o>64))return!1;let s=E.get(r);if(s)return E.delete(r),E.set(r,s),s.test(a);let c=r.replace(/\*\*\//g,D).replace(/\*\*/g,O).replace(/\*/g,k).replace(/[.+^${}()|[\]\\]/g,`\\$&`).replaceAll(D,`(?:.*/)?`).replaceAll(O,`.*`).replaceAll(k,`[^/]*`),l=RegExp(`^${c}$`);if(E.size>=512){let e=E.keys().next();e.done||E.delete(e.value)}return E.set(r,l),l.test(a)}async function j(e,t,n=e){let i=[];try{let a=await r.readdir(e,{withFileTypes:!0});for(let r of a){let a=s(e,r.name);if(r.isDirectory()){let e=await j(a,t,n);i.push(...e)}else if(r.isFile()){if(!se(c(n,a).split(u).join(`/`),t))continue;i.push(a)}}}catch{}return i}function ce(e,t,n){if(e!==void 0){if(o(e))return e;if(t&&o(t))return l(a(t),e);if(n&&o(n))return l(n,e)}}function M(e,t,n=!0,r){let i=[];if(n){let n=e.split(`
|
|
2
|
+
`).filter(e=>e.trim());for(let e of n){let n=t.parseRecord(e,r);n&&i.push(n)}}else{let n=t.parseRecord(e,r);n&&i.push(n)}return i}function N(e,n){return e.on(t.scan,async t=>{let{adapterName:i}=t.payload,a=n(i);if(!a){t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let{importer:o,logFilePattern:s,adapterName:c}=a,l=o.getLogDirectory();try{await r.access(l)}catch{t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let u=s.endsWith(`.jsonl`),d=await j(l,s),f=0,p=0;for(let t of d)try{let n=M(await r.readFile(t,`utf8`),o,u,t);if(n.length===0)continue;let i=C(o.extractSessionContext(n).sessionEvent);f++;let{created:a}=await e.request(b.importUpsert,w(i,c,i.cwd,t,i.startedAt));a&&p++}catch(e){console.warn(`[LogImportRegistry] Failed to process ${t}:`,e instanceof Error?e.message:e)}t.setResult({adapterName:i,sessionsFound:f,newSessions:p})})}async function P(e,t,n,i,a,o){try{let a=await r.stat(i),s=t.extractSessionContext(n),c={adapterSessionId:o,model:s.model,cwd:s.cwd,sessionEvent:s.sessionEvent,startedEvent:s.startedEvent,state:t.serializeState(s.state)};await e.request(re.set,{filePath:i,bytesRead:a.size,lastModified:a.mtime.toISOString(),sessionContext:c})}catch(e){console.warn(`[importFromFileContent] Failed to persist import cursor`,{adapterName:a,adapterSessionId:o,filePath:i,error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}}async function F(e,t,n,r,i){let a=i.find(e=>e.origin===`compact`),o=a?.contentText??null,s=r.timestamp??a?.timestamp??Date.now();await T(e,{sessionId:t,eventId:`session-compacted:${t}:${n}`,timestamp:s,trigger:r.trigger,preTokens:r.preTokens,summary:o,compressChildSessionId:n})}async function I(e,t,n){for(let r of n)await e.request(ae.upsertByAdapterMessageId,{sessionId:t,turnId:null,adapterMessageId:r.adapterMessageId,role:r.role,contentText:r.contentText,blocks:r.blocks,agentId:r.agentId,adapterSessionId:r.adapterSessionId,timestamp:r.timestamp,...r.origin!==void 0&&{origin:r.origin}})}async function L(e,t,n,r){let i=oe(t,n.model,n.cwd),a=t.messages.length>0?t.messages.reduce((e,t)=>Math.min(e,t.timestamp),1/0):void 0,{sessionId:o}=await e.request(b.importUpsert,w(i,n.adapterName,n.cwd,n.logFilePath,a,n.adapterId));await I(e,o,t.messages),r!==void 0&&t.compaction!==void 0&&await F(e,r,o,t.compaction,t.messages);let s=t.messages.length,c={adapterId:n.adapterId,adapterName:n.adapterName,model:n.model,cwd:n.cwd,logFilePath:null};for(let n of t.children??[]){let t=await L(e,n,c,o);s+=t.messageCount}return await e.request(b.updateImportStatus,{sessionId:o,importStatus:`imported`}),{sessionId:o,messageCount:s}}async function R(e,t,n){let r=C(t.sessionEvent);return L(e,ie(t),{adapterId:n.adapterId,adapterName:n.adapterName,model:r.model,cwd:r.cwd,logFilePath:n.logFilePath})}async function z(e){let{bus:t,importer:n,content:r,isJsonl:i,adapterName:a,adapterId:o,sourceFilePath:s,persistedLogFilePath:c}=e,l=M(r,n,i,s);if(l.length===0)throw Error(`No valid records found`);let u=n.processLogFile(l),d=ce(c,s,C(u.sessionEvent).cwd),{sessionId:f,messageCount:p}=await R(t,u,{adapterId:o,adapterName:a,logFilePath:d});return d!==void 0&&await P(t,n,l,d,a,u.adapterSessionId),{sessionId:f,messageCount:p}}function B(e,n){return e.on(t.uploadFiles,async t=>{let{adapterName:r,files:i}=t.payload,a=n(r);if(!a){t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:0,errors:i.map(e=>({filename:e.filename,error:`No importer registered for this adapter`}))});return}let{importer:o,logFilePattern:s,adapterName:c,id:l}=a,u=s.endsWith(`.jsonl`),d=0,f=[];for(let t of i)try{await z({bus:e,importer:o,content:Buffer.from(t.contentBase64,`base64`).toString(`utf8`),isJsonl:u,adapterName:c,adapterId:l,sourceFilePath:t.filename}),d++}catch(e){f.push({filename:t.filename,error:e instanceof Error?e.message:String(e)})}t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:d,errors:f})})}function V(e,n){return e.on(t.importSession,async t=>{let{adapterSessionId:i,adapterName:a}=t.payload,{session:o}=await e.request(b.getByAdapterSessionId,{adapterSessionId:i,source:a});if(!o)throw Error(`Session not found for external ID: ${i}`);if(o.source!==a)throw Error(`Session '${i}' belongs to adapter '${o.source}', not '${a}'`);if(!o.logFilePath)throw Error(`No log file path recorded for session with external ID '${i}'. Re-run a discovery scan to populate the file path.`);let s=n(a);if(!s)throw Error(`No importer registered for adapter '${a}'`);let{importer:c,logFilePattern:l,adapterName:u,id:d}=s,f=l.endsWith(`.jsonl`),{sessionId:p,messageCount:m}=await z({bus:e,importer:c,content:await r.readFile(o.logFilePath,`utf8`),isJsonl:f,adapterName:u,adapterId:d,sourceFilePath:o.logFilePath,persistedLogFilePath:o.logFilePath});t.setResult({sessionId:p,messageCount:m})})}function H(e){return e.hasAdapterContribution?`adapter`:`extension`}function U(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.registration;return typeof t.id==`string`&&typeof t.displayName==`string`&&typeof t.adapterName==`string`&&!!n&&typeof n==`object`&&typeof n.LogImporterClass==`function`&&typeof n.logFilePattern==`string`&&(n.LogOrchestratorClass===void 0||typeof n.LogOrchestratorClass==`function`)&&(n.LogDiscoveryOrchestratorClass===void 0||typeof n.LogDiscoveryOrchestratorClass==`function`)}function W(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function G(e,t,n,r,i){if(!r&&!i)return null;let a=W(e,t,n);return e=>a.enabled?e===`discover`&&i?new i(a):e===`import`&&r?new r(a):null:null}async function le(e,n,r,i){try{let a=await r.requestOptional(t.getMode,{adapterName:n});if(!a.handled)return;let{mode:o}=a.data;if(o===`disabled`)return;await i(e,o)}catch(e){console.warn(`[LogImport] Failed to restore persisted mode for '${n}':`,e)}}async function K(e,t,n){if(!U(e)||n.getImporter(e.id)!==void 0)return;await n.register({id:e.id,adapterName:e.adapterName,displayName:e.displayName,source:H({hasAdapterContribution:!0}),importer:new e.registration.LogImporterClass({adapterId:e.id,adapterName:e.adapterName}),logFilePattern:e.registration.logFilePattern});let r=G(e.id,e.adapterName,e.logImportConfig,e.registration.LogOrchestratorClass,e.registration.LogDiscoveryOrchestratorClass);r&&n.setOrchestratorFactory(e.id,r),await le(e.id,e.adapterName,t,(e,t)=>n.switchMode(e,t))}async function ue(e,t,n){let r=e.on(p.register,async t=>{await K(t.payload.provider,e,n)},{filter:{capabilityId:`log-import`}});for(let r of t?.getProviders(`log-import`)??[])await K(r,e,n);return r}async function q(e,t){let n=e.get(t);if(n)try{n.orchestrator.isRunning()&&await n.orchestrator.stop()}finally{try{await n.orchestrator.dispose()}finally{e.delete(t)}}}async function de(e,t){try{await e.start()}catch(n){try{try{e.isRunning()&&await e.stop()}finally{await e.dispose()}}catch(e){console.warn(`[LogImportRegistry] Failed to clean up orchestrator after start failure for '${t}'.`,e instanceof Error?e.message:String(e))}throw n}}var J=class{bus;capabilityService;registrations=new Map;orchestrators=new Map;cleanupHandlers=[];initialized=!1;constructor(e){this.bus=e?.bus??d,this.capabilityService=e?.capabilityService}async init(){if(this.initialized)return;let e=this.bus.on(t.listImporters,e=>{let t=this.listImporters();e.setResult({importers:t})});this.cleanupHandlers.push(e);let n=N(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(n);let r=B(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(r);let i=V(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(i);let a=await ue(this.bus,this.capabilityService,this);this.cleanupHandlers.push(a),this.initialized=!0}async register(e){if(this.registrations.has(e.id))throw Error(`Log importer '${e.id}' is already registered`);this.registrations.set(e.id,e)}async unregister(e){if(!this.registrations.has(e))throw Error(`Log importer '${e}' is not registered`);await q(this.orchestrators,e),this.registrations.delete(e)}async startImporter(e){if(!this.registrations.get(e))throw Error(`Log importer '${e}' is not registered`);let t=this.orchestrators.get(e);if(!t)throw Error(`No orchestrator available for '${e}'. Orchestrators must be created and provided by the adapter or extension before starting.`);t.orchestrator.isRunning()||(await t.orchestrator.start(),t.isManaged=!0)}async stopImporter(e){let t=this.orchestrators.get(e);t&&(t.orchestrator.isRunning()&&await t.orchestrator.stop(),t.isManaged=!1)}async switchMode(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Log importer '${e}' is not registered`);if(await q(this.orchestrators,e),t===`disabled`||!n.orchestratorFactory)return;let r=n.orchestratorFactory(t);r&&(await de(r,e),this.orchestrators.set(e,{orchestrator:r,isManaged:!0}))}async startDiscovery(e){return this.switchMode(e,`discover`)}setOrchestratorFactory(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Cannot set orchestrator factory for unregistered importer '${e}'`);this.registrations.set(e,{...n,orchestratorFactory:t})}listImporters(){let e=[];for(let[,t]of this.registrations){let n=this.orchestrators.get(t.id)?.orchestrator.isRunning()??!1;e.push({id:t.id,adapterName:t.adapterName,displayName:t.displayName,source:t.source,logFilePattern:t.logFilePattern,isRunning:n,supportsManualImport:t.supportsManualImport??!0})}return e}getImporter(e){let t=this.registrations.get(e);return t?{...t}:void 0}getImporterByAdapterName(e){for(let t of this.registrations.values())if(t.adapterName===e)return{...t}}detectImporter(e){let t,n=0;for(let r of this.registrations.values()){let i=r.importer.canHandle(e);if(i===!1)continue;let a=i===!0?1:i.confidence;a>n&&(n=a,t=r)}return t}async registerOrchestrator(e,t){if(!this.registrations.has(e))throw Error(`Cannot register orchestrator for unregistered importer '${e}'`);await q(this.orchestrators,e),this.orchestrators.set(e,{orchestrator:t,isManaged:!1})}async destroy(){if(!(!this.initialized&&this.orchestrators.size===0&&this.cleanupHandlers.length===0)){for(let[e]of this.orchestrators)await q(this.orchestrators,e);for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0,this.initialized=!1}}};const Y=g(`log-import-registry`),fe={name:Y.name,displayName:`Log Import Registry`,version:`0.1.0`,critical:!0,namespaces:[e],create:e=>new J({bus:e.bus})};function pe(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function me(e,t,n){if(!n.LogOrchestratorClass&&!n.LogDiscoveryOrchestratorClass)return null;let r=pe(e,t,n.logImportConfig);return e=>r.enabled?e===`discover`&&n.LogDiscoveryOrchestratorClass?new n.LogDiscoveryOrchestratorClass(r):e===`import`&&n.LogOrchestratorClass?new n.LogOrchestratorClass(r):null:null}function X(){let e=new Map;return{filter:e=>!!e.logImport,processActivated:async(t,n,r)=>{let{logImport:i}=n;if(!i)return;let a=r.getService(Y);if(!a)throw Error(`[LogImportContributionProcessor] LogImportRegistry is not available. Ensure '${Y.name}' is listed as a dependency before activating '${t}'.`);let{adapterName:o,displayName:s,config:c}=i,l=c,u=`package:${t}`,d=H({hasAdapterContribution:!!n.adapters?.length}),f=new l.LogImporterClass({adapterId:u,adapterName:o});await a.register({id:u,adapterName:o,displayName:s,source:d,importer:f,logFilePattern:l.logFilePattern??``,supportsManualImport:l.supportsManualImport});try{let e=me(u,o,l);e&&a.setOrchestratorFactory(u,e)}catch(e){try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Rollback of log importer '${u}' failed:`,e)}throw e}console.info(`[LogImportContributionProcessor] Registered log importer '${o}' from package: ${t}`),e.set(u,async()=>{try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Failed to unregister log importer '${u}' during cleanup:`,e)}})},processStopped:async t=>{let n=`package:${t}`,r=e.get(n);r&&(e.delete(n),await r())}}}const he={linked:`linked`,persisted:`persisted`,finalized:`finalized`},Z=te(`log_import_settings`,e=>({adapterName:e.text(`adapter_name`).primaryKey(),mode:e.textEnum(`mode`,{enum:[`disabled`,`discover`,`import`]}).notNull().default(`disabled`),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),ge=Z.sqlite,_e=Z.postgres,Q=_({logImportSettings:ge},{logImportSettings:_e});function $(e){return{adapterName:e.adapterName,mode:e.mode,createdAt:e.createdAt,updatedAt:e.updatedAt}}function ve(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.getMode,async e=>{let{adapterName:t}=e.payload,[n]=await r.select().from(i).where(ne(i.adapterName,t)).limit(1);e.setResult({mode:n?.mode??`disabled`})})}function ye(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.setMode,async e=>{let{adapterName:t,mode:n}=e.payload,a=Date.now();await r.insert(i).values({adapterName:t,mode:n,createdAt:a,updatedAt:a}).onConflictDoUpdate({target:i.adapterName,set:{mode:n,updatedAt:a}}),e.setResult({success:!0})})}function be(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.listSettings,async e=>{let t=await r.select().from(i);e.setResult({settings:t.map($)})})}function xe(e,t,n){let r={bus:e,db:t},i=[ve(r),ye(r),be(r)];return()=>i.forEach(e=>e())}export{he as ImportPhase,e as LogImportNamespace,J as LogImportRegistry,Y as LogImportRegistryToken,t as LogImportSubjects,T as appendSessionCompactedEvent,X as createLogImportContributionProcessor,fe as logImportRegistryPackage,R as persistImportResultTree,xe as registerDrizzleLogImportStorage,$ as rowToSettings};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as IMPORT_LAST_SCAN_CATEGORY, r as LogImportMode, t as LogImporterInfo } from "../../index-
|
|
1
|
+
import { n as IMPORT_LAST_SCAN_CATEGORY, r as LogImportMode, t as LogImporterInfo } from "../../index-B2xbnMZe.mjs";
|
|
2
2
|
import { LogImportSubjects } from "./namespace.mjs";
|
|
3
3
|
export { IMPORT_LAST_SCAN_CATEGORY, type LogImportMode, LogImportSubjects, type LogImporterInfo };
|
|
@@ -74,8 +74,8 @@ declare const LogImportNamespace: _$_makaio_core0.BusNamespaceDefinition<"log-im
|
|
|
74
74
|
adapterName: _$zod.ZodString;
|
|
75
75
|
displayName: _$zod.ZodString;
|
|
76
76
|
source: _$zod.ZodEnum<{
|
|
77
|
-
adapter: "adapter";
|
|
78
77
|
extension: "extension";
|
|
78
|
+
adapter: "adapter";
|
|
79
79
|
}>;
|
|
80
80
|
logFilePattern: _$zod.ZodString;
|
|
81
81
|
isRunning: _$zod.ZodBoolean;
|
|
@@ -234,8 +234,8 @@ declare const LogImportSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
234
234
|
adapterName: _$zod.ZodString;
|
|
235
235
|
displayName: _$zod.ZodString;
|
|
236
236
|
source: _$zod.ZodEnum<{
|
|
237
|
-
adapter: "adapter";
|
|
238
237
|
extension: "extension";
|
|
238
|
+
adapter: "adapter";
|
|
239
239
|
}>;
|
|
240
240
|
logFilePattern: _$zod.ZodString;
|
|
241
241
|
isRunning: _$zod.ZodBoolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,l as r,r as i,t as a,u as o}from"../../../handlers-
|
|
1
|
+
import{a as e,c as t,i as n,l as r,r as i,t as a,u as o}from"../../../handlers-C8EtpSqK.mjs";export{r as registerAbandonHandler,t as registerAttachHandler,e as registerCompressHandler,n as registerForkHandler,i as registerMergeHandler,a as routeToAgents,o as routeToAgentsCore};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as fetchMessageCountsBySession, A as registerMemoryTurnStorage, At as RecoveryConfig, B as registerMemorySessionEventStorage, Bt as findTurnByAgent, C as messages, Ct as registerGetStatusCountsHandler, D as SelectTurn, Dt as ContextWindowTrackerConfig, E as InsertTurn, Et as AgentContextState, F as importCursorsDual, Ft as verifyAndRecoverAgents, G as getSessionAncestorChain, Gt as TurnContextEnricher, H as SelectSessionEvent, Ht as resolveTargetAgents, I as EventTransform, It as buildRecoveryContext, J as mapAgentsBySession, Jt as SessionOrchestrator, K as SessionPreviewMaps, Kt as AdapterRegistry, L as SessionLogger, Lt as resolveAdapterId, M as EmbeddingIndexManager, Mt as ensureAgentCwd, N as registerDrizzleImportCursorStorage, Nt as ensureAgentModel, O as turns, Ot as SessionContextWindowState, P as importCursors, Pt as recoverAgent, Q as fetchAgentsBySession, R as SessionLoggerOptions, Rt as resolveExecutionTarget, S as SelectMessage, St as actionRegistry, T as registerDrizzleMessageStorage, Tt as ContextWindowTracker, U as sessionEvents, Ut as extractTextContent, V as InsertSessionEvent, Vt as getOrCreateSession, W as sessionEventsDual, Wt as normalizeToBlocks, X as SearchFilters, Xt as MakaioSessionService, Y as mapToSession, Yt as registerCoreSessionServiceHandlers, Z as SearchSessionRow, _ as messageRoutingDual, _t as normalizeSelectionString, a as kindToBranchKind, at as registerMemoryAgentStorage, b as MessageRoutingSubjects, bt as registerBuiltInActions, c as registerSpawningToolCallResolver, ct as AgentStorageNamespace, d as MakaioSession, dt as createSessionExtensionContext, et as fetchPreviewBySession, f as MakaioSessionConfig, ft as SessionBridge, g as messageRouting, gt as CONNECTOR_SWAP_DEFAULT_PIPELINE, h as SelectMessageRouting, ht as pickFallbackRuntimeOptions, i as ContextAssemblyResult, it as registerDrizzleAgentStorage, j as registerDrizzleTurnStorage, jt as buildRecoveryContextWithPipeline, k as turnsDual, kt as buildTurnInitiator, l as registerCompressLineageResolver, lt as AgentStorageSubjects, m as InsertMessageRouting, mt as FallbackRuntimeOptions, n as buildSessionContext, nt as parseForkTransforms, o as toSessionLineage, ot as registerDrizzleSessionStorage, p as StartTurnOptions, pt as assembleForkContext, q as fetchSessionPreviewMaps, qt as ISessionOrchestrator, r as BuildContextOptions, rt as registerFtsSearchHandler, s as registerSessionDiscoveredHandler, st as registerMemorySessionStorage, t as getFullConversation, tt as mapRowToSession, u as registerParentResolver, ut as SessionExtensionContextImpl, v as registerDrizzleMessageRoutingStorage, vt as resolveAdapterNameById, w as registerMemoryMessageStorage, wt as registerResumeHandler, x as InsertMessage, xt as resetBuiltInActionsRegistration, y as MessageRoutingNamespace, yt as registerListActionsHandler, z as registerDrizzleSessionEventStorage, zt as resolveModelCapabilities } from "../../index-BvSyOgTY.mjs";
|
|
2
2
|
import { a as registerCompressHandler, c as SessionTurnManager, d as Turn, f as TurnConfig, h as TurnStateChange, i as registerForkHandler, l as TurnCompleteCallback, m as TurnResult, n as routeToAgents, o as registerAttachHandler, p as TurnContext, r as registerMergeHandler, s as registerAbandonHandler, t as routeToAgentsCore, u as TurnCompletionResult } from "../../index-C6BhKRnH.mjs";
|
|
3
3
|
import { r as buildProviderContext } from "../../index-D0SUjZmU.mjs";
|
|
4
|
-
import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../../namespace-
|
|
5
|
-
import { a as agents, o as sessions } from "../../schema-
|
|
6
|
-
import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../namespace-
|
|
7
|
-
import { t as TurnStorageNamespace } from "../../namespace-
|
|
4
|
+
import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../../namespace-7tsuJhQ9.mjs";
|
|
5
|
+
import { a as agents, c as sessionsDual, o as agentsDual, s as sessions } from "../../schema-BNrM9LWb.mjs";
|
|
6
|
+
import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../namespace-Ba4bxtHQ.mjs";
|
|
7
|
+
import { t as TurnStorageNamespace } from "../../namespace-DDCjoQUj.mjs";
|
|
8
8
|
import { n as TurnStorageSubjects } from "../../namespace-D1Iw_d1P.mjs";
|
|
9
|
-
import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../../namespace-
|
|
10
|
-
export { AdapterRegistry, AgentContextState, AgentStorageNamespace, AgentStorageSubjects, BuildContextOptions, CONNECTOR_SWAP_DEFAULT_PIPELINE, ContextAssemblyResult, ContextWindowTracker, ContextWindowTrackerConfig, EventTransform, FallbackRuntimeOptions, ISessionOrchestrator, InsertMessage, InsertMessageRouting, InsertSessionEvent, InsertTurn, MakaioSession, MakaioSessionConfig, MakaioSessionService, MessageRoutingNamespace, MessageRoutingSubjects, MessageStorageNamespace, MessageStorageSubjects, RecoveryConfig, SearchFilters, SearchSessionRow, SelectMessage, SelectMessageRouting, SelectSessionEvent, SelectTurn, SessionBridge, SessionContextWindowState, SessionEventStorageNamespace, SessionEventStorageSubjects, SessionExtensionContextImpl, SessionLogger, SessionLoggerOptions, SessionOrchestrator, SessionPreviewMaps, SessionStorageNamespace, SessionStorageSubjects, SessionTurnManager, StartTurnOptions, Turn, TurnCompleteCallback, TurnCompletionResult, TurnConfig, TurnContext, TurnContextEnricher, TurnResult, TurnStateChange, TurnStorageNamespace, TurnStorageSubjects, actionRegistry, agents, assembleForkContext, buildProviderContext, buildRecoveryContext, buildRecoveryContextWithPipeline, buildSessionContext, buildTurnInitiator, createSessionExtensionContext, ensureAgentCwd, ensureAgentModel, extractTextContent, fetchAgentsBySession, fetchMessageCountsBySession, fetchPreviewBySession, fetchSessionPreviewMaps, findTurnByAgent, getFullConversation, getOrCreateSession, importCursors, kindToBranchKind, mapAgentsBySession, mapRowToSession, mapToSession, messageRouting, messages, normalizeSelectionString, normalizeToBlocks, parseForkTransforms, pickFallbackRuntimeOptions, recoverAgent, registerAbandonHandler, registerAttachHandler, registerBuiltInActions, registerCompressHandler, registerCompressLineageResolver, registerCoreSessionServiceHandlers, registerDrizzleAgentStorage, registerDrizzleImportCursorStorage, registerDrizzleMessageRoutingStorage, registerDrizzleMessageStorage, registerDrizzleSessionEventStorage, registerDrizzleSessionStorage, registerDrizzleTurnStorage, registerForkHandler, registerFtsSearchHandler, registerGetStatusCountsHandler, registerListActionsHandler, registerMemoryAgentStorage, registerMemoryMessageStorage, registerMemorySessionEventStorage, registerMemorySessionStorage, registerMemoryTurnStorage, registerMergeHandler, registerParentResolver, registerResumeHandler, registerSessionDiscoveredHandler, registerSpawningToolCallResolver, resetBuiltInActionsRegistration, resolveAdapterId, resolveAdapterNameById, resolveExecutionTarget, resolveModelCapabilities, resolveTargetAgents, routeToAgents, routeToAgentsCore, sessionEvents, sessions, toSessionLineage, turns, verifyAndRecoverAgents };
|
|
9
|
+
import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../../namespace-B73Sxj5L.mjs";
|
|
10
|
+
export { AdapterRegistry, AgentContextState, AgentStorageNamespace, AgentStorageSubjects, BuildContextOptions, CONNECTOR_SWAP_DEFAULT_PIPELINE, ContextAssemblyResult, ContextWindowTracker, ContextWindowTrackerConfig, EmbeddingIndexManager, EventTransform, FallbackRuntimeOptions, ISessionOrchestrator, InsertMessage, InsertMessageRouting, InsertSessionEvent, InsertTurn, MakaioSession, MakaioSessionConfig, MakaioSessionService, MessageRoutingNamespace, MessageRoutingSubjects, MessageStorageNamespace, MessageStorageSubjects, RecoveryConfig, SearchFilters, SearchSessionRow, SelectMessage, SelectMessageRouting, SelectSessionEvent, SelectTurn, SessionBridge, SessionContextWindowState, SessionEventStorageNamespace, SessionEventStorageSubjects, SessionExtensionContextImpl, SessionLogger, SessionLoggerOptions, SessionOrchestrator, SessionPreviewMaps, SessionStorageNamespace, SessionStorageSubjects, SessionTurnManager, StartTurnOptions, Turn, TurnCompleteCallback, TurnCompletionResult, TurnConfig, TurnContext, TurnContextEnricher, TurnResult, TurnStateChange, TurnStorageNamespace, TurnStorageSubjects, actionRegistry, agents, agentsDual, assembleForkContext, buildProviderContext, buildRecoveryContext, buildRecoveryContextWithPipeline, buildSessionContext, buildTurnInitiator, createSessionExtensionContext, ensureAgentCwd, ensureAgentModel, extractTextContent, fetchAgentsBySession, fetchMessageCountsBySession, fetchPreviewBySession, fetchSessionPreviewMaps, findTurnByAgent, getFullConversation, getOrCreateSession, getSessionAncestorChain, importCursors, importCursorsDual, kindToBranchKind, mapAgentsBySession, mapRowToSession, mapToSession, messageRouting, messageRoutingDual, messages, normalizeSelectionString, normalizeToBlocks, parseForkTransforms, pickFallbackRuntimeOptions, recoverAgent, registerAbandonHandler, registerAttachHandler, registerBuiltInActions, registerCompressHandler, registerCompressLineageResolver, registerCoreSessionServiceHandlers, registerDrizzleAgentStorage, registerDrizzleImportCursorStorage, registerDrizzleMessageRoutingStorage, registerDrizzleMessageStorage, registerDrizzleSessionEventStorage, registerDrizzleSessionStorage, registerDrizzleTurnStorage, registerForkHandler, registerFtsSearchHandler, registerGetStatusCountsHandler, registerListActionsHandler, registerMemoryAgentStorage, registerMemoryMessageStorage, registerMemorySessionEventStorage, registerMemorySessionStorage, registerMemoryTurnStorage, registerMergeHandler, registerParentResolver, registerResumeHandler, registerSessionDiscoveredHandler, registerSpawningToolCallResolver, resetBuiltInActionsRegistration, resolveAdapterId, resolveAdapterNameById, resolveExecutionTarget, resolveModelCapabilities, resolveTargetAgents, routeToAgents, routeToAgentsCore, sessionEvents, sessionEventsDual, sessions, sessionsDual, toSessionLineage, turns, turnsDual, verifyAndRecoverAgents };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{agents as e,sessions as
|
|
1
|
+
import{agents as e,agentsDual as t,sessions as n,sessionsDual as r}from"./storage/schema.mjs";import{n as i,t as a}from"../../schema-BrnYlDwZ.mjs";import{t as o}from"../../schema-BerZmr2q.mjs";import{i as s,n as c,r as l,t as u}from"../../namespace-DwE2g8Wm.mjs";import{SessionStorageNamespace as d,SessionStorageSubjects as f}from"./storage/namespace.mjs";import{A as p,C as m,D as h,E as g,F as _,M as v,N as y,O as b,P as x,S,T as C,_ as w,a as T,b as E,c as D,d as O,f as k,g as A,h as j,i as M,j as N,k as P,l as F,m as I,n as L,o as R,p as z,r as B,s as V,t as H,u as U,v as W,w as G,x as K,y as q}from"../../handlers-C8EtpSqK.mjs";import{A as J,B as Y,C as X,D as Z,E as Q,F as $,G as ee,H as te,I as ne,J as re,K as ie,L as ae,M as oe,N as se,O as ce,P as le,R as ue,S as de,T as fe,U as pe,V as me,W as he,X as ge,Y as _e,_ as ve,a as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,i as Ee,j as De,k as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,q as Pe,r as Fe,s as Ie,t as Le,u as Re,v as ze,w as Be,x as Ve,y as He,z as Ue}from"../../session-KnewDVxt.mjs";import{TurnStorageSubjects as We}from"../turn/namespace.mjs";import{TurnStorageNamespace as Ge}from"./turns/namespace.mjs";import{MessageStorageNamespace as Ke,MessageStorageSubjects as qe}from"./messages/namespace.mjs";import{r as Je}from"../../provider-context-lfG0BpqX.mjs";export{re as AdapterRegistry,x as AgentStorageNamespace,_ as AgentStorageSubjects,oe as CONNECTOR_SWAP_DEFAULT_PIPELINE,Le as ContextWindowTracker,Ie as EmbeddingIndexManager,Me as MakaioSession,_e as MakaioSessionService,Y as MessageRoutingNamespace,me as MessageRoutingSubjects,Ke as MessageStorageNamespace,qe as MessageStorageSubjects,J as SessionBridge,u as SessionEventStorageNamespace,c as SessionEventStorageSubjects,ce as SessionExtensionContextImpl,Se as SessionLogger,ae as SessionOrchestrator,d as SessionStorageNamespace,f as SessionStorageSubjects,ue as SessionTurnManager,N as Turn,ne as TurnContextEnricher,Ge as TurnStorageNamespace,We as TurnStorageSubjects,E as actionRegistry,e as agents,t as agentsDual,L as assembleForkContext,Je as buildProviderContext,W as buildRecoveryContext,z as buildRecoveryContextWithPipeline,K as buildSessionContext,C as buildTurnInitiator,Oe as createSessionExtensionContext,I as ensureAgentCwd,j as ensureAgentModel,P as extractTextContent,Ae as fetchAgentsBySession,Te as fetchMessageCountsBySession,we as fetchPreviewBySession,Ve as fetchSessionPreviewMaps,g as findTurnByAgent,q as getFullConversation,h as getOrCreateSession,Ce as getSessionAncestorChain,ke as importCursors,Re as importCursorsDual,Q as kindToBranchKind,de as mapAgentsBySession,ve as mapRowToSession,X as mapToSession,te as messageRouting,pe as messageRoutingDual,o as messages,O as normalizeSelectionString,p as normalizeToBlocks,ze as parseForkTransforms,De as pickFallbackRuntimeOptions,A as recoverAgent,F as registerAbandonHandler,D as registerAttachHandler,R as registerBuiltInActions,T as registerCompressHandler,Ee as registerCompressLineageResolver,ge as registerCoreSessionServiceHandlers,Be as registerDrizzleAgentStorage,xe as registerDrizzleImportCursorStorage,Ue as registerDrizzleMessageRoutingStorage,ee as registerDrizzleMessageStorage,ie as registerDrizzleSessionEventStorage,be as registerDrizzleSessionStorage,y as registerDrizzleTurnStorage,M as registerForkHandler,Ne as registerFtsSearchHandler,le as registerGetStatusCountsHandler,se as registerListActionsHandler,He as registerMemoryAgentStorage,he as registerMemoryMessageStorage,Pe as registerMemorySessionEventStorage,fe as registerMemorySessionStorage,v as registerMemoryTurnStorage,B as registerMergeHandler,ye as registerParentResolver,$ as registerResumeHandler,je as registerSessionDiscoveredHandler,Fe as registerSpawningToolCallResolver,V as resetBuiltInActionsRegistration,S as resolveAdapterId,k as resolveAdapterNameById,m as resolveExecutionTarget,G as resolveModelCapabilities,b as resolveTargetAgents,H as routeToAgents,U as routeToAgentsCore,l as sessionEvents,s as sessionEventsDual,n as sessions,r as sessionsDual,Z as toSessionLineage,a as turns,i as turnsDual,w as verifyAndRecoverAgents};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as MessageStorageSubjects, n as MessagePageCursorSchema, r as MessageStorageNamespace, t as MessagePageCursor } from "../../../namespace-
|
|
1
|
+
import { i as MessageStorageSubjects, n as MessagePageCursorSchema, r as MessageStorageNamespace, t as MessagePageCursor } from "../../../namespace-B73Sxj5L.mjs";
|
|
2
2
|
export { MessagePageCursor, MessagePageCursorSchema, MessageStorageNamespace, MessageStorageSubjects };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../../../schema-
|
|
1
|
+
import{t as e}from"../../../schema-BerZmr2q.mjs";import{MessagePageCursorSchema as t,MessageStorageNamespace as n,MessageStorageSubjects as r}from"@makaio/framework/contracts";const i={...n,extensions:{drizzle:{messages:e}}};export{t as MessagePageCursorSchema,i as MessageStorageNamespace,r as MessageStorageSubjects};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-
|
|
1
|
+
import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-Dt4WDse7.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../../namespace-
|
|
1
|
+
import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../../namespace-Ba4bxtHQ.mjs";
|
|
2
2
|
export { SessionEventStorageNamespace, SessionEventStorageSubjects };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"../../../namespace-
|
|
1
|
+
import{n as e,t}from"../../../namespace-DwE2g8Wm.mjs";export{t as SessionEventStorageNamespace,e as SessionEventStorageSubjects};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SessionWithPreview, i as SessionStorageSubjects, n as SessionPreviewDataSchema, o as SessionWithPreviewSchema, r as SessionStorageNamespace, t as SessionPreviewData } from "../../../namespace-
|
|
1
|
+
import { a as SessionWithPreview, i as SessionStorageSubjects, n as SessionPreviewDataSchema, o as SessionWithPreviewSchema, r as SessionStorageNamespace, t as SessionPreviewData } from "../../../namespace-7tsuJhQ9.mjs";
|
|
2
2
|
export { SessionPreviewData, SessionPreviewDataSchema, SessionStorageNamespace, SessionStorageSubjects, SessionWithPreview, SessionWithPreviewSchema };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as agents, i as SelectSession, n as InsertSession, o as
|
|
2
|
-
export { InsertAgent, InsertSession, SelectAgent, SelectSession, agents, sessions };
|
|
1
|
+
import { a as agents, c as sessionsDual, i as SelectSession, n as InsertSession, o as agentsDual, r as SelectAgent, s as sessions, t as InsertAgent } from "../../../schema-BNrM9LWb.mjs";
|
|
2
|
+
export { InsertAgent, InsertSession, SelectAgent, SelectSession, agents, agentsDual, sessions, sessionsDual };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{check as e,index as t,
|
|
1
|
+
import{check as e,index as t,uniqueIndex as n}from"drizzle-orm/sqlite-core";import{check as r,index as i,uniqueIndex as a}from"drizzle-orm/pg-core";import{defineDualTable as o}from"@makaio/framework/storage/drizzle";import{sql as s}from"drizzle-orm";const c=o(`sessions`,e=>({sessionId:e.text(`session_id`).primaryKey(),createdAt:e.epochMs(`created_at`).notNull(),lastActivityAt:e.epochMs(`last_activity_at`).notNull(),status:e.textEnum(`status`,{enum:[`active`,`closed`,`archived`,`discovered`]}).notNull(),leadAgentId:e.text(`lead_agent_id`),parentSessionId:e.text(`parent_session_id`),contextInheritance:e.textEnum(`context_inheritance`,{enum:[`parent-history`,`none`]}),rootSessionId:e.text(`root_session_id`),forkPointMessageId:e.text(`fork_point_message_id`),branchKind:e.textEnum(`branch_kind`,{enum:[`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]}),adapterName:e.text(`adapter_name`),adapterSessionId:e.text(`adapter_session_id`),adapterId:e.text(`adapter_id`),clientId:e.text(`client_id`),clientAccountId:e.text(`client_account_id`),lastClientIdentityObservation:e.text(`last_client_identity_observation`),isOrchestrated:e.bool(`is_orchestrated`).default(!1),title:e.text(`title`),summary:e.text(`summary`),summaryUpdatedAt:e.epochMs(`summary_updated_at`),isImported:e.bool(`is_imported`).default(!1),forkTransforms:e.text(`fork_transforms`),targetWorkingDirectory:e.text(`target_working_directory`),executionTargetId:e.text(`execution_target_id`),approvalPolicyOverride:e.textEnum(`approval_policy_override`,{enum:[`reject`,`always-ask`,`full-access`]}),spawningToolCallId:e.text(`spawning_tool_call_id`),source:e.text(`source`),parentExternalSessionId:e.text(`parent_external_session_id`),logFilePath:e.text(`log_file_path`),discoveredAt:e.epochMs(`discovered_at`),importStatus:e.textEnum(`import_status`,{enum:[`discovered`,`imported`,`tracking`]})}),{sqlite:r=>[n(`uniq_sessions_source_adapter_session_id`).on(r.source,r.adapterSessionId),n(`uniq_sessions_log_file_path`).on(r.logFilePath),t(`sessions_adapter_session_id_idx`).on(r.adapterSessionId),t(`idx_sessions_import_status`).on(r.importStatus),t(`sessions_execution_target_id_idx`).on(r.executionTargetId),t(`idx_sessions_parent_session_id`).on(r.parentSessionId),e(`sessions_import_status_check`,s`${r.importStatus} IS NULL OR ${r.importStatus} IN ('discovered', 'imported', 'tracking')`),e(`sessions_context_inheritance_check`,s`${r.contextInheritance} IS NULL OR ${r.contextInheritance} IN ('parent-history', 'none')`)],postgres:e=>[a(`uniq_sessions_source_adapter_session_id`).on(e.source,e.adapterSessionId),a(`uniq_sessions_log_file_path`).on(e.logFilePath),i(`sessions_adapter_session_id_idx`).on(e.adapterSessionId),i(`idx_sessions_import_status`).on(e.importStatus),i(`sessions_execution_target_id_idx`).on(e.executionTargetId),i(`idx_sessions_parent_session_id`).on(e.parentSessionId),r(`sessions_import_status_check`,s`${e.importStatus} IS NULL OR ${e.importStatus} IN ('discovered', 'imported', 'tracking')`),r(`sessions_context_inheritance_check`,s`${e.contextInheritance} IS NULL OR ${e.contextInheritance} IN ('parent-history', 'none')`)]}),l=c.sqlite,u=o(`agents`,e=>({agentId:e.text(`agent_id`).primaryKey(),adapterId:e.text(`adapter_id`).notNull(),adapterName:e.text(`adapter_name`).notNull(),sessionId:e.text(`session_id`).notNull().references(()=>c.columnPair(`sessionId`),{onDelete:`cascade`}),adapterSessionId:e.text(`adapter_session_id`),model:e.text(`model`),cwd:e.text(`cwd`),providerConfigId:e.text(`provider_config_id`),personaId:e.text(`persona_id`),profileId:e.text(`profile_id`),harnessId:e.text(`harness_id`),clientId:e.text(`client_id`),compressionMode:e.text(`compression_mode`),role:e.textEnum(`role`,{enum:[`lead`,`member`]}).notNull(),status:e.textEnum(`status`,{enum:[`idle`,`active`,`dead`,`disposed`]}).notNull(),createdAt:e.epochMs(`created_at`).notNull(),lastActivityAt:e.epochMs(`last_activity_at`).notNull()}),{sqlite:e=>[t(`agents_session_id_idx`).on(e.sessionId),t(`agents_adapter_name_idx`).on(e.adapterName),t(`agents_status_idx`).on(e.status),t(`agents_client_id_idx`).on(e.clientId)],postgres:e=>[i(`agents_session_id_idx`).on(e.sessionId),i(`agents_adapter_name_idx`).on(e.adapterName),i(`agents_status_idx`).on(e.status),i(`agents_client_id_idx`).on(e.clientId)]}),d=u.sqlite;export{d as agents,u as agentsDual,l as sessions,c as sessionsDual};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SQL } from "drizzle-orm";
|
|
2
1
|
import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
|
|
2
|
+
import { SQL } from "drizzle-orm";
|
|
3
3
|
|
|
4
4
|
//#region services/core/src/session/testing/storage-test-schema.d.ts
|
|
5
5
|
/**
|
|
@@ -12,6 +12,22 @@ declare const SESSION_STORAGE_TEST_SCHEMA_SQL: SQL[];
|
|
|
12
12
|
* @param db - Database to initialize
|
|
13
13
|
*/
|
|
14
14
|
declare function installSessionStorageTestSchema(db: MakaioDatabase): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* SQL statements that install the messages tier of the session-storage test
|
|
17
|
+
* schema: `turns`, `messages` (canonical column set including
|
|
18
|
+
* `adapter_message_id` and a nullable `turn_id`), the content-backed
|
|
19
|
+
* `messages_fts` FTS5 virtual table, and the FTS sync triggers. Mirrors the
|
|
20
|
+
* FTS5 setup the runtime's migration step applies on SQLite.
|
|
21
|
+
*/
|
|
22
|
+
declare const MESSAGES_FTS_TEST_SCHEMA_SQL: SQL[];
|
|
23
|
+
/**
|
|
24
|
+
* Install the messages tier of the session-storage test schema on top of
|
|
25
|
+
* {@link installSessionStorageTestSchema} (the `turns` and `messages` tables
|
|
26
|
+
* reference `sessions`). FTS-backed search tests call this before inserting
|
|
27
|
+
* message fixtures; the triggers keep `messages_fts` in sync automatically.
|
|
28
|
+
* @param db - Database to initialize
|
|
29
|
+
*/
|
|
30
|
+
declare function installMessagesFtsTestSchema(db: MakaioDatabase): Promise<void>;
|
|
15
31
|
//#endregion
|
|
16
32
|
//#region services/core/src/session/testing/index.d.ts
|
|
17
33
|
/**
|
|
@@ -32,4 +48,4 @@ declare function registerMockStorageHandlers(): () => void;
|
|
|
32
48
|
*/
|
|
33
49
|
declare function registerMockProviderHandlers(): () => void;
|
|
34
50
|
//#endregion
|
|
35
|
-
export { SESSION_STORAGE_TEST_SCHEMA_SQL, installSessionStorageTestSchema, registerMockProviderHandlers, registerMockStorageHandlers };
|
|
51
|
+
export { MESSAGES_FTS_TEST_SCHEMA_SQL, SESSION_STORAGE_TEST_SCHEMA_SQL, installMessagesFtsTestSchema, installSessionStorageTestSchema, registerMockProviderHandlers, registerMockStorageHandlers };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"../../../namespace-
|
|
1
|
+
import{n as e}from"../../../namespace-DwE2g8Wm.mjs";import{SessionStorageSubjects as t}from"../storage/namespace.mjs";import{F as n}from"../../../handlers-C8EtpSqK.mjs";import{V as r}from"../../../session-KnewDVxt.mjs";import{TurnStorageSubjects as i}from"../../turn/namespace.mjs";import{AdapterRuntimeSubjects as a}from"../../adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"../messages/namespace.mjs";import{n as s}from"../../../namespace-ENv7H7Na.mjs";import{ProviderStorageSubjects as c}from"../../settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"../../execution-target/namespace.mjs";import{t as u}from"../../../identity-Bmx-8fPa.mjs";import{MakaioBus as d}from"@makaio/framework/bus";import{AdapterSubjects as f}from"@makaio/framework/contracts";import{getRawSqlExecutor as p}from"@makaio/framework/storage/drizzle";import{sql as m}from"drizzle-orm";import{buildStoredCredentialRef as h}from"@makaio/framework/contracts/config";function g(e){let t=new u(e);return{registerHandlers(){let e=[d.on(f.initialized,e=>{t.rememberAdapterId(e.payload.adapterId,e.payload.adapterName)}),d.on(a.resolveId,e=>{let n=t.resolveId(e.payload);e.setResult({adapterId:n})}),d.on(a.resolveName,e=>{let n=t.resolveAdapterName(e.payload.adapterId);if(!n)throw Error(`Adapter not found for adapterId="${e.payload.adapterId}"`);e.setResult({adapterName:n})})];return()=>{for(let t of e)t()}},async registerKnownAdapter(e,n){let r=n??t.resolveId({adapterName:e});await d.emit(f.initialized,{adapterName:e,adapterId:r,capabilities:[]})}}}function _(e){let t=g(e);return{registry:t,unsubscribe:t.registerHandlers()}}const v=[m`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
3
3
|
session_id TEXT PRIMARY KEY,
|
|
4
4
|
created_at INTEGER NOT NULL,
|
|
@@ -42,7 +42,7 @@ import{n as e}from"../../../namespace-h0HIuqx0.mjs";import{SessionStorageSubject
|
|
|
42
42
|
OR import_status IN ('discovered', 'imported', 'tracking')
|
|
43
43
|
)
|
|
44
44
|
)
|
|
45
|
-
`,
|
|
45
|
+
`,m`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_source_adapter_session_id ON sessions(source, adapter_session_id)`,m`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_log_file_path ON sessions(log_file_path)`,m`CREATE INDEX IF NOT EXISTS sessions_adapter_session_id_idx ON sessions(adapter_session_id)`,m`CREATE INDEX IF NOT EXISTS idx_sessions_import_status ON sessions(import_status)`,m`CREATE INDEX IF NOT EXISTS sessions_execution_target_id_idx ON sessions(execution_target_id)`,m`
|
|
46
46
|
CREATE TABLE IF NOT EXISTS agents (
|
|
47
47
|
agent_id TEXT PRIMARY KEY NOT NULL,
|
|
48
48
|
adapter_id TEXT NOT NULL,
|
|
@@ -62,4 +62,53 @@ import{n as e}from"../../../namespace-h0HIuqx0.mjs";import{SessionStorageSubject
|
|
|
62
62
|
created_at INTEGER NOT NULL,
|
|
63
63
|
last_activity_at INTEGER NOT NULL
|
|
64
64
|
)
|
|
65
|
-
`,
|
|
65
|
+
`,m`CREATE INDEX IF NOT EXISTS agents_session_id_idx ON agents(session_id)`,m`CREATE INDEX IF NOT EXISTS agents_adapter_name_idx ON agents(adapter_name)`,m`CREATE INDEX IF NOT EXISTS agents_status_idx ON agents(status)`,m`CREATE INDEX IF NOT EXISTS agents_client_id_idx ON agents(client_id)`];async function y(e){let t=p(e);for(let e of v)await t.run(e)}const b=[m`
|
|
66
|
+
CREATE TABLE IF NOT EXISTS turns (
|
|
67
|
+
turn_id TEXT PRIMARY KEY,
|
|
68
|
+
session_id TEXT NOT NULL REFERENCES sessions(session_id) ON DELETE CASCADE,
|
|
69
|
+
started_at INTEGER NOT NULL,
|
|
70
|
+
completed_at INTEGER,
|
|
71
|
+
status TEXT NOT NULL CHECK (status IN ('active', 'completed', 'error')),
|
|
72
|
+
error TEXT
|
|
73
|
+
)
|
|
74
|
+
`,m`
|
|
75
|
+
CREATE TABLE IF NOT EXISTS messages (
|
|
76
|
+
message_id TEXT PRIMARY KEY,
|
|
77
|
+
turn_id TEXT REFERENCES turns(turn_id) ON DELETE CASCADE,
|
|
78
|
+
session_id TEXT NOT NULL REFERENCES sessions(session_id) ON DELETE CASCADE,
|
|
79
|
+
role TEXT NOT NULL CHECK (role IN ('user', 'assistant')),
|
|
80
|
+
content_text TEXT NOT NULL,
|
|
81
|
+
blocks TEXT NOT NULL DEFAULT '[]',
|
|
82
|
+
agent_id TEXT,
|
|
83
|
+
adapter_session_id TEXT,
|
|
84
|
+
adapter_message_id TEXT,
|
|
85
|
+
timestamp INTEGER NOT NULL,
|
|
86
|
+
edit_of TEXT,
|
|
87
|
+
origin TEXT
|
|
88
|
+
)
|
|
89
|
+
`,m`
|
|
90
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5(
|
|
91
|
+
session_id,
|
|
92
|
+
content_text,
|
|
93
|
+
content='messages',
|
|
94
|
+
content_rowid='rowid',
|
|
95
|
+
tokenize='porter unicode61'
|
|
96
|
+
)
|
|
97
|
+
`,m`
|
|
98
|
+
CREATE TRIGGER IF NOT EXISTS messages_ai AFTER INSERT ON messages BEGIN
|
|
99
|
+
INSERT INTO messages_fts(rowid, session_id, content_text)
|
|
100
|
+
VALUES (NEW.rowid, NEW.session_id, NEW.content_text);
|
|
101
|
+
END
|
|
102
|
+
`,m`
|
|
103
|
+
CREATE TRIGGER IF NOT EXISTS messages_ad AFTER DELETE ON messages BEGIN
|
|
104
|
+
INSERT INTO messages_fts(messages_fts, rowid, session_id, content_text)
|
|
105
|
+
VALUES('delete', OLD.rowid, OLD.session_id, OLD.content_text);
|
|
106
|
+
END
|
|
107
|
+
`,m`
|
|
108
|
+
CREATE TRIGGER IF NOT EXISTS messages_au AFTER UPDATE ON messages BEGIN
|
|
109
|
+
INSERT INTO messages_fts(messages_fts, rowid, session_id, content_text)
|
|
110
|
+
VALUES('delete', OLD.rowid, OLD.session_id, OLD.content_text);
|
|
111
|
+
INSERT INTO messages_fts(rowid, session_id, content_text)
|
|
112
|
+
VALUES (NEW.rowid, NEW.session_id, NEW.content_text);
|
|
113
|
+
END
|
|
114
|
+
`];async function x(e){let t=p(e);for(let e of b)await t.run(e)}function S(){let e=[];return w(e),T(e),E(e),D(e),O(e),k(e),()=>e.forEach(e=>e())}function C(){let e=[];return A(e),j(e),()=>e.forEach(e=>e())}function w(e){let t=new Map,n=new Map;e.push(d.on(i.create,e=>{let{sessionId:r}=e.payload,i=(t.get(r)??0)+1;t.set(r,i);let a=e.payload.turnId??crypto.randomUUID(),o=Date.now();n.set(a,{sessionId:r,turnNumber:i,startedAt:o}),e.setResult({turn:{turnId:a,sessionId:r,turnNumber:i,startedAt:o,status:`active`}})})),e.push(d.on(i.complete,e=>{let t=n.get(e.payload.turnId);if(!t)throw Error(`Mock turn ${e.payload.turnId} was not created before completion`);e.setResult({turn:{turnId:e.payload.turnId,sessionId:t.sessionId,turnNumber:t.turnNumber,startedAt:t.startedAt,completedAt:Date.now(),status:e.payload.status,error:e.payload.error,usage:e.payload.usage},transitioned:!0})})),e.push(d.on(i.set,e=>{let{turn:r}=e.payload;n.set(r.turnId,{sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt}),t.set(r.sessionId,Math.max(t.get(r.sessionId)??0,r.turnNumber)),e.setResult({turn:r})})),e.push(d.on(i.getBySession,e=>{e.setResult({turns:[]})}))}function T(e){e.push(d.on(o.append,e=>{let{message:t}=e.payload;e.setResult({message:{messageId:t.messageId??`msg-${crypto.randomUUID().slice(0,8)}`,turnId:t.turnId,sessionId:t.sessionId,role:t.role,contentText:t.contentText,blocks:t.blocks,agentId:t.agentId,adapterSessionId:t.adapterSessionId,adapterMessageId:t.adapterMessageId,timestamp:t.timestamp,editOf:t.editOf}})})),e.push(d.on(o.getByTurn,e=>{e.setResult({messages:[]})})),e.push(d.on(o.getBySession,e=>{e.setResult({messages:[],nextCursor:null})}))}function E(e){e.push(d.on(r.record,e=>{e.setResult({success:!0})})),e.push(d.on(r.getByMessage,e=>{e.setResult({routing:[]})}))}function D(e){e.push(_(`test-machine`).unsubscribe)}function O(e){e.push(d.on(n.set,e=>{e.setResult({success:!0})})),e.push(d.on(n.get,e=>{e.setResult({agent:null})})),e.push(d.on(n.listBySession,e=>{e.setResult({agents:[]})}))}function k(n){n.push(d.on(t.get,e=>{e.setResult({session:{sessionId:e.payload.sessionId,createdAt:Date.now(),lastActivityAt:Date.now(),status:`active`,agents:[]}})})),n.push(d.on(e.getEvents,e=>{e.setResult({events:[],nextCursor:null,totalCount:0})})),n.push(d.on(o.get,e=>{e.setResult({message:null})})),n.push(d.on(t.update,e=>{e.setResult({success:!0})}))}function A(e){e.push(d.on(l.resolve,e=>{e.setResult({executionTarget:{id:`system:local`,name:`Local`,description:`Default local process execution`,type:`local`,scope:`default`,enabled:!0,createdAt:0,updatedAt:0}})}))}function j(e){e.push(d.on(s.getProviderConfig,e=>{e.setResult({config:{id:e.payload.id,definitionId:`test-provider`,name:`Test Provider`,modelFilterMode:`show-all`,isDefault:!1,enabled:!0,isSentinel:!1,hasCredentials:!0}})})),e.push(d.on(s.buildProviderContext,e=>{e.setResult({context:{providerConfigId:e.payload.providerConfigId,definitionId:`test-provider`,credentialRefs:{apiKey:h(e.payload.providerConfigId,`apiKey`)},credentialEnvVars:{apiKey:`API_KEY`}}})})),e.push(d.on(c.get,e=>{e.setResult({provider:{id:e.payload.id,packageName:`@makaio/test-provider`,name:`Test Provider`,availableModels:[],defaultModelFilterMode:`show-all`,enabled:!0,createdAt:0,updatedAt:0}})}))}export{b as MESSAGES_FTS_TEST_SCHEMA_SQL,v as SESSION_STORAGE_TEST_SCHEMA_SQL,x as installMessagesFtsTestSchema,y as installSessionStorageTestSchema,C as registerMockProviderHandlers,S as registerMockStorageHandlers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-
|
|
1
|
+
import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-Dt4WDse7.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as TurnStorageNamespace } from "../../../namespace-
|
|
1
|
+
import { t as TurnStorageNamespace } from "../../../namespace-DDCjoQUj.mjs";
|
|
2
2
|
export { TurnStorageNamespace };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../../../schema-
|
|
1
|
+
import{t as e}from"../../../schema-BrnYlDwZ.mjs";import{TurnStorageNamespace as t}from"../../turn/namespace.mjs";const n={...t,extensions:{drizzle:{turns:e}}};export{n as TurnStorageNamespace};
|
|
@@ -518,18 +518,18 @@ declare const SubagentTemplateSettingsNamespace: _$_makaio_core0.BusNamespaceDef
|
|
|
518
518
|
create: {
|
|
519
519
|
request: _$zod.ZodObject<{
|
|
520
520
|
name: _$zod.ZodString;
|
|
521
|
+
adapterName: _$zod.ZodString;
|
|
522
|
+
providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
|
|
523
|
+
model: _$zod.ZodOptional<_$zod.ZodString>;
|
|
524
|
+
enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
|
|
521
525
|
contextMode: _$zod.ZodDefault<_$zod.ZodEnum<{
|
|
522
526
|
fork: "fork";
|
|
523
527
|
fresh: "fresh";
|
|
524
528
|
}>>;
|
|
525
|
-
adapterName: _$zod.ZodString;
|
|
526
|
-
providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
|
|
527
|
-
model: _$zod.ZodOptional<_$zod.ZodString>;
|
|
528
|
-
systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
529
|
-
allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
530
529
|
disallowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
531
530
|
allowedDirectories: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
532
|
-
|
|
531
|
+
systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
532
|
+
allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
533
533
|
}, _$zod_v4_core0.$strip>;
|
|
534
534
|
response: _$zod.ZodObject<{
|
|
535
535
|
id: _$zod.ZodString;
|
|
@@ -609,18 +609,18 @@ declare const SubagentTemplateSettingsSubjects: _$_makaio_core0.BusSubjects<_$_m
|
|
|
609
609
|
create: {
|
|
610
610
|
request: _$zod.ZodObject<{
|
|
611
611
|
name: _$zod.ZodString;
|
|
612
|
+
adapterName: _$zod.ZodString;
|
|
613
|
+
providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
|
|
614
|
+
model: _$zod.ZodOptional<_$zod.ZodString>;
|
|
615
|
+
enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
|
|
612
616
|
contextMode: _$zod.ZodDefault<_$zod.ZodEnum<{
|
|
613
617
|
fork: "fork";
|
|
614
618
|
fresh: "fresh";
|
|
615
619
|
}>>;
|
|
616
|
-
adapterName: _$zod.ZodString;
|
|
617
|
-
providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
|
|
618
|
-
model: _$zod.ZodOptional<_$zod.ZodString>;
|
|
619
|
-
systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
620
|
-
allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
621
620
|
disallowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
622
621
|
allowedDirectories: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
623
|
-
|
|
622
|
+
systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
623
|
+
allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
|
|
624
624
|
}, _$zod_v4_core0.$strip>;
|
|
625
625
|
response: _$zod.ZodObject<{
|
|
626
626
|
id: _$zod.ZodString;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-
|
|
1
|
+
import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-DAFYpgHk2.mjs";
|
|
2
2
|
import { n as SubagentTemplateSubjects, t as SubagentTemplateKernelNamespace } from "../../namespace-B60mn8J-2.mjs";
|
|
3
3
|
export { type SubagentTemplate, SubagentTemplateCompletedEventSchema, type SubagentTemplateCreate, SubagentTemplateCreateSchema, type SubagentTemplateInstance, SubagentTemplateInstanceSchema, type SubagentTemplateInstanceStatus, SubagentTemplateInstanceStatusSchema, SubagentTemplateKernelNamespace, SubagentTemplateKernelSchemas, SubagentTemplateSchema, SubagentTemplateSettingsSchemas, type SubagentTemplateSpawnRequest, SubagentTemplateSpawnRequestSchema, SubagentTemplateSpawnedEventSchema, SubagentTemplateSubjects, type SubagentTemplateSummary, SubagentTemplateSummarySchema, type SubagentTemplateUpdate, SubagentTemplateUpdateSchema };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-
|
|
1
|
+
import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-DAFYpgHk2.mjs";
|
|
2
2
|
export { SubagentTemplate, SubagentTemplateCompletedEventSchema, SubagentTemplateCreate, SubagentTemplateCreateSchema, SubagentTemplateInstance, SubagentTemplateInstanceSchema, SubagentTemplateInstanceStatus, SubagentTemplateInstanceStatusSchema, SubagentTemplateKernelSchemas, SubagentTemplateSchema, SubagentTemplateSettingsSchemas, SubagentTemplateSpawnRequest, SubagentTemplateSpawnRequestSchema, SubagentTemplateSpawnedEventSchema, SubagentTemplateSummary, SubagentTemplateSummarySchema, SubagentTemplateUpdate, SubagentTemplateUpdateSchema };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../../tool-approval-service-
|
|
1
|
+
import{t as e}from"../../tool-approval-service-Cb2F1yT6.mjs";export{e as ToolApprovalService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,n as t,r as n,t as r}from"../../tools-
|
|
1
|
+
import{B as e,n as t,r as n,t as r}from"../../tools-D5DVHC-R.mjs";export{r as FILE_ACCESS_RULES_KEY,e as ToolRegistry,n as createToolContributionProcessor,t as extractToolFilePath};
|