pi-roundtable 0.9.3 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +4 -0
  3. package/README.zh-TW.md +4 -0
  4. package/docs/plugins.md +32 -6
  5. package/package.json +1 -1
  6. package/src/core/agents/agent-prompt.ts +1 -1
  7. package/src/core/builtin/discord-admin.ts +6 -2
  8. package/src/core/builtin/discord.ts +10 -0
  9. package/src/core/config/adapters.ts +47 -0
  10. package/src/core/config/config.ts +9 -34
  11. package/src/core/define-roundtable.ts +2 -0
  12. package/src/core/define.ts +8 -0
  13. package/src/core/discord/channel-files.ts +107 -0
  14. package/src/core/discord/channel-operations.ts +100 -33
  15. package/src/core/discord/discord-surface.ts +21 -4
  16. package/src/core/discord/dispatch-thread-host.ts +11 -0
  17. package/src/core/discord/dispatch-threads.ts +14 -0
  18. package/src/core/discord/inbound-message.ts +34 -0
  19. package/src/core/discord/owner-card-rows.ts +98 -0
  20. package/src/core/discord/owner-cards-fixture.ts +3 -0
  21. package/src/core/discord/owner-cards.ts +137 -105
  22. package/src/core/host.ts +9 -1
  23. package/src/core/i18n/cards.ts +6 -8
  24. package/src/core/i18n/conversation.ts +15 -0
  25. package/src/core/interactions/prompts.ts +36 -7
  26. package/src/core/modules/discord-admin/discord-admin.ts +16 -2
  27. package/src/core/plugin.ts +5 -0
  28. package/src/core/runtime/compaction-tiers.ts +61 -8
  29. package/src/core/runtime/conversation-sessions.ts +2 -0
  30. package/src/core/runtime/extensions/ask-user.ts +21 -4
  31. package/src/core/runtime/extensions/confirmation-gate.ts +73 -11
  32. package/src/core/runtime/prompt-slot.ts +6 -4
  33. package/src/core/runtime/runtime-types.ts +5 -0
  34. package/src/core/runtime/session-factory.ts +22 -2
  35. package/src/core/sessions.ts +6 -0
  36. package/src/core/shared/attach-file-tool.ts +72 -0
  37. package/src/core/shared/workspace-files.ts +76 -0
  38. package/src/core/testing/thread-host.ts +14 -0
  39. package/src/index.ts +2 -0
  40. package/src/kit/index.ts +2 -0
  41. package/src/kit/worker.ts +2 -0
  42. package/src/testing.ts +7 -1
package/src/kit/index.ts CHANGED
@@ -158,6 +158,7 @@ export {
158
158
  toolText,
159
159
  } from "./tools.ts";
160
160
  export type {
161
+ InterimPosterOptions,
161
162
  McpEndpoint,
162
163
  PromptSlot,
163
164
  VirtualServer,
@@ -166,6 +167,7 @@ export {
166
167
  approvalCard,
167
168
  archiveSessions,
168
169
  canonicalJson,
170
+ InterimPoster,
169
171
  mcpAdapterExtension,
170
172
  mcpExtension,
171
173
  promptSlot,
package/src/kit/worker.ts CHANGED
@@ -5,6 +5,8 @@ export {
5
5
  approvalCard,
6
6
  canonicalJson,
7
7
  } from "../core/runtime/extensions/confirmation-gate.ts";
8
+ export type { InterimPosterOptions } from "../core/runtime/interim-text.ts";
9
+ export { InterimPoster } from "../core/runtime/interim-text.ts";
8
10
  export type { VirtualServer } from "../core/runtime/mcp.ts";
9
11
  export { mcpExtension } from "../core/runtime/mcp.ts";
10
12
  export type { PromptSlot } from "../core/runtime/prompt-slot.ts";
package/src/testing.ts CHANGED
@@ -267,7 +267,12 @@ export interface TestPluginResult {
267
267
  runTool(
268
268
  name: string,
269
269
  args: Record<string, unknown>,
270
- options?: { speaker?: Speaker; channel?: ChannelKey },
270
+ /** `workspace` gives the session a workspace and scratch dir, as an agent's session has. */
271
+ options?: {
272
+ speaker?: Speaker;
273
+ channel?: ChannelKey;
274
+ workspace?: SessionContext["workspace"];
275
+ },
271
276
  ): Promise<string>;
272
277
  stop(): Promise<void>;
273
278
  }
@@ -632,6 +637,7 @@ export async function testPlugin(
632
637
  conversation: { visibility: "shared" },
633
638
  addressee: THE_SPEAKER,
634
639
  memory: "speaker",
640
+ ...(runOptions?.workspace ? { workspace: runOptions.workspace } : {}),
635
641
  attachmentDir: ownerAttachmentDir(attachmentDir, channel),
636
642
  speaker: () => runOptions?.speaker,
637
643
  runTask: async () => {