semantic-kernel 0.3.7.dev0__tar.gz → 0.3.8.dev0__tar.gz

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.
Files changed (125) hide show
  1. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/PKG-INFO +1 -1
  2. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/pyproject.toml +2 -2
  3. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/plan.py +1 -1
  4. semantic_kernel-0.3.8.dev0/semantic_kernel/skill_definition/constants.py +3 -0
  5. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/read_only_skill_collection.py +11 -16
  6. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/skill_collection.py +8 -18
  7. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/pip/README.md +0 -0
  8. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/__init__.py +0 -0
  9. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/__init__.py +0 -0
  10. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/__init__.py +0 -0
  11. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/ai_exception.py +0 -0
  12. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/chat_completion_client_base.py +0 -0
  13. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/chat_request_settings.py +0 -0
  14. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/complete_request_settings.py +0 -0
  15. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/embeddings/embedding_generator_base.py +0 -0
  16. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/hugging_face/__init__.py +0 -0
  17. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/hugging_face/services/hf_text_completion.py +0 -0
  18. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/hugging_face/services/hf_text_embedding.py +0 -0
  19. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/__init__.py +0 -0
  20. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/azure_chat_completion.py +0 -0
  21. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/azure_text_completion.py +0 -0
  22. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/azure_text_embedding.py +0 -0
  23. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/open_ai_chat_completion.py +0 -0
  24. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/open_ai_text_completion.py +0 -0
  25. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/open_ai/services/open_ai_text_embedding.py +0 -0
  26. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/ai/text_completion_client_base.py +0 -0
  27. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/azure_cognitive_search/__init__.py +0 -0
  28. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/azure_cognitive_search/azure_cognitive_search_memory_store.py +0 -0
  29. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/azure_cognitive_search/utils.py +0 -0
  30. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/chroma/__init__.py +0 -0
  31. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/chroma/chroma_memory_store.py +0 -0
  32. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/chroma/utils.py +0 -0
  33. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/milvus/__init__.py +0 -0
  34. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/milvus/milvus_memory_store.py +0 -0
  35. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/pinecone/__init__.py +0 -0
  36. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/pinecone/pinecone_memory_store.py +0 -0
  37. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/pinecone/utils.py +0 -0
  38. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/postgres/__init__.py +0 -0
  39. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/postgres/postgres_memory_store.py +0 -0
  40. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/qdrant/__init__.py +0 -0
  41. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/qdrant/qdrant_memory_store.py +0 -0
  42. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/memory/weaviate/weaviate_memory_store.py +0 -0
  43. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/openapi/__init__.py +0 -0
  44. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/openapi/sk_openapi.py +0 -0
  45. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/search_engine/__init__.py +0 -0
  46. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/search_engine/bing_connector.py +0 -0
  47. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/search_engine/connector.py +0 -0
  48. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/connectors/search_engine/google_connector.py +0 -0
  49. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/__init__.py +0 -0
  50. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/conversation_summary_skill.py +0 -0
  51. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/file_io_skill.py +0 -0
  52. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/http_skill.py +0 -0
  53. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/math_skill.py +0 -0
  54. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/text_memory_skill.py +0 -0
  55. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/text_skill.py +0 -0
  56. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/time_skill.py +0 -0
  57. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/wait_skill.py +0 -0
  58. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/core_skills/web_search_engine_skill.py +0 -0
  59. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/kernel.py +0 -0
  60. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/kernel_exception.py +0 -0
  61. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/__init__.py +0 -0
  62. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/memory_query_result.py +0 -0
  63. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/memory_record.py +0 -0
  64. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/memory_store_base.py +0 -0
  65. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/null_memory.py +0 -0
  66. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/semantic_text_memory.py +0 -0
  67. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/semantic_text_memory_base.py +0 -0
  68. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/memory/volatile_memory_store.py +0 -0
  69. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/context_variables.py +0 -0
  70. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/delegate_handlers.py +0 -0
  71. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/delegate_inference.py +0 -0
  72. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/delegate_types.py +0 -0
  73. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/sk_context.py +0 -0
  74. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/sk_function.py +0 -0
  75. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/orchestration/sk_function_base.py +0 -0
  76. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/__init__.py +0 -0
  77. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/action_planner/action_planner.py +0 -0
  78. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/action_planner/skprompt.txt +0 -0
  79. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/basic_planner.py +0 -0
  80. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/planning_exception.py +0 -0
  81. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/Skills/SequentialPlanning/config.json +0 -0
  82. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/Skills/SequentialPlanning/skprompt.txt +0 -0
  83. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/__init__.py +0 -0
  84. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/sequential_planner.py +0 -0
  85. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/sequential_planner_config.py +0 -0
  86. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/sequential_planner_extensions.py +0 -0
  87. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/planning/sequential_planner/sequential_planner_parser.py +0 -0
  88. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/reliability/pass_through_without_retry.py +0 -0
  89. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/reliability/retry_mechanism_base.py +0 -0
  90. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/semantic_functions/chat_prompt_template.py +0 -0
  91. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/semantic_functions/prompt_template.py +0 -0
  92. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/semantic_functions/prompt_template_base.py +0 -0
  93. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/semantic_functions/prompt_template_config.py +0 -0
  94. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/semantic_functions/semantic_function_config.py +0 -0
  95. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/sk_pydantic.py +0 -0
  96. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/__init__.py +0 -0
  97. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/function_view.py +0 -0
  98. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/functions_view.py +0 -0
  99. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/parameter_view.py +0 -0
  100. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/read_only_skill_collection_base.py +0 -0
  101. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/sk_function_context_parameter_decorator.py +0 -0
  102. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/sk_function_decorator.py +0 -0
  103. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/skill_definition/skill_collection_base.py +0 -0
  104. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/README.md +0 -0
  105. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/block.py +0 -0
  106. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/block_types.py +0 -0
  107. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/code_block.py +0 -0
  108. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/function_id_block.py +0 -0
  109. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/symbols.py +0 -0
  110. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/text_block.py +0 -0
  111. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/val_block.py +0 -0
  112. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/blocks/var_block.py +0 -0
  113. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/code_tokenizer.py +0 -0
  114. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/prompt_template_engine.py +0 -0
  115. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/protocols/code_renderer.py +0 -0
  116. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/protocols/prompt_templating_engine.py +0 -0
  117. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/protocols/text_renderer.py +0 -0
  118. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/template_engine/template_tokenizer.py +0 -0
  119. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/text/__init__.py +0 -0
  120. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/text/function_extension.py +0 -0
  121. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/text/text_chunker.py +0 -0
  122. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/utils/null_logger.py +0 -0
  123. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/utils/settings.py +0 -0
  124. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/utils/static_property.py +0 -0
  125. {semantic_kernel-0.3.7.dev0 → semantic_kernel-0.3.8.dev0}/semantic_kernel/utils/validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: semantic-kernel
3
- Version: 0.3.7.dev0
3
+ Version: 0.3.8.dev0
4
4
  Summary:
5
5
  Author: Microsoft
6
6
  Author-email: SK-Support@microsoft.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "semantic-kernel"
3
- version = "0.3.7.dev"
3
+ version = "0.3.8.dev"
4
4
  description = ""
5
5
  authors = ["Microsoft <SK-Support@microsoft.com>"]
6
6
  readme = "pip/README.md"
@@ -22,7 +22,7 @@ pre-commit = "3.3.3"
22
22
  black = {version = "23.7.0", allow-prereleases = true}
23
23
  ipykernel = "^6.21.1"
24
24
  pytest = "7.4.0"
25
- ruff = "0.0.282"
25
+ ruff = "0.0.283"
26
26
  pytest-asyncio = "0.21.1"
27
27
 
28
28
  [tool.poetry.group.hugging_face.dependencies]
@@ -410,7 +410,7 @@ class Plan(SKFunctionBase):
410
410
 
411
411
  expanded_value = self.expand_from_variables(variables, param_var)
412
412
  if expanded_value.lower() == param_var.lower():
413
- step_variables.set(param_var, expanded_value)
413
+ step_variables.set(param_var, step.parameters._variables[param_var])
414
414
  elif variables.contains_key(param_var):
415
415
  step_variables.set(param_var, variables[param_var])
416
416
  elif self._state.contains_key(param_var):
@@ -0,0 +1,3 @@
1
+ import typing as t
2
+
3
+ GLOBAL_SKILL: t.Final[str] = "_GLOBAL_FUNCTIONS_"
@@ -1,39 +1,38 @@
1
1
  # Copyright (c) Microsoft. All rights reserved.
2
2
 
3
3
  from logging import Logger
4
- from typing import TYPE_CHECKING, Dict, Generic, Literal, Optional, Tuple, TypeVar
4
+ from typing import TYPE_CHECKING, ClassVar, Dict, Optional, Tuple
5
5
 
6
6
  import pydantic as pdt
7
7
 
8
8
  from semantic_kernel.kernel_exception import KernelException
9
- from semantic_kernel.sk_pydantic import SKGenericModel
9
+ from semantic_kernel.orchestration.sk_function import SKFunction
10
+ from semantic_kernel.sk_pydantic import SKBaseModel
11
+ from semantic_kernel.skill_definition import constants
10
12
  from semantic_kernel.skill_definition.functions_view import FunctionsView
11
13
  from semantic_kernel.skill_definition.read_only_skill_collection_base import (
12
14
  ReadOnlySkillCollectionBase,
13
15
  )
14
16
  from semantic_kernel.utils.null_logger import NullLogger
15
- from semantic_kernel.utils.static_property import static_property
16
17
 
17
18
  if TYPE_CHECKING:
18
19
  from semantic_kernel.orchestration.sk_function_base import SKFunctionBase
19
20
 
20
21
 
21
- SKFunctionT = TypeVar("SKFunctionT", bound="SKFunctionBase")
22
-
23
-
24
- class ReadOnlySkillCollection(
25
- SKGenericModel, ReadOnlySkillCollectionBase, Generic[SKFunctionT]
26
- ):
27
- data: Dict[str, Dict[str, SKFunctionT]]
22
+ class ReadOnlySkillCollection(SKBaseModel, ReadOnlySkillCollectionBase):
23
+ GLOBAL_SKILL: ClassVar[str] = constants.GLOBAL_SKILL
24
+ data: Dict[str, Dict[str, SKFunction]] = pdt.Field(default_factory=dict)
28
25
  _log: Logger = pdt.PrivateAttr()
29
26
 
30
27
  class Config:
31
28
  allow_mutation = False
32
29
 
33
30
  def __init__(
34
- self, data: Dict[str, Dict[str, SKFunctionT]], log: Optional[Logger] = None
31
+ self,
32
+ data: Dict[str, Dict[str, SKFunction]] = None,
33
+ log: Optional[Logger] = None,
35
34
  ) -> None:
36
- super().__init__(data=data)
35
+ super().__init__(data=data or {})
37
36
  self._log = log or NullLogger()
38
37
 
39
38
  def has_function(self, skill_name: Optional[str], function_name: str) -> bool:
@@ -126,7 +125,3 @@ class ReadOnlySkillCollection(
126
125
 
127
126
  s_name, f_name = s_name.lower(), f_name.lower()
128
127
  return s_name, f_name
129
-
130
- @static_property
131
- def GLOBAL_SKILL() -> Literal["_GLOBAL_FUNCTIONS_"]:
132
- return "_GLOBAL_FUNCTIONS_"
@@ -3,16 +3,17 @@
3
3
  from logging import Logger
4
4
  from typing import (
5
5
  TYPE_CHECKING,
6
+ ClassVar,
6
7
  Dict,
7
- Generic,
8
8
  Optional,
9
- TypeVar,
10
9
  Union,
11
10
  )
12
11
 
13
12
  import pydantic as pdt
14
13
 
14
+ from semantic_kernel.orchestration.sk_function import SKFunction
15
15
  from semantic_kernel.sk_pydantic import SKGenericModel
16
+ from semantic_kernel.skill_definition import constants
16
17
  from semantic_kernel.skill_definition.functions_view import FunctionsView
17
18
  from semantic_kernel.skill_definition.read_only_skill_collection import (
18
19
  ReadOnlySkillCollection,
@@ -22,15 +23,13 @@ from semantic_kernel.skill_definition.read_only_skill_collection_base import (
22
23
  )
23
24
  from semantic_kernel.skill_definition.skill_collection_base import SkillCollectionBase
24
25
  from semantic_kernel.utils.null_logger import NullLogger
25
- from semantic_kernel.utils.static_property import static_property
26
26
 
27
27
  if TYPE_CHECKING:
28
28
  from semantic_kernel.orchestration.sk_function_base import SKFunctionBase
29
29
 
30
- SKFunctionT = TypeVar("SKFunctionT", bound="SKFunctionBase")
31
30
 
32
-
33
- class SkillCollection(SKGenericModel, SkillCollectionBase, Generic[SKFunctionT]):
31
+ class SkillCollection(SKGenericModel, SkillCollectionBase):
32
+ GLOBAL_SKILL: ClassVar[str] = constants.GLOBAL_SKILL
34
33
  read_only_skill_collection_: ReadOnlySkillCollection = pdt.Field(
35
34
  alias="read_only_skill_collection"
36
35
  )
@@ -39,7 +38,7 @@ class SkillCollection(SKGenericModel, SkillCollectionBase, Generic[SKFunctionT])
39
38
  def __init__(
40
39
  self,
41
40
  log: Optional[Logger] = None,
42
- skill_collection: Union[Dict[str, Dict[str, SKFunctionT]], None] = None,
41
+ skill_collection: Union[Dict[str, Dict[str, SKFunction]], None] = None,
43
42
  read_only_skill_collection_: Optional[ReadOnlySkillCollection] = None,
44
43
  ) -> None:
45
44
  if skill_collection and read_only_skill_collection_:
@@ -71,10 +70,7 @@ class SkillCollection(SKGenericModel, SkillCollectionBase, Generic[SKFunctionT])
71
70
  s_name, f_name = function.skill_name, function.name
72
71
  s_name, f_name = s_name.lower(), f_name.lower()
73
72
 
74
- if s_name not in self.skill_collection:
75
- self.skill_collection[s_name] = {}
76
-
77
- self.skill_collection[s_name][f_name] = function
73
+ self.skill_collection.setdefault(s_name, {})[f_name] = function
78
74
 
79
75
  def add_native_function(self, function: "SKFunctionBase") -> None:
80
76
  if function is None:
@@ -84,10 +80,8 @@ class SkillCollection(SKGenericModel, SkillCollectionBase, Generic[SKFunctionT])
84
80
  s_name, f_name = self.read_only_skill_collection_._normalize_names(
85
81
  s_name, f_name, True
86
82
  )
87
- if s_name not in self.skill_collection:
88
- self.skill_collection[s_name] = {}
89
83
 
90
- self.skill_collection[s_name][f_name] = function
84
+ self.skill_collection.setdefault(s_name, {})[f_name] = function
91
85
 
92
86
  def has_function(self, skill_name: Optional[str], function_name: str) -> bool:
93
87
  return self.read_only_skill_collection_.has_function(skill_name, function_name)
@@ -131,7 +125,3 @@ class SkillCollection(SKGenericModel, SkillCollectionBase, Generic[SKFunctionT])
131
125
  self, skill_name: Optional[str], function_name: str
132
126
  ) -> "SKFunctionBase":
133
127
  return self.read_only_skill_collection_.get_function(skill_name, function_name)
134
-
135
- @static_property
136
- def GLOBAL_SKILL():
137
- return ReadOnlySkillCollection.GLOBAL_SKILL