@leaflow/sdk 0.0.0-dev.516.g28eeab9 → 0.0.0-dev.523.gcaeef48
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/billing/v1/generated/models.d.ts +133 -69
- package/dist/billing/v1/generated/models.js +12 -26
- package/dist/billing/v1/generated/schemas.zod.d.ts +91 -18
- package/dist/billing/v1/generated/schemas.zod.js +132 -14
- package/dist/billing/v1/generated/validators/activeResource.zod.js +2 -1
- package/dist/billing/v1/generated/validators/activeResourceStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/activeResourceStatus.zod.js +9 -0
- package/dist/billing/v1/generated/validators/allowance.zod.js +2 -1
- package/dist/billing/v1/generated/validators/allowanceStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/allowanceStatus.zod.js +9 -0
- package/dist/billing/v1/generated/validators/creditGrant.zod.js +2 -1
- package/dist/billing/v1/generated/validators/creditGrantStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/creditGrantStatus.zod.js +9 -0
- package/dist/billing/v1/generated/validators/creditNote.zod.js +2 -1
- package/dist/billing/v1/generated/validators/creditNoteStatus.zod.d.ts +14 -0
- package/dist/billing/v1/generated/validators/creditNoteStatus.zod.js +9 -0
- package/dist/billing/v1/generated/validators/discount.zod.js +2 -3
- package/dist/billing/v1/generated/validators/discountStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/discountStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/listAccountDiscountsParams.zod.d.ts +7 -0
- package/dist/billing/v1/generated/validators/listAccountDiscountsParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/listActiveResourcesParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listActiveResourcesParams.zod.js +3 -1
- package/dist/billing/v1/generated/validators/listAllowancesParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listAllowancesParams.zod.js +3 -1
- package/dist/billing/v1/generated/validators/listCancellationsParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listCancellationsParams.zod.js +4 -1
- package/dist/billing/v1/generated/validators/listCheckoutSessionsParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listCheckoutSessionsParams.zod.js +6 -1
- package/dist/billing/v1/generated/validators/listCreditGrantsParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listCreditGrantsParams.zod.js +3 -1
- package/dist/billing/v1/generated/validators/listCreditNotesParams.zod.d.ts +5 -0
- package/dist/billing/v1/generated/validators/listCreditNotesParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/listFeatureGrantsParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listFeatureGrantsParams.zod.js +2 -1
- package/dist/billing/v1/generated/validators/listInvoicesParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listInvoicesParams.zod.js +2 -1
- package/dist/billing/v1/generated/validators/listOrdersParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listOrdersParams.zod.js +2 -1
- package/dist/billing/v1/generated/validators/listPaymentMethodsParams.zod.d.ts +5 -0
- package/dist/billing/v1/generated/validators/listPaymentMethodsParams.zod.js +6 -0
- package/dist/billing/v1/generated/validators/listRefundsParams.zod.d.ts +7 -0
- package/dist/billing/v1/generated/validators/listRefundsParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/listStatementsParams.zod.d.ts +3 -2
- package/dist/billing/v1/generated/validators/listStatementsParams.zod.js +2 -1
- package/dist/billing/v1/generated/validators/listSubscriptionsParams.zod.d.ts +9 -0
- package/dist/billing/v1/generated/validators/listSubscriptionsParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/listTopUpsParams.zod.d.ts +7 -0
- package/dist/billing/v1/generated/validators/listTopUpsParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/listTransactionsParams.zod.d.ts +15 -0
- package/dist/billing/v1/generated/validators/listTransactionsParams.zod.js +6 -0
- package/dist/billing/v1/generated/validators/listWithdrawalsParams.zod.d.ts +9 -0
- package/dist/billing/v1/generated/validators/listWithdrawalsParams.zod.js +3 -0
- package/dist/billing/v1/generated/validators/refund.zod.js +2 -3
- package/dist/billing/v1/generated/validators/refundStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/refundStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/subscription.zod.js +2 -3
- package/dist/billing/v1/generated/validators/subscriptionStatus.zod.d.ts +18 -0
- package/dist/billing/v1/generated/validators/subscriptionStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/topUp.zod.js +2 -3
- package/dist/billing/v1/generated/validators/topUpStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/topUpStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/transaction.zod.js +2 -4
- package/dist/billing/v1/generated/validators/transactionStatus.zod.d.ts +16 -0
- package/dist/billing/v1/generated/validators/transactionStatus.zod.js +11 -0
- package/dist/billing/v1/generated/validators/withdrawal.zod.js +2 -8
- package/dist/billing/v1/generated/validators/withdrawalStatus.zod.d.ts +18 -0
- package/dist/billing/v1/generated/validators/withdrawalStatus.zod.js +16 -0
- package/dist/canopy/v1/generated/functions.d.ts +73 -1
- package/dist/canopy/v1/generated/functions.js +92 -6
- package/dist/canopy/v1/generated/models.d.ts +148 -12
- package/dist/canopy/v1/generated/models.js +13 -0
- package/dist/canopy/v1/generated/schemas.zod.d.ts +49 -0
- package/dist/canopy/v1/generated/schemas.zod.js +28 -0
- package/dist/canopy/v1/generated/validators/cursorPageRequestResource.zod.d.ts +10 -0
- package/dist/canopy/v1/generated/validators/getVideoContentHeaders.zod.d.ts +46 -0
- package/dist/canopy/v1/generated/validators/getVideoContentHeaders.zod.js +44 -0
- package/dist/canopy/v1/generated/validators/mediaUsageDetails.zod.d.ts +61 -0
- package/dist/canopy/v1/generated/validators/mediaUsageDetails.zod.js +67 -0
- package/dist/canopy/v1/generated/validators/requestResource.zod.d.ts +10 -0
- package/dist/canopy/v1/generated/validators/requestResource.zod.js +2 -0
- package/dist/canopy/v1/generated/validators/videoCreateRequest.zod.d.ts +67 -0
- package/dist/canopy/v1/generated/validators/videoCreateRequest.zod.js +70 -0
- package/dist/canopy/v1/generated/validators/videoReferenceMedia.zod.d.ts +53 -0
- package/dist/canopy/v1/generated/validators/videoReferenceMedia.zod.js +53 -0
- package/dist/canopy/v1/generated/validators/videoTask.zod.d.ts +71 -0
- package/dist/canopy/v1/generated/validators/videoTask.zod.js +64 -0
- package/dist/canopy/v1/generated/validators/videoUsage.zod.d.ts +54 -0
- package/dist/canopy/v1/generated/validators/videoUsage.zod.js +62 -0
- package/dist/compute/v2/generated/models.d.ts +1 -1
- package/dist/compute/v2/generated/validators/createSecurityGroupRuleRequestBody.zod.js +1 -1
- package/dist/proto/leaflow/fleet/virtualdesktop/datatransfer/v1/datatransfer_pb.d.ts +10 -5
- package/dist/routes.d.ts +24 -0
- package/dist/routes.js +27 -0
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
import { VideoReferenceMedia } from "./videoReferenceMedia.zod.js";
|
|
43
|
+
export const videoCreateRequestReferenceMediaMax = 20;
|
|
44
|
+
export const VideoCreateRequest = zod
|
|
45
|
+
.strictObject({
|
|
46
|
+
model: zod.string().min(1),
|
|
47
|
+
prompt: zod.string().optional(),
|
|
48
|
+
seconds: zod.int().min(1).optional(),
|
|
49
|
+
size: zod.string().optional(),
|
|
50
|
+
resolution: zod.string().optional(),
|
|
51
|
+
input_reference: zod
|
|
52
|
+
.string()
|
|
53
|
+
.min(1)
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Backward-compatible first-frame image URL. May be combined with a last_frame, not another first_frame."),
|
|
56
|
+
reference_media: zod
|
|
57
|
+
.array(VideoReferenceMedia)
|
|
58
|
+
.min(1)
|
|
59
|
+
.max(videoCreateRequestReferenceMediaMax)
|
|
60
|
+
.optional(),
|
|
61
|
+
audio: zod
|
|
62
|
+
.boolean()
|
|
63
|
+
.optional()
|
|
64
|
+
.describe("Whether the output has audio; separate from a reference_audio input."),
|
|
65
|
+
prompt_extend: zod.boolean().optional(),
|
|
66
|
+
watermark: zod.boolean().optional(),
|
|
67
|
+
seed: zod.int().optional(),
|
|
68
|
+
negative_prompt: zod.string().optional(),
|
|
69
|
+
})
|
|
70
|
+
.describe("Provide a prompt, reference media, or both. Extra fields depend on the selected model and adapter.");
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
export declare const VideoReferenceMedia: zod.ZodObject<{
|
|
43
|
+
type: zod.ZodEnum<{
|
|
44
|
+
first_frame: "first_frame";
|
|
45
|
+
last_frame: "last_frame";
|
|
46
|
+
reference_image: "reference_image";
|
|
47
|
+
reference_video: "reference_video";
|
|
48
|
+
reference_audio: "reference_audio";
|
|
49
|
+
}>;
|
|
50
|
+
url: zod.ZodString;
|
|
51
|
+
}, zod.z.core.$strict>;
|
|
52
|
+
export type VideoReferenceMedia = zod.input<typeof VideoReferenceMedia>;
|
|
53
|
+
export type VideoReferenceMediaOutput = zod.output<typeof VideoReferenceMedia>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
export const VideoReferenceMedia = zod
|
|
43
|
+
.strictObject({
|
|
44
|
+
type: zod.enum([
|
|
45
|
+
"first_frame",
|
|
46
|
+
"last_frame",
|
|
47
|
+
"reference_image",
|
|
48
|
+
"reference_video",
|
|
49
|
+
"reference_audio",
|
|
50
|
+
]),
|
|
51
|
+
url: zod.string().min(1),
|
|
52
|
+
})
|
|
53
|
+
.describe("A typed reference asset. Order is preserved, including order within each media type.\nWan 3.0 accepts at most one first frame, one last frame, ten reference images,\nfive reference videos and five reference audio clips. A last frame needs a first frame.\nFirst/last frames cannot be combined with reference_image, reference_video or reference_audio.\nReference images, videos and audio may be combined. Other models can accept fewer roles.\nImages accept public HTTP(S) or base64 image data URLs. Video and audio accept public\nHTTP(S) URLs only. Wan 3.0 limits reference videos and audio to 1-15 seconds each and\n15 seconds total per media type; input video plus output duration must not exceed 30 seconds.\nThe upstream validates remote asset size, format and duration. Canopy does not fetch them.");
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
export declare const VideoTask: zod.ZodObject<{
|
|
43
|
+
id: zod.ZodString;
|
|
44
|
+
object: zod.ZodString;
|
|
45
|
+
status: zod.ZodEnum<{
|
|
46
|
+
completed: "completed";
|
|
47
|
+
failed: "failed";
|
|
48
|
+
in_progress: "in_progress";
|
|
49
|
+
queued: "queued";
|
|
50
|
+
}>;
|
|
51
|
+
model: zod.ZodOptional<zod.ZodString>;
|
|
52
|
+
usage: zod.ZodOptional<zod.ZodObject<{
|
|
53
|
+
seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
54
|
+
resolution: zod.ZodOptional<zod.ZodString>;
|
|
55
|
+
input_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
56
|
+
output_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
57
|
+
billable_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
58
|
+
}, zod.z.core.$strict>>;
|
|
59
|
+
seconds: zod.ZodOptional<zod.ZodString>;
|
|
60
|
+
size: zod.ZodOptional<zod.ZodString>;
|
|
61
|
+
created_at: zod.ZodOptional<zod.ZodInt>;
|
|
62
|
+
completed_at: zod.ZodOptional<zod.ZodInt>;
|
|
63
|
+
expires_at: zod.ZodOptional<zod.ZodInt>;
|
|
64
|
+
progress: zod.ZodOptional<zod.ZodInt>;
|
|
65
|
+
error: zod.ZodOptional<zod.ZodObject<{
|
|
66
|
+
code: zod.ZodOptional<zod.ZodString>;
|
|
67
|
+
message: zod.ZodOptional<zod.ZodString>;
|
|
68
|
+
}, zod.z.core.$strict>>;
|
|
69
|
+
}, zod.z.core.$strict>;
|
|
70
|
+
export type VideoTask = zod.input<typeof VideoTask>;
|
|
71
|
+
export type VideoTaskOutput = zod.output<typeof VideoTask>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
import { VideoUsage } from "./videoUsage.zod.js";
|
|
43
|
+
export const VideoTask = zod.strictObject({
|
|
44
|
+
id: zod.string(),
|
|
45
|
+
object: zod.string(),
|
|
46
|
+
status: zod.enum(["queued", "in_progress", "completed", "failed"]),
|
|
47
|
+
model: zod.string().optional(),
|
|
48
|
+
usage: VideoUsage.optional(),
|
|
49
|
+
seconds: zod
|
|
50
|
+
.string()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Output duration, not the duration of input references."),
|
|
53
|
+
size: zod.string().optional(),
|
|
54
|
+
created_at: zod.int().optional(),
|
|
55
|
+
completed_at: zod.int().optional(),
|
|
56
|
+
expires_at: zod.int().optional(),
|
|
57
|
+
progress: zod.int().optional(),
|
|
58
|
+
error: zod
|
|
59
|
+
.strictObject({
|
|
60
|
+
code: zod.string().optional(),
|
|
61
|
+
message: zod.string().optional(),
|
|
62
|
+
})
|
|
63
|
+
.optional(),
|
|
64
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
export declare const videoUsageSecondsMin = 0;
|
|
43
|
+
export declare const videoUsageInputSecondsMin = 0;
|
|
44
|
+
export declare const videoUsageOutputSecondsMin = 0;
|
|
45
|
+
export declare const videoUsageBillableSecondsMin = 0;
|
|
46
|
+
export declare const VideoUsage: zod.ZodObject<{
|
|
47
|
+
seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
48
|
+
resolution: zod.ZodOptional<zod.ZodString>;
|
|
49
|
+
input_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
50
|
+
output_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
51
|
+
billable_seconds: zod.ZodOptional<zod.ZodNumber>;
|
|
52
|
+
}, zod.z.core.$strict>;
|
|
53
|
+
export type VideoUsage = zod.input<typeof VideoUsage>;
|
|
54
|
+
export type VideoUsageOutput = zod.output<typeof VideoUsage>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Leaflow Canopy API
|
|
5
|
+
* Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
|
|
6
|
+
*
|
|
7
|
+
* Project inference is served on this host in each provider's own protocol:
|
|
8
|
+
*
|
|
9
|
+
* - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
|
|
10
|
+
* `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
|
|
11
|
+
* - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
|
|
12
|
+
* - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
|
|
13
|
+
*
|
|
14
|
+
* Canopy does not convert between protocols. A request is accepted only for a model whose
|
|
15
|
+
* `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
|
|
16
|
+
* the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
|
|
17
|
+
* through as written; a model's `capabilities` lists the values its upstream accepts.
|
|
18
|
+
*
|
|
19
|
+
* Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
|
|
20
|
+
* `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
|
|
21
|
+
*
|
|
22
|
+
* ## Authentication
|
|
23
|
+
*
|
|
24
|
+
* Every request carries a scoped token; see the `bearerAuth` security scheme.
|
|
25
|
+
*
|
|
26
|
+
* Management and project inference accept the same verified IAM scoped token. The token is the
|
|
27
|
+
* sole billing project authority; `OpenAI-Project` and historical identity headers cannot
|
|
28
|
+
* override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
|
|
29
|
+
* accepts Canopy API keys and serves the same endpoints.
|
|
30
|
+
*
|
|
31
|
+
* ## Conventions
|
|
32
|
+
*
|
|
33
|
+
* - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
|
|
34
|
+
* - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
|
|
35
|
+
* - **A usage query must carry a time range**, spanning no more than 31 days, or 400 days for the usage timeline. `from` and `to` carry a timezone offset, which the server does not infer.
|
|
36
|
+
* - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
|
|
37
|
+
* - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
|
|
38
|
+
* - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates Billing holds for each model's `billing`.
|
|
39
|
+
* OpenAPI spec version: 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
import * as zod from "zod";
|
|
42
|
+
export const videoUsageSecondsMin = 0;
|
|
43
|
+
export const videoUsageInputSecondsMin = 0;
|
|
44
|
+
export const videoUsageOutputSecondsMin = 0;
|
|
45
|
+
export const videoUsageBillableSecondsMin = 0;
|
|
46
|
+
export const VideoUsage = zod
|
|
47
|
+
.strictObject({
|
|
48
|
+
seconds: zod
|
|
49
|
+
.number()
|
|
50
|
+
.min(videoUsageSecondsMin)
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Output duration, kept for compatibility."),
|
|
53
|
+
resolution: zod.string().optional(),
|
|
54
|
+
input_seconds: zod.number().min(videoUsageInputSecondsMin).optional(),
|
|
55
|
+
output_seconds: zod.number().min(videoUsageOutputSecondsMin).optional(),
|
|
56
|
+
billable_seconds: zod
|
|
57
|
+
.number()
|
|
58
|
+
.min(videoUsageBillableSecondsMin)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("Total measured input and output video duration, not a monetary quote."),
|
|
61
|
+
})
|
|
62
|
+
.describe("Provider measurements on a task; only completed tasks are settled.");
|
|
@@ -2146,7 +2146,7 @@ export interface CreateSecurityGroupRuleRequestBody {
|
|
|
2146
2146
|
/** The last port, or the ICMP code (0–255) when the protocol is ICMP. */
|
|
2147
2147
|
port_range_max?: number;
|
|
2148
2148
|
/**
|
|
2149
|
-
*
|
|
2149
|
+
* An IP address or CIDR block of the rule's IP version. A single address admits only itself, and a block is recorded with its host bits cleared. Every address when omitted.
|
|
2150
2150
|
* @maxLength 64
|
|
2151
2151
|
*/
|
|
2152
2152
|
remote_cidr?: string;
|
|
@@ -57,6 +57,6 @@ export const CreateSecurityGroupRuleRequestBody = zod.strictObject({
|
|
|
57
57
|
.string()
|
|
58
58
|
.max(createSecurityGroupRuleRequestBodyRemoteCidrMax)
|
|
59
59
|
.optional()
|
|
60
|
-
.describe("
|
|
60
|
+
.describe("An IP address or CIDR block of the rule's IP version. A single address admits only itself, and a block is recorded with its host bits cleared. Every address when omitted."),
|
|
61
61
|
description: zod.string().max(createSecurityGroupRuleRequestBodyDescriptionMax).optional(),
|
|
62
62
|
});
|
|
@@ -229,9 +229,10 @@ export type ClipboardFormatList = Message<"leaflow.fleet.virtualdesktop.datatran
|
|
|
229
229
|
*/
|
|
230
230
|
items: DataTransferItem[];
|
|
231
231
|
/**
|
|
232
|
-
*
|
|
233
|
-
* FileTransferRequest.clipboard
|
|
234
|
-
*
|
|
232
|
+
* 文件复制的首个独立文件操作。接收方按需取得正文,设置
|
|
233
|
+
* FileTransferRequest.clipboard,并仅发布本机引用,不传来源机器的路径。
|
|
234
|
+
* 该操作的完成、跳过或取消不结束复制声明;同一有效 sequence 的后续
|
|
235
|
+
* 粘贴通过 DataRequest.files 取得新的操作,不复用已结算的 transfer_id。
|
|
235
236
|
*
|
|
236
237
|
* @generated from field: leaflow.fleet.filetransfer.v1.FileTransferOffer file_offer = 5;
|
|
237
238
|
*/
|
|
@@ -982,8 +983,12 @@ export type DataRequest = Message<"leaflow.fleet.virtualdesktop.datatransfer.v1.
|
|
|
982
983
|
case: "mimeType";
|
|
983
984
|
} | {
|
|
984
985
|
/**
|
|
985
|
-
*
|
|
986
|
-
*
|
|
986
|
+
* 必须为 true。拖放读取已声明 files_available 的来源;剪贴板读取
|
|
987
|
+
* 原 ClipboardFormatList.file_offer 对应的同一复制声明。
|
|
988
|
+
* 剪贴板每次成功读取均返回新的 transfer_id,保留原清单的 file_id、
|
|
989
|
+
* parent_id、元数据与来源文件版本,不重新扫描目录或换用当前的新复制。
|
|
990
|
+
* 读取仍检查方向权限和连接代际;复制已被替换时返回 ABORTED。
|
|
991
|
+
* 已接受的文件引用可独立完成;本次文件操作不能撤销其它读取或复制声明。
|
|
987
992
|
*
|
|
988
993
|
* @generated from field: bool files = 4;
|
|
989
994
|
*/
|
package/dist/routes.d.ts
CHANGED
|
@@ -1599,6 +1599,30 @@ export declare const routes: readonly [{
|
|
|
1599
1599
|
readonly operationId: "get-statement-usage";
|
|
1600
1600
|
readonly securityScheme: "AccessToken";
|
|
1601
1601
|
readonly upstreamUrl: "https://billing.leaflow.cloud";
|
|
1602
|
+
}, {
|
|
1603
|
+
readonly service: "canopy";
|
|
1604
|
+
readonly contract: "canopy";
|
|
1605
|
+
readonly method: "POST";
|
|
1606
|
+
readonly path: "/v1/videos";
|
|
1607
|
+
readonly operationId: "create-video";
|
|
1608
|
+
readonly securityScheme: "ScopedToken";
|
|
1609
|
+
readonly upstreamUrl: "https://canopy.leaflow.cloud";
|
|
1610
|
+
}, {
|
|
1611
|
+
readonly service: "canopy";
|
|
1612
|
+
readonly contract: "canopy";
|
|
1613
|
+
readonly method: "GET";
|
|
1614
|
+
readonly path: "/v1/videos/{video}";
|
|
1615
|
+
readonly operationId: "get-video";
|
|
1616
|
+
readonly securityScheme: "ScopedToken";
|
|
1617
|
+
readonly upstreamUrl: "https://canopy.leaflow.cloud";
|
|
1618
|
+
}, {
|
|
1619
|
+
readonly service: "canopy";
|
|
1620
|
+
readonly contract: "canopy";
|
|
1621
|
+
readonly method: "GET";
|
|
1622
|
+
readonly path: "/v1/videos/{video}/content";
|
|
1623
|
+
readonly operationId: "get-video-content";
|
|
1624
|
+
readonly securityScheme: "ScopedToken";
|
|
1625
|
+
readonly upstreamUrl: "https://canopy.leaflow.cloud";
|
|
1602
1626
|
}, {
|
|
1603
1627
|
readonly service: "canopy";
|
|
1604
1628
|
readonly contract: "canopy";
|
package/dist/routes.js
CHANGED
|
@@ -1801,6 +1801,33 @@ export const routes = [
|
|
|
1801
1801
|
securityScheme: "AccessToken",
|
|
1802
1802
|
upstreamUrl: "https://billing.leaflow.cloud",
|
|
1803
1803
|
},
|
|
1804
|
+
{
|
|
1805
|
+
service: "canopy",
|
|
1806
|
+
contract: "canopy",
|
|
1807
|
+
method: "POST",
|
|
1808
|
+
path: "/v1/videos",
|
|
1809
|
+
operationId: "create-video",
|
|
1810
|
+
securityScheme: "ScopedToken",
|
|
1811
|
+
upstreamUrl: "https://canopy.leaflow.cloud",
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
service: "canopy",
|
|
1815
|
+
contract: "canopy",
|
|
1816
|
+
method: "GET",
|
|
1817
|
+
path: "/v1/videos/{video}",
|
|
1818
|
+
operationId: "get-video",
|
|
1819
|
+
securityScheme: "ScopedToken",
|
|
1820
|
+
upstreamUrl: "https://canopy.leaflow.cloud",
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
service: "canopy",
|
|
1824
|
+
contract: "canopy",
|
|
1825
|
+
method: "GET",
|
|
1826
|
+
path: "/v1/videos/{video}/content",
|
|
1827
|
+
operationId: "get-video-content",
|
|
1828
|
+
securityScheme: "ScopedToken",
|
|
1829
|
+
upstreamUrl: "https://canopy.leaflow.cloud",
|
|
1830
|
+
},
|
|
1804
1831
|
{
|
|
1805
1832
|
service: "canopy",
|
|
1806
1833
|
contract: "canopy",
|