Skip to content

Commit c52a7f3

Browse files
committed
udpate content shape, session to conversation, sender to role
1 parent 3302042 commit c52a7f3

File tree

3 files changed

+46
-40
lines changed

3 files changed

+46
-40
lines changed

packages/appsync-modelgen-plugin/src/__tests__/visitors/__snapshots__/appsync-model-introspection-visitor.test.ts.snap

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
55
\\"version\\": 1,
66
\\"models\\": {},
77
\\"enums\\": {
8-
\\"ConversationMessageSender\\": {
9-
\\"name\\": \\"ConversationMessageSender\\",
8+
\\"ConversationParticipantRole\\": {
9+
\\"name\\": \\"ConversationParticipantRole\\",
1010
\\"values\\": [
1111
\\"user\\",
1212
\\"assistant\\"
@@ -54,7 +54,7 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
5454
\\"association\\": {
5555
\\"connectionType\\": \\"HAS_MANY\\",
5656
\\"associatedWith\\": [
57-
\\"sessionId\\"
57+
\\"conversationId\\"
5858
]
5959
}
6060
},
@@ -125,15 +125,15 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
125125
\\"isRequired\\": true,
126126
\\"attributes\\": []
127127
},
128-
\\"sessionId\\": {
129-
\\"name\\": \\"sessionId\\",
128+
\\"conversationId\\": {
129+
\\"name\\": \\"conversationId\\",
130130
\\"isArray\\": false,
131131
\\"type\\": \\"ID\\",
132132
\\"isRequired\\": true,
133133
\\"attributes\\": []
134134
},
135-
\\"session\\": {
136-
\\"name\\": \\"session\\",
135+
\\"conversation\\": {
136+
\\"name\\": \\"conversation\\",
137137
\\"isArray\\": false,
138138
\\"type\\": {
139139
\\"model\\": \\"ConversationPirateChat\\"
@@ -143,23 +143,25 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
143143
\\"association\\": {
144144
\\"connectionType\\": \\"BELONGS_TO\\",
145145
\\"targetNames\\": [
146-
\\"sessionId\\"
146+
\\"conversationId\\"
147147
]
148148
}
149149
},
150-
\\"sender\\": {
151-
\\"name\\": \\"sender\\",
150+
\\"role\\": {
151+
\\"name\\": \\"role\\",
152152
\\"isArray\\": false,
153153
\\"type\\": {
154-
\\"enum\\": \\"ConversationMessageSender\\"
154+
\\"enum\\": \\"ConversationParticipantRole\\"
155155
},
156156
\\"isRequired\\": false,
157157
\\"attributes\\": []
158158
},
159159
\\"content\\": {
160160
\\"name\\": \\"content\\",
161-
\\"isArray\\": false,
162-
\\"type\\": \\"String\\",
161+
\\"isArray\\": true,
162+
\\"type\\": {
163+
\\"nonModel\\": \\"ContentBlock\\"
164+
},
163165
\\"isRequired\\": false,
164166
\\"attributes\\": []
165167
},
@@ -181,7 +183,9 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
181183
\\"assistantContent\\": {
182184
\\"name\\": \\"assistantContent\\",
183185
\\"isArray\\": false,
184-
\\"type\\": \\"String\\",
186+
\\"type\\": {
187+
\\"nonModel\\": \\"ContentBlock\\"
188+
},
185189
\\"isRequired\\": false,
186190
\\"attributes\\": []
187191
},
@@ -243,8 +247,8 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
243247
},
244248
\\"nonModels\\": {},
245249
\\"enums\\": {
246-
\\"ConversationMessageSender\\": {
247-
\\"name\\": \\"ConversationMessageSender\\",
250+
\\"ConversationParticipantRole\\": {
251+
\\"name\\": \\"ConversationParticipantRole\\",
248252
\\"values\\": [
249253
\\"user\\",
250254
\\"assistant\\"
@@ -264,8 +268,8 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
264268
},
265269
\\"isRequired\\": false,
266270
\\"arguments\\": {
267-
\\"sessionId\\": {
268-
\\"name\\": \\"sessionId\\",
271+
\\"conversationId\\": {
272+
\\"name\\": \\"conversationId\\",
269273
\\"isArray\\": false,
270274
\\"type\\": \\"ID\\",
271275
\\"isRequired\\": false
@@ -286,8 +290,8 @@ exports[`Conversation Route Introspection Visitor Metadata snapshot should gener
286290
\\"model\\": \\"ConversationMessagePirateChat\\"
287291
},
288292
\\"arguments\\": {
289-
\\"sessionId\\": {
290-
\\"name\\": \\"sessionId\\",
293+
\\"conversationId\\": {
294+
\\"name\\": \\"conversationId\\",
291295
\\"isArray\\": false,
292296
\\"isRequired\\": true,
293297
\\"type\\": \\"ID\\"

packages/appsync-modelgen-plugin/src/__tests__/visitors/appsync-model-introspection-visitor.test.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,24 @@ const getVisitor = (schema: string, settings: any = {}, directives: readonly Dir
3030

3131
describe('Conversation Route Introspection Visitor', () => {
3232
const schema = /* GraphQL */ `
33-
enum ConversationMessageSender {
33+
enum ConversationParticipantRole {
3434
user
3535
assistant
3636
}
3737
3838
interface ConversationMessage {
3939
id: ID!
40-
sessionId: ID!
41-
sender: ConversationMessageSender
40+
conversationId: ID!
41+
role: ConversationParticipantRole
42+
# TODO: Update to ContentBlock -- need the types
4243
content: String
4344
context: AWSJSON
4445
uiComponents: [AWSJSON]
4546
}
4647
4748
type Mutation {
48-
pirateChat(sessionId: ID, content: String): ConversationMessage
49+
# TODO: Update to ContentBlock -- need the types
50+
pirateChat(conversationId: ID, content: String): ConversationMessage
4951
@conversation(aiModel: "Claude3Haiku", functionName: "conversation-handler")
5052
}
5153
`;

packages/appsync-modelgen-plugin/src/visitors/appsync-model-introspection-visitor.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ export class AppSyncModelIntrospectionVisitor<
293293
association: {
294294
connectionType: CodeGenConnectionType.HAS_MANY,
295295
associatedWith: [
296-
'sessionId'
296+
'conversationId'
297297
]
298298
}
299299
},
@@ -365,15 +365,15 @@ export class AppSyncModelIntrospectionVisitor<
365365
isRequired: true,
366366
attributes: []
367367
},
368-
sessionId: {
369-
name: 'sessionId',
368+
conversationId: {
369+
name: 'conversationId',
370370
isArray: false,
371371
type: 'ID',
372372
isRequired: true,
373373
attributes: []
374374
},
375-
session: {
376-
name: 'session',
375+
conversation: {
376+
name: 'conversation',
377377
isArray: false,
378378
type: {
379379
model: conversationModelName
@@ -383,23 +383,23 @@ export class AppSyncModelIntrospectionVisitor<
383383
association: {
384384
connectionType: CodeGenConnectionType.BELONGS_TO,
385385
targetNames: [
386-
'sessionId'
386+
'conversationId'
387387
]
388388
}
389389
},
390-
sender: {
391-
name: 'sender',
390+
role: {
391+
name: 'role',
392392
isArray: false,
393393
type: {
394-
enum: 'ConversationMessageSender'
394+
enum: 'ConversationParticipantRole'
395395
},
396396
isRequired: false,
397397
attributes: []
398398
},
399399
content: {
400400
name: 'content',
401-
isArray: false,
402-
type: 'String',
401+
isArray: true,
402+
type: { nonModel: 'ContentBlock' },
403403
isRequired: false,
404404
attributes: []
405405
},
@@ -421,7 +421,7 @@ export class AppSyncModelIntrospectionVisitor<
421421
assistantContent: {
422422
name: 'assistantContent',
423423
isArray: false,
424-
type: 'String',
424+
type: { nonModel: 'ContentBlock' },
425425
isRequired: false,
426426
attributes: []
427427
},
@@ -489,8 +489,8 @@ export class AppSyncModelIntrospectionVisitor<
489489
},
490490
nonModels: {},
491491
enums: {
492-
ConversationMessageSender: {
493-
name: 'ConversationMessageSender',
492+
ConversationParticipantRole: {
493+
name: 'ConversationParticipantRole',
494494
values: ['user', 'assistant'],
495495
}
496496
},
@@ -506,8 +506,8 @@ export class AppSyncModelIntrospectionVisitor<
506506
name: `onCreateAssistantResponse${routeName}`,
507507
type: { model: `ConversationMessage${routeName}` },
508508
arguments: {
509-
'sessionId': {
510-
name: 'sessionId',
509+
'conversationId': {
510+
name: 'conversationId',
511511
isArray: false,
512512
isRequired: true,
513513
type: 'ID',

0 commit comments

Comments
 (0)