@crypto512/jicon-mcp 2.3.0 → 2.3.19
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/PROMPT.md +10 -28
- package/README.md +35 -7
- package/TOOL_LIST.md +206 -136
- package/dist/config/constants.d.ts +17 -4
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +20 -5
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +6 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +19 -8
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +10 -8
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/client.d.ts.map +1 -1
- package/dist/confluence/client.js +7 -2
- package/dist/confluence/client.js.map +1 -1
- package/dist/confluence/tools.d.ts +8 -13
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +19 -37
- package/dist/confluence/tools.js.map +1 -1
- package/dist/credentials/extractor.d.ts +14 -3
- package/dist/credentials/extractor.d.ts.map +1 -1
- package/dist/credentials/extractor.js +83 -13
- package/dist/credentials/extractor.js.map +1 -1
- package/dist/credentials/index.d.ts +1 -1
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js.map +1 -1
- package/dist/credentials/types.d.ts +22 -0
- package/dist/credentials/types.d.ts.map +1 -1
- package/dist/credentials/types.js.map +1 -1
- package/dist/index.js +196 -184
- package/dist/index.js.map +1 -1
- package/dist/jira/activity-tools.d.ts +0 -4
- package/dist/jira/activity-tools.d.ts.map +1 -1
- package/dist/jira/activity-tools.js +42 -65
- package/dist/jira/activity-tools.js.map +1 -1
- package/dist/jira/client.d.ts +12 -0
- package/dist/jira/client.d.ts.map +1 -1
- package/dist/jira/client.js +30 -6
- package/dist/jira/client.js.map +1 -1
- package/dist/jira/formatters.d.ts +4 -1
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +9 -6
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +48 -14
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +174 -101
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/filter.d.ts.map +1 -1
- package/dist/permissions/filter.js +8 -4
- package/dist/permissions/filter.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +15 -13
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +16 -8
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/session/context.d.ts +3 -3
- package/dist/session/context.d.ts.map +1 -1
- package/dist/session/manager.d.ts +58 -27
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +177 -79
- package/dist/session/manager.js.map +1 -1
- package/dist/tempo/client.d.ts.map +1 -1
- package/dist/tempo/client.js +3 -1
- package/dist/tempo/client.js.map +1 -1
- package/dist/tempo/tools.d.ts +4 -4
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +15 -0
- package/dist/tempo/tools.js.map +1 -1
- package/dist/transport/http.d.ts +17 -18
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +135 -120
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/index.d.ts +7 -2
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +10 -4
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/types.d.ts +0 -2
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/transport/types.js.map +1 -1
- package/dist/utils/buffer-tools.d.ts +2 -2
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +41 -19
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +99 -2
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +1 -1
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +126 -336
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/logger.d.ts +43 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +102 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/plantuml/tools.js +2 -2
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +8 -0
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +65 -7
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/schemas/confluence.js +11 -11
- package/dist/utils/schemas/confluence.js.map +1 -1
- package/dist/utils/schemas/index.d.ts +11 -0
- package/dist/utils/schemas/index.d.ts.map +1 -1
- package/dist/utils/schemas/index.js.map +1 -1
- package/dist/utils/schemas/jira.d.ts +1 -1
- package/dist/utils/schemas/jira.d.ts.map +1 -1
- package/dist/utils/schemas/jira.js +37 -35
- package/dist/utils/schemas/jira.js.map +1 -1
- package/dist/utils/schemas/tempo.js +13 -13
- package/dist/utils/schemas/tempo.js.map +1 -1
- package/dist/utils/whoami-tools.d.ts +17 -0
- package/dist/utils/whoami-tools.d.ts.map +1 -0
- package/dist/utils/whoami-tools.js +90 -0
- package/dist/utils/whoami-tools.js.map +1 -0
- package/package.json +3 -3
- package/dist/credentials/client-factory.d.ts +0 -64
- package/dist/credentials/client-factory.d.ts.map +0 -1
- package/dist/credentials/client-factory.js +0 -110
- package/dist/credentials/client-factory.js.map +0 -1
- package/dist/credentials/context.d.ts +0 -25
- package/dist/credentials/context.d.ts.map +0 -1
- package/dist/credentials/context.js +0 -35
- package/dist/credentials/context.js.map +0 -1
- package/dist/utils/buffer-pipeline/index.d.ts +0 -30
- package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/index.js +0 -317
- package/dist/utils/buffer-pipeline/index.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.js +0 -117
- package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.js +0 -48
- package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
- package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
- package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
- package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/schema.js +0 -168
- package/dist/utils/buffer-pipeline/schema.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
- package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.js +0 -160
- package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.js +0 -228
- package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
- package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
- package/dist/utils/buffer-pipeline/types.d.ts +0 -277
- package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/types.js +0 -8
- package/dist/utils/buffer-pipeline/types.js.map +0 -1
- package/dist/utils/plantuml/docker-manager.d.ts +0 -37
- package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
- package/dist/utils/plantuml/docker-manager.js +0 -284
- package/dist/utils/plantuml/docker-manager.js.map +0 -1
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool registry with virtual actions
|
|
3
3
|
*/
|
|
4
|
-
export declare const JIRA_READ_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint"];
|
|
4
|
+
export declare const JIRA_READ_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issues", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_get_fields", "jira_search_users", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint"];
|
|
5
5
|
export declare const JIRA_WRITE_TOOLS: readonly ["jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
6
|
-
export declare const CONFLUENCE_READ_TOOLS: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "
|
|
6
|
+
export declare const CONFLUENCE_READ_TOOLS: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "confluence_draft_list", "confluence_draft_open", "confluence_review_list"];
|
|
7
7
|
export declare const CONFLUENCE_WRITE_TOOLS: readonly ["confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard"];
|
|
8
|
-
export declare const CONFLUENCE_DRAFT_TOOLS: readonly ["confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "
|
|
8
|
+
export declare const CONFLUENCE_DRAFT_TOOLS: readonly ["confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_list_spaces"];
|
|
9
9
|
export declare const TEMPO_READ_TOOLS: readonly ["tempo_get_worklogs", "tempo_get_worklog", "tempo_get_accounts", "tempo_get_account", "tempo_get_teams", "tempo_get_team", "tempo_get_team_worklogs", "tempo_get_user_info", "tempo_get_epic_worklogs", "tempo_get_top_worklogs"];
|
|
10
10
|
export declare const TEMPO_WRITE_TOOLS: readonly ["tempo_log_work", "tempo_update_worklog", "tempo_delete_worklog"];
|
|
11
|
-
export declare const BUFFER_TOOLS: readonly ["buffer_create", "buffer_get_items", "buffer_set_items", "buffer_get_structure", "buffer_get_element", "buffer_list", "buffer_clear", "buffer_grep", "buffer_edit", "buffer_validate_xhtml", "buffer_transform"];
|
|
11
|
+
export declare const BUFFER_TOOLS: readonly ["buffer_create", "buffer_get_items", "buffer_set_items", "buffer_get_structure", "buffer_get_element", "buffer_list", "buffer_get_schema", "buffer_clear", "buffer_grep", "buffer_edit", "buffer_validate_xhtml", "buffer_transform"];
|
|
12
12
|
export declare const WORKLOAD_TOOLS: readonly ["workload_convert", "workload_sum"];
|
|
13
13
|
export declare const URL_TOOLS: readonly ["fullurl", "parseurl"];
|
|
14
14
|
export declare const JICON_HELP_TOOLS: readonly ["help"];
|
|
15
15
|
export declare const DATE_TOOLS: readonly ["date_resolve"];
|
|
16
|
+
export declare const WHOAMI_TOOLS: readonly ["whoami"];
|
|
16
17
|
export declare const PLANTUML_TOOLS: readonly ["plantuml_validate", "plantuml_render", "plantuml_status"];
|
|
17
|
-
export declare const ALL_JIRA_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
18
|
-
export declare const ALL_CONFLUENCE_TOOLS: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "
|
|
18
|
+
export declare const ALL_JIRA_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issues", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_get_fields", "jira_search_users", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
19
|
+
export declare const ALL_CONFLUENCE_TOOLS: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "confluence_draft_list", "confluence_draft_open", "confluence_review_list", "confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard"];
|
|
19
20
|
export declare const ALL_TEMPO_TOOLS: readonly ["tempo_get_worklogs", "tempo_get_worklog", "tempo_get_accounts", "tempo_get_account", "tempo_get_teams", "tempo_get_team", "tempo_get_team_worklogs", "tempo_get_user_info", "tempo_get_epic_worklogs", "tempo_get_top_worklogs", "tempo_log_work", "tempo_update_worklog", "tempo_delete_worklog"];
|
|
20
|
-
export declare const ALL_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues", "confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "
|
|
21
|
+
export declare const ALL_TOOLS: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issues", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_get_fields", "jira_search_users", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues", "confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "confluence_draft_list", "confluence_draft_open", "confluence_review_list", "confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard", "tempo_get_worklogs", "tempo_get_worklog", "tempo_get_accounts", "tempo_get_account", "tempo_get_teams", "tempo_get_team", "tempo_get_team_worklogs", "tempo_get_user_info", "tempo_get_epic_worklogs", "tempo_get_top_worklogs", "tempo_log_work", "tempo_update_worklog", "tempo_delete_worklog", "buffer_create", "buffer_get_items", "buffer_set_items", "buffer_get_structure", "buffer_get_element", "buffer_list", "buffer_get_schema", "buffer_clear", "buffer_grep", "buffer_edit", "buffer_validate_xhtml", "buffer_transform", "workload_convert", "workload_sum", "fullurl", "parseurl", "help", "date_resolve", "whoami", "plantuml_validate", "plantuml_render", "plantuml_status"];
|
|
21
22
|
export declare const VIRTUAL_ACTIONS: {
|
|
22
|
-
readonly jira_read: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint"];
|
|
23
|
+
readonly jira_read: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issues", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_get_fields", "jira_search_users", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint"];
|
|
23
24
|
readonly jira_write: readonly ["jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
24
|
-
readonly jira_all: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
25
|
-
readonly confluence_read: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "
|
|
25
|
+
readonly jira_all: readonly ["jira_search_issues", "jira_get_issue", "jira_get_issues", "jira_get_issue_comments", "jira_get_issue_worklogs", "jira_get_total_worklogs", "jira_list_epic_children", "jira_get_issue_types", "jira_get_fields", "jira_search_users", "jira_list_projects", "jira_get_project", "jira_get_transitions", "jira_list_boards", "jira_get_board", "jira_get_sprints", "jira_get_sprint_issues", "jira_get_issue_watchers", "jira_get_activity_digest", "jira_get_recent_comments", "jira_get_changelog", "jira_analyze_epic", "jira_epic_summary", "jira_analyze_sprint", "jira_create_issue", "jira_update_issue", "jira_transition_issue", "jira_add_comment", "jira_link_issues"];
|
|
26
|
+
readonly confluence_read: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "confluence_draft_list", "confluence_draft_open", "confluence_review_list"];
|
|
26
27
|
readonly confluence_write: readonly ["confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard"];
|
|
27
28
|
readonly confluence_write_home: readonly ["confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard"];
|
|
28
|
-
readonly confluence_draft: readonly ["confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "
|
|
29
|
-
readonly confluence_all: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "
|
|
29
|
+
readonly confluence_draft: readonly ["confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_list_spaces"];
|
|
30
|
+
readonly confluence_all: readonly ["confluence_search_content", "confluence_get_page", "confluence_get_page_by_title", "confluence_edit", "confluence_list_spaces", "confluence_get_space", "confluence_get_page_children", "confluence_get_comments", "confluence_list_attachments", "confluence_draft_list", "confluence_draft_open", "confluence_review_list", "confluence_delete_page", "confluence_add_comment", "confluence_upload_attachment", "confluence_draft_create", "confluence_draft_save", "confluence_draft_delete", "confluence_review_publish", "confluence_review_discard"];
|
|
30
31
|
readonly tempo_read: readonly ["tempo_get_worklogs", "tempo_get_worklog", "tempo_get_accounts", "tempo_get_account", "tempo_get_teams", "tempo_get_team", "tempo_get_team_worklogs", "tempo_get_user_info", "tempo_get_epic_worklogs", "tempo_get_top_worklogs"];
|
|
31
32
|
readonly tempo_write: readonly ["tempo_log_work", "tempo_update_worklog", "tempo_delete_worklog"];
|
|
32
33
|
readonly tempo_all: readonly ["tempo_get_worklogs", "tempo_get_worklog", "tempo_get_accounts", "tempo_get_account", "tempo_get_teams", "tempo_get_team", "tempo_get_team_worklogs", "tempo_get_user_info", "tempo_get_epic_worklogs", "tempo_get_top_worklogs", "tempo_log_work", "tempo_update_worklog", "tempo_delete_worklog"];
|
|
@@ -42,11 +43,12 @@ export type WorkloadTool = (typeof WORKLOAD_TOOLS)[number];
|
|
|
42
43
|
export type UrlTool = (typeof URL_TOOLS)[number];
|
|
43
44
|
export type JiconHelpTool = (typeof JICON_HELP_TOOLS)[number];
|
|
44
45
|
export type DateTool = (typeof DATE_TOOLS)[number];
|
|
46
|
+
export type WhoamiTool = (typeof WHOAMI_TOOLS)[number];
|
|
45
47
|
export type PlantUmlTool = (typeof PLANTUML_TOOLS)[number];
|
|
46
48
|
export type JiraTool = JiraReadTool | JiraWriteTool;
|
|
47
49
|
export type ConfluenceTool = ConfluenceReadTool | ConfluenceWriteTool;
|
|
48
50
|
export type TempoTool = TempoReadTool | TempoWriteTool;
|
|
49
|
-
export type RealToolName = JiraTool | ConfluenceTool | TempoTool | BufferTool | WorkloadTool | UrlTool | JiconHelpTool | DateTool | PlantUmlTool;
|
|
51
|
+
export type RealToolName = JiraTool | ConfluenceTool | TempoTool | BufferTool | WorkloadTool | UrlTool | JiconHelpTool | DateTool | WhoamiTool | PlantUmlTool;
|
|
50
52
|
export type VirtualAction = keyof typeof VIRTUAL_ACTIONS;
|
|
51
53
|
export type ToolName = RealToolName | VirtualAction;
|
|
52
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/permissions/tool-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/permissions/tool-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe,kjBA0BlB,CAAC;AAGX,eAAO,MAAM,gBAAgB,sHAMnB,CAAC;AAGX,eAAO,MAAM,qBAAqB,0UAexB,CAAC;AAIX,eAAO,MAAM,sBAAsB,wOAUzB,CAAC;AAMX,eAAO,MAAM,sBAAsB,oHAKzB,CAAC;AAGX,eAAO,MAAM,gBAAgB,6OAWnB,CAAC;AAGX,eAAO,MAAM,iBAAiB,6EAIpB,CAAC;AAGX,eAAO,MAAM,YAAY,iPAcf,CAAC;AAGX,eAAO,MAAM,cAAc,+CAGjB,CAAC;AAGX,eAAO,MAAM,SAAS,kCAGZ,CAAC;AAGX,eAAO,MAAM,gBAAgB,mBAEnB,CAAC;AAGX,eAAO,MAAM,UAAU,2BAEb,CAAC;AAGX,eAAO,MAAM,YAAY,qBAEf,CAAC;AAGX,eAAO,MAAM,cAAc,sEAIjB,CAAC;AAGX,eAAO,MAAM,cAAc,6pBAAqD,CAAC;AACjF,eAAO,MAAM,oBAAoB,uiBAGvB,CAAC;AACX,eAAO,MAAM,eAAe,+SAAuD,CAAC;AACpF,eAAO,MAAM,SAAS,21DAAsM,CAAC;AAI7N,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAGX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE9J,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AAEpD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,aAAa,CAEvE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAE7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAehE;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA4BhF"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool registry with virtual actions
|
|
3
3
|
*/
|
|
4
|
-
// Jira read-only tools (
|
|
4
|
+
// Jira read-only tools (24 tools)
|
|
5
5
|
export const JIRA_READ_TOOLS = [
|
|
6
6
|
"jira_search_issues",
|
|
7
7
|
"jira_get_issue",
|
|
8
|
+
"jira_get_issues",
|
|
8
9
|
"jira_get_issue_comments",
|
|
9
10
|
"jira_get_issue_worklogs",
|
|
10
11
|
"jira_get_total_worklogs",
|
|
11
12
|
"jira_list_epic_children",
|
|
12
13
|
"jira_get_issue_types",
|
|
14
|
+
"jira_get_fields",
|
|
15
|
+
"jira_search_users",
|
|
13
16
|
"jira_list_projects",
|
|
14
17
|
"jira_get_project",
|
|
15
18
|
"jira_get_transitions",
|
|
@@ -34,7 +37,7 @@ export const JIRA_WRITE_TOOLS = [
|
|
|
34
37
|
"jira_add_comment",
|
|
35
38
|
"jira_link_issues",
|
|
36
39
|
];
|
|
37
|
-
// Confluence read-only tools (
|
|
40
|
+
// Confluence read-only tools (12 tools)
|
|
38
41
|
export const CONFLUENCE_READ_TOOLS = [
|
|
39
42
|
"confluence_search_content",
|
|
40
43
|
"confluence_get_page",
|
|
@@ -45,7 +48,6 @@ export const CONFLUENCE_READ_TOOLS = [
|
|
|
45
48
|
"confluence_get_page_children",
|
|
46
49
|
"confluence_get_comments",
|
|
47
50
|
"confluence_list_attachments",
|
|
48
|
-
"confluence_get_current_user_space",
|
|
49
51
|
// Draft read tools
|
|
50
52
|
"confluence_draft_list",
|
|
51
53
|
"confluence_draft_open",
|
|
@@ -65,14 +67,14 @@ export const CONFLUENCE_WRITE_TOOLS = [
|
|
|
65
67
|
"confluence_review_publish",
|
|
66
68
|
"confluence_review_discard",
|
|
67
69
|
];
|
|
68
|
-
// Confluence draft-only tools (
|
|
70
|
+
// Confluence draft-only tools (4 tools)
|
|
69
71
|
// For creating new content without reading existing pages - no information leakage
|
|
70
72
|
// Includes space discovery (no page content) to know WHERE to create drafts
|
|
73
|
+
// Note: whoami tool provides personal space info, no separate tool needed
|
|
71
74
|
export const CONFLUENCE_DRAFT_TOOLS = [
|
|
72
75
|
"confluence_draft_create",
|
|
73
76
|
"confluence_draft_save",
|
|
74
77
|
"confluence_draft_delete",
|
|
75
|
-
"confluence_get_current_user_space", // Returns user's personal space key only
|
|
76
78
|
"confluence_list_spaces", // Returns space names/keys, no page content
|
|
77
79
|
];
|
|
78
80
|
// Tempo read-only tools (10 tools)
|
|
@@ -94,7 +96,7 @@ export const TEMPO_WRITE_TOOLS = [
|
|
|
94
96
|
"tempo_update_worklog",
|
|
95
97
|
"tempo_delete_worklog",
|
|
96
98
|
];
|
|
97
|
-
// Buffer tools (
|
|
99
|
+
// Buffer tools (12 tools) - all local operations, write enforcement is on Jira/Confluence/Tempo
|
|
98
100
|
export const BUFFER_TOOLS = [
|
|
99
101
|
"buffer_create",
|
|
100
102
|
"buffer_get_items",
|
|
@@ -102,6 +104,7 @@ export const BUFFER_TOOLS = [
|
|
|
102
104
|
"buffer_get_structure",
|
|
103
105
|
"buffer_get_element",
|
|
104
106
|
"buffer_list",
|
|
107
|
+
"buffer_get_schema",
|
|
105
108
|
"buffer_clear",
|
|
106
109
|
"buffer_grep",
|
|
107
110
|
"buffer_edit",
|
|
@@ -127,6 +130,10 @@ export const JICON_HELP_TOOLS = [
|
|
|
127
130
|
export const DATE_TOOLS = [
|
|
128
131
|
"date_resolve",
|
|
129
132
|
];
|
|
133
|
+
// Whoami tools (1 tool) - unified user identity across all services
|
|
134
|
+
export const WHOAMI_TOOLS = [
|
|
135
|
+
"whoami",
|
|
136
|
+
];
|
|
130
137
|
// PlantUML tools (3 tools) - External server validation and rendering, read-only
|
|
131
138
|
export const PLANTUML_TOOLS = [
|
|
132
139
|
"plantuml_validate",
|
|
@@ -140,7 +147,7 @@ export const ALL_CONFLUENCE_TOOLS = [
|
|
|
140
147
|
...CONFLUENCE_WRITE_TOOLS,
|
|
141
148
|
];
|
|
142
149
|
export const ALL_TEMPO_TOOLS = [...TEMPO_READ_TOOLS, ...TEMPO_WRITE_TOOLS];
|
|
143
|
-
export const ALL_TOOLS = [...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS, ...BUFFER_TOOLS, ...WORKLOAD_TOOLS, ...URL_TOOLS, ...JICON_HELP_TOOLS, ...DATE_TOOLS, ...PLANTUML_TOOLS];
|
|
150
|
+
export const ALL_TOOLS = [...ALL_JIRA_TOOLS, ...ALL_CONFLUENCE_TOOLS, ...ALL_TEMPO_TOOLS, ...BUFFER_TOOLS, ...WORKLOAD_TOOLS, ...URL_TOOLS, ...JICON_HELP_TOOLS, ...DATE_TOOLS, ...WHOAMI_TOOLS, ...PLANTUML_TOOLS];
|
|
144
151
|
// Virtual actions mapping (buffer tools are NOT virtual actions - they are auto-dependencies)
|
|
145
152
|
// Note: confluence_write_home maps to same tools as confluence_write, but enables runtime restriction
|
|
146
153
|
export const VIRTUAL_ACTIONS = {
|
|
@@ -203,7 +210,7 @@ export function expandVirtualActionsWithDependencies(actions) {
|
|
|
203
210
|
expanded.add(action);
|
|
204
211
|
}
|
|
205
212
|
}
|
|
206
|
-
// Auto-include buffer, workload, URL, help, date, and plantuml tools with any Jira, Confluence, or Tempo tool
|
|
213
|
+
// Auto-include buffer, workload, URL, help, date, whoami, and plantuml tools with any Jira, Confluence, or Tempo tool
|
|
207
214
|
const hasJiraConfluenceOrTempo = Array.from(expanded).some((tool) => tool.startsWith("jira_") || tool.startsWith("confluence_") || tool.startsWith("tempo_"));
|
|
208
215
|
if (hasJiraConfluenceOrTempo) {
|
|
209
216
|
BUFFER_TOOLS.forEach((tool) => expanded.add(tool));
|
|
@@ -211,6 +218,7 @@ export function expandVirtualActionsWithDependencies(actions) {
|
|
|
211
218
|
URL_TOOLS.forEach((tool) => expanded.add(tool));
|
|
212
219
|
JICON_HELP_TOOLS.forEach((tool) => expanded.add(tool));
|
|
213
220
|
DATE_TOOLS.forEach((tool) => expanded.add(tool));
|
|
221
|
+
WHOAMI_TOOLS.forEach((tool) => expanded.add(tool));
|
|
214
222
|
PLANTUML_TOOLS.forEach((tool) => expanded.add(tool));
|
|
215
223
|
}
|
|
216
224
|
return Array.from(expanded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/permissions/tool-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oBAAoB;IACpB,gBAAgB;IAChB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,oBAAoB;IACpB,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,wDAAwD;IACxD,0BAA0B;IAC1B,0BAA0B;IAC1B,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;CACb,CAAC;AAEX,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,2BAA2B;IAC3B,qBAAqB;IACrB,8BAA8B;IAC9B,iBAAiB,EAAE,6DAA6D;IAChF,wBAAwB;IACxB,sBAAsB;IACtB,8BAA8B;IAC9B,yBAAyB;IACzB,6BAA6B;IAC7B,
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/permissions/tool-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,wDAAwD;IACxD,0BAA0B;IAC1B,0BAA0B;IAC1B,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;CACb,CAAC;AAEX,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,2BAA2B;IAC3B,qBAAqB;IACrB,8BAA8B;IAC9B,iBAAiB,EAAE,6DAA6D;IAChF,wBAAwB;IACxB,sBAAsB;IACtB,8BAA8B;IAC9B,yBAAyB;IACzB,6BAA6B;IAC7B,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;IACvB,6BAA6B;IAC7B,wBAAwB;CAChB,CAAC;AAEX,mCAAmC;AACnC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;IAC9B,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,2BAA2B;IAC3B,2BAA2B;CACnB,CAAC;AAEX,wCAAwC;AACxC,mFAAmF;AACnF,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB,EAAE,4CAA4C;CAC9D,CAAC;AAEX,mCAAmC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB;CAChB,CAAC;AAEX,8BAA8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAEX,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,oBAAoB;IACpB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,aAAa;IACb,uBAAuB;IACvB,kDAAkD;IAClD,kBAAkB;CACV,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB;IAClB,cAAc;CACN,CAAC;AAEX,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,UAAU;CACF,CAAC;AAEX,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;CACE,CAAC;AAEX,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;CACN,CAAC;AAEX,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;CACA,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;CACT,CAAC;AAEX,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAU,CAAC;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,qBAAqB;IACxB,GAAG,sBAAsB;CACjB,CAAC;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAU,CAAC;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,oBAAoB,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,UAAU,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAU,CAAC;AAE7N,8FAA8F;AAC9F,sGAAsG;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,sBAAsB;IACxC,qBAAqB,EAAE,sBAAsB,EAAE,8DAA8D;IAC7G,gBAAgB,EAAE,sBAAsB,EAAE,gEAAgE;IAC1G,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;CAClB,CAAC;AAyBX;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM,IAAI,eAAe,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAQ,SAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAiB;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,wBAAwB;YACxB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAAC,OAAiB;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sHAAsH;IACtH,MAAM,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAClG,CAAC;IACF,IAAI,wBAAwB,EAAE,CAAC;QAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* them explicitly through function parameters.
|
|
7
7
|
*/
|
|
8
8
|
import type { ContentBuffer } from "../utils/content-buffer.js";
|
|
9
|
-
import type {
|
|
9
|
+
import type { PartialRequestCredentials } from "../credentials/types.js";
|
|
10
10
|
import type { JiraClient } from "../jira/client.js";
|
|
11
11
|
import type { ConfluenceClient } from "../confluence/client.js";
|
|
12
12
|
import type { TempoClient } from "../tempo/client.js";
|
|
@@ -16,7 +16,7 @@ import type { WriteHomeValidator } from "../permissions/write-home-validator.js"
|
|
|
16
16
|
*/
|
|
17
17
|
export interface SessionContext {
|
|
18
18
|
sessionId: string;
|
|
19
|
-
credentials:
|
|
19
|
+
credentials: PartialRequestCredentials;
|
|
20
20
|
buffer: ContentBuffer;
|
|
21
21
|
jiraClient: JiraClient | null;
|
|
22
22
|
confluenceClient: ConfluenceClient | null;
|
|
@@ -72,7 +72,7 @@ export declare function getSessionWriteHomeValidator(): WriteHomeValidator | nul
|
|
|
72
72
|
* Get credentials from the current session context
|
|
73
73
|
* Returns empty object if no session context
|
|
74
74
|
*/
|
|
75
|
-
export declare function getSessionCredentials():
|
|
75
|
+
export declare function getSessionCredentials(): PartialRequestCredentials;
|
|
76
76
|
/**
|
|
77
77
|
* Get the session ID for the current context
|
|
78
78
|
* Returns undefined if no session context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/session/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/session/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C;AAOD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAShD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,GAAG,SAAS,CAE/D;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,GAAG,IAAI,CAExD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,gBAAgB,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAE1D;AAMD;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,GAAG,IAAI,CAExE;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,yBAAyB,CAEjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD"}
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* - Write-home validators
|
|
8
8
|
*
|
|
9
9
|
* Sessions are created on first request with credentials and automatically
|
|
10
|
-
* cleaned up after
|
|
10
|
+
* cleaned up after 1 hour of inactivity.
|
|
11
11
|
*/
|
|
12
12
|
import { ContentBuffer } from "../utils/content-buffer.js";
|
|
13
|
-
import type {
|
|
13
|
+
import type { PartialRequestCredentials } from "../credentials/types.js";
|
|
14
14
|
import { JiraClient } from "../jira/client.js";
|
|
15
15
|
import { ConfluenceClient } from "../confluence/client.js";
|
|
16
16
|
import { TempoClient } from "../tempo/client.js";
|
|
@@ -29,7 +29,7 @@ export interface SessionClients {
|
|
|
29
29
|
*/
|
|
30
30
|
export interface SessionData {
|
|
31
31
|
sessionId: string;
|
|
32
|
-
credentials:
|
|
32
|
+
credentials: PartialRequestCredentials;
|
|
33
33
|
buffer: ContentBuffer;
|
|
34
34
|
clients: SessionClients;
|
|
35
35
|
writeHomeValidator: WriteHomeValidator | null;
|
|
@@ -46,14 +46,12 @@ export interface SessionManagerConfig {
|
|
|
46
46
|
defaultConfluenceConfig: ApiConfig | null;
|
|
47
47
|
/** Whether write-home restriction is enabled */
|
|
48
48
|
writeHomeEnabled: boolean;
|
|
49
|
-
/**
|
|
50
|
-
sessionTimeoutMs?: number;
|
|
51
|
-
/** Cleanup interval in milliseconds (default: 5 minutes) */
|
|
52
|
-
cleanupIntervalMs?: number;
|
|
53
|
-
/** Maximum buffers per session (default: 50) */
|
|
49
|
+
/** Maximum buffers per session (default: 10) */
|
|
54
50
|
maxBuffersPerSession?: number;
|
|
55
51
|
/** Maximum concurrent sessions (default: 1000, DoS protection) */
|
|
56
52
|
maxSessions?: number;
|
|
53
|
+
/** Session timeout in milliseconds (default: 15 minutes) */
|
|
54
|
+
sessionTimeoutMs?: number;
|
|
57
55
|
/** Callback when a session is destroyed (for transport cleanup coordination) */
|
|
58
56
|
onSessionDestroyed?: (sessionId: string) => void;
|
|
59
57
|
}
|
|
@@ -64,21 +62,32 @@ export interface SessionManagerConfig {
|
|
|
64
62
|
* - ContentBuffer instances (isolated per session)
|
|
65
63
|
* - API clients with their caches
|
|
66
64
|
* - WriteHomeValidator instances
|
|
67
|
-
*
|
|
65
|
+
*
|
|
66
|
+
* Sessions are cleaned up after a configurable timeout of inactivity (default: 1 hour).
|
|
67
|
+
* The timeout is reset on actual tool calls.
|
|
68
68
|
*/
|
|
69
69
|
export declare class SessionManager {
|
|
70
70
|
private sessions;
|
|
71
|
-
private cleanupInterval;
|
|
72
71
|
private config;
|
|
73
|
-
private sessionTimeoutMs;
|
|
74
72
|
private maxSessions;
|
|
73
|
+
private sessionTimeoutMs;
|
|
74
|
+
private cleanupInterval;
|
|
75
75
|
private onSessionDestroyed?;
|
|
76
76
|
constructor(config: SessionManagerConfig);
|
|
77
|
+
/**
|
|
78
|
+
* Start the session cleanup interval
|
|
79
|
+
* Checks every minute for sessions that have exceeded the timeout
|
|
80
|
+
*/
|
|
81
|
+
private startCleanupInterval;
|
|
82
|
+
/**
|
|
83
|
+
* Clean up sessions that have exceeded the inactivity timeout
|
|
84
|
+
*/
|
|
85
|
+
private cleanupTimedOutSessions;
|
|
77
86
|
/**
|
|
78
87
|
* Create a new session with the given credentials
|
|
79
88
|
* @throws Error if maximum sessions limit reached (DoS protection)
|
|
80
89
|
*/
|
|
81
|
-
createSession(sessionId: string, credentials:
|
|
90
|
+
createSession(sessionId: string, credentials: PartialRequestCredentials): SessionData;
|
|
82
91
|
/**
|
|
83
92
|
* Get an existing session by ID
|
|
84
93
|
* Updates the lastActivity timestamp on access
|
|
@@ -89,13 +98,18 @@ export declare class SessionManager {
|
|
|
89
98
|
* If session exists, returns it (and updates lastActivity)
|
|
90
99
|
* If session doesn't exist, creates it with the given credentials
|
|
91
100
|
*
|
|
92
|
-
* If existing session has
|
|
93
|
-
*
|
|
101
|
+
* If existing session has different credentials than the request,
|
|
102
|
+
* recreates the affected clients to use the new credentials.
|
|
103
|
+
* This ensures per-request credential isolation in multi-user scenarios.
|
|
94
104
|
*/
|
|
95
|
-
getOrCreateSession(sessionId: string, credentials:
|
|
105
|
+
getOrCreateSession(sessionId: string, credentials: PartialRequestCredentials): SessionData;
|
|
96
106
|
/**
|
|
97
|
-
* Update session clients in-place when
|
|
98
|
-
* This preserves the session and its transport connection
|
|
107
|
+
* Update session clients in-place when credentials change
|
|
108
|
+
* This preserves the session and its transport connection while updating API clients
|
|
109
|
+
*
|
|
110
|
+
* @param session - The existing session to update
|
|
111
|
+
* @param credentials - New credentials from the request
|
|
112
|
+
* @param options - Flags indicating which credentials changed
|
|
99
113
|
*/
|
|
100
114
|
private updateSessionClients;
|
|
101
115
|
/**
|
|
@@ -103,10 +117,6 @@ export declare class SessionManager {
|
|
|
103
117
|
* Also triggers onSessionDestroyed callback for transport cleanup
|
|
104
118
|
*/
|
|
105
119
|
destroySession(sessionId: string): void;
|
|
106
|
-
/**
|
|
107
|
-
* Clean up sessions that have been inactive for longer than the timeout
|
|
108
|
-
*/
|
|
109
|
-
private cleanupStaleSessions;
|
|
110
120
|
/**
|
|
111
121
|
* Get the number of active sessions
|
|
112
122
|
*/
|
|
@@ -115,6 +125,17 @@ export declare class SessionManager {
|
|
|
115
125
|
* Get the maximum sessions limit
|
|
116
126
|
*/
|
|
117
127
|
getMaxSessions(): number;
|
|
128
|
+
/**
|
|
129
|
+
* Check if a session exists without updating its activity timestamp
|
|
130
|
+
*/
|
|
131
|
+
hasSession(sessionId: string): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Update session activity timestamp without returning full session data
|
|
134
|
+
* Used to extend session lifetime when real activity occurs (tool calls)
|
|
135
|
+
*
|
|
136
|
+
* @returns true if session was found, false otherwise
|
|
137
|
+
*/
|
|
138
|
+
touchSession(sessionId: string): boolean;
|
|
118
139
|
/**
|
|
119
140
|
* Set the callback for when a session is destroyed
|
|
120
141
|
* Used by HTTP transport for coordinated transport cleanup
|
|
@@ -126,17 +147,27 @@ export declare class SessionManager {
|
|
|
126
147
|
*/
|
|
127
148
|
shutdown(): void;
|
|
128
149
|
/**
|
|
129
|
-
*
|
|
150
|
+
* Get the session timeout in milliseconds
|
|
130
151
|
*/
|
|
131
|
-
|
|
152
|
+
getSessionTimeoutMs(): number;
|
|
132
153
|
/**
|
|
133
|
-
* Resolve
|
|
154
|
+
* Resolve Jira configuration by merging partial per-request credentials with defaults
|
|
155
|
+
*
|
|
156
|
+
* Priority: per-request > environment defaults
|
|
157
|
+
* - URL from header OR URL from env
|
|
158
|
+
* - Token from header OR token from env
|
|
159
|
+
* - Both must be present for a valid config
|
|
134
160
|
*/
|
|
135
|
-
private
|
|
161
|
+
private resolveJiraConfig;
|
|
136
162
|
/**
|
|
137
|
-
*
|
|
163
|
+
* Resolve Confluence configuration by merging partial per-request credentials with defaults
|
|
164
|
+
*
|
|
165
|
+
* Priority: per-request > environment defaults
|
|
166
|
+
* - URL from header OR URL from env
|
|
167
|
+
* - Token from header OR token from env
|
|
168
|
+
* - Both must be present for a valid config
|
|
138
169
|
*/
|
|
139
|
-
private
|
|
170
|
+
private resolveConfluenceConfig;
|
|
140
171
|
}
|
|
141
172
|
/**
|
|
142
173
|
* Initialize the session manager singleton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,0DAA0D;IAC1D,uBAAuB,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,gDAAgD;IAChD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAGD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAC,CAA8B;gBAE7C,MAAM,EAAE,oBAAoB;IAUxC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,GAAG,WAAW;IAgDrF;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQtD;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,GAAG,WAAW;IA2B1F;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAmBvC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASxC;;;OAGG;IACH,2BAA2B,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIxE;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAehB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;CA2BhC;AAKD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAOrF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C"}
|