plm-skill-kernel 1.0.1__tar.gz → 1.0.2__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 (53) hide show
  1. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/PKG-INFO +1 -1
  2. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/__init__.py +1 -1
  3. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/skill_orchestrator.py +10 -1
  4. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/PKG-INFO +1 -1
  5. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/pyproject.toml +1 -1
  6. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/README.md +0 -0
  7. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/__main__.py +0 -0
  8. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/dispatcher.py +0 -0
  9. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/registry.py +0 -0
  10. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/sdk/__init__.py +0 -0
  11. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/sdk/_registry.py +0 -0
  12. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/sdk/context.py +0 -0
  13. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/sdk/decorator.py +0 -0
  14. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/sdk/types.py +0 -0
  15. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/server.py +0 -0
  16. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/__init__.py +0 -0
  17. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/agents/__init__.py +0 -0
  18. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/agents/suggest.py +0 -0
  19. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/bpmn/__init__.py +0 -0
  20. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/bpmn/generate.py +0 -0
  21. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/cleansing/__init__.py +0 -0
  22. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/cleansing/dedupe.py +0 -0
  23. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/cleansing/normalise.py +0 -0
  24. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/documents/__init__.py +0 -0
  25. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/documents/parse.py +0 -0
  26. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/__init__.py +0 -0
  27. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/_v1_corpus.py +0 -0
  28. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/get_record.py +0 -0
  29. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/resolve.py +0 -0
  30. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/retrieve.py +0 -0
  31. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/search.py +0 -0
  32. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills/knowledge/validate.py +0 -0
  33. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/__init__.py +0 -0
  34. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/knowledge_pack_loader.py +0 -0
  35. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/knowledge_search_engine.py +0 -0
  36. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/plm_skill_registry.py +0 -0
  37. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel/skills_legacy/plm_tool_definitions.py +0 -0
  38. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/SOURCES.txt +0 -0
  39. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/dependency_links.txt +0 -0
  40. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/entry_points.txt +0 -0
  41. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/requires.txt +0 -0
  42. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/plm_skill_kernel.egg-info/top_level.txt +0 -0
  43. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/setup.cfg +0 -0
  44. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_agents_suggest_asgi.py +0 -0
  45. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_agents_suggest_unit.py +0 -0
  46. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_dispatcher.py +0 -0
  47. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_documents_parse_asgi.py +0 -0
  48. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_documents_parse_unit.py +0 -0
  49. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_sdk_decorator.py +0 -0
  50. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_server.py +0 -0
  51. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_skills_cleansing.py +0 -0
  52. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_skills_knowledge.py +0 -0
  53. {plm_skill_kernel-1.0.1 → plm_skill_kernel-1.0.2}/tests/test_skills_knowledge_registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plm-skill-kernel
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: TracePulse PLM Skill Kernel — Wave 2 Conv A. Decorator-based Skill SDK + V1 in-process dispatcher + Kernel HTTP server stub matching CR.10 §7.bis (POST /v1/skills/{id}/invoke). Ships 3 starter skills (cleansing.normalise, cleansing.dedupe, bpmn.generate). Sibling of plm-engine-core; the two communicate over the V1.1 HTTP loopback (SKILL_KERNEL_LOOPBACK=on) — no Python-level coupling at the dispatch boundary.
5
5
  Author: TracePulse
6
6
  License: Proprietary
@@ -14,7 +14,7 @@ sanctioned interaction is the V1.1 HTTP loopback (env-flagged on
14
14
  ``SKILL_KERNEL_LOOPBACK``); any Python-level reach-in is forbidden by
15
15
  the import-linter contract in ``pyproject.toml``.
16
16
  """
17
- __version__ = "1.0.1"
17
+ __version__ = "1.0.2"
18
18
 
19
19
  # The decorator + sdk surface is the public authoring API. Re-exported
20
20
  # here so callers write ``from plm_skill_kernel import skill`` rather
@@ -9,7 +9,6 @@ import json
9
9
  import logging
10
10
  from dataclasses import dataclass, field
11
11
 
12
- from plm_engine_core.runtime.llm_service import llm_service
13
12
  from plm_skill_kernel.skills_legacy.plm_skill_registry import PLMSkillRegistry
14
13
 
15
14
  logger = logging.getLogger(__name__)
@@ -105,6 +104,16 @@ class SkillOrchestrator:
105
104
  "Tu réponds uniquement en JSON structuré, sans texte supplémentaire."
106
105
  )
107
106
 
107
+ # FTR-1713 — imported HERE, not at module scope. `runtime.llm_service`
108
+ # executes `from litellm import acompletion` on import, so a top-level
109
+ # import made LiteLLM load in every process that merely imported this
110
+ # module — including plm-agent-studio, whose FTR-1713 gate requires a
111
+ # runtime proof that it holds no provider path. The singleton is
112
+ # process-wide and lazily constructed anyway, so deferring the import
113
+ # changes no behaviour: the chain loads when a legacy skill actually
114
+ # runs, and not before.
115
+ from plm_engine_core.runtime.llm_service import llm_service
116
+
108
117
  result_text = await llm_service.generate_reply(
109
118
  system_prompt=system_prompt,
110
119
  user_prompt=user_prompt,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plm-skill-kernel
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: TracePulse PLM Skill Kernel — Wave 2 Conv A. Decorator-based Skill SDK + V1 in-process dispatcher + Kernel HTTP server stub matching CR.10 §7.bis (POST /v1/skills/{id}/invoke). Ships 3 starter skills (cleansing.normalise, cleansing.dedupe, bpmn.generate). Sibling of plm-engine-core; the two communicate over the V1.1 HTTP loopback (SKILL_KERNEL_LOOPBACK=on) — no Python-level coupling at the dispatch boundary.
5
5
  Author: TracePulse
6
6
  License: Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "plm-skill-kernel"
7
- version = "1.0.1"
7
+ version = "1.0.2"
8
8
  description = "TracePulse PLM Skill Kernel — Wave 2 Conv A. Decorator-based Skill SDK + V1 in-process dispatcher + Kernel HTTP server stub matching CR.10 §7.bis (POST /v1/skills/{id}/invoke). Ships 3 starter skills (cleansing.normalise, cleansing.dedupe, bpmn.generate). Sibling of plm-engine-core; the two communicate over the V1.1 HTTP loopback (SKILL_KERNEL_LOOPBACK=on) — no Python-level coupling at the dispatch boundary."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"