MCPcopy Index your code
hub / github.com/simstudioai/sim / resolveOptions

Function resolveOptions

apps/sim/connectors/jsm/jsm.ts:109–142  ·  view source on GitHub ↗

* Reads the resolved sync options off the raw `sourceConfig`, normalizing * enum-like fields to their valid set and clamping the numeric cap. Centralized * so `listDocuments`, `getDocument`, and `validateConfig` agree on defaults.

(sourceConfig: Record<string, unknown>)

Source from the content-addressed store, hash-verified

107 * so `listDocuments`, `getDocument`, and `validateConfig` agree on defaults.
108 */
109function resolveOptions(sourceConfig: Record<string, unknown>): {
110 requestStatus: JsmRequestStatus
111 requestOwnership: JsmRequestOwnership
112 requestTypeId: string
113 searchTerm: string
114 commentScope: JsmCommentScope
115 maxRequests: number
116} {
117 const requestStatus = VALID_REQUEST_STATUS.includes(
118 sourceConfig.requestStatus as JsmRequestStatus
119 )
120 ? (sourceConfig.requestStatus as JsmRequestStatus)
121 : 'ALL_REQUESTS'
122
123 const requestOwnership = VALID_REQUEST_OWNERSHIP.includes(
124 sourceConfig.requestOwnership as JsmRequestOwnership
125 )
126 ? (sourceConfig.requestOwnership as JsmRequestOwnership)
127 : 'ALL_REQUESTS'
128
129 const commentScope = VALID_COMMENT_SCOPE.includes(sourceConfig.comments as JsmCommentScope)
130 ? (sourceConfig.comments as JsmCommentScope)
131 : 'public'
132
133 const requestTypeId =
134 typeof sourceConfig.requestTypeId === 'string' ? sourceConfig.requestTypeId.trim() : ''
135 const searchTerm =
136 typeof sourceConfig.searchTerm === 'string' ? sourceConfig.searchTerm.trim() : ''
137
138 const parsedMax = sourceConfig.maxRequests ? Number(sourceConfig.maxRequests) : 0
139 const maxRequests = Number.isFinite(parsedMax) && parsedMax > 0 ? Math.floor(parsedMax) : 0
140
141 return { requestStatus, requestOwnership, requestTypeId, searchTerm, commentScope, maxRequests }
142}
143
144/**
145 * Extracts a plain-text value for a given request field id (e.g. `summary`,

Callers 1

jsm.tsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected