licos-dev-sdk 0.6.0__tar.gz → 0.6.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 (58) hide show
  1. licos_dev_sdk-0.6.2/PKG-INFO +69 -0
  2. licos_dev_sdk-0.6.2/README.md +41 -0
  3. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/pyproject.toml +2 -2
  4. licos_dev_sdk-0.6.0/PKG-INFO +0 -42
  5. licos_dev_sdk-0.6.0/README.md +0 -14
  6. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/.gitignore +0 -0
  7. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/DOCX.md +0 -0
  8. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/__init__.py +0 -0
  9. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/_usage_identity.py +0 -0
  10. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/_utils.py +0 -0
  11. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/archive.py +0 -0
  12. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/chart.py +0 -0
  13. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/data.py +0 -0
  14. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/diagram.py +0 -0
  15. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document.py +0 -0
  16. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_common.py +0 -0
  17. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx.py +0 -0
  18. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_edit.py +0 -0
  19. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_expectations.py +0 -0
  20. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_inspect.py +0 -0
  21. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_layout.py +0 -0
  22. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_package.py +0 -0
  23. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_preservation.py +0 -0
  24. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_structure.py +0 -0
  25. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_table.py +0 -0
  26. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_docx_table_actions.py +0 -0
  27. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_read.py +0 -0
  28. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/document_table_export.py +0 -0
  29. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/image.py +0 -0
  30. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/langchain_reasoning.py +0 -0
  31. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/model.py +0 -0
  32. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/observability.py +0 -0
  33. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/pdf_inspect.py +0 -0
  34. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/ppt_master_runtime.py +0 -0
  35. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/presentation.py +0 -0
  36. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/presentation_canvas.py +0 -0
  37. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/presentation_inspect.py +0 -0
  38. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/spreadsheet.py +0 -0
  39. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/spreadsheet_edit.py +0 -0
  40. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/spreadsheet_html.py +0 -0
  41. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/spreadsheet_inspect.py +0 -0
  42. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/src/licos_dev_sdk/web.py +0 -0
  43. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_document_read.py +0 -0
  44. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_document_spreadsheet.py +0 -0
  45. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_document_table_export.py +0 -0
  46. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_docx_inspect.py +0 -0
  47. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_docx_structure.py +0 -0
  48. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_docx_table_edit.py +0 -0
  49. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_html_docx_features.py +0 -0
  50. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_langchain_protocol.py +0 -0
  51. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_model.py +0 -0
  52. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_observability.py +0 -0
  53. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_output_paths.py +0 -0
  54. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_ppt_master_runtime.py +0 -0
  55. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_presentation.py +0 -0
  56. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_request_identity.py +0 -0
  57. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_spreadsheet_html_edit.py +0 -0
  58. {licos_dev_sdk-0.6.0 → licos_dev_sdk-0.6.2}/tests/test_usage_identity.py +0 -0
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.4
2
+ Name: licos-dev-sdk
3
+ Version: 0.6.2
4
+ Summary: LICOS Dev SDK - file generation and model capability clients
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: beautifulsoup4>=4.12
7
+ Requires-Dist: docxtpl>=0.16
8
+ Requires-Dist: graphviz>=0.20
9
+ Requires-Dist: jinja2>=3.1
10
+ Requires-Dist: licos-platform-sdk>=0.7.2
11
+ Requires-Dist: matplotlib>=3.9
12
+ Requires-Dist: mistune>=3.0
13
+ Requires-Dist: openpyxl>=3.1
14
+ Requires-Dist: pillow>=10.0
15
+ Requires-Dist: pypdf>=5.0
16
+ Requires-Dist: python-barcode>=0.15
17
+ Requires-Dist: python-docx>=1.1
18
+ Requires-Dist: python-pptx>=1.0
19
+ Requires-Dist: pyyaml>=6.0
20
+ Requires-Dist: qrcode[pil]>=8.0
21
+ Requires-Dist: skia-pathops>=0.9.2
22
+ Requires-Dist: uharfbuzz>=0.50.0
23
+ Requires-Dist: weasyprint>=62.0
24
+ Requires-Dist: xlsxwriter>=3.2
25
+ Provides-Extra: ppt-master
26
+ Requires-Dist: licos-ppt-master-assets==0.0.1; extra == 'ppt-master'
27
+ Description-Content-Type: text/markdown
28
+
29
+ # licos-dev-sdk
30
+
31
+ 服务端模型和文件工具 SDK。
32
+
33
+ ## 身份选择(0.6.0 起)
34
+
35
+ `LICOS_CURRENT_USER_ID` 表示容器启动时配置的执行用户。SDK 不用它推断当前网页登录者,也不读取进程级 `LICOS_USER_TOKEN` 作为模型请求凭证。项目身份指运行时配置的项目所有者身份,按接口选择:
36
+
37
+ | 接口 | 默认身份 | 以网页登录用户执行 |
38
+ | --- | --- | --- |
39
+ | 模型目录、模型详情、端点解析 | 项目身份 | 显式传 `user_token` |
40
+ | LLM、视觉、图片生成、视频生成、语音识别客户端 | 项目身份 | 每次用户请求创建客户端并传 `user_token` |
41
+ | `check_credit_availability` | 项目身份 | 显式传 `user_token` |
42
+ | 可观测性 | 项目身份 | 保持项目身份 |
43
+ | 文档、表格、图片排版等本地文件工具 | 无需用户 Token | 无需用户 Token |
44
+
45
+ 需要以网页登录用户执行时,从本次认证会话取得不含 `Bearer ` 前缀的 Token,并让积分检查和模型调用使用同一用户身份:
46
+
47
+ ```python
48
+ from licos_dev_sdk import LLMClient, check_credit_availability
49
+
50
+ # token 来自本次请求的认证会话。
51
+ availability = check_credit_availability(user_token=token, resource_code='LLM_INVOKE')
52
+ result = LLMClient(user_token=token).invoke('你好')
53
+ ```
54
+
55
+ 用户标识、名称和企业信息来自平台认证结果。项目所有者、工作空间等资源归属字段单独保留;模型实际计费上下文以平台模型详情接口签发的签名为准。
56
+
57
+ 以网页登录用户执行的业务入口缺少 Token 时应返回登录错误,不能省略参数后使用项目身份。不要把请求 Token 或用户 ID 写入 `os.environ`,不要跨用户共享带身份的客户端。显式传入的 Token 为空或失效时直接报错,由调用方更新登录凭证后创建新客户端,不换取容器用户或项目所有者的 Token。
58
+
59
+ 独立 `licos-dev` CLI 的模型和积分命令默认使用 `LICOS_CURRENT_USER_ID`,可用 `--identity project` 选择项目身份;HTTP 服务通过 CLI 代表登录用户执行时使用 `--token-stdin`。SDK 默认身份与 CLI 默认身份不同,调用时按上述接口规则显式选择。
60
+
61
+ ## 编程项目登录身份
62
+
63
+ - 有内置登录时使用内置登录会话;没有内置登录时使用当前 LICOS 网页登录。内置登录未登录或过期时不能切换成平台用户。
64
+ - Node 服务端使用 `createProjectAuth({ mode: 'builtin', resolveBuiltinToken })` 或 `createProjectAuth({ mode: 'platform' })`,每次请求调用 `await projectAuth.userToken(request)`。内置解析器必须读取已有认证会话并返回用户已授权的 LICOS 凭证。
65
+ - 无内置登录的浏览器用户接口使用 `@kmlckj/licos-platform-sdk/browser` 的 `createProjectUserFetch`:平台登录桥领取一次性票据,项目后端兑换 Token。不要直接读取跨域平台 localStorage,不在 URL 中传 Token,不修改全局 fetch。项目级 API 保持原有请求方法。
66
+ - Python 使用 `ProjectAuth`;Agent/Workflow 通过 `config/licos-auth.json` 配置模式,内置登录设置 `resolver: "模块:函数"`,业务代码使用 `ctx.identity.user_token`。
67
+ - 当前用户、企业知识库、本体用户操作显式传 `userToken`/`user_token`。模型、积分和普通知识库按业务选择用户或项目身份。数据库、对象存储和可观测性继续使用项目身份。
68
+ - OAuth 接入 SDK 的用户、知识库、模型能力分别申请 `project.user`、`project.knowledge`、`project.models`;新增范围需要用户重新授权。业务自签 JWT 不能直接充当 LICOS Token。
69
+ - 修改已有项目时先接它的现有登录机制,不能用新模板的默认平台模式覆盖。真实 Token 只存在于运行时请求/会话,不写入源代码、共享环境变量或 Agent 提示词。
@@ -0,0 +1,41 @@
1
+ # licos-dev-sdk
2
+
3
+ 服务端模型和文件工具 SDK。
4
+
5
+ ## 身份选择(0.6.0 起)
6
+
7
+ `LICOS_CURRENT_USER_ID` 表示容器启动时配置的执行用户。SDK 不用它推断当前网页登录者,也不读取进程级 `LICOS_USER_TOKEN` 作为模型请求凭证。项目身份指运行时配置的项目所有者身份,按接口选择:
8
+
9
+ | 接口 | 默认身份 | 以网页登录用户执行 |
10
+ | --- | --- | --- |
11
+ | 模型目录、模型详情、端点解析 | 项目身份 | 显式传 `user_token` |
12
+ | LLM、视觉、图片生成、视频生成、语音识别客户端 | 项目身份 | 每次用户请求创建客户端并传 `user_token` |
13
+ | `check_credit_availability` | 项目身份 | 显式传 `user_token` |
14
+ | 可观测性 | 项目身份 | 保持项目身份 |
15
+ | 文档、表格、图片排版等本地文件工具 | 无需用户 Token | 无需用户 Token |
16
+
17
+ 需要以网页登录用户执行时,从本次认证会话取得不含 `Bearer ` 前缀的 Token,并让积分检查和模型调用使用同一用户身份:
18
+
19
+ ```python
20
+ from licos_dev_sdk import LLMClient, check_credit_availability
21
+
22
+ # token 来自本次请求的认证会话。
23
+ availability = check_credit_availability(user_token=token, resource_code='LLM_INVOKE')
24
+ result = LLMClient(user_token=token).invoke('你好')
25
+ ```
26
+
27
+ 用户标识、名称和企业信息来自平台认证结果。项目所有者、工作空间等资源归属字段单独保留;模型实际计费上下文以平台模型详情接口签发的签名为准。
28
+
29
+ 以网页登录用户执行的业务入口缺少 Token 时应返回登录错误,不能省略参数后使用项目身份。不要把请求 Token 或用户 ID 写入 `os.environ`,不要跨用户共享带身份的客户端。显式传入的 Token 为空或失效时直接报错,由调用方更新登录凭证后创建新客户端,不换取容器用户或项目所有者的 Token。
30
+
31
+ 独立 `licos-dev` CLI 的模型和积分命令默认使用 `LICOS_CURRENT_USER_ID`,可用 `--identity project` 选择项目身份;HTTP 服务通过 CLI 代表登录用户执行时使用 `--token-stdin`。SDK 默认身份与 CLI 默认身份不同,调用时按上述接口规则显式选择。
32
+
33
+ ## 编程项目登录身份
34
+
35
+ - 有内置登录时使用内置登录会话;没有内置登录时使用当前 LICOS 网页登录。内置登录未登录或过期时不能切换成平台用户。
36
+ - Node 服务端使用 `createProjectAuth({ mode: 'builtin', resolveBuiltinToken })` 或 `createProjectAuth({ mode: 'platform' })`,每次请求调用 `await projectAuth.userToken(request)`。内置解析器必须读取已有认证会话并返回用户已授权的 LICOS 凭证。
37
+ - 无内置登录的浏览器用户接口使用 `@kmlckj/licos-platform-sdk/browser` 的 `createProjectUserFetch`:平台登录桥领取一次性票据,项目后端兑换 Token。不要直接读取跨域平台 localStorage,不在 URL 中传 Token,不修改全局 fetch。项目级 API 保持原有请求方法。
38
+ - Python 使用 `ProjectAuth`;Agent/Workflow 通过 `config/licos-auth.json` 配置模式,内置登录设置 `resolver: "模块:函数"`,业务代码使用 `ctx.identity.user_token`。
39
+ - 当前用户、企业知识库、本体用户操作显式传 `userToken`/`user_token`。模型、积分和普通知识库按业务选择用户或项目身份。数据库、对象存储和可观测性继续使用项目身份。
40
+ - OAuth 接入 SDK 的用户、知识库、模型能力分别申请 `project.user`、`project.knowledge`、`project.models`;新增范围需要用户重新授权。业务自签 JWT 不能直接充当 LICOS Token。
41
+ - 修改已有项目时先接它的现有登录机制,不能用新模板的默认平台模式覆盖。真实 Token 只存在于运行时请求/会话,不写入源代码、共享环境变量或 Agent 提示词。
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "licos-dev-sdk"
7
- version = "0.6.0"
7
+ version = "0.6.2"
8
8
  description = "LICOS Dev SDK - file generation and model capability clients"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "licos-platform-sdk>=0.7.0",
12
+ "licos-platform-sdk>=0.7.2",
13
13
  "weasyprint>=62.0",
14
14
  "python-docx>=1.1",
15
15
  "docxtpl>=0.16",
@@ -1,42 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: licos-dev-sdk
3
- Version: 0.6.0
4
- Summary: LICOS Dev SDK - file generation and model capability clients
5
- Requires-Python: >=3.10
6
- Requires-Dist: beautifulsoup4>=4.12
7
- Requires-Dist: docxtpl>=0.16
8
- Requires-Dist: graphviz>=0.20
9
- Requires-Dist: jinja2>=3.1
10
- Requires-Dist: licos-platform-sdk>=0.7.0
11
- Requires-Dist: matplotlib>=3.9
12
- Requires-Dist: mistune>=3.0
13
- Requires-Dist: openpyxl>=3.1
14
- Requires-Dist: pillow>=10.0
15
- Requires-Dist: pypdf>=5.0
16
- Requires-Dist: python-barcode>=0.15
17
- Requires-Dist: python-docx>=1.1
18
- Requires-Dist: python-pptx>=1.0
19
- Requires-Dist: pyyaml>=6.0
20
- Requires-Dist: qrcode[pil]>=8.0
21
- Requires-Dist: skia-pathops>=0.9.2
22
- Requires-Dist: uharfbuzz>=0.50.0
23
- Requires-Dist: weasyprint>=62.0
24
- Requires-Dist: xlsxwriter>=3.2
25
- Provides-Extra: ppt-master
26
- Requires-Dist: licos-ppt-master-assets==0.0.1; extra == 'ppt-master'
27
- Description-Content-Type: text/markdown
28
-
29
- # licos-dev-sdk
30
-
31
- 服务端模型和文件工具 SDK。模型目录、模型调用及积分检查默认使用项目所有者身份。需要以网页登录用户执行时,在本次请求创建客户端并显式传 `user_token`:
32
-
33
- ```python
34
- from licos_dev_sdk import LLMClient, check_credit_availability
35
-
36
- availability = check_credit_availability(user_token=token, resource_code='LLM_INVOKE')
37
- result = LLMClient(user_token=token).invoke('你好')
38
- ```
39
-
40
- Token 不含 `Bearer ` 前缀。用户信息来自平台认证结果;不从 `LICOS_CURRENT_USER_ID` 或 `LICOS_USER_TOKEN` 推断网页登录身份。Token 失效直接报错,由调用方更新会话。项目资源归属和平台签发的计费上下文保持独立。
41
-
42
- 可观测性继续使用项目身份;文件生成无需用户 Token。完整约定见仓库的 `tools/IDENTITY.md`。
@@ -1,14 +0,0 @@
1
- # licos-dev-sdk
2
-
3
- 服务端模型和文件工具 SDK。模型目录、模型调用及积分检查默认使用项目所有者身份。需要以网页登录用户执行时,在本次请求创建客户端并显式传 `user_token`:
4
-
5
- ```python
6
- from licos_dev_sdk import LLMClient, check_credit_availability
7
-
8
- availability = check_credit_availability(user_token=token, resource_code='LLM_INVOKE')
9
- result = LLMClient(user_token=token).invoke('你好')
10
- ```
11
-
12
- Token 不含 `Bearer ` 前缀。用户信息来自平台认证结果;不从 `LICOS_CURRENT_USER_ID` 或 `LICOS_USER_TOKEN` 推断网页登录身份。Token 失效直接报错,由调用方更新会话。项目资源归属和平台签发的计费上下文保持独立。
13
-
14
- 可观测性继续使用项目身份;文件生成无需用户 Token。完整约定见仓库的 `tools/IDENTITY.md`。
File without changes
File without changes