busa-sdk 0.98.0 → 0.99.0
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/dist/airapp-check.d.ts +67 -1
- package/dist/airapp-check.js +167 -4
- package/dist/airapp-gate.d.ts +1 -1
- package/dist/airapp-node-D2GcMwde.d.ts +152 -0
- package/dist/airapp-node.d.ts +1 -151
- package/dist/airapp.d.ts +305 -2
- package/dist/airapp.js +319 -2
- package/dist/{client-DtzuVlPK.d.ts → client-BUzSZV3L.d.ts} +26326 -26234
- package/dist/index.d.ts +2 -2
- package/dist/index.js +69 -6
- package/dist/{template-CMJMkyse.js → template-Bnkq4diD.js} +34 -6
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as FileNodeMetadata, $t as isViewFilterGroup, A as MentionInboxPageVO, At as AssetAttachmentRef, B as SearchResultVO, Bt as VIEW_FIELD_MAX_WIDTH, C as CommentMentionVO, Ct as FormSubmitResultVO, D as FieldType, Dt as ListFormsVO, E as CommitVO, Et as ListFormsDTO, F as RestoredSlugChangeVO, Ft as GanttScale, G as VaultAccessPolicy, Gt as ViewFilterGroupVO, H as UserRefVO, Ht as ViewConfigVO, I as ReviewVO, It as LOOKUP_SOURCE_LIMIT, J as VaultItemKind, Jt as ViewSortVO, K as VaultEnvironment, Kt as ViewFilterOperator, L as ReviewVerdict, Lt as LookupComputedVO, M as NodeVO, Mt as BaseVO, N as OperationStatus, Nt as GalleryCardSize, O as LookupRollup, Ot as SubmitFormDTO, P as OperationVO, Pt as GalleryCoverFit, Q as VaultSettingsVO, Qt as flattenViewFilters, R as SearchResponseVO, Rt as RecordLinkVO, S as CommentMentionTargetType, St as FormShareVO, T as CommentVO, Tt as FormVO, U as UpdatePreviewFileCredentialDTO, Ut as ViewFilterConditionVO, V as SourceAttributionVO, Vt as VIEW_FIELD_MIN_WIDTH, W as UpdateVaultSettingsDTO, Wt as ViewFilterConjunction, X as VaultRuntimeEnv, Xt as ViewVO, Y as VaultItemVO, Yt as ViewType, Z as VaultScopeType, Zt as combineViewFilters, _ as ChangeRequestStatus, _t as ActivityItemVO, a as createBusabaseClient, an as NodeIconSchema, at as GrepInputDTO, b as CommentMentionDispatchStatus, bt as FormFieldBindingVO, c as cloudContract, cn as CREATABLE_NODE_TYPES, ct as FilePreviewConfigurationStatus, d as AuditEventVO, dn as OperationKind, dt as FilePreviewUnavailableReason, en as mapViewFilters, et as FileNodeVO, f as BusabaseSourceChannel, ft as FilePreviewVO, g as ChangeRequestReviewBatchResultVO, gt as NodeDetailVO, h as ChangeRequestMergeBatchResultVO, ht as FileTreeReadFileVO, i as ResolvedConfig, in as NodeIcon, it as AssetVO, j as NodeSearchResultVO, jt as BaseFieldVO, k as MentionInboxItemVO, kt as UpdateFormDTO, l as AgentTaskVO, ln as CreatableNodeType, lt as FilePreviewCredentialSource, m as ChangeRequestCountsVO, mt as FileTreeNodeVO, n as BusabaseConfig, nn as PlaybookAttributionVO, nt as AssetTextStatus, o as resolveConfig, on as NodeIconSource, ot as GrepResultVO, p as ChangeRequestBatchFailureVO, pt as FileTreeFileVO, q as VaultItemInput, qt as ViewFilterVO, r as DEFAULT_BASE_URL, rn as AgentClientVO, rt as AssetUsageVO, s as CloudContract, sn as resolveNodeIconSource, st as FilePreviewConfigVO, t as BusabaseClient, tn as AttachmentRef, tt as AssetDetailVO, u as AuditAction, un as NodeType, ut as FilePreviewProvider, v as ChangeRequestTargetType, vt as CreateFormDTO, w as CommentSubjectType, wt as FormThemeVO, x as CommentMentionInputDTO, xt as FormPageSourceVO, y as ChangeRequestVO, yt as FormBoundFieldVO, z as SearchResultKind, zt as RecordVO } from "./client-BUzSZV3L.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/url.d.ts
|
|
4
4
|
/**
|
|
@@ -567,4 +567,4 @@ declare class Busabase {
|
|
|
567
567
|
}>>>>;
|
|
568
568
|
}
|
|
569
569
|
//#endregion
|
|
570
|
-
export { type ActivityItemVO, type AgentClientVO, type AgentTaskVO, type FileTreeFileVO as AirAppFileVO, type FileTreeFileVO as DriveFileVO, type FileTreeFileVO, type FileTreeFileVO as SkillFileVO, type FileTreeReadFileVO as AirAppReadFileVO, type FileTreeReadFileVO as DriveReadFileVO, type FileTreeReadFileVO, type FileTreeReadFileVO as SkillReadFileVO, type FileTreeNodeVO as AirAppVO, type FileTreeNodeVO as DriveVO, type FileTreeNodeVO, type FileTreeNodeVO as SkillVO, type AssetAttachmentRef, type AssetDetailVO, type AssetTextStatus, type AssetUsageVO, type AssetVO, type AttachmentRef, type AuditAction, type AuditEventVO, type BaseFieldVO, type BaseVO, Busabase, type BusabaseAssetsClient, BusabaseChangeRequestsClient, type BusabaseClient, type BusabaseConfig, type BusabaseRecordsClient, type BusabaseSourceChannel, type BusabaseUploadedAsset, CREATABLE_NODE_TYPES, type ChangeRequestBatchFailureVO, type ChangeRequestCountsVO, type ChangeRequestMergeBatchResultVO, type ChangeRequestReviewBatchResultVO, type ChangeRequestStatus, type ChangeRequestTargetType, type ChangeRequestVO, type CloudContract, type CommentMentionDispatchStatus, type CommentMentionInputDTO, type CommentMentionTargetType, type CommentMentionVO, type CommentSubjectType, type CommentVO, type CommitVO, type CreatableNodeType, type CreateFormDTO, DEFAULT_BASE_URL, type FieldType, type FileNodeMetadata, type FileNodeVO, type FilePreviewConfigVO, type FilePreviewConfigurationStatus, type FilePreviewCredentialSource, type FilePreviewProvider, type FilePreviewUnavailableReason, type FilePreviewVO, type FormBoundFieldVO, type FormFieldBindingVO, type FormPageSourceVO, type FormShareVO, type FormSubmitResultVO, type FormThemeVO, type FormVO, type GalleryCardSize, type GalleryCoverFit, type GanttScale, type ListFormsDTO, type ListFormsVO, type LookupRollup, type MentionInboxItemVO, type MentionInboxPageVO, type NodeDetailVO, type NodeIcon, type NodeIconSchema, type NodeIconSource, type NodeSearchResultVO, type NodeType, type NodeVO, type NodeWebUrlInput, type OperationKind, type OperationStatus, type OperationVO, type PlaybookAttributionVO, type RecordByFieldInput, type RecordLinkVO, type RecordVO, type ResolvedConfig, type RestoredSlugChangeVO, type ReviewVO, type ReviewVerdict, type SearchResponseVO, type SearchResultKind, type SearchResultVO, type SourceAttributionVO, type SubmitFormDTO, type UpdateFormDTO, type UpdatePreviewFileCredentialDTO, type UpdateVaultSettingsDTO, type UploadAssetOptions, type UserRefVO, type VIEW_FIELD_MAX_WIDTH, type VIEW_FIELD_MIN_WIDTH, type VaultAccessPolicy, type VaultEnvironment, type VaultItemInput, type VaultItemKind, type VaultItemVO, type VaultRuntimeEnv, type VaultScopeType, type VaultSettingsVO, type ViewConfigVO, type ViewFilterOperator, type ViewFilterVO, type ViewSortVO, type ViewType, type ViewVO, cloudContract, createBusabaseClient, getRecordByField, grepAssets, hashBytes, nodeWebUrl, normalizeBaseUrl, resolveConfig, type resolveNodeIconSource, toFilesOnlyGrepResult, toUnifiedFilesGrepInput, uploadAsset };
|
|
570
|
+
export { type ActivityItemVO, type AgentClientVO, type AgentTaskVO, type FileTreeFileVO as AirAppFileVO, type FileTreeFileVO as DriveFileVO, type FileTreeFileVO, type FileTreeFileVO as SkillFileVO, type FileTreeReadFileVO as AirAppReadFileVO, type FileTreeReadFileVO as DriveReadFileVO, type FileTreeReadFileVO, type FileTreeReadFileVO as SkillReadFileVO, type FileTreeNodeVO as AirAppVO, type FileTreeNodeVO as DriveVO, type FileTreeNodeVO, type FileTreeNodeVO as SkillVO, type AssetAttachmentRef, type AssetDetailVO, type AssetTextStatus, type AssetUsageVO, type AssetVO, type AttachmentRef, type AuditAction, type AuditEventVO, type BaseFieldVO, type BaseVO, Busabase, type BusabaseAssetsClient, BusabaseChangeRequestsClient, type BusabaseClient, type BusabaseConfig, type BusabaseRecordsClient, type BusabaseSourceChannel, type BusabaseUploadedAsset, CREATABLE_NODE_TYPES, type ChangeRequestBatchFailureVO, type ChangeRequestCountsVO, type ChangeRequestMergeBatchResultVO, type ChangeRequestReviewBatchResultVO, type ChangeRequestStatus, type ChangeRequestTargetType, type ChangeRequestVO, type CloudContract, type CommentMentionDispatchStatus, type CommentMentionInputDTO, type CommentMentionTargetType, type CommentMentionVO, type CommentSubjectType, type CommentVO, type CommitVO, type CreatableNodeType, type CreateFormDTO, DEFAULT_BASE_URL, type FieldType, type FileNodeMetadata, type FileNodeVO, type FilePreviewConfigVO, type FilePreviewConfigurationStatus, type FilePreviewCredentialSource, type FilePreviewProvider, type FilePreviewUnavailableReason, type FilePreviewVO, type FormBoundFieldVO, type FormFieldBindingVO, type FormPageSourceVO, type FormShareVO, type FormSubmitResultVO, type FormThemeVO, type FormVO, type GalleryCardSize, type GalleryCoverFit, type GanttScale, type LOOKUP_SOURCE_LIMIT, type ListFormsDTO, type ListFormsVO, type LookupComputedVO, type LookupRollup, type MentionInboxItemVO, type MentionInboxPageVO, type NodeDetailVO, type NodeIcon, type NodeIconSchema, type NodeIconSource, type NodeSearchResultVO, type NodeType, type NodeVO, type NodeWebUrlInput, type OperationKind, type OperationStatus, type OperationVO, type PlaybookAttributionVO, type RecordByFieldInput, type RecordLinkVO, type RecordVO, type ResolvedConfig, type RestoredSlugChangeVO, type ReviewVO, type ReviewVerdict, type SearchResponseVO, type SearchResultKind, type SearchResultVO, type SourceAttributionVO, type SubmitFormDTO, type UpdateFormDTO, type UpdatePreviewFileCredentialDTO, type UpdateVaultSettingsDTO, type UploadAssetOptions, type UserRefVO, type VIEW_FIELD_MAX_WIDTH, type VIEW_FIELD_MIN_WIDTH, type VaultAccessPolicy, type VaultEnvironment, type VaultItemInput, type VaultItemKind, type VaultItemVO, type VaultRuntimeEnv, type VaultScopeType, type VaultSettingsVO, type ViewConfigVO, type ViewFilterConditionVO, type ViewFilterConjunction, type ViewFilterGroupVO, type ViewFilterOperator, type ViewFilterVO, type ViewSortVO, type ViewType, type ViewVO, cloudContract, type combineViewFilters, createBusabaseClient, type flattenViewFilters, getRecordByField, grepAssets, hashBytes, type isViewFilterGroup, type mapViewFilters, nodeWebUrl, normalizeBaseUrl, resolveConfig, type resolveNodeIconSource, toFilesOnlyGrepResult, toUnifiedFilesGrepInput, uploadAsset };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as hashBytes, i as TemplateVideoSchema, n as TemplateLocalesSchema, o as uploadAsset, r as TemplateRiskLevelSchema } from "./template-Bnkq4diD.js";
|
|
2
2
|
import { t as normalizeBaseUrl } from "./url-B8GMXalA.js";
|
|
3
3
|
import { ORPCError, createORPCClient } from "@orpc/client";
|
|
4
4
|
import { OpenAPILink } from "@orpc/openapi-client/fetch";
|
|
@@ -599,6 +599,7 @@ const fieldOptionsSchema = z.object({
|
|
|
599
599
|
currency: z.string().regex(/^[A-Z]{3}$/).optional()
|
|
600
600
|
}).optional(),
|
|
601
601
|
inverseFieldId: z.string().optional(),
|
|
602
|
+
reverseOfFieldId: z.string().optional().describe("Relation fields only. Makes this a read-only reverse column of the relation field with this id on the target Base, which must point back at this Base. Its value is computed from that field's links; edit the forward field instead."),
|
|
602
603
|
lookup: z.object({
|
|
603
604
|
relationFieldSlug: z.string().min(1).describe("Slug of a `relation` field on THIS Base — the hop to follow."),
|
|
604
605
|
targetFieldSlug: z.string().min(1).describe("Slug of the field on the related Base whose values are pulled over."),
|
|
@@ -2100,6 +2101,7 @@ const liveEventSchema = z.object({
|
|
|
2100
2101
|
"node.metadata_updated",
|
|
2101
2102
|
"node.settings_updated"
|
|
2102
2103
|
]),
|
|
2104
|
+
reason: z.literal("acl").optional(),
|
|
2103
2105
|
spaceId: z.string(),
|
|
2104
2106
|
actorId: z.string(),
|
|
2105
2107
|
changeRequestId: z.string().nullable(),
|
|
@@ -3139,6 +3141,23 @@ const viewFilterSchema = z.object({
|
|
|
3139
3141
|
operator: viewFilterOperatorSchema,
|
|
3140
3142
|
value: z.unknown().optional()
|
|
3141
3143
|
});
|
|
3144
|
+
const viewFilterConjunctionSchema = z.enum(["and", "or"]);
|
|
3145
|
+
const deepestViewFilterGroupSchema = z.object({
|
|
3146
|
+
conjunction: viewFilterConjunctionSchema,
|
|
3147
|
+
conditions: z.array(viewFilterSchema).min(1).max(100)
|
|
3148
|
+
});
|
|
3149
|
+
const viewFilterGroupSchema = z.object({
|
|
3150
|
+
conjunction: viewFilterConjunctionSchema,
|
|
3151
|
+
conditions: z.array(z.union([viewFilterSchema, deepestViewFilterGroupSchema])).min(1).max(100)
|
|
3152
|
+
});
|
|
3153
|
+
const viewFilterConditionSchema = z.union([viewFilterSchema, viewFilterGroupSchema]);
|
|
3154
|
+
const viewFiltersSchema = z.array(viewFilterConditionSchema).max(100).superRefine((conditions, ctx) => {
|
|
3155
|
+
const count = (items) => items.reduce((total, item) => total + ("conditions" in item ? count(item.conditions) : 1), 0);
|
|
3156
|
+
if (count(conditions) > 100) ctx.addIssue({
|
|
3157
|
+
code: "custom",
|
|
3158
|
+
message: "A view supports at most 100 filter conditions."
|
|
3159
|
+
});
|
|
3160
|
+
});
|
|
3142
3161
|
const viewSortSchema = z.object({
|
|
3143
3162
|
direction: z.enum(["asc", "desc"]),
|
|
3144
3163
|
fieldSlug: z.string(),
|
|
@@ -3159,7 +3178,8 @@ const galleryCardSizeSchema = z.enum([
|
|
|
3159
3178
|
"large"
|
|
3160
3179
|
]);
|
|
3161
3180
|
const viewConfigSchema = z.object({
|
|
3162
|
-
filters:
|
|
3181
|
+
filters: viewFiltersSchema.default([]),
|
|
3182
|
+
filterConjunction: viewFilterConjunctionSchema.optional(),
|
|
3163
3183
|
sorts: z.array(viewSortSchema).default([]),
|
|
3164
3184
|
visibleFieldSlugs: z.array(z.string()).nullable().optional(),
|
|
3165
3185
|
fieldWidths: z.record(z.string().min(1), z.number().int().min(92).max(640)).optional(),
|
|
@@ -3207,7 +3227,7 @@ const viewConfigPatchSchema = viewConfigSchema.omit({
|
|
|
3207
3227
|
filters: true,
|
|
3208
3228
|
sorts: true
|
|
3209
3229
|
}).extend({
|
|
3210
|
-
filters:
|
|
3230
|
+
filters: viewFiltersSchema.optional(),
|
|
3211
3231
|
sorts: z.array(viewSortSchema).optional()
|
|
3212
3232
|
});
|
|
3213
3233
|
const updateViewInputSchema = z.object({
|
|
@@ -3256,6 +3276,38 @@ const viewChangeRequestInputSchema = z.discriminatedUnion("operation", [
|
|
|
3256
3276
|
]);
|
|
3257
3277
|
//#endregion
|
|
3258
3278
|
//#region ../../packages/busabase-contract/src/domains/base/contract/record-schemas.ts
|
|
3279
|
+
const lookupComputedSchema = z.object({
|
|
3280
|
+
status: z.enum([
|
|
3281
|
+
"ready",
|
|
3282
|
+
"unlinked",
|
|
3283
|
+
"empty",
|
|
3284
|
+
"invalid",
|
|
3285
|
+
"inaccessible"
|
|
3286
|
+
]),
|
|
3287
|
+
reason: z.enum([
|
|
3288
|
+
"missing_configuration",
|
|
3289
|
+
"missing_relation",
|
|
3290
|
+
"missing_source_configuration",
|
|
3291
|
+
"missing_target_field",
|
|
3292
|
+
"unsupported_source",
|
|
3293
|
+
"unsupported_rollup",
|
|
3294
|
+
"source_base_mismatch",
|
|
3295
|
+
"source_record_archived"
|
|
3296
|
+
]).optional(),
|
|
3297
|
+
value: z.unknown(),
|
|
3298
|
+
targetField: baseFieldSchema.optional(),
|
|
3299
|
+
sourceBaseId: z.string().optional(),
|
|
3300
|
+
sourceBaseSlug: z.string().optional(),
|
|
3301
|
+
sources: z.array(z.object({
|
|
3302
|
+
recordId: z.string(),
|
|
3303
|
+
title: z.string(),
|
|
3304
|
+
value: z.unknown(),
|
|
3305
|
+
headCommitId: z.string()
|
|
3306
|
+
})).max(25).default([]),
|
|
3307
|
+
sourcesTruncated: z.boolean().optional(),
|
|
3308
|
+
dependencyVersion: z.string(),
|
|
3309
|
+
dependencyReadAt: z.number().finite().nonnegative().optional()
|
|
3310
|
+
});
|
|
3259
3311
|
const recordSchema = z.object({
|
|
3260
3312
|
id: z.string(),
|
|
3261
3313
|
baseId: z.string(),
|
|
@@ -3266,6 +3318,7 @@ const recordSchema = z.object({
|
|
|
3266
3318
|
createdBy: z.string(),
|
|
3267
3319
|
createdByUser: userRefSchema.nullable().optional().default(null),
|
|
3268
3320
|
fieldUsers: z.record(z.string(), userRefSchema).optional().default({}),
|
|
3321
|
+
computedFields: z.record(z.string(), lookupComputedSchema).optional(),
|
|
3269
3322
|
archivedAt: z.string().nullable(),
|
|
3270
3323
|
createdAt: z.string(),
|
|
3271
3324
|
updatedAt: z.string(),
|
|
@@ -3843,8 +3896,11 @@ const recordContract = {
|
|
|
3843
3896
|
path: "/records/{recordId}/links",
|
|
3844
3897
|
tags: ["Records"],
|
|
3845
3898
|
summary: "List record links",
|
|
3846
|
-
successDescription: "Active
|
|
3847
|
-
}).input(z.object({
|
|
3899
|
+
successDescription: "Active links of a canonical record: outbound (this record's relation fields) by default, or inbound (other records whose relation fields link here)."
|
|
3900
|
+
}).input(z.object({
|
|
3901
|
+
recordId: z.string(),
|
|
3902
|
+
direction: z.enum(["outbound", "inbound"]).optional().describe("`outbound` (default): links stored on this record. `inbound`: links from other live records that point at this record — the reverse side of a relation, i.e. 'who links here'.")
|
|
3903
|
+
})).output(z.array(recordLinkSchema))
|
|
3848
3904
|
};
|
|
3849
3905
|
const viewContract = { changeRequest: oc.route({
|
|
3850
3906
|
method: "POST",
|
|
@@ -4668,7 +4724,14 @@ const TemplateCardVOSchema = z.object({
|
|
|
4668
4724
|
*/
|
|
4669
4725
|
video: z.string().optional(),
|
|
4670
4726
|
/**
|
|
4671
|
-
*
|
|
4727
|
+
* Every default clip, absolute URLs, in display order. `video` is always the
|
|
4728
|
+
* first of these (kept for clients built before this field existed — the
|
|
4729
|
+
* mobile app ships separately from the server). Render through
|
|
4730
|
+
* `pickTemplateMedia(card, locale)`, never from this directly.
|
|
4731
|
+
*/
|
|
4732
|
+
videos: z.array(TemplateVideoSchema).optional(),
|
|
4733
|
+
/**
|
|
4734
|
+
* Per-locale screenshots/clips, absolute URLs like the fields above,
|
|
4672
4735
|
* keyed by locale. Absent when the template declares none — and on every
|
|
4673
4736
|
* card an older catalog produced. Never read it directly: render through
|
|
4674
4737
|
* `pickTemplateMedia(card, locale)` (`domains/templates/media`), which owns
|
|
@@ -131,17 +131,35 @@ const TemplateSecretSchema = z.object({
|
|
|
131
131
|
required: z.boolean().default(true)
|
|
132
132
|
});
|
|
133
133
|
/**
|
|
134
|
+
* One demo clip in a template's gallery.
|
|
135
|
+
*
|
|
136
|
+
* An object rather than a bare path, on purpose, and from the first release: the
|
|
137
|
+
* catalog is read at runtime by servers that were deployed before this existed,
|
|
138
|
+
* so a list of strings that later became a list of objects would break exactly
|
|
139
|
+
* the servers in between. `title` is what tells two clips of one template apart
|
|
140
|
+
* ("30-second tour", "Full walkthrough"); a locale that wants the title in its
|
|
141
|
+
* own language declares its own `videos` list.
|
|
142
|
+
*
|
|
143
|
+
* `src` is package-relative in `busabase.json` and an absolute URL on the card.
|
|
144
|
+
*/
|
|
145
|
+
const TemplateVideoSchema = z.object({
|
|
146
|
+
src: z.string().min(1),
|
|
147
|
+
title: z.string().optional()
|
|
148
|
+
});
|
|
149
|
+
/**
|
|
134
150
|
* One locale's own gallery media — the value side of `template.locales`.
|
|
135
151
|
*
|
|
136
|
-
*
|
|
137
|
-
* declares just `video` and keeps the default screenshots. Paths
|
|
138
|
-
* package-relative in `busabase.json` and absolute URLs on the catalog card;
|
|
152
|
+
* All fields optional and independent: a locale that only re-recorded the clip
|
|
153
|
+
* declares just `video` (or `videos`) and keeps the default screenshots. Paths
|
|
154
|
+
* are package-relative in `busabase.json` and absolute URLs on the catalog card;
|
|
139
155
|
* the shape is the same, which is why the card VO reuses this schema.
|
|
140
156
|
*/
|
|
141
157
|
const TemplateLocaleMediaSchema = z.object({
|
|
142
158
|
/** Replaces the default list WHOLE for this locale — never merged per index. */
|
|
143
159
|
screenshots: z.array(z.string()).optional(),
|
|
144
|
-
video: z.string().optional()
|
|
160
|
+
video: z.string().optional(),
|
|
161
|
+
/** Replaces the default clips WHOLE for this locale; wins over `video` here. */
|
|
162
|
+
videos: z.array(TemplateVideoSchema).optional()
|
|
145
163
|
});
|
|
146
164
|
/**
|
|
147
165
|
* Per-locale media keyed by locale (`"zh-CN"`, `"ja"`).
|
|
@@ -171,8 +189,18 @@ z.object({
|
|
|
171
189
|
*/
|
|
172
190
|
video: z.string().optional(),
|
|
173
191
|
/**
|
|
192
|
+
* Several demo clips, in the order they are shown (cover first, then these,
|
|
193
|
+
* then the screenshots), at most `TEMPLATE_VIDEO_LIMIT`.
|
|
194
|
+
*
|
|
195
|
+
* `video` stays the one-clip shorthand and is unchanged. When `videos` is
|
|
196
|
+
* declared it wins, and the catalog index still writes `video` as the first
|
|
197
|
+
* entry's path so servers deployed before this field existed keep showing one
|
|
198
|
+
* clip instead of none.
|
|
199
|
+
*/
|
|
200
|
+
videos: z.array(TemplateVideoSchema).optional(),
|
|
201
|
+
/**
|
|
174
202
|
* Localized gallery media, the App Store / Google Play rule: a viewer whose
|
|
175
|
-
* locale has an entry sees that entry's `screenshots` / `video`; anything the
|
|
203
|
+
* locale has an entry sees that entry's `screenshots` / `video` / `videos`; anything the
|
|
176
204
|
* entry leaves out, and every locale without an entry, falls back to the two
|
|
177
205
|
* fields above. Those stay the English/default set — they are what every
|
|
178
206
|
* deployed server and CLI already reads, so their meaning cannot change.
|
|
@@ -271,4 +299,4 @@ z.object({
|
|
|
271
299
|
["isTemplateSkill"]: z.literal(true)
|
|
272
300
|
});
|
|
273
301
|
//#endregion
|
|
274
|
-
export {
|
|
302
|
+
export { hashBytes as a, TemplateVideoSchema as i, TemplateLocalesSchema as n, uploadAsset as o, TemplateRiskLevelSchema as r, APP_ROOT_RESOURCE_KEY as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "busa-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.99.0",
|
|
4
4
|
"description": "Typed TypeScript/JavaScript SDK for the Busabase OpenAPI REST API. Talks to a local or remote `busabase server` (or Busabase Cloud). Short-name alias for busabase-sdk.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/busabase/busabase/tree/main/apps/busabase-sdk",
|