@ellipsis-dev/sdk 0.38.0 → 0.43.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/README.md +4 -3
- package/dist/index.d.ts +59 -5
- package/dist/index.js +67 -3
- package/dist/store/index.d.ts +9 -3
- package/dist/store/index.js +10 -2
- package/dist/stream/index.d.ts +1 -1
- package/dist/{types-D4cLMGUn.d.ts → types-BAJ82SH6.d.ts} +305 -13
- package/package.json +1 -1
- package/schema/frames.schema.json +13 -0
- package/schema/lifecycle.schema.json +13 -0
- package/schema/openapi.v1.json +576 -19
|
@@ -1274,7 +1274,7 @@ interface paths {
|
|
|
1274
1274
|
get: operations['get_session'];
|
|
1275
1275
|
/**
|
|
1276
1276
|
* Update Session
|
|
1277
|
-
* @description Archive or unarchive a session and return it.
|
|
1277
|
+
* @description Archive or unarchive a session, or set its summary, and return it.
|
|
1278
1278
|
*
|
|
1279
1279
|
* Set archived to true to record the current server time and the
|
|
1280
1280
|
* authenticated GitHub user. API-key requests record no user.
|
|
@@ -1292,6 +1292,11 @@ interface paths {
|
|
|
1292
1292
|
* take messages again. 409 `session_superseded` when a newer session
|
|
1293
1293
|
* now answers the same thread.
|
|
1294
1294
|
*
|
|
1295
|
+
* Set summary to name the session. The summary's source becomes
|
|
1296
|
+
* `user`, and Ellipsis never replaces it with a generated one. With
|
|
1297
|
+
* both fields, the archive change applies first, and a refused
|
|
1298
|
+
* archive change leaves the summary as it was.
|
|
1299
|
+
*
|
|
1295
1300
|
* Changes are delivered to session and session-list streams.
|
|
1296
1301
|
*/
|
|
1297
1302
|
put: operations['update_session'];
|
|
@@ -1523,6 +1528,54 @@ interface paths {
|
|
|
1523
1528
|
patch?: never;
|
|
1524
1529
|
trace?: never;
|
|
1525
1530
|
};
|
|
1531
|
+
'/v1/sessions/{session_id}/images/{id}': {
|
|
1532
|
+
parameters: {
|
|
1533
|
+
query?: never;
|
|
1534
|
+
header?: never;
|
|
1535
|
+
path?: never;
|
|
1536
|
+
cookie?: never;
|
|
1537
|
+
};
|
|
1538
|
+
/**
|
|
1539
|
+
* Get Session Image
|
|
1540
|
+
* @description Return an image sent with a message to the session.
|
|
1541
|
+
*
|
|
1542
|
+
* Each message lists its images, with their IDs, in `images`.
|
|
1543
|
+
*/
|
|
1544
|
+
get: operations['get_session_image'];
|
|
1545
|
+
put?: never;
|
|
1546
|
+
post?: never;
|
|
1547
|
+
delete?: never;
|
|
1548
|
+
options?: never;
|
|
1549
|
+
head?: never;
|
|
1550
|
+
patch?: never;
|
|
1551
|
+
trace?: never;
|
|
1552
|
+
};
|
|
1553
|
+
'/v1/user/settings': {
|
|
1554
|
+
parameters: {
|
|
1555
|
+
query?: never;
|
|
1556
|
+
header?: never;
|
|
1557
|
+
path?: never;
|
|
1558
|
+
cookie?: never;
|
|
1559
|
+
};
|
|
1560
|
+
/**
|
|
1561
|
+
* Get User Settings
|
|
1562
|
+
* @description Get the signed in user's own settings.
|
|
1563
|
+
*/
|
|
1564
|
+
get: operations['get_user_settings'];
|
|
1565
|
+
put?: never;
|
|
1566
|
+
post?: never;
|
|
1567
|
+
delete?: never;
|
|
1568
|
+
options?: never;
|
|
1569
|
+
head?: never;
|
|
1570
|
+
/**
|
|
1571
|
+
* Patch User Settings
|
|
1572
|
+
* @description Change the signed in user's own settings.
|
|
1573
|
+
*
|
|
1574
|
+
* Only the keys sent change, and the response is every setting.
|
|
1575
|
+
*/
|
|
1576
|
+
patch: operations['patch_user_settings'];
|
|
1577
|
+
trace?: never;
|
|
1578
|
+
};
|
|
1526
1579
|
'/v1/user/tokens': {
|
|
1527
1580
|
parameters: {
|
|
1528
1581
|
query?: never;
|
|
@@ -8068,6 +8121,22 @@ interface components {
|
|
|
8068
8121
|
data_retention?: components['schemas']['DataRetentionSettings-Input'] | null;
|
|
8069
8122
|
notifications?: components['schemas']['NotificationSettings'] | null;
|
|
8070
8123
|
};
|
|
8124
|
+
/**
|
|
8125
|
+
* PatchUserSettingsRequest
|
|
8126
|
+
* @description Change the keys sent; every other key stays as it is.
|
|
8127
|
+
*/
|
|
8128
|
+
PatchUserSettingsRequest: {
|
|
8129
|
+
web?: components['schemas']['PatchUserSettingsWeb'] | null;
|
|
8130
|
+
};
|
|
8131
|
+
/** PatchUserSettingsWeb */
|
|
8132
|
+
PatchUserSettingsWeb: {
|
|
8133
|
+
ui?: components['schemas']['PatchUserSettingsWebUi'] | null;
|
|
8134
|
+
};
|
|
8135
|
+
/** PatchUserSettingsWebUi */
|
|
8136
|
+
PatchUserSettingsWebUi: {
|
|
8137
|
+
density?: components['schemas']['UiSize'] | null;
|
|
8138
|
+
font_size?: components['schemas']['UiSize'] | null;
|
|
8139
|
+
};
|
|
8071
8140
|
/**
|
|
8072
8141
|
* PermissionsConfig
|
|
8073
8142
|
* @description What the agent is allowed to touch, per credential the platform mints
|
|
@@ -8710,6 +8779,11 @@ interface components {
|
|
|
8710
8779
|
Review: {
|
|
8711
8780
|
/** Base Sha */
|
|
8712
8781
|
base_sha: string;
|
|
8782
|
+
/**
|
|
8783
|
+
* Blocking
|
|
8784
|
+
* @description Blocking comments posted to GitHub.
|
|
8785
|
+
*/
|
|
8786
|
+
blocking: number;
|
|
8713
8787
|
/**
|
|
8714
8788
|
* Budget
|
|
8715
8789
|
* @description The reviewer sessions' spend budgets together, in millicents.
|
|
@@ -8730,11 +8804,6 @@ interface components {
|
|
|
8730
8804
|
event?: components['schemas']['CodeReviewEvent'] | null;
|
|
8731
8805
|
/** Finalized At */
|
|
8732
8806
|
finalized_at?: string | null;
|
|
8733
|
-
/**
|
|
8734
|
-
* Findings
|
|
8735
|
-
* @description Comments the reviewers returned, posted to GitHub or not.
|
|
8736
|
-
*/
|
|
8737
|
-
findings: number;
|
|
8738
8807
|
/**
|
|
8739
8808
|
* Github Review Id
|
|
8740
8809
|
* @description The GitHub review id once posted.
|
|
@@ -8747,6 +8816,11 @@ interface components {
|
|
|
8747
8816
|
head_sha: string;
|
|
8748
8817
|
/** Id */
|
|
8749
8818
|
id: string;
|
|
8819
|
+
/**
|
|
8820
|
+
* Non Blocking
|
|
8821
|
+
* @description Comments posted to GitHub that do not block.
|
|
8822
|
+
*/
|
|
8823
|
+
non_blocking: number;
|
|
8750
8824
|
/** @description The pull request as it was when the review ran. Null for a review Ellipsis ran before it kept the pull request. */
|
|
8751
8825
|
pull_request: components['schemas']['PullRequest'] | null;
|
|
8752
8826
|
repository: components['schemas']['GithubRepositorySnippet'];
|
|
@@ -8947,6 +9021,11 @@ interface components {
|
|
|
8947
9021
|
ReviewSummary: {
|
|
8948
9022
|
/** Base Sha */
|
|
8949
9023
|
base_sha: string;
|
|
9024
|
+
/**
|
|
9025
|
+
* Blocking
|
|
9026
|
+
* @description Blocking comments posted to GitHub.
|
|
9027
|
+
*/
|
|
9028
|
+
blocking: number;
|
|
8950
9029
|
/**
|
|
8951
9030
|
* Created At
|
|
8952
9031
|
* Format: date-time
|
|
@@ -8958,11 +9037,6 @@ interface components {
|
|
|
8958
9037
|
event?: components['schemas']['CodeReviewEvent'] | null;
|
|
8959
9038
|
/** Finalized At */
|
|
8960
9039
|
finalized_at?: string | null;
|
|
8961
|
-
/**
|
|
8962
|
-
* Findings
|
|
8963
|
-
* @description Comments the reviewers returned, posted to GitHub or not.
|
|
8964
|
-
*/
|
|
8965
|
-
findings: number;
|
|
8966
9040
|
/**
|
|
8967
9041
|
* Github Review Id
|
|
8968
9042
|
* @description The GitHub review id once posted.
|
|
@@ -8975,6 +9049,11 @@ interface components {
|
|
|
8975
9049
|
head_sha: string;
|
|
8976
9050
|
/** Id */
|
|
8977
9051
|
id: string;
|
|
9052
|
+
/**
|
|
9053
|
+
* Non Blocking
|
|
9054
|
+
* @description Comments posted to GitHub that do not block.
|
|
9055
|
+
*/
|
|
9056
|
+
non_blocking: number;
|
|
8978
9057
|
/** @description The pull request as it was when the review ran. Null for a review Ellipsis ran before it kept the pull request. */
|
|
8979
9058
|
pull_request: components['schemas']['PullRequest'] | null;
|
|
8980
9059
|
repository: components['schemas']['GithubRepositorySnippet'];
|
|
@@ -10378,6 +10457,11 @@ interface components {
|
|
|
10378
10457
|
* `[Image #N]` placeholder in the message body.
|
|
10379
10458
|
*/
|
|
10380
10459
|
SessionMessageImage: {
|
|
10460
|
+
/**
|
|
10461
|
+
* Id
|
|
10462
|
+
* @description The image's ID. `GET /v1/sessions/{session_id}/images/{id}` returns its bytes. Null when the image can't be fetched.
|
|
10463
|
+
*/
|
|
10464
|
+
id?: string | null;
|
|
10381
10465
|
/**
|
|
10382
10466
|
* Index
|
|
10383
10467
|
* @description 1-based position: the N in `[Image #N]`.
|
|
@@ -11308,6 +11392,12 @@ interface components {
|
|
|
11308
11392
|
*/
|
|
11309
11393
|
output_tokens: number;
|
|
11310
11394
|
};
|
|
11395
|
+
/**
|
|
11396
|
+
* UiSize
|
|
11397
|
+
* @description A step on the dashboard's five-step scale, shared by every size setting.
|
|
11398
|
+
* @enum {string}
|
|
11399
|
+
*/
|
|
11400
|
+
UiSize: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
11311
11401
|
/** UninstallGithubAppRequest */
|
|
11312
11402
|
UninstallGithubAppRequest: {
|
|
11313
11403
|
/** Confirm Account Login */
|
|
@@ -11401,14 +11491,19 @@ interface components {
|
|
|
11401
11491
|
};
|
|
11402
11492
|
/**
|
|
11403
11493
|
* UpdateSessionRequest
|
|
11404
|
-
* @description Set the session's archive state.
|
|
11494
|
+
* @description Set the session's archive state, its summary, or both.
|
|
11405
11495
|
*/
|
|
11406
11496
|
UpdateSessionRequest: {
|
|
11407
11497
|
/**
|
|
11408
11498
|
* Archived
|
|
11409
11499
|
* @description True to archive the session; false to unarchive it.
|
|
11410
11500
|
*/
|
|
11411
|
-
archived
|
|
11501
|
+
archived?: boolean | null;
|
|
11502
|
+
/**
|
|
11503
|
+
* Summary
|
|
11504
|
+
* @description A name for the session. It becomes the summary with source `user`, and Ellipsis never replaces it with a generated one.
|
|
11505
|
+
*/
|
|
11506
|
+
summary?: string | null;
|
|
11412
11507
|
};
|
|
11413
11508
|
/**
|
|
11414
11509
|
* UsageDay
|
|
@@ -11446,6 +11541,36 @@ interface components {
|
|
|
11446
11541
|
/** Space */
|
|
11447
11542
|
space: number;
|
|
11448
11543
|
};
|
|
11544
|
+
/**
|
|
11545
|
+
* UserSettings
|
|
11546
|
+
* @description One user's own settings.
|
|
11547
|
+
*/
|
|
11548
|
+
UserSettings: {
|
|
11549
|
+
web: components['schemas']['UserSettingsWeb'];
|
|
11550
|
+
};
|
|
11551
|
+
/**
|
|
11552
|
+
* UserSettingsWeb
|
|
11553
|
+
* @description Settings for the web dashboard.
|
|
11554
|
+
*/
|
|
11555
|
+
UserSettingsWeb: {
|
|
11556
|
+
ui: components['schemas']['UserSettingsWebUi'];
|
|
11557
|
+
};
|
|
11558
|
+
/**
|
|
11559
|
+
* UserSettingsWebUi
|
|
11560
|
+
* @description How the web dashboard looks.
|
|
11561
|
+
*/
|
|
11562
|
+
UserSettingsWebUi: {
|
|
11563
|
+
/**
|
|
11564
|
+
* @description How much padding the dashboard uses.
|
|
11565
|
+
* @default md
|
|
11566
|
+
*/
|
|
11567
|
+
density: components['schemas']['UiSize'];
|
|
11568
|
+
/**
|
|
11569
|
+
* @description How large the dashboard's text is.
|
|
11570
|
+
* @default md
|
|
11571
|
+
*/
|
|
11572
|
+
font_size: components['schemas']['UiSize'];
|
|
11573
|
+
};
|
|
11449
11574
|
/**
|
|
11450
11575
|
* UserTokenApi
|
|
11451
11576
|
* @description A user token as shown in listings -- never includes the secret.
|
|
@@ -16219,6 +16344,169 @@ interface operations {
|
|
|
16219
16344
|
};
|
|
16220
16345
|
};
|
|
16221
16346
|
};
|
|
16347
|
+
get_session_image: {
|
|
16348
|
+
parameters: {
|
|
16349
|
+
query?: never;
|
|
16350
|
+
header?: {
|
|
16351
|
+
'user-agent'?: string | null;
|
|
16352
|
+
};
|
|
16353
|
+
path: {
|
|
16354
|
+
session_id: string;
|
|
16355
|
+
id: string;
|
|
16356
|
+
};
|
|
16357
|
+
cookie?: never;
|
|
16358
|
+
};
|
|
16359
|
+
requestBody?: never;
|
|
16360
|
+
responses: {
|
|
16361
|
+
/** @description Successful Response */
|
|
16362
|
+
200: {
|
|
16363
|
+
headers: {
|
|
16364
|
+
[name: string]: unknown;
|
|
16365
|
+
};
|
|
16366
|
+
content: {
|
|
16367
|
+
'application/json': components['schemas']['ImageAttachment'];
|
|
16368
|
+
};
|
|
16369
|
+
};
|
|
16370
|
+
/** @description The bearer token is missing, invalid, or revoked. */
|
|
16371
|
+
401: {
|
|
16372
|
+
headers: {
|
|
16373
|
+
[name: string]: unknown;
|
|
16374
|
+
};
|
|
16375
|
+
content: {
|
|
16376
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16377
|
+
};
|
|
16378
|
+
};
|
|
16379
|
+
/** @description The credential may not perform this action, or the account is blocked. */
|
|
16380
|
+
403: {
|
|
16381
|
+
headers: {
|
|
16382
|
+
[name: string]: unknown;
|
|
16383
|
+
};
|
|
16384
|
+
content: {
|
|
16385
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16386
|
+
};
|
|
16387
|
+
};
|
|
16388
|
+
/** @description No such session or image in your account. */
|
|
16389
|
+
404: {
|
|
16390
|
+
headers: {
|
|
16391
|
+
[name: string]: unknown;
|
|
16392
|
+
};
|
|
16393
|
+
content: {
|
|
16394
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16395
|
+
};
|
|
16396
|
+
};
|
|
16397
|
+
/** @description Validation Error */
|
|
16398
|
+
422: {
|
|
16399
|
+
headers: {
|
|
16400
|
+
[name: string]: unknown;
|
|
16401
|
+
};
|
|
16402
|
+
content: {
|
|
16403
|
+
'application/json': components['schemas']['HTTPValidationError'];
|
|
16404
|
+
};
|
|
16405
|
+
};
|
|
16406
|
+
};
|
|
16407
|
+
};
|
|
16408
|
+
get_user_settings: {
|
|
16409
|
+
parameters: {
|
|
16410
|
+
query?: never;
|
|
16411
|
+
header?: {
|
|
16412
|
+
'user-agent'?: string | null;
|
|
16413
|
+
};
|
|
16414
|
+
path?: never;
|
|
16415
|
+
cookie?: never;
|
|
16416
|
+
};
|
|
16417
|
+
requestBody?: never;
|
|
16418
|
+
responses: {
|
|
16419
|
+
/** @description Successful Response */
|
|
16420
|
+
200: {
|
|
16421
|
+
headers: {
|
|
16422
|
+
[name: string]: unknown;
|
|
16423
|
+
};
|
|
16424
|
+
content: {
|
|
16425
|
+
'application/json': components['schemas']['UserSettings'];
|
|
16426
|
+
};
|
|
16427
|
+
};
|
|
16428
|
+
/** @description The bearer token is missing, invalid, or revoked. */
|
|
16429
|
+
401: {
|
|
16430
|
+
headers: {
|
|
16431
|
+
[name: string]: unknown;
|
|
16432
|
+
};
|
|
16433
|
+
content: {
|
|
16434
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16435
|
+
};
|
|
16436
|
+
};
|
|
16437
|
+
/** @description The credential may not perform this action, or the account is blocked. */
|
|
16438
|
+
403: {
|
|
16439
|
+
headers: {
|
|
16440
|
+
[name: string]: unknown;
|
|
16441
|
+
};
|
|
16442
|
+
content: {
|
|
16443
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16444
|
+
};
|
|
16445
|
+
};
|
|
16446
|
+
/** @description Validation Error */
|
|
16447
|
+
422: {
|
|
16448
|
+
headers: {
|
|
16449
|
+
[name: string]: unknown;
|
|
16450
|
+
};
|
|
16451
|
+
content: {
|
|
16452
|
+
'application/json': components['schemas']['HTTPValidationError'];
|
|
16453
|
+
};
|
|
16454
|
+
};
|
|
16455
|
+
};
|
|
16456
|
+
};
|
|
16457
|
+
patch_user_settings: {
|
|
16458
|
+
parameters: {
|
|
16459
|
+
query?: never;
|
|
16460
|
+
header?: {
|
|
16461
|
+
'user-agent'?: string | null;
|
|
16462
|
+
};
|
|
16463
|
+
path?: never;
|
|
16464
|
+
cookie?: never;
|
|
16465
|
+
};
|
|
16466
|
+
requestBody: {
|
|
16467
|
+
content: {
|
|
16468
|
+
'application/json': components['schemas']['PatchUserSettingsRequest'];
|
|
16469
|
+
};
|
|
16470
|
+
};
|
|
16471
|
+
responses: {
|
|
16472
|
+
/** @description Successful Response */
|
|
16473
|
+
200: {
|
|
16474
|
+
headers: {
|
|
16475
|
+
[name: string]: unknown;
|
|
16476
|
+
};
|
|
16477
|
+
content: {
|
|
16478
|
+
'application/json': components['schemas']['UserSettings'];
|
|
16479
|
+
};
|
|
16480
|
+
};
|
|
16481
|
+
/** @description The bearer token is missing, invalid, or revoked. */
|
|
16482
|
+
401: {
|
|
16483
|
+
headers: {
|
|
16484
|
+
[name: string]: unknown;
|
|
16485
|
+
};
|
|
16486
|
+
content: {
|
|
16487
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16488
|
+
};
|
|
16489
|
+
};
|
|
16490
|
+
/** @description The credential may not perform this action, or the account is blocked. */
|
|
16491
|
+
403: {
|
|
16492
|
+
headers: {
|
|
16493
|
+
[name: string]: unknown;
|
|
16494
|
+
};
|
|
16495
|
+
content: {
|
|
16496
|
+
'application/json': components['schemas']['ErrorResponse'];
|
|
16497
|
+
};
|
|
16498
|
+
};
|
|
16499
|
+
/** @description Validation Error */
|
|
16500
|
+
422: {
|
|
16501
|
+
headers: {
|
|
16502
|
+
[name: string]: unknown;
|
|
16503
|
+
};
|
|
16504
|
+
content: {
|
|
16505
|
+
'application/json': components['schemas']['HTTPValidationError'];
|
|
16506
|
+
};
|
|
16507
|
+
};
|
|
16508
|
+
};
|
|
16509
|
+
};
|
|
16222
16510
|
list_user_tokens: {
|
|
16223
16511
|
parameters: {
|
|
16224
16512
|
query?: never;
|
|
@@ -19690,6 +19978,10 @@ interface SessionMessage {
|
|
|
19690
19978
|
* `[Image #N]` placeholder in the message body.
|
|
19691
19979
|
*/
|
|
19692
19980
|
interface SessionMessageImage {
|
|
19981
|
+
/**
|
|
19982
|
+
* The image's ID. `GET /v1/sessions/{session_id}/images/{id}` returns its bytes. Null when the image can't be fetched.
|
|
19983
|
+
*/
|
|
19984
|
+
id?: string | null;
|
|
19693
19985
|
/**
|
|
19694
19986
|
* 1-based position: the N in `[Image #N]`.
|
|
19695
19987
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ellipsis-dev/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"description": "TypeScript SDK for the Ellipsis agents platform: /v1 REST types + client, the session stream WebSocket client, and the session transcript store.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -11019,6 +11019,19 @@
|
|
|
11019
11019
|
"SessionMessageImage": {
|
|
11020
11020
|
"description": "One image on a message, metadata only. `index` is the N in the\n`[Image #N]` placeholder in the message body.",
|
|
11021
11021
|
"properties": {
|
|
11022
|
+
"id": {
|
|
11023
|
+
"anyOf": [
|
|
11024
|
+
{
|
|
11025
|
+
"type": "string"
|
|
11026
|
+
},
|
|
11027
|
+
{
|
|
11028
|
+
"type": "null"
|
|
11029
|
+
}
|
|
11030
|
+
],
|
|
11031
|
+
"default": null,
|
|
11032
|
+
"description": "The image's ID. `GET /v1/sessions/{session_id}/images/{id}` returns its bytes. Null when the image can't be fetched.",
|
|
11033
|
+
"title": "Id"
|
|
11034
|
+
},
|
|
11022
11035
|
"index": {
|
|
11023
11036
|
"description": "1-based position: the N in `[Image #N]`.",
|
|
11024
11037
|
"title": "Index",
|
|
@@ -533,6 +533,19 @@
|
|
|
533
533
|
"SessionMessageImage": {
|
|
534
534
|
"description": "One image on a message, metadata only. `index` is the N in the\n`[Image #N]` placeholder in the message body.",
|
|
535
535
|
"properties": {
|
|
536
|
+
"id": {
|
|
537
|
+
"anyOf": [
|
|
538
|
+
{
|
|
539
|
+
"type": "string"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"type": "null"
|
|
543
|
+
}
|
|
544
|
+
],
|
|
545
|
+
"default": null,
|
|
546
|
+
"description": "The image's ID. `GET /v1/sessions/{session_id}/images/{id}` returns its bytes. Null when the image can't be fetched.",
|
|
547
|
+
"title": "Id"
|
|
548
|
+
},
|
|
536
549
|
"index": {
|
|
537
550
|
"description": "1-based position: the N in `[Image #N]`.",
|
|
538
551
|
"title": "Index",
|