@undefineds.co/xpod 0.2.45 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/dist/agents/AgentExecutorFactory.js +12 -13
  2. package/dist/agents/AgentExecutorFactory.js.map +1 -1
  3. package/dist/agents/config/agent-meta-schema.d.ts +31 -3
  4. package/dist/agents/config/agent-meta-schema.js +37 -3
  5. package/dist/agents/config/agent-meta-schema.js.map +1 -1
  6. package/dist/agents/config/index.d.ts +5 -5
  7. package/dist/agents/config/index.js +7 -6
  8. package/dist/agents/config/index.js.map +1 -1
  9. package/dist/agents/config/parse-agent-instructions.d.ts +12 -0
  10. package/dist/agents/config/parse-agent-instructions.js +23 -0
  11. package/dist/agents/config/parse-agent-instructions.js.map +1 -0
  12. package/dist/agents/config/resolve.d.ts +7 -12
  13. package/dist/agents/config/resolve.js +272 -156
  14. package/dist/agents/config/resolve.js.map +1 -1
  15. package/dist/agents/config/types.d.ts +33 -36
  16. package/dist/agents/config/types.js +4 -4
  17. package/dist/agents/config/types.js.map +1 -1
  18. package/dist/agents/index.d.ts +2 -7
  19. package/dist/agents/index.js +4 -14
  20. package/dist/agents/index.js.map +1 -1
  21. package/dist/agents/types.d.ts +2 -2
  22. package/dist/agents/types.js.map +1 -1
  23. package/dist/ai/service/CredentialReaderImpl.js +9 -14
  24. package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
  25. package/dist/api/ApiServer.d.ts +7 -0
  26. package/dist/api/ApiServer.js +5 -1
  27. package/dist/api/ApiServer.js.map +1 -1
  28. package/dist/api/chatkit/default-agent.js +1 -1
  29. package/dist/api/chatkit/default-agent.js.map +1 -1
  30. package/dist/api/chatkit/index.d.ts +8 -0
  31. package/dist/api/chatkit/index.js +15 -1
  32. package/dist/api/chatkit/index.js.map +1 -1
  33. package/dist/api/chatkit/pod-store.d.ts +80 -17
  34. package/dist/api/chatkit/pod-store.js +816 -162
  35. package/dist/api/chatkit/pod-store.js.map +1 -1
  36. package/dist/api/chatkit/runtime/AcpAgentRuntime.d.ts +41 -0
  37. package/dist/api/chatkit/runtime/AcpAgentRuntime.js +573 -0
  38. package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -0
  39. package/dist/api/chatkit/runtime/CodexRuntimeProjector.d.ts +27 -0
  40. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js +157 -0
  41. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js.map +1 -0
  42. package/dist/api/chatkit/schema.d.ts +53 -133
  43. package/dist/api/chatkit/schema.js +11 -175
  44. package/dist/api/chatkit/schema.js.map +1 -1
  45. package/dist/api/chatkit/service.d.ts +15 -9
  46. package/dist/api/chatkit/service.js +82 -234
  47. package/dist/api/chatkit/service.js.map +1 -1
  48. package/dist/api/chatkit/store.d.ts +35 -3
  49. package/dist/api/chatkit/store.js +157 -3
  50. package/dist/api/chatkit/store.js.map +1 -1
  51. package/dist/api/chatkit/types.d.ts +16 -2
  52. package/dist/api/chatkit/types.js +24 -5
  53. package/dist/api/chatkit/types.js.map +1 -1
  54. package/dist/api/container/common.js +59 -2
  55. package/dist/api/container/common.js.map +1 -1
  56. package/dist/api/container/index.js +15 -0
  57. package/dist/api/container/index.js.map +1 -1
  58. package/dist/api/container/routes.js +11 -0
  59. package/dist/api/container/routes.js.map +1 -1
  60. package/dist/api/container/types.d.ts +26 -0
  61. package/dist/api/container/types.js.map +1 -1
  62. package/dist/api/handlers/InngestHandler.d.ts +11 -0
  63. package/dist/api/handlers/InngestHandler.js +19 -0
  64. package/dist/api/handlers/InngestHandler.js.map +1 -0
  65. package/dist/api/handlers/RunHandler.d.ts +7 -0
  66. package/dist/api/handlers/RunHandler.js +169 -0
  67. package/dist/api/handlers/RunHandler.js.map +1 -0
  68. package/dist/api/handlers/index.d.ts +1 -0
  69. package/dist/api/handlers/index.js +1 -0
  70. package/dist/api/handlers/index.js.map +1 -1
  71. package/dist/api/models/namespaces.d.ts +2 -2
  72. package/dist/api/models/namespaces.js +1 -4
  73. package/dist/api/models/namespaces.js.map +1 -1
  74. package/dist/api/runs/AgentRuntimeTypes.d.ts +83 -0
  75. package/dist/api/runs/AgentRuntimeTypes.js +3 -0
  76. package/dist/api/runs/AgentRuntimeTypes.js.map +1 -0
  77. package/dist/api/runs/EmbeddedInngestService.d.ts +47 -0
  78. package/dist/api/runs/EmbeddedInngestService.js +203 -0
  79. package/dist/api/runs/EmbeddedInngestService.js.map +1 -0
  80. package/dist/api/runs/InngestRunExecutionBackend.d.ts +416 -0
  81. package/dist/api/runs/InngestRunExecutionBackend.js +225 -0
  82. package/dist/api/runs/InngestRunExecutionBackend.js.map +1 -0
  83. package/dist/api/runs/ManagedRunWorker.d.ts +52 -0
  84. package/dist/api/runs/ManagedRunWorker.js +452 -0
  85. package/dist/api/runs/ManagedRunWorker.js.map +1 -0
  86. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +66 -0
  87. package/dist/api/runs/PiAgentRuntimeDriver.js +614 -0
  88. package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -0
  89. package/dist/api/runs/PiAgentRuntimeWorker.d.ts +1 -0
  90. package/dist/api/runs/PiAgentRuntimeWorker.js +33 -0
  91. package/dist/api/runs/PiAgentRuntimeWorker.js.map +1 -0
  92. package/dist/api/runs/RunAuthContextRegistry.d.ts +19 -0
  93. package/dist/api/runs/RunAuthContextRegistry.js +59 -0
  94. package/dist/api/runs/RunAuthContextRegistry.js.map +1 -0
  95. package/dist/api/runs/RunExecutionBackend.d.ts +57 -0
  96. package/dist/api/runs/RunExecutionBackend.js +3 -0
  97. package/dist/api/runs/RunExecutionBackend.js.map +1 -0
  98. package/dist/api/runs/RunStateCenter.d.ts +82 -0
  99. package/dist/api/runs/RunStateCenter.js +665 -0
  100. package/dist/api/runs/RunStateCenter.js.map +1 -0
  101. package/dist/api/runs/schema.d.ts +55 -0
  102. package/dist/api/runs/schema.js +14 -0
  103. package/dist/api/runs/schema.js.map +1 -0
  104. package/dist/api/runs/store.d.ts +105 -0
  105. package/dist/api/runs/store.js +116 -0
  106. package/dist/api/runs/store.js.map +1 -0
  107. package/dist/api/runtime.d.ts +2 -0
  108. package/dist/api/runtime.js +40 -1
  109. package/dist/api/runtime.js.map +1 -1
  110. package/dist/api/service/VectorStoreService.d.ts +1 -0
  111. package/dist/api/service/VectorStoreService.js +27 -34
  112. package/dist/api/service/VectorStoreService.js.map +1 -1
  113. package/dist/api/service/provider-registry.d.ts +1 -1
  114. package/dist/api/service/provider-registry.js +1 -1
  115. package/dist/api/service/provider-registry.js.map +1 -1
  116. package/dist/api/tasks/InngestTaskScheduler.d.ts +751 -0
  117. package/dist/api/tasks/InngestTaskScheduler.js +209 -0
  118. package/dist/api/tasks/InngestTaskScheduler.js.map +1 -0
  119. package/dist/api/tasks/TaskAuthBinding.d.ts +68 -0
  120. package/dist/api/tasks/TaskAuthBinding.js +162 -0
  121. package/dist/api/tasks/TaskAuthBinding.js.map +1 -0
  122. package/dist/api/tasks/TaskMaterializer.d.ts +55 -0
  123. package/dist/api/tasks/TaskMaterializer.js +452 -0
  124. package/dist/api/tasks/TaskMaterializer.js.map +1 -0
  125. package/dist/api/tasks/TaskService.d.ts +57 -0
  126. package/dist/api/tasks/TaskService.js +235 -0
  127. package/dist/api/tasks/TaskService.js.map +1 -0
  128. package/dist/api/tasks/index.d.ts +6 -0
  129. package/dist/api/tasks/index.js +25 -0
  130. package/dist/api/tasks/index.js.map +1 -0
  131. package/dist/api/tasks/schema.d.ts +23 -0
  132. package/dist/api/tasks/schema.js +8 -0
  133. package/dist/api/tasks/schema.js.map +1 -0
  134. package/dist/api/tasks/store.d.ts +40 -0
  135. package/dist/api/tasks/store.js +34 -0
  136. package/dist/api/tasks/store.js.map +1 -0
  137. package/dist/api/workspace/types.d.ts +3 -0
  138. package/dist/api/workspace/types.js +23 -0
  139. package/dist/api/workspace/types.js.map +1 -0
  140. package/dist/cli/commands/config.d.ts +8 -7
  141. package/dist/cli/commands/config.js +72 -48
  142. package/dist/cli/commands/config.js.map +1 -1
  143. package/dist/cli/commands/login.d.ts +10 -8
  144. package/dist/cli/commands/login.js +84 -84
  145. package/dist/cli/commands/login.js.map +1 -1
  146. package/dist/cli/index.js +3 -124
  147. package/dist/cli/index.js.map +1 -1
  148. package/dist/http/search/SearchHttpHandler.js +13 -18
  149. package/dist/http/search/SearchHttpHandler.js.map +1 -1
  150. package/dist/storage/vector/VectorIndexingListener.js +13 -18
  151. package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
  152. package/dist/vocab/index.d.ts +2 -6
  153. package/dist/vocab/index.js +2 -6
  154. package/dist/vocab/index.js.map +1 -1
  155. package/dist/vocab/udfs.d.ts +12 -0
  156. package/dist/vocab/udfs.js +12 -0
  157. package/dist/vocab/udfs.js.map +1 -1
  158. package/node_modules/@undefineds.co/drizzle-solid/README.md +52 -24
  159. package/node_modules/@undefineds.co/drizzle-solid/README.zh-CN.md +30 -24
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts +6 -2
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts.map +1 -1
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +43 -10
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts.map +1 -1
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js +1 -0
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js.map +1 -1
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts +5 -0
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts.map +1 -1
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js +44 -13
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js.map +1 -1
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts +1 -0
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +21 -2
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts +1 -0
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts.map +1 -1
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts.map +1 -1
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts +76 -41
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +443 -114
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts +28 -1
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js +142 -31
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts +3 -0
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js +84 -6
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts +3 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js +29 -9
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +2 -8
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +19 -51
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts +1 -0
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts +2 -2
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +6 -6
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts +4 -4
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js +56 -23
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts +14 -10
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js +55 -23
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts +3 -3
  216. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js +6 -6
  217. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js.map +1 -1
  218. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts +3 -3
  219. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js +4 -4
  220. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js.map +1 -1
  221. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts.map +1 -1
  222. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js +33 -8
  223. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js.map +1 -1
  224. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts +11 -2
  225. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts.map +1 -1
  226. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts.map +1 -1
  227. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js +3 -2
  228. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js.map +1 -1
  229. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts +13 -8
  230. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts.map +1 -1
  231. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js +24 -22
  232. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js.map +1 -1
  233. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts +3 -0
  234. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts.map +1 -1
  235. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js.map +1 -1
  236. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts +3 -2
  237. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts.map +1 -1
  238. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js +28 -14
  239. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js.map +1 -1
  240. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts.map +1 -1
  241. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -2
  242. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js.map +1 -1
  243. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts +9 -9
  244. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts.map +1 -1
  245. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js +56 -22
  246. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js.map +1 -1
  247. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts +9 -1
  248. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts.map +1 -1
  249. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js +2 -0
  250. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js.map +1 -1
  251. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +6 -2
  252. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts.map +1 -1
  253. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  254. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  255. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +43 -10
  256. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  257. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -1
  258. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js +1 -0
  259. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js.map +1 -1
  260. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +5 -0
  261. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
  262. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js +44 -13
  263. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js.map +1 -1
  264. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +1 -0
  265. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  266. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +21 -2
  267. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  268. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +1 -0
  269. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts.map +1 -1
  270. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +1 -1
  271. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts.map +1 -1
  272. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +76 -41
  273. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts.map +1 -1
  274. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +443 -114
  275. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  276. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +28 -1
  277. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts.map +1 -1
  278. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js +142 -31
  279. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js.map +1 -1
  280. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +3 -0
  281. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts.map +1 -1
  282. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js +84 -6
  283. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js.map +1 -1
  284. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +3 -0
  285. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -1
  286. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js +29 -9
  287. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js.map +1 -1
  288. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +2 -8
  289. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  290. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +19 -51
  291. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  292. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +1 -0
  293. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts.map +1 -1
  294. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +2 -2
  295. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts.map +1 -1
  296. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +6 -6
  297. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  298. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts +4 -4
  299. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts.map +1 -1
  300. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js +56 -23
  301. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js.map +1 -1
  302. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +14 -10
  303. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  304. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js +55 -23
  305. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  306. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +3 -3
  307. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js +6 -6
  308. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  309. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +3 -3
  310. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js +4 -4
  311. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -1
  312. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
  313. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js +33 -8
  314. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js.map +1 -1
  315. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +11 -2
  316. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts.map +1 -1
  317. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts.map +1 -1
  318. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js +3 -2
  319. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js.map +1 -1
  320. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +13 -8
  321. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts.map +1 -1
  322. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js +24 -22
  323. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js.map +1 -1
  324. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +3 -0
  325. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts.map +1 -1
  326. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js.map +1 -1
  327. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +3 -2
  328. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts.map +1 -1
  329. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js +28 -14
  330. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js.map +1 -1
  331. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts.map +1 -1
  332. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -2
  333. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js.map +1 -1
  334. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +9 -9
  335. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts.map +1 -1
  336. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js +56 -22
  337. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js.map +1 -1
  338. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +9 -1
  339. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts.map +1 -1
  340. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js +2 -0
  341. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js.map +1 -1
  342. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +16 -2
  343. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts.map +1 -1
  344. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js +1 -1
  345. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js.map +1 -1
  346. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts +16 -2
  347. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts.map +1 -1
  348. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js +1 -1
  349. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js.map +1 -1
  350. package/node_modules/@undefineds.co/drizzle-solid/package.json +1 -1
  351. package/package.json +5 -3
  352. package/dist/agents/AgentManager.d.ts +0 -116
  353. package/dist/agents/AgentManager.js +0 -290
  354. package/dist/agents/AgentManager.js.map +0 -1
  355. package/dist/agents/IndexAgent.d.ts +0 -70
  356. package/dist/agents/IndexAgent.js +0 -417
  357. package/dist/agents/IndexAgent.js.map +0 -1
  358. package/dist/agents/config/parse-agent-md.d.ts +0 -33
  359. package/dist/agents/config/parse-agent-md.js +0 -75
  360. package/dist/agents/config/parse-agent-md.js.map +0 -1
  361. package/dist/agents/schema/agent-config.d.ts +0 -2
  362. package/dist/agents/schema/agent-config.js +0 -32
  363. package/dist/agents/schema/agent-config.js.map +0 -1
  364. package/dist/agents/schema/create-agent-schema.d.ts +0 -25
  365. package/dist/agents/schema/create-agent-schema.js +0 -35
  366. package/dist/agents/schema/create-agent-schema.js.map +0 -1
  367. package/dist/api/chatkit/runtime/PtyThreadRuntime.d.ts +0 -127
  368. package/dist/api/chatkit/runtime/PtyThreadRuntime.js +0 -791
  369. package/dist/api/chatkit/runtime/PtyThreadRuntime.js.map +0 -1
  370. package/dist/cli/lib/agent-session.d.ts +0 -37
  371. package/dist/cli/lib/agent-session.js +0 -211
  372. package/dist/cli/lib/agent-session.js.map +0 -1
  373. package/dist/cli/lib/ensure-ai-credentials.d.ts +0 -13
  374. package/dist/cli/lib/ensure-ai-credentials.js +0 -40
  375. package/dist/cli/lib/ensure-ai-credentials.js.map +0 -1
  376. package/dist/cli/lib/model-manager.d.ts +0 -37
  377. package/dist/cli/lib/model-manager.js +0 -251
  378. package/dist/cli/lib/model-manager.js.map +0 -1
  379. package/dist/cli/lib/oauth-credential-manager.d.ts +0 -37
  380. package/dist/cli/lib/oauth-credential-manager.js +0 -129
  381. package/dist/cli/lib/oauth-credential-manager.js.map +0 -1
  382. package/dist/cli/lib/oauth-providers/codebuddy.d.ts +0 -25
  383. package/dist/cli/lib/oauth-providers/codebuddy.js +0 -69
  384. package/dist/cli/lib/oauth-providers/codebuddy.js.map +0 -1
  385. package/dist/cli/lib/oauth-providers/index.d.ts +0 -12
  386. package/dist/cli/lib/oauth-providers/index.js +0 -23
  387. package/dist/cli/lib/oauth-providers/index.js.map +0 -1
  388. package/dist/cli/lib/pi-optional.d.ts +0 -84
  389. package/dist/cli/lib/pi-optional.js +0 -35
  390. package/dist/cli/lib/pi-optional.js.map +0 -1
  391. package/dist/cli/lib/pod-ai-config.d.ts +0 -26
  392. package/dist/cli/lib/pod-ai-config.js +0 -99
  393. package/dist/cli/lib/pod-ai-config.js.map +0 -1
  394. package/dist/cli/lib/pod-thread-store.d.ts +0 -57
  395. package/dist/cli/lib/pod-thread-store.js +0 -312
  396. package/dist/cli/lib/pod-thread-store.js.map +0 -1
  397. package/dist/cli/lib/secretary-prompt.d.ts +0 -6
  398. package/dist/cli/lib/secretary-prompt.js +0 -85
  399. package/dist/cli/lib/secretary-prompt.js.map +0 -1
  400. package/dist/task/DrizzleTaskQueue.d.ts +0 -56
  401. package/dist/task/DrizzleTaskQueue.js +0 -171
  402. package/dist/task/DrizzleTaskQueue.js.map +0 -1
  403. package/dist/task/TaskExecutor.d.ts +0 -82
  404. package/dist/task/TaskExecutor.js +0 -198
  405. package/dist/task/TaskExecutor.js.map +0 -1
  406. package/dist/task/index.d.ts +0 -10
  407. package/dist/task/index.js +0 -20
  408. package/dist/task/index.js.map +0 -1
  409. package/dist/task/schema.d.ts +0 -53
  410. package/dist/task/schema.js +0 -71
  411. package/dist/task/schema.js.map +0 -1
  412. package/dist/task/types.d.ts +0 -186
  413. package/dist/task/types.js +0 -12
  414. package/dist/task/types.js.map +0 -1
@@ -14,12 +14,8 @@
14
14
  * // 动态构建 URI
15
15
  * const custom = UDFS('CustomTerm'); // 'https://undefineds.co/ns#CustomTerm'
16
16
  *
17
- * // 用于 drizzle-solid
18
- * import { UDFS_NAMESPACE } from '@/vocab';
19
- * const table = podTable('Credential', {...}, {
20
- * type: UDFS.Credential,
21
- * namespace: UDFS_NAMESPACE,
22
- * });
17
+ * // 用于本地 adapter schema
18
+ * const predicate = UDFS('systemPrompt');
23
19
  * ```
24
20
  */
25
21
  export { UDFS, UDFS_NAMESPACE } from './udfs';
@@ -15,12 +15,8 @@
15
15
  * // 动态构建 URI
16
16
  * const custom = UDFS('CustomTerm'); // 'https://undefineds.co/ns#CustomTerm'
17
17
  *
18
- * // 用于 drizzle-solid
19
- * import { UDFS_NAMESPACE } from '@/vocab';
20
- * const table = podTable('Credential', {...}, {
21
- * type: UDFS.Credential,
22
- * namespace: UDFS_NAMESPACE,
23
- * });
18
+ * // 用于本地 adapter schema
19
+ * const predicate = UDFS('systemPrompt');
24
20
  * ```
25
21
  */
26
22
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vocab/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,WAAW;AACX,+BAA8C;AAArC,4FAAA,IAAI,OAAA;AAAE,sGAAA,cAAc,OAAA;AAE7B,UAAU;AACV,uCAAuG;AAA9F,mGAAA,OAAO,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,mGAAA,OAAO,OAAA;AAAE,8FAAA,EAAE,OAAA","sourcesContent":["/**\n * Vocabulary 统一导出\n *\n * 使用方式:\n * ```typescript\n * import { UDFS, DCTerms, LDP } from '@/vocab';\n *\n * // 使用 Class\n * const type = UDFS.Credential; // 'https://undefineds.co/ns#Credential'\n *\n * // 使用 Property\n * const prop = UDFS.apiKey; // 'https://undefineds.co/ns#apiKey'\n *\n * // 动态构建 URI\n * const custom = UDFS('CustomTerm'); // 'https://undefineds.co/ns#CustomTerm'\n *\n * // 用于 drizzle-solid\n * import { UDFS_NAMESPACE } from '@/vocab';\n * const table = podTable('Credential', {...}, {\n * type: UDFS.Credential,\n * namespace: UDFS_NAMESPACE,\n * });\n * ```\n */\n\n// UDFS 词汇表\nexport { UDFS, UDFS_NAMESPACE } from './udfs';\n\n// 外部标准词汇表\nexport { DCTerms, LDP, Schema, RDF, RDFS, XSD, FOAF, ACL, Solid, SIOC, Meeting, WF } from './external';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vocab/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,WAAW;AACX,+BAA8C;AAArC,4FAAA,IAAI,OAAA;AAAE,sGAAA,cAAc,OAAA;AAE7B,UAAU;AACV,uCAAuG;AAA9F,mGAAA,OAAO,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,+FAAA,GAAG,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,mGAAA,OAAO,OAAA;AAAE,8FAAA,EAAE,OAAA","sourcesContent":["/**\n * Vocabulary 统一导出\n *\n * 使用方式:\n * ```typescript\n * import { UDFS, DCTerms, LDP } from '@/vocab';\n *\n * // 使用 Class\n * const type = UDFS.Credential; // 'https://undefineds.co/ns#Credential'\n *\n * // 使用 Property\n * const prop = UDFS.apiKey; // 'https://undefineds.co/ns#apiKey'\n *\n * // 动态构建 URI\n * const custom = UDFS('CustomTerm'); // 'https://undefineds.co/ns#CustomTerm'\n *\n * // 用于本地 adapter schema\n * const predicate = UDFS('systemPrompt');\n * ```\n */\n\n// UDFS 词汇表\nexport { UDFS, UDFS_NAMESPACE } from './udfs';\n\n// 外部标准词汇表\nexport { DCTerms, LDP, Schema, RDF, RDFS, XSD, FOAF, ACL, Solid, SIOC, Meeting, WF } from './external';\n"]}
@@ -107,6 +107,18 @@ export declare const UDFS: NamespaceObject<{
107
107
  executorType: string;
108
108
  /** System Prompt */
109
109
  systemPrompt: string;
110
+ /** ACP 权限模式 */
111
+ permissionMode: string;
112
+ /** 允许工具 */
113
+ allowedTool: string;
114
+ /** 禁用工具 */
115
+ disallowedTool: string;
116
+ /** Agent skill package */
117
+ skill: string;
118
+ /** @deprecated Codex rules are stored under .codex/rules, not Agent Profile refs */
119
+ rule: string;
120
+ /** Agent MCP server config definition */
121
+ mcpServer: string;
110
122
  /** 最大轮数 */
111
123
  maxTurns: string;
112
124
  /** 超时时间 */
@@ -135,6 +135,18 @@ exports.UDFS = createNamespace('udfs', 'https://undefineds.co/ns#', {
135
135
  executorType: 'executorType',
136
136
  /** System Prompt */
137
137
  systemPrompt: 'systemPrompt',
138
+ /** ACP 权限模式 */
139
+ permissionMode: 'permissionMode',
140
+ /** 允许工具 */
141
+ allowedTool: 'allowedTool',
142
+ /** 禁用工具 */
143
+ disallowedTool: 'disallowedTool',
144
+ /** Agent skill package */
145
+ skill: 'skill',
146
+ /** @deprecated Codex rules are stored under .codex/rules, not Agent Profile refs */
147
+ rule: 'rule',
148
+ /** Agent MCP server config definition */
149
+ mcpServer: 'mcpServer',
138
150
  /** 最大轮数 */
139
151
  maxTurns: 'maxTurns',
140
152
  /** 超时时间 */
@@ -1 +1 @@
1
- {"version":3,"file":"udfs.js","sourceRoot":"","sources":["../../src/vocab/udfs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDFS Vocabulary - Undefineds.co 词汇表\n *\n * 命名空间: https://undefineds.co/ns#\n * 前缀: udfs\n *\n * 命名规范:\n * - Class: 大写开头 (Credential, Provider, Model)\n * - Property: 小写开头 (apiKey, baseUrl, status)\n */\n\n// ============================================\n// Namespace Builder\n// ============================================\n\ntype NamespaceObject<T extends Record<string, string>> = ((term: string) => string) & {\n prefix: string;\n uri: string;\n /** @deprecated Use `uri` instead */\n NAMESPACE: string;\n} & { [K in keyof T]: string };\n\nfunction createNamespace<T extends Record<string, string>>(\n prefix: string,\n baseUri: string,\n terms: T,\n): NamespaceObject<T> {\n const ABSOLUTE_IRI = /^[a-zA-Z][a-zA-Z\\d+.-]*:/;\n\n const builder = ((term: string) =>\n ABSOLUTE_IRI.test(term) ? term : `${baseUri}${term}`) as NamespaceObject<T>;\n\n builder.prefix = prefix;\n builder.uri = baseUri;\n builder.NAMESPACE = baseUri;\n\n for (const [key, local] of Object.entries(terms)) {\n Object.defineProperty(builder, key, {\n value: builder(local),\n enumerable: true,\n });\n }\n\n return builder;\n}\n\n// ============================================\n// UDFS Vocabulary\n// ============================================\n\nexport const UDFS = createNamespace('udfs', 'https://undefineds.co/ns#', {\n // ========================================\n // Classes (大写开头)\n // ========================================\n\n // --- 凭据 ---\n /** 凭据基类 */\n Credential: 'Credential',\n /** API Key 凭据 */\n ApiKeyCredential: 'ApiKeyCredential',\n /** OAuth 凭据 */\n OAuthCredential: 'OAuthCredential',\n\n // --- AI 供应商和模型 ---\n /** AI 供应商(Embedding 用) */\n Provider: 'Provider',\n /** AI 模型 */\n Model: 'Model',\n /** @deprecated 旧 AgentProvider 名义,当前统一收敛到 Provider */\n AgentProvider: 'AgentProvider',\n /** Agent 配置 */\n AgentConfig: 'AgentConfig',\n /** Agent 运行状态 */\n AgentStatus: 'AgentStatus',\n /** Pod 级别 AI 配置(单例) */\n AIConfig: 'AIConfig',\n\n // --- 向量存储 ---\n /** 向量知识库 */\n VectorStore: 'VectorStore',\n /** 已索引文件 */\n IndexedFile: 'IndexedFile',\n\n // --- 任务 ---\n /** 异步任务 */\n Task: 'Task',\n\n // --- 索引 ---\n /** 文本分块 */\n TextChunk: 'TextChunk',\n\n // ========================================\n // Properties (小写开头)\n // ========================================\n\n // --- 通用属性 ---\n /** 状态 */\n status: 'status',\n /** 标签/名称 */\n label: 'label',\n /** 是否启用 */\n enabled: 'enabled',\n /** 创建时间 */\n createdAt: 'createdAt',\n /** 更新时间 */\n updatedAt: 'updatedAt',\n /** 显示名称 */\n displayName: 'displayName',\n /** 描述 */\n description: 'description',\n\n // --- 凭据属性 ---\n /** API 密钥 */\n apiKey: 'apiKey',\n /** API 基础 URL */\n baseUrl: 'baseUrl',\n /** 代理 URL */\n proxyUrl: 'proxyUrl',\n /** 服务类型 (ai, storage, dns) */\n service: 'service',\n /** 关联的供应商 */\n provider: 'provider',\n /** 最后使用时间 */\n lastUsedAt: 'lastUsedAt',\n /** 失败次数 */\n failCount: 'failCount',\n /** 限流重置时间 */\n rateLimitResetAt: 'rateLimitResetAt',\n\n // --- OAuth 凭据属性 ---\n /** OAuth Refresh Token */\n oauthRefreshToken: 'oauthRefreshToken',\n /** OAuth Access Token */\n oauthAccessToken: 'oauthAccessToken',\n /** OAuth Token 过期时间 */\n oauthExpiresAt: 'oauthExpiresAt',\n /** 项目 ID (Vertex AI) */\n projectId: 'projectId',\n /** 组织 ID (OpenAI) */\n organizationId: 'organizationId',\n\n // --- AI 模型属性 ---\n /** 模型类型 (embedding, chat, completion) */\n modelType: 'modelType',\n /** 向量维度 */\n dimension: 'dimension',\n /** 当前 embedding 模型 */\n embeddingModel: 'embeddingModel',\n /** 迁移前的模型 */\n previousModel: 'previousModel',\n /** 迁移状态 */\n migrationStatus: 'migrationStatus',\n /** 迁移进度 */\n migrationProgress: 'migrationProgress',\n /** 模型所属供应商 */\n isProvidedBy: 'isProvidedBy',\n /** 供应商拥有的模型 */\n hasModel: 'hasModel',\n /** 默认模型 */\n defaultModel: 'defaultModel',\n /** 运行时类型 (claude, codebuddy) */\n runtimeKind: 'runtimeKind',\n\n // --- Agent 属性 ---\n /** @deprecated 运行时应使用 runtimeKind */\n executorType: 'executorType',\n /** System Prompt */\n systemPrompt: 'systemPrompt',\n /** 最大轮数 */\n maxTurns: 'maxTurns',\n /** 超时时间 */\n timeout: 'timeout',\n /** Agent ID */\n agentId: 'agentId',\n /** 启动时间 */\n startedAt: 'startedAt',\n /** 完成时间 */\n completedAt: 'completedAt',\n /** 最后活动时间 */\n lastActivityAt: 'lastActivityAt',\n /** 当前任务 ID */\n currentTaskId: 'currentTaskId',\n /** 错误信息 */\n errorMessage: 'errorMessage',\n\n // --- 任务属性 ---\n /** 目标 Agent */\n agent: 'agent',\n /** 任务消息 */\n message: 'message',\n /** 执行结果 */\n result: 'result',\n /** 错误 */\n error: 'error',\n\n // --- Chat/Thread 属性 (扩展 SolidOS chat) ---\n /** 消息角色 (user/assistant/system) */\n role: 'role',\n /** 推理选项 (model, temperature, etc.) */\n inferenceOptions: 'inferenceOptions',\n /** 消息状态 (in_progress/completed/incomplete) */\n messageStatus: 'messageStatus',\n /** Thread 状态 (active/locked/closed) */\n threadStatus: 'threadStatus',\n\n // --- 工具调用属性 ---\n /** 工具名称 (bash, write, edit, etc.) */\n toolName: 'toolName',\n /** 工具调用 ID */\n toolCallId: 'toolCallId',\n /** 工具参数 (JSON) */\n toolArguments: 'toolArguments',\n /** 工具输出 */\n toolOutput: 'toolOutput',\n /** 工具状态 (pending/completed/failed) */\n toolStatus: 'toolStatus',\n\n // --- 权限审批属性 ---\n /** 权限请求的工具 */\n permissionTool: 'permissionTool',\n /** 权限请求原因 */\n permissionReason: 'permissionReason',\n /** 权限状态 (pending/approved/rejected) */\n permissionStatus: 'permissionStatus',\n /** 审批人 */\n approvedBy: 'approvedBy',\n /** 审批时间 */\n approvedAt: 'approvedAt',\n\n // --- 向量存储属性 ---\n /** 名称 */\n name: 'name',\n /** 关联的容器 */\n container: 'container',\n /** 分块策略 */\n chunkingStrategy: 'chunkingStrategy',\n /** 最后活跃时间 */\n lastActiveAt: 'lastActiveAt',\n\n // --- 索引文件属性 ---\n /** 文件 URL */\n fileUrl: 'fileUrl',\n /** 向量 ID */\n vectorId: 'vectorId',\n /** 使用字节数 */\n usageBytes: 'usageBytes',\n /** 最后错误 */\n lastError: 'lastError',\n /** 索引时间 */\n indexedAt: 'indexedAt',\n\n // --- 索引层级属性 ---\n /** 索引层级 (L0, L1, L2) */\n indexLevel: 'indexLevel',\n /** 最后索引时间 */\n lastIndexedAt: 'lastIndexedAt',\n /** 缓存的 Markdown */\n cachedMarkdown: 'cachedMarkdown',\n /** 文档的分块 */\n hasChunk: 'hasChunk',\n /** 父分块 */\n parentChunk: 'parentChunk',\n /** 分块层级 */\n level: 'level',\n /** 标题 */\n heading: 'heading',\n /** 起始偏移 */\n startOffset: 'startOffset',\n /** 结束偏移 */\n endOffset: 'endOffset',\n\n // --- 向量状态属性 (用于 .meta) ---\n /** 向量状态 */\n vectorStatus: 'vectorStatus',\n /** 分块数量 */\n chunkCount: 'chunkCount',\n /** 内容哈希 */\n contentHash: 'contentHash',\n /** 已索引数量 */\n indexedCount: 'indexedCount',\n /** 失败数量 */\n failedCount: 'failedCount',\n});\n\n/**\n * UDFS 命名空间配置(用于 drizzle-solid)\n */\nexport const UDFS_NAMESPACE = {\n prefix: UDFS.prefix,\n uri: UDFS.uri,\n};\n"]}
1
+ {"version":3,"file":"udfs.js","sourceRoot":"","sources":["../../src/vocab/udfs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDFS Vocabulary - Undefineds.co 词汇表\n *\n * 命名空间: https://undefineds.co/ns#\n * 前缀: udfs\n *\n * 命名规范:\n * - Class: 大写开头 (Credential, Provider, Model)\n * - Property: 小写开头 (apiKey, baseUrl, status)\n */\n\n// ============================================\n// Namespace Builder\n// ============================================\n\ntype NamespaceObject<T extends Record<string, string>> = ((term: string) => string) & {\n prefix: string;\n uri: string;\n /** @deprecated Use `uri` instead */\n NAMESPACE: string;\n} & { [K in keyof T]: string };\n\nfunction createNamespace<T extends Record<string, string>>(\n prefix: string,\n baseUri: string,\n terms: T,\n): NamespaceObject<T> {\n const ABSOLUTE_IRI = /^[a-zA-Z][a-zA-Z\\d+.-]*:/;\n\n const builder = ((term: string) =>\n ABSOLUTE_IRI.test(term) ? term : `${baseUri}${term}`) as NamespaceObject<T>;\n\n builder.prefix = prefix;\n builder.uri = baseUri;\n builder.NAMESPACE = baseUri;\n\n for (const [key, local] of Object.entries(terms)) {\n Object.defineProperty(builder, key, {\n value: builder(local),\n enumerable: true,\n });\n }\n\n return builder;\n}\n\n// ============================================\n// UDFS Vocabulary\n// ============================================\n\nexport const UDFS = createNamespace('udfs', 'https://undefineds.co/ns#', {\n // ========================================\n // Classes (大写开头)\n // ========================================\n\n // --- 凭据 ---\n /** 凭据基类 */\n Credential: 'Credential',\n /** API Key 凭据 */\n ApiKeyCredential: 'ApiKeyCredential',\n /** OAuth 凭据 */\n OAuthCredential: 'OAuthCredential',\n\n // --- AI 供应商和模型 ---\n /** AI 供应商(Embedding 用) */\n Provider: 'Provider',\n /** AI 模型 */\n Model: 'Model',\n /** @deprecated 旧 AgentProvider 名义,当前统一收敛到 Provider */\n AgentProvider: 'AgentProvider',\n /** Agent 配置 */\n AgentConfig: 'AgentConfig',\n /** Agent 运行状态 */\n AgentStatus: 'AgentStatus',\n /** Pod 级别 AI 配置(单例) */\n AIConfig: 'AIConfig',\n\n // --- 向量存储 ---\n /** 向量知识库 */\n VectorStore: 'VectorStore',\n /** 已索引文件 */\n IndexedFile: 'IndexedFile',\n\n // --- 任务 ---\n /** 异步任务 */\n Task: 'Task',\n\n // --- 索引 ---\n /** 文本分块 */\n TextChunk: 'TextChunk',\n\n // ========================================\n // Properties (小写开头)\n // ========================================\n\n // --- 通用属性 ---\n /** 状态 */\n status: 'status',\n /** 标签/名称 */\n label: 'label',\n /** 是否启用 */\n enabled: 'enabled',\n /** 创建时间 */\n createdAt: 'createdAt',\n /** 更新时间 */\n updatedAt: 'updatedAt',\n /** 显示名称 */\n displayName: 'displayName',\n /** 描述 */\n description: 'description',\n\n // --- 凭据属性 ---\n /** API 密钥 */\n apiKey: 'apiKey',\n /** API 基础 URL */\n baseUrl: 'baseUrl',\n /** 代理 URL */\n proxyUrl: 'proxyUrl',\n /** 服务类型 (ai, storage, dns) */\n service: 'service',\n /** 关联的供应商 */\n provider: 'provider',\n /** 最后使用时间 */\n lastUsedAt: 'lastUsedAt',\n /** 失败次数 */\n failCount: 'failCount',\n /** 限流重置时间 */\n rateLimitResetAt: 'rateLimitResetAt',\n\n // --- OAuth 凭据属性 ---\n /** OAuth Refresh Token */\n oauthRefreshToken: 'oauthRefreshToken',\n /** OAuth Access Token */\n oauthAccessToken: 'oauthAccessToken',\n /** OAuth Token 过期时间 */\n oauthExpiresAt: 'oauthExpiresAt',\n /** 项目 ID (Vertex AI) */\n projectId: 'projectId',\n /** 组织 ID (OpenAI) */\n organizationId: 'organizationId',\n\n // --- AI 模型属性 ---\n /** 模型类型 (embedding, chat, completion) */\n modelType: 'modelType',\n /** 向量维度 */\n dimension: 'dimension',\n /** 当前 embedding 模型 */\n embeddingModel: 'embeddingModel',\n /** 迁移前的模型 */\n previousModel: 'previousModel',\n /** 迁移状态 */\n migrationStatus: 'migrationStatus',\n /** 迁移进度 */\n migrationProgress: 'migrationProgress',\n /** 模型所属供应商 */\n isProvidedBy: 'isProvidedBy',\n /** 供应商拥有的模型 */\n hasModel: 'hasModel',\n /** 默认模型 */\n defaultModel: 'defaultModel',\n /** 运行时类型 (claude, codebuddy) */\n runtimeKind: 'runtimeKind',\n\n // --- Agent 属性 ---\n /** @deprecated 运行时应使用 runtimeKind */\n executorType: 'executorType',\n /** System Prompt */\n systemPrompt: 'systemPrompt',\n /** ACP 权限模式 */\n permissionMode: 'permissionMode',\n /** 允许工具 */\n allowedTool: 'allowedTool',\n /** 禁用工具 */\n disallowedTool: 'disallowedTool',\n /** Agent skill package */\n skill: 'skill',\n /** @deprecated Codex rules are stored under .codex/rules, not Agent Profile refs */\n rule: 'rule',\n /** Agent MCP server config definition */\n mcpServer: 'mcpServer',\n /** 最大轮数 */\n maxTurns: 'maxTurns',\n /** 超时时间 */\n timeout: 'timeout',\n /** Agent ID */\n agentId: 'agentId',\n /** 启动时间 */\n startedAt: 'startedAt',\n /** 完成时间 */\n completedAt: 'completedAt',\n /** 最后活动时间 */\n lastActivityAt: 'lastActivityAt',\n /** 当前任务 ID */\n currentTaskId: 'currentTaskId',\n /** 错误信息 */\n errorMessage: 'errorMessage',\n\n // --- 任务属性 ---\n /** 目标 Agent */\n agent: 'agent',\n /** 任务消息 */\n message: 'message',\n /** 执行结果 */\n result: 'result',\n /** 错误 */\n error: 'error',\n\n // --- Chat/Thread 属性 (扩展 SolidOS chat) ---\n /** 消息角色 (user/assistant/system) */\n role: 'role',\n /** 推理选项 (model, temperature, etc.) */\n inferenceOptions: 'inferenceOptions',\n /** 消息状态 (in_progress/completed/incomplete) */\n messageStatus: 'messageStatus',\n /** Thread 状态 (active/locked/closed) */\n threadStatus: 'threadStatus',\n\n // --- 工具调用属性 ---\n /** 工具名称 (bash, write, edit, etc.) */\n toolName: 'toolName',\n /** 工具调用 ID */\n toolCallId: 'toolCallId',\n /** 工具参数 (JSON) */\n toolArguments: 'toolArguments',\n /** 工具输出 */\n toolOutput: 'toolOutput',\n /** 工具状态 (pending/completed/failed) */\n toolStatus: 'toolStatus',\n\n // --- 权限审批属性 ---\n /** 权限请求的工具 */\n permissionTool: 'permissionTool',\n /** 权限请求原因 */\n permissionReason: 'permissionReason',\n /** 权限状态 (pending/approved/rejected) */\n permissionStatus: 'permissionStatus',\n /** 审批人 */\n approvedBy: 'approvedBy',\n /** 审批时间 */\n approvedAt: 'approvedAt',\n\n // --- 向量存储属性 ---\n /** 名称 */\n name: 'name',\n /** 关联的容器 */\n container: 'container',\n /** 分块策略 */\n chunkingStrategy: 'chunkingStrategy',\n /** 最后活跃时间 */\n lastActiveAt: 'lastActiveAt',\n\n // --- 索引文件属性 ---\n /** 文件 URL */\n fileUrl: 'fileUrl',\n /** 向量 ID */\n vectorId: 'vectorId',\n /** 使用字节数 */\n usageBytes: 'usageBytes',\n /** 最后错误 */\n lastError: 'lastError',\n /** 索引时间 */\n indexedAt: 'indexedAt',\n\n // --- 索引层级属性 ---\n /** 索引层级 (L0, L1, L2) */\n indexLevel: 'indexLevel',\n /** 最后索引时间 */\n lastIndexedAt: 'lastIndexedAt',\n /** 缓存的 Markdown */\n cachedMarkdown: 'cachedMarkdown',\n /** 文档的分块 */\n hasChunk: 'hasChunk',\n /** 父分块 */\n parentChunk: 'parentChunk',\n /** 分块层级 */\n level: 'level',\n /** 标题 */\n heading: 'heading',\n /** 起始偏移 */\n startOffset: 'startOffset',\n /** 结束偏移 */\n endOffset: 'endOffset',\n\n // --- 向量状态属性 (用于 .meta) ---\n /** 向量状态 */\n vectorStatus: 'vectorStatus',\n /** 分块数量 */\n chunkCount: 'chunkCount',\n /** 内容哈希 */\n contentHash: 'contentHash',\n /** 已索引数量 */\n indexedCount: 'indexedCount',\n /** 失败数量 */\n failedCount: 'failedCount',\n});\n\n/**\n * UDFS 命名空间配置(用于 drizzle-solid)\n */\nexport const UDFS_NAMESPACE = {\n prefix: UDFS.prefix,\n uri: UDFS.uri,\n};\n"]}
@@ -7,9 +7,9 @@ Chinese version: [`README.zh-CN.md`](README.zh-CN.md)
7
7
  Use it when you want:
8
8
 
9
9
  - TypeScript schemas for Pod data
10
- - explicit Pod layout through `base` and `subjectTemplate`
10
+ - explicit Pod layout through `base` and base-relative resource ids
11
11
  - a choice between a Solid-first API (`pod()`) and a Drizzle-shaped API (`drizzle()`)
12
- - exact entity reads and writes by IRI or locator
12
+ - exact resource reads and writes by base-relative id or IRI
13
13
  - SPARQL-backed reads when your backend exposes query capability
14
14
 
15
15
  ## What it is good at
@@ -56,7 +56,7 @@ If another in-process runtime already ships Comunica, inject that engine instead
56
56
  Use this for new code when you want Solid concepts to be explicit in the API:
57
57
 
58
58
  - `collection(table)`
59
- - `entity(table, iri)`
59
+ - `entity(resource, iri)`
60
60
  - `bind(schema, options)`
61
61
  - `sparql(query)`
62
62
 
@@ -65,10 +65,10 @@ Use this for new code when you want Solid concepts to be explicit in the API:
65
65
  Use this when you are migrating from `drizzle-orm` or want to keep builder-shaped code:
66
66
 
67
67
  - `select / insert / update / delete`
68
- - `db.query.<table>`
69
- - `findByLocator / findByIri`
70
- - `updateByLocator / updateByIri`
71
- - `deleteByLocator / deleteByIri`
68
+ - `db.query.<resource>`
69
+ - `findById / findByIri`
70
+ - `updateById / updateByIri`
71
+ - `deleteById / deleteByIri`
72
72
 
73
73
  Both styles use the same runtime. The difference is API shape, not storage behavior.
74
74
 
@@ -84,7 +84,6 @@ const posts = podTable('posts', {
84
84
  createdAt: datetime('createdAt').predicate('http://schema.org/dateCreated'),
85
85
  }, {
86
86
  base: 'https://alice.example/data/posts/',
87
- subjectTemplate: '{id}.ttl',
88
87
  type: 'http://schema.org/CreativeWork',
89
88
  });
90
89
 
@@ -92,7 +91,7 @@ const client = pod(session);
92
91
  await client.init(posts);
93
92
 
94
93
  const created = await client.collection(posts).create({
95
- id: 'post-1',
94
+ id: 'post-1.ttl',
96
95
  title: 'Hello Solid',
97
96
  content: 'Stored as RDF in a Pod document.',
98
97
  createdAt: new Date(),
@@ -119,7 +118,6 @@ const posts = podTable('posts', {
119
118
  title: string('title').predicate('http://schema.org/headline'),
120
119
  }, {
121
120
  base: 'https://alice.example/data/posts/',
122
- subjectTemplate: '{id}.ttl',
123
121
  type: 'http://schema.org/CreativeWork',
124
122
  });
125
123
 
@@ -127,17 +125,17 @@ const db = drizzle(session);
127
125
  await db.init(posts);
128
126
 
129
127
  await db.insert(posts).values({
130
- id: 'post-1',
128
+ id: 'post-1.ttl',
131
129
  title: 'Hello Solid',
132
130
  });
133
131
 
134
- const row = await db.findByLocator(posts, { id: 'post-1' });
132
+ const row = await db.findById(posts, 'post-1.ttl');
135
133
 
136
- await db.updateByLocator(posts, { id: 'post-1' }, {
134
+ await db.updateById(posts, 'post-1.ttl', {
137
135
  title: 'Updated title',
138
136
  });
139
137
 
140
- await db.deleteByLocator(posts, { id: 'post-1' });
138
+ await db.deleteById(posts, 'post-1.ttl');
141
139
  ```
142
140
 
143
141
  ## How Pod layout works
@@ -145,20 +143,22 @@ await db.deleteByLocator(posts, { id: 'post-1' });
145
143
  Every model describes both shape and placement.
146
144
 
147
145
  - `base` defines where documents live
148
- - `subjectTemplate` defines how business fields map to an IRI
146
+ - `id` is a base-relative resource id, such as `post-1.ttl` or `chat-1/messages.ttl#msg-1`
149
147
  - `type` is the primary persisted `rdf:type`
150
148
 
151
- Common `subjectTemplate` patterns:
149
+ `subjectTemplate` is deprecated and kept only for legacy or explicit compatibility layouts. New schemas should omit it and store the exact resource path in the `id` column.
150
+
151
+ Legacy `subjectTemplate` patterns still supported for compatibility:
152
152
 
153
153
  - `#{id}` — many entities in one document
154
154
  - `{id}.ttl` — one document per entity
155
155
  - `{id}.ttl#it` — one document per entity with a stable fragment
156
156
  - `{chatId}/messages.ttl#{id}` — partitioned layout with multiple locator variables
157
157
 
158
- If your template uses multiple variables, exact lookup requires either:
158
+ If a legacy template uses multiple variables, exact lookup requires either:
159
159
 
160
160
  - the full IRI, or
161
- - a complete locator with every required variable
161
+ - the base-relative resource id, for example `chat-1/messages.ttl#msg-1`
162
162
 
163
163
  ## Collection reads vs exact entity operations
164
164
 
@@ -170,19 +170,24 @@ Use collection reads when you want a list or filtered subset:
170
170
 
171
171
  - `client.collection(table).list(...)`
172
172
  - `db.select().from(table)...`
173
- - `db.query.<table>.findMany(...)`
173
+ - `db.query.<resource>.findMany(...)`
174
174
 
175
175
  ### Exact entity operations
176
176
 
177
177
  Use exact-target helpers when you mean one concrete entity:
178
178
 
179
- - `client.entity(table, iri)`
180
- - `db.findByIri(table, iri)`
181
- - `db.findByLocator(table, locator)`
179
+ - `client.entity(resource, iri)`
180
+ - `db.query.<resource>.findById(id)`
181
+ - `db.findById(resource, id)`
182
+ - `db.findByIri(resource, iri)`
183
+ - `db.updateById(resource, id, data)`
184
+ - `db.deleteById(resource, id)`
182
185
  - `db.updateByIri(...)`
183
- - `db.updateByLocator(...)`
184
186
  - `db.deleteByIri(...)`
185
- - `db.deleteByLocator(...)`
187
+
188
+ `findByLocator` / `updateByLocator` / `deleteByLocator` remain temporarily for
189
+ compatibility, but are deprecated. Prefer base-relative resource ids, generic
190
+ `*ByResource` helpers for mixed exact targets, or full IRIs.
186
191
 
187
192
  Do not rely on `where({ id: ... })` or `where(eq(table.id, ...))` as an exact-target shortcut.
188
193
 
@@ -232,6 +237,29 @@ Start here:
232
237
  - `docs/guides/notifications.md`
233
238
  - `docs/guides/data-discovery.md`
234
239
 
240
+ ## Support and collaboration
241
+
242
+ `drizzle-solid` is maintained as an open source infrastructure project.
243
+
244
+ If this library is useful to you, there are three practical ways to support it:
245
+
246
+ - become a design partner for an upcoming work package
247
+ - fund a specific roadmap item
248
+ - adopt it in a real Solid application and share requirements, edge cases, and feedback
249
+
250
+ See [`docs/SUPPORT.md`](docs/SUPPORT.md) for current priorities and collaboration options.
251
+
252
+ ## 2026 roadmap priorities
253
+
254
+ The current public roadmap is centered on the following Solid application infrastructure gaps:
255
+
256
+ 1. Schema lifecycle and migration support
257
+ 2. Access-aware discovery across TypeIndex / SAI-related flows
258
+ 3. Cross-Pod exact operations with explicit source scoping
259
+ 4. Interoperability testing across CSS, xpod, and plain-LDP-style setups
260
+
261
+ These are intentionally infrastructure-focused. The goal is to reduce app-specific Solid glue code and make Pod-native application development more dependable for downstream projects.
262
+
235
263
  ## Contributing
236
264
 
237
265
  Before pushing:
@@ -7,9 +7,9 @@ English version: [`README.md`](README.md)
7
7
  适合在你需要下面这些能力时使用:
8
8
 
9
9
  - 用 TypeScript schema 描述 Pod 数据
10
- - 用 `base` 和 `subjectTemplate` 明确声明数据布局
10
+ - 用 `base` 和 base-relative resource id 明确声明数据布局
11
11
  - 在 `pod()` 和 `drizzle()` 两种 API 风格之间选择
12
- - 通过 IRIlocator 精确读写单个实体
12
+ - 通过 base-relative id IRI 精确读写单个资源
13
13
  - 在后端提供查询能力时走 SPARQL 读取
14
14
 
15
15
  ## 它擅长什么
@@ -56,7 +56,7 @@ npm install @comunica/query-sparql-solid
56
56
  适合新代码,或者你希望 API 直接体现 Solid 语义:
57
57
 
58
58
  - `collection(table)`
59
- - `entity(table, iri)`
59
+ - `entity(resource, iri)`
60
60
  - `bind(schema, options)`
61
61
  - `sparql(query)`
62
62
 
@@ -65,10 +65,10 @@ npm install @comunica/query-sparql-solid
65
65
  适合从 `drizzle-orm` 迁移,或者你想保留 builder 形状:
66
66
 
67
67
  - `select / insert / update / delete`
68
- - `db.query.<table>`
69
- - `findByLocator / findByIri`
70
- - `updateByLocator / updateByIri`
71
- - `deleteByLocator / deleteByIri`
68
+ - `db.query.<resource>`
69
+ - `findById / findByIri`
70
+ - `updateById / updateByIri`
71
+ - `deleteById / deleteByIri`
72
72
 
73
73
  两者底层是同一个运行时。区别是 API 组织方式,不是存储行为。
74
74
 
@@ -84,7 +84,6 @@ const posts = podTable('posts', {
84
84
  createdAt: datetime('createdAt').predicate('http://schema.org/dateCreated'),
85
85
  }, {
86
86
  base: 'https://alice.example/data/posts/',
87
- subjectTemplate: '{id}.ttl',
88
87
  type: 'http://schema.org/CreativeWork',
89
88
  });
90
89
 
@@ -92,7 +91,7 @@ const client = pod(session);
92
91
  await client.init(posts);
93
92
 
94
93
  const created = await client.collection(posts).create({
95
- id: 'post-1',
94
+ id: 'post-1.ttl',
96
95
  title: 'Hello Solid',
97
96
  content: 'Stored as RDF in a Pod document.',
98
97
  createdAt: new Date(),
@@ -119,7 +118,6 @@ const posts = podTable('posts', {
119
118
  title: string('title').predicate('http://schema.org/headline'),
120
119
  }, {
121
120
  base: 'https://alice.example/data/posts/',
122
- subjectTemplate: '{id}.ttl',
123
121
  type: 'http://schema.org/CreativeWork',
124
122
  });
125
123
 
@@ -127,17 +125,17 @@ const db = drizzle(session);
127
125
  await db.init(posts);
128
126
 
129
127
  await db.insert(posts).values({
130
- id: 'post-1',
128
+ id: 'post-1.ttl',
131
129
  title: 'Hello Solid',
132
130
  });
133
131
 
134
- const row = await db.findByLocator(posts, { id: 'post-1' });
132
+ const row = await db.findById(posts, 'post-1.ttl');
135
133
 
136
- await db.updateByLocator(posts, { id: 'post-1' }, {
134
+ await db.updateById(posts, 'post-1.ttl', {
137
135
  title: 'Updated title',
138
136
  });
139
137
 
140
- await db.deleteByLocator(posts, { id: 'post-1' });
138
+ await db.deleteById(posts, 'post-1.ttl');
141
139
  ```
142
140
 
143
141
  ## Pod 布局怎么理解
@@ -145,20 +143,22 @@ await db.deleteByLocator(posts, { id: 'post-1' });
145
143
  每个模型不仅描述字段,也描述落点。
146
144
 
147
145
  - `base` 决定文档位置
148
- - `subjectTemplate` 决定业务字段如何映射成 IRI
146
+ - `id` base-relative resource id,例如 `post-1.ttl` 或 `chat-1/messages.ttl#msg-1`
149
147
  - `type` 是主持久化 `rdf:type`
150
148
 
151
- 常见 `subjectTemplate`:
149
+ `subjectTemplate` 已废弃,只为旧布局或显式兼容保留。新 schema 应该省略它,把精确资源路径放在 `id` 列里。
150
+
151
+ 旧 `subjectTemplate` 模式仍兼容:
152
152
 
153
153
  - `#{id}`:一个文档里多个实体
154
154
  - `{id}.ttl`:一个实体一个文档
155
155
  - `{id}.ttl#it`:一个实体一个文档,并带稳定 fragment
156
156
  - `{chatId}/messages.ttl#{id}`:多变量分区布局
157
157
 
158
- 如果模板用了多个变量,精确定位就必须提供:
158
+ 如果旧模板用了多个变量,精确定位就必须提供:
159
159
 
160
160
  - 完整 IRI,或
161
- - 完整 locator
161
+ - base-relative resource id,例如 `chat-1/messages.ttl#msg-1`
162
162
 
163
163
  ## 集合读取 vs 精确实体操作
164
164
 
@@ -170,19 +170,25 @@ await db.deleteByLocator(posts, { id: 'post-1' });
170
170
 
171
171
  - `client.collection(table).list(...)`
172
172
  - `db.select().from(table)...`
173
- - `db.query.<table>.findMany(...)`
173
+ - `db.query.<resource>.findMany(...)`
174
174
 
175
175
  ### 精确实体操作
176
176
 
177
177
  当你要操作一个明确实体时,用:
178
178
 
179
- - `client.entity(table, iri)`
180
- - `db.findByIri(table, iri)`
181
- - `db.findByLocator(table, locator)`
179
+ - `client.entity(resource, iri)`
180
+ - `db.query.<resource>.findById(id)`
181
+ - `db.findById(resource, id)`
182
+ - `db.findByIri(resource, iri)`
183
+ - `db.updateById(resource, id, data)`
184
+ - `db.deleteById(resource, id)`
182
185
  - `db.updateByIri(...)`
183
- - `db.updateByLocator(...)`
184
186
  - `db.deleteByIri(...)`
185
- - `db.deleteByLocator(...)`
187
+
188
+ `findByLocator` / `updateByLocator` / `deleteByLocator` 仍临时保留以兼容旧代码,
189
+ 但已经废弃。精确定位优先使用 base-relative resource id;如果调用方拿到的是
190
+ IRI、row、locator 或 id 的混合 target,再用通用 `*ByResource` helper;已知完整
191
+ IRI 时直接用 `*ByIri`。
186
192
 
187
193
  不要再把 `where({ id: ... })` 或 `where(eq(table.id, ...))` 当成精确单体捷径。
188
194
 
@@ -36,7 +36,9 @@ export interface DataLocation {
36
36
  container: string;
37
37
  /** 主体 URI 模式 (可选) - deprecated, use subjectTemplate */
38
38
  subjectPattern?: string;
39
- /** Subject URI 模板 (e.g., "{id}.ttl" for document mode, "#{id}" for fragment mode) */
39
+ /**
40
+ * @deprecated Legacy/explicit Subject URI template. Prefer exact base-relative ids.
41
+ */
40
42
  subjectTemplate?: string;
41
43
  /** 可用的 Shape 列表(按注册顺序) */
42
44
  shapes: ShapeInfo[];
@@ -82,7 +84,9 @@ export interface DataRegistrationInfo {
82
84
  shapeTree: string;
83
85
  /** Shape URL - 实际的 SHACL Shape 定义 */
84
86
  shape?: string;
85
- /** Subject URI 模板 (e.g., "{id}.ttl" for document mode, "#{id}" for fragment mode) */
87
+ /**
88
+ * @deprecated Legacy/explicit Subject URI template. Prefer exact base-relative ids.
89
+ */
86
90
  subjectTemplate?: string;
87
91
  /** 注册此数据的应用/代理 */
88
92
  registeredBy?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/discovery/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,sBAAsB;IACtB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE3B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,eAAe,EAAE,MAAM,CAAC;IAExB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kBAAkB;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/E;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEhD;;;OAGG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/discovery/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,sBAAsB;IACtB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE3B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,eAAe,EAAE,MAAM,CAAC;IAExB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kBAAkB;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/E;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEhD;;;OAGG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACxD"}
@@ -27,6 +27,7 @@ export declare class LdpExecutor {
27
27
  */
28
28
  executeInsert(rows: any[], table: PodTable, resourceUrl: string, options?: {
29
29
  ensureContainerExists?: (containerUrl: string) => Promise<void>;
30
+ skipResourceExistenceCheck?: boolean;
30
31
  tableRegistry?: Map<string, PodTable[]>;
31
32
  tableNameRegistry?: Map<string, PodTable>;
32
33
  }): Promise<any[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ldp-executor.d.ts","sourceRoot":"","sources":["../../../src/core/execution/ldp-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AA6B1C,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,WAAW,CAAc;gBAErB,cAAc,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW;IAOnG;;;;OAIG;IACH,gBAAgB,CACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAClC,IAAI;IAIP;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,GAAG,EAAE,EACX,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACtC,GACL,OAAO,CAAC,GAAG,EAAE,CAAC;IAuMjB;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IA2FjB;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IAmCjB;;OAEG;YACW,gBAAgB;IAqC9B;;OAEG;YACW,eAAe;YAaf,uBAAuB;IAqFrC;;;;;;OAMG;YACW,cAAc;IAwD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;YACW,sBAAsB;IAoDpC,OAAO,CAAC,UAAU;YA2BJ,6BAA6B;YA+C7B,oBAAoB;YAgBpB,oBAAoB;CAUnC"}
1
+ {"version":3,"file":"ldp-executor.d.ts","sourceRoot":"","sources":["../../../src/core/execution/ldp-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AA6B1C,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,WAAW,CAAc;gBAErB,cAAc,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW;IAOnG;;;;OAIG;IACH,gBAAgB,CACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAClC,IAAI;IAIP;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,GAAG,EAAE,EACX,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACtC,GACL,OAAO,CAAC,GAAG,EAAE,CAAC;IAwOjB;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IA2FjB;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IAmCjB;;OAEG;YACW,gBAAgB;IAqC9B;;OAEG;YACW,eAAe;YAaf,uBAAuB;IAqFrC;;;;;;OAMG;YACW,cAAc;IAwD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;YACW,sBAAsB;IAoDpC,OAAO,CAAC,UAAU;YA2BJ,6BAA6B;YA+C7B,oBAAoB;YAgBpB,oBAAoB;CAUnC"}
@@ -122,8 +122,12 @@ class LdpExecutor {
122
122
  if (recordTriples.length === 0)
123
123
  continue;
124
124
  // 按 resourceUrl 分组
125
- const existing = resourceTriples.get(docResourceUrl) || [];
126
- existing.push(...recordTriples);
125
+ const existing = resourceTriples.get(docResourceUrl) || {
126
+ triples: [],
127
+ hasFragmentSubject: false,
128
+ };
129
+ existing.triples.push(...recordTriples);
130
+ existing.hasFragmentSubject = existing.hasFragmentSubject || subject.includes('#');
127
131
  resourceTriples.set(docResourceUrl, existing);
128
132
  }
129
133
  finally {
@@ -132,16 +136,41 @@ class LdpExecutor {
132
136
  }
133
137
  // 对每个唯一的 resourceUrl 执行一次写入
134
138
  const results = [];
135
- for (const [docResourceUrl, triples] of resourceTriples.entries()) {
139
+ for (const [docResourceUrl, group] of resourceTriples.entries()) {
140
+ const triples = group.triples;
136
141
  const containerUrl = getContainerUrl(docResourceUrl);
137
142
  if (containerUrl && options.ensureContainerExists) {
138
143
  await options.ensureContainerExists(containerUrl);
139
144
  }
140
- // 检查资源是否已存在,如果存在则使用 PATCH 追加
141
- const headRes = await this.fetchFn(docResourceUrl, { method: 'HEAD' });
142
- const resourceExists = headRes.ok || headRes.status === 405;
145
+ // 检查资源是否已存在,如果存在则使用 PATCH 追加。
146
+ // Some Solid sidecars are slow or unreliable on HEAD; callers that own
147
+ // resource creation can skip this probe and fall back from PATCH to PUT.
148
+ let resourceExists = false;
149
+ if (!options.skipResourceExistenceCheck) {
150
+ const headRes = await this.fetchFn(docResourceUrl, { method: 'HEAD' });
151
+ resourceExists = headRes.ok || headRes.status === 405;
152
+ }
143
153
  let response;
144
- if (resourceExists) {
154
+ let via;
155
+ if (options.skipResourceExistenceCheck) {
156
+ const sparql = `INSERT DATA {\n${triples.join('\n')}\n}`;
157
+ response = await this.fetchFn(docResourceUrl, {
158
+ method: 'PATCH',
159
+ headers: { 'Content-Type': 'application/sparql-update' },
160
+ body: sparql
161
+ });
162
+ via = 'patch';
163
+ if (response.status === 404) {
164
+ const body = triples.join('\n');
165
+ response = await this.fetchFn(docResourceUrl, {
166
+ method: 'PUT',
167
+ headers: { 'Content-Type': 'text/turtle' },
168
+ body
169
+ });
170
+ via = 'put';
171
+ }
172
+ }
173
+ else if (resourceExists) {
145
174
  // 资源已存在,使用 SPARQL UPDATE 追加三元组
146
175
  const sparql = `INSERT DATA {\n${triples.join('\n')}\n}`;
147
176
  response = await this.fetchFn(docResourceUrl, {
@@ -149,6 +178,7 @@ class LdpExecutor {
149
178
  headers: { 'Content-Type': 'application/sparql-update' },
150
179
  body: sparql
151
180
  });
181
+ via = 'patch';
152
182
  }
153
183
  else {
154
184
  // 资源不存在,使用 PUT 创建
@@ -158,6 +188,7 @@ class LdpExecutor {
158
188
  headers: { 'Content-Type': 'text/turtle' },
159
189
  body
160
190
  });
191
+ via = 'put';
161
192
  }
162
193
  if (![200, 201, 202, 204, 205].includes(response.status)) {
163
194
  const text = await response.text().catch(() => '');
@@ -171,7 +202,7 @@ class LdpExecutor {
171
202
  }
172
203
  // Also invalidate global cache to ensure SPARQL endpoint queries see the new data
173
204
  await this.sparqlExecutor.invalidateHttpCache(undefined).catch(() => undefined);
174
- results.push({ success: true, source: docResourceUrl, status: response.status, via: resourceExists ? 'patch' : 'put' });
205
+ results.push({ success: true, source: docResourceUrl, status: response.status, via });
175
206
  }
176
207
  return results;
177
208
  }
@@ -191,8 +222,10 @@ class LdpExecutor {
191
222
  // 如果资源不存在 (404) 或创建后仍不可访问,先 PUT 创建再重试
192
223
  if (response.status === 404 || response.status === 201) {
193
224
  // 验证资源是否真的存在
194
- const checkRes = await this.fetchFn(resourceUrl, { method: 'HEAD' });
195
- if (!checkRes.ok && checkRes.status !== 405) {
225
+ const needsCreate = options.skipResourceExistenceCheck
226
+ ? true
227
+ : await this.fetchFn(resourceUrl, { method: 'HEAD' }).then((checkRes) => !checkRes.ok && checkRes.status !== 405);
228
+ if (needsCreate) {
196
229
  // 资源不存在,先创建
197
230
  const createRes = await this.fetchFn(resourceUrl, {
198
231
  method: 'PUT',