@vellumai/assistant 0.12.0-staging.1 → 0.12.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/Dockerfile +5 -0
- package/docs/architecture/turn-actor.md +9 -0
- package/knip.json +1 -0
- package/node_modules/@vellumai/app-icons/package.json +18 -0
- package/node_modules/@vellumai/app-icons/src/index.test.ts +85 -0
- package/node_modules/@vellumai/app-icons/src/index.ts +387 -0
- package/node_modules/@vellumai/app-icons/tsconfig.json +20 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/channels.test.ts +31 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/channels.ts +28 -3
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/channels.test.ts +31 -0
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/channels.ts +28 -3
- package/node_modules/@vellumai/gateway-client/src/__tests__/plugin-admission-denied-contract.test.ts +10 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +1 -0
- package/node_modules/@vellumai/gateway-client/src/plugin-admission-denied-contract.ts +15 -2
- package/node_modules/@vellumai/service-contracts/src/__tests__/channels.test.ts +31 -0
- package/node_modules/@vellumai/service-contracts/src/channels.ts +28 -3
- package/openapi.yaml +628 -0
- package/package.json +3 -1
- package/scripts/smoke-container-workspace-dependencies.ts +19 -0
- package/src/__tests__/app-builder-icon-names.test.ts +29 -0
- package/src/__tests__/assistant-attachment-directive.test.ts +4 -0
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop.test.ts +2 -0
- package/src/__tests__/conversation-attachments.test.ts +142 -0
- package/src/__tests__/conversation-delete-activation-progress.test.ts +145 -0
- package/src/__tests__/conversation-event-sink.test.ts +50 -0
- package/src/__tests__/conversation-process-app-control-preactivation.test.ts +10 -2
- package/src/__tests__/conversation-queue.test.ts +297 -0
- package/src/__tests__/credential-routes.test.ts +185 -6
- package/src/__tests__/drain-kick-guard.test.ts +2 -0
- package/src/__tests__/drain-requeue-on-contention.test.ts +6 -0
- package/src/__tests__/messaging-send-tool.test.ts +42 -0
- package/src/__tests__/oauth-commands-routes.test.ts +47 -0
- package/src/__tests__/subagent-manager-notify.test.ts +25 -4
- package/src/activation/progress-store.test.ts +1564 -0
- package/src/activation/progress-store.ts +1296 -0
- package/src/activation/turn-hooks.test.ts +246 -0
- package/src/activation/turn-hooks.ts +126 -0
- package/src/api/events/subagent-status-changed.ts +7 -5
- package/src/api/responses/activation.ts +136 -0
- package/src/apps/app-store.ts +8 -0
- package/src/cli/__tests__/catalog-search-help.test.ts +7 -5
- package/src/cli/commands/__tests__/cli-test-harness.ts +12 -3
- package/src/cli/commands/channels/__tests__/channels.test.ts +2 -0
- package/src/cli/commands/channels/__tests__/request.test.ts +191 -0
- package/src/cli/commands/channels/index.help.ts +70 -18
- package/src/cli/commands/channels/index.ts +17 -6
- package/src/cli/commands/channels/request.ts +66 -0
- package/src/cli/commands/oauth/request.test.ts +2 -0
- package/src/cli/commands/oauth/request.ts +227 -186
- package/src/config/bundled-skills/app-builder/SKILL.md +3 -1
- package/src/config/bundled-skills/app-builder/TOOLS.json +2 -2
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +8 -4
- package/src/config/feature-flag-registry.json +35 -5
- package/src/daemon/assistant-attachments.ts +11 -0
- package/src/daemon/conversation-agent-loop-handlers.ts +5 -0
- package/src/daemon/conversation-agent-loop.ts +71 -3
- package/src/daemon/conversation-attachments.ts +42 -1
- package/src/daemon/conversation-event-sink.ts +25 -0
- package/src/daemon/conversation-process.ts +69 -21
- package/src/daemon/conversation-store.ts +4 -3
- package/src/daemon/conversation-surfaces.ts +19 -4
- package/src/daemon/message-types/sync.ts +2 -0
- package/src/ipc/assistant-server.ts +2 -0
- package/src/ipc/routes/__tests__/activation-sync-ipc-routes.test.ts +51 -0
- package/src/ipc/routes/activation-sync-ipc-routes.ts +42 -0
- package/src/notifications/AGENTS.md +1 -1
- package/src/notifications/__tests__/proactive-home-thread.test.ts +111 -0
- package/src/notifications/conversation-pairing.ts +47 -5
- package/src/notifications/delivered-post-record.ts +3 -0
- package/src/persistence/__tests__/slack-thread-root-evidence.test.ts +102 -0
- package/src/persistence/conversation-crud.ts +39 -0
- package/src/persistence/delivery-crud.ts +13 -0
- package/src/plugins/AGENTS.md +1 -0
- package/src/runtime/auth/__tests__/route-policy.test.ts +37 -0
- package/src/runtime/routes/__tests__/user-routes-notices.test.ts +248 -0
- package/src/runtime/routes/activation-routes.test.ts +415 -0
- package/src/runtime/routes/activation-routes.ts +172 -0
- package/src/runtime/routes/credential-routes.ts +46 -3
- package/src/runtime/routes/index.ts +2 -0
- package/src/runtime/routes/oauth-commands-routes.ts +21 -8
- package/src/runtime/routes/platform-managed-credentials.ts +48 -0
- package/src/runtime/routes/secret-routes.ts +3 -12
- package/src/runtime/routes/user-route-resolution.ts +21 -0
- package/src/runtime/routes/user-routes.ts +112 -9
- package/src/runtime/sync/activation-sidecar-publish.test.ts +78 -0
- package/src/runtime/sync/documents-sidecar-publish.test.ts +3 -0
- package/src/runtime/sync/resource-sync-events.ts +23 -0
- package/src/runtime/sync/worker-daemon-notify.test.ts +36 -0
- package/src/runtime/sync/worker-daemon-notify.ts +39 -1
- package/src/tools/apps/executors.ts +8 -8
package/openapi.yaml
CHANGED
|
@@ -571,6 +571,359 @@ paths:
|
|
|
571
571
|
- protocolSessionId
|
|
572
572
|
- agent
|
|
573
573
|
additionalProperties: false
|
|
574
|
+
/v1/activation/dismiss:
|
|
575
|
+
post:
|
|
576
|
+
operationId: activation_dismiss_post
|
|
577
|
+
summary: Dismiss an activation surface
|
|
578
|
+
description: Record that the welcome modal or the celebration modal was dismissed.
|
|
579
|
+
tags:
|
|
580
|
+
- activation
|
|
581
|
+
requestBody:
|
|
582
|
+
required: true
|
|
583
|
+
content:
|
|
584
|
+
application/json:
|
|
585
|
+
schema:
|
|
586
|
+
type: object
|
|
587
|
+
properties:
|
|
588
|
+
kind:
|
|
589
|
+
type: string
|
|
590
|
+
enum:
|
|
591
|
+
- modal
|
|
592
|
+
- all-done
|
|
593
|
+
description: Which surface was dismissed
|
|
594
|
+
listId:
|
|
595
|
+
description: List the surface showed, stored only while no list is frozen
|
|
596
|
+
type: string
|
|
597
|
+
pattern: ^[a-z0-9-]{1,64}$
|
|
598
|
+
required:
|
|
599
|
+
- kind
|
|
600
|
+
responses:
|
|
601
|
+
"200":
|
|
602
|
+
description: Successful response
|
|
603
|
+
content:
|
|
604
|
+
application/json:
|
|
605
|
+
schema:
|
|
606
|
+
type: object
|
|
607
|
+
properties:
|
|
608
|
+
version:
|
|
609
|
+
type: number
|
|
610
|
+
const: 1
|
|
611
|
+
description: Schema version
|
|
612
|
+
listId:
|
|
613
|
+
anyOf:
|
|
614
|
+
- type: string
|
|
615
|
+
- type: "null"
|
|
616
|
+
description: Task list frozen on the first write, null before then
|
|
617
|
+
modalDismissedAt:
|
|
618
|
+
anyOf:
|
|
619
|
+
- type: string
|
|
620
|
+
- type: "null"
|
|
621
|
+
description: ISO timestamp the welcome modal was dismissed
|
|
622
|
+
allDoneShownAt:
|
|
623
|
+
anyOf:
|
|
624
|
+
- type: string
|
|
625
|
+
- type: "null"
|
|
626
|
+
description: ISO timestamp the celebration modal was dismissed
|
|
627
|
+
tasks:
|
|
628
|
+
type: object
|
|
629
|
+
propertyNames:
|
|
630
|
+
type: string
|
|
631
|
+
additionalProperties:
|
|
632
|
+
type: object
|
|
633
|
+
properties:
|
|
634
|
+
status:
|
|
635
|
+
type: string
|
|
636
|
+
enum:
|
|
637
|
+
- started
|
|
638
|
+
- done
|
|
639
|
+
description: "`started` while the linked conversation is working the task"
|
|
640
|
+
conversationId:
|
|
641
|
+
type: string
|
|
642
|
+
maxLength: 128
|
|
643
|
+
description: Conversation the task was launched into
|
|
644
|
+
startedAt:
|
|
645
|
+
type: string
|
|
646
|
+
description: ISO timestamp of the launch
|
|
647
|
+
completedAt:
|
|
648
|
+
anyOf:
|
|
649
|
+
- type: string
|
|
650
|
+
- type: "null"
|
|
651
|
+
description: ISO timestamp of the completing turn, null while started
|
|
652
|
+
stepCount:
|
|
653
|
+
anyOf:
|
|
654
|
+
- type: integer
|
|
655
|
+
minimum: -9007199254740991
|
|
656
|
+
maximum: 9007199254740991
|
|
657
|
+
- type: "null"
|
|
658
|
+
description: Tool calls observed in the linked conversation so far
|
|
659
|
+
artifacts:
|
|
660
|
+
type: array
|
|
661
|
+
items:
|
|
662
|
+
type: object
|
|
663
|
+
properties:
|
|
664
|
+
workspacePath:
|
|
665
|
+
type: string
|
|
666
|
+
description: Path of the produced file, as the assistant attached it
|
|
667
|
+
displayName:
|
|
668
|
+
type: string
|
|
669
|
+
description: Human-readable file name for the card
|
|
670
|
+
required:
|
|
671
|
+
- workspacePath
|
|
672
|
+
- displayName
|
|
673
|
+
additionalProperties: false
|
|
674
|
+
description: Files the completing turn attached
|
|
675
|
+
required:
|
|
676
|
+
- status
|
|
677
|
+
- conversationId
|
|
678
|
+
- startedAt
|
|
679
|
+
- completedAt
|
|
680
|
+
- stepCount
|
|
681
|
+
- artifacts
|
|
682
|
+
additionalProperties: false
|
|
683
|
+
description: Progress keyed by task id
|
|
684
|
+
required:
|
|
685
|
+
- version
|
|
686
|
+
- listId
|
|
687
|
+
- modalDismissedAt
|
|
688
|
+
- allDoneShownAt
|
|
689
|
+
- tasks
|
|
690
|
+
additionalProperties: false
|
|
691
|
+
"400":
|
|
692
|
+
description: Malformed dismiss kind or list id
|
|
693
|
+
"409":
|
|
694
|
+
description: Stored progress was written by a newer build; the dismissal was not recorded
|
|
695
|
+
"503":
|
|
696
|
+
description: Stored progress is locked by another process; the dismissal was not recorded
|
|
697
|
+
/v1/activation/progress:
|
|
698
|
+
get:
|
|
699
|
+
operationId: activation_progress_get
|
|
700
|
+
summary: Get activation progress
|
|
701
|
+
description: "Return the activation checklist progress: the frozen list, dismissed surfaces, and per-task state."
|
|
702
|
+
tags:
|
|
703
|
+
- activation
|
|
704
|
+
responses:
|
|
705
|
+
"200":
|
|
706
|
+
description: Successful response
|
|
707
|
+
content:
|
|
708
|
+
application/json:
|
|
709
|
+
schema:
|
|
710
|
+
type: object
|
|
711
|
+
properties:
|
|
712
|
+
version:
|
|
713
|
+
type: number
|
|
714
|
+
const: 1
|
|
715
|
+
description: Schema version
|
|
716
|
+
listId:
|
|
717
|
+
anyOf:
|
|
718
|
+
- type: string
|
|
719
|
+
- type: "null"
|
|
720
|
+
description: Task list frozen on the first write, null before then
|
|
721
|
+
modalDismissedAt:
|
|
722
|
+
anyOf:
|
|
723
|
+
- type: string
|
|
724
|
+
- type: "null"
|
|
725
|
+
description: ISO timestamp the welcome modal was dismissed
|
|
726
|
+
allDoneShownAt:
|
|
727
|
+
anyOf:
|
|
728
|
+
- type: string
|
|
729
|
+
- type: "null"
|
|
730
|
+
description: ISO timestamp the celebration modal was dismissed
|
|
731
|
+
tasks:
|
|
732
|
+
type: object
|
|
733
|
+
propertyNames:
|
|
734
|
+
type: string
|
|
735
|
+
additionalProperties:
|
|
736
|
+
type: object
|
|
737
|
+
properties:
|
|
738
|
+
status:
|
|
739
|
+
type: string
|
|
740
|
+
enum:
|
|
741
|
+
- started
|
|
742
|
+
- done
|
|
743
|
+
description: "`started` while the linked conversation is working the task"
|
|
744
|
+
conversationId:
|
|
745
|
+
type: string
|
|
746
|
+
maxLength: 128
|
|
747
|
+
description: Conversation the task was launched into
|
|
748
|
+
startedAt:
|
|
749
|
+
type: string
|
|
750
|
+
description: ISO timestamp of the launch
|
|
751
|
+
completedAt:
|
|
752
|
+
anyOf:
|
|
753
|
+
- type: string
|
|
754
|
+
- type: "null"
|
|
755
|
+
description: ISO timestamp of the completing turn, null while started
|
|
756
|
+
stepCount:
|
|
757
|
+
anyOf:
|
|
758
|
+
- type: integer
|
|
759
|
+
minimum: -9007199254740991
|
|
760
|
+
maximum: 9007199254740991
|
|
761
|
+
- type: "null"
|
|
762
|
+
description: Tool calls observed in the linked conversation so far
|
|
763
|
+
artifacts:
|
|
764
|
+
type: array
|
|
765
|
+
items:
|
|
766
|
+
type: object
|
|
767
|
+
properties:
|
|
768
|
+
workspacePath:
|
|
769
|
+
type: string
|
|
770
|
+
description: Path of the produced file, as the assistant attached it
|
|
771
|
+
displayName:
|
|
772
|
+
type: string
|
|
773
|
+
description: Human-readable file name for the card
|
|
774
|
+
required:
|
|
775
|
+
- workspacePath
|
|
776
|
+
- displayName
|
|
777
|
+
additionalProperties: false
|
|
778
|
+
description: Files the completing turn attached
|
|
779
|
+
required:
|
|
780
|
+
- status
|
|
781
|
+
- conversationId
|
|
782
|
+
- startedAt
|
|
783
|
+
- completedAt
|
|
784
|
+
- stepCount
|
|
785
|
+
- artifacts
|
|
786
|
+
additionalProperties: false
|
|
787
|
+
description: Progress keyed by task id
|
|
788
|
+
required:
|
|
789
|
+
- version
|
|
790
|
+
- listId
|
|
791
|
+
- modalDismissedAt
|
|
792
|
+
- allDoneShownAt
|
|
793
|
+
- tasks
|
|
794
|
+
additionalProperties: false
|
|
795
|
+
/v1/activation/tasks/{taskId}/start:
|
|
796
|
+
post:
|
|
797
|
+
operationId: activation_tasks_by_taskId_start_post
|
|
798
|
+
summary: Start an activation task
|
|
799
|
+
description:
|
|
800
|
+
Link an activation task to the conversation its prompt was sent to. Idempotent per task; a different
|
|
801
|
+
conversation replaces the link only while the task is not done.
|
|
802
|
+
tags:
|
|
803
|
+
- activation
|
|
804
|
+
parameters:
|
|
805
|
+
- name: taskId
|
|
806
|
+
in: path
|
|
807
|
+
required: true
|
|
808
|
+
schema:
|
|
809
|
+
type: string
|
|
810
|
+
requestBody:
|
|
811
|
+
required: true
|
|
812
|
+
content:
|
|
813
|
+
application/json:
|
|
814
|
+
schema:
|
|
815
|
+
type: object
|
|
816
|
+
properties:
|
|
817
|
+
conversationId:
|
|
818
|
+
type: string
|
|
819
|
+
minLength: 1
|
|
820
|
+
maxLength: 128
|
|
821
|
+
description: Conversation the task prompt was sent to
|
|
822
|
+
listId:
|
|
823
|
+
description: List the task came from, stored only while no list is frozen
|
|
824
|
+
type: string
|
|
825
|
+
pattern: ^[a-z0-9-]{1,64}$
|
|
826
|
+
required:
|
|
827
|
+
- conversationId
|
|
828
|
+
responses:
|
|
829
|
+
"200":
|
|
830
|
+
description: Successful response
|
|
831
|
+
content:
|
|
832
|
+
application/json:
|
|
833
|
+
schema:
|
|
834
|
+
type: object
|
|
835
|
+
properties:
|
|
836
|
+
version:
|
|
837
|
+
type: number
|
|
838
|
+
const: 1
|
|
839
|
+
description: Schema version
|
|
840
|
+
listId:
|
|
841
|
+
anyOf:
|
|
842
|
+
- type: string
|
|
843
|
+
- type: "null"
|
|
844
|
+
description: Task list frozen on the first write, null before then
|
|
845
|
+
modalDismissedAt:
|
|
846
|
+
anyOf:
|
|
847
|
+
- type: string
|
|
848
|
+
- type: "null"
|
|
849
|
+
description: ISO timestamp the welcome modal was dismissed
|
|
850
|
+
allDoneShownAt:
|
|
851
|
+
anyOf:
|
|
852
|
+
- type: string
|
|
853
|
+
- type: "null"
|
|
854
|
+
description: ISO timestamp the celebration modal was dismissed
|
|
855
|
+
tasks:
|
|
856
|
+
type: object
|
|
857
|
+
propertyNames:
|
|
858
|
+
type: string
|
|
859
|
+
additionalProperties:
|
|
860
|
+
type: object
|
|
861
|
+
properties:
|
|
862
|
+
status:
|
|
863
|
+
type: string
|
|
864
|
+
enum:
|
|
865
|
+
- started
|
|
866
|
+
- done
|
|
867
|
+
description: "`started` while the linked conversation is working the task"
|
|
868
|
+
conversationId:
|
|
869
|
+
type: string
|
|
870
|
+
maxLength: 128
|
|
871
|
+
description: Conversation the task was launched into
|
|
872
|
+
startedAt:
|
|
873
|
+
type: string
|
|
874
|
+
description: ISO timestamp of the launch
|
|
875
|
+
completedAt:
|
|
876
|
+
anyOf:
|
|
877
|
+
- type: string
|
|
878
|
+
- type: "null"
|
|
879
|
+
description: ISO timestamp of the completing turn, null while started
|
|
880
|
+
stepCount:
|
|
881
|
+
anyOf:
|
|
882
|
+
- type: integer
|
|
883
|
+
minimum: -9007199254740991
|
|
884
|
+
maximum: 9007199254740991
|
|
885
|
+
- type: "null"
|
|
886
|
+
description: Tool calls observed in the linked conversation so far
|
|
887
|
+
artifacts:
|
|
888
|
+
type: array
|
|
889
|
+
items:
|
|
890
|
+
type: object
|
|
891
|
+
properties:
|
|
892
|
+
workspacePath:
|
|
893
|
+
type: string
|
|
894
|
+
description: Path of the produced file, as the assistant attached it
|
|
895
|
+
displayName:
|
|
896
|
+
type: string
|
|
897
|
+
description: Human-readable file name for the card
|
|
898
|
+
required:
|
|
899
|
+
- workspacePath
|
|
900
|
+
- displayName
|
|
901
|
+
additionalProperties: false
|
|
902
|
+
description: Files the completing turn attached
|
|
903
|
+
required:
|
|
904
|
+
- status
|
|
905
|
+
- conversationId
|
|
906
|
+
- startedAt
|
|
907
|
+
- completedAt
|
|
908
|
+
- stepCount
|
|
909
|
+
- artifacts
|
|
910
|
+
additionalProperties: false
|
|
911
|
+
description: Progress keyed by task id
|
|
912
|
+
required:
|
|
913
|
+
- version
|
|
914
|
+
- listId
|
|
915
|
+
- modalDismissedAt
|
|
916
|
+
- allDoneShownAt
|
|
917
|
+
- tasks
|
|
918
|
+
additionalProperties: false
|
|
919
|
+
"400":
|
|
920
|
+
description: Malformed task id, list id, or conversation id
|
|
921
|
+
"404":
|
|
922
|
+
description: No such conversation; the link was not recorded
|
|
923
|
+
"409":
|
|
924
|
+
description: Stored progress was written by a newer build; the link was not recorded
|
|
925
|
+
"503":
|
|
926
|
+
description: Stored progress is locked by another process; the link was not recorded
|
|
574
927
|
/v1/admin/rollback-migrations:
|
|
575
928
|
post:
|
|
576
929
|
operationId: admin_rollbackmigrations_post
|
|
@@ -36648,6 +37001,281 @@ paths:
|
|
|
36648
37001
|
responses:
|
|
36649
37002
|
"200":
|
|
36650
37003
|
description: Successful response
|
|
37004
|
+
/v1/x/plugins/{plugin}/notices:
|
|
37005
|
+
delete:
|
|
37006
|
+
operationId: x_plugins_by_plugin_notices_delete
|
|
37007
|
+
summary: Gateway DELETE notice to a plugin (namespace root)
|
|
37008
|
+
description:
|
|
37009
|
+
"Dispatches DELETE requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37010
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37011
|
+
tags:
|
|
37012
|
+
- user-routes
|
|
37013
|
+
parameters:
|
|
37014
|
+
- name: plugin
|
|
37015
|
+
in: path
|
|
37016
|
+
required: true
|
|
37017
|
+
schema:
|
|
37018
|
+
type: string
|
|
37019
|
+
responses:
|
|
37020
|
+
"200":
|
|
37021
|
+
description: Successful response
|
|
37022
|
+
get:
|
|
37023
|
+
operationId: x_plugins_by_plugin_notices_get
|
|
37024
|
+
summary: Gateway GET notice to a plugin (namespace root)
|
|
37025
|
+
description:
|
|
37026
|
+
"Dispatches GET requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37027
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37028
|
+
tags:
|
|
37029
|
+
- user-routes
|
|
37030
|
+
parameters:
|
|
37031
|
+
- name: plugin
|
|
37032
|
+
in: path
|
|
37033
|
+
required: true
|
|
37034
|
+
schema:
|
|
37035
|
+
type: string
|
|
37036
|
+
responses:
|
|
37037
|
+
"200":
|
|
37038
|
+
description: Successful response
|
|
37039
|
+
head:
|
|
37040
|
+
operationId: x_plugins_by_plugin_notices_head
|
|
37041
|
+
summary: Gateway HEAD notice to a plugin (namespace root)
|
|
37042
|
+
description:
|
|
37043
|
+
"Dispatches HEAD requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37044
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37045
|
+
tags:
|
|
37046
|
+
- user-routes
|
|
37047
|
+
parameters:
|
|
37048
|
+
- name: plugin
|
|
37049
|
+
in: path
|
|
37050
|
+
required: true
|
|
37051
|
+
schema:
|
|
37052
|
+
type: string
|
|
37053
|
+
responses:
|
|
37054
|
+
"200":
|
|
37055
|
+
description: Successful response
|
|
37056
|
+
options:
|
|
37057
|
+
operationId: x_plugins_by_plugin_notices_options
|
|
37058
|
+
summary: Gateway OPTIONS notice to a plugin (namespace root)
|
|
37059
|
+
description:
|
|
37060
|
+
"Dispatches OPTIONS requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37061
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37062
|
+
tags:
|
|
37063
|
+
- user-routes
|
|
37064
|
+
parameters:
|
|
37065
|
+
- name: plugin
|
|
37066
|
+
in: path
|
|
37067
|
+
required: true
|
|
37068
|
+
schema:
|
|
37069
|
+
type: string
|
|
37070
|
+
responses:
|
|
37071
|
+
"200":
|
|
37072
|
+
description: Successful response
|
|
37073
|
+
patch:
|
|
37074
|
+
operationId: x_plugins_by_plugin_notices_patch
|
|
37075
|
+
summary: Gateway PATCH notice to a plugin (namespace root)
|
|
37076
|
+
description:
|
|
37077
|
+
"Dispatches PATCH requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37078
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37079
|
+
tags:
|
|
37080
|
+
- user-routes
|
|
37081
|
+
parameters:
|
|
37082
|
+
- name: plugin
|
|
37083
|
+
in: path
|
|
37084
|
+
required: true
|
|
37085
|
+
schema:
|
|
37086
|
+
type: string
|
|
37087
|
+
responses:
|
|
37088
|
+
"200":
|
|
37089
|
+
description: Successful response
|
|
37090
|
+
post:
|
|
37091
|
+
operationId: x_plugins_by_plugin_notices_post
|
|
37092
|
+
summary: Gateway POST notice to a plugin (namespace root)
|
|
37093
|
+
description:
|
|
37094
|
+
"Dispatches POST requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37095
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37096
|
+
tags:
|
|
37097
|
+
- user-routes
|
|
37098
|
+
parameters:
|
|
37099
|
+
- name: plugin
|
|
37100
|
+
in: path
|
|
37101
|
+
required: true
|
|
37102
|
+
schema:
|
|
37103
|
+
type: string
|
|
37104
|
+
responses:
|
|
37105
|
+
"200":
|
|
37106
|
+
description: Successful response
|
|
37107
|
+
put:
|
|
37108
|
+
operationId: x_plugins_by_plugin_notices_put
|
|
37109
|
+
summary: Gateway PUT notice to a plugin (namespace root)
|
|
37110
|
+
description:
|
|
37111
|
+
"Dispatches PUT requests to the root handler of a plugin's reserved notices/ namespace. Served to the
|
|
37112
|
+
gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37113
|
+
tags:
|
|
37114
|
+
- user-routes
|
|
37115
|
+
parameters:
|
|
37116
|
+
- name: plugin
|
|
37117
|
+
in: path
|
|
37118
|
+
required: true
|
|
37119
|
+
schema:
|
|
37120
|
+
type: string
|
|
37121
|
+
responses:
|
|
37122
|
+
"200":
|
|
37123
|
+
description: Successful response
|
|
37124
|
+
/v1/x/plugins/{plugin}/notices/{path}:
|
|
37125
|
+
delete:
|
|
37126
|
+
operationId: x_plugins_by_plugin_notices_by_path_delete
|
|
37127
|
+
summary: Gateway DELETE notice to a plugin
|
|
37128
|
+
description:
|
|
37129
|
+
"Dispatches DELETE requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37130
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37131
|
+
tags:
|
|
37132
|
+
- user-routes
|
|
37133
|
+
parameters:
|
|
37134
|
+
- name: plugin
|
|
37135
|
+
in: path
|
|
37136
|
+
required: true
|
|
37137
|
+
schema:
|
|
37138
|
+
type: string
|
|
37139
|
+
- name: path
|
|
37140
|
+
in: path
|
|
37141
|
+
required: true
|
|
37142
|
+
schema:
|
|
37143
|
+
type: string
|
|
37144
|
+
responses:
|
|
37145
|
+
"200":
|
|
37146
|
+
description: Successful response
|
|
37147
|
+
get:
|
|
37148
|
+
operationId: x_plugins_by_plugin_notices_by_path_get
|
|
37149
|
+
summary: Gateway GET notice to a plugin
|
|
37150
|
+
description:
|
|
37151
|
+
"Dispatches GET requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37152
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37153
|
+
tags:
|
|
37154
|
+
- user-routes
|
|
37155
|
+
parameters:
|
|
37156
|
+
- name: plugin
|
|
37157
|
+
in: path
|
|
37158
|
+
required: true
|
|
37159
|
+
schema:
|
|
37160
|
+
type: string
|
|
37161
|
+
- name: path
|
|
37162
|
+
in: path
|
|
37163
|
+
required: true
|
|
37164
|
+
schema:
|
|
37165
|
+
type: string
|
|
37166
|
+
responses:
|
|
37167
|
+
"200":
|
|
37168
|
+
description: Successful response
|
|
37169
|
+
head:
|
|
37170
|
+
operationId: x_plugins_by_plugin_notices_by_path_head
|
|
37171
|
+
summary: Gateway HEAD notice to a plugin
|
|
37172
|
+
description:
|
|
37173
|
+
"Dispatches HEAD requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37174
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37175
|
+
tags:
|
|
37176
|
+
- user-routes
|
|
37177
|
+
parameters:
|
|
37178
|
+
- name: plugin
|
|
37179
|
+
in: path
|
|
37180
|
+
required: true
|
|
37181
|
+
schema:
|
|
37182
|
+
type: string
|
|
37183
|
+
- name: path
|
|
37184
|
+
in: path
|
|
37185
|
+
required: true
|
|
37186
|
+
schema:
|
|
37187
|
+
type: string
|
|
37188
|
+
responses:
|
|
37189
|
+
"200":
|
|
37190
|
+
description: Successful response
|
|
37191
|
+
options:
|
|
37192
|
+
operationId: x_plugins_by_plugin_notices_by_path_options
|
|
37193
|
+
summary: Gateway OPTIONS notice to a plugin
|
|
37194
|
+
description:
|
|
37195
|
+
"Dispatches OPTIONS requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37196
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37197
|
+
tags:
|
|
37198
|
+
- user-routes
|
|
37199
|
+
parameters:
|
|
37200
|
+
- name: plugin
|
|
37201
|
+
in: path
|
|
37202
|
+
required: true
|
|
37203
|
+
schema:
|
|
37204
|
+
type: string
|
|
37205
|
+
- name: path
|
|
37206
|
+
in: path
|
|
37207
|
+
required: true
|
|
37208
|
+
schema:
|
|
37209
|
+
type: string
|
|
37210
|
+
responses:
|
|
37211
|
+
"200":
|
|
37212
|
+
description: Successful response
|
|
37213
|
+
patch:
|
|
37214
|
+
operationId: x_plugins_by_plugin_notices_by_path_patch
|
|
37215
|
+
summary: Gateway PATCH notice to a plugin
|
|
37216
|
+
description:
|
|
37217
|
+
"Dispatches PATCH requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37218
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37219
|
+
tags:
|
|
37220
|
+
- user-routes
|
|
37221
|
+
parameters:
|
|
37222
|
+
- name: plugin
|
|
37223
|
+
in: path
|
|
37224
|
+
required: true
|
|
37225
|
+
schema:
|
|
37226
|
+
type: string
|
|
37227
|
+
- name: path
|
|
37228
|
+
in: path
|
|
37229
|
+
required: true
|
|
37230
|
+
schema:
|
|
37231
|
+
type: string
|
|
37232
|
+
responses:
|
|
37233
|
+
"200":
|
|
37234
|
+
description: Successful response
|
|
37235
|
+
post:
|
|
37236
|
+
operationId: x_plugins_by_plugin_notices_by_path_post
|
|
37237
|
+
summary: Gateway POST notice to a plugin
|
|
37238
|
+
description:
|
|
37239
|
+
"Dispatches POST requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37240
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37241
|
+
tags:
|
|
37242
|
+
- user-routes
|
|
37243
|
+
parameters:
|
|
37244
|
+
- name: plugin
|
|
37245
|
+
in: path
|
|
37246
|
+
required: true
|
|
37247
|
+
schema:
|
|
37248
|
+
type: string
|
|
37249
|
+
- name: path
|
|
37250
|
+
in: path
|
|
37251
|
+
required: true
|
|
37252
|
+
schema:
|
|
37253
|
+
type: string
|
|
37254
|
+
responses:
|
|
37255
|
+
"200":
|
|
37256
|
+
description: Successful response
|
|
37257
|
+
put:
|
|
37258
|
+
operationId: x_plugins_by_plugin_notices_by_path_put
|
|
37259
|
+
summary: Gateway PUT notice to a plugin
|
|
37260
|
+
description:
|
|
37261
|
+
"Dispatches PUT requests under a plugin's reserved notices/ namespace to that plugin's handler files.
|
|
37262
|
+
Served to the gateway's service principal only: a notice is the gateway's own decision, never a client's."
|
|
37263
|
+
tags:
|
|
37264
|
+
- user-routes
|
|
37265
|
+
parameters:
|
|
37266
|
+
- name: plugin
|
|
37267
|
+
in: path
|
|
37268
|
+
required: true
|
|
37269
|
+
schema:
|
|
37270
|
+
type: string
|
|
37271
|
+
- name: path
|
|
37272
|
+
in: path
|
|
37273
|
+
required: true
|
|
37274
|
+
schema:
|
|
37275
|
+
type: string
|
|
37276
|
+
responses:
|
|
37277
|
+
"200":
|
|
37278
|
+
description: Successful response
|
|
36651
37279
|
components:
|
|
36652
37280
|
schemas:
|
|
36653
37281
|
ConfigPatchRequest:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vellumai/assistant",
|
|
3
|
-
"version": "0.12.0
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"@qdrant/js-client-rest": "1.17.0",
|
|
45
45
|
"@resvg/resvg-js": "2.6.2",
|
|
46
46
|
"@slack/types": "2.22.0",
|
|
47
|
+
"@vellumai/app-icons": "file:../packages/app-icons",
|
|
47
48
|
"@vellumai/avatar-catalog": "file:../packages/avatar-catalog",
|
|
48
49
|
"@vellumai/avatar-manifest": "file:../packages/avatar-manifest",
|
|
49
50
|
"@vellumai/ces-client": "file:../packages/ces-client",
|
|
@@ -89,6 +90,7 @@
|
|
|
89
90
|
"node": ">=20.12.0"
|
|
90
91
|
},
|
|
91
92
|
"bundledDependencies": [
|
|
93
|
+
"@vellumai/app-icons",
|
|
92
94
|
"@vellumai/avatar-catalog",
|
|
93
95
|
"@vellumai/avatar-manifest",
|
|
94
96
|
"@vellumai/ces-client",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type PackageManifest = {
|
|
2
|
+
dependencies?: Record<string, string>;
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
const manifest = (await Bun.file(
|
|
6
|
+
new URL("../package.json", import.meta.url),
|
|
7
|
+
).json()) as PackageManifest;
|
|
8
|
+
|
|
9
|
+
const workspaceDependencies = Object.entries(manifest.dependencies ?? {})
|
|
10
|
+
.filter(([, version]) => version.startsWith("workspace:"))
|
|
11
|
+
.map(([name]) => name)
|
|
12
|
+
.sort();
|
|
13
|
+
|
|
14
|
+
for (const dependency of workspaceDependencies) {
|
|
15
|
+
const resolvedPath = Bun.resolveSync(dependency, import.meta.dir);
|
|
16
|
+
console.log(`${dependency}: ${resolvedPath}`);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
console.log(`Resolved ${workspaceDependencies.length} workspace dependencies.`);
|