@agentshouse/mdruntime 0.1.0-alpha.20 → 0.1.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/AGENTS.md +9 -1
  2. package/dist/adapter.d.ts +20 -3
  3. package/dist/adapter.d.ts.map +1 -1
  4. package/dist/adapter.js.map +1 -1
  5. package/dist/change-set.d.ts +40 -0
  6. package/dist/change-set.d.ts.map +1 -0
  7. package/dist/change-set.js +94 -0
  8. package/dist/change-set.js.map +1 -0
  9. package/dist/client.d.ts +7 -6
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +19 -13
  12. package/dist/client.js.map +1 -1
  13. package/dist/collection.d.ts +8 -2
  14. package/dist/collection.d.ts.map +1 -1
  15. package/dist/collection.js +8 -3
  16. package/dist/collection.js.map +1 -1
  17. package/dist/connection.d.ts +4 -2
  18. package/dist/connection.d.ts.map +1 -1
  19. package/dist/connection.js +308 -168
  20. package/dist/connection.js.map +1 -1
  21. package/dist/conversation.d.ts +28 -16
  22. package/dist/conversation.d.ts.map +1 -1
  23. package/dist/conversation.js +371 -269
  24. package/dist/conversation.js.map +1 -1
  25. package/dist/file.d.ts +2 -2
  26. package/dist/file.d.ts.map +1 -1
  27. package/dist/file.js.map +1 -1
  28. package/dist/host.d.ts.map +1 -1
  29. package/dist/host.js +7 -8
  30. package/dist/host.js.map +1 -1
  31. package/dist/index.d.ts +3 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/memory.d.ts +3 -2
  35. package/dist/memory.d.ts.map +1 -1
  36. package/dist/memory.js +24 -20
  37. package/dist/memory.js.map +1 -1
  38. package/dist/overlay.d.ts +2 -0
  39. package/dist/overlay.d.ts.map +1 -1
  40. package/dist/overlay.js +106 -0
  41. package/dist/overlay.js.map +1 -1
  42. package/dist/refresh.d.ts.map +1 -1
  43. package/dist/refresh.js +1 -1
  44. package/dist/refresh.js.map +1 -1
  45. package/dist/replica.d.ts +12 -3
  46. package/dist/replica.d.ts.map +1 -1
  47. package/dist/replica.js +61 -26
  48. package/dist/replica.js.map +1 -1
  49. package/dist/store.d.ts +43 -19
  50. package/dist/store.d.ts.map +1 -1
  51. package/dist/store.js +371 -106
  52. package/dist/store.js.map +1 -1
  53. package/dist/wire.d.ts +2 -2
  54. package/dist/wire.d.ts.map +1 -1
  55. package/dist/wire.js +4 -5
  56. package/dist/wire.js.map +1 -1
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["/workspace/packages/mdruntime/src/collection.ts"],"sourcesContent":["import { parse, validate, VERSION, type Document, type Validation } from '@agentshouse/mdmodel';\nimport type { Selector } from '@agentshouse/query';\nimport { beneath, normalize } from './paths.js';\nimport type { AttachedModelBinding, ModelState } from './model.js';\nimport type { MdModelIdentity } from './adapter.js';\n\nexport const MD_MODEL: MdModelIdentity = { identity: '@agentshouse/mdmodel', version: VERSION };\n\nexport const PRESENTED: Selector = { path: { $regex: '\\\\.md$' } };\n\nexport type MdType = {\n name: string;\n path: string;\n fields: Readonly<Record<string, unknown>>;\n sections: Readonly<Record<string, unknown>>;\n};\n\nexport type Collection = {\n documents: Readonly<Record<string, Document>>;\n composition: Composition;\n};\n\nexport type Composition = {\n collectionRoot: string;\n model: ModelState;\n selection: { roots: readonly string[]; model: ModelState } | null;\n};\n\nfunction selected(composition: Composition, path: string): boolean {\n return (\n composition.selection !== null &&\n composition.selection.roots.some((root) => beneath(root, path))\n );\n}\n\nexport function governing(composition: Composition, path: string): ModelState {\n return composition.selection !== null && selected(composition, path)\n ? composition.selection.model\n : composition.model;\n}\n\nexport function typesAt(composition: Composition, path: string): readonly MdType[] {\n const model = governing(composition, path);\n return model.status === 'unavailable' ? [] : model.types;\n}\n\nexport function parseCollection(\n text: Readonly<Record<string, string>>,\n composition: Composition,\n): Collection {\n const documents: Record<string, Document> = {};\n for (const path of Object.keys(text).sort()) {\n const parsed = parse(text[path], path);\n if (parsed.ok) documents[path] = parsed.document;\n }\n return { documents, composition };\n}\n\nexport function readCollection(\n text: Readonly<Record<string, string>>,\n composition: Composition,\n): Collection | null {\n if (!validRoot(composition.collectionRoot)) return null;\n const collection = parseCollection(text, composition);\n if (Object.keys(collection.documents).length !== Object.keys(text).length) return null;\n if (\n Object.entries(collection.documents).some(\n ([path, document]) =>\n !member(path, composition.collectionRoot) &&\n !selected(composition, path) &&\n document.type !== undefined &&\n document.type !== 'any',\n )\n )\n return null;\n return collection;\n}\n\nexport function validRoot(root: unknown): root is string {\n return typeof root === 'string' && normalize(root) === root;\n}\n\nfunction member(path: string, root: string): boolean {\n return root === '' || path.startsWith(`${root}/`);\n}\n\ntype Refusal = Extract<Validation, { verdict: 'refuse' }> & { source?: 'content' | 'model' };\n\nfunction validateAgainst(\n documents: Readonly<Record<string, string>>,\n binaryTargets: readonly string[],\n prefix: string,\n model: ModelState,\n binding: AttachedModelBinding | null,\n): Validation & { source?: 'content' | 'model' } {\n if (model.status === 'unavailable' || binding === null) {\n const typed = Object.entries(documents).find(([, content]) => {\n const parsed = parse(content);\n return parsed.ok && parsed.document.type !== undefined && parsed.document.type !== 'any';\n });\n if (typed !== undefined)\n return {\n verdict: 'refuse',\n rule: 'model-unavailable',\n file: `${prefix}${typed[0]}`,\n version: VERSION,\n };\n return validate(documents, { binaryTargets });\n }\n const verdict = binding.validate({ model: model.snapshot, documents, binaryTargets });\n if (verdict.verdict === 'refuse' && verdict.source === 'model') return verdict;\n if (verdict.verdict === 'accept') return verdict;\n return {\n ...verdict,\n file: `${prefix}${verdict.file}`,\n ...(verdict.referrers === undefined\n ? {}\n : { referrers: verdict.referrers.map((path) => `${prefix}${path}`) }),\n };\n}\n\nexport function validateCollection(\n text: Readonly<Record<string, string>>,\n binaryTargets: readonly string[],\n composition: Composition,\n binding: AttachedModelBinding | null,\n): Validation & { source?: 'content' | 'model' } {\n const prefix = composition.collectionRoot === '' ? '' : `${composition.collectionRoot}/`;\n const collection: Record<string, string> = {};\n const selection: Record<string, string> = {};\n for (const [path, content] of Object.entries(text)) {\n if (member(path, composition.collectionRoot)) {\n collection[path.slice(prefix.length)] = content;\n continue;\n }\n if (selected(composition, path)) {\n selection[path] = content;\n continue;\n }\n const parsed = parse(content, path);\n if (!parsed.ok) return { verdict: 'refuse', ...parsed.refusal };\n if (Object.hasOwn(parsed.document.fields, 'type') && parsed.document.fields.type !== 'any') {\n return { verdict: 'refuse', rule: 'outside-collection-type', file: path, version: VERSION };\n }\n }\n const verdicts = [\n validateAgainst(\n collection,\n binaryTargets\n .filter((path) => member(path, composition.collectionRoot))\n .map((path) => path.slice(prefix.length)),\n prefix,\n composition.model,\n binding,\n ),\n ];\n if (composition.selection !== null) {\n verdicts.push(\n validateAgainst(\n selection,\n binaryTargets.filter((path) => selected(composition, path)),\n '',\n composition.selection.model,\n binding,\n ),\n );\n }\n const refusals = verdicts.filter((verdict): verdict is Refusal => verdict.verdict === 'refuse');\n if (refusals.length === 0) return verdicts[0];\n return refusals.find((refusal) => refusal.rule !== 'model-unavailable') ?? refusals[0];\n}\n"],"names":["parse","validate","VERSION","beneath","normalize","MD_MODEL","identity","version","PRESENTED","path","$regex","selected","composition","selection","roots","some","root","governing","model","typesAt","status","types","parseCollection","text","documents","Object","keys","sort","parsed","ok","document","readCollection","validRoot","collectionRoot","collection","length","entries","member","type","undefined","startsWith","validateAgainst","binaryTargets","prefix","binding","typed","find","content","verdict","rule","file","snapshot","source","referrers","map","validateCollection","slice","refusal","hasOwn","fields","verdicts","filter","push","refusals"],"mappings":"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"}
1
+ {"version":3,"sources":["/workspace/packages/mdruntime/src/collection.ts"],"sourcesContent":["import { parse, validate, VERSION, type Document, type Validation } from '@agentshouse/mdmodel';\nimport type { Selector } from '@agentshouse/query';\nimport { beneath, normalize } from './paths.js';\nimport type { AttachedModelBinding, ModelState } from './model.js';\nimport type { MdModelIdentity } from './adapter.js';\n\nexport const MD_MODEL: MdModelIdentity = { identity: '@agentshouse/mdmodel', version: VERSION };\n\nexport const PRESENTED: Selector = { path: { $regex: '\\\\.md$' } };\n\nexport type MdType = {\n name: string;\n path: string;\n fields: Readonly<Record<string, unknown>>;\n sections: Readonly<Record<string, unknown>>;\n};\n\nexport type Collection = {\n documents: Readonly<Record<string, Document>>;\n composition: Composition;\n};\n\nexport type Composition = {\n collectionRoot: string;\n model: ModelState;\n selection: { roots: readonly string[]; model: ModelState } | null;\n};\n\nfunction selected(composition: Composition, path: string): boolean {\n return (\n composition.selection !== null &&\n composition.selection.roots.some((root) => beneath(root, path))\n );\n}\n\nexport function governing(composition: Composition, path: string): ModelState {\n return composition.selection !== null && selected(composition, path)\n ? composition.selection.model\n : composition.model;\n}\n\nexport function typesAt(composition: Composition, path: string): readonly MdType[] {\n const model = governing(composition, path);\n return model.status === 'unavailable' ? [] : model.types;\n}\n\nexport function parseCollection(\n text: Readonly<Record<string, string>>,\n composition: Composition,\n previous?: { text: Readonly<Record<string, string>>; collection: Collection },\n): Collection {\n const documents: Record<string, Document> = {};\n for (const path of Object.keys(text).sort()) {\n const retained = previous?.collection.documents[path];\n if (retained !== undefined && previous?.text[path] === text[path]) {\n documents[path] = retained;\n continue;\n }\n const parsed = parse(text[path], path);\n if (parsed.ok) documents[path] = parsed.document;\n }\n return { documents, composition };\n}\n\nexport function readCollection(\n text: Readonly<Record<string, string>>,\n composition: Composition,\n previous?: { text: Readonly<Record<string, string>>; collection: Collection },\n): Collection | null {\n if (!validRoot(composition.collectionRoot)) return null;\n const collection = parseCollection(text, composition, previous);\n if (Object.keys(collection.documents).length !== Object.keys(text).length) return null;\n if (\n Object.entries(collection.documents).some(\n ([path, document]) =>\n !member(path, composition.collectionRoot) &&\n !selected(composition, path) &&\n document.type !== undefined &&\n document.type !== 'any',\n )\n )\n return null;\n return collection;\n}\n\nexport function validRoot(root: unknown): root is string {\n return typeof root === 'string' && normalize(root) === root;\n}\n\nfunction member(path: string, root: string): boolean {\n return root === '' || path.startsWith(`${root}/`);\n}\n\ntype Refusal = Extract<Validation, { verdict: 'refuse' }> & { source?: 'content' | 'model' };\n\nfunction validateAgainst(\n documents: Readonly<Record<string, string>>,\n binaryTargets: readonly string[],\n prefix: string,\n model: ModelState,\n binding: AttachedModelBinding | null,\n): Validation & { source?: 'content' | 'model' } {\n if (model.status === 'unavailable' || binding === null) {\n const typed = Object.entries(documents).find(([, content]) => {\n const parsed = parse(content);\n return parsed.ok && parsed.document.type !== undefined && parsed.document.type !== 'any';\n });\n if (typed !== undefined)\n return {\n verdict: 'refuse',\n rule: 'model-unavailable',\n file: `${prefix}${typed[0]}`,\n version: VERSION,\n };\n return validate(documents, { binaryTargets });\n }\n const verdict = binding.validate({ model: model.snapshot, documents, binaryTargets });\n if (verdict.verdict === 'refuse' && verdict.source === 'model') return verdict;\n if (verdict.verdict === 'accept') return verdict;\n return {\n ...verdict,\n file: `${prefix}${verdict.file}`,\n ...(verdict.referrers === undefined\n ? {}\n : { referrers: verdict.referrers.map((path) => `${prefix}${path}`) }),\n };\n}\n\nexport function validateCollection(\n text: Readonly<Record<string, string>>,\n binaryTargets: readonly string[],\n composition: Composition,\n binding: AttachedModelBinding | null,\n): Validation & { source?: 'content' | 'model' } {\n const prefix = composition.collectionRoot === '' ? '' : `${composition.collectionRoot}/`;\n const collection: Record<string, string> = {};\n const selection: Record<string, string> = {};\n for (const [path, content] of Object.entries(text)) {\n if (member(path, composition.collectionRoot)) {\n collection[path.slice(prefix.length)] = content;\n continue;\n }\n if (selected(composition, path)) {\n selection[path] = content;\n continue;\n }\n const parsed = parse(content, path);\n if (!parsed.ok) return { verdict: 'refuse', ...parsed.refusal };\n if (Object.hasOwn(parsed.document.fields, 'type') && parsed.document.fields.type !== 'any') {\n return { verdict: 'refuse', rule: 'outside-collection-type', file: path, version: VERSION };\n }\n }\n const verdicts = [\n validateAgainst(\n collection,\n binaryTargets\n .filter((path) => member(path, composition.collectionRoot))\n .map((path) => path.slice(prefix.length)),\n prefix,\n composition.model,\n binding,\n ),\n ];\n if (composition.selection !== null) {\n verdicts.push(\n validateAgainst(\n selection,\n binaryTargets.filter((path) => selected(composition, path)),\n '',\n composition.selection.model,\n binding,\n ),\n );\n }\n const refusals = verdicts.filter((verdict): verdict is Refusal => verdict.verdict === 'refuse');\n if (refusals.length === 0) return verdicts[0];\n return refusals.find((refusal) => refusal.rule !== 'model-unavailable') ?? refusals[0];\n}\n"],"names":["parse","validate","VERSION","beneath","normalize","MD_MODEL","identity","version","PRESENTED","path","$regex","selected","composition","selection","roots","some","root","governing","model","typesAt","status","types","parseCollection","text","previous","documents","Object","keys","sort","retained","collection","undefined","parsed","ok","document","readCollection","validRoot","collectionRoot","length","entries","member","type","startsWith","validateAgainst","binaryTargets","prefix","binding","typed","find","content","verdict","rule","file","snapshot","source","referrers","map","validateCollection","slice","refusal","hasOwn","fields","verdicts","filter","push","refusals"],"mappings":"AAAA,SAASA,KAAK,EAAEC,QAAQ,EAAEC,OAAO,QAAwC,uBAAuB;AAEhG,SAASC,OAAO,EAAEC,SAAS,QAAQ,aAAa;AAIhD,OAAO,MAAMC,WAA4B;IAAEC,UAAU;IAAwBC,SAASL;AAAQ,EAAE;AAEhG,OAAO,MAAMM,YAAsB;IAAEC,MAAM;QAAEC,QAAQ;IAAS;AAAE,EAAE;AAoBlE,SAASC,SAASC,WAAwB,EAAEH,IAAY;IACtD,OACEG,YAAYC,SAAS,KAAK,QAC1BD,YAAYC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAC,CAACC,OAASb,QAAQa,MAAMP;AAE7D;AAEA,OAAO,SAASQ,UAAUL,WAAwB,EAAEH,IAAY;IAC9D,OAAOG,YAAYC,SAAS,KAAK,QAAQF,SAASC,aAAaH,QAC3DG,YAAYC,SAAS,CAACK,KAAK,GAC3BN,YAAYM,KAAK;AACvB;AAEA,OAAO,SAASC,QAAQP,WAAwB,EAAEH,IAAY;IAC5D,MAAMS,QAAQD,UAAUL,aAAaH;IACrC,OAAOS,MAAME,MAAM,KAAK,gBAAgB,EAAE,GAAGF,MAAMG,KAAK;AAC1D;AAEA,OAAO,SAASC,gBACdC,IAAsC,EACtCX,WAAwB,EACxBY,QAA6E;IAE7E,MAAMC,YAAsC,CAAC;IAC7C,KAAK,MAAMhB,QAAQiB,OAAOC,IAAI,CAACJ,MAAMK,IAAI,GAAI;QAC3C,MAAMC,WAAWL,UAAUM,WAAWL,SAAS,CAAChB,KAAK;QACrD,IAAIoB,aAAaE,aAAaP,UAAUD,IAAI,CAACd,KAAK,KAAKc,IAAI,CAACd,KAAK,EAAE;YACjEgB,SAAS,CAAChB,KAAK,GAAGoB;YAClB;QACF;QACA,MAAMG,SAAShC,MAAMuB,IAAI,CAACd,KAAK,EAAEA;QACjC,IAAIuB,OAAOC,EAAE,EAAER,SAAS,CAAChB,KAAK,GAAGuB,OAAOE,QAAQ;IAClD;IACA,OAAO;QAAET;QAAWb;IAAY;AAClC;AAEA,OAAO,SAASuB,eACdZ,IAAsC,EACtCX,WAAwB,EACxBY,QAA6E;IAE7E,IAAI,CAACY,UAAUxB,YAAYyB,cAAc,GAAG,OAAO;IACnD,MAAMP,aAAaR,gBAAgBC,MAAMX,aAAaY;IACtD,IAAIE,OAAOC,IAAI,CAACG,WAAWL,SAAS,EAAEa,MAAM,KAAKZ,OAAOC,IAAI,CAACJ,MAAMe,MAAM,EAAE,OAAO;IAClF,IACEZ,OAAOa,OAAO,CAACT,WAAWL,SAAS,EAAEV,IAAI,CACvC,CAAC,CAACN,MAAMyB,SAAS,GACf,CAACM,OAAO/B,MAAMG,YAAYyB,cAAc,KACxC,CAAC1B,SAASC,aAAaH,SACvByB,SAASO,IAAI,KAAKV,aAClBG,SAASO,IAAI,KAAK,QAGtB,OAAO;IACT,OAAOX;AACT;AAEA,OAAO,SAASM,UAAUpB,IAAa;IACrC,OAAO,OAAOA,SAAS,YAAYZ,UAAUY,UAAUA;AACzD;AAEA,SAASwB,OAAO/B,IAAY,EAAEO,IAAY;IACxC,OAAOA,SAAS,MAAMP,KAAKiC,UAAU,CAAC,GAAG1B,KAAK,CAAC,CAAC;AAClD;AAIA,SAAS2B,gBACPlB,SAA2C,EAC3CmB,aAAgC,EAChCC,MAAc,EACd3B,KAAiB,EACjB4B,OAAoC;IAEpC,IAAI5B,MAAME,MAAM,KAAK,iBAAiB0B,YAAY,MAAM;QACtD,MAAMC,QAAQrB,OAAOa,OAAO,CAACd,WAAWuB,IAAI,CAAC,CAAC,GAAGC,QAAQ;YACvD,MAAMjB,SAAShC,MAAMiD;YACrB,OAAOjB,OAAOC,EAAE,IAAID,OAAOE,QAAQ,CAACO,IAAI,KAAKV,aAAaC,OAAOE,QAAQ,CAACO,IAAI,KAAK;QACrF;QACA,IAAIM,UAAUhB,WACZ,OAAO;YACLmB,SAAS;YACTC,MAAM;YACNC,MAAM,GAAGP,SAASE,KAAK,CAAC,EAAE,EAAE;YAC5BxC,SAASL;QACX;QACF,OAAOD,SAASwB,WAAW;YAAEmB;QAAc;IAC7C;IACA,MAAMM,UAAUJ,QAAQ7C,QAAQ,CAAC;QAAEiB,OAAOA,MAAMmC,QAAQ;QAAE5B;QAAWmB;IAAc;IACnF,IAAIM,QAAQA,OAAO,KAAK,YAAYA,QAAQI,MAAM,KAAK,SAAS,OAAOJ;IACvE,IAAIA,QAAQA,OAAO,KAAK,UAAU,OAAOA;IACzC,OAAO;QACL,GAAGA,OAAO;QACVE,MAAM,GAAGP,SAASK,QAAQE,IAAI,EAAE;QAChC,GAAIF,QAAQK,SAAS,KAAKxB,YACtB,CAAC,IACD;YAAEwB,WAAWL,QAAQK,SAAS,CAACC,GAAG,CAAC,CAAC/C,OAAS,GAAGoC,SAASpC,MAAM;QAAE,CAAC;IACxE;AACF;AAEA,OAAO,SAASgD,mBACdlC,IAAsC,EACtCqB,aAAgC,EAChChC,WAAwB,EACxBkC,OAAoC;IAEpC,MAAMD,SAASjC,YAAYyB,cAAc,KAAK,KAAK,KAAK,GAAGzB,YAAYyB,cAAc,CAAC,CAAC,CAAC;IACxF,MAAMP,aAAqC,CAAC;IAC5C,MAAMjB,YAAoC,CAAC;IAC3C,KAAK,MAAM,CAACJ,MAAMwC,QAAQ,IAAIvB,OAAOa,OAAO,CAAChB,MAAO;QAClD,IAAIiB,OAAO/B,MAAMG,YAAYyB,cAAc,GAAG;YAC5CP,UAAU,CAACrB,KAAKiD,KAAK,CAACb,OAAOP,MAAM,EAAE,GAAGW;YACxC;QACF;QACA,IAAItC,SAASC,aAAaH,OAAO;YAC/BI,SAAS,CAACJ,KAAK,GAAGwC;YAClB;QACF;QACA,MAAMjB,SAAShC,MAAMiD,SAASxC;QAC9B,IAAI,CAACuB,OAAOC,EAAE,EAAE,OAAO;YAAEiB,SAAS;YAAU,GAAGlB,OAAO2B,OAAO;QAAC;QAC9D,IAAIjC,OAAOkC,MAAM,CAAC5B,OAAOE,QAAQ,CAAC2B,MAAM,EAAE,WAAW7B,OAAOE,QAAQ,CAAC2B,MAAM,CAACpB,IAAI,KAAK,OAAO;YAC1F,OAAO;gBAAES,SAAS;gBAAUC,MAAM;gBAA2BC,MAAM3C;gBAAMF,SAASL;YAAQ;QAC5F;IACF;IACA,MAAM4D,WAAW;QACfnB,gBACEb,YACAc,cACGmB,MAAM,CAAC,CAACtD,OAAS+B,OAAO/B,MAAMG,YAAYyB,cAAc,GACxDmB,GAAG,CAAC,CAAC/C,OAASA,KAAKiD,KAAK,CAACb,OAAOP,MAAM,IACzCO,QACAjC,YAAYM,KAAK,EACjB4B;KAEH;IACD,IAAIlC,YAAYC,SAAS,KAAK,MAAM;QAClCiD,SAASE,IAAI,CACXrB,gBACE9B,WACA+B,cAAcmB,MAAM,CAAC,CAACtD,OAASE,SAASC,aAAaH,QACrD,IACAG,YAAYC,SAAS,CAACK,KAAK,EAC3B4B;IAGN;IACA,MAAMmB,WAAWH,SAASC,MAAM,CAAC,CAACb,UAAgCA,QAAQA,OAAO,KAAK;IACtF,IAAIe,SAAS3B,MAAM,KAAK,GAAG,OAAOwB,QAAQ,CAAC,EAAE;IAC7C,OAAOG,SAASjB,IAAI,CAAC,CAACW,UAAYA,QAAQR,IAAI,KAAK,wBAAwBc,QAAQ,CAAC,EAAE;AACxF"}
@@ -2,7 +2,7 @@ import { type QueryBinding } from './query.js';
2
2
  import { type AttachedModelBinding, type TypesResult } from './model.js';
3
3
  import { type QueryOptions, type QueryResult } from '@agentshouse/query';
4
4
  import { type Adapter, type Authorization, type HistoryResult, type ProviderRefusal } from './adapter.js';
5
- import { type ConversationSurface, type ConversationView } from './conversation.js';
5
+ import { type ChatDraftSurface, type ConversationOptions, type ConversationSurface, type ConversationView } from './conversation.js';
6
6
  import type { Change, WrittenBy } from './change.js';
7
7
  import { type CallResult, type QueueEntry, type SubmissionOutcome } from './outcome.js';
8
8
  import { type SaveRefusal } from './save.js';
@@ -84,6 +84,7 @@ export type HistoryQuery = {
84
84
  pageToken?: string;
85
85
  };
86
86
  export type MdRuntime = {
87
+ loaded(): Promise<void>;
87
88
  rooms(): readonly AppRoom[];
88
89
  slots(): readonly AppSlot[];
89
90
  query(options?: QueryOptions): QueryResult;
@@ -91,6 +92,7 @@ export type MdRuntime = {
91
92
  syncStatus(): SyncStatus;
92
93
  draft: DraftSurface;
93
94
  conversation: ConversationSurface;
95
+ chatDraft: ChatDraftSurface;
94
96
  presentation: PresentationSurface;
95
97
  save(locator: string, changes: readonly Change[], replacing?: string, writtenBy?: WrittenBy): Promise<SaveResult>;
96
98
  outcome(identifier: string): SubmissionOutcome | null;
@@ -109,7 +111,7 @@ export type MdRuntime = {
109
111
  (topic: 'queue', locator: string, listener: (entries: readonly QueueEntry[]) => void): () => void;
110
112
  (topic: 'drafts', listener: (drafts: readonly DraftEntry[]) => void): () => void;
111
113
  (topic: 'presentation', app: string, listener: (value: unknown) => void): () => void;
112
- (topic: 'conversation', conversation: string, listener: (view: ConversationView) => void): () => void;
114
+ (topic: 'conversation', conversation: string, options: ConversationOptions, listener: (view: ConversationView) => void): () => void;
113
115
  };
114
116
  reauthorize(): Promise<void>;
115
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAmB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAKL,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAIlB,KAAK,aAAa,EAKlB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AASzE,OAAO,EAQL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA4CvF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACzD,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,cAAc,EAAE,eAAe,CAAC;IACnD,OAAO,EAAE,OAAO,cAAc,EAAE,gBAAgB,CAAC;IACjD,aAAa,EAAE,OAAO,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACzD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,WAAW,CAAC;IACxB,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,4BAA4B,GAC5B,2BAA2B,GAC3B,uBAAuB,GACvB,+BAA+B,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,uBAAuB,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAEnG,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,IAAI,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,IAAI,SAAS,OAAO,EAAE,CAAC;IAC5B,KAAK,IAAI,SAAS,OAAO,EAAE,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,IAAI,UAAU,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,IAAI,CACF,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC;IACtD,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,EAAE;QACP,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QAC5E,CACE,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,GACpD,MAAM,IAAI,CAAC;QACd,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QAClF,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QAC3E,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QAC3F,CACE,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,KAAK,IAAI,GACjD,MAAM,IAAI,CAAC;QACd,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QACjF,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QACrF,CACE,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GACzC,MAAM,IAAI,CAAC;KACf,CAAC;IACF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAyBF,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA00DpE"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}