@sanity/assist 4.4.4 → 4.4.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/assist",
3
- "version": "4.4.4",
3
+ "version": "4.4.6",
4
4
  "description": "You create the instructions; Sanity AI Assist does the rest.",
5
5
  "keywords": [
6
6
  "sanity",
@@ -4,7 +4,7 @@ import {useDocumentPane} from 'sanity/structure'
4
4
 
5
5
  import {asFieldRefsByTypePath, getFieldRefs, useAiPaneRouter} from '../../assistInspector/helpers'
6
6
  import {fieldPathParam, InstructionTask} from '../../types'
7
- import type {AssistDocumentContextValue} from '../AssistDocumentContext'
7
+ import {AssistDocumentContextValue} from '../AssistDocumentContext'
8
8
  import {isDocAssistable} from '../RequestRunInstructionProvider'
9
9
  import {useStudioAssistDocument} from './useStudioAssistDocument'
10
10
 
@@ -10,6 +10,9 @@ import {
10
10
 
11
11
  import {AssistPluginConfig} from '../plugin'
12
12
  import {InstructStatus, useApiClient, useGetInstructStatus, useInitInstruct} from '../useApiClient'
13
+ import {SerializedSchemaType} from '../types'
14
+ import {serializeSchema} from '../schemas/serialize/serializeSchema'
15
+ import {useSchema} from 'sanity'
13
16
 
14
17
  export interface AiAssistanceConfigContextValue {
15
18
  config: AssistPluginConfig
@@ -18,6 +21,7 @@ export interface AiAssistanceConfigContextValue {
18
21
  initLoading: boolean
19
22
  init: () => void
20
23
  error?: Error
24
+ serializedTypes: SerializedSchemaType[]
21
25
  }
22
26
 
23
27
  export const AiAssistanceConfigContext = createContext<AiAssistanceConfigContextValue>({} as any)
@@ -30,6 +34,10 @@ export function useAiAssistanceConfig() {
30
34
  return context
31
35
  }
32
36
 
37
+ export function useSerializedTypes() {
38
+ return useAiAssistanceConfig().serializedTypes
39
+ }
40
+
33
41
  export function AiAssistanceConfigProvider(props: {
34
42
  children?: ReactNode
35
43
  config: AssistPluginConfig
@@ -41,6 +49,9 @@ export function AiAssistanceConfigProvider(props: {
41
49
  const {getInstructStatus, loading: statusLoading} = useGetInstructStatus(apiClient)
42
50
  const {initInstruct, loading: initLoading} = useInitInstruct(apiClient)
43
51
 
52
+ const schema = useSchema()
53
+ const serializedTypes = useMemo(() => serializeSchema(schema, {leanFormat: true}), [schema])
54
+
44
55
  useEffect(() => {
45
56
  getInstructStatus()
46
57
  .then((s) => setStatus(s))
@@ -71,8 +82,9 @@ export function AiAssistanceConfigProvider(props: {
71
82
  init,
72
83
  initLoading,
73
84
  error,
85
+ serializedTypes,
74
86
  }
75
- }, [config, status, init, statusLoading, initLoading, error])
87
+ }, [config, status, init, statusLoading, initLoading, error, serializedTypes])
76
88
 
77
89
  return (
78
90
  <AiAssistanceConfigContext.Provider value={context}>
@@ -1,11 +1,10 @@
1
1
  import type {SanityClient} from '@sanity/client'
2
2
  import {useToast} from '@sanity/ui'
3
3
  import {useCallback, useMemo, useState} from 'react'
4
- import {Path, pathToString, useClient, useCurrentUser, useSchema} from 'sanity'
4
+ import {Path, pathToString, useClient, useCurrentUser} from 'sanity'
5
5
 
6
- import {useAiAssistanceConfig} from './assistLayout/AiAssistanceConfigContext'
6
+ import {useAiAssistanceConfig, useSerializedTypes} from './assistLayout/AiAssistanceConfigContext'
7
7
  import {ConditionalMemberState} from './helpers/conditionalMembers'
8
- import {serializeSchema} from './schemas/serialize/serializeSchema'
9
8
  import {FieldLanguageMap} from './translate/paths'
10
9
  import {documentRootKey} from './types'
11
10
 
@@ -58,8 +57,7 @@ export function useApiClient(customApiClient?: (defaultClient: SanityClient) =>
58
57
  export function useTranslate(apiClient: SanityClient) {
59
58
  const [loading, setLoading] = useState(false)
60
59
  const user = useCurrentUser()
61
- const schema = useSchema()
62
- const types = useMemo(() => serializeSchema(schema, {leanFormat: true}), [schema])
60
+ const types = useSerializedTypes()
63
61
  const toast = useToast()
64
62
 
65
63
  const translate = useCallback(
@@ -126,8 +124,7 @@ export function useTranslate(apiClient: SanityClient) {
126
124
  export function useGenerateCaption(apiClient: SanityClient) {
127
125
  const [loading, setLoading] = useState(false)
128
126
  const user = useCurrentUser()
129
- const schema = useSchema()
130
- const types = useMemo(() => serializeSchema(schema, {leanFormat: true}), [schema])
127
+ const types = useSerializedTypes()
131
128
  const toast = useToast()
132
129
 
133
130
  const generateCaption = useCallback(
@@ -179,8 +176,7 @@ export function useGenerateCaption(apiClient: SanityClient) {
179
176
  export function useGenerateImage(apiClient: SanityClient) {
180
177
  const [loading, setLoading] = useState(false)
181
178
  const user = useCurrentUser()
182
- const schema = useSchema()
183
- const types = useMemo(() => serializeSchema(schema, {leanFormat: true}), [schema])
179
+ const types = useSerializedTypes()
184
180
  const toast = useToast()
185
181
 
186
182
  const generateImage = useCallback(
@@ -280,8 +276,7 @@ export function useRunInstructionApi(apiClient: SanityClient) {
280
276
  const toast = useToast()
281
277
  const [loading, setLoading] = useState(false)
282
278
  const user = useCurrentUser()
283
- const schema = useSchema()
284
- const types = useMemo(() => serializeSchema(schema, {leanFormat: true}), [schema])
279
+ const types = useSerializedTypes()
285
280
 
286
281
  const {
287
282
  config: {assist: assistConfig},