@hexis-ai/engram-server 0.3.0 → 0.5.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/adapters/memory-key-store.js +9 -11
- package/dist/adapters/memory.d.ts +8 -1
- package/dist/adapters/memory.js +0 -0
- package/dist/adapters/postgres-key-store.js +5 -11
- package/dist/adapters/postgres.d.ts +6 -1
- package/dist/adapters/postgres.js +83 -0
- package/dist/key-store.d.ts +29 -0
- package/dist/key-store.js +26 -0
- package/dist/migrations/0002-aliases.d.ts +2 -0
- package/dist/migrations/0002-aliases.js +30 -0
- package/dist/migrations/index.js +5 -1
- package/dist/openapi.js +213 -115
- package/dist/routes/persons.d.ts +8 -6
- package/dist/routes/persons.js +25 -7
- package/dist/routes/sessions.d.ts +5 -4
- package/dist/routes/sessions.js +12 -4
- package/dist/schemas.d.ts +5 -0
- package/dist/schemas.js +10 -0
- package/dist/server.js +5 -1
- package/dist/storage.d.ts +26 -1
- package/openapi.json +306 -116
- package/package.json +2 -2
package/openapi.json
CHANGED
|
@@ -3,12 +3,38 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "engram-server",
|
|
5
5
|
"version": "1.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "AI エージェント向けのクロスセッション検索。リクエストボディはサーバーの Zod スキーマ(src/schemas.ts)から導出される。レスポンススキーマは現状ステータスコードのみの記述で、本格的な記述は今後対応予定。"
|
|
7
7
|
},
|
|
8
|
+
"tags": [
|
|
9
|
+
{
|
|
10
|
+
"name": "Me",
|
|
11
|
+
"description": "識別プローブ"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Sessions",
|
|
15
|
+
"description": "セッションの作成・取得・イベント追加"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "Search",
|
|
19
|
+
"description": "ワークスペースコーパスへのスコアリング検索"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "Persons",
|
|
23
|
+
"description": "person の作成・更新・検索"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "Workspaces (admin)",
|
|
27
|
+
"description": "ワークスペースの管理(管理者トークン必須)"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "API Keys (admin)",
|
|
31
|
+
"description": "ワークスペース API キーの発行・無効化(管理者トークン必須)"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
8
34
|
"servers": [
|
|
9
35
|
{
|
|
10
36
|
"url": "/",
|
|
11
|
-
"description": "
|
|
37
|
+
"description": "デプロイされた engram-server からの相対パス"
|
|
12
38
|
}
|
|
13
39
|
],
|
|
14
40
|
"security": [
|
|
@@ -21,13 +47,13 @@
|
|
|
21
47
|
"workspaceKey": {
|
|
22
48
|
"type": "http",
|
|
23
49
|
"scheme": "bearer",
|
|
24
|
-
"description": "
|
|
50
|
+
"description": "ワークスペース API キー(`eng_…`)。`X-Api-Key` ヘッダーでも受け付ける。"
|
|
25
51
|
},
|
|
26
52
|
"adminToken": {
|
|
27
53
|
"type": "apiKey",
|
|
28
54
|
"in": "header",
|
|
29
55
|
"name": "X-Admin-Token",
|
|
30
|
-
"description": "
|
|
56
|
+
"description": "`/admin/v1/*` 用のプラットフォーム管理者トークン。`Authorization: Bearer` でも受け付ける。"
|
|
31
57
|
}
|
|
32
58
|
},
|
|
33
59
|
"schemas": {
|
|
@@ -329,20 +355,23 @@
|
|
|
329
355
|
"paths": {
|
|
330
356
|
"/v1/me": {
|
|
331
357
|
"get": {
|
|
332
|
-
"summary": "
|
|
358
|
+
"summary": "識別プローブ — 呼び出し元のキーが解決するワークスペースを返す。",
|
|
333
359
|
"responses": {
|
|
334
360
|
"200": {
|
|
335
|
-
"description": "
|
|
361
|
+
"description": "ワークスペース id"
|
|
336
362
|
},
|
|
337
363
|
"401": {
|
|
338
|
-
"description": "
|
|
364
|
+
"description": "認証エラー"
|
|
339
365
|
}
|
|
340
|
-
}
|
|
366
|
+
},
|
|
367
|
+
"tags": [
|
|
368
|
+
"Me"
|
|
369
|
+
]
|
|
341
370
|
}
|
|
342
371
|
},
|
|
343
372
|
"/v1/sessions": {
|
|
344
373
|
"post": {
|
|
345
|
-
"summary": "
|
|
374
|
+
"summary": "セッションを作成する。",
|
|
346
375
|
"requestBody": {
|
|
347
376
|
"required": true,
|
|
348
377
|
"content": {
|
|
@@ -355,18 +384,21 @@
|
|
|
355
384
|
},
|
|
356
385
|
"responses": {
|
|
357
386
|
"200": {
|
|
358
|
-
"description": "
|
|
387
|
+
"description": "作成されたセッション id"
|
|
359
388
|
},
|
|
360
389
|
"400": {
|
|
361
|
-
"description": "
|
|
390
|
+
"description": "リクエストボディが不正"
|
|
362
391
|
},
|
|
363
392
|
"401": {
|
|
364
|
-
"description": "
|
|
393
|
+
"description": "認証エラー"
|
|
365
394
|
}
|
|
366
|
-
}
|
|
395
|
+
},
|
|
396
|
+
"tags": [
|
|
397
|
+
"Sessions"
|
|
398
|
+
]
|
|
367
399
|
},
|
|
368
400
|
"get": {
|
|
369
|
-
"summary": "
|
|
401
|
+
"summary": "最近のセッション一覧と、それに紐づく persons マップを取得する。",
|
|
370
402
|
"parameters": [
|
|
371
403
|
{
|
|
372
404
|
"name": "limit",
|
|
@@ -376,7 +408,7 @@
|
|
|
376
408
|
"type": "integer",
|
|
377
409
|
"minimum": 1
|
|
378
410
|
},
|
|
379
|
-
"description": "
|
|
411
|
+
"description": "ページサイズ。サーバー側で上限が適用される。"
|
|
380
412
|
},
|
|
381
413
|
{
|
|
382
414
|
"name": "channel",
|
|
@@ -385,22 +417,25 @@
|
|
|
385
417
|
"schema": {
|
|
386
418
|
"type": "string"
|
|
387
419
|
},
|
|
388
|
-
"description": "
|
|
420
|
+
"description": "セッションのチャンネルで絞り込む。"
|
|
389
421
|
}
|
|
390
422
|
],
|
|
391
423
|
"responses": {
|
|
392
424
|
"200": {
|
|
393
|
-
"description": "
|
|
425
|
+
"description": "セッション一覧のエンベロープ"
|
|
394
426
|
},
|
|
395
427
|
"401": {
|
|
396
|
-
"description": "
|
|
428
|
+
"description": "認証エラー"
|
|
397
429
|
}
|
|
398
|
-
}
|
|
430
|
+
},
|
|
431
|
+
"tags": [
|
|
432
|
+
"Sessions"
|
|
433
|
+
]
|
|
399
434
|
}
|
|
400
435
|
},
|
|
401
436
|
"/v1/sessions/{id}": {
|
|
402
437
|
"get": {
|
|
403
|
-
"summary": "
|
|
438
|
+
"summary": "単一セッションと、それに紐づく persons マップを取得する。",
|
|
404
439
|
"parameters": [
|
|
405
440
|
{
|
|
406
441
|
"name": "id",
|
|
@@ -409,25 +444,28 @@
|
|
|
409
444
|
"schema": {
|
|
410
445
|
"type": "string"
|
|
411
446
|
},
|
|
412
|
-
"description": "
|
|
447
|
+
"description": "セッション id。"
|
|
413
448
|
}
|
|
414
449
|
],
|
|
415
450
|
"responses": {
|
|
416
451
|
"200": {
|
|
417
|
-
"description": "
|
|
452
|
+
"description": "セッションのエンベロープ"
|
|
418
453
|
},
|
|
419
454
|
"401": {
|
|
420
|
-
"description": "
|
|
455
|
+
"description": "認証エラー"
|
|
421
456
|
},
|
|
422
457
|
"404": {
|
|
423
|
-
"description": "
|
|
458
|
+
"description": "セッションが見つからない"
|
|
424
459
|
}
|
|
425
|
-
}
|
|
460
|
+
},
|
|
461
|
+
"tags": [
|
|
462
|
+
"Sessions"
|
|
463
|
+
]
|
|
426
464
|
}
|
|
427
465
|
},
|
|
428
466
|
"/v1/sessions/{id}/events": {
|
|
429
467
|
"post": {
|
|
430
|
-
"summary": "
|
|
468
|
+
"summary": "セッションにイベントを追加する。",
|
|
431
469
|
"parameters": [
|
|
432
470
|
{
|
|
433
471
|
"name": "id",
|
|
@@ -436,7 +474,7 @@
|
|
|
436
474
|
"schema": {
|
|
437
475
|
"type": "string"
|
|
438
476
|
},
|
|
439
|
-
"description": "
|
|
477
|
+
"description": "セッション id。"
|
|
440
478
|
}
|
|
441
479
|
],
|
|
442
480
|
"requestBody": {
|
|
@@ -451,23 +489,54 @@
|
|
|
451
489
|
},
|
|
452
490
|
"responses": {
|
|
453
491
|
"204": {
|
|
454
|
-
"description": "
|
|
492
|
+
"description": "追加完了"
|
|
455
493
|
},
|
|
456
494
|
"400": {
|
|
457
|
-
"description": "
|
|
495
|
+
"description": "リクエストボディが不正"
|
|
458
496
|
},
|
|
459
497
|
"401": {
|
|
460
|
-
"description": "
|
|
498
|
+
"description": "認証エラー"
|
|
461
499
|
},
|
|
462
500
|
"404": {
|
|
463
|
-
"description": "
|
|
501
|
+
"description": "セッションが見つからない"
|
|
464
502
|
}
|
|
465
|
-
}
|
|
503
|
+
},
|
|
504
|
+
"tags": [
|
|
505
|
+
"Sessions"
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
"get": {
|
|
509
|
+
"summary": "セッションの生イベントログを seq 順で取得する(fold せず、各イベントの時刻つき)。",
|
|
510
|
+
"parameters": [
|
|
511
|
+
{
|
|
512
|
+
"name": "id",
|
|
513
|
+
"in": "path",
|
|
514
|
+
"required": true,
|
|
515
|
+
"schema": {
|
|
516
|
+
"type": "string"
|
|
517
|
+
},
|
|
518
|
+
"description": "セッション id。"
|
|
519
|
+
}
|
|
520
|
+
],
|
|
521
|
+
"responses": {
|
|
522
|
+
"200": {
|
|
523
|
+
"description": "イベントログ"
|
|
524
|
+
},
|
|
525
|
+
"401": {
|
|
526
|
+
"description": "認証エラー"
|
|
527
|
+
},
|
|
528
|
+
"404": {
|
|
529
|
+
"description": "セッションが見つからない"
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
"tags": [
|
|
533
|
+
"Sessions"
|
|
534
|
+
]
|
|
466
535
|
}
|
|
467
536
|
},
|
|
468
537
|
"/v1/search": {
|
|
469
538
|
"post": {
|
|
470
|
-
"summary": "
|
|
539
|
+
"summary": "クエリセッションに対してワークスペースのコーパスをスコアリングする。",
|
|
471
540
|
"requestBody": {
|
|
472
541
|
"required": true,
|
|
473
542
|
"content": {
|
|
@@ -480,23 +549,26 @@
|
|
|
480
549
|
},
|
|
481
550
|
"responses": {
|
|
482
551
|
"200": {
|
|
483
|
-
"description": "
|
|
552
|
+
"description": "スコアリング結果と persons マップ"
|
|
484
553
|
},
|
|
485
554
|
"400": {
|
|
486
|
-
"description": "
|
|
555
|
+
"description": "リクエストボディが不正"
|
|
487
556
|
},
|
|
488
557
|
"401": {
|
|
489
|
-
"description": "
|
|
558
|
+
"description": "認証エラー"
|
|
490
559
|
},
|
|
491
560
|
"404": {
|
|
492
|
-
"description": "
|
|
561
|
+
"description": "クエリセッションが見つからない"
|
|
493
562
|
}
|
|
494
|
-
}
|
|
563
|
+
},
|
|
564
|
+
"tags": [
|
|
565
|
+
"Search"
|
|
566
|
+
]
|
|
495
567
|
}
|
|
496
568
|
},
|
|
497
569
|
"/v1/persons": {
|
|
498
570
|
"post": {
|
|
499
|
-
"summary": "
|
|
571
|
+
"summary": "person を作成する(id はサーバーが採番する)。",
|
|
500
572
|
"requestBody": {
|
|
501
573
|
"required": true,
|
|
502
574
|
"content": {
|
|
@@ -509,18 +581,21 @@
|
|
|
509
581
|
},
|
|
510
582
|
"responses": {
|
|
511
583
|
"201": {
|
|
512
|
-
"description": "
|
|
584
|
+
"description": "作成された person"
|
|
513
585
|
},
|
|
514
586
|
"400": {
|
|
515
|
-
"description": "
|
|
587
|
+
"description": "リクエストボディが不正"
|
|
516
588
|
},
|
|
517
589
|
"401": {
|
|
518
|
-
"description": "
|
|
590
|
+
"description": "認証エラー"
|
|
519
591
|
}
|
|
520
|
-
}
|
|
592
|
+
},
|
|
593
|
+
"tags": [
|
|
594
|
+
"Persons"
|
|
595
|
+
]
|
|
521
596
|
},
|
|
522
597
|
"get": {
|
|
523
|
-
"summary": "
|
|
598
|
+
"summary": "person の一覧取得、またはフリーテキスト検索を行う。",
|
|
524
599
|
"parameters": [
|
|
525
600
|
{
|
|
526
601
|
"name": "limit",
|
|
@@ -530,7 +605,7 @@
|
|
|
530
605
|
"type": "integer",
|
|
531
606
|
"minimum": 1
|
|
532
607
|
},
|
|
533
|
-
"description": "
|
|
608
|
+
"description": "ページサイズ。サーバー側で上限が適用される。"
|
|
534
609
|
},
|
|
535
610
|
{
|
|
536
611
|
"name": "q",
|
|
@@ -539,22 +614,25 @@
|
|
|
539
614
|
"schema": {
|
|
540
615
|
"type": "string"
|
|
541
616
|
},
|
|
542
|
-
"description": "
|
|
617
|
+
"description": "id と display_name に対するフリーテキストクエリ。"
|
|
543
618
|
}
|
|
544
619
|
],
|
|
545
620
|
"responses": {
|
|
546
621
|
"200": {
|
|
547
|
-
"description": "person
|
|
622
|
+
"description": "person 一覧"
|
|
548
623
|
},
|
|
549
624
|
"401": {
|
|
550
|
-
"description": "
|
|
625
|
+
"description": "認証エラー"
|
|
551
626
|
}
|
|
552
|
-
}
|
|
627
|
+
},
|
|
628
|
+
"tags": [
|
|
629
|
+
"Persons"
|
|
630
|
+
]
|
|
553
631
|
}
|
|
554
632
|
},
|
|
555
633
|
"/v1/persons/{id}": {
|
|
556
634
|
"put": {
|
|
557
|
-
"summary": "
|
|
635
|
+
"summary": "呼び出し元が指定した id で person を upsert する。",
|
|
558
636
|
"parameters": [
|
|
559
637
|
{
|
|
560
638
|
"name": "id",
|
|
@@ -563,7 +641,7 @@
|
|
|
563
641
|
"schema": {
|
|
564
642
|
"type": "string"
|
|
565
643
|
},
|
|
566
|
-
"description": "
|
|
644
|
+
"description": "person id。"
|
|
567
645
|
}
|
|
568
646
|
],
|
|
569
647
|
"requestBody": {
|
|
@@ -578,18 +656,21 @@
|
|
|
578
656
|
},
|
|
579
657
|
"responses": {
|
|
580
658
|
"200": {
|
|
581
|
-
"description": "
|
|
659
|
+
"description": "upsert された person"
|
|
582
660
|
},
|
|
583
661
|
"400": {
|
|
584
|
-
"description": "
|
|
662
|
+
"description": "リクエストボディが不正"
|
|
585
663
|
},
|
|
586
664
|
"401": {
|
|
587
|
-
"description": "
|
|
665
|
+
"description": "認証エラー"
|
|
588
666
|
}
|
|
589
|
-
}
|
|
667
|
+
},
|
|
668
|
+
"tags": [
|
|
669
|
+
"Persons"
|
|
670
|
+
]
|
|
590
671
|
},
|
|
591
672
|
"patch": {
|
|
592
|
-
"summary": "
|
|
673
|
+
"summary": "person のプロフィール項目を部分更新する。",
|
|
593
674
|
"parameters": [
|
|
594
675
|
{
|
|
595
676
|
"name": "id",
|
|
@@ -598,7 +679,7 @@
|
|
|
598
679
|
"schema": {
|
|
599
680
|
"type": "string"
|
|
600
681
|
},
|
|
601
|
-
"description": "
|
|
682
|
+
"description": "person id。"
|
|
602
683
|
}
|
|
603
684
|
],
|
|
604
685
|
"requestBody": {
|
|
@@ -613,21 +694,24 @@
|
|
|
613
694
|
},
|
|
614
695
|
"responses": {
|
|
615
696
|
"200": {
|
|
616
|
-
"description": "
|
|
697
|
+
"description": "更新された person"
|
|
617
698
|
},
|
|
618
699
|
"400": {
|
|
619
|
-
"description": "
|
|
700
|
+
"description": "リクエストボディが不正"
|
|
620
701
|
},
|
|
621
702
|
"401": {
|
|
622
|
-
"description": "
|
|
703
|
+
"description": "認証エラー"
|
|
623
704
|
},
|
|
624
705
|
"404": {
|
|
625
|
-
"description": "person
|
|
706
|
+
"description": "person が見つからない"
|
|
626
707
|
}
|
|
627
|
-
}
|
|
708
|
+
},
|
|
709
|
+
"tags": [
|
|
710
|
+
"Persons"
|
|
711
|
+
]
|
|
628
712
|
},
|
|
629
713
|
"get": {
|
|
630
|
-
"summary": "
|
|
714
|
+
"summary": "単一の person を取得する。",
|
|
631
715
|
"parameters": [
|
|
632
716
|
{
|
|
633
717
|
"name": "id",
|
|
@@ -636,7 +720,7 @@
|
|
|
636
720
|
"schema": {
|
|
637
721
|
"type": "string"
|
|
638
722
|
},
|
|
639
|
-
"description": "
|
|
723
|
+
"description": "person id。"
|
|
640
724
|
}
|
|
641
725
|
],
|
|
642
726
|
"responses": {
|
|
@@ -644,17 +728,20 @@
|
|
|
644
728
|
"description": "person"
|
|
645
729
|
},
|
|
646
730
|
"401": {
|
|
647
|
-
"description": "
|
|
731
|
+
"description": "認証エラー"
|
|
648
732
|
},
|
|
649
733
|
"404": {
|
|
650
|
-
"description": "person
|
|
734
|
+
"description": "person が見つからない"
|
|
651
735
|
}
|
|
652
|
-
}
|
|
736
|
+
},
|
|
737
|
+
"tags": [
|
|
738
|
+
"Persons"
|
|
739
|
+
]
|
|
653
740
|
}
|
|
654
741
|
},
|
|
655
742
|
"/v1/persons/{id}/sessions": {
|
|
656
743
|
"get": {
|
|
657
|
-
"summary": "
|
|
744
|
+
"summary": "この person が参加している(または閲覧可能な)セッション一覧。",
|
|
658
745
|
"parameters": [
|
|
659
746
|
{
|
|
660
747
|
"name": "id",
|
|
@@ -663,7 +750,7 @@
|
|
|
663
750
|
"schema": {
|
|
664
751
|
"type": "string"
|
|
665
752
|
},
|
|
666
|
-
"description": "
|
|
753
|
+
"description": "person id。"
|
|
667
754
|
},
|
|
668
755
|
{
|
|
669
756
|
"name": "limit",
|
|
@@ -673,7 +760,7 @@
|
|
|
673
760
|
"type": "integer",
|
|
674
761
|
"minimum": 1
|
|
675
762
|
},
|
|
676
|
-
"description": "
|
|
763
|
+
"description": "ページサイズ。サーバー側で上限が適用される。"
|
|
677
764
|
},
|
|
678
765
|
{
|
|
679
766
|
"name": "channel",
|
|
@@ -682,7 +769,7 @@
|
|
|
682
769
|
"schema": {
|
|
683
770
|
"type": "string"
|
|
684
771
|
},
|
|
685
|
-
"description": "
|
|
772
|
+
"description": "セッションのチャンネルで絞り込む。"
|
|
686
773
|
},
|
|
687
774
|
{
|
|
688
775
|
"name": "scope",
|
|
@@ -695,22 +782,104 @@
|
|
|
695
782
|
"viewable"
|
|
696
783
|
]
|
|
697
784
|
},
|
|
698
|
-
"description": "`participant
|
|
785
|
+
"description": "`participant`(デフォルト)または `viewable`。"
|
|
786
|
+
}
|
|
787
|
+
],
|
|
788
|
+
"responses": {
|
|
789
|
+
"200": {
|
|
790
|
+
"description": "セッション一覧のエンベロープ"
|
|
791
|
+
},
|
|
792
|
+
"401": {
|
|
793
|
+
"description": "認証エラー"
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
"tags": [
|
|
797
|
+
"Persons"
|
|
798
|
+
]
|
|
799
|
+
}
|
|
800
|
+
},
|
|
801
|
+
"/v1/persons/{id}/aliases": {
|
|
802
|
+
"get": {
|
|
803
|
+
"summary": "この person の alias 一覧を取得する(直近使用が先頭)。",
|
|
804
|
+
"parameters": [
|
|
805
|
+
{
|
|
806
|
+
"name": "id",
|
|
807
|
+
"in": "path",
|
|
808
|
+
"required": true,
|
|
809
|
+
"schema": {
|
|
810
|
+
"type": "string"
|
|
811
|
+
},
|
|
812
|
+
"description": "person id。"
|
|
699
813
|
}
|
|
700
814
|
],
|
|
701
815
|
"responses": {
|
|
702
816
|
"200": {
|
|
703
|
-
"description": "
|
|
817
|
+
"description": "alias 一覧"
|
|
704
818
|
},
|
|
705
819
|
"401": {
|
|
706
|
-
"description": "
|
|
820
|
+
"description": "認証エラー"
|
|
707
821
|
}
|
|
708
|
-
}
|
|
822
|
+
},
|
|
823
|
+
"tags": [
|
|
824
|
+
"Persons"
|
|
825
|
+
]
|
|
826
|
+
}
|
|
827
|
+
},
|
|
828
|
+
"/v1/persons/{id}/aliases/{name}": {
|
|
829
|
+
"put": {
|
|
830
|
+
"summary": "person に alias を upsert する。name は case-insensitive で比較される。",
|
|
831
|
+
"parameters": [
|
|
832
|
+
{
|
|
833
|
+
"name": "id",
|
|
834
|
+
"in": "path",
|
|
835
|
+
"required": true,
|
|
836
|
+
"schema": {
|
|
837
|
+
"type": "string"
|
|
838
|
+
},
|
|
839
|
+
"description": "person id。"
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"name": "name",
|
|
843
|
+
"in": "path",
|
|
844
|
+
"required": true,
|
|
845
|
+
"schema": {
|
|
846
|
+
"type": "string"
|
|
847
|
+
},
|
|
848
|
+
"description": "alias の名前(URL-encoded)。"
|
|
849
|
+
}
|
|
850
|
+
],
|
|
851
|
+
"requestBody": {
|
|
852
|
+
"required": true,
|
|
853
|
+
"content": {
|
|
854
|
+
"application/json": {
|
|
855
|
+
"schema": {
|
|
856
|
+
"$ref": "#/components/schemas/AliasUpsert"
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
"responses": {
|
|
862
|
+
"200": {
|
|
863
|
+
"description": "upsert された alias"
|
|
864
|
+
},
|
|
865
|
+
"400": {
|
|
866
|
+
"description": "リクエストボディが不正"
|
|
867
|
+
},
|
|
868
|
+
"401": {
|
|
869
|
+
"description": "認証エラー"
|
|
870
|
+
},
|
|
871
|
+
"404": {
|
|
872
|
+
"description": "person が見つからない"
|
|
873
|
+
}
|
|
874
|
+
},
|
|
875
|
+
"tags": [
|
|
876
|
+
"Persons"
|
|
877
|
+
]
|
|
709
878
|
}
|
|
710
879
|
},
|
|
711
880
|
"/admin/v1/workspaces": {
|
|
712
881
|
"post": {
|
|
713
|
-
"summary": "
|
|
882
|
+
"summary": "ワークスペースを作成する(デフォルトで初期キーも発行する)。",
|
|
714
883
|
"security": [
|
|
715
884
|
{
|
|
716
885
|
"adminToken": []
|
|
@@ -728,18 +897,21 @@
|
|
|
728
897
|
},
|
|
729
898
|
"responses": {
|
|
730
899
|
"200": {
|
|
731
|
-
"description": "
|
|
900
|
+
"description": "ワークスペース(issueKey=false でない限りキーも含む)"
|
|
732
901
|
},
|
|
733
902
|
"400": {
|
|
734
|
-
"description": "
|
|
903
|
+
"description": "リクエストボディまたはワークスペース id が不正"
|
|
735
904
|
},
|
|
736
905
|
"401": {
|
|
737
|
-
"description": "
|
|
906
|
+
"description": "認証エラー"
|
|
738
907
|
}
|
|
739
|
-
}
|
|
908
|
+
},
|
|
909
|
+
"tags": [
|
|
910
|
+
"Workspaces (admin)"
|
|
911
|
+
]
|
|
740
912
|
},
|
|
741
913
|
"get": {
|
|
742
|
-
"summary": "
|
|
914
|
+
"summary": "全ワークスペースを一覧取得する。",
|
|
743
915
|
"security": [
|
|
744
916
|
{
|
|
745
917
|
"adminToken": []
|
|
@@ -747,17 +919,20 @@
|
|
|
747
919
|
],
|
|
748
920
|
"responses": {
|
|
749
921
|
"200": {
|
|
750
|
-
"description": "
|
|
922
|
+
"description": "ワークスペース一覧"
|
|
751
923
|
},
|
|
752
924
|
"401": {
|
|
753
|
-
"description": "
|
|
925
|
+
"description": "認証エラー"
|
|
754
926
|
}
|
|
755
|
-
}
|
|
927
|
+
},
|
|
928
|
+
"tags": [
|
|
929
|
+
"Workspaces (admin)"
|
|
930
|
+
]
|
|
756
931
|
}
|
|
757
932
|
},
|
|
758
933
|
"/admin/v1/workspaces/{id}": {
|
|
759
934
|
"get": {
|
|
760
|
-
"summary": "
|
|
935
|
+
"summary": "単一のワークスペースを取得する。",
|
|
761
936
|
"security": [
|
|
762
937
|
{
|
|
763
938
|
"adminToken": []
|
|
@@ -771,23 +946,26 @@
|
|
|
771
946
|
"schema": {
|
|
772
947
|
"type": "string"
|
|
773
948
|
},
|
|
774
|
-
"description": "
|
|
949
|
+
"description": "ワークスペース id。"
|
|
775
950
|
}
|
|
776
951
|
],
|
|
777
952
|
"responses": {
|
|
778
953
|
"200": {
|
|
779
|
-
"description": "
|
|
954
|
+
"description": "ワークスペース"
|
|
780
955
|
},
|
|
781
956
|
"401": {
|
|
782
|
-
"description": "
|
|
957
|
+
"description": "認証エラー"
|
|
783
958
|
},
|
|
784
959
|
"404": {
|
|
785
|
-
"description": "
|
|
960
|
+
"description": "ワークスペースが見つからない"
|
|
786
961
|
}
|
|
787
|
-
}
|
|
962
|
+
},
|
|
963
|
+
"tags": [
|
|
964
|
+
"Workspaces (admin)"
|
|
965
|
+
]
|
|
788
966
|
},
|
|
789
967
|
"delete": {
|
|
790
|
-
"summary": "
|
|
968
|
+
"summary": "ワークスペースを削除する(キー・セッション・イベントにカスケードする)。",
|
|
791
969
|
"security": [
|
|
792
970
|
{
|
|
793
971
|
"adminToken": []
|
|
@@ -801,25 +979,28 @@
|
|
|
801
979
|
"schema": {
|
|
802
980
|
"type": "string"
|
|
803
981
|
},
|
|
804
|
-
"description": "
|
|
982
|
+
"description": "ワークスペース id。"
|
|
805
983
|
}
|
|
806
984
|
],
|
|
807
985
|
"responses": {
|
|
808
986
|
"204": {
|
|
809
|
-
"description": "
|
|
987
|
+
"description": "削除完了"
|
|
810
988
|
},
|
|
811
989
|
"401": {
|
|
812
|
-
"description": "
|
|
990
|
+
"description": "認証エラー"
|
|
813
991
|
},
|
|
814
992
|
"404": {
|
|
815
|
-
"description": "
|
|
993
|
+
"description": "ワークスペースが見つからない"
|
|
816
994
|
}
|
|
817
|
-
}
|
|
995
|
+
},
|
|
996
|
+
"tags": [
|
|
997
|
+
"Workspaces (admin)"
|
|
998
|
+
]
|
|
818
999
|
}
|
|
819
1000
|
},
|
|
820
1001
|
"/admin/v1/workspaces/{id}/keys": {
|
|
821
1002
|
"post": {
|
|
822
|
-
"summary": "
|
|
1003
|
+
"summary": "ワークスペースに新しい API キーを発行する。",
|
|
823
1004
|
"security": [
|
|
824
1005
|
{
|
|
825
1006
|
"adminToken": []
|
|
@@ -833,7 +1014,7 @@
|
|
|
833
1014
|
"schema": {
|
|
834
1015
|
"type": "string"
|
|
835
1016
|
},
|
|
836
|
-
"description": "
|
|
1017
|
+
"description": "ワークスペース id。"
|
|
837
1018
|
}
|
|
838
1019
|
],
|
|
839
1020
|
"requestBody": {
|
|
@@ -848,21 +1029,24 @@
|
|
|
848
1029
|
},
|
|
849
1030
|
"responses": {
|
|
850
1031
|
"200": {
|
|
851
|
-
"description": "
|
|
1032
|
+
"description": "発行されたキー(生のキーは一度のみ返却)"
|
|
852
1033
|
},
|
|
853
1034
|
"400": {
|
|
854
|
-
"description": "
|
|
1035
|
+
"description": "リクエストボディが不正"
|
|
855
1036
|
},
|
|
856
1037
|
"401": {
|
|
857
|
-
"description": "
|
|
1038
|
+
"description": "認証エラー"
|
|
858
1039
|
},
|
|
859
1040
|
"404": {
|
|
860
|
-
"description": "
|
|
1041
|
+
"description": "ワークスペースが見つからない"
|
|
861
1042
|
}
|
|
862
|
-
}
|
|
1043
|
+
},
|
|
1044
|
+
"tags": [
|
|
1045
|
+
"API Keys (admin)"
|
|
1046
|
+
]
|
|
863
1047
|
},
|
|
864
1048
|
"get": {
|
|
865
|
-
"summary": "
|
|
1049
|
+
"summary": "ワークスペースの API キー一覧を取得する(ハッシュのみ)。",
|
|
866
1050
|
"security": [
|
|
867
1051
|
{
|
|
868
1052
|
"adminToken": []
|
|
@@ -876,25 +1060,28 @@
|
|
|
876
1060
|
"schema": {
|
|
877
1061
|
"type": "string"
|
|
878
1062
|
},
|
|
879
|
-
"description": "
|
|
1063
|
+
"description": "ワークスペース id。"
|
|
880
1064
|
}
|
|
881
1065
|
],
|
|
882
1066
|
"responses": {
|
|
883
1067
|
"200": {
|
|
884
|
-
"description": "
|
|
1068
|
+
"description": "キー一覧"
|
|
885
1069
|
},
|
|
886
1070
|
"401": {
|
|
887
|
-
"description": "
|
|
1071
|
+
"description": "認証エラー"
|
|
888
1072
|
},
|
|
889
1073
|
"404": {
|
|
890
|
-
"description": "
|
|
1074
|
+
"description": "ワークスペースが見つからない"
|
|
891
1075
|
}
|
|
892
|
-
}
|
|
1076
|
+
},
|
|
1077
|
+
"tags": [
|
|
1078
|
+
"API Keys (admin)"
|
|
1079
|
+
]
|
|
893
1080
|
}
|
|
894
1081
|
},
|
|
895
1082
|
"/admin/v1/workspaces/{id}/keys/{keyId}": {
|
|
896
1083
|
"delete": {
|
|
897
|
-
"summary": "
|
|
1084
|
+
"summary": "API キーを無効化する。",
|
|
898
1085
|
"security": [
|
|
899
1086
|
{
|
|
900
1087
|
"adminToken": []
|
|
@@ -908,7 +1095,7 @@
|
|
|
908
1095
|
"schema": {
|
|
909
1096
|
"type": "string"
|
|
910
1097
|
},
|
|
911
|
-
"description": "
|
|
1098
|
+
"description": "ワークスペース id。"
|
|
912
1099
|
},
|
|
913
1100
|
{
|
|
914
1101
|
"name": "keyId",
|
|
@@ -917,20 +1104,23 @@
|
|
|
917
1104
|
"schema": {
|
|
918
1105
|
"type": "string"
|
|
919
1106
|
},
|
|
920
|
-
"description": "
|
|
1107
|
+
"description": "キー id。"
|
|
921
1108
|
}
|
|
922
1109
|
],
|
|
923
1110
|
"responses": {
|
|
924
1111
|
"204": {
|
|
925
|
-
"description": "
|
|
1112
|
+
"description": "無効化完了(冪等)"
|
|
926
1113
|
},
|
|
927
1114
|
"401": {
|
|
928
|
-
"description": "
|
|
1115
|
+
"description": "認証エラー"
|
|
929
1116
|
},
|
|
930
1117
|
"404": {
|
|
931
|
-
"description": "
|
|
1118
|
+
"description": "キーが見つからない"
|
|
932
1119
|
}
|
|
933
|
-
}
|
|
1120
|
+
},
|
|
1121
|
+
"tags": [
|
|
1122
|
+
"API Keys (admin)"
|
|
1123
|
+
]
|
|
934
1124
|
}
|
|
935
1125
|
}
|
|
936
1126
|
}
|