@peasant-labs/schema 0.1.2 → 0.1.3

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.
@@ -1877,6 +1877,561 @@ export const zTaxonomyNode = z.object({
1877
1877
  class: z.string(),
1878
1878
  families: z.array(zTaxonomyFamilyNode).nullable()
1879
1879
  });
1880
+ /**
1881
+ * Village Assignable Group Role
1882
+ *
1883
+ * Collective roles an owner may assign through the member role endpoint
1884
+ */
1885
+ export const zVillageAssignableGroupRole = z.enum(['contributor', 'member']);
1886
+ export const zVillageBatchReviewResponse = z.object({
1887
+ already_decided: z.array(zTranscriptID),
1888
+ decided: z.array(zTranscriptID)
1889
+ });
1890
+ export const zVillageBatchShareRequest = z.object({
1891
+ project_hash: zProjectHash,
1892
+ transcript_ids: z.array(zTranscriptID).optional(),
1893
+ visibility_confirmed: z.boolean()
1894
+ });
1895
+ /**
1896
+ * Village Contribution Status
1897
+ *
1898
+ * Status assigned when a new collective contribution is opened
1899
+ */
1900
+ export const zVillageContributionStatus = z.enum(['approved', 'pending']);
1901
+ export const zVillageBatchShareEntry = z.object({
1902
+ status: zVillageContributionStatus,
1903
+ transcript_id: zTranscriptID
1904
+ });
1905
+ export const zVillageBatchShareResponse = z.object({
1906
+ already_shared: z.array(zTranscriptID),
1907
+ project_hash: zProjectHash,
1908
+ shared: z.array(zVillageBatchShareEntry)
1909
+ });
1910
+ export const zVillageErrorResponse = z.object({
1911
+ error: z.string()
1912
+ });
1913
+ /**
1914
+ * Village Group Acceptance Mode
1915
+ *
1916
+ * How a collective accepts new members and contributions
1917
+ */
1918
+ export const zVillageGroupAcceptanceMode = z.enum([
1919
+ 'open',
1920
+ 'verified_only',
1921
+ 'curated'
1922
+ ]);
1923
+ /**
1924
+ * Village Group Data Access
1925
+ *
1926
+ * Who may read a collective's pooled transcript data
1927
+ */
1928
+ export const zVillageGroupDataAccess = z.enum([
1929
+ 'members_only',
1930
+ 'contributors',
1931
+ 'public'
1932
+ ]);
1933
+ export const zVillageCreateGroupRequest = z.object({
1934
+ acceptance_mode: zVillageGroupAcceptanceMode.optional(),
1935
+ data_access: zVillageGroupDataAccess.optional(),
1936
+ description: z.string().optional(),
1937
+ linked_github_org: z.string().optional(),
1938
+ name: z.string()
1939
+ });
1940
+ export const zVillageGroupMemberRoleRequest = z.object({
1941
+ role: zVillageAssignableGroupRole
1942
+ });
1943
+ export const zVillageGroupMemberUsernameRequest = z.object({
1944
+ username: z.string()
1945
+ });
1946
+ export const zVillageGroupModelBreakdown = z.object({
1947
+ model_provider: z.string(),
1948
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' })
1949
+ });
1950
+ /**
1951
+ * Village Group Role
1952
+ *
1953
+ * A user's role in one collective
1954
+ */
1955
+ export const zVillageGroupRole = z.enum([
1956
+ 'owner',
1957
+ 'member',
1958
+ 'contributor',
1959
+ 'pending'
1960
+ ]);
1961
+ export const zVillageGroupStatusRoleResponse = z.object({
1962
+ role: zVillageGroupRole,
1963
+ status: z.string()
1964
+ });
1965
+ export const zVillageGroupTranscriptStats = z.object({
1966
+ contributor_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
1967
+ total_duration_ms: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }),
1968
+ total_tokens: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }),
1969
+ total_transcripts: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
1970
+ total_turns: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' })
1971
+ });
1972
+ /**
1973
+ * Village Group Viewer Role
1974
+ *
1975
+ * The caller's role in a collective, or an empty string when the caller has none
1976
+ */
1977
+ export const zVillageGroupViewerRole = z.enum([
1978
+ '',
1979
+ 'owner',
1980
+ 'member',
1981
+ 'contributor',
1982
+ 'pending'
1983
+ ]);
1984
+ export const zVillageLinkRepositoryRequest = z.object({
1985
+ installation_id: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }),
1986
+ name: z.string(),
1987
+ owner: z.string()
1988
+ });
1989
+ /**
1990
+ * Village Project Name Source
1991
+ *
1992
+ * Which source tier produced a resolved project display name
1993
+ */
1994
+ export const zVillageProjectNameSource = z.enum([
1995
+ 'override',
1996
+ 'consented',
1997
+ 'remote',
1998
+ 'path',
1999
+ 'privacy'
2000
+ ]);
2001
+ export const zVillageRemoveGroupMemberResponse = z.object({
2002
+ retracted: z.boolean(),
2003
+ status: z.string()
2004
+ });
2005
+ export const zVillageRepositoryCommit = z.object({
2006
+ author_email: z.string().nullable(),
2007
+ author_name: z.string().nullable(),
2008
+ authored_at: z.iso.datetime().nullable(),
2009
+ committed_at: z.iso.datetime().nullable(),
2010
+ message: z.string().nullable(),
2011
+ sha: z.string()
2012
+ });
2013
+ export const zVillageRepositoryCommitsResponse = z.object({
2014
+ commit_count: z.int(),
2015
+ commits: z.array(zVillageRepositoryCommit),
2016
+ last_synced: z.iso.datetime().nullable(),
2017
+ name: z.string(),
2018
+ owner: z.string(),
2019
+ refreshed: z.boolean()
2020
+ });
2021
+ /**
2022
+ * Village Review Decision
2023
+ *
2024
+ * Decision applied by a collective owner to pending submissions
2025
+ */
2026
+ export const zVillageReviewDecision = z.enum(['approved', 'rejected']);
2027
+ export const zVillageBatchReviewRequest = z.object({
2028
+ status: zVillageReviewDecision,
2029
+ transcript_ids: z.array(zTranscriptID)
2030
+ });
2031
+ export const zVillageReviewShareRequest = z.object({
2032
+ status: zVillageReviewDecision
2033
+ });
2034
+ export const zVillageReviewShareResponse = z.object({
2035
+ status: zVillageReviewDecision
2036
+ });
2037
+ /**
2038
+ * Village Share Event Actor
2039
+ *
2040
+ * Actor class that decided one collective share event
2041
+ */
2042
+ export const zVillageShareEventActor = z.enum([
2043
+ '',
2044
+ 'owner',
2045
+ 'collective',
2046
+ 'moderator'
2047
+ ]);
2048
+ /**
2049
+ * Village Share Status
2050
+ *
2051
+ * Status of one collective share-attempt event. Pending, approved, and rejected can appear in current projections; retracted and revoked are terminal ledger states.
2052
+ */
2053
+ export const zVillageShareStatus = z.enum([
2054
+ 'pending',
2055
+ 'approved',
2056
+ 'rejected',
2057
+ 'retracted',
2058
+ 'revoked'
2059
+ ]);
2060
+ export const zVillageShareEvent = z.object({
2061
+ decided_at: z.iso.datetime().nullable(),
2062
+ decided_by_actor: zVillageShareEventActor,
2063
+ event_num: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2064
+ recorded_at: z.iso.datetime(),
2065
+ status: zVillageShareStatus
2066
+ });
2067
+ export const zVillageStatusResponse = z.object({
2068
+ status: z.string()
2069
+ });
2070
+ /**
2071
+ * Village Transcript Deletion Policy
2072
+ *
2073
+ * Whether leaving a collective retracts contributed transcripts by default
2074
+ */
2075
+ export const zVillageTranscriptDeletionPolicy = z.enum(['user_choice', 'mandatory']);
2076
+ /**
2077
+ * Village Transcript Visibility
2078
+ *
2079
+ * Village transcript visibility as stored and served by web routes
2080
+ */
2081
+ export const zVillageTranscriptVisibility = z.enum([
2082
+ 'private',
2083
+ 'shared',
2084
+ 'public'
2085
+ ]);
2086
+ export const zVillageContributableTranscript = z.object({
2087
+ already_shared: z.boolean(),
2088
+ git_branch: z.string().nullable(),
2089
+ id: zTranscriptID,
2090
+ local_id: zSessionID,
2091
+ model_provider: z.string(),
2092
+ parent_session_id: zSessionID.nullable(),
2093
+ project_display_name: z.string(),
2094
+ project_hash: zProjectHash,
2095
+ project_name_source: zVillageProjectNameSource,
2096
+ published_at: z.iso.datetime(),
2097
+ session_origin: zSessionOrigin,
2098
+ title: z.string().nullable(),
2099
+ visibility: zVillageTranscriptVisibility
2100
+ });
2101
+ /**
2102
+ * Village UUID
2103
+ *
2104
+ * Village-side canonical lowercase UUID identifier
2105
+ */
2106
+ export const zVillageUUID = z.uuid().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/);
2107
+ export const zVillageCollectiveSearchResult = z.object({
2108
+ description: z.string().nullable(),
2109
+ id: zVillageUUID,
2110
+ linked_github_org: z.string().nullable(),
2111
+ member_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2112
+ name: z.string(),
2113
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' })
2114
+ });
2115
+ export const zVillageCollectiveSearchResponse = z.object({
2116
+ collectives: z.array(zVillageCollectiveSearchResult)
2117
+ });
2118
+ export const zVillageCollectiveSubmission = z.object({
2119
+ event_num: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2120
+ group_id: zVillageUUID,
2121
+ recorded_at: z.iso.datetime(),
2122
+ status: zVillageShareStatus,
2123
+ title: z.string().nullable(),
2124
+ transcript_id: zTranscriptID
2125
+ });
2126
+ export const zVillageContributableResponse = z.object({
2127
+ group_id: zVillageUUID,
2128
+ transcripts: z.array(zVillageContributableTranscript)
2129
+ });
2130
+ export const zVillageContributedCollective = z.object({
2131
+ approved_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2132
+ description: z.string().nullable(),
2133
+ id: zVillageUUID,
2134
+ linked_github_org: z.string().nullable(),
2135
+ name: z.string(),
2136
+ pending_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2137
+ rejected_attempt_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2138
+ withdrawn_attempt_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' })
2139
+ });
2140
+ export const zVillageContributedCollectivesResponse = z.object({
2141
+ collectives: z.array(zVillageContributedCollective)
2142
+ });
2143
+ export const zVillageGroup = z.object({
2144
+ acceptance_mode: zVillageGroupAcceptanceMode,
2145
+ created_at: z.iso.datetime(),
2146
+ created_by: zVillageUUID,
2147
+ data_access: zVillageGroupDataAccess,
2148
+ description: z.string().nullable(),
2149
+ display_members: z.boolean(),
2150
+ id: zVillageUUID,
2151
+ linked_github_org: z.string().nullable(),
2152
+ name: z.string(),
2153
+ transcript_deletion_policy: zVillageTranscriptDeletionPolicy,
2154
+ updated_at: z.iso.datetime()
2155
+ });
2156
+ export const zVillageGroupContributor = z.object({
2157
+ avatar_url: z.string().nullable(),
2158
+ github_username: z.string(),
2159
+ id: zVillageUUID,
2160
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' })
2161
+ });
2162
+ export const zVillageGroupMember = z.object({
2163
+ avatar_url: z.string().nullable(),
2164
+ display_name: z.string().nullable(),
2165
+ github_orgs: z.array(z.string()),
2166
+ github_username: z.string(),
2167
+ id: zVillageUUID,
2168
+ joined_at: z.iso.datetime(),
2169
+ role: zVillageGroupRole
2170
+ });
2171
+ export const zVillageGroupTranscript = z.object({
2172
+ blob_size_bytes: z.int().nullable(),
2173
+ compute_version: z.int().nullable(),
2174
+ computed_at: z.iso.datetime().nullable(),
2175
+ content_hash: zTranscriptContentHash.nullable(),
2176
+ description: z.string().nullable(),
2177
+ diagnostics_partial: z.boolean().nullable(),
2178
+ diagnostics_warnings: z.array(z.string()).nullable(),
2179
+ discovery_turns: z.int().nullable(),
2180
+ duration_ms: z.int().nullable(),
2181
+ exploration_ratio: z.number().nullable(),
2182
+ files_touched: z.int().nullable(),
2183
+ git_branch: z.string().nullable(),
2184
+ git_remote: z.string().nullable(),
2185
+ harness_version: z.string().nullable(),
2186
+ id: zTranscriptID,
2187
+ ingested_at: z.iso.datetime().nullable(),
2188
+ license_id: zLicense.nullable(),
2189
+ lines_changed: z.int().nullable(),
2190
+ local_id: zSessionID,
2191
+ m2_token_outcome_ratio: z.number().nullable(),
2192
+ m3_unique_tool_count: z.int().nullable(),
2193
+ m4_consecutive_error_max: z.int().nullable(),
2194
+ m4_error_recovery_count: z.int().nullable(),
2195
+ m5_avg_message_tokens: z.int().nullable(),
2196
+ m5_context_utilization_pct: z.number().nullable(),
2197
+ m5_peak_context_tokens: z.int().nullable(),
2198
+ m6_lines_survived: z.int().nullable(),
2199
+ m6_lines_total: z.int().nullable(),
2200
+ m6_output_survival_pct: z.number().nullable(),
2201
+ m7_spec_has_constraints: z.boolean().nullable(),
2202
+ m7_spec_has_examples: z.boolean().nullable(),
2203
+ m7_spec_word_count: z.int().nullable(),
2204
+ model_name: z.string().nullable(),
2205
+ model_provider: z.string(),
2206
+ outcome: zSessionOutcome.nullable(),
2207
+ owner_avatar_url: z.string().nullable(),
2208
+ owner_id: zVillageUUID,
2209
+ owner_is_discoverable: z.boolean(),
2210
+ owner_username: z.string(),
2211
+ parent_session_id: zSessionID.nullable(),
2212
+ project_display_name: z.string(),
2213
+ project_hash: zProjectHash,
2214
+ project_name: z.string().nullable(),
2215
+ project_name_source: zVillageProjectNameSource,
2216
+ project_remote_label: z.string(),
2217
+ published_at: z.iso.datetime(),
2218
+ retry_loops: z.int().nullable(),
2219
+ retry_tokens_wasted: z.int().nullable(),
2220
+ schema_version: z.string(),
2221
+ scope_breadth: z.int().nullable(),
2222
+ session_end: z.iso.datetime().nullable(),
2223
+ session_origin: zSessionOrigin,
2224
+ session_start: z.iso.datetime().nullable(),
2225
+ signal_density: z.number().nullable(),
2226
+ source_format: zSourceFormat.nullable(),
2227
+ spec_quality_score: z.number().nullable(),
2228
+ subagent_count: z.int().nullable(),
2229
+ subagents: z.array(z.record(z.string(), z.unknown())).nullable(),
2230
+ title: z.string().nullable(),
2231
+ title_generated: z.string().nullable(),
2232
+ token_count: z.int().nullable(),
2233
+ tokens_in: z.int().nullable(),
2234
+ tokens_out: z.int().nullable(),
2235
+ tool_call_count: z.int().nullable(),
2236
+ turn_count: z.int().nullable(),
2237
+ updated_at: z.iso.datetime(),
2238
+ visibility: zVillageTranscriptVisibility,
2239
+ within_session_reverts: z.int().nullable()
2240
+ });
2241
+ export const zVillageGroupDetailResponse = z.object({
2242
+ can_read: z.boolean(),
2243
+ contributors: z.array(zVillageGroupContributor),
2244
+ group: zVillageGroup,
2245
+ members: z.array(zVillageGroupMember),
2246
+ models: z.array(zVillageGroupModelBreakdown),
2247
+ pending_members: z.array(zVillageGroupMember).optional(),
2248
+ stats: zVillageGroupTranscriptStats,
2249
+ transcripts: z.array(zVillageGroupTranscript),
2250
+ your_role: zVillageGroupViewerRole
2251
+ });
2252
+ export const zVillageLinkedRepository = z.object({
2253
+ created_at: z.iso.datetime().nullable(),
2254
+ group_id: zVillageUUID,
2255
+ id: zVillageUUID,
2256
+ installation_id: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }),
2257
+ is_private: z.boolean(),
2258
+ last_synced_at: z.iso.datetime().nullable(),
2259
+ linked_by: zVillageUUID,
2260
+ name: z.string(),
2261
+ owner: z.string()
2262
+ });
2263
+ export const zVillageLinkedRepositoriesResponse = z.object({
2264
+ repositories: z.array(zVillageLinkedRepository)
2265
+ });
2266
+ export const zVillagePendingShare = z.object({
2267
+ branch: z.string().nullable(),
2268
+ local_id: zSessionID,
2269
+ model_provider: z.string(),
2270
+ owner_id: zVillageUUID,
2271
+ owner_is_discoverable: z.boolean(),
2272
+ owner_username: z.string(),
2273
+ parent_session_id: zSessionID.nullable(),
2274
+ project_hash: zProjectHash,
2275
+ project_name: z.string().nullable(),
2276
+ shared_at: z.iso.datetime(),
2277
+ title: z.string().nullable(),
2278
+ transcript_id: zTranscriptID
2279
+ });
2280
+ export const zVillagePublicGroup = z.object({
2281
+ acceptance_mode: zVillageGroupAcceptanceMode,
2282
+ created_at: z.iso.datetime(),
2283
+ data_access: zVillageGroupDataAccess,
2284
+ description: z.string().nullable(),
2285
+ id: zVillageUUID,
2286
+ linked_github_org: z.string().nullable(),
2287
+ member_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2288
+ name: z.string(),
2289
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' })
2290
+ });
2291
+ export const zVillageShareTranscriptRequest = z.object({
2292
+ group_ids: z.array(zVillageUUID)
2293
+ });
2294
+ export const zVillageTranscript = z.object({
2295
+ blob_size_bytes: z.int().nullable(),
2296
+ compute_version: z.int().nullable(),
2297
+ computed_at: z.iso.datetime().nullable(),
2298
+ content_hash: zTranscriptContentHash.nullable(),
2299
+ description: z.string().nullable(),
2300
+ diagnostics_partial: z.boolean().nullable(),
2301
+ diagnostics_warnings: z.array(z.string()).nullable(),
2302
+ discovery_turns: z.int().nullable(),
2303
+ duration_ms: z.int().nullable(),
2304
+ exploration_ratio: z.number().nullable(),
2305
+ files_touched: z.int().nullable(),
2306
+ git_branch: z.string().nullable(),
2307
+ git_remote: z.string().nullable(),
2308
+ harness_version: z.string().nullable(),
2309
+ id: zTranscriptID,
2310
+ ingested_at: z.iso.datetime().nullable(),
2311
+ license_id: zLicense.nullable(),
2312
+ lines_changed: z.int().nullable(),
2313
+ local_id: zSessionID,
2314
+ m2_token_outcome_ratio: z.number().nullable(),
2315
+ m3_unique_tool_count: z.int().nullable(),
2316
+ m4_consecutive_error_max: z.int().nullable(),
2317
+ m4_error_recovery_count: z.int().nullable(),
2318
+ m5_avg_message_tokens: z.int().nullable(),
2319
+ m5_context_utilization_pct: z.number().nullable(),
2320
+ m5_peak_context_tokens: z.int().nullable(),
2321
+ m6_lines_survived: z.int().nullable(),
2322
+ m6_lines_total: z.int().nullable(),
2323
+ m6_output_survival_pct: z.number().nullable(),
2324
+ m7_spec_has_constraints: z.boolean().nullable(),
2325
+ m7_spec_has_examples: z.boolean().nullable(),
2326
+ m7_spec_word_count: z.int().nullable(),
2327
+ model_name: z.string().nullable(),
2328
+ model_provider: z.string(),
2329
+ outcome: zSessionOutcome.nullable(),
2330
+ owner_id: zVillageUUID,
2331
+ parent_session_id: zSessionID.nullable(),
2332
+ project_display_name: z.string(),
2333
+ project_hash: zProjectHash,
2334
+ project_name: z.string().nullable(),
2335
+ project_name_source: zVillageProjectNameSource,
2336
+ project_remote_label: z.string(),
2337
+ published_at: z.iso.datetime(),
2338
+ retry_loops: z.int().nullable(),
2339
+ retry_tokens_wasted: z.int().nullable(),
2340
+ schema_version: z.string(),
2341
+ scope_breadth: z.int().nullable(),
2342
+ session_end: z.iso.datetime().nullable(),
2343
+ session_origin: zSessionOrigin,
2344
+ session_start: z.iso.datetime().nullable(),
2345
+ signal_density: z.number().nullable(),
2346
+ source_format: zSourceFormat.nullable(),
2347
+ spec_quality_score: z.number().nullable(),
2348
+ subagent_count: z.int().nullable(),
2349
+ subagents: z.array(z.record(z.string(), z.unknown())).nullable(),
2350
+ title: z.string().nullable(),
2351
+ title_generated: z.string().nullable(),
2352
+ token_count: z.int().nullable(),
2353
+ tokens_in: z.int().nullable(),
2354
+ tokens_out: z.int().nullable(),
2355
+ tool_call_count: z.int().nullable(),
2356
+ turn_count: z.int().nullable(),
2357
+ updated_at: z.iso.datetime(),
2358
+ visibility: zVillageTranscriptVisibility,
2359
+ within_session_reverts: z.int().nullable()
2360
+ });
2361
+ export const zVillageTranscriptCollective = z.object({
2362
+ description: z.string().nullable(),
2363
+ id: zVillageUUID,
2364
+ linked_github_org: z.string().nullable(),
2365
+ name: z.string(),
2366
+ shared_at: z.iso.datetime()
2367
+ });
2368
+ export const zVillageTranscriptCollectivesResponse = z.object({
2369
+ collectives: z.array(zVillageTranscriptCollective)
2370
+ });
2371
+ export const zVillageTranscriptShare = z.object({
2372
+ group_id: zVillageUUID,
2373
+ group_name: z.string(),
2374
+ shared_at: z.iso.datetime()
2375
+ });
2376
+ export const zVillageUpdateGroupRequest = z.object({
2377
+ acceptance_mode: zVillageGroupAcceptanceMode.optional(),
2378
+ data_access: zVillageGroupDataAccess.optional(),
2379
+ description: z.string().optional(),
2380
+ display_members: z.boolean().nullish(),
2381
+ linked_github_org: z.string().nullish(),
2382
+ name: z.string().optional(),
2383
+ transcript_deletion_policy: zVillageTranscriptDeletionPolicy.optional()
2384
+ });
2385
+ export const zVillageUserGroup = z.object({
2386
+ acceptance_mode: zVillageGroupAcceptanceMode,
2387
+ created_at: z.iso.datetime(),
2388
+ created_by: zVillageUUID,
2389
+ data_access: zVillageGroupDataAccess,
2390
+ description: z.string().nullable(),
2391
+ display_members: z.boolean(),
2392
+ id: zVillageUUID,
2393
+ linked_github_org: z.string().nullable(),
2394
+ member_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2395
+ member_since: z.iso.datetime(),
2396
+ name: z.string(),
2397
+ role: zVillageGroupRole,
2398
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2399
+ transcript_deletion_policy: zVillageTranscriptDeletionPolicy,
2400
+ updated_at: z.iso.datetime()
2401
+ });
2402
+ export const zVillageUserGroupShare = z.object({
2403
+ id: zTranscriptID,
2404
+ local_id: zSessionID,
2405
+ model_name: z.string().nullable(),
2406
+ model_provider: z.string(),
2407
+ owner_id: zVillageUUID,
2408
+ parent_session_id: zSessionID.nullable(),
2409
+ published_at: z.iso.datetime(),
2410
+ shared_at: z.iso.datetime(),
2411
+ status: zVillageShareStatus,
2412
+ title: z.string().nullable(),
2413
+ tokens_in: z.int().nullable(),
2414
+ tokens_out: z.int().nullable(),
2415
+ turn_count: z.int().nullable(),
2416
+ visibility: zVillageTranscriptVisibility
2417
+ });
2418
+ export const zVillageVisibleGroup = z.object({
2419
+ acceptance_mode: zVillageGroupAcceptanceMode,
2420
+ created_at: z.iso.datetime(),
2421
+ created_by: zVillageUUID,
2422
+ data_access: zVillageGroupDataAccess,
2423
+ description: z.string().nullable(),
2424
+ display_members: z.boolean(),
2425
+ id: zVillageUUID,
2426
+ linked_github_org: z.string().nullable(),
2427
+ member_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2428
+ member_since: z.iso.datetime().nullable(),
2429
+ name: z.string(),
2430
+ role: zVillageGroupRole.nullable(),
2431
+ transcript_count: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }),
2432
+ transcript_deletion_policy: zVillageTranscriptDeletionPolicy,
2433
+ updated_at: z.iso.datetime()
2434
+ });
1880
2435
  /**
1881
2436
  * Visibility
1882
2437
  *
@@ -40,6 +40,18 @@ import { type TypeOrigin as TypeOriginContract } from "./contract/zod.gen.js";
40
40
  import { type ValueDomainKind as ValueDomainKindContract } from "./contract/zod.gen.js";
41
41
  import { type TranscriptUpdateLicense as TranscriptUpdateLicenseContract } from "./contract/zod.gen.js";
42
42
  import { type TranscriptUpdateVisibility as TranscriptUpdateVisibilityContract } from "./contract/zod.gen.js";
43
+ import { type VillageAssignableGroupRole as VillageAssignableGroupRoleContract } from "./contract/zod.gen.js";
44
+ import { type VillageContributionStatus as VillageContributionStatusContract } from "./contract/zod.gen.js";
45
+ import { type VillageGroupAcceptanceMode as VillageGroupAcceptanceModeContract } from "./contract/zod.gen.js";
46
+ import { type VillageGroupDataAccess as VillageGroupDataAccessContract } from "./contract/zod.gen.js";
47
+ import { type VillageGroupRole as VillageGroupRoleContract } from "./contract/zod.gen.js";
48
+ import { type VillageGroupViewerRole as VillageGroupViewerRoleContract } from "./contract/zod.gen.js";
49
+ import { type VillageProjectNameSource as VillageProjectNameSourceContract } from "./contract/zod.gen.js";
50
+ import { type VillageReviewDecision as VillageReviewDecisionContract } from "./contract/zod.gen.js";
51
+ import { type VillageShareEventActor as VillageShareEventActorContract } from "./contract/zod.gen.js";
52
+ import { type VillageShareStatus as VillageShareStatusContract } from "./contract/zod.gen.js";
53
+ import { type VillageTranscriptDeletionPolicy as VillageTranscriptDeletionPolicyContract } from "./contract/zod.gen.js";
54
+ import { type VillageTranscriptVisibility as VillageTranscriptVisibilityContract } from "./contract/zod.gen.js";
43
55
  import { type Visibility as VisibilityContract } from "./contract/zod.gen.js";
44
56
  export type PublishOperationKind = PublishOperationKindContract;
45
57
  export declare const PublishOperationKind: Readonly<{
@@ -440,6 +452,106 @@ export declare const TranscriptUpdateVisibility: Readonly<{
440
452
  }>;
441
453
  export declare const AllTranscriptUpdateVisibilities: readonly TranscriptUpdateVisibility[];
442
454
  export declare function isTranscriptUpdateVisibility(value: unknown): value is TranscriptUpdateVisibility;
455
+ export type VillageAssignableGroupRole = VillageAssignableGroupRoleContract;
456
+ export declare const VillageAssignableGroupRole: Readonly<{
457
+ readonly Contributor: "contributor" | "member";
458
+ readonly Member: "contributor" | "member";
459
+ }>;
460
+ export declare const AllVillageAssignableGroupRoles: readonly VillageAssignableGroupRole[];
461
+ export declare function isVillageAssignableGroupRole(value: unknown): value is VillageAssignableGroupRole;
462
+ export type VillageContributionStatus = VillageContributionStatusContract;
463
+ export declare const VillageContributionStatus: Readonly<{
464
+ readonly Approved: "pending" | "approved";
465
+ readonly Pending: "pending" | "approved";
466
+ }>;
467
+ export declare const AllVillageContributionStatuses: readonly VillageContributionStatus[];
468
+ export declare function isVillageContributionStatus(value: unknown): value is VillageContributionStatus;
469
+ export type VillageGroupAcceptanceMode = VillageGroupAcceptanceModeContract;
470
+ export declare const VillageGroupAcceptanceMode: Readonly<{
471
+ readonly Open: "open" | "verified_only" | "curated";
472
+ readonly VerifiedOnly: "open" | "verified_only" | "curated";
473
+ readonly Curated: "open" | "verified_only" | "curated";
474
+ }>;
475
+ export declare const AllVillageGroupAcceptanceModes: readonly VillageGroupAcceptanceMode[];
476
+ export declare function isVillageGroupAcceptanceMode(value: unknown): value is VillageGroupAcceptanceMode;
477
+ export type VillageGroupDataAccess = VillageGroupDataAccessContract;
478
+ export declare const VillageGroupDataAccess: Readonly<{
479
+ readonly MembersOnly: "public" | "members_only" | "contributors";
480
+ readonly Contributors: "public" | "members_only" | "contributors";
481
+ readonly Public: "public" | "members_only" | "contributors";
482
+ }>;
483
+ export declare const AllVillageGroupDataAccessPolicies: readonly VillageGroupDataAccess[];
484
+ export declare function isVillageGroupDataAccess(value: unknown): value is VillageGroupDataAccess;
485
+ export type VillageGroupRole = VillageGroupRoleContract;
486
+ export declare const VillageGroupRole: Readonly<{
487
+ readonly Owner: "pending" | "contributor" | "member" | "owner";
488
+ readonly Member: "pending" | "contributor" | "member" | "owner";
489
+ readonly Contributor: "pending" | "contributor" | "member" | "owner";
490
+ readonly Pending: "pending" | "contributor" | "member" | "owner";
491
+ }>;
492
+ export declare const AllVillageGroupRoles: readonly VillageGroupRole[];
493
+ export declare function isVillageGroupRole(value: unknown): value is VillageGroupRole;
494
+ export type VillageGroupViewerRole = VillageGroupViewerRoleContract;
495
+ export declare const VillageGroupViewerRole: Readonly<{
496
+ readonly None: "" | "pending" | "contributor" | "member" | "owner";
497
+ readonly Owner: "" | "pending" | "contributor" | "member" | "owner";
498
+ readonly Member: "" | "pending" | "contributor" | "member" | "owner";
499
+ readonly Contributor: "" | "pending" | "contributor" | "member" | "owner";
500
+ readonly Pending: "" | "pending" | "contributor" | "member" | "owner";
501
+ }>;
502
+ export declare const AllVillageGroupViewerRoles: readonly VillageGroupViewerRole[];
503
+ export declare function isVillageGroupViewerRole(value: unknown): value is VillageGroupViewerRole;
504
+ export type VillageProjectNameSource = VillageProjectNameSourceContract;
505
+ export declare const VillageProjectNameSource: Readonly<{
506
+ readonly Override: "path" | "override" | "remote" | "consented" | "privacy";
507
+ readonly Consented: "path" | "override" | "remote" | "consented" | "privacy";
508
+ readonly Remote: "path" | "override" | "remote" | "consented" | "privacy";
509
+ readonly Path: "path" | "override" | "remote" | "consented" | "privacy";
510
+ readonly Privacy: "path" | "override" | "remote" | "consented" | "privacy";
511
+ }>;
512
+ export declare const AllVillageProjectNameSources: readonly VillageProjectNameSource[];
513
+ export declare function isVillageProjectNameSource(value: unknown): value is VillageProjectNameSource;
514
+ export type VillageReviewDecision = VillageReviewDecisionContract;
515
+ export declare const VillageReviewDecision: Readonly<{
516
+ readonly Approved: "rejected" | "approved";
517
+ readonly Rejected: "rejected" | "approved";
518
+ }>;
519
+ export declare const AllVillageReviewDecisions: readonly VillageReviewDecision[];
520
+ export declare function isVillageReviewDecision(value: unknown): value is VillageReviewDecision;
521
+ export type VillageShareEventActor = VillageShareEventActorContract;
522
+ export declare const VillageShareEventActor: Readonly<{
523
+ readonly None: "" | "owner" | "collective" | "moderator";
524
+ readonly Owner: "" | "owner" | "collective" | "moderator";
525
+ readonly Collective: "" | "owner" | "collective" | "moderator";
526
+ readonly Moderator: "" | "owner" | "collective" | "moderator";
527
+ }>;
528
+ export declare const AllVillageShareEventActors: readonly VillageShareEventActor[];
529
+ export declare function isVillageShareEventActor(value: unknown): value is VillageShareEventActor;
530
+ export type VillageShareStatus = VillageShareStatusContract;
531
+ export declare const VillageShareStatus: Readonly<{
532
+ readonly Pending: "pending" | "rejected" | "approved" | "retracted" | "revoked";
533
+ readonly Approved: "pending" | "rejected" | "approved" | "retracted" | "revoked";
534
+ readonly Rejected: "pending" | "rejected" | "approved" | "retracted" | "revoked";
535
+ readonly Retracted: "pending" | "rejected" | "approved" | "retracted" | "revoked";
536
+ readonly Revoked: "pending" | "rejected" | "approved" | "retracted" | "revoked";
537
+ }>;
538
+ export declare const AllVillageShareStatuses: readonly VillageShareStatus[];
539
+ export declare function isVillageShareStatus(value: unknown): value is VillageShareStatus;
540
+ export type VillageTranscriptDeletionPolicy = VillageTranscriptDeletionPolicyContract;
541
+ export declare const VillageTranscriptDeletionPolicy: Readonly<{
542
+ readonly UserChoice: "user_choice" | "mandatory";
543
+ readonly Mandatory: "user_choice" | "mandatory";
544
+ }>;
545
+ export declare const AllVillageTranscriptDeletionPolicies: readonly VillageTranscriptDeletionPolicy[];
546
+ export declare function isVillageTranscriptDeletionPolicy(value: unknown): value is VillageTranscriptDeletionPolicy;
547
+ export type VillageTranscriptVisibility = VillageTranscriptVisibilityContract;
548
+ export declare const VillageTranscriptVisibility: Readonly<{
549
+ readonly Private: "shared" | "private" | "public";
550
+ readonly Shared: "shared" | "private" | "public";
551
+ readonly Public: "shared" | "private" | "public";
552
+ }>;
553
+ export declare const AllVillageTranscriptVisibilities: readonly VillageTranscriptVisibility[];
554
+ export declare function isVillageTranscriptVisibility(value: unknown): value is VillageTranscriptVisibility;
443
555
  export type Visibility = VisibilityContract;
444
556
  export declare const Visibility: Readonly<{
445
557
  readonly Private: "private" | "public" | "group";