Skip to content

Commit 231aa80

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
fix(pi): align babysit toggle visibility
1 parent 9819041 commit 231aa80

2 files changed

Lines changed: 29 additions & 13 deletions

File tree

apps/sim/blocks/blocks/pi.test.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ describe('Pi Create PR Babysit surface', () => {
112112
condition: {
113113
field: 'mode',
114114
value: 'cloud',
115-
and: { field: 'babysitMode', value: true },
115+
and: { field: 'babysitMode', value: [true, 'true'] },
116116
},
117117
})
118118
expect(mentions).toMatchObject({
@@ -122,12 +122,12 @@ describe('Pi Create PR Babysit surface', () => {
122122
required: {
123123
field: 'mode',
124124
value: 'cloud',
125-
and: { field: 'babysitMode', value: true },
125+
and: { field: 'babysitMode', value: [true, 'true'] },
126126
},
127127
condition: {
128128
field: 'mode',
129129
value: 'cloud',
130-
and: { field: 'babysitMode', value: true },
130+
and: { field: 'babysitMode', value: [true, 'true'] },
131131
},
132132
})
133133
for (const output of [
@@ -142,7 +142,7 @@ describe('Pi Create PR Babysit surface', () => {
142142
condition: {
143143
field: 'mode',
144144
value: 'cloud',
145-
and: { field: 'babysitMode', value: true },
145+
and: { field: 'babysitMode', value: [true, 'true'] },
146146
},
147147
})
148148
}
@@ -161,6 +161,15 @@ describe('Pi Create PR Babysit surface', () => {
161161
expect(evaluateSubBlockCondition(draft?.condition, { mode: 'cloud', babysitMode: true })).toBe(
162162
false
163163
)
164+
expect(
165+
evaluateSubBlockCondition(draft?.condition, { mode: 'cloud', babysitMode: 'true' })
166+
).toBe(false)
167+
expect(
168+
evaluateSubBlockCondition(
169+
PiBlock.subBlocks.find((subBlock) => subBlock.id === 'reviewMentions')?.condition,
170+
{ mode: 'cloud', babysitMode: 'true' }
171+
)
172+
).toBe(true)
164173
expect(evaluateSubBlockCondition(skills?.condition, { mode: 'cloud' })).toBe(true)
165174
expect(evaluateSubBlockCondition(tools?.condition, { mode: 'cloud' })).toBe(false)
166175
expect(evaluateSubBlockCondition(memory?.condition, { mode: 'cloud' })).toBe(true)

apps/sim/blocks/blocks/pi.ts

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,30 @@ const CLOUD_ANY: { field: 'mode'; value: Array<'cloud' | 'cloud_review'> } = {
5252
field: 'mode',
5353
value: ['cloud', 'cloud_review'],
5454
}
55+
const BABYSIT_ENABLED_VALUES: Array<true | 'true'> = [true, 'true']
5556
const CLOUD_WITH_BABYSIT: {
5657
field: 'mode'
5758
value: 'cloud'
58-
and: { field: 'babysitMode'; value: true }
59+
and: { field: 'babysitMode'; value: Array<true | 'true'> }
5960
} = {
6061
field: 'mode',
6162
value: 'cloud',
62-
and: { field: 'babysitMode', value: true },
63+
and: { field: 'babysitMode', value: BABYSIT_ENABLED_VALUES },
6364
}
64-
const CLOUD_WITHOUT_BABYSIT: {
65+
function getCloudWithoutBabysitCondition(values?: Record<string, unknown>): {
6566
field: 'mode'
6667
value: 'cloud'
67-
and: { field: 'babysitMode'; value: true; not: true }
68-
} = {
69-
field: 'mode',
70-
value: 'cloud',
71-
and: { field: 'babysitMode', value: true, not: true },
68+
and: { field: 'babysitMode'; value: true | 'true'; not: true }
69+
} {
70+
return {
71+
field: 'mode',
72+
value: 'cloud',
73+
and: {
74+
field: 'babysitMode',
75+
value: values?.babysitMode === 'true' ? 'true' : true,
76+
not: true,
77+
},
78+
}
7279
}
7380
const LOCAL: { field: 'mode'; value: 'local' } = { field: 'mode', value: 'local' }
7481
const AUTHORING_MODES: { field: 'mode'; value: Array<'cloud' | 'local'> } = {
@@ -276,7 +283,7 @@ export const PiBlock: BlockConfig<PiResponse> = {
276283
type: 'switch',
277284
defaultValue: true,
278285
mode: 'advanced',
279-
condition: CLOUD_WITHOUT_BABYSIT,
286+
condition: getCloudWithoutBabysitCondition,
280287
},
281288
{
282289
id: 'prTitle',

0 commit comments

Comments
 (0)