@vinaverse/server 0.1.0-alpha.2 → 0.1.0-alpha.21
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/README.md +16 -0
- package/dist/api.cjs +73 -0
- package/dist/api.cjs.map +1 -1
- package/dist/api.d.cts +61 -4
- package/dist/api.d.ts +61 -4
- package/dist/api.js +73 -0
- package/dist/api.js.map +1 -1
- package/dist/express.d.cts +2 -2
- package/dist/express.d.ts +2 -2
- package/dist/fastify.d.cts +2 -2
- package/dist/fastify.d.ts +2 -2
- package/dist/hono.d.cts +2 -2
- package/dist/hono.d.ts +2 -2
- package/dist/index.cjs +30 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +30 -2
- package/dist/index.js.map +1 -1
- package/dist/lambda.d.cts +2 -2
- package/dist/lambda.d.ts +2 -2
- package/dist/{provider-BqfTvF3g.d.ts → provider-1SsRbyN-.d.ts} +183 -1
- package/dist/{provider-Miaa9V7I.d.cts → provider-DhsUFcqq.d.cts} +183 -1
- package/dist/{vinaverse-v1.d-BVc4uyUd.d.cts → vinaverse-v1.d-D-NPpZqW.d.cts} +1913 -99
- package/dist/{vinaverse-v1.d-BVc4uyUd.d.ts → vinaverse-v1.d-D-NPpZqW.d.ts} +1913 -99
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as components$1, w as webhooks } from './vinaverse-v1.d-
|
|
1
|
+
import { c as components$1, w as webhooks } from './vinaverse-v1.d-D-NPpZqW.js';
|
|
2
2
|
import { c as NonceStore, a as IdempotencyStore } from './nonces-scwljZwl.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -265,6 +265,18 @@ declare const TOOL_OPERATIONS: {
|
|
|
265
265
|
readonly pathParams: {};
|
|
266
266
|
readonly queryParams: {};
|
|
267
267
|
};
|
|
268
|
+
readonly get_setup_state: {
|
|
269
|
+
readonly id: "get_setup_state";
|
|
270
|
+
readonly method: "GET";
|
|
271
|
+
readonly path: "/business/setup";
|
|
272
|
+
readonly effect: "read";
|
|
273
|
+
readonly maxResultBytes: 16384;
|
|
274
|
+
readonly successStatus: 200;
|
|
275
|
+
readonly idempotencyKey: false;
|
|
276
|
+
readonly body: false;
|
|
277
|
+
readonly pathParams: {};
|
|
278
|
+
readonly queryParams: {};
|
|
279
|
+
};
|
|
268
280
|
readonly get_workspace: {
|
|
269
281
|
readonly id: "get_workspace";
|
|
270
282
|
readonly method: "GET";
|
|
@@ -366,6 +378,31 @@ declare const TOOL_OPERATIONS: {
|
|
|
366
378
|
};
|
|
367
379
|
};
|
|
368
380
|
};
|
|
381
|
+
readonly list_services_in_area: {
|
|
382
|
+
readonly id: "list_services_in_area";
|
|
383
|
+
readonly method: "GET";
|
|
384
|
+
readonly path: "/areas/services";
|
|
385
|
+
readonly effect: "read";
|
|
386
|
+
readonly maxResultBytes: 16384;
|
|
387
|
+
readonly successStatus: 200;
|
|
388
|
+
readonly idempotencyKey: false;
|
|
389
|
+
readonly body: false;
|
|
390
|
+
readonly pathParams: {};
|
|
391
|
+
readonly queryParams: {
|
|
392
|
+
readonly lat: {
|
|
393
|
+
readonly type: "number";
|
|
394
|
+
readonly required: false;
|
|
395
|
+
};
|
|
396
|
+
readonly lng: {
|
|
397
|
+
readonly type: "number";
|
|
398
|
+
readonly required: false;
|
|
399
|
+
};
|
|
400
|
+
readonly radius_miles: {
|
|
401
|
+
readonly type: "integer";
|
|
402
|
+
readonly required: false;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
};
|
|
369
406
|
readonly resolve_place: {
|
|
370
407
|
readonly id: "resolve_place";
|
|
371
408
|
readonly method: "GET";
|
|
@@ -578,6 +615,55 @@ interface components {
|
|
|
578
615
|
price_is_from?: boolean;
|
|
579
616
|
duration_minutes: number;
|
|
580
617
|
};
|
|
618
|
+
/**
|
|
619
|
+
* @description `estimate`: the tenant did not count exactly (a cached or sampled figure); the agent says "about"
|
|
620
|
+
* @enum {string}
|
|
621
|
+
*/
|
|
622
|
+
CountStatus: "exact" | "estimate";
|
|
623
|
+
InventoryService: {
|
|
624
|
+
id: string;
|
|
625
|
+
name: string;
|
|
626
|
+
count: number;
|
|
627
|
+
count_status: components["schemas"]["CountStatus"];
|
|
628
|
+
};
|
|
629
|
+
InventoryCategory: {
|
|
630
|
+
id: string;
|
|
631
|
+
name: string;
|
|
632
|
+
count: number;
|
|
633
|
+
count_status: components["schemas"]["CountStatus"];
|
|
634
|
+
services?: components["schemas"]["InventoryService"][];
|
|
635
|
+
};
|
|
636
|
+
NearbyArea: {
|
|
637
|
+
area: components["schemas"]["Area"];
|
|
638
|
+
lat?: number;
|
|
639
|
+
lng?: number;
|
|
640
|
+
count: number;
|
|
641
|
+
count_status: components["schemas"]["CountStatus"];
|
|
642
|
+
};
|
|
643
|
+
/** @description v1-draft.15, `list_services_in_area`'s result: what is represented around the place, and where else there is supply. Empty `categories` means nothing is offered within the radius; `nearest_areas` then says where there is. */
|
|
644
|
+
AreaInventory: {
|
|
645
|
+
/** @constant */
|
|
646
|
+
type: "area_inventory";
|
|
647
|
+
/**
|
|
648
|
+
* Format: date-time
|
|
649
|
+
* @description when the tenant counted
|
|
650
|
+
*/
|
|
651
|
+
as_of: string;
|
|
652
|
+
categories: components["schemas"]["InventoryCategory"][];
|
|
653
|
+
/** @description the nearest areas outside the radius that have supply, nearest first */
|
|
654
|
+
nearest_areas: components["schemas"]["NearbyArea"][];
|
|
655
|
+
};
|
|
656
|
+
/** @description v1-draft.15: one approved photo. `id` and `version` name the asset as the tenant's media store does: a new version is a new photo, and approval binds to the version, never to a mutable URL. The URL is https and starts with a prefix the manifest registers (`image_url_prefixes`), compared after the runtime parses and normalizes it: a URL with user info, a backslash, a fragment, or a `.` or `..` path segment (also percent-encoded, as `%2e`) is dropped, never resolved, so no path can step outside the approved one. `expires_at` is set only when the URL expires (a signed URL), and then the runtime drops it from a card it records after that time. */
|
|
657
|
+
ImageAsset: {
|
|
658
|
+
id: string;
|
|
659
|
+
version: string;
|
|
660
|
+
/** Format: uri */
|
|
661
|
+
url: string;
|
|
662
|
+
width?: number;
|
|
663
|
+
height?: number;
|
|
664
|
+
/** Format: date-time */
|
|
665
|
+
expires_at?: string;
|
|
666
|
+
};
|
|
581
667
|
ProfessionalSummary: {
|
|
582
668
|
/** @constant */
|
|
583
669
|
type: "professional";
|
|
@@ -586,8 +672,12 @@ interface components {
|
|
|
586
672
|
headline?: string;
|
|
587
673
|
/** Format: uri */
|
|
588
674
|
photo_url?: string;
|
|
675
|
+
/** @description v1-draft.15, approved photos, the first the hero (`photo_url` is its URL) */
|
|
676
|
+
images?: components["schemas"]["ImageAsset"][];
|
|
589
677
|
rating?: components["schemas"]["Rating"];
|
|
590
678
|
area?: components["schemas"]["Area"];
|
|
679
|
+
/** @description v1-draft.15: the lowest price the professional asks for a service, as the tenant knows it; left out when it does not */
|
|
680
|
+
price_from?: components["schemas"]["Money"];
|
|
591
681
|
top_services?: components["schemas"]["ServiceOffer"][];
|
|
592
682
|
/** Format: date-time */
|
|
593
683
|
next_available?: string | null;
|
|
@@ -609,12 +699,19 @@ interface components {
|
|
|
609
699
|
category?: string;
|
|
610
700
|
/** Format: uri */
|
|
611
701
|
photo_url?: string;
|
|
702
|
+
/** @description v1-draft.15, approved photos, the first the hero (`photo_url` is its URL) */
|
|
703
|
+
images?: components["schemas"]["ImageAsset"][];
|
|
612
704
|
rating?: components["schemas"]["Rating"];
|
|
613
705
|
area?: components["schemas"]["Area"];
|
|
614
706
|
price_from?: components["schemas"]["Money"];
|
|
615
707
|
/** @enum {string} */
|
|
616
708
|
price_unit?: "hour" | "day" | "week" | "month";
|
|
617
709
|
deep_link: string;
|
|
710
|
+
/**
|
|
711
|
+
* @description v1-draft.16, the renter licence the space asks for: `sent` (sent before renting) or `approved`. Absent: the space names none, never "none needed"; the agent says a licence is needed only when this says so.
|
|
712
|
+
* @enum {string}
|
|
713
|
+
*/
|
|
714
|
+
renter_license_requirement?: "sent" | "approved";
|
|
618
715
|
};
|
|
619
716
|
WorkspaceDetail: components["schemas"]["WorkspaceSummary"] & {
|
|
620
717
|
description?: string;
|
|
@@ -760,6 +857,35 @@ interface components {
|
|
|
760
857
|
country: string;
|
|
761
858
|
};
|
|
762
859
|
TextList: string[];
|
|
860
|
+
/** @description A business's setup steps, in the order the business should do them. The steps and their state are the tenant's own record; a business with nothing left to set up has every step `done`. */
|
|
861
|
+
SetupState: {
|
|
862
|
+
steps: components["schemas"]["SetupStep"][];
|
|
863
|
+
};
|
|
864
|
+
/** @description One step of a business's setup. `title`, `body` and `label` are the tenant's own words for it, shown on the `next_step` card when the step has a `deep_link`. A `blocked` step says why in `reason`. */
|
|
865
|
+
SetupStep: {
|
|
866
|
+
/**
|
|
867
|
+
* @description the tenant's id for the step, stable across reads; the agent names a step by it
|
|
868
|
+
* @example business_name
|
|
869
|
+
* @example opening_hours
|
|
870
|
+
* @example payouts
|
|
871
|
+
*/
|
|
872
|
+
id: string;
|
|
873
|
+
/** @description the step, as the person knows it */
|
|
874
|
+
title: string;
|
|
875
|
+
/**
|
|
876
|
+
* @description `not_started` and `in_progress` are still to do, `done` is finished, and `blocked` waits on something the person cannot do in this conversation (a review, another step), named in `reason`.
|
|
877
|
+
* @enum {string}
|
|
878
|
+
*/
|
|
879
|
+
status: "not_started" | "in_progress" | "done" | "blocked";
|
|
880
|
+
/** @description what the step is for, in one or two sentences */
|
|
881
|
+
body?: string;
|
|
882
|
+
/** @description why a `blocked` step is blocked; only a `blocked` step has one */
|
|
883
|
+
reason?: string;
|
|
884
|
+
/** @description the action's words on its `next_step` card */
|
|
885
|
+
label?: string;
|
|
886
|
+
/** @description For a step finished on the tenant's own screen, a link into the tenant's app. It must start with a prefix registered for the environment and pass the link checks (`admin-v1.yaml`, `Connector.deep_link_prefixes`). The runtime removes one that fails, and the step is then shown without a card. */
|
|
887
|
+
deep_link?: string;
|
|
888
|
+
} & unknown;
|
|
763
889
|
/** @description One of the signed-in customer's kits: items a styling-kit retailer sends to try at home, each kept or returned, the kept ones charged. `status` is where the kit is in its life: `preparing` (being put together), `shipped` (on its way), `delivered` (arrived, deciding not open yet), `feedback_open` (the customer decides keep or return for each item, until `feedback_closes_at`), `feedback_closed` (the decisions are in; the items to return are due back by `return_by`), `returned` (the returned items arrived), `billed` (the kept items were charged: `order_id`), `cancelled`. A retailer whose kits skip a state (feedback opens on delivery) never sends it. "What do I still need to do" is answered by `undecided_count` and each item's `decision` before `feedback_closes_at`, and by the items to return and `return_by` after it. */
|
|
764
890
|
Kit: {
|
|
765
891
|
/** @constant */
|
|
@@ -1218,6 +1344,36 @@ interface operations {
|
|
|
1218
1344
|
default: components["responses"]["Problem"];
|
|
1219
1345
|
};
|
|
1220
1346
|
};
|
|
1347
|
+
list_services_in_area: {
|
|
1348
|
+
parameters: {
|
|
1349
|
+
query?: {
|
|
1350
|
+
lat?: components["parameters"]["Lat"];
|
|
1351
|
+
lng?: components["parameters"]["Lng"];
|
|
1352
|
+
radius_miles?: components["parameters"]["RadiusMiles"];
|
|
1353
|
+
};
|
|
1354
|
+
header?: {
|
|
1355
|
+
/** @description on every tool call in a session, a channel session's included (never on the catalogue sweep), the session's id; informational and not signed */
|
|
1356
|
+
"Vinaverse-Session"?: components["parameters"]["VinaverseSession"];
|
|
1357
|
+
/** @description on every tool call of a session that belongs to a conversation (never on the catalogue sweep), its id; informational and not signed */
|
|
1358
|
+
"Vinaverse-Conversation"?: components["parameters"]["VinaverseConversation"];
|
|
1359
|
+
};
|
|
1360
|
+
path?: never;
|
|
1361
|
+
cookie?: never;
|
|
1362
|
+
};
|
|
1363
|
+
requestBody?: never;
|
|
1364
|
+
responses: {
|
|
1365
|
+
/** @description OK */
|
|
1366
|
+
200: {
|
|
1367
|
+
headers: {
|
|
1368
|
+
[name: string]: unknown;
|
|
1369
|
+
};
|
|
1370
|
+
content: {
|
|
1371
|
+
"application/json": components["schemas"]["AreaInventory"];
|
|
1372
|
+
};
|
|
1373
|
+
};
|
|
1374
|
+
default: components["responses"]["Problem"];
|
|
1375
|
+
};
|
|
1376
|
+
};
|
|
1221
1377
|
search_workspaces: {
|
|
1222
1378
|
parameters: {
|
|
1223
1379
|
query?: {
|
|
@@ -1605,6 +1761,32 @@ interface operations {
|
|
|
1605
1761
|
default: components["responses"]["Problem"];
|
|
1606
1762
|
};
|
|
1607
1763
|
};
|
|
1764
|
+
get_setup_state: {
|
|
1765
|
+
parameters: {
|
|
1766
|
+
query?: never;
|
|
1767
|
+
header?: {
|
|
1768
|
+
/** @description on every tool call in a session, a channel session's included (never on the catalogue sweep), the session's id; informational and not signed */
|
|
1769
|
+
"Vinaverse-Session"?: components["parameters"]["VinaverseSession"];
|
|
1770
|
+
/** @description on every tool call of a session that belongs to a conversation (never on the catalogue sweep), its id; informational and not signed */
|
|
1771
|
+
"Vinaverse-Conversation"?: components["parameters"]["VinaverseConversation"];
|
|
1772
|
+
};
|
|
1773
|
+
path?: never;
|
|
1774
|
+
cookie?: never;
|
|
1775
|
+
};
|
|
1776
|
+
requestBody?: never;
|
|
1777
|
+
responses: {
|
|
1778
|
+
/** @description OK */
|
|
1779
|
+
200: {
|
|
1780
|
+
headers: {
|
|
1781
|
+
[name: string]: unknown;
|
|
1782
|
+
};
|
|
1783
|
+
content: {
|
|
1784
|
+
"application/json": components["schemas"]["SetupState"];
|
|
1785
|
+
};
|
|
1786
|
+
};
|
|
1787
|
+
default: components["responses"]["Problem"];
|
|
1788
|
+
};
|
|
1789
|
+
};
|
|
1608
1790
|
create_handoff: {
|
|
1609
1791
|
parameters: {
|
|
1610
1792
|
query?: never;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as components$1, w as webhooks } from './vinaverse-v1.d-
|
|
1
|
+
import { c as components$1, w as webhooks } from './vinaverse-v1.d-D-NPpZqW.cjs';
|
|
2
2
|
import { c as NonceStore, a as IdempotencyStore } from './nonces-scwljZwl.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -265,6 +265,18 @@ declare const TOOL_OPERATIONS: {
|
|
|
265
265
|
readonly pathParams: {};
|
|
266
266
|
readonly queryParams: {};
|
|
267
267
|
};
|
|
268
|
+
readonly get_setup_state: {
|
|
269
|
+
readonly id: "get_setup_state";
|
|
270
|
+
readonly method: "GET";
|
|
271
|
+
readonly path: "/business/setup";
|
|
272
|
+
readonly effect: "read";
|
|
273
|
+
readonly maxResultBytes: 16384;
|
|
274
|
+
readonly successStatus: 200;
|
|
275
|
+
readonly idempotencyKey: false;
|
|
276
|
+
readonly body: false;
|
|
277
|
+
readonly pathParams: {};
|
|
278
|
+
readonly queryParams: {};
|
|
279
|
+
};
|
|
268
280
|
readonly get_workspace: {
|
|
269
281
|
readonly id: "get_workspace";
|
|
270
282
|
readonly method: "GET";
|
|
@@ -366,6 +378,31 @@ declare const TOOL_OPERATIONS: {
|
|
|
366
378
|
};
|
|
367
379
|
};
|
|
368
380
|
};
|
|
381
|
+
readonly list_services_in_area: {
|
|
382
|
+
readonly id: "list_services_in_area";
|
|
383
|
+
readonly method: "GET";
|
|
384
|
+
readonly path: "/areas/services";
|
|
385
|
+
readonly effect: "read";
|
|
386
|
+
readonly maxResultBytes: 16384;
|
|
387
|
+
readonly successStatus: 200;
|
|
388
|
+
readonly idempotencyKey: false;
|
|
389
|
+
readonly body: false;
|
|
390
|
+
readonly pathParams: {};
|
|
391
|
+
readonly queryParams: {
|
|
392
|
+
readonly lat: {
|
|
393
|
+
readonly type: "number";
|
|
394
|
+
readonly required: false;
|
|
395
|
+
};
|
|
396
|
+
readonly lng: {
|
|
397
|
+
readonly type: "number";
|
|
398
|
+
readonly required: false;
|
|
399
|
+
};
|
|
400
|
+
readonly radius_miles: {
|
|
401
|
+
readonly type: "integer";
|
|
402
|
+
readonly required: false;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
};
|
|
369
406
|
readonly resolve_place: {
|
|
370
407
|
readonly id: "resolve_place";
|
|
371
408
|
readonly method: "GET";
|
|
@@ -578,6 +615,55 @@ interface components {
|
|
|
578
615
|
price_is_from?: boolean;
|
|
579
616
|
duration_minutes: number;
|
|
580
617
|
};
|
|
618
|
+
/**
|
|
619
|
+
* @description `estimate`: the tenant did not count exactly (a cached or sampled figure); the agent says "about"
|
|
620
|
+
* @enum {string}
|
|
621
|
+
*/
|
|
622
|
+
CountStatus: "exact" | "estimate";
|
|
623
|
+
InventoryService: {
|
|
624
|
+
id: string;
|
|
625
|
+
name: string;
|
|
626
|
+
count: number;
|
|
627
|
+
count_status: components["schemas"]["CountStatus"];
|
|
628
|
+
};
|
|
629
|
+
InventoryCategory: {
|
|
630
|
+
id: string;
|
|
631
|
+
name: string;
|
|
632
|
+
count: number;
|
|
633
|
+
count_status: components["schemas"]["CountStatus"];
|
|
634
|
+
services?: components["schemas"]["InventoryService"][];
|
|
635
|
+
};
|
|
636
|
+
NearbyArea: {
|
|
637
|
+
area: components["schemas"]["Area"];
|
|
638
|
+
lat?: number;
|
|
639
|
+
lng?: number;
|
|
640
|
+
count: number;
|
|
641
|
+
count_status: components["schemas"]["CountStatus"];
|
|
642
|
+
};
|
|
643
|
+
/** @description v1-draft.15, `list_services_in_area`'s result: what is represented around the place, and where else there is supply. Empty `categories` means nothing is offered within the radius; `nearest_areas` then says where there is. */
|
|
644
|
+
AreaInventory: {
|
|
645
|
+
/** @constant */
|
|
646
|
+
type: "area_inventory";
|
|
647
|
+
/**
|
|
648
|
+
* Format: date-time
|
|
649
|
+
* @description when the tenant counted
|
|
650
|
+
*/
|
|
651
|
+
as_of: string;
|
|
652
|
+
categories: components["schemas"]["InventoryCategory"][];
|
|
653
|
+
/** @description the nearest areas outside the radius that have supply, nearest first */
|
|
654
|
+
nearest_areas: components["schemas"]["NearbyArea"][];
|
|
655
|
+
};
|
|
656
|
+
/** @description v1-draft.15: one approved photo. `id` and `version` name the asset as the tenant's media store does: a new version is a new photo, and approval binds to the version, never to a mutable URL. The URL is https and starts with a prefix the manifest registers (`image_url_prefixes`), compared after the runtime parses and normalizes it: a URL with user info, a backslash, a fragment, or a `.` or `..` path segment (also percent-encoded, as `%2e`) is dropped, never resolved, so no path can step outside the approved one. `expires_at` is set only when the URL expires (a signed URL), and then the runtime drops it from a card it records after that time. */
|
|
657
|
+
ImageAsset: {
|
|
658
|
+
id: string;
|
|
659
|
+
version: string;
|
|
660
|
+
/** Format: uri */
|
|
661
|
+
url: string;
|
|
662
|
+
width?: number;
|
|
663
|
+
height?: number;
|
|
664
|
+
/** Format: date-time */
|
|
665
|
+
expires_at?: string;
|
|
666
|
+
};
|
|
581
667
|
ProfessionalSummary: {
|
|
582
668
|
/** @constant */
|
|
583
669
|
type: "professional";
|
|
@@ -586,8 +672,12 @@ interface components {
|
|
|
586
672
|
headline?: string;
|
|
587
673
|
/** Format: uri */
|
|
588
674
|
photo_url?: string;
|
|
675
|
+
/** @description v1-draft.15, approved photos, the first the hero (`photo_url` is its URL) */
|
|
676
|
+
images?: components["schemas"]["ImageAsset"][];
|
|
589
677
|
rating?: components["schemas"]["Rating"];
|
|
590
678
|
area?: components["schemas"]["Area"];
|
|
679
|
+
/** @description v1-draft.15: the lowest price the professional asks for a service, as the tenant knows it; left out when it does not */
|
|
680
|
+
price_from?: components["schemas"]["Money"];
|
|
591
681
|
top_services?: components["schemas"]["ServiceOffer"][];
|
|
592
682
|
/** Format: date-time */
|
|
593
683
|
next_available?: string | null;
|
|
@@ -609,12 +699,19 @@ interface components {
|
|
|
609
699
|
category?: string;
|
|
610
700
|
/** Format: uri */
|
|
611
701
|
photo_url?: string;
|
|
702
|
+
/** @description v1-draft.15, approved photos, the first the hero (`photo_url` is its URL) */
|
|
703
|
+
images?: components["schemas"]["ImageAsset"][];
|
|
612
704
|
rating?: components["schemas"]["Rating"];
|
|
613
705
|
area?: components["schemas"]["Area"];
|
|
614
706
|
price_from?: components["schemas"]["Money"];
|
|
615
707
|
/** @enum {string} */
|
|
616
708
|
price_unit?: "hour" | "day" | "week" | "month";
|
|
617
709
|
deep_link: string;
|
|
710
|
+
/**
|
|
711
|
+
* @description v1-draft.16, the renter licence the space asks for: `sent` (sent before renting) or `approved`. Absent: the space names none, never "none needed"; the agent says a licence is needed only when this says so.
|
|
712
|
+
* @enum {string}
|
|
713
|
+
*/
|
|
714
|
+
renter_license_requirement?: "sent" | "approved";
|
|
618
715
|
};
|
|
619
716
|
WorkspaceDetail: components["schemas"]["WorkspaceSummary"] & {
|
|
620
717
|
description?: string;
|
|
@@ -760,6 +857,35 @@ interface components {
|
|
|
760
857
|
country: string;
|
|
761
858
|
};
|
|
762
859
|
TextList: string[];
|
|
860
|
+
/** @description A business's setup steps, in the order the business should do them. The steps and their state are the tenant's own record; a business with nothing left to set up has every step `done`. */
|
|
861
|
+
SetupState: {
|
|
862
|
+
steps: components["schemas"]["SetupStep"][];
|
|
863
|
+
};
|
|
864
|
+
/** @description One step of a business's setup. `title`, `body` and `label` are the tenant's own words for it, shown on the `next_step` card when the step has a `deep_link`. A `blocked` step says why in `reason`. */
|
|
865
|
+
SetupStep: {
|
|
866
|
+
/**
|
|
867
|
+
* @description the tenant's id for the step, stable across reads; the agent names a step by it
|
|
868
|
+
* @example business_name
|
|
869
|
+
* @example opening_hours
|
|
870
|
+
* @example payouts
|
|
871
|
+
*/
|
|
872
|
+
id: string;
|
|
873
|
+
/** @description the step, as the person knows it */
|
|
874
|
+
title: string;
|
|
875
|
+
/**
|
|
876
|
+
* @description `not_started` and `in_progress` are still to do, `done` is finished, and `blocked` waits on something the person cannot do in this conversation (a review, another step), named in `reason`.
|
|
877
|
+
* @enum {string}
|
|
878
|
+
*/
|
|
879
|
+
status: "not_started" | "in_progress" | "done" | "blocked";
|
|
880
|
+
/** @description what the step is for, in one or two sentences */
|
|
881
|
+
body?: string;
|
|
882
|
+
/** @description why a `blocked` step is blocked; only a `blocked` step has one */
|
|
883
|
+
reason?: string;
|
|
884
|
+
/** @description the action's words on its `next_step` card */
|
|
885
|
+
label?: string;
|
|
886
|
+
/** @description For a step finished on the tenant's own screen, a link into the tenant's app. It must start with a prefix registered for the environment and pass the link checks (`admin-v1.yaml`, `Connector.deep_link_prefixes`). The runtime removes one that fails, and the step is then shown without a card. */
|
|
887
|
+
deep_link?: string;
|
|
888
|
+
} & unknown;
|
|
763
889
|
/** @description One of the signed-in customer's kits: items a styling-kit retailer sends to try at home, each kept or returned, the kept ones charged. `status` is where the kit is in its life: `preparing` (being put together), `shipped` (on its way), `delivered` (arrived, deciding not open yet), `feedback_open` (the customer decides keep or return for each item, until `feedback_closes_at`), `feedback_closed` (the decisions are in; the items to return are due back by `return_by`), `returned` (the returned items arrived), `billed` (the kept items were charged: `order_id`), `cancelled`. A retailer whose kits skip a state (feedback opens on delivery) never sends it. "What do I still need to do" is answered by `undecided_count` and each item's `decision` before `feedback_closes_at`, and by the items to return and `return_by` after it. */
|
|
764
890
|
Kit: {
|
|
765
891
|
/** @constant */
|
|
@@ -1218,6 +1344,36 @@ interface operations {
|
|
|
1218
1344
|
default: components["responses"]["Problem"];
|
|
1219
1345
|
};
|
|
1220
1346
|
};
|
|
1347
|
+
list_services_in_area: {
|
|
1348
|
+
parameters: {
|
|
1349
|
+
query?: {
|
|
1350
|
+
lat?: components["parameters"]["Lat"];
|
|
1351
|
+
lng?: components["parameters"]["Lng"];
|
|
1352
|
+
radius_miles?: components["parameters"]["RadiusMiles"];
|
|
1353
|
+
};
|
|
1354
|
+
header?: {
|
|
1355
|
+
/** @description on every tool call in a session, a channel session's included (never on the catalogue sweep), the session's id; informational and not signed */
|
|
1356
|
+
"Vinaverse-Session"?: components["parameters"]["VinaverseSession"];
|
|
1357
|
+
/** @description on every tool call of a session that belongs to a conversation (never on the catalogue sweep), its id; informational and not signed */
|
|
1358
|
+
"Vinaverse-Conversation"?: components["parameters"]["VinaverseConversation"];
|
|
1359
|
+
};
|
|
1360
|
+
path?: never;
|
|
1361
|
+
cookie?: never;
|
|
1362
|
+
};
|
|
1363
|
+
requestBody?: never;
|
|
1364
|
+
responses: {
|
|
1365
|
+
/** @description OK */
|
|
1366
|
+
200: {
|
|
1367
|
+
headers: {
|
|
1368
|
+
[name: string]: unknown;
|
|
1369
|
+
};
|
|
1370
|
+
content: {
|
|
1371
|
+
"application/json": components["schemas"]["AreaInventory"];
|
|
1372
|
+
};
|
|
1373
|
+
};
|
|
1374
|
+
default: components["responses"]["Problem"];
|
|
1375
|
+
};
|
|
1376
|
+
};
|
|
1221
1377
|
search_workspaces: {
|
|
1222
1378
|
parameters: {
|
|
1223
1379
|
query?: {
|
|
@@ -1605,6 +1761,32 @@ interface operations {
|
|
|
1605
1761
|
default: components["responses"]["Problem"];
|
|
1606
1762
|
};
|
|
1607
1763
|
};
|
|
1764
|
+
get_setup_state: {
|
|
1765
|
+
parameters: {
|
|
1766
|
+
query?: never;
|
|
1767
|
+
header?: {
|
|
1768
|
+
/** @description on every tool call in a session, a channel session's included (never on the catalogue sweep), the session's id; informational and not signed */
|
|
1769
|
+
"Vinaverse-Session"?: components["parameters"]["VinaverseSession"];
|
|
1770
|
+
/** @description on every tool call of a session that belongs to a conversation (never on the catalogue sweep), its id; informational and not signed */
|
|
1771
|
+
"Vinaverse-Conversation"?: components["parameters"]["VinaverseConversation"];
|
|
1772
|
+
};
|
|
1773
|
+
path?: never;
|
|
1774
|
+
cookie?: never;
|
|
1775
|
+
};
|
|
1776
|
+
requestBody?: never;
|
|
1777
|
+
responses: {
|
|
1778
|
+
/** @description OK */
|
|
1779
|
+
200: {
|
|
1780
|
+
headers: {
|
|
1781
|
+
[name: string]: unknown;
|
|
1782
|
+
};
|
|
1783
|
+
content: {
|
|
1784
|
+
"application/json": components["schemas"]["SetupState"];
|
|
1785
|
+
};
|
|
1786
|
+
};
|
|
1787
|
+
default: components["responses"]["Problem"];
|
|
1788
|
+
};
|
|
1789
|
+
};
|
|
1608
1790
|
create_handoff: {
|
|
1609
1791
|
parameters: {
|
|
1610
1792
|
query?: never;
|