|
@@ -204,7 +204,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:197',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:186',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.chat.commandview',
|
|
key: 'conversation.chat.commandview',
|
|
@@ -249,7 +249,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:185',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:174',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.chat.node',
|
|
key: 'conversation.chat.node',
|
|
@@ -310,7 +310,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:166',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:155',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.chat.turnTail',
|
|
key: 'conversation.chat.turnTail',
|
|
@@ -355,7 +355,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:191',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:180',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.composer',
|
|
key: 'conversation.composer',
|
|
@@ -404,7 +404,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:78',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:92',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.composer.bar',
|
|
key: 'conversation.composer.bar',
|
|
@@ -440,7 +440,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:96',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:110',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.composer.dock',
|
|
key: 'conversation.composer.dock',
|
|
@@ -498,7 +498,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:90',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:104',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.details.tool',
|
|
key: 'conversation.details.tool',
|
|
@@ -534,7 +534,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:203',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:192',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.hero.agentPreset',
|
|
key: 'conversation.hero.agentPreset',
|
|
@@ -562,7 +562,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:84',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:98',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.hero.brand.mark',
|
|
key: 'conversation.hero.brand.mark',
|
|
@@ -590,7 +590,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:82',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:96',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.hero.workspace',
|
|
key: 'conversation.hero.workspace',
|
|
@@ -620,7 +620,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:80',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:94',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.hero.workspace.directoryFlow',
|
|
key: 'conversation.hero.workspace.directoryFlow',
|
|
@@ -686,7 +686,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:98',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:112',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.dock',
|
|
key: 'conversation.input.dock',
|
|
@@ -746,7 +746,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:86',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:100',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.left',
|
|
key: 'conversation.input.left',
|
|
@@ -802,7 +802,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:92',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:106',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.model',
|
|
key: 'conversation.input.model',
|
|
@@ -838,7 +838,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:106',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:120',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.overlay',
|
|
key: 'conversation.input.overlay',
|
|
@@ -892,7 +892,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:88',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:102',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.plan',
|
|
key: 'conversation.input.plan',
|
|
@@ -928,7 +928,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:104',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:118',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.input.right',
|
|
key: 'conversation.input.right',
|
|
@@ -984,7 +984,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
occupants: [],
|
|
occupants: [],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:94',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:108',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.message.images',
|
|
key: 'conversation.message.images',
|
|
@@ -994,7 +994,7 @@ 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.',
|
|
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: [],
|
|
registerOptions: [],
|
|
|
ownerProps: [
|
|
ownerProps: [
|
|
|
- '/** Historical image group handed to the optional attachment presentation plugin. */\nexport interface MessageImagesOwnerProps {\n images: readonly { readonly attachment: ImageAttachmentRef }[]\n loadImage: (attachment: ImageAttachmentRef) => Promise<string>\n align: \'start\' | \'end\'\n}',
|
|
|
|
|
|
|
+ '/** 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}',
|
|
|
],
|
|
],
|
|
|
ownerPropsReferences: [
|
|
ownerPropsReferences: [
|
|
|
'ImageAttachmentRef',
|
|
'ImageAttachmentRef',
|
|
@@ -1022,7 +1022,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:179',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-chat/src/client/contract/slots.ts:168',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.session',
|
|
key: 'conversation.session',
|
|
@@ -1056,7 +1056,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:54',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:68',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.session.header',
|
|
key: 'conversation.session.header',
|
|
@@ -1090,7 +1090,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:56',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:70',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.session.header.actions',
|
|
key: 'conversation.session.header.actions',
|
|
@@ -1146,7 +1146,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:64',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:78',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.session.header.lineage',
|
|
key: 'conversation.session.header.lineage',
|
|
@@ -1184,7 +1184,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'shadows-shipped-ui',
|
|
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}',
|
|
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:58',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:72',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.session.header.utilities',
|
|
key: 'conversation.session.header.utilities',
|
|
@@ -1239,7 +1239,45 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:70',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:84',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ key: 'conversation.trajectory.images',
|
|
|
|
|
+ kind: 'single',
|
|
|
|
|
+ scope: 'session',
|
|
|
|
|
+ summary: 'Renderer for one group of durable record images in the Trajectory ledger.',
|
|
|
|
|
+ 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}',
|
|
|
|
|
+ ],
|
|
|
|
|
+ ownerPropsReferences: [
|
|
|
|
|
+ 'ImageAttachmentRef',
|
|
|
|
|
+ ],
|
|
|
|
|
+ standardProps: [
|
|
|
|
|
+ 'useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>',
|
|
|
|
|
+ 'useSessions: UseSessions',
|
|
|
|
|
+ 'useSessionPendingInteraction: UseSessionPendingInteraction',
|
|
|
|
|
+ 'useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>',
|
|
|
|
|
+ 'useChat: UseChat',
|
|
|
|
|
+ 'useConversation: UseConversation',
|
|
|
|
|
+ 'useInput: SnapshotSelectorHook<InputState>',
|
|
|
|
|
+ 'inputActions: InputActions',
|
|
|
|
|
+ 'useSession: SessionSnapshotSelector',
|
|
|
|
|
+ 'sessionId: SessionId',
|
|
|
|
|
+ 'useProjection: UseProjection',
|
|
|
|
|
+ 'useTrajectory: UseTrajectory',
|
|
|
|
|
+ ],
|
|
|
|
|
+ keyDomain: '',
|
|
|
|
|
+ hookContext: '',
|
|
|
|
|
+ slotInject: '',
|
|
|
|
|
+ declaredBy: 'an entry in \'conversation.view\' (client-ui-trajectory), so it exists while that entry is mounted',
|
|
|
|
|
+ occupants: [
|
|
|
|
|
+ 'client-ui-attachment MessageImages',
|
|
|
|
|
+ ],
|
|
|
|
|
+ replaceRisk: 'shadows-shipped-ui',
|
|
|
|
|
+ example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.trajectory.images\', () => ctx.slots.register(\n { name: \'conversation.trajectory.images\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
|
|
|
|
|
+ source: 'packages/client/ui-trajectory/src/client/trajectory-contract.ts:95',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'conversation.view',
|
|
key: 'conversation.view',
|
|
@@ -1297,7 +1335,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
|
|
|
],
|
|
],
|
|
|
replaceRisk: 'none',
|
|
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}',
|
|
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:76',
|
|
|
|
|
|
|
+ source: 'packages/client/ui-conversation/src/client/contract/slots.ts:90',
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
key: 'details',
|
|
key: 'details',
|