diff --git a/.gitattributes b/.gitattributes index 83ab498da2dd..fa15dd312a5e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,4 +2,4 @@ CLAUDE.md -text src/gateway/server-methods/CLAUDE.md -text ui/src/i18n/.i18n/* linguist-generated -docs/.generated/plugin-sdk-api-baseline.jsonl linguist-generated=true +docs/.generated/plugin-sdk-api-baseline/*.json linguist-generated=true diff --git a/.gitignore b/.gitignore index 658e63f24c7b..0647d3369377 100644 --- a/.gitignore +++ b/.gitignore @@ -191,7 +191,8 @@ ui/.vitest-attachments docs/.generated/*.json !docs/.generated/config-baseline.counts.json docs/.generated/*.jsonl -!docs/.generated/plugin-sdk-api-baseline.jsonl +!docs/.generated/plugin-sdk-api-baseline/ +!docs/.generated/plugin-sdk-api-baseline/*.json # Deprecated changelog fragment workflow changelog/fragments/ diff --git a/docs/.generated/README.md b/docs/.generated/README.md index 83ee31c1a2cc..7901eb39b080 100644 --- a/docs/.generated/README.md +++ b/docs/.generated/README.md @@ -7,7 +7,7 @@ snapshots remain local inspection artifacts. - `config-baseline.sha256` — hashes of config baseline JSON artifacts. - `config-baseline.counts.json` — maximum entry counts for each config baseline kind. -- `plugin-sdk-api-baseline.jsonl` — one content hash per Plugin SDK module. +- `plugin-sdk-api-baseline/.json` — one content hash record per Plugin SDK module. - `sqlite-session-transcript-schema-baseline.sha256` — hash of the sessions/transcripts SQLite schema baseline. **Local only (gitignored):** @@ -24,11 +24,11 @@ Do not edit any of these files by hand. - Validate Plugin SDK API contract manifest: `pnpm plugin-sdk:api:check` The Plugin SDK contract sorts modules by import specifier and exports by kind -then name. Each line hashes one module's normalized declarations and the +then name. Each entrypoint file hashes one module's normalized declarations and surface-reachable declaration closure hashes, so changes to different modules -do not rewrite shared aggregate records. Committed records omit source paths so -file moves do not change the contract; origin `source` fields remain available -in the local pretty JSON snapshot. +touch different files. Committed records omit source paths so file moves do not +change the contract; origin `source` fields remain available in the local pretty +JSON snapshot. - Regenerate SQLite sessions/transcripts schema baseline: `pnpm sqlite:sessions-schema:gen` - Validate SQLite sessions/transcripts schema baseline: `pnpm sqlite:sessions-schema:check` diff --git a/docs/.generated/plugin-sdk-api-baseline.jsonl b/docs/.generated/plugin-sdk-api-baseline.jsonl deleted file mode 100644 index 6edcdf51488a..000000000000 --- a/docs/.generated/plugin-sdk-api-baseline.jsonl +++ /dev/null @@ -1,152 +0,0 @@ -{"contentHash":"ce1dc0ef2b719f22f7978f2e4eada4c3a48d29e570d835c133506cb80bac49bf","entrypoint":"account-core","importSpecifier":"openclaw/plugin-sdk/account-core"} -{"contentHash":"b180542bcec7d2f76ed45cbfd14f0b3e4d37a499c4e383fc0fdc87bd259ee9d3","entrypoint":"account-helpers","importSpecifier":"openclaw/plugin-sdk/account-helpers"} -{"contentHash":"0d6827cdd7180482c49dc67aacc2b512e587d3453536081c15d3febaea2f1492","entrypoint":"account-id","importSpecifier":"openclaw/plugin-sdk/account-id"} -{"contentHash":"0b4930a77ab3e63bed21a9651a23fb7130f623baf6ce153166cb80a965b0a004","entrypoint":"account-resolution","importSpecifier":"openclaw/plugin-sdk/account-resolution"} -{"contentHash":"0349da0a93dadbdcff03ae8064b5066c5f2e1c28ee298bfa9ab3f1f8563300eb","entrypoint":"agent-config-primitives","importSpecifier":"openclaw/plugin-sdk/agent-config-primitives"} -{"contentHash":"bf900891a3c6ee746fdf5033882e8ca88bc03ae0b2c971bb5977c0f0db506506","entrypoint":"agent-harness","importSpecifier":"openclaw/plugin-sdk/agent-harness"} -{"contentHash":"4f8b570b60781e746c19cd370d5c5967ad68047b255e81fd29d0dff95bfc9f3e","entrypoint":"agent-harness-runtime","importSpecifier":"openclaw/plugin-sdk/agent-harness-runtime"} -{"contentHash":"4387e74b1261f632a0e140276c0f8cbbbe848a11f7ad287325538ebbee3b09da","entrypoint":"agent-media-payload","importSpecifier":"openclaw/plugin-sdk/agent-media-payload"} -{"contentHash":"6fe3155f10712bc5d001f1f69e502f3e1a0b4179bb5ed7100d0ca7df933085be","entrypoint":"agent-runtime","importSpecifier":"openclaw/plugin-sdk/agent-runtime"} -{"contentHash":"1f0e51c8b1a58fff13ab7d19806d97bf07fca61a5c7edeb3437cd805775a8320","entrypoint":"agent-scope-runtime","importSpecifier":"openclaw/plugin-sdk/agent-scope-runtime"} -{"contentHash":"1f45bc7ea08bd3029e9a6bfd723f930324df2e7da79e1bd81bfb02f50c57362a","entrypoint":"allow-from","importSpecifier":"openclaw/plugin-sdk/allow-from"} -{"contentHash":"c19f8658d0db60b1d3eddfeae9639ca6558592d7d69c6905ab2994b4a572f25b","entrypoint":"allowlist-config-edit","importSpecifier":"openclaw/plugin-sdk/allowlist-config-edit"} -{"contentHash":"2800815b9a0dac84fccd0b946bc938ba31ba3915990b899b0ebce3b80744ed47","entrypoint":"approval-auth-runtime","importSpecifier":"openclaw/plugin-sdk/approval-auth-runtime"} -{"contentHash":"6fef2bb5627a1f9de6bad01c0ba0d15a4fb64a0f3310c26f1c2cbce67088516c","entrypoint":"approval-client-runtime","importSpecifier":"openclaw/plugin-sdk/approval-client-runtime"} -{"contentHash":"eff85a45e6aed540bfd1ab71c4bf9bc6bf25a90c7010eef24948dc62bd3287b2","entrypoint":"approval-delivery-runtime","importSpecifier":"openclaw/plugin-sdk/approval-delivery-runtime"} -{"contentHash":"032d42ec6f1452f716773f7cd6e49693b5804264e34f4aad028a2b14bb49c5eb","entrypoint":"approval-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/approval-gateway-runtime"} -{"contentHash":"a1f10c22e4c909d954f93b7e361313d50afa83b88478f417a1c8780affb682f2","entrypoint":"approval-handler-adapter-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-adapter-runtime"} -{"contentHash":"7729bb20d4934e9e8ed18c2b4583e3d2d825f7c646db16b70f00481f3558c1ba","entrypoint":"approval-handler-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-runtime"} -{"contentHash":"b084bfaa66fb2fe254d24100c259b20059a7b5b8711cd8d762faf08368661459","entrypoint":"approval-native-runtime","importSpecifier":"openclaw/plugin-sdk/approval-native-runtime"} -{"contentHash":"db7b0d7c8d89812b9f8ffd7d09c21a839177450fa1c75064b92a9a8a736ed4e0","entrypoint":"approval-reply-runtime","importSpecifier":"openclaw/plugin-sdk/approval-reply-runtime"} -{"contentHash":"e914511f42b05da3103d12b565dbe6317f147663b60845337f6f0f3dec2b6dfb","entrypoint":"approval-runtime","importSpecifier":"openclaw/plugin-sdk/approval-runtime"} -{"contentHash":"7f9135d4ea9e3f53ed16bc51c0e44525fdd8907e5824309492a489a35761c25d","entrypoint":"archive","importSpecifier":"openclaw/plugin-sdk/archive"} -{"contentHash":"d87a0eb6bae1b95fa645e77b5b9a81eb6cfdad9c469ae365ccd74b26f750166f","entrypoint":"boolean-param","importSpecifier":"openclaw/plugin-sdk/boolean-param"} -{"contentHash":"8dbe8fc49378a684c4d52a991da9f27bdb85bb080530fdce1957bfd5c5687724","entrypoint":"channel-actions","importSpecifier":"openclaw/plugin-sdk/channel-actions"} -{"contentHash":"5998386ad8e299f9080382e5a982bb96ab9f35d3849ecb6de730df8c63044a77","entrypoint":"channel-config-helpers","importSpecifier":"openclaw/plugin-sdk/channel-config-helpers"} -{"contentHash":"222019df4c06aca4e9bbede0fdea4b946f9b024a1524e3837c3c13be6d3d9e6a","entrypoint":"channel-config-primitives","importSpecifier":"openclaw/plugin-sdk/channel-config-primitives"} -{"contentHash":"645ec473e40a04e4cc627d05c9156f66d835eb67dab32166f745f66eadc98880","entrypoint":"channel-config-schema","importSpecifier":"openclaw/plugin-sdk/channel-config-schema"} -{"contentHash":"75935c1d837265d191436d43bbfe24c6328b35a45a68cad250c157923badf857","entrypoint":"channel-contract","importSpecifier":"openclaw/plugin-sdk/channel-contract"} -{"contentHash":"28666b0cf5d0bdf28648baffffcf1239e4d27727408c785fa06f5c271fc0843a","entrypoint":"channel-core","importSpecifier":"openclaw/plugin-sdk/channel-core"} -{"contentHash":"b2d90f161ca88ef2d5ff35f87f160c772bd784a4ebda91b2ab33bf16b6abd843","entrypoint":"channel-dm-policy","importSpecifier":"openclaw/plugin-sdk/channel-dm-policy"} -{"contentHash":"49a549e6a39d55279ecafe650e7e00496ebd6da5266cb11e486f5ee19f53b4c1","entrypoint":"channel-entry-contract","importSpecifier":"openclaw/plugin-sdk/channel-entry-contract"} -{"contentHash":"8bc8b784c78a70ee58731aae0be9731c9af01705db00acbafa25de9745a23601","entrypoint":"channel-feedback","importSpecifier":"openclaw/plugin-sdk/channel-feedback"} -{"contentHash":"99cee44d09759fdbb01bc1b50e430933c61c745ec3c7880ea7e2aa63b382c673","entrypoint":"channel-inbound","importSpecifier":"openclaw/plugin-sdk/channel-inbound"} -{"contentHash":"87ba6e4e9f2f56621f6d52cc262e8b80fada5e338e841439b4d20983e22dfb82","entrypoint":"channel-inbound-debounce","importSpecifier":"openclaw/plugin-sdk/channel-inbound-debounce"} -{"contentHash":"7a69b23fdd7b631ed407d9ae4af55df192d93b61488c81626f041d4199760d95","entrypoint":"channel-ingress-runtime","importSpecifier":"openclaw/plugin-sdk/channel-ingress-runtime"} -{"contentHash":"85afc43170761c8d7d6d2d91401b0ad033189636050e8cf85d22132e4aba9f1a","entrypoint":"channel-lifecycle","importSpecifier":"openclaw/plugin-sdk/channel-lifecycle"} -{"contentHash":"be803c0341214a8e731f98cb7bf98654410ab1e0254d90f9f1ad9f442f70669f","entrypoint":"channel-logging","importSpecifier":"openclaw/plugin-sdk/channel-logging"} -{"contentHash":"970ba9dd27f5e4d6a09b0ffec37264cdb3f745a5934e2cb8cc53eee78f2c176a","entrypoint":"channel-message","importSpecifier":"openclaw/plugin-sdk/channel-message"} -{"contentHash":"574fa42cccdf71a38cb19a0662dacbcbd94486069f01fda496e950384897ddbf","entrypoint":"channel-outbound","importSpecifier":"openclaw/plugin-sdk/channel-outbound"} -{"contentHash":"fee97710da33e100a8987aed897be17ab3ec4ece9fa09b7eb871a90461c8fca3","entrypoint":"channel-pairing","importSpecifier":"openclaw/plugin-sdk/channel-pairing"} -{"contentHash":"897b21d2b152cacd699378eabe938caaee71171ec4002a3dd6dd42efabcda0f7","entrypoint":"channel-plugin-common","importSpecifier":"openclaw/plugin-sdk/channel-plugin-common"} -{"contentHash":"350b4986aec115e3674c9dd3712302e7c185dbefc534b65a98a6a84564e65e05","entrypoint":"channel-policy","importSpecifier":"openclaw/plugin-sdk/channel-policy"} -{"contentHash":"369721c067caf33fc86e50c7dd5aec3e8371d2e97e2e3c4305751b79da9e7387","entrypoint":"channel-reply-pipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline"} -{"contentHash":"5181d3f1c6936e1e13a7d3ab4b904f5ae929a1985480c130915710a9bf8e8a25","entrypoint":"channel-runtime-context","importSpecifier":"openclaw/plugin-sdk/channel-runtime-context"} -{"contentHash":"3b518bb516e462582e9804e7b9007af94d61a23ecd686dc92d9ca5a6d4cc18ba","entrypoint":"channel-secret-basic-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-basic-runtime"} -{"contentHash":"d56dd5eb08be4b9397e8e1fa35645b26089575e67f59219760ce4aa23f99a9bd","entrypoint":"channel-secret-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-runtime"} -{"contentHash":"69c65bbf59545974200a7c1b9fa683b8999dc085e7a4b7985037e6c1a19a96e0","entrypoint":"channel-send-result","importSpecifier":"openclaw/plugin-sdk/channel-send-result"} -{"contentHash":"d1c1b4cfacba113aee00bd641dca53d6eb1f572dddd6b6b28695ede2e8c69b38","entrypoint":"channel-setup","importSpecifier":"openclaw/plugin-sdk/channel-setup"} -{"contentHash":"647a3e0b5fa412180ee45849123ac525501ff393d44b41c35f37264d191a58bc","entrypoint":"channel-status","importSpecifier":"openclaw/plugin-sdk/channel-status"} -{"contentHash":"de23263a833b2d80eac0f7d7f41225ca0350a8918ae9b605d554a9400a9cfa2a","entrypoint":"channel-streaming","importSpecifier":"openclaw/plugin-sdk/channel-streaming"} -{"contentHash":"fbdf8bfd360a3b6fe49afd0a954c11933affbd79e40aceff4d9e6cdfaf09b109","entrypoint":"channel-streaming-config","importSpecifier":"openclaw/plugin-sdk/channel-streaming-config"} -{"contentHash":"095dd9fe7004a497a07ac05c89a49f96ad7c506fd6a1650a59f184e677adefd1","entrypoint":"cli-argv","importSpecifier":"openclaw/plugin-sdk/cli-argv"} -{"contentHash":"d3db39fb5496cbd8c4154f9eba2705c1df7d59d2e1ed13924f00362f9a9a4550","entrypoint":"collection-runtime","importSpecifier":"openclaw/plugin-sdk/collection-runtime"} -{"contentHash":"da6ecbd54c2a221465aa717896006354000ca530d89fa772aacd60f88b7c5d6d","entrypoint":"command-auth","importSpecifier":"openclaw/plugin-sdk/command-auth"} -{"contentHash":"257ad1c723f513e2346193c87c6f886fae528f048cf2d3ef1bb1dd41b74ea1bb","entrypoint":"command-auth-native","importSpecifier":"openclaw/plugin-sdk/command-auth-native"} -{"contentHash":"e95215e8075b8970ba3ec08832014cff45c6ddea219793de01f1e453de8664ed","entrypoint":"command-detection","importSpecifier":"openclaw/plugin-sdk/command-detection"} -{"contentHash":"59ea4645c80f7ef61e4a25e7a2a27901e3fbf52bd0f13e09c1353f5ee95d4d69","entrypoint":"command-primitives-runtime","importSpecifier":"openclaw/plugin-sdk/command-primitives-runtime"} -{"contentHash":"76208ba5171dd1ab3bc1fe54cf3deb6e1464e5478934e4c969ec6003e7e47493","entrypoint":"command-status","importSpecifier":"openclaw/plugin-sdk/command-status"} -{"contentHash":"50a02811387aa91a8b76acd5f1283a74b97f37ace9f7e0ad7370c828b73fc0cf","entrypoint":"config-contracts","importSpecifier":"openclaw/plugin-sdk/config-contracts"} -{"contentHash":"1deb735b023442072fe21294cf4f94af0e44356fd8591ed6a8a9befafc7c3d67","entrypoint":"config-mutation","importSpecifier":"openclaw/plugin-sdk/config-mutation"} -{"contentHash":"40df7e972484ae28718fef1095b2b44cb2cc9eadd35464bf28d4ae0d0f0f66b5","entrypoint":"config-runtime","importSpecifier":"openclaw/plugin-sdk/config-runtime"} -{"contentHash":"7a5a2f4d3e5e18d211480286d125419ecbf8175bb6f8eeee9a6ee105df03cb3f","entrypoint":"conversation-runtime","importSpecifier":"openclaw/plugin-sdk/conversation-runtime"} -{"contentHash":"db165d4f6bdb943dae0cb3015cafcb6d94d2482fff712eda98eb5442d418b095","entrypoint":"core","importSpecifier":"openclaw/plugin-sdk/core"} -{"contentHash":"184f6a3849b361adfc9db756699787e934e274f05eeedcda04cd2b7cb4f9fe5e","entrypoint":"dedupe-runtime","importSpecifier":"openclaw/plugin-sdk/dedupe-runtime"} -{"contentHash":"8ba476d7f0411071797cd4362f3a71720d9d008d54107b2cb4eccb4a4eb0db0a","entrypoint":"device-bootstrap","importSpecifier":"openclaw/plugin-sdk/device-bootstrap"} -{"contentHash":"cb6fbd1612e60755c7528a5243cec69c9123904297d2e16a9c716485785be532","entrypoint":"diagnostic-runtime","importSpecifier":"openclaw/plugin-sdk/diagnostic-runtime"} -{"contentHash":"f7b6949b179827646d4e047ce4f181550ca8d67bd4537441405d36fb79438556","entrypoint":"directory-runtime","importSpecifier":"openclaw/plugin-sdk/directory-runtime"} -{"contentHash":"4b32922587dab4f465f85b7fea02e3b64d89ebea73a496501aa3c59fa7ef6337","entrypoint":"discord","importSpecifier":"openclaw/plugin-sdk/discord"} -{"contentHash":"e0523b4936d7c7ec043265de9e2a8f6289d32dacba0a28c3999ba3a0975dfc21","entrypoint":"error-runtime","importSpecifier":"openclaw/plugin-sdk/error-runtime"} -{"contentHash":"5125d71bf8c4aeca728c4b8c73b2984247ba7bcc088a45ee29692ff64e3ebf90","entrypoint":"extension-shared","importSpecifier":"openclaw/plugin-sdk/extension-shared"} -{"contentHash":"cbeb81159a1e558846f3cf9eecf3fd5a84858029cfdd9ccf237af428e35e755c","entrypoint":"gateway-method-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-method-runtime"} -{"contentHash":"579472d01b563dae9696e37050977dfdceb51df2df05e10df3e34304d1f9baf4","entrypoint":"gateway-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-runtime"} -{"contentHash":"c6ff5b325384c258ae96e677568d58652fe66ebc6745669a2137970154ef4b92","entrypoint":"group-access","importSpecifier":"openclaw/plugin-sdk/group-access"} -{"contentHash":"77489d30eaa98d93c702d335f1d0324b90f0013400875038239075dabba9febe","entrypoint":"health","importSpecifier":"openclaw/plugin-sdk/health"} -{"contentHash":"273ebd4fcac3041e3a136410fa396b9704c73eedb66414723996127ed80db8f3","entrypoint":"hook-runtime","importSpecifier":"openclaw/plugin-sdk/hook-runtime"} -{"contentHash":"a6537713e63d101897ef9ddfeaae438a50645e2672be5bdced887c4e8a651b96","entrypoint":"inbound-envelope","importSpecifier":"openclaw/plugin-sdk/inbound-envelope"} -{"contentHash":"931a52a774750ab895236a8fa7851781ad0279cb5678b1a78e81af9dd25bb3a4","entrypoint":"inbound-event-delivery","importSpecifier":"openclaw/plugin-sdk/inbound-event-delivery"} -{"contentHash":"c1acc4ca962cb62ae6036308b6d90c2e018420cf8b0f12594b2b876f5a5b0ca2","entrypoint":"inbound-reply-dispatch","importSpecifier":"openclaw/plugin-sdk/inbound-reply-dispatch"} -{"contentHash":"b590647f65a2e148ba7a1bc207f70adbd3a57990b41d3bf6b10f61ee8f27ab87","entrypoint":"infra-runtime","importSpecifier":"openclaw/plugin-sdk/infra-runtime"} -{"contentHash":"41a1f24a1b745f833d44e622ae1922c9dc66ee5de56f0e967ec1a3f9e03a2d18","entrypoint":"ingress-effect-once","importSpecifier":"openclaw/plugin-sdk/ingress-effect-once"} -{"contentHash":"57f79c6e8db72b2806bc8c016066682de71bf690378ccb4403b8da6dd3d38b28","entrypoint":"interactive-runtime","importSpecifier":"openclaw/plugin-sdk/interactive-runtime"} -{"contentHash":"e41d2b9acaec4e89bc69880d645c49c068dbbc19d0a3b247b18b891aa0ce8f39","entrypoint":"json-store","importSpecifier":"openclaw/plugin-sdk/json-store"} -{"contentHash":"a5a82ec1ad4813a4aa68f3872760337b4949f46e61f2a80983342adc221c22cd","entrypoint":"lazy-runtime","importSpecifier":"openclaw/plugin-sdk/lazy-runtime"} -{"contentHash":"f9661f74dd08b910a8973b64e46cb759a9a729ce76f6c10a639cd00d5282a14c","entrypoint":"logging-core","importSpecifier":"openclaw/plugin-sdk/logging-core"} -{"contentHash":"192aa90e9d1d6e1bae65abd591cd0ab6307dc2bcc7626092e48ba96a171f30f8","entrypoint":"matrix","importSpecifier":"openclaw/plugin-sdk/matrix"} -{"contentHash":"dfff39cc053754e24b59df3804369afff03f3331482e26f36f2c477ba21e2ba6","entrypoint":"media-local-roots","importSpecifier":"openclaw/plugin-sdk/media-local-roots"} -{"contentHash":"3192784727566bc5477256b886f4bd7dc4752e43c89c9b16082ddd0b7b997242","entrypoint":"media-mime","importSpecifier":"openclaw/plugin-sdk/media-mime"} -{"contentHash":"2590b051b0e68c2e560aea3301e603ef3546de3862757f68a60b44ece3584933","entrypoint":"media-runtime","importSpecifier":"openclaw/plugin-sdk/media-runtime"} -{"contentHash":"0df97720dfd7b1a5892bbf3d46bc64297468af9b8cbb8720ce0d80d42ff2e59d","entrypoint":"media-store","importSpecifier":"openclaw/plugin-sdk/media-store"} -{"contentHash":"684c061bb0d1112872c9b2d5a00e258d14b4ff8649a26dd0cc67995352d8ca8b","entrypoint":"media-understanding","importSpecifier":"openclaw/plugin-sdk/media-understanding"} -{"contentHash":"f48e34067ab9b25a232af71d8ce17f9cbf9165ebce0832deaae3c1d9c9aeaab7","entrypoint":"media-understanding-runtime","importSpecifier":"openclaw/plugin-sdk/media-understanding-runtime"} -{"contentHash":"18782530d1c5bb66e086dd0177eb8ee52d152805aa68932a945fbc35178c3b03","entrypoint":"meeting-runtime","importSpecifier":"openclaw/plugin-sdk/meeting-runtime"} -{"contentHash":"27509d9bbabc547662a45bf258fa432d1e0c3c3f7c22051858d8a67375486e79","entrypoint":"memory-core-host-engine-foundation","importSpecifier":"openclaw/plugin-sdk/memory-core-host-engine-foundation"} -{"contentHash":"ad875662e95df74808357c234ac36825d1ff729165da941180061591525ff47f","entrypoint":"memory-host-core","importSpecifier":"openclaw/plugin-sdk/memory-host-core"} -{"contentHash":"0f140018c2c21965b6a8f7a2ac1882babcaf70e733b477bb693e498641629938","entrypoint":"messaging-targets","importSpecifier":"openclaw/plugin-sdk/messaging-targets"} -{"contentHash":"c066691f6e408c7dff36c7f34db64be4166cf59e43ec65ea13924907a351033b","entrypoint":"model-session-runtime","importSpecifier":"openclaw/plugin-sdk/model-session-runtime"} -{"contentHash":"dc17bbd6a4f64c5f1a73efe1195ce44ae2320734d40843de9be64c302ec46885","entrypoint":"models-provider-runtime","importSpecifier":"openclaw/plugin-sdk/models-provider-runtime"} -{"contentHash":"6c5c89c48ffb76d7e9950ddfa7088f036a54382ac29fb0dff9faa62be2c86c6f","entrypoint":"native-command-config-runtime","importSpecifier":"openclaw/plugin-sdk/native-command-config-runtime"} -{"contentHash":"8a276ed1d2e13e6371a653b8a9ffffdb6a018635dc69d48d3a7e46a2c40bd955","entrypoint":"native-command-registry","importSpecifier":"openclaw/plugin-sdk/native-command-registry"} -{"contentHash":"f404b138fa09f066b3383c1e07e3f4755211b3e42ac2f49c90a370b23ad14bbd","entrypoint":"param-readers","importSpecifier":"openclaw/plugin-sdk/param-readers"} -{"contentHash":"3b2106094ccada38a6736f39abbb5814e776638cdb7f1f6d065576e6f8a2d3b6","entrypoint":"persistent-dedupe","importSpecifier":"openclaw/plugin-sdk/persistent-dedupe"} -{"contentHash":"e43fcfe8f88cf8d338c3e3496f3bdd6ec14afc1fcf341e171f7758f5c0190d5b","entrypoint":"plugin-command-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-command-runtime"} -{"contentHash":"756175b7ff16cd8456b3c85a87466f077476a9236e098c5545ea8ef31fcff0d2","entrypoint":"plugin-config-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-config-runtime"} -{"contentHash":"3f92b4ce6954e9bbe85a7675f7ad000e01e6b34049523a9a3e38d23966ad959a","entrypoint":"plugin-entry","importSpecifier":"openclaw/plugin-sdk/plugin-entry"} -{"contentHash":"60b7d6caebf369d35a367e431f77eb3f7e5437870ef1da5f024ea8c71217b1cb","entrypoint":"plugin-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-runtime"} -{"contentHash":"d5d21f2a0883eac72d6642d93306c36e2de0f3851286eb3edbe3a2d9d6122dcc","entrypoint":"provider-auth","importSpecifier":"openclaw/plugin-sdk/provider-auth"} -{"contentHash":"36aad63a3fda1116df864fcdaa3c26d2c0d7af809603d3d4afaf96dcccdd8391","entrypoint":"provider-catalog-runtime","importSpecifier":"openclaw/plugin-sdk/provider-catalog-runtime"} -{"contentHash":"aee2a235e7218ed4ba36e80e0a6d67ceb3b5de448f25ebc10d6f70552dc35b8a","entrypoint":"proxy-capture","importSpecifier":"openclaw/plugin-sdk/proxy-capture"} -{"contentHash":"55bc0be5ce1d700d8b671efccb69ec14a3c942535c2f77d3ed7ca87809dc1ad9","entrypoint":"question-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/question-gateway-runtime"} -{"contentHash":"5263836c817c9391fd5a0efdda50552330dd01e4d6bc9cb4ebba58627c48f098","entrypoint":"reply-chunking","importSpecifier":"openclaw/plugin-sdk/reply-chunking"} -{"contentHash":"2ffe953c6f47f15c3357af51a34385942165158724ccf4d0a272a7c060f9a2d9","entrypoint":"reply-dispatch-runtime","importSpecifier":"openclaw/plugin-sdk/reply-dispatch-runtime"} -{"contentHash":"0a7b62b1cfdf15c5d397be2ee951eb991e61712cf331f353faf21b5355863cf1","entrypoint":"reply-history","importSpecifier":"openclaw/plugin-sdk/reply-history"} -{"contentHash":"369a0c223cba73be174d9a7ada6dcebff739b15c71c34f767e761b57af667723","entrypoint":"reply-payload","importSpecifier":"openclaw/plugin-sdk/reply-payload"} -{"contentHash":"ca4c1916f393a407fb4f5ad3a0fedc4bc66a8f87f1f38806ffb22928f2b57a2e","entrypoint":"reply-runtime","importSpecifier":"openclaw/plugin-sdk/reply-runtime"} -{"contentHash":"91ade8da7db7cd2b9cbafcbf307338fbd0d656ac8a31d10c38cab23a916840b8","entrypoint":"root-walk","importSpecifier":"openclaw/plugin-sdk/root-walk"} -{"contentHash":"ad853e4f7e257b2a206f8e3a551b9e50f36a020db1fd36de65c121bcf24a6d5e","entrypoint":"routing","importSpecifier":"openclaw/plugin-sdk/routing"} -{"contentHash":"c10788e36c8343600186fe9aadf84eb977e1686cb29e7ee0a581d033b8dfc7e5","entrypoint":"run-command","importSpecifier":"openclaw/plugin-sdk/run-command"} -{"contentHash":"583a581e90003aa4c1f8f0d5e53bde6fad3b795d7006da72c492f56ecacf910e","entrypoint":"runtime","importSpecifier":"openclaw/plugin-sdk/runtime"} -{"contentHash":"4e9f778169c4e2363dfa5d2f42b5fef117423f0a0bf84b98226e6f75a2a19ce0","entrypoint":"runtime-config-snapshot","importSpecifier":"openclaw/plugin-sdk/runtime-config-snapshot"} -{"contentHash":"427c41fc7a1c238d40c8eab9c9cb8f5991f4d7ee14780a2b4568425979c45649","entrypoint":"runtime-env","importSpecifier":"openclaw/plugin-sdk/runtime-env"} -{"contentHash":"478d5a75cb091dcca9af0ce5068517fb3d466369c25c316e77999189f878bfcd","entrypoint":"runtime-group-policy","importSpecifier":"openclaw/plugin-sdk/runtime-group-policy"} -{"contentHash":"64e6bc07bb893d607cc4a194f85cbeedee23ec448edd40eb6e2757a9249ec4e0","entrypoint":"runtime-store","importSpecifier":"openclaw/plugin-sdk/runtime-store"} -{"contentHash":"38781f0049e35aa9451c2b3c351eed102495cd22f002d2cb827ff23d6d4924e0","entrypoint":"secret-file","importSpecifier":"openclaw/plugin-sdk/secret-file"} -{"contentHash":"282b75c04af48ca34b30ac2f43f602f38ca0d6f60d7369690cae7c651090ba81","entrypoint":"secret-input","importSpecifier":"openclaw/plugin-sdk/secret-input"} -{"contentHash":"48269c5717a644527b7fc69f267ca5c578860b9611910d8938352a26aa567aed","entrypoint":"secret-input-runtime","importSpecifier":"openclaw/plugin-sdk/secret-input-runtime"} -{"contentHash":"05ef79413285ad9a4f8a07bb8f26012098dbb73458b4d90c1990b744a6b4677c","entrypoint":"secret-ref-runtime","importSpecifier":"openclaw/plugin-sdk/secret-ref-runtime"} -{"contentHash":"e76844c24ad8fff2b28d960f764f6485ceb295cf139e79f453ff81e586311209","entrypoint":"security-runtime","importSpecifier":"openclaw/plugin-sdk/security-runtime"} -{"contentHash":"c6fb826551fd871ce2a2227ab734aa19296a590666f4a5a52d6ce2761a06fcbe","entrypoint":"session-catalog","importSpecifier":"openclaw/plugin-sdk/session-catalog"} -{"contentHash":"fc930f917790f90cde187615a3f637b3c0f0f1e2e3d272ca825845da8af721fd","entrypoint":"session-discussion","importSpecifier":"openclaw/plugin-sdk/session-discussion"} -{"contentHash":"4626133e56c25b82d2e014f3f0e6fa2862162d603cfe57fd208f0b8d4ce89a3e","entrypoint":"session-store-runtime","importSpecifier":"openclaw/plugin-sdk/session-store-runtime"} -{"contentHash":"1ba2b9af6b0760fc93faf00ed89a62050454e28b8b09672b3fa963940b88f0ee","entrypoint":"setup","importSpecifier":"openclaw/plugin-sdk/setup"} -{"contentHash":"795d413433bdcf36a9b05cd51a029cbf5f38b8f54d488b63e3f2c80ae6eb1999","entrypoint":"setup-runtime","importSpecifier":"openclaw/plugin-sdk/setup-runtime"} -{"contentHash":"998876bc908a1266d2cde0e5442e90db253371331a8cb3d79f403ce0fbd7b098","entrypoint":"setup-tools","importSpecifier":"openclaw/plugin-sdk/setup-tools"} -{"contentHash":"76deac46f52eb2897b0573f3c360257c5e8a2aeb62e2b1134d7c3594c95c43ba","entrypoint":"skill-commands-runtime","importSpecifier":"openclaw/plugin-sdk/skill-commands-runtime"} -{"contentHash":"018c910329ce5d5a988ebbce0cb28e4f18d5ec08f11a3b34572ef340e8e1f29d","entrypoint":"speech-settings","importSpecifier":"openclaw/plugin-sdk/speech-settings"} -{"contentHash":"6d24516dfcfd36852bf649ff05e0e5bb38fa874a168788ce94beadeb1e349653","entrypoint":"ssrf-policy","importSpecifier":"openclaw/plugin-sdk/ssrf-policy"} -{"contentHash":"faf8c3ca03beab979f980d7c24ddb5a2725ed05ba4e3ef477263ec4027e8559a","entrypoint":"ssrf-runtime","importSpecifier":"openclaw/plugin-sdk/ssrf-runtime"} -{"contentHash":"9901f9b75b09cb4975595e9eb4464f807bbb3387ce67a98144254d1c75cd4243","entrypoint":"state-paths","importSpecifier":"openclaw/plugin-sdk/state-paths"} -{"contentHash":"85010b862301bcaac7c6f17b14c7cee6e192e524ec4898ed96774693dab73a4c","entrypoint":"status-helpers","importSpecifier":"openclaw/plugin-sdk/status-helpers"} -{"contentHash":"e7d1347fa4d9bbc2715c95473eada52b6637ff538946e52f3cfd8ef2bf4cdc7c","entrypoint":"string-coerce-runtime","importSpecifier":"openclaw/plugin-sdk/string-coerce-runtime"} -{"contentHash":"27d2aa201b0e36f656d2f87a491a3e44b871f53ffc344da1caf1a89241dc59e4","entrypoint":"telegram-account","importSpecifier":"openclaw/plugin-sdk/telegram-account"} -{"contentHash":"09957526abf9619fd2ef095119a7195f2bebf2d8e8b1a5605aee0868152f8b5c","entrypoint":"temp-path","importSpecifier":"openclaw/plugin-sdk/temp-path"} -{"contentHash":"4519df78f420290da1fd755f7e4a7de7d09dbc934b3e17fc139aaf64896ffa06","entrypoint":"text-chunking","importSpecifier":"openclaw/plugin-sdk/text-chunking"} -{"contentHash":"c5f29e3b48cb9a92111bf565f739875a32fc3e19a009dd0bab3c27bbb71f7583","entrypoint":"text-runtime","importSpecifier":"openclaw/plugin-sdk/text-runtime"} -{"contentHash":"39bc2bdca81266a16eab23271664ad8cbffdf2fc9b7f0f1d04c98c2611c53c5d","entrypoint":"tool-plugin","importSpecifier":"openclaw/plugin-sdk/tool-plugin"} -{"contentHash":"17e58e27b06e2470908acd719f64ec2add1f117c1882adad79eb5a3b5bd74312","entrypoint":"tool-results","importSpecifier":"openclaw/plugin-sdk/tool-results"} -{"contentHash":"aabfb4eacce1bd5190b2f92189332abe7bbe3a5cea3655babe66bf1909206984","entrypoint":"tool-send","importSpecifier":"openclaw/plugin-sdk/tool-send"} -{"contentHash":"fa8effcbdf093c93d07526b1655ed5941fd277e484a55e680ad84874a8323867","entrypoint":"web-media","importSpecifier":"openclaw/plugin-sdk/web-media"} -{"contentHash":"1600c91e3364cf9bd9cceaec9403f3c96503a145620e18a30502af3b53571e4c","entrypoint":"webhook-ingress","importSpecifier":"openclaw/plugin-sdk/webhook-ingress"} -{"contentHash":"1fe8314d4dfa3d7b536f39ac5622ff688f6a20fa6ae8b8fa4770d4851e85a400","entrypoint":"webhook-request-guards","importSpecifier":"openclaw/plugin-sdk/webhook-request-guards"} -{"contentHash":"6091f4048c4464103dfdf659904c6afa6e29c483b9a05c502ab3333df08f942b","entrypoint":"widget-html","importSpecifier":"openclaw/plugin-sdk/widget-html"} -{"contentHash":"eafdc7277066acf893bfef9b635689c1a69d6d5af22ad8cee2b47351d9b53ca6","entrypoint":"zod","importSpecifier":"openclaw/plugin-sdk/zod"} diff --git a/docs/.generated/plugin-sdk-api-baseline/account-core.json b/docs/.generated/plugin-sdk-api-baseline/account-core.json new file mode 100644 index 000000000000..2aca6e71c512 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/account-core.json @@ -0,0 +1 @@ +{"contentHash":"ce1dc0ef2b719f22f7978f2e4eada4c3a48d29e570d835c133506cb80bac49bf","entrypoint":"account-core","importSpecifier":"openclaw/plugin-sdk/account-core"} diff --git a/docs/.generated/plugin-sdk-api-baseline/account-helpers.json b/docs/.generated/plugin-sdk-api-baseline/account-helpers.json new file mode 100644 index 000000000000..462fbfef296b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/account-helpers.json @@ -0,0 +1 @@ +{"contentHash":"b180542bcec7d2f76ed45cbfd14f0b3e4d37a499c4e383fc0fdc87bd259ee9d3","entrypoint":"account-helpers","importSpecifier":"openclaw/plugin-sdk/account-helpers"} diff --git a/docs/.generated/plugin-sdk-api-baseline/account-id.json b/docs/.generated/plugin-sdk-api-baseline/account-id.json new file mode 100644 index 000000000000..50e74f08c78c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/account-id.json @@ -0,0 +1 @@ +{"contentHash":"0d6827cdd7180482c49dc67aacc2b512e587d3453536081c15d3febaea2f1492","entrypoint":"account-id","importSpecifier":"openclaw/plugin-sdk/account-id"} diff --git a/docs/.generated/plugin-sdk-api-baseline/account-resolution.json b/docs/.generated/plugin-sdk-api-baseline/account-resolution.json new file mode 100644 index 000000000000..bb74fd1ca9f7 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/account-resolution.json @@ -0,0 +1 @@ +{"contentHash":"0b4930a77ab3e63bed21a9651a23fb7130f623baf6ce153166cb80a965b0a004","entrypoint":"account-resolution","importSpecifier":"openclaw/plugin-sdk/account-resolution"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-config-primitives.json b/docs/.generated/plugin-sdk-api-baseline/agent-config-primitives.json new file mode 100644 index 000000000000..92084313d4fb --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-config-primitives.json @@ -0,0 +1 @@ +{"contentHash":"0349da0a93dadbdcff03ae8064b5066c5f2e1c28ee298bfa9ab3f1f8563300eb","entrypoint":"agent-config-primitives","importSpecifier":"openclaw/plugin-sdk/agent-config-primitives"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-harness-runtime.json b/docs/.generated/plugin-sdk-api-baseline/agent-harness-runtime.json new file mode 100644 index 000000000000..8662605eaec0 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-harness-runtime.json @@ -0,0 +1 @@ +{"contentHash":"4f8b570b60781e746c19cd370d5c5967ad68047b255e81fd29d0dff95bfc9f3e","entrypoint":"agent-harness-runtime","importSpecifier":"openclaw/plugin-sdk/agent-harness-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-harness.json b/docs/.generated/plugin-sdk-api-baseline/agent-harness.json new file mode 100644 index 000000000000..0bb8c23913c5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-harness.json @@ -0,0 +1 @@ +{"contentHash":"bf900891a3c6ee746fdf5033882e8ca88bc03ae0b2c971bb5977c0f0db506506","entrypoint":"agent-harness","importSpecifier":"openclaw/plugin-sdk/agent-harness"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-media-payload.json b/docs/.generated/plugin-sdk-api-baseline/agent-media-payload.json new file mode 100644 index 000000000000..9aeb1068e050 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-media-payload.json @@ -0,0 +1 @@ +{"contentHash":"4387e74b1261f632a0e140276c0f8cbbbe848a11f7ad287325538ebbee3b09da","entrypoint":"agent-media-payload","importSpecifier":"openclaw/plugin-sdk/agent-media-payload"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-runtime.json b/docs/.generated/plugin-sdk-api-baseline/agent-runtime.json new file mode 100644 index 000000000000..58e9df0de487 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-runtime.json @@ -0,0 +1 @@ +{"contentHash":"6fe3155f10712bc5d001f1f69e502f3e1a0b4179bb5ed7100d0ca7df933085be","entrypoint":"agent-runtime","importSpecifier":"openclaw/plugin-sdk/agent-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/agent-scope-runtime.json b/docs/.generated/plugin-sdk-api-baseline/agent-scope-runtime.json new file mode 100644 index 000000000000..02697874a15e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/agent-scope-runtime.json @@ -0,0 +1 @@ +{"contentHash":"1f0e51c8b1a58fff13ab7d19806d97bf07fca61a5c7edeb3437cd805775a8320","entrypoint":"agent-scope-runtime","importSpecifier":"openclaw/plugin-sdk/agent-scope-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/allow-from.json b/docs/.generated/plugin-sdk-api-baseline/allow-from.json new file mode 100644 index 000000000000..ef0641e077cd --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/allow-from.json @@ -0,0 +1 @@ +{"contentHash":"1f45bc7ea08bd3029e9a6bfd723f930324df2e7da79e1bd81bfb02f50c57362a","entrypoint":"allow-from","importSpecifier":"openclaw/plugin-sdk/allow-from"} diff --git a/docs/.generated/plugin-sdk-api-baseline/allowlist-config-edit.json b/docs/.generated/plugin-sdk-api-baseline/allowlist-config-edit.json new file mode 100644 index 000000000000..7d77d675b390 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/allowlist-config-edit.json @@ -0,0 +1 @@ +{"contentHash":"c19f8658d0db60b1d3eddfeae9639ca6558592d7d69c6905ab2994b4a572f25b","entrypoint":"allowlist-config-edit","importSpecifier":"openclaw/plugin-sdk/allowlist-config-edit"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-auth-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-auth-runtime.json new file mode 100644 index 000000000000..73ad15348187 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-auth-runtime.json @@ -0,0 +1 @@ +{"contentHash":"2800815b9a0dac84fccd0b946bc938ba31ba3915990b899b0ebce3b80744ed47","entrypoint":"approval-auth-runtime","importSpecifier":"openclaw/plugin-sdk/approval-auth-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-client-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-client-runtime.json new file mode 100644 index 000000000000..984172fea87d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-client-runtime.json @@ -0,0 +1 @@ +{"contentHash":"6fef2bb5627a1f9de6bad01c0ba0d15a4fb64a0f3310c26f1c2cbce67088516c","entrypoint":"approval-client-runtime","importSpecifier":"openclaw/plugin-sdk/approval-client-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-delivery-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-delivery-runtime.json new file mode 100644 index 000000000000..577573875150 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-delivery-runtime.json @@ -0,0 +1 @@ +{"contentHash":"eff85a45e6aed540bfd1ab71c4bf9bc6bf25a90c7010eef24948dc62bd3287b2","entrypoint":"approval-delivery-runtime","importSpecifier":"openclaw/plugin-sdk/approval-delivery-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-gateway-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-gateway-runtime.json new file mode 100644 index 000000000000..c73d1f78aa85 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-gateway-runtime.json @@ -0,0 +1 @@ +{"contentHash":"032d42ec6f1452f716773f7cd6e49693b5804264e34f4aad028a2b14bb49c5eb","entrypoint":"approval-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/approval-gateway-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-handler-adapter-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-handler-adapter-runtime.json new file mode 100644 index 000000000000..a2ba59c230cb --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-handler-adapter-runtime.json @@ -0,0 +1 @@ +{"contentHash":"a1f10c22e4c909d954f93b7e361313d50afa83b88478f417a1c8780affb682f2","entrypoint":"approval-handler-adapter-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-adapter-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-handler-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-handler-runtime.json new file mode 100644 index 000000000000..a20b0f77d581 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-handler-runtime.json @@ -0,0 +1 @@ +{"contentHash":"7729bb20d4934e9e8ed18c2b4583e3d2d825f7c646db16b70f00481f3558c1ba","entrypoint":"approval-handler-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-native-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-native-runtime.json new file mode 100644 index 000000000000..4e4e736c383f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-native-runtime.json @@ -0,0 +1 @@ +{"contentHash":"b084bfaa66fb2fe254d24100c259b20059a7b5b8711cd8d762faf08368661459","entrypoint":"approval-native-runtime","importSpecifier":"openclaw/plugin-sdk/approval-native-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-reply-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-reply-runtime.json new file mode 100644 index 000000000000..cc5e4f1d1122 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-reply-runtime.json @@ -0,0 +1 @@ +{"contentHash":"db7b0d7c8d89812b9f8ffd7d09c21a839177450fa1c75064b92a9a8a736ed4e0","entrypoint":"approval-reply-runtime","importSpecifier":"openclaw/plugin-sdk/approval-reply-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/approval-runtime.json b/docs/.generated/plugin-sdk-api-baseline/approval-runtime.json new file mode 100644 index 000000000000..880d8593d77b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/approval-runtime.json @@ -0,0 +1 @@ +{"contentHash":"e914511f42b05da3103d12b565dbe6317f147663b60845337f6f0f3dec2b6dfb","entrypoint":"approval-runtime","importSpecifier":"openclaw/plugin-sdk/approval-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/archive.json b/docs/.generated/plugin-sdk-api-baseline/archive.json new file mode 100644 index 000000000000..f9a0eebd3b7f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/archive.json @@ -0,0 +1 @@ +{"contentHash":"7f9135d4ea9e3f53ed16bc51c0e44525fdd8907e5824309492a489a35761c25d","entrypoint":"archive","importSpecifier":"openclaw/plugin-sdk/archive"} diff --git a/docs/.generated/plugin-sdk-api-baseline/boolean-param.json b/docs/.generated/plugin-sdk-api-baseline/boolean-param.json new file mode 100644 index 000000000000..94f7bf6ce8bf --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/boolean-param.json @@ -0,0 +1 @@ +{"contentHash":"d87a0eb6bae1b95fa645e77b5b9a81eb6cfdad9c469ae365ccd74b26f750166f","entrypoint":"boolean-param","importSpecifier":"openclaw/plugin-sdk/boolean-param"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-actions.json b/docs/.generated/plugin-sdk-api-baseline/channel-actions.json new file mode 100644 index 000000000000..e249ffd628de --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-actions.json @@ -0,0 +1 @@ +{"contentHash":"8dbe8fc49378a684c4d52a991da9f27bdb85bb080530fdce1957bfd5c5687724","entrypoint":"channel-actions","importSpecifier":"openclaw/plugin-sdk/channel-actions"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-config-helpers.json b/docs/.generated/plugin-sdk-api-baseline/channel-config-helpers.json new file mode 100644 index 000000000000..4db355a1e172 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-config-helpers.json @@ -0,0 +1 @@ +{"contentHash":"5998386ad8e299f9080382e5a982bb96ab9f35d3849ecb6de730df8c63044a77","entrypoint":"channel-config-helpers","importSpecifier":"openclaw/plugin-sdk/channel-config-helpers"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-config-primitives.json b/docs/.generated/plugin-sdk-api-baseline/channel-config-primitives.json new file mode 100644 index 000000000000..bcb3171d9ace --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-config-primitives.json @@ -0,0 +1 @@ +{"contentHash":"222019df4c06aca4e9bbede0fdea4b946f9b024a1524e3837c3c13be6d3d9e6a","entrypoint":"channel-config-primitives","importSpecifier":"openclaw/plugin-sdk/channel-config-primitives"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-config-schema.json b/docs/.generated/plugin-sdk-api-baseline/channel-config-schema.json new file mode 100644 index 000000000000..8156472ecd0e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-config-schema.json @@ -0,0 +1 @@ +{"contentHash":"645ec473e40a04e4cc627d05c9156f66d835eb67dab32166f745f66eadc98880","entrypoint":"channel-config-schema","importSpecifier":"openclaw/plugin-sdk/channel-config-schema"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-contract.json b/docs/.generated/plugin-sdk-api-baseline/channel-contract.json new file mode 100644 index 000000000000..beab1506f6ca --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-contract.json @@ -0,0 +1 @@ +{"contentHash":"75935c1d837265d191436d43bbfe24c6328b35a45a68cad250c157923badf857","entrypoint":"channel-contract","importSpecifier":"openclaw/plugin-sdk/channel-contract"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-core.json b/docs/.generated/plugin-sdk-api-baseline/channel-core.json new file mode 100644 index 000000000000..db59d8e3a75e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-core.json @@ -0,0 +1 @@ +{"contentHash":"28666b0cf5d0bdf28648baffffcf1239e4d27727408c785fa06f5c271fc0843a","entrypoint":"channel-core","importSpecifier":"openclaw/plugin-sdk/channel-core"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-dm-policy.json b/docs/.generated/plugin-sdk-api-baseline/channel-dm-policy.json new file mode 100644 index 000000000000..b2eb3eb06988 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-dm-policy.json @@ -0,0 +1 @@ +{"contentHash":"b2d90f161ca88ef2d5ff35f87f160c772bd784a4ebda91b2ab33bf16b6abd843","entrypoint":"channel-dm-policy","importSpecifier":"openclaw/plugin-sdk/channel-dm-policy"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-entry-contract.json b/docs/.generated/plugin-sdk-api-baseline/channel-entry-contract.json new file mode 100644 index 000000000000..ac6f25b32791 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-entry-contract.json @@ -0,0 +1 @@ +{"contentHash":"49a549e6a39d55279ecafe650e7e00496ebd6da5266cb11e486f5ee19f53b4c1","entrypoint":"channel-entry-contract","importSpecifier":"openclaw/plugin-sdk/channel-entry-contract"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-feedback.json b/docs/.generated/plugin-sdk-api-baseline/channel-feedback.json new file mode 100644 index 000000000000..b736b84ee352 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-feedback.json @@ -0,0 +1 @@ +{"contentHash":"8bc8b784c78a70ee58731aae0be9731c9af01705db00acbafa25de9745a23601","entrypoint":"channel-feedback","importSpecifier":"openclaw/plugin-sdk/channel-feedback"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-inbound-debounce.json b/docs/.generated/plugin-sdk-api-baseline/channel-inbound-debounce.json new file mode 100644 index 000000000000..620964135a6a --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-inbound-debounce.json @@ -0,0 +1 @@ +{"contentHash":"87ba6e4e9f2f56621f6d52cc262e8b80fada5e338e841439b4d20983e22dfb82","entrypoint":"channel-inbound-debounce","importSpecifier":"openclaw/plugin-sdk/channel-inbound-debounce"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-inbound.json b/docs/.generated/plugin-sdk-api-baseline/channel-inbound.json new file mode 100644 index 000000000000..a461dfb52537 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-inbound.json @@ -0,0 +1 @@ +{"contentHash":"99cee44d09759fdbb01bc1b50e430933c61c745ec3c7880ea7e2aa63b382c673","entrypoint":"channel-inbound","importSpecifier":"openclaw/plugin-sdk/channel-inbound"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-ingress-runtime.json b/docs/.generated/plugin-sdk-api-baseline/channel-ingress-runtime.json new file mode 100644 index 000000000000..a2de48cd573e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-ingress-runtime.json @@ -0,0 +1 @@ +{"contentHash":"7a69b23fdd7b631ed407d9ae4af55df192d93b61488c81626f041d4199760d95","entrypoint":"channel-ingress-runtime","importSpecifier":"openclaw/plugin-sdk/channel-ingress-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-lifecycle.json b/docs/.generated/plugin-sdk-api-baseline/channel-lifecycle.json new file mode 100644 index 000000000000..9b0362b57ae1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-lifecycle.json @@ -0,0 +1 @@ +{"contentHash":"85afc43170761c8d7d6d2d91401b0ad033189636050e8cf85d22132e4aba9f1a","entrypoint":"channel-lifecycle","importSpecifier":"openclaw/plugin-sdk/channel-lifecycle"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-logging.json b/docs/.generated/plugin-sdk-api-baseline/channel-logging.json new file mode 100644 index 000000000000..5521c25263a8 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-logging.json @@ -0,0 +1 @@ +{"contentHash":"be803c0341214a8e731f98cb7bf98654410ab1e0254d90f9f1ad9f442f70669f","entrypoint":"channel-logging","importSpecifier":"openclaw/plugin-sdk/channel-logging"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-message.json b/docs/.generated/plugin-sdk-api-baseline/channel-message.json new file mode 100644 index 000000000000..223e8998ba3f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-message.json @@ -0,0 +1 @@ +{"contentHash":"970ba9dd27f5e4d6a09b0ffec37264cdb3f745a5934e2cb8cc53eee78f2c176a","entrypoint":"channel-message","importSpecifier":"openclaw/plugin-sdk/channel-message"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-outbound.json b/docs/.generated/plugin-sdk-api-baseline/channel-outbound.json new file mode 100644 index 000000000000..8b486f113f57 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-outbound.json @@ -0,0 +1 @@ +{"contentHash":"574fa42cccdf71a38cb19a0662dacbcbd94486069f01fda496e950384897ddbf","entrypoint":"channel-outbound","importSpecifier":"openclaw/plugin-sdk/channel-outbound"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-pairing.json b/docs/.generated/plugin-sdk-api-baseline/channel-pairing.json new file mode 100644 index 000000000000..3a770226c11d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-pairing.json @@ -0,0 +1 @@ +{"contentHash":"fee97710da33e100a8987aed897be17ab3ec4ece9fa09b7eb871a90461c8fca3","entrypoint":"channel-pairing","importSpecifier":"openclaw/plugin-sdk/channel-pairing"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-plugin-common.json b/docs/.generated/plugin-sdk-api-baseline/channel-plugin-common.json new file mode 100644 index 000000000000..330c3caa63af --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-plugin-common.json @@ -0,0 +1 @@ +{"contentHash":"897b21d2b152cacd699378eabe938caaee71171ec4002a3dd6dd42efabcda0f7","entrypoint":"channel-plugin-common","importSpecifier":"openclaw/plugin-sdk/channel-plugin-common"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-policy.json b/docs/.generated/plugin-sdk-api-baseline/channel-policy.json new file mode 100644 index 000000000000..4d27588c537d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-policy.json @@ -0,0 +1 @@ +{"contentHash":"350b4986aec115e3674c9dd3712302e7c185dbefc534b65a98a6a84564e65e05","entrypoint":"channel-policy","importSpecifier":"openclaw/plugin-sdk/channel-policy"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-reply-pipeline.json b/docs/.generated/plugin-sdk-api-baseline/channel-reply-pipeline.json new file mode 100644 index 000000000000..9bc98262e0b6 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-reply-pipeline.json @@ -0,0 +1 @@ +{"contentHash":"369721c067caf33fc86e50c7dd5aec3e8371d2e97e2e3c4305751b79da9e7387","entrypoint":"channel-reply-pipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-runtime-context.json b/docs/.generated/plugin-sdk-api-baseline/channel-runtime-context.json new file mode 100644 index 000000000000..f3e40e0bf5f5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-runtime-context.json @@ -0,0 +1 @@ +{"contentHash":"5181d3f1c6936e1e13a7d3ab4b904f5ae929a1985480c130915710a9bf8e8a25","entrypoint":"channel-runtime-context","importSpecifier":"openclaw/plugin-sdk/channel-runtime-context"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-secret-basic-runtime.json b/docs/.generated/plugin-sdk-api-baseline/channel-secret-basic-runtime.json new file mode 100644 index 000000000000..c6f546c70255 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-secret-basic-runtime.json @@ -0,0 +1 @@ +{"contentHash":"3b518bb516e462582e9804e7b9007af94d61a23ecd686dc92d9ca5a6d4cc18ba","entrypoint":"channel-secret-basic-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-basic-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-secret-runtime.json b/docs/.generated/plugin-sdk-api-baseline/channel-secret-runtime.json new file mode 100644 index 000000000000..2d6e735558ed --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-secret-runtime.json @@ -0,0 +1 @@ +{"contentHash":"d56dd5eb08be4b9397e8e1fa35645b26089575e67f59219760ce4aa23f99a9bd","entrypoint":"channel-secret-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-send-result.json b/docs/.generated/plugin-sdk-api-baseline/channel-send-result.json new file mode 100644 index 000000000000..4550777d0561 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-send-result.json @@ -0,0 +1 @@ +{"contentHash":"69c65bbf59545974200a7c1b9fa683b8999dc085e7a4b7985037e6c1a19a96e0","entrypoint":"channel-send-result","importSpecifier":"openclaw/plugin-sdk/channel-send-result"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-setup.json b/docs/.generated/plugin-sdk-api-baseline/channel-setup.json new file mode 100644 index 000000000000..39f861b89cfa --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-setup.json @@ -0,0 +1 @@ +{"contentHash":"d1c1b4cfacba113aee00bd641dca53d6eb1f572dddd6b6b28695ede2e8c69b38","entrypoint":"channel-setup","importSpecifier":"openclaw/plugin-sdk/channel-setup"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-status.json b/docs/.generated/plugin-sdk-api-baseline/channel-status.json new file mode 100644 index 000000000000..e4daaf6d600e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-status.json @@ -0,0 +1 @@ +{"contentHash":"647a3e0b5fa412180ee45849123ac525501ff393d44b41c35f37264d191a58bc","entrypoint":"channel-status","importSpecifier":"openclaw/plugin-sdk/channel-status"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-streaming-config.json b/docs/.generated/plugin-sdk-api-baseline/channel-streaming-config.json new file mode 100644 index 000000000000..f2e5e20d1957 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-streaming-config.json @@ -0,0 +1 @@ +{"contentHash":"fbdf8bfd360a3b6fe49afd0a954c11933affbd79e40aceff4d9e6cdfaf09b109","entrypoint":"channel-streaming-config","importSpecifier":"openclaw/plugin-sdk/channel-streaming-config"} diff --git a/docs/.generated/plugin-sdk-api-baseline/channel-streaming.json b/docs/.generated/plugin-sdk-api-baseline/channel-streaming.json new file mode 100644 index 000000000000..fb136c246ffd --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/channel-streaming.json @@ -0,0 +1 @@ +{"contentHash":"de23263a833b2d80eac0f7d7f41225ca0350a8918ae9b605d554a9400a9cfa2a","entrypoint":"channel-streaming","importSpecifier":"openclaw/plugin-sdk/channel-streaming"} diff --git a/docs/.generated/plugin-sdk-api-baseline/cli-argv.json b/docs/.generated/plugin-sdk-api-baseline/cli-argv.json new file mode 100644 index 000000000000..0b2af8df5159 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/cli-argv.json @@ -0,0 +1 @@ +{"contentHash":"095dd9fe7004a497a07ac05c89a49f96ad7c506fd6a1650a59f184e677adefd1","entrypoint":"cli-argv","importSpecifier":"openclaw/plugin-sdk/cli-argv"} diff --git a/docs/.generated/plugin-sdk-api-baseline/collection-runtime.json b/docs/.generated/plugin-sdk-api-baseline/collection-runtime.json new file mode 100644 index 000000000000..27e4e9d6eb7f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/collection-runtime.json @@ -0,0 +1 @@ +{"contentHash":"d3db39fb5496cbd8c4154f9eba2705c1df7d59d2e1ed13924f00362f9a9a4550","entrypoint":"collection-runtime","importSpecifier":"openclaw/plugin-sdk/collection-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/command-auth-native.json b/docs/.generated/plugin-sdk-api-baseline/command-auth-native.json new file mode 100644 index 000000000000..50c4ac785690 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/command-auth-native.json @@ -0,0 +1 @@ +{"contentHash":"257ad1c723f513e2346193c87c6f886fae528f048cf2d3ef1bb1dd41b74ea1bb","entrypoint":"command-auth-native","importSpecifier":"openclaw/plugin-sdk/command-auth-native"} diff --git a/docs/.generated/plugin-sdk-api-baseline/command-auth.json b/docs/.generated/plugin-sdk-api-baseline/command-auth.json new file mode 100644 index 000000000000..9cc51e49d841 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/command-auth.json @@ -0,0 +1 @@ +{"contentHash":"da6ecbd54c2a221465aa717896006354000ca530d89fa772aacd60f88b7c5d6d","entrypoint":"command-auth","importSpecifier":"openclaw/plugin-sdk/command-auth"} diff --git a/docs/.generated/plugin-sdk-api-baseline/command-detection.json b/docs/.generated/plugin-sdk-api-baseline/command-detection.json new file mode 100644 index 000000000000..6d481bad7338 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/command-detection.json @@ -0,0 +1 @@ +{"contentHash":"e95215e8075b8970ba3ec08832014cff45c6ddea219793de01f1e453de8664ed","entrypoint":"command-detection","importSpecifier":"openclaw/plugin-sdk/command-detection"} diff --git a/docs/.generated/plugin-sdk-api-baseline/command-primitives-runtime.json b/docs/.generated/plugin-sdk-api-baseline/command-primitives-runtime.json new file mode 100644 index 000000000000..66f21511c7b7 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/command-primitives-runtime.json @@ -0,0 +1 @@ +{"contentHash":"59ea4645c80f7ef61e4a25e7a2a27901e3fbf52bd0f13e09c1353f5ee95d4d69","entrypoint":"command-primitives-runtime","importSpecifier":"openclaw/plugin-sdk/command-primitives-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/command-status.json b/docs/.generated/plugin-sdk-api-baseline/command-status.json new file mode 100644 index 000000000000..af2d336a4d7d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/command-status.json @@ -0,0 +1 @@ +{"contentHash":"76208ba5171dd1ab3bc1fe54cf3deb6e1464e5478934e4c969ec6003e7e47493","entrypoint":"command-status","importSpecifier":"openclaw/plugin-sdk/command-status"} diff --git a/docs/.generated/plugin-sdk-api-baseline/config-contracts.json b/docs/.generated/plugin-sdk-api-baseline/config-contracts.json new file mode 100644 index 000000000000..5efff1340608 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/config-contracts.json @@ -0,0 +1 @@ +{"contentHash":"50a02811387aa91a8b76acd5f1283a74b97f37ace9f7e0ad7370c828b73fc0cf","entrypoint":"config-contracts","importSpecifier":"openclaw/plugin-sdk/config-contracts"} diff --git a/docs/.generated/plugin-sdk-api-baseline/config-mutation.json b/docs/.generated/plugin-sdk-api-baseline/config-mutation.json new file mode 100644 index 000000000000..a99f6a7f62eb --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/config-mutation.json @@ -0,0 +1 @@ +{"contentHash":"1deb735b023442072fe21294cf4f94af0e44356fd8591ed6a8a9befafc7c3d67","entrypoint":"config-mutation","importSpecifier":"openclaw/plugin-sdk/config-mutation"} diff --git a/docs/.generated/plugin-sdk-api-baseline/config-runtime.json b/docs/.generated/plugin-sdk-api-baseline/config-runtime.json new file mode 100644 index 000000000000..287dc47b8edc --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/config-runtime.json @@ -0,0 +1 @@ +{"contentHash":"40df7e972484ae28718fef1095b2b44cb2cc9eadd35464bf28d4ae0d0f0f66b5","entrypoint":"config-runtime","importSpecifier":"openclaw/plugin-sdk/config-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/conversation-runtime.json b/docs/.generated/plugin-sdk-api-baseline/conversation-runtime.json new file mode 100644 index 000000000000..493fb8c7ac9a --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/conversation-runtime.json @@ -0,0 +1 @@ +{"contentHash":"7a5a2f4d3e5e18d211480286d125419ecbf8175bb6f8eeee9a6ee105df03cb3f","entrypoint":"conversation-runtime","importSpecifier":"openclaw/plugin-sdk/conversation-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/core.json b/docs/.generated/plugin-sdk-api-baseline/core.json new file mode 100644 index 000000000000..382ae89272d0 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/core.json @@ -0,0 +1 @@ +{"contentHash":"db165d4f6bdb943dae0cb3015cafcb6d94d2482fff712eda98eb5442d418b095","entrypoint":"core","importSpecifier":"openclaw/plugin-sdk/core"} diff --git a/docs/.generated/plugin-sdk-api-baseline/dedupe-runtime.json b/docs/.generated/plugin-sdk-api-baseline/dedupe-runtime.json new file mode 100644 index 000000000000..19c2ef757bfe --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/dedupe-runtime.json @@ -0,0 +1 @@ +{"contentHash":"184f6a3849b361adfc9db756699787e934e274f05eeedcda04cd2b7cb4f9fe5e","entrypoint":"dedupe-runtime","importSpecifier":"openclaw/plugin-sdk/dedupe-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/device-bootstrap.json b/docs/.generated/plugin-sdk-api-baseline/device-bootstrap.json new file mode 100644 index 000000000000..47d1f714b473 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/device-bootstrap.json @@ -0,0 +1 @@ +{"contentHash":"8ba476d7f0411071797cd4362f3a71720d9d008d54107b2cb4eccb4a4eb0db0a","entrypoint":"device-bootstrap","importSpecifier":"openclaw/plugin-sdk/device-bootstrap"} diff --git a/docs/.generated/plugin-sdk-api-baseline/diagnostic-runtime.json b/docs/.generated/plugin-sdk-api-baseline/diagnostic-runtime.json new file mode 100644 index 000000000000..fc06095b1bb4 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/diagnostic-runtime.json @@ -0,0 +1 @@ +{"contentHash":"cb6fbd1612e60755c7528a5243cec69c9123904297d2e16a9c716485785be532","entrypoint":"diagnostic-runtime","importSpecifier":"openclaw/plugin-sdk/diagnostic-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/directory-runtime.json b/docs/.generated/plugin-sdk-api-baseline/directory-runtime.json new file mode 100644 index 000000000000..8a0f454fb950 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/directory-runtime.json @@ -0,0 +1 @@ +{"contentHash":"f7b6949b179827646d4e047ce4f181550ca8d67bd4537441405d36fb79438556","entrypoint":"directory-runtime","importSpecifier":"openclaw/plugin-sdk/directory-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/discord.json b/docs/.generated/plugin-sdk-api-baseline/discord.json new file mode 100644 index 000000000000..bcddf2069abb --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/discord.json @@ -0,0 +1 @@ +{"contentHash":"4b32922587dab4f465f85b7fea02e3b64d89ebea73a496501aa3c59fa7ef6337","entrypoint":"discord","importSpecifier":"openclaw/plugin-sdk/discord"} diff --git a/docs/.generated/plugin-sdk-api-baseline/error-runtime.json b/docs/.generated/plugin-sdk-api-baseline/error-runtime.json new file mode 100644 index 000000000000..feac40570c5e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/error-runtime.json @@ -0,0 +1 @@ +{"contentHash":"e0523b4936d7c7ec043265de9e2a8f6289d32dacba0a28c3999ba3a0975dfc21","entrypoint":"error-runtime","importSpecifier":"openclaw/plugin-sdk/error-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/extension-shared.json b/docs/.generated/plugin-sdk-api-baseline/extension-shared.json new file mode 100644 index 000000000000..4d53bb57add5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/extension-shared.json @@ -0,0 +1 @@ +{"contentHash":"5125d71bf8c4aeca728c4b8c73b2984247ba7bcc088a45ee29692ff64e3ebf90","entrypoint":"extension-shared","importSpecifier":"openclaw/plugin-sdk/extension-shared"} diff --git a/docs/.generated/plugin-sdk-api-baseline/gateway-method-runtime.json b/docs/.generated/plugin-sdk-api-baseline/gateway-method-runtime.json new file mode 100644 index 000000000000..629ada7f2659 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/gateway-method-runtime.json @@ -0,0 +1 @@ +{"contentHash":"cbeb81159a1e558846f3cf9eecf3fd5a84858029cfdd9ccf237af428e35e755c","entrypoint":"gateway-method-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-method-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/gateway-runtime.json b/docs/.generated/plugin-sdk-api-baseline/gateway-runtime.json new file mode 100644 index 000000000000..1a66b3460962 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/gateway-runtime.json @@ -0,0 +1 @@ +{"contentHash":"579472d01b563dae9696e37050977dfdceb51df2df05e10df3e34304d1f9baf4","entrypoint":"gateway-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/group-access.json b/docs/.generated/plugin-sdk-api-baseline/group-access.json new file mode 100644 index 000000000000..2f5a11384c9d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/group-access.json @@ -0,0 +1 @@ +{"contentHash":"c6ff5b325384c258ae96e677568d58652fe66ebc6745669a2137970154ef4b92","entrypoint":"group-access","importSpecifier":"openclaw/plugin-sdk/group-access"} diff --git a/docs/.generated/plugin-sdk-api-baseline/health.json b/docs/.generated/plugin-sdk-api-baseline/health.json new file mode 100644 index 000000000000..684be985e2b5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/health.json @@ -0,0 +1 @@ +{"contentHash":"77489d30eaa98d93c702d335f1d0324b90f0013400875038239075dabba9febe","entrypoint":"health","importSpecifier":"openclaw/plugin-sdk/health"} diff --git a/docs/.generated/plugin-sdk-api-baseline/hook-runtime.json b/docs/.generated/plugin-sdk-api-baseline/hook-runtime.json new file mode 100644 index 000000000000..8f286e02cfd5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/hook-runtime.json @@ -0,0 +1 @@ +{"contentHash":"273ebd4fcac3041e3a136410fa396b9704c73eedb66414723996127ed80db8f3","entrypoint":"hook-runtime","importSpecifier":"openclaw/plugin-sdk/hook-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/inbound-envelope.json b/docs/.generated/plugin-sdk-api-baseline/inbound-envelope.json new file mode 100644 index 000000000000..26a18b0ea856 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/inbound-envelope.json @@ -0,0 +1 @@ +{"contentHash":"a6537713e63d101897ef9ddfeaae438a50645e2672be5bdced887c4e8a651b96","entrypoint":"inbound-envelope","importSpecifier":"openclaw/plugin-sdk/inbound-envelope"} diff --git a/docs/.generated/plugin-sdk-api-baseline/inbound-event-delivery.json b/docs/.generated/plugin-sdk-api-baseline/inbound-event-delivery.json new file mode 100644 index 000000000000..39200cdec435 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/inbound-event-delivery.json @@ -0,0 +1 @@ +{"contentHash":"931a52a774750ab895236a8fa7851781ad0279cb5678b1a78e81af9dd25bb3a4","entrypoint":"inbound-event-delivery","importSpecifier":"openclaw/plugin-sdk/inbound-event-delivery"} diff --git a/docs/.generated/plugin-sdk-api-baseline/inbound-reply-dispatch.json b/docs/.generated/plugin-sdk-api-baseline/inbound-reply-dispatch.json new file mode 100644 index 000000000000..bd8498a4e797 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/inbound-reply-dispatch.json @@ -0,0 +1 @@ +{"contentHash":"c1acc4ca962cb62ae6036308b6d90c2e018420cf8b0f12594b2b876f5a5b0ca2","entrypoint":"inbound-reply-dispatch","importSpecifier":"openclaw/plugin-sdk/inbound-reply-dispatch"} diff --git a/docs/.generated/plugin-sdk-api-baseline/infra-runtime.json b/docs/.generated/plugin-sdk-api-baseline/infra-runtime.json new file mode 100644 index 000000000000..c2b37c76ce7b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/infra-runtime.json @@ -0,0 +1 @@ +{"contentHash":"b590647f65a2e148ba7a1bc207f70adbd3a57990b41d3bf6b10f61ee8f27ab87","entrypoint":"infra-runtime","importSpecifier":"openclaw/plugin-sdk/infra-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/ingress-effect-once.json b/docs/.generated/plugin-sdk-api-baseline/ingress-effect-once.json new file mode 100644 index 000000000000..1e713e090b34 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/ingress-effect-once.json @@ -0,0 +1 @@ +{"contentHash":"41a1f24a1b745f833d44e622ae1922c9dc66ee5de56f0e967ec1a3f9e03a2d18","entrypoint":"ingress-effect-once","importSpecifier":"openclaw/plugin-sdk/ingress-effect-once"} diff --git a/docs/.generated/plugin-sdk-api-baseline/interactive-runtime.json b/docs/.generated/plugin-sdk-api-baseline/interactive-runtime.json new file mode 100644 index 000000000000..52da19c36e6e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/interactive-runtime.json @@ -0,0 +1 @@ +{"contentHash":"57f79c6e8db72b2806bc8c016066682de71bf690378ccb4403b8da6dd3d38b28","entrypoint":"interactive-runtime","importSpecifier":"openclaw/plugin-sdk/interactive-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/json-store.json b/docs/.generated/plugin-sdk-api-baseline/json-store.json new file mode 100644 index 000000000000..69b67e8a903f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/json-store.json @@ -0,0 +1 @@ +{"contentHash":"e41d2b9acaec4e89bc69880d645c49c068dbbc19d0a3b247b18b891aa0ce8f39","entrypoint":"json-store","importSpecifier":"openclaw/plugin-sdk/json-store"} diff --git a/docs/.generated/plugin-sdk-api-baseline/lazy-runtime.json b/docs/.generated/plugin-sdk-api-baseline/lazy-runtime.json new file mode 100644 index 000000000000..c30a6ff8df61 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/lazy-runtime.json @@ -0,0 +1 @@ +{"contentHash":"a5a82ec1ad4813a4aa68f3872760337b4949f46e61f2a80983342adc221c22cd","entrypoint":"lazy-runtime","importSpecifier":"openclaw/plugin-sdk/lazy-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/logging-core.json b/docs/.generated/plugin-sdk-api-baseline/logging-core.json new file mode 100644 index 000000000000..d5a1cc6183d9 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/logging-core.json @@ -0,0 +1 @@ +{"contentHash":"f9661f74dd08b910a8973b64e46cb759a9a729ce76f6c10a639cd00d5282a14c","entrypoint":"logging-core","importSpecifier":"openclaw/plugin-sdk/logging-core"} diff --git a/docs/.generated/plugin-sdk-api-baseline/matrix.json b/docs/.generated/plugin-sdk-api-baseline/matrix.json new file mode 100644 index 000000000000..c70c04240d1c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/matrix.json @@ -0,0 +1 @@ +{"contentHash":"192aa90e9d1d6e1bae65abd591cd0ab6307dc2bcc7626092e48ba96a171f30f8","entrypoint":"matrix","importSpecifier":"openclaw/plugin-sdk/matrix"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-local-roots.json b/docs/.generated/plugin-sdk-api-baseline/media-local-roots.json new file mode 100644 index 000000000000..e74ab990f395 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-local-roots.json @@ -0,0 +1 @@ +{"contentHash":"dfff39cc053754e24b59df3804369afff03f3331482e26f36f2c477ba21e2ba6","entrypoint":"media-local-roots","importSpecifier":"openclaw/plugin-sdk/media-local-roots"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-mime.json b/docs/.generated/plugin-sdk-api-baseline/media-mime.json new file mode 100644 index 000000000000..3b216ab5fdd2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-mime.json @@ -0,0 +1 @@ +{"contentHash":"3192784727566bc5477256b886f4bd7dc4752e43c89c9b16082ddd0b7b997242","entrypoint":"media-mime","importSpecifier":"openclaw/plugin-sdk/media-mime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-runtime.json b/docs/.generated/plugin-sdk-api-baseline/media-runtime.json new file mode 100644 index 000000000000..be5b5a15b9f1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-runtime.json @@ -0,0 +1 @@ +{"contentHash":"2590b051b0e68c2e560aea3301e603ef3546de3862757f68a60b44ece3584933","entrypoint":"media-runtime","importSpecifier":"openclaw/plugin-sdk/media-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-store.json b/docs/.generated/plugin-sdk-api-baseline/media-store.json new file mode 100644 index 000000000000..5d950f953b4c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-store.json @@ -0,0 +1 @@ +{"contentHash":"0df97720dfd7b1a5892bbf3d46bc64297468af9b8cbb8720ce0d80d42ff2e59d","entrypoint":"media-store","importSpecifier":"openclaw/plugin-sdk/media-store"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-understanding-runtime.json b/docs/.generated/plugin-sdk-api-baseline/media-understanding-runtime.json new file mode 100644 index 000000000000..6dbd2d26abc4 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-understanding-runtime.json @@ -0,0 +1 @@ +{"contentHash":"f48e34067ab9b25a232af71d8ce17f9cbf9165ebce0832deaae3c1d9c9aeaab7","entrypoint":"media-understanding-runtime","importSpecifier":"openclaw/plugin-sdk/media-understanding-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/media-understanding.json b/docs/.generated/plugin-sdk-api-baseline/media-understanding.json new file mode 100644 index 000000000000..0ff007eceba8 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/media-understanding.json @@ -0,0 +1 @@ +{"contentHash":"684c061bb0d1112872c9b2d5a00e258d14b4ff8649a26dd0cc67995352d8ca8b","entrypoint":"media-understanding","importSpecifier":"openclaw/plugin-sdk/media-understanding"} diff --git a/docs/.generated/plugin-sdk-api-baseline/meeting-runtime.json b/docs/.generated/plugin-sdk-api-baseline/meeting-runtime.json new file mode 100644 index 000000000000..7a41c18b1de9 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/meeting-runtime.json @@ -0,0 +1 @@ +{"contentHash":"18782530d1c5bb66e086dd0177eb8ee52d152805aa68932a945fbc35178c3b03","entrypoint":"meeting-runtime","importSpecifier":"openclaw/plugin-sdk/meeting-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/memory-core-host-engine-foundation.json b/docs/.generated/plugin-sdk-api-baseline/memory-core-host-engine-foundation.json new file mode 100644 index 000000000000..1d0d71ecc38c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/memory-core-host-engine-foundation.json @@ -0,0 +1 @@ +{"contentHash":"27509d9bbabc547662a45bf258fa432d1e0c3c3f7c22051858d8a67375486e79","entrypoint":"memory-core-host-engine-foundation","importSpecifier":"openclaw/plugin-sdk/memory-core-host-engine-foundation"} diff --git a/docs/.generated/plugin-sdk-api-baseline/memory-host-core.json b/docs/.generated/plugin-sdk-api-baseline/memory-host-core.json new file mode 100644 index 000000000000..4664c99b668c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/memory-host-core.json @@ -0,0 +1 @@ +{"contentHash":"ad875662e95df74808357c234ac36825d1ff729165da941180061591525ff47f","entrypoint":"memory-host-core","importSpecifier":"openclaw/plugin-sdk/memory-host-core"} diff --git a/docs/.generated/plugin-sdk-api-baseline/messaging-targets.json b/docs/.generated/plugin-sdk-api-baseline/messaging-targets.json new file mode 100644 index 000000000000..163deafe224d --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/messaging-targets.json @@ -0,0 +1 @@ +{"contentHash":"0f140018c2c21965b6a8f7a2ac1882babcaf70e733b477bb693e498641629938","entrypoint":"messaging-targets","importSpecifier":"openclaw/plugin-sdk/messaging-targets"} diff --git a/docs/.generated/plugin-sdk-api-baseline/model-session-runtime.json b/docs/.generated/plugin-sdk-api-baseline/model-session-runtime.json new file mode 100644 index 000000000000..1cedfab0d773 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/model-session-runtime.json @@ -0,0 +1 @@ +{"contentHash":"c066691f6e408c7dff36c7f34db64be4166cf59e43ec65ea13924907a351033b","entrypoint":"model-session-runtime","importSpecifier":"openclaw/plugin-sdk/model-session-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/models-provider-runtime.json b/docs/.generated/plugin-sdk-api-baseline/models-provider-runtime.json new file mode 100644 index 000000000000..9e1f7413faaf --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/models-provider-runtime.json @@ -0,0 +1 @@ +{"contentHash":"dc17bbd6a4f64c5f1a73efe1195ce44ae2320734d40843de9be64c302ec46885","entrypoint":"models-provider-runtime","importSpecifier":"openclaw/plugin-sdk/models-provider-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/native-command-config-runtime.json b/docs/.generated/plugin-sdk-api-baseline/native-command-config-runtime.json new file mode 100644 index 000000000000..9bd23fa2a7b2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/native-command-config-runtime.json @@ -0,0 +1 @@ +{"contentHash":"6c5c89c48ffb76d7e9950ddfa7088f036a54382ac29fb0dff9faa62be2c86c6f","entrypoint":"native-command-config-runtime","importSpecifier":"openclaw/plugin-sdk/native-command-config-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/native-command-registry.json b/docs/.generated/plugin-sdk-api-baseline/native-command-registry.json new file mode 100644 index 000000000000..963945af52d1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/native-command-registry.json @@ -0,0 +1 @@ +{"contentHash":"8a276ed1d2e13e6371a653b8a9ffffdb6a018635dc69d48d3a7e46a2c40bd955","entrypoint":"native-command-registry","importSpecifier":"openclaw/plugin-sdk/native-command-registry"} diff --git a/docs/.generated/plugin-sdk-api-baseline/param-readers.json b/docs/.generated/plugin-sdk-api-baseline/param-readers.json new file mode 100644 index 000000000000..1fb9629f539f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/param-readers.json @@ -0,0 +1 @@ +{"contentHash":"f404b138fa09f066b3383c1e07e3f4755211b3e42ac2f49c90a370b23ad14bbd","entrypoint":"param-readers","importSpecifier":"openclaw/plugin-sdk/param-readers"} diff --git a/docs/.generated/plugin-sdk-api-baseline/persistent-dedupe.json b/docs/.generated/plugin-sdk-api-baseline/persistent-dedupe.json new file mode 100644 index 000000000000..6b211458b8e5 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/persistent-dedupe.json @@ -0,0 +1 @@ +{"contentHash":"3b2106094ccada38a6736f39abbb5814e776638cdb7f1f6d065576e6f8a2d3b6","entrypoint":"persistent-dedupe","importSpecifier":"openclaw/plugin-sdk/persistent-dedupe"} diff --git a/docs/.generated/plugin-sdk-api-baseline/plugin-command-runtime.json b/docs/.generated/plugin-sdk-api-baseline/plugin-command-runtime.json new file mode 100644 index 000000000000..f51145ad70ab --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/plugin-command-runtime.json @@ -0,0 +1 @@ +{"contentHash":"e43fcfe8f88cf8d338c3e3496f3bdd6ec14afc1fcf341e171f7758f5c0190d5b","entrypoint":"plugin-command-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-command-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/plugin-config-runtime.json b/docs/.generated/plugin-sdk-api-baseline/plugin-config-runtime.json new file mode 100644 index 000000000000..78d28306070c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/plugin-config-runtime.json @@ -0,0 +1 @@ +{"contentHash":"756175b7ff16cd8456b3c85a87466f077476a9236e098c5545ea8ef31fcff0d2","entrypoint":"plugin-config-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-config-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/plugin-entry.json b/docs/.generated/plugin-sdk-api-baseline/plugin-entry.json new file mode 100644 index 000000000000..5c6de3320dcf --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/plugin-entry.json @@ -0,0 +1 @@ +{"contentHash":"3f92b4ce6954e9bbe85a7675f7ad000e01e6b34049523a9a3e38d23966ad959a","entrypoint":"plugin-entry","importSpecifier":"openclaw/plugin-sdk/plugin-entry"} diff --git a/docs/.generated/plugin-sdk-api-baseline/plugin-runtime.json b/docs/.generated/plugin-sdk-api-baseline/plugin-runtime.json new file mode 100644 index 000000000000..94915801c751 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/plugin-runtime.json @@ -0,0 +1 @@ +{"contentHash":"60b7d6caebf369d35a367e431f77eb3f7e5437870ef1da5f024ea8c71217b1cb","entrypoint":"plugin-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/provider-auth.json b/docs/.generated/plugin-sdk-api-baseline/provider-auth.json new file mode 100644 index 000000000000..7b0379d59b9a --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/provider-auth.json @@ -0,0 +1 @@ +{"contentHash":"d5d21f2a0883eac72d6642d93306c36e2de0f3851286eb3edbe3a2d9d6122dcc","entrypoint":"provider-auth","importSpecifier":"openclaw/plugin-sdk/provider-auth"} diff --git a/docs/.generated/plugin-sdk-api-baseline/provider-catalog-runtime.json b/docs/.generated/plugin-sdk-api-baseline/provider-catalog-runtime.json new file mode 100644 index 000000000000..d701478c5238 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/provider-catalog-runtime.json @@ -0,0 +1 @@ +{"contentHash":"36aad63a3fda1116df864fcdaa3c26d2c0d7af809603d3d4afaf96dcccdd8391","entrypoint":"provider-catalog-runtime","importSpecifier":"openclaw/plugin-sdk/provider-catalog-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/proxy-capture.json b/docs/.generated/plugin-sdk-api-baseline/proxy-capture.json new file mode 100644 index 000000000000..f4739cf5015e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/proxy-capture.json @@ -0,0 +1 @@ +{"contentHash":"aee2a235e7218ed4ba36e80e0a6d67ceb3b5de448f25ebc10d6f70552dc35b8a","entrypoint":"proxy-capture","importSpecifier":"openclaw/plugin-sdk/proxy-capture"} diff --git a/docs/.generated/plugin-sdk-api-baseline/question-gateway-runtime.json b/docs/.generated/plugin-sdk-api-baseline/question-gateway-runtime.json new file mode 100644 index 000000000000..b903ffc56cee --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/question-gateway-runtime.json @@ -0,0 +1 @@ +{"contentHash":"55bc0be5ce1d700d8b671efccb69ec14a3c942535c2f77d3ed7ca87809dc1ad9","entrypoint":"question-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/question-gateway-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/reply-chunking.json b/docs/.generated/plugin-sdk-api-baseline/reply-chunking.json new file mode 100644 index 000000000000..53a8c69ca995 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/reply-chunking.json @@ -0,0 +1 @@ +{"contentHash":"5263836c817c9391fd5a0efdda50552330dd01e4d6bc9cb4ebba58627c48f098","entrypoint":"reply-chunking","importSpecifier":"openclaw/plugin-sdk/reply-chunking"} diff --git a/docs/.generated/plugin-sdk-api-baseline/reply-dispatch-runtime.json b/docs/.generated/plugin-sdk-api-baseline/reply-dispatch-runtime.json new file mode 100644 index 000000000000..e16e78fc80c2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/reply-dispatch-runtime.json @@ -0,0 +1 @@ +{"contentHash":"2ffe953c6f47f15c3357af51a34385942165158724ccf4d0a272a7c060f9a2d9","entrypoint":"reply-dispatch-runtime","importSpecifier":"openclaw/plugin-sdk/reply-dispatch-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/reply-history.json b/docs/.generated/plugin-sdk-api-baseline/reply-history.json new file mode 100644 index 000000000000..48e37f35dd9e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/reply-history.json @@ -0,0 +1 @@ +{"contentHash":"0a7b62b1cfdf15c5d397be2ee951eb991e61712cf331f353faf21b5355863cf1","entrypoint":"reply-history","importSpecifier":"openclaw/plugin-sdk/reply-history"} diff --git a/docs/.generated/plugin-sdk-api-baseline/reply-payload.json b/docs/.generated/plugin-sdk-api-baseline/reply-payload.json new file mode 100644 index 000000000000..f9bca1358a5c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/reply-payload.json @@ -0,0 +1 @@ +{"contentHash":"369a0c223cba73be174d9a7ada6dcebff739b15c71c34f767e761b57af667723","entrypoint":"reply-payload","importSpecifier":"openclaw/plugin-sdk/reply-payload"} diff --git a/docs/.generated/plugin-sdk-api-baseline/reply-runtime.json b/docs/.generated/plugin-sdk-api-baseline/reply-runtime.json new file mode 100644 index 000000000000..c0da16c512d1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/reply-runtime.json @@ -0,0 +1 @@ +{"contentHash":"ca4c1916f393a407fb4f5ad3a0fedc4bc66a8f87f1f38806ffb22928f2b57a2e","entrypoint":"reply-runtime","importSpecifier":"openclaw/plugin-sdk/reply-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/root-walk.json b/docs/.generated/plugin-sdk-api-baseline/root-walk.json new file mode 100644 index 000000000000..c1b7fe35e20a --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/root-walk.json @@ -0,0 +1 @@ +{"contentHash":"91ade8da7db7cd2b9cbafcbf307338fbd0d656ac8a31d10c38cab23a916840b8","entrypoint":"root-walk","importSpecifier":"openclaw/plugin-sdk/root-walk"} diff --git a/docs/.generated/plugin-sdk-api-baseline/routing.json b/docs/.generated/plugin-sdk-api-baseline/routing.json new file mode 100644 index 000000000000..00c42dc0cae8 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/routing.json @@ -0,0 +1 @@ +{"contentHash":"ad853e4f7e257b2a206f8e3a551b9e50f36a020db1fd36de65c121bcf24a6d5e","entrypoint":"routing","importSpecifier":"openclaw/plugin-sdk/routing"} diff --git a/docs/.generated/plugin-sdk-api-baseline/run-command.json b/docs/.generated/plugin-sdk-api-baseline/run-command.json new file mode 100644 index 000000000000..484d811280ec --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/run-command.json @@ -0,0 +1 @@ +{"contentHash":"c10788e36c8343600186fe9aadf84eb977e1686cb29e7ee0a581d033b8dfc7e5","entrypoint":"run-command","importSpecifier":"openclaw/plugin-sdk/run-command"} diff --git a/docs/.generated/plugin-sdk-api-baseline/runtime-config-snapshot.json b/docs/.generated/plugin-sdk-api-baseline/runtime-config-snapshot.json new file mode 100644 index 000000000000..97f0c27914e4 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/runtime-config-snapshot.json @@ -0,0 +1 @@ +{"contentHash":"4e9f778169c4e2363dfa5d2f42b5fef117423f0a0bf84b98226e6f75a2a19ce0","entrypoint":"runtime-config-snapshot","importSpecifier":"openclaw/plugin-sdk/runtime-config-snapshot"} diff --git a/docs/.generated/plugin-sdk-api-baseline/runtime-env.json b/docs/.generated/plugin-sdk-api-baseline/runtime-env.json new file mode 100644 index 000000000000..99dbe6874032 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/runtime-env.json @@ -0,0 +1 @@ +{"contentHash":"427c41fc7a1c238d40c8eab9c9cb8f5991f4d7ee14780a2b4568425979c45649","entrypoint":"runtime-env","importSpecifier":"openclaw/plugin-sdk/runtime-env"} diff --git a/docs/.generated/plugin-sdk-api-baseline/runtime-group-policy.json b/docs/.generated/plugin-sdk-api-baseline/runtime-group-policy.json new file mode 100644 index 000000000000..cfe4660d83f2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/runtime-group-policy.json @@ -0,0 +1 @@ +{"contentHash":"478d5a75cb091dcca9af0ce5068517fb3d466369c25c316e77999189f878bfcd","entrypoint":"runtime-group-policy","importSpecifier":"openclaw/plugin-sdk/runtime-group-policy"} diff --git a/docs/.generated/plugin-sdk-api-baseline/runtime-store.json b/docs/.generated/plugin-sdk-api-baseline/runtime-store.json new file mode 100644 index 000000000000..a900a0249777 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/runtime-store.json @@ -0,0 +1 @@ +{"contentHash":"64e6bc07bb893d607cc4a194f85cbeedee23ec448edd40eb6e2757a9249ec4e0","entrypoint":"runtime-store","importSpecifier":"openclaw/plugin-sdk/runtime-store"} diff --git a/docs/.generated/plugin-sdk-api-baseline/runtime.json b/docs/.generated/plugin-sdk-api-baseline/runtime.json new file mode 100644 index 000000000000..7f4818908d22 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/runtime.json @@ -0,0 +1 @@ +{"contentHash":"583a581e90003aa4c1f8f0d5e53bde6fad3b795d7006da72c492f56ecacf910e","entrypoint":"runtime","importSpecifier":"openclaw/plugin-sdk/runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/secret-file.json b/docs/.generated/plugin-sdk-api-baseline/secret-file.json new file mode 100644 index 000000000000..e72d3d35c90e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/secret-file.json @@ -0,0 +1 @@ +{"contentHash":"38781f0049e35aa9451c2b3c351eed102495cd22f002d2cb827ff23d6d4924e0","entrypoint":"secret-file","importSpecifier":"openclaw/plugin-sdk/secret-file"} diff --git a/docs/.generated/plugin-sdk-api-baseline/secret-input-runtime.json b/docs/.generated/plugin-sdk-api-baseline/secret-input-runtime.json new file mode 100644 index 000000000000..095e83609bf1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/secret-input-runtime.json @@ -0,0 +1 @@ +{"contentHash":"48269c5717a644527b7fc69f267ca5c578860b9611910d8938352a26aa567aed","entrypoint":"secret-input-runtime","importSpecifier":"openclaw/plugin-sdk/secret-input-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/secret-input.json b/docs/.generated/plugin-sdk-api-baseline/secret-input.json new file mode 100644 index 000000000000..2297731ec697 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/secret-input.json @@ -0,0 +1 @@ +{"contentHash":"282b75c04af48ca34b30ac2f43f602f38ca0d6f60d7369690cae7c651090ba81","entrypoint":"secret-input","importSpecifier":"openclaw/plugin-sdk/secret-input"} diff --git a/docs/.generated/plugin-sdk-api-baseline/secret-ref-runtime.json b/docs/.generated/plugin-sdk-api-baseline/secret-ref-runtime.json new file mode 100644 index 000000000000..fa942077b3e1 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/secret-ref-runtime.json @@ -0,0 +1 @@ +{"contentHash":"05ef79413285ad9a4f8a07bb8f26012098dbb73458b4d90c1990b744a6b4677c","entrypoint":"secret-ref-runtime","importSpecifier":"openclaw/plugin-sdk/secret-ref-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/security-runtime.json b/docs/.generated/plugin-sdk-api-baseline/security-runtime.json new file mode 100644 index 000000000000..2827ef3e7495 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/security-runtime.json @@ -0,0 +1 @@ +{"contentHash":"e76844c24ad8fff2b28d960f764f6485ceb295cf139e79f453ff81e586311209","entrypoint":"security-runtime","importSpecifier":"openclaw/plugin-sdk/security-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/session-catalog.json b/docs/.generated/plugin-sdk-api-baseline/session-catalog.json new file mode 100644 index 000000000000..0b1715d833bf --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/session-catalog.json @@ -0,0 +1 @@ +{"contentHash":"c6fb826551fd871ce2a2227ab734aa19296a590666f4a5a52d6ce2761a06fcbe","entrypoint":"session-catalog","importSpecifier":"openclaw/plugin-sdk/session-catalog"} diff --git a/docs/.generated/plugin-sdk-api-baseline/session-discussion.json b/docs/.generated/plugin-sdk-api-baseline/session-discussion.json new file mode 100644 index 000000000000..de89627577b6 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/session-discussion.json @@ -0,0 +1 @@ +{"contentHash":"fc930f917790f90cde187615a3f637b3c0f0f1e2e3d272ca825845da8af721fd","entrypoint":"session-discussion","importSpecifier":"openclaw/plugin-sdk/session-discussion"} diff --git a/docs/.generated/plugin-sdk-api-baseline/session-store-runtime.json b/docs/.generated/plugin-sdk-api-baseline/session-store-runtime.json new file mode 100644 index 000000000000..a71a18e77449 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/session-store-runtime.json @@ -0,0 +1 @@ +{"contentHash":"4626133e56c25b82d2e014f3f0e6fa2862162d603cfe57fd208f0b8d4ce89a3e","entrypoint":"session-store-runtime","importSpecifier":"openclaw/plugin-sdk/session-store-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/setup-runtime.json b/docs/.generated/plugin-sdk-api-baseline/setup-runtime.json new file mode 100644 index 000000000000..d7510f424e27 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/setup-runtime.json @@ -0,0 +1 @@ +{"contentHash":"795d413433bdcf36a9b05cd51a029cbf5f38b8f54d488b63e3f2c80ae6eb1999","entrypoint":"setup-runtime","importSpecifier":"openclaw/plugin-sdk/setup-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/setup-tools.json b/docs/.generated/plugin-sdk-api-baseline/setup-tools.json new file mode 100644 index 000000000000..0fd79670c51c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/setup-tools.json @@ -0,0 +1 @@ +{"contentHash":"998876bc908a1266d2cde0e5442e90db253371331a8cb3d79f403ce0fbd7b098","entrypoint":"setup-tools","importSpecifier":"openclaw/plugin-sdk/setup-tools"} diff --git a/docs/.generated/plugin-sdk-api-baseline/setup.json b/docs/.generated/plugin-sdk-api-baseline/setup.json new file mode 100644 index 000000000000..0fe9b523fe73 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/setup.json @@ -0,0 +1 @@ +{"contentHash":"1ba2b9af6b0760fc93faf00ed89a62050454e28b8b09672b3fa963940b88f0ee","entrypoint":"setup","importSpecifier":"openclaw/plugin-sdk/setup"} diff --git a/docs/.generated/plugin-sdk-api-baseline/skill-commands-runtime.json b/docs/.generated/plugin-sdk-api-baseline/skill-commands-runtime.json new file mode 100644 index 000000000000..8715d066ab29 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/skill-commands-runtime.json @@ -0,0 +1 @@ +{"contentHash":"76deac46f52eb2897b0573f3c360257c5e8a2aeb62e2b1134d7c3594c95c43ba","entrypoint":"skill-commands-runtime","importSpecifier":"openclaw/plugin-sdk/skill-commands-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/speech-settings.json b/docs/.generated/plugin-sdk-api-baseline/speech-settings.json new file mode 100644 index 000000000000..0c3e6422b661 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/speech-settings.json @@ -0,0 +1 @@ +{"contentHash":"018c910329ce5d5a988ebbce0cb28e4f18d5ec08f11a3b34572ef340e8e1f29d","entrypoint":"speech-settings","importSpecifier":"openclaw/plugin-sdk/speech-settings"} diff --git a/docs/.generated/plugin-sdk-api-baseline/ssrf-policy.json b/docs/.generated/plugin-sdk-api-baseline/ssrf-policy.json new file mode 100644 index 000000000000..2ad15be1979b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/ssrf-policy.json @@ -0,0 +1 @@ +{"contentHash":"6d24516dfcfd36852bf649ff05e0e5bb38fa874a168788ce94beadeb1e349653","entrypoint":"ssrf-policy","importSpecifier":"openclaw/plugin-sdk/ssrf-policy"} diff --git a/docs/.generated/plugin-sdk-api-baseline/ssrf-runtime.json b/docs/.generated/plugin-sdk-api-baseline/ssrf-runtime.json new file mode 100644 index 000000000000..2704e1c0d7b6 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/ssrf-runtime.json @@ -0,0 +1 @@ +{"contentHash":"faf8c3ca03beab979f980d7c24ddb5a2725ed05ba4e3ef477263ec4027e8559a","entrypoint":"ssrf-runtime","importSpecifier":"openclaw/plugin-sdk/ssrf-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/state-paths.json b/docs/.generated/plugin-sdk-api-baseline/state-paths.json new file mode 100644 index 000000000000..0efa3a56835f --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/state-paths.json @@ -0,0 +1 @@ +{"contentHash":"9901f9b75b09cb4975595e9eb4464f807bbb3387ce67a98144254d1c75cd4243","entrypoint":"state-paths","importSpecifier":"openclaw/plugin-sdk/state-paths"} diff --git a/docs/.generated/plugin-sdk-api-baseline/status-helpers.json b/docs/.generated/plugin-sdk-api-baseline/status-helpers.json new file mode 100644 index 000000000000..7860ba128ab0 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/status-helpers.json @@ -0,0 +1 @@ +{"contentHash":"85010b862301bcaac7c6f17b14c7cee6e192e524ec4898ed96774693dab73a4c","entrypoint":"status-helpers","importSpecifier":"openclaw/plugin-sdk/status-helpers"} diff --git a/docs/.generated/plugin-sdk-api-baseline/string-coerce-runtime.json b/docs/.generated/plugin-sdk-api-baseline/string-coerce-runtime.json new file mode 100644 index 000000000000..fb12b398ad45 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/string-coerce-runtime.json @@ -0,0 +1 @@ +{"contentHash":"e7d1347fa4d9bbc2715c95473eada52b6637ff538946e52f3cfd8ef2bf4cdc7c","entrypoint":"string-coerce-runtime","importSpecifier":"openclaw/plugin-sdk/string-coerce-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/telegram-account.json b/docs/.generated/plugin-sdk-api-baseline/telegram-account.json new file mode 100644 index 000000000000..ff30c1d97a3c --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/telegram-account.json @@ -0,0 +1 @@ +{"contentHash":"27d2aa201b0e36f656d2f87a491a3e44b871f53ffc344da1caf1a89241dc59e4","entrypoint":"telegram-account","importSpecifier":"openclaw/plugin-sdk/telegram-account"} diff --git a/docs/.generated/plugin-sdk-api-baseline/temp-path.json b/docs/.generated/plugin-sdk-api-baseline/temp-path.json new file mode 100644 index 000000000000..93024a42fbfd --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/temp-path.json @@ -0,0 +1 @@ +{"contentHash":"09957526abf9619fd2ef095119a7195f2bebf2d8e8b1a5605aee0868152f8b5c","entrypoint":"temp-path","importSpecifier":"openclaw/plugin-sdk/temp-path"} diff --git a/docs/.generated/plugin-sdk-api-baseline/text-chunking.json b/docs/.generated/plugin-sdk-api-baseline/text-chunking.json new file mode 100644 index 000000000000..14decf3925e2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/text-chunking.json @@ -0,0 +1 @@ +{"contentHash":"4519df78f420290da1fd755f7e4a7de7d09dbc934b3e17fc139aaf64896ffa06","entrypoint":"text-chunking","importSpecifier":"openclaw/plugin-sdk/text-chunking"} diff --git a/docs/.generated/plugin-sdk-api-baseline/text-runtime.json b/docs/.generated/plugin-sdk-api-baseline/text-runtime.json new file mode 100644 index 000000000000..15dd77047eb2 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/text-runtime.json @@ -0,0 +1 @@ +{"contentHash":"c5f29e3b48cb9a92111bf565f739875a32fc3e19a009dd0bab3c27bbb71f7583","entrypoint":"text-runtime","importSpecifier":"openclaw/plugin-sdk/text-runtime"} diff --git a/docs/.generated/plugin-sdk-api-baseline/tool-plugin.json b/docs/.generated/plugin-sdk-api-baseline/tool-plugin.json new file mode 100644 index 000000000000..3fcfbe8cd172 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/tool-plugin.json @@ -0,0 +1 @@ +{"contentHash":"39bc2bdca81266a16eab23271664ad8cbffdf2fc9b7f0f1d04c98c2611c53c5d","entrypoint":"tool-plugin","importSpecifier":"openclaw/plugin-sdk/tool-plugin"} diff --git a/docs/.generated/plugin-sdk-api-baseline/tool-results.json b/docs/.generated/plugin-sdk-api-baseline/tool-results.json new file mode 100644 index 000000000000..377a977e052b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/tool-results.json @@ -0,0 +1 @@ +{"contentHash":"17e58e27b06e2470908acd719f64ec2add1f117c1882adad79eb5a3b5bd74312","entrypoint":"tool-results","importSpecifier":"openclaw/plugin-sdk/tool-results"} diff --git a/docs/.generated/plugin-sdk-api-baseline/tool-send.json b/docs/.generated/plugin-sdk-api-baseline/tool-send.json new file mode 100644 index 000000000000..cb2429a5a341 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/tool-send.json @@ -0,0 +1 @@ +{"contentHash":"aabfb4eacce1bd5190b2f92189332abe7bbe3a5cea3655babe66bf1909206984","entrypoint":"tool-send","importSpecifier":"openclaw/plugin-sdk/tool-send"} diff --git a/docs/.generated/plugin-sdk-api-baseline/web-media.json b/docs/.generated/plugin-sdk-api-baseline/web-media.json new file mode 100644 index 000000000000..a5c2bc802386 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/web-media.json @@ -0,0 +1 @@ +{"contentHash":"fa8effcbdf093c93d07526b1655ed5941fd277e484a55e680ad84874a8323867","entrypoint":"web-media","importSpecifier":"openclaw/plugin-sdk/web-media"} diff --git a/docs/.generated/plugin-sdk-api-baseline/webhook-ingress.json b/docs/.generated/plugin-sdk-api-baseline/webhook-ingress.json new file mode 100644 index 000000000000..dab252bbcbc0 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/webhook-ingress.json @@ -0,0 +1 @@ +{"contentHash":"1600c91e3364cf9bd9cceaec9403f3c96503a145620e18a30502af3b53571e4c","entrypoint":"webhook-ingress","importSpecifier":"openclaw/plugin-sdk/webhook-ingress"} diff --git a/docs/.generated/plugin-sdk-api-baseline/webhook-request-guards.json b/docs/.generated/plugin-sdk-api-baseline/webhook-request-guards.json new file mode 100644 index 000000000000..f38bde5e8e8b --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/webhook-request-guards.json @@ -0,0 +1 @@ +{"contentHash":"1fe8314d4dfa3d7b536f39ac5622ff688f6a20fa6ae8b8fa4770d4851e85a400","entrypoint":"webhook-request-guards","importSpecifier":"openclaw/plugin-sdk/webhook-request-guards"} diff --git a/docs/.generated/plugin-sdk-api-baseline/widget-html.json b/docs/.generated/plugin-sdk-api-baseline/widget-html.json new file mode 100644 index 000000000000..3cfe540ea495 --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/widget-html.json @@ -0,0 +1 @@ +{"contentHash":"6091f4048c4464103dfdf659904c6afa6e29c483b9a05c502ab3333df08f942b","entrypoint":"widget-html","importSpecifier":"openclaw/plugin-sdk/widget-html"} diff --git a/docs/.generated/plugin-sdk-api-baseline/zod.json b/docs/.generated/plugin-sdk-api-baseline/zod.json new file mode 100644 index 000000000000..7db0d093823e --- /dev/null +++ b/docs/.generated/plugin-sdk-api-baseline/zod.json @@ -0,0 +1 @@ +{"contentHash":"eafdc7277066acf893bfef9b635689c1a69d6d5af22ad8cee2b47351d9b53ca6","entrypoint":"zod","importSpecifier":"openclaw/plugin-sdk/zod"} diff --git a/scripts/check-changed.mts b/scripts/check-changed.mts index ad6f0a5ef7fc..5af36fb34ef0 100644 --- a/scripts/check-changed.mts +++ b/scripts/check-changed.mts @@ -96,7 +96,7 @@ const DOCTOR_CONTRACT_OWNER_TEST_PATH_RE = const SQLITE_SESSION_SCHEMA_BASELINE_PATH_RE = /^(?:src\/state\/openclaw-agent-schema\.sql|scripts\/(?:generate-sqlite-session-schema-baseline\.ts|lib\/sqlite-session-schema-baseline\.ts)|test\/scripts\/sqlite-session-schema-baseline\.test\.ts|docs\/\.generated\/sqlite-session-transcript-schema-baseline\.sha256)$/u; const PLUGIN_SDK_API_BASELINE_PATH_RE = - /^(?:src\/|packages\/|extensions\/|pnpm-lock\.yaml$|tsconfig\.json$|scripts\/(?:generate-plugin-sdk-api-baseline\.ts|lib\/plugin-sdk-(?:doc-metadata\.ts|entries\.mts|entrypoints\.json|private-local-only-subpaths\.json))|docs\/\.generated\/plugin-sdk-api-baseline\.jsonl$)/u; + /^(?:src\/|packages\/|extensions\/|pnpm-lock\.yaml$|tsconfig\.json$|scripts\/(?:generate-plugin-sdk-api-baseline\.ts|lib\/plugin-sdk-(?:doc-metadata\.ts|entries\.mts|entrypoints\.json|private-local-only-subpaths\.json))|docs\/\.generated\/plugin-sdk-api-baseline\/[^/]+\.json$)/u; const PLUGIN_SDK_SURFACE_PATH_RE = /^(?:package\.json$|src\/plugin-sdk\/|packages\/plugin-sdk\/|scripts\/(?:plugin-sdk-surface-report\.mts|sync-plugin-sdk-exports\.mts|lib\/plugin-sdk-(?:declaration-budget\.mts|deprecated-barrel-subpaths\.json|deprecated-public-subpaths\.json|entries\.mts|entrypoints\.json|private-local-only-subpaths\.json)))/u; const DEPRECATION_HYGIENE_PATH_RE = diff --git a/scripts/generate-plugin-sdk-api-baseline.ts b/scripts/generate-plugin-sdk-api-baseline.ts index 739df5e07b51..30731895b288 100644 --- a/scripts/generate-plugin-sdk-api-baseline.ts +++ b/scripts/generate-plugin-sdk-api-baseline.ts @@ -6,6 +6,7 @@ import { writePluginSdkApiBaselineArtifacts } from "../src/plugin-sdk/api-baseli const args = new Set(process.argv.slice(2)); const checkOnly = args.has("--check"); const writeMode = args.has("--write"); +const DRIFT_PREVIEW_LIMIT = 40; if (checkOnly === writeMode) { console.error("Use exactly one of --check or --write."); @@ -18,32 +19,34 @@ async function main(): Promise { const result = await writePluginSdkApiBaselineArtifacts({ repoRoot, check: checkOnly }); if (checkOnly) { if (result.changed) { - const contractPath = path.relative(repoRoot, result.contractPath); + const contractDirectory = path.relative(repoRoot, result.contractDirectory); const diff = result.contractDiff; + const driftedRecords = [ + ...(diff?.modified ?? []).map((fileName) => `- modified: ${fileName}`), + ...(diff?.missing ?? []).map((fileName) => `- missing: ${fileName}`), + ...(diff?.stale ?? []).map((fileName) => `- stale: ${fileName}`), + ]; console.error( [ "Plugin SDK API contract drift detected.", - `Contract mismatch: ${contractPath}`, - `--- ${contractPath} (committed)`, - `+++ ${contractPath} (generated)`, - ...(diff?.previewLines ?? []), - `Changed JSONL lines: ${diff?.changedLineCount ?? 0}${ - diff && diff.shownLineCount < diff.changedLineCount - ? ` (showing first ${diff.shownLineCount})` - : "" - }`, + `Contract directory: ${contractDirectory}`, + `Modified: ${diff?.modified.length ?? 0}; missing: ${diff?.missing.length ?? 0}; stale: ${diff?.stale.length ?? 0}`, + ...driftedRecords.slice(0, DRIFT_PREVIEW_LIMIT), + ...(driftedRecords.length > DRIFT_PREVIEW_LIMIT + ? [`... ${driftedRecords.length - DRIFT_PREVIEW_LIMIT} more record(s)`] + : []), "If this Plugin SDK surface change is intentional, run `pnpm plugin-sdk:api:gen` and commit the updated contract.", "If not intentional, fix the plugin-sdk exports or metadata first.", ].join("\n"), ); process.exit(1); } - console.log(`OK ${path.relative(repoRoot, result.contractPath)}`); + console.log(`OK ${path.relative(repoRoot, result.contractDirectory)}`); return; } console.log( [ - `Wrote ${path.relative(repoRoot, result.contractPath)}`, + `Wrote ${path.relative(repoRoot, result.contractDirectory)} (${result.removedStaleCount} stale record(s) removed)`, `Wrote ${path.relative(repoRoot, result.jsonPath)} (gitignored, local only)`, ].join("\n"), ); diff --git a/src/plugin-sdk/api-baseline-contract.ts b/src/plugin-sdk/api-baseline-contract.ts deleted file mode 100644 index 7b466a8b70b0..000000000000 --- a/src/plugin-sdk/api-baseline-contract.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { diffLines } from "diff"; - -const CONTRACT_DIFF_LINE_LIMIT = 40; - -/** Bounded unified-style preview of changed JSONL contract records. */ -export type PluginSdkApiBaselineContractDiff = { - /** Total added and removed JSONL lines. A modified record counts as two lines. */ - changedLineCount: number; - /** Unified-style hunk headers and changed lines, capped for terminal output. */ - previewLines: string[]; - /** Number of added and removed lines included in the preview. */ - shownLineCount: number; -}; - -function describeContractLine(line: string): { identity: string | null; label: string } { - try { - const record = JSON.parse(line) as { - entrypoint?: unknown; - }; - if (typeof record.entrypoint === "string") { - return { - identity: `module\0${record.entrypoint}`, - label: `entrypoint=${record.entrypoint}`, - }; - } - } catch { - // Invalid committed JSONL still appears in the bounded raw-line diff. - } - return { identity: null, label: "unparseable record" }; -} - -export function diffPluginSdkApiBaselineContract( - current: string | null, - next: string, -): PluginSdkApiBaselineContractDiff { - const changes = diffLines(current ?? "", next, { oneChangePerToken: true }) - .filter((change) => change.added || change.removed) - .map((change) => { - const line = change.value.replace(/(?:\r?\n)$/u, ""); - const description = describeContractLine(line); - return { - change, - identity: description.identity, - label: description.label, - line, - }; - }); - const addedIdentities = new Set( - changes.flatMap(({ change, identity }) => (change.added && identity ? [identity] : [])), - ); - const removedIdentities = new Set( - changes.flatMap(({ change, identity }) => (change.removed && identity ? [identity] : [])), - ); - const structuralChanges = new Set( - changes.filter( - ({ change, identity }) => - identity && - ((change.added && !removedIdentities.has(identity)) || - (change.removed && !addedIdentities.has(identity))), - ), - ); - const preview = [ - ...structuralChanges, - ...changes.filter((change) => !structuralChanges.has(change)), - ].slice(0, CONTRACT_DIFF_LINE_LIMIT); - const previewLines = preview.flatMap(({ change, label, line }) => [ - `@@ ${label} @@`, - `${change.added ? "+" : "-"}${line}`, - ]); - - return { - changedLineCount: changes.length, - previewLines, - shownLineCount: preview.length, - }; -} diff --git a/src/plugin-sdk/api-baseline.test.ts b/src/plugin-sdk/api-baseline.test.ts index f6132e232c5f..47f2b9e7c137 100644 --- a/src/plugin-sdk/api-baseline.test.ts +++ b/src/plugin-sdk/api-baseline.test.ts @@ -39,6 +39,48 @@ const TEST_ENTRYPOINTS = [ const tempDirs = useAutoCleanupTempDirTracker(afterEach); +function contractContents(rendered: PluginSdkApiBaselineRender): Record { + return Object.fromEntries(rendered.contractFiles.map((file) => [file.fileName, file.content])); +} + +function writeContractFiles(directory: string, rendered: PluginSdkApiBaselineRender): void { + fs.mkdirSync(directory, { recursive: true }); + for (const file of rendered.contractFiles) { + fs.writeFileSync(path.join(directory, file.fileName), file.content); + } +} + +function git(repoRoot: string, args: string[]): string { + const result = spawnSync("git", args, { + cwd: repoRoot, + encoding: "utf8", + env: { + ...process.env, + GIT_AUTHOR_EMAIL: "plugin-sdk-test@openclaw.invalid", + GIT_AUTHOR_NAME: "Plugin SDK Test", + GIT_COMMITTER_EMAIL: "plugin-sdk-test@openclaw.invalid", + GIT_COMMITTER_NAME: "Plugin SDK Test", + }, + }); + expect(result.status, `${result.stdout}\n${result.stderr}`).toBe(0); + return result.stdout.trim(); +} + +function stablePatchId(repoRoot: string, revision: string): string { + const patch = spawnSync("git", ["show", "--pretty=format:", revision], { + cwd: repoRoot, + encoding: "utf8", + }); + expect(patch.status, patch.stderr).toBe(0); + const result = spawnSync("git", ["patch-id", "--stable"], { + cwd: repoRoot, + encoding: "utf8", + input: patch.stdout, + }); + expect(result.status, result.stderr).toBe(0); + return result.stdout.split(" ")[0] ?? ""; +} + async function renderSourceFixture( files: Readonly>, entrypoints: readonly string[] = ["fixture"], @@ -307,18 +349,19 @@ describe("Plugin SDK API baseline", () => { expect(findDeclaration("SessionCatalogEntrySummary")).toContain("entry: SessionEntry;"); expect(rendered.json).not.toContain('"line":'); expect(rendered.json).toContain('"source": {'); - expect(rendered.jsonl).not.toContain('"sourceLine":'); - expect(rendered.jsonl).not.toContain('"sourcePath":'); - expect(rendered.jsonl).toContain('"contentHash":"'); - expect(rendered.jsonl).not.toContain('"closureHash":"'); - expect(rendered.jsonl).not.toContain("// declaration closure:"); + const contract = rendered.contractFiles.map((file) => file.content).join(""); + expect(contract).not.toContain('"sourceLine":'); + expect(contract).not.toContain('"sourcePath":'); + expect(contract).toContain('"contentHash":"'); + expect(contract).not.toContain('"closureHash":"'); + expect(contract).not.toContain("// declaration closure:"); }); it("renders snapshots independently of entrypoint discovery order", () => { const reverse = renderPluginSdkApiBaselineModules(rendered.baseline.modules.toReversed()); expect(reverse.json).toBe(rendered.json); - expect(reverse.jsonl).toBe(rendered.jsonl); + expect(reverse.contractFiles).toEqual(rendered.contractFiles); }); it("keeps unrelated module hashes byte-identical when one export changes", () => { @@ -338,17 +381,19 @@ describe("Plugin SDK API baseline", () => { : moduleSurface, ), ); - const before = rendered.jsonl.split("\n"); - const after = changed.jsonl.split("\n"); + const before = contractContents(rendered); + const after = contractContents(changed); + const changedFileNames = Object.keys(before).filter( + (fileName) => before[fileName] !== after[fileName], + ); - expect(after[0]).not.toBe(before[0]); - expect(after.slice(1)).toEqual(before.slice(1)); + expect(changedFileNames).toEqual([`${target?.entrypoint}.json`]); }); - it("writes one line per module and merges disjoint module edits without conflicts", () => { + it("writes one file per module and keeps adjacent edits merge- and patch-stable", () => { const modules = rendered.baseline.modules; const left = modules[0]; - const right = modules.at(-1); + const right = modules[1]; expect(left?.exports.length).toBeGreaterThan(0); expect(right?.exports.length).toBeGreaterThan(0); expect(left?.entrypoint).not.toBe(right?.entrypoint); @@ -373,71 +418,116 @@ describe("Plugin SDK API baseline", () => { ); const ours = editModule(left, "left edit"); const theirs = editModule(right, "right edit"); - const lines = rendered.jsonl - .trimEnd() - .split("\n") - .map((line) => JSON.parse(line)); + const records = rendered.contractFiles.map((file) => JSON.parse(file.content)); - expect(lines).toHaveLength(modules.length); - expect(lines.map((line) => line.importSpecifier)).toEqual( + expect(rendered.contractFiles).toHaveLength(modules.length); + expect(rendered.contractFiles.map((file) => file.fileName)).toEqual( + modules.map((moduleSurface) => `${moduleSurface.entrypoint}.json`), + ); + expect(records.map((record) => record.importSpecifier)).toEqual( modules.map((moduleSurface) => moduleSurface.importSpecifier), ); - expect(lines).toEqual( + expect(records).toEqual( expect.arrayContaining([ expect.objectContaining({ contentHash: expect.stringMatching(/^[a-f0-9]{64}$/u) }), ]), ); const mergeDir = tempDirs.make("openclaw-plugin-sdk-api-merge-"); - const basePath = path.join(mergeDir, "base.jsonl"); - const oursPath = path.join(mergeDir, "ours.jsonl"); - const theirsPath = path.join(mergeDir, "theirs.jsonl"); - fs.writeFileSync(basePath, rendered.jsonl); - fs.writeFileSync(oursPath, ours.jsonl); - fs.writeFileSync(theirsPath, theirs.jsonl); + const contractDirectory = path.join(mergeDir, "plugin-sdk-api-baseline"); + git(mergeDir, ["init", "-q", "--initial-branch=main"]); + writeContractFiles(contractDirectory, rendered); + git(mergeDir, ["add", "."]); + git(mergeDir, ["commit", "-qm", "base"]); + const baseRevision = git(mergeDir, ["rev-parse", "HEAD"]); - const merge = spawnSync("git", ["merge-file", "--stdout", oursPath, basePath, theirsPath], { - encoding: "utf8", - }); + git(mergeDir, ["switch", "-qc", "feature"]); + fs.writeFileSync( + path.join(contractDirectory, `${left?.entrypoint}.json`), + contractContents(ours)[`${left?.entrypoint}.json`] ?? "", + ); + git(mergeDir, ["add", "."]); + git(mergeDir, ["commit", "-qm", "feature"]); + const featureRevision = git(mergeDir, ["rev-parse", "HEAD"]); + const featurePatchId = stablePatchId(mergeDir, featureRevision); - expect(merge.status, merge.stderr).toBe(0); - expect(merge.stdout).toContain(ours.jsonl.trimEnd().split("\n")[0]); - expect(merge.stdout).toContain(theirs.jsonl.trimEnd().split("\n").at(-1)); + git(mergeDir, ["switch", "-qc", "main-update", baseRevision]); + fs.writeFileSync( + path.join(contractDirectory, `${right?.entrypoint}.json`), + contractContents(theirs)[`${right?.entrypoint}.json`] ?? "", + ); + git(mergeDir, ["add", "."]); + git(mergeDir, ["commit", "-qm", "main update"]); + + git(mergeDir, ["switch", "-qc", "merge-check", featureRevision]); + git(mergeDir, ["merge", "-q", "--no-edit", "main-update"]); + git(mergeDir, ["switch", "-qc", "rebase-check", featureRevision]); + git(mergeDir, ["rebase", "main-update"]); + + expect(stablePatchId(mergeDir, "HEAD")).toBe(featurePatchId); + expect(fs.readFileSync(path.join(contractDirectory, `${left?.entrypoint}.json`), "utf8")).toBe( + contractContents(ours)[`${left?.entrypoint}.json`], + ); + expect(fs.readFileSync(path.join(contractDirectory, `${right?.entrypoint}.json`), "utf8")).toBe( + contractContents(theirs)[`${right?.entrypoint}.json`], + ); }); - it("renders byte-identical JSONL deterministically", async () => { + it("renders byte-identical contract files deterministically", async () => { const firstRender = await renderPrivateDeclarationFixture(); const secondRender = await renderPrivateDeclarationFixture(); - expect(secondRender.jsonl).toBe(firstRender.jsonl); + expect(secondRender.contractFiles).toEqual(firstRender.contractFiles); }); - it("fails checks on contract drift and passes after write", async () => { + it("checks and repairs modified, missing, and stale contract records", async () => { const outputDir = tempDirs.make("openclaw-plugin-sdk-api-output-"); - const contractPath = path.join(outputDir, "plugin-sdk-api-baseline.jsonl"); + const contractDirectory = path.join(outputDir, "plugin-sdk-api-baseline"); const jsonPath = path.join(outputDir, "plugin-sdk-api-baseline.json"); - fs.writeFileSync(contractPath, "stale\n"); const options = { - contractPath, + contractDirectory, jsonPath, rendered, } as const; + await writeRenderedPluginSdkApiBaselineArtifacts(options); + const [modified, missing] = rendered.contractFiles; + if (!modified || !missing) { + throw new Error("Expected at least two rendered contract files"); + } + fs.writeFileSync(path.join(contractDirectory, modified.fileName), "modified\n"); + fs.unlinkSync(path.join(contractDirectory, missing.fileName)); + fs.writeFileSync(path.join(contractDirectory, "stale.json"), "{}\n"); const drifted = await writeRenderedPluginSdkApiBaselineArtifacts({ ...options, check: true, }); - expect(drifted).toEqual(expect.objectContaining({ changed: true, wrote: false })); + expect(drifted).toEqual( + expect.objectContaining({ + changed: true, + contractDiff: { + modified: [modified.fileName], + missing: [missing.fileName], + stale: ["stale.json"], + }, + wrote: false, + }), + ); - await writeRenderedPluginSdkApiBaselineArtifacts(options); + const repaired = await writeRenderedPluginSdkApiBaselineArtifacts(options); + expect(repaired.removedStaleCount).toBe(1); const current = await writeRenderedPluginSdkApiBaselineArtifacts({ ...options, check: true, }); expect(current).toEqual(expect.objectContaining({ changed: false, wrote: false })); - expect(fs.readFileSync(contractPath, "utf8")).toContain( - '"importSpecifier":"openclaw/plugin-sdk/agent-harness-runtime"', + expect(fs.existsSync(path.join(contractDirectory, "stale.json"))).toBe(false); + expect(fs.readFileSync(path.join(contractDirectory, modified.fileName), "utf8")).toBe( + modified.content, + ); + expect(fs.readFileSync(path.join(contractDirectory, missing.fileName), "utf8")).toBe( + missing.content, ); expect(fs.readFileSync(jsonPath, "utf8")).toContain( '"generatedBy": "scripts/generate-plugin-sdk-api-baseline.ts"', @@ -460,7 +550,7 @@ describe("Plugin SDK API baseline", () => { "moved/leaf.ts": "export type Leaf = { value: string };\n", }); - expect(moved.jsonl).toBe(baseline.jsonl); + expect(moved.contractFiles).toEqual(baseline.contractFiles); }); it("includes globals from side-effect imports in closure hashes", async () => { @@ -495,7 +585,7 @@ describe("Plugin SDK API baseline", () => { "moved/mod.ts": "export const value = 1;\n", }); - expect(moved.jsonl).toBe(baseline.jsonl); + expect(moved.contractFiles).toEqual(baseline.contractFiles); }); it("ignores unreachable transitive declaration changes", async () => { @@ -514,7 +604,7 @@ describe("Plugin SDK API baseline", () => { const baseline = await render(); const unrelated = await render("export type TelegramProbe = { ignored: boolean };\n"); - expect(unrelated.jsonl).toBe(baseline.jsonl); + expect(unrelated.contractFiles).toEqual(baseline.contractFiles); }); it("keeps cycle members complete across cached export walks", async () => { @@ -558,7 +648,7 @@ describe("Plugin SDK API baseline", () => { const baseline = await render(); const unrelated = await render("export type Unrelated = { ignored: boolean };\n"); - expect(unrelated.jsonl).toBe(baseline.jsonl); + expect(unrelated.contractFiles).toEqual(baseline.contractFiles); }); it("captures transitive private declaration changes deterministically", async () => { @@ -586,7 +676,7 @@ describe("Plugin SDK API baseline", () => { expect(changed.baseline.modules[0]?.exports[0]?.closureHash).not.toBe( declaration?.closureHash, ); - expect(changed.jsonl).not.toBe(baseline.jsonl); + expect(changed.contractFiles).not.toEqual(baseline.contractFiles); } }); }); diff --git a/src/plugin-sdk/api-baseline.ts b/src/plugin-sdk/api-baseline.ts index ab3ac13ff1db..dad81f290f3d 100644 --- a/src/plugin-sdk/api-baseline.ts +++ b/src/plugin-sdk/api-baseline.ts @@ -9,10 +9,6 @@ import { type PluginSdkDocCategory, type PluginSdkDocEntrypoint, } from "../../scripts/lib/plugin-sdk-doc-metadata.ts"; -import { - diffPluginSdkApiBaselineContract, - type PluginSdkApiBaselineContractDiff, -} from "./api-baseline-contract.js"; import { createDeclarationClosureRenderer, formatPluginSdkDiagnostics, @@ -80,33 +76,54 @@ export type PluginSdkApiBaseline = { modules: PluginSdkApiModule[]; }; -/** Rendered baseline variants written to JSON and statefile outputs. */ +/** One committed Plugin SDK module contract file. */ +export type PluginSdkApiBaselineContractFile = { + /** Complete one-line JSON record, including its trailing newline. */ + content: string; + /** Filename relative to the committed contract directory. */ + fileName: string; +}; + +/** Rendered baseline variants written to local and committed outputs. */ export type PluginSdkApiBaselineRender = { /** Structured baseline data before serialization. */ baseline: PluginSdkApiBaseline; + /** One deterministic committed contract file per public SDK entrypoint. */ + contractFiles: PluginSdkApiBaselineContractFile[]; /** Pretty JSON artifact for humans and docs tooling. */ json: string; - /** Line-delimited export records used by lightweight contract checks. */ - jsonl: string; +}; + +/** File-level drift in the committed Plugin SDK API contract directory. */ +export type PluginSdkApiBaselineContractDiff = { + /** Expected records whose committed content differs. */ + modified: string[]; + /** Expected records absent from the committed directory. */ + missing: string[]; + /** Unexpected JSON records left in the committed directory. */ + stale: string[]; }; /** Result returned when writing SDK API baseline artifacts. */ export type PluginSdkApiBaselineWriteResult = { - /** True when the generated JSONL contract differs from disk. */ + /** True when the generated contract directory differs from disk. */ changed: boolean; - /** Bounded record-level diff when a check finds contract drift. */ + /** File-level drift when a check finds contract differences. */ contractDiff: PluginSdkApiBaselineContractDiff | null; - /** Committed JSONL contract path. */ - contractPath: string; + /** Committed per-entrypoint contract directory. */ + contractDirectory: string; /** True when generated artifacts were actually written. */ wrote: boolean; /** JSON baseline artifact path. */ jsonPath: string; + /** Number of stale JSON records removed in write mode. */ + removedStaleCount: number; }; const GENERATED_BY = "scripts/generate-plugin-sdk-api-baseline.ts" as const; const DEFAULT_JSON_OUTPUT = "docs/.generated/plugin-sdk-api-baseline.json"; -const DEFAULT_CONTRACT_OUTPUT = "docs/.generated/plugin-sdk-api-baseline.jsonl"; +const DEFAULT_CONTRACT_DIRECTORY = "docs/.generated/plugin-sdk-api-baseline"; +const SAFE_ENTRYPOINT_FILE_NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u; type DeclarationClosureRenderer = ReturnType; function assert(condition: unknown, message: string): asserts condition { @@ -354,8 +371,12 @@ function sha256(content: string): string { return createHash("sha256").update(content, "utf8").digest("hex"); } -function buildJsonlLines(baseline: PluginSdkApiBaseline): string[] { +function buildContractFiles(baseline: PluginSdkApiBaseline): PluginSdkApiBaselineContractFile[] { return baseline.modules.map((moduleSurface) => { + assert( + SAFE_ENTRYPOINT_FILE_NAME.test(moduleSurface.entrypoint), + `Plugin SDK entrypoint is not filename-safe: ${moduleSurface.entrypoint}`, + ); const contractSurface = { category: moduleSurface.category, entrypoint: moduleSurface.entrypoint, @@ -367,11 +388,14 @@ function buildJsonlLines(baseline: PluginSdkApiBaseline): string[] { })), importSpecifier: moduleSurface.importSpecifier, }; - return JSON.stringify({ - contentHash: sha256(JSON.stringify(contractSurface)), - entrypoint: moduleSurface.entrypoint, - importSpecifier: moduleSurface.importSpecifier, - }); + return { + content: `${JSON.stringify({ + contentHash: sha256(JSON.stringify(contractSurface)), + entrypoint: moduleSurface.entrypoint, + importSpecifier: moduleSurface.importSpecifier, + })}\n`, + fileName: `${moduleSurface.entrypoint}.json`, + }; }); } @@ -414,8 +438,8 @@ export function renderPluginSdkApiBaselineModules( return { baseline, + contractFiles: buildContractFiles(baseline), json: `${JSON.stringify(baseline, null, 2)}\n`, - jsonl: `${buildJsonlLines(baseline).join("\n")}\n`, }; } @@ -442,39 +466,78 @@ function validateMetadata(): void { } } +async function listContractFileNames(contractDirectory: string): Promise { + try { + return (await fs.readdir(contractDirectory, { withFileTypes: true })) + .filter((entry) => entry.isFile() && entry.name.endsWith(".json")) + .map((entry) => entry.name) + .toSorted(compareText); + } catch (error) { + if ((error as NodeJS.ErrnoException).code === "ENOENT") { + return []; + } + throw error; + } +} + /** Compare or write an already-rendered SDK API contract. */ export async function writeRenderedPluginSdkApiBaselineArtifacts(params: { check?: boolean; - contractPath: string; + contractDirectory: string; jsonPath: string; rendered: PluginSdkApiBaselineRender; }): Promise { - const currentContract = await loadCurrentFile(params.contractPath); - const changed = currentContract !== params.rendered.jsonl; + const currentFileNames = await listContractFileNames(params.contractDirectory); + const expectedFileNames = new Set(params.rendered.contractFiles.map((file) => file.fileName)); + const contractDiff: PluginSdkApiBaselineContractDiff = { + modified: [], + missing: [], + stale: currentFileNames.filter((fileName) => !expectedFileNames.has(fileName)), + }; + for (const contractFile of params.rendered.contractFiles) { + const current = await loadCurrentFile( + path.join(params.contractDirectory, contractFile.fileName), + ); + if (current === null) { + contractDiff.missing.push(contractFile.fileName); + } else if (current !== contractFile.content) { + contractDiff.modified.push(contractFile.fileName); + } + } + const changed = Object.values(contractDiff).some((fileNames) => fileNames.length > 0); if (params.check) { return { changed, - contractDiff: changed - ? diffPluginSdkApiBaselineContract(currentContract, params.rendered.jsonl) - : null, - contractPath: params.contractPath, + contractDiff: changed ? contractDiff : null, + contractDirectory: params.contractDirectory, wrote: false, jsonPath: params.jsonPath, + removedStaleCount: 0, }; } - await fs.mkdir(path.dirname(params.contractPath), { recursive: true }); - await fs.writeFile(params.contractPath, params.rendered.jsonl, "utf8"); + await fs.mkdir(params.contractDirectory, { recursive: true }); + for (const contractFile of params.rendered.contractFiles) { + await fs.writeFile( + path.join(params.contractDirectory, contractFile.fileName), + contractFile.content, + "utf8", + ); + } + for (const fileName of contractDiff.stale) { + await fs.unlink(path.join(params.contractDirectory, fileName)); + } await fs.mkdir(path.dirname(params.jsonPath), { recursive: true }); await fs.writeFile(params.jsonPath, params.rendered.json, "utf8"); return { changed, contractDiff: null, - contractPath: params.contractPath, + contractDirectory: params.contractDirectory, wrote: true, jsonPath: params.jsonPath, + removedStaleCount: contractDiff.stale.length, }; } @@ -482,13 +545,16 @@ export async function writeRenderedPluginSdkApiBaselineArtifacts(params: { export async function writePluginSdkApiBaselineArtifacts(params?: { repoRoot?: string; check?: boolean; - contractPath?: string; + contractDirectory?: string; jsonPath?: string; }): Promise { const repoRoot = params?.repoRoot ?? resolveRepoRoot(); return writeRenderedPluginSdkApiBaselineArtifacts({ check: params?.check, - contractPath: path.resolve(repoRoot, params?.contractPath ?? DEFAULT_CONTRACT_OUTPUT), + contractDirectory: path.resolve( + repoRoot, + params?.contractDirectory ?? DEFAULT_CONTRACT_DIRECTORY, + ), jsonPath: path.resolve(repoRoot, params?.jsonPath ?? DEFAULT_JSON_OUTPUT), rendered: await renderPluginSdkApiBaseline({ repoRoot }), }); diff --git a/test/scripts/changed-lanes.test.ts b/test/scripts/changed-lanes.test.ts index 71ffb7ad7156..9547414a6442 100644 --- a/test/scripts/changed-lanes.test.ts +++ b/test/scripts/changed-lanes.test.ts @@ -1183,7 +1183,7 @@ describe("scripts/changed-lanes", () => { it("delegates generated docs baselines with heavy owner checks", () => { for (const changedPath of [ - "docs/.generated/plugin-sdk-api-baseline.jsonl", + "docs/.generated/plugin-sdk-api-baseline/core.json", "docs/.generated/sqlite-session-transcript-schema-baseline.sha256", ]) { const result = detectChangedLanes([changedPath]); @@ -1788,7 +1788,7 @@ describe("scripts/changed-lanes", () => { "scripts/generate-plugin-sdk-api-baseline.ts", "scripts/lib/plugin-sdk-doc-metadata.ts", "scripts/lib/plugin-sdk-entries.mts", - "docs/.generated/plugin-sdk-api-baseline.jsonl", + "docs/.generated/plugin-sdk-api-baseline/core.json", ]), ).toBe(true); expect(shouldRunPluginSdkApiBaselineCheck(["docs/help/troubleshooting.md"])).toBe(false);