@ycodium-ai/plugin-api 0.2.3831 → 0.2.3904
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -7
- package/dist/dataPorts.gen.d.ts +768 -619
- package/dist/dataPorts.gen.d.ts.map +1 -1
- package/dist/dataPorts.gen.js.map +1 -1
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/threadAnnotation.d.ts +13 -0
- package/dist/threadAnnotation.d.ts.map +1 -0
- package/dist/threadAnnotation.js +2 -0
- package/dist/threadAnnotation.js.map +1 -0
- package/dist/ui.d.ts +1 -9
- package/dist/ui.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ import { definePlugin } from "@ycodium-ai/plugin-api";
|
|
|
61
61
|
|
|
62
62
|
export default definePlugin({
|
|
63
63
|
id: "my-plugin",
|
|
64
|
-
apiVersion:
|
|
64
|
+
apiVersion: 66,
|
|
65
65
|
activate: (ctx) => {
|
|
66
66
|
ctx.log.info("hello");
|
|
67
67
|
|
|
@@ -290,12 +290,56 @@ sessions continue using the streaming process interface.
|
|
|
290
290
|
|
|
291
291
|
## THERE WILL BE COMPATIBILITY-BREAKING CHANGES
|
|
292
292
|
|
|
293
|
-
The definition's `apiVersion` is a closed window: the host loads
|
|
293
|
+
The definition's `apiVersion` is a closed window: the host loads 66, and refuses every other
|
|
294
294
|
value. Declare the version your plugin targets as a literal; do not read the host's
|
|
295
|
-
`PLUGIN_API_VERSION` to make the declaration automatically match. The current API is
|
|
295
|
+
`PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 66. Plugins
|
|
296
296
|
targeting an older API are refused before activation; the message names the version the plugin
|
|
297
297
|
declared and the one this Ycodium loads, and the plugin card offers an update. A plugin that
|
|
298
|
-
declares a version newer than
|
|
298
|
+
declares a version newer than 66 is refused until Ycodium itself is updated, with no update button.
|
|
299
|
+
|
|
300
|
+
API 66 adds an optional `reasonCode` to machine task failures. Every change is additive.
|
|
301
|
+
|
|
302
|
+
- `MachineTaskFailure.reasonCode` is one of `git-missing`, `project-folder-missing` or `git-probe-failed`
|
|
303
|
+
when the built-in `project.sync` could not inspect the project folder; clients translate a coded reason
|
|
304
|
+
and show the English `reason` otherwise.
|
|
305
|
+
- Every machine whose project folder is a Git checkout lists `project.sync` even without a tasks table; a
|
|
306
|
+
`sync` entry in `ycodium.json` replaces it. The action catalog allows 64 machine actions plus 33 project
|
|
307
|
+
entries.
|
|
308
|
+
|
|
309
|
+
API 65 lets a thread annotation mark a conversation's tab: set `placement: "tab"` and `icon: "monitor"` on a
|
|
310
|
+
`ui.threadAnnotations.command` row, and the tab gets the `tone` as a tinted background plus the icon, with `labelKey` as
|
|
311
|
+
its name. Such a row stays out of the text badges in the sidebar and conversation header. Every change is additive.
|
|
312
|
+
|
|
313
|
+
API 64 adds the command action for machine tasks. Every change is additive.
|
|
314
|
+
|
|
315
|
+
- `MachineActionKind` gains `command`. A machine that declares the capability lists the action
|
|
316
|
+
`runtime.command`; machines that do not declare it do not list it.
|
|
317
|
+
- `ctx.work.machineTasks.create` accepts `runtime.command` with `command`, optional `args`, optional `cwd`
|
|
318
|
+
(a path inside the project folder) and optional `timeoutSeconds`. The command runs with the executing
|
|
319
|
+
user's environment. A task for another machine still needs that machine's owner until same-account
|
|
320
|
+
trust (ADR-0041) lands.
|
|
321
|
+
|
|
322
|
+
API 63 adds execution-machine consent for machine tasks. A local agent can run on its own machine
|
|
323
|
+
without approval. Cross-machine tasks require the executing owner's explicit policy or a task-bound,
|
|
324
|
+
single-use approval receipt. Human-only machineSettings.machineTasks.approve issues the receipt on
|
|
325
|
+
the executing machine; work.machineTasks.respond carries optional approval and rememberProject.
|
|
326
|
+
Project trust is optional machineTaskConfirmation.remoteProjectTrust, bound to both the home machine
|
|
327
|
+
and project. Cross-machine same-account inference awaits ADR-0041.
|
|
328
|
+
|
|
329
|
+
Machine-task failures may include optional `reasonCode` (`git-missing`, `project-folder-missing` or
|
|
330
|
+
`git-probe-failed`) for localized UI text. `reason` remains the English fallback when no code is present;
|
|
331
|
+
raw Git diagnostics stay in the log comment.
|
|
332
|
+
|
|
333
|
+
API 62 adds `ctx.schedules.list` and `ctx.schedules.runs.list`, reads of a project's schedules, and an optional `repeat`
|
|
334
|
+
on scheduled wake-up reads. Plugins cannot create or change schedules.
|
|
335
|
+
|
|
336
|
+
API 61 lets a client admit the machines it is connected to in the background, without the Machines settings
|
|
337
|
+
section being open. Every change is additive.
|
|
338
|
+
|
|
339
|
+
- `projects.machines.list` output gains an optional `removedEnvironmentIds`: machines a person removed from the
|
|
340
|
+
project, which automatic admission skips.
|
|
341
|
+
- `projects.machines.joinCode.create` input gains an optional `automaticEnvironmentId`: the code is bound to that
|
|
342
|
+
machine and cannot undo a person's removal. Omit it for an explicit invitation.
|
|
299
343
|
|
|
300
344
|
API 60 registers this machine's runtime, proxy and provider maintenance in the data capability table. Every
|
|
301
345
|
change is additive.
|
|
@@ -312,8 +356,7 @@ change is additive.
|
|
|
312
356
|
- Machine actions add `runtime.restart` and `runtime.upgrade` (`MachineActionKind` gains `restart` and `upgrade`),
|
|
313
357
|
and the action input takes an optional `targetVersion`. Action lists drop entries this build does not recognise
|
|
314
358
|
instead of failing.
|
|
315
|
-
|
|
316
|
-
API 60 also adds the skill directory. Every change is additive.
|
|
359
|
+
API 60 also adds the skill directory. Every change is additive.
|
|
317
360
|
|
|
318
361
|
- `ctx.plugins.skillDirectory.search({ query, limit? })` searches skills.sh; each result names the GitHub
|
|
319
362
|
`repository` it installs from, or `null`.
|
|
@@ -1125,7 +1168,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
|
|
|
1125
1168
|
`ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
|
|
1126
1169
|
`ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
|
|
1127
1170
|
in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
|
|
1128
|
-
the minimum version is
|
|
1171
|
+
the minimum version is 66.
|
|
1129
1172
|
|
|
1130
1173
|
API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
|
|
1131
1174
|
(from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their
|