mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-30 05:02:58 +00:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
deb1bdc266 | ||
|
|
9c7925de58 |
@@ -1075,10 +1075,11 @@ export default function contribute(plugin: unknown) {
|
|||||||
const service = bindTestSessionHost(
|
const service = bindTestSessionHost(
|
||||||
new PluginService(pino({ level: "silent" }), store, "0.4.0"),
|
new PluginService(pino({ level: "silent" }), store, "0.4.0"),
|
||||||
);
|
);
|
||||||
|
try {
|
||||||
await service.start();
|
await service.start();
|
||||||
await service.installDirectory({ path: first });
|
await service.installDirectory({ path: first });
|
||||||
await service.installDirectory({ path: second });
|
await service.installDirectory({ path: second });
|
||||||
|
expect(catalogIds(service)).toEqual(["first", "second"]);
|
||||||
await store.patch({ pluginsEnabled: false });
|
await store.patch({ pluginsEnabled: false });
|
||||||
|
|
||||||
expect(service.catalog()).toEqual([]);
|
expect(service.catalog()).toEqual([]);
|
||||||
@@ -1086,12 +1087,17 @@ export default function contribute(plugin: unknown) {
|
|||||||
"Plugin is not available",
|
"Plugin is not available",
|
||||||
);
|
);
|
||||||
await store.patch({ pluginsEnabled: true });
|
await store.patch({ pluginsEnabled: true });
|
||||||
await service.reloadPlugin("first");
|
// Observe recovery itself. Reloading here restarts a healthy plugin and
|
||||||
expect((await service.listPlugins()).map(({ id, status }) => ({ id, status }))).toEqual([
|
// would also conceal a failure to restart it after the global enable.
|
||||||
|
await expect
|
||||||
|
.poll(() => service.listPlugins(), { timeout: 10_000 })
|
||||||
|
.toMatchObject([
|
||||||
{ id: "first", status: "running" },
|
{ id: "first", status: "running" },
|
||||||
{ id: "second", status: "running" },
|
{ id: "second", status: "running" },
|
||||||
]);
|
]);
|
||||||
|
} finally {
|
||||||
await service.stopAllPlugins();
|
await service.stopAllPlugins();
|
||||||
|
}
|
||||||
}, 20_000);
|
}, 20_000);
|
||||||
|
|
||||||
it("does not publish an in-flight start after a later global disable", async () => {
|
it("does not publish an in-flight start after a later global disable", async () => {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ argument-hint: "[--profile <name>] <question or topic>"
|
|||||||
|
|
||||||
Single agent. Reads the situation you're in. Gives a judgment. You decide what to do — the advisor doesn't drive the work.
|
Single agent. Reads the situation you're in. Gives a judgment. You decide what to do — the advisor doesn't drive the work.
|
||||||
|
|
||||||
**User's request:** $ARGUMENTS
|
Use the user's request and current conversation as input, including any arguments supplied with the skill invocation. Optional syntax: `[--profile <name>] <question or topic>`.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
@@ -40,13 +40,15 @@ This is analysis only. Do NOT edit, create, or delete any files. Do NOT write co
|
|||||||
|
|
||||||
## Forwarded skills
|
## Forwarded skills
|
||||||
|
|
||||||
If `$ARGUMENTS` contains another skill reference — `/unslop`, `/unslop-risk`, `$unslop`, etc. — the user is asking the advisor to run that skill against the current task. Examples:
|
If the user's request contains another skill reference, such as `/unslop`, `/skill:unslop`, or `$unslop`, the user is asking the advisor to run that skill against the current task. Examples:
|
||||||
|
|
||||||
- `/paseo-advisor /unslop` → advisor runs `/unslop` on the current diff.
|
- `/paseo-advisor /unslop` → advisor runs `/unslop` on the current diff.
|
||||||
- `/paseo-advisor /unslop-risk` → advisor does an unslop-risk review.
|
- `/paseo-advisor /unslop-risk` → advisor does an unslop-risk review.
|
||||||
- `/paseo-advisor $diagnose this build failure` → advisor invokes `/diagnose`.
|
- `/paseo-advisor $diagnose this build failure` → advisor invokes `/diagnose`.
|
||||||
|
- `/skill:paseo-advisor /skill:unslop` → advisor runs the `unslop` skill on the current diff in Pi.
|
||||||
|
- `$paseo-advisor $unslop` → advisor runs the `unslop` skill on the current diff in Codex.
|
||||||
|
|
||||||
Parse the forwarded skill name out of `$ARGUMENTS` (`/<name>` or `$<name>`). In the briefing, tell the advisor explicitly:
|
Parse the forwarded skill name from the user's request (`/<name>`, `/skill:<name>`, or `$<name>`), excluding this skill's own invocation. In the briefing, tell the advisor explicitly:
|
||||||
|
|
||||||
```
|
```
|
||||||
Invoke the `<name>` skill against this task. Load it via the Skill tool before doing anything else.
|
Invoke the `<name>` skill against this task. Load it via the Skill tool before doing anything else.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ user-invocable: true
|
|||||||
|
|
||||||
Two agents from contrasting profiles, fresh context, planning a solution in parallel.
|
Two agents from contrasting profiles, fresh context, planning a solution in parallel.
|
||||||
|
|
||||||
**User's additional context:** $ARGUMENTS
|
Use the user's request and current conversation as input, including any arguments supplied with the skill invocation.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ user-invocable: true
|
|||||||
|
|
||||||
Transfer the current task — context, decisions, failed attempts, constraints — to a fresh agent. The receiving agent starts with **zero context**, so the handoff prompt must be a self-contained briefing.
|
Transfer the current task — context, decisions, failed attempts, constraints — to a fresh agent. The receiving agent starts with **zero context**, so the handoff prompt must be a self-contained briefing.
|
||||||
|
|
||||||
**User's arguments:** $ARGUMENTS
|
Use the user's request and current conversation as input, including any arguments supplied with the skill invocation.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ description: Answer questions about the Paseo product and app, including setup,
|
|||||||
|
|
||||||
You are helping a user understand, configure, or troubleshoot Paseo itself. Answer their question directly, verify the answer against the current public documentation, and include the relevant documentation link. Do not send the user away to read the docs in place of helping them.
|
You are helping a user understand, configure, or troubleshoot Paseo itself. Answer their question directly, verify the answer against the current public documentation, and include the relevant documentation link. Do not send the user away to read the docs in place of helping them.
|
||||||
|
|
||||||
**User's question:** $ARGUMENTS
|
Use the user's question and current conversation as input, including any arguments supplied with the skill invocation.
|
||||||
|
|
||||||
## Use current documentation
|
## Use current documentation
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ description: Build and manage trusted local Paseo plugins. Use when the user ask
|
|||||||
|
|
||||||
Build or manage the requested plugin directly. Use the current public docs to catch contract changes, but keep working from this skill if the network is unavailable.
|
Build or manage the requested plugin directly. Use the current public docs to catch contract changes, but keep working from this skill if the network is unavailable.
|
||||||
|
|
||||||
**User's request:** $ARGUMENTS
|
Use the user's request and current conversation as input, including any arguments supplied with the skill invocation.
|
||||||
|
|
||||||
## Check current documentation
|
## Check current documentation
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user