|
|
@@ -204,7 +204,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.chat.assistant-actions\', () => ctx.slots.register(\n { name: \'conversation.chat.assistant-actions\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:186',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:185',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.chat.commandview',
|
|
|
@@ -249,7 +249,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.chat.commandview\', () => ctx.slots.register(\n { name: \'conversation.chat.commandview\', key: \'<one key the owner dispatches>\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:174',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:173',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.chat.node',
|
|
|
@@ -311,7 +311,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.chat.node\', () => ctx.slots.register(\n { name: \'conversation.chat.node\', key: \'<one key the owner dispatches>\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:155',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:154',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.chat.turnTail',
|
|
|
@@ -356,7 +356,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.chat.turnTail\', () => ctx.slots.register(\n { name: \'conversation.chat.turnTail\', select: owner => null },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:180',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:179',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.composer',
|
|
|
@@ -405,7 +405,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.composer\', () => ctx.slots.register(\n { name: \'conversation.composer\', select: owner => null },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:92',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:119',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.composer.bar',
|
|
|
@@ -441,7 +441,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.composer.bar\', () => ctx.slots.register(\n { name: \'conversation.composer.bar\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:110',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:137',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.composer.dock',
|
|
|
@@ -499,7 +499,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.composer.dock\', () => ctx.slots.register(\n { name: \'conversation.composer.dock\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:104',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:131',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.details.tool',
|
|
|
@@ -535,7 +535,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.details.tool\', () => ctx.slots.register(\n { name: \'conversation.details.tool\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:192',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:191',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.hero.agentPreset',
|
|
|
@@ -563,7 +563,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.hero.agentPreset\', () => ctx.slots.register(\n { name: \'conversation.hero.agentPreset\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:98',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:125',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.hero.brand.mark',
|
|
|
@@ -591,7 +591,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.hero.brand.mark\', () => ctx.slots.register(\n { name: \'conversation.hero.brand.mark\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:96',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:123',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.hero.workspace',
|
|
|
@@ -621,7 +621,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.hero.workspace\', () => ctx.slots.register(\n { name: \'conversation.hero.workspace\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:94',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:121',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.hero.workspace.directoryFlow',
|
|
|
@@ -687,7 +687,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.attachments\', () => ctx.slots.register(\n { name: \'conversation.input.attachments\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:112',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:139',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.dock',
|
|
|
@@ -747,7 +747,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.dock\', () => ctx.slots.register(\n { name: \'conversation.input.dock\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:100',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:127',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.left',
|
|
|
@@ -803,7 +803,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.left\', () => ctx.slots.register(\n { name: \'conversation.input.left\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:106',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:133',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.model',
|
|
|
@@ -839,7 +839,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.model\', () => ctx.slots.register(\n { name: \'conversation.input.model\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:120',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:147',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.overlay',
|
|
|
@@ -893,7 +893,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.overlay\', () => ctx.slots.register(\n { name: \'conversation.input.overlay\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:102',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:129',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.plan',
|
|
|
@@ -929,7 +929,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.plan\', () => ctx.slots.register(\n { name: \'conversation.input.plan\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:118',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:145',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.input.right',
|
|
|
@@ -985,7 +985,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.input.right\', () => ctx.slots.register(\n { name: \'conversation.input.right\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:108',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:135',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.message.images',
|
|
|
@@ -995,10 +995,12 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
doc: 'Renderer for one consecutive group of durable message images. The owner\nsupplies image references, an authorized loader, and alignment. A\nregistration replaces the shipped gallery; without one, images are omitted.',
|
|
|
registerOptions: [],
|
|
|
ownerProps: [
|
|
|
- '/** Durable image group handed to the optional attachment presentation plugin. */\nexport interface MessageImagesOwnerProps {\n /** Durable image references in source order. */\n images: readonly { readonly attachment: ImageAttachmentRef }[]\n /** Session-authorized image URL loader. */\n loadImage: (attachment: ImageAttachmentRef) => Promise<string>\n /** Horizontal placement inside the owning record. */\n align: \'start\' | \'end\'\n}',
|
|
|
+ '/** Message image group handed to the optional attachment presentation plugin. */\nexport interface MessageImagesOwnerProps {\n /** Durable references or submission-echo previews in source order. */\n images: readonly MessageImageSource[]\n /** Session-authorized image URL loader for the durable arm. */\n loadImage: MessageImageLoader\n /** Horizontal placement inside the owning record. */\n align: \'start\' | \'end\'\n}',
|
|
|
],
|
|
|
ownerPropsReferences: [
|
|
|
- 'ImageAttachmentRef',
|
|
|
+ 'Message',
|
|
|
+ 'MessageImageLoader',
|
|
|
+ 'MessageImageSource',
|
|
|
],
|
|
|
standardProps: [
|
|
|
'useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>',
|
|
|
@@ -1023,7 +1025,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.message.images\', () => ctx.slots.register(\n { name: \'conversation.message.images\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-chat/src/client/contract/slots.ts:168',
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:167',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.session',
|
|
|
@@ -1057,7 +1059,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.session\', () => ctx.slots.register(\n { name: \'conversation.session\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:68',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:95',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.session.header',
|
|
|
@@ -1091,7 +1093,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.session.header\', () => ctx.slots.register(\n { name: \'conversation.session.header\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:70',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:97',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.session.header.actions',
|
|
|
@@ -1148,7 +1150,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.session.header.actions\', () => ctx.slots.register(\n { name: \'conversation.session.header.actions\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:78',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:105',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.session.header.lineage',
|
|
|
@@ -1186,7 +1188,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.session.header.lineage\', () => ctx.slots.register(\n { name: \'conversation.session.header.lineage\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:72',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:99',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.session.header.utilities',
|
|
|
@@ -1241,7 +1243,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.session.header.utilities\', () => ctx.slots.register(\n { name: \'conversation.session.header.utilities\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:84',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:111',
|
|
|
},
|
|
|
{
|
|
|
key: 'conversation.trajectory.images',
|
|
|
@@ -1251,10 +1253,12 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
doc: 'Renderer for one group of durable record images in the Trajectory\nledger. The owner supplies image references, an authorized loader, and\nalignment. A registration replaces the shipped gallery; without one,\nimages are omitted.',
|
|
|
registerOptions: [],
|
|
|
ownerProps: [
|
|
|
- '/** Durable image group handed to the optional attachment presentation plugin. */\nexport interface MessageImagesOwnerProps {\n /** Durable image references in source order. */\n images: readonly { readonly attachment: ImageAttachmentRef }[]\n /** Session-authorized image URL loader. */\n loadImage: (attachment: ImageAttachmentRef) => Promise<string>\n /** Horizontal placement inside the owning record. */\n align: \'start\' | \'end\'\n}',
|
|
|
+ '/** Message image group handed to the optional attachment presentation plugin. */\nexport interface MessageImagesOwnerProps {\n /** Durable references or submission-echo previews in source order. */\n images: readonly MessageImageSource[]\n /** Session-authorized image URL loader for the durable arm. */\n loadImage: MessageImageLoader\n /** Horizontal placement inside the owning record. */\n align: \'start\' | \'end\'\n}',
|
|
|
],
|
|
|
ownerPropsReferences: [
|
|
|
- 'ImageAttachmentRef',
|
|
|
+ 'Message',
|
|
|
+ 'MessageImageLoader',
|
|
|
+ 'MessageImageSource',
|
|
|
],
|
|
|
standardProps: [
|
|
|
'useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>',
|
|
|
@@ -1337,7 +1341,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
|
replaceRisk: 'none',
|
|
|
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.view\', () => ctx.slots.register(\n { name: \'conversation.view\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
- source: 'packages/client/ui-conversation/src/client/contract/slots.ts:90',
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:117',
|
|
|
},
|
|
|
{
|
|
|
key: 'details',
|