pi-roundtable 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/package.json +1 -2
- package/src/cli/checks/configuration.ts +2 -2
- package/src/cli/checks/database.ts +2 -2
- package/src/cli/checks/identity.ts +1 -1
- package/src/cli/checks/model.ts +1 -1
- package/src/cli/cli.ts +2 -2
- package/src/cli/principal.ts +1 -1
- package/src/cli/project.ts +2 -2
- package/src/cli/runtime.ts +3 -3
- package/src/cli/start.ts +1 -1
- package/src/core/agents/agent-claim.ts +4 -4
- package/src/core/agents/agent-dashboard.ts +3 -3
- package/src/core/agents/agent-messages.ts +2 -2
- package/src/core/agents/agent-outbox.ts +1 -1
- package/src/core/agents/agent-ports.ts +1 -1
- package/src/core/agents/agent-prompt.ts +4 -4
- package/src/core/agents/agent-rules.ts +1 -1
- package/src/core/agents/agent-schema.ts +4 -1
- package/src/core/agents/agent-settings.ts +2 -2
- package/src/core/agents/agent-store.ts +9 -9
- package/src/core/agents/agent-team-fixture.ts +4 -3
- package/src/core/agents/agent-team.ts +12 -16
- package/src/core/agents/agent-tools.ts +15 -15
- package/src/core/agents/avatar-refresh.ts +1 -1
- package/src/core/agents/avatar-studio.ts +2 -2
- package/src/core/agents/group-round.ts +2 -2
- package/src/core/agents/group-turns.ts +1 -1
- package/src/core/agents/helper-create.ts +24 -40
- package/src/core/agents/helper-modes.ts +2 -2
- package/src/core/agents/helper-preset-ops.ts +207 -0
- package/src/core/agents/helper-preset-tools.ts +109 -0
- package/src/core/agents/helper-presets.ts +128 -0
- package/src/core/agents/helper-test-kit.ts +1 -1
- package/src/core/agents/helper-tools.ts +42 -22
- package/src/core/agents/helper-work.ts +1 -1
- package/src/core/agents/message-target.ts +1 -1
- package/src/core/agents/routes.ts +1 -1
- package/src/core/agents/team-approval.ts +2 -2
- package/src/core/agents/team-editing.ts +2 -2
- package/src/core/agents/team-keys.ts +1 -1
- package/src/core/agents/team-layout.ts +1 -1
- package/src/core/agents/team-options.ts +4 -4
- package/src/core/agents/team-selection.ts +1 -1
- package/src/core/agents/team-status.ts +1 -1
- package/src/core/agents/team-text.ts +3 -3
- package/src/core/agents/team-turn-types.ts +7 -7
- package/src/core/agents/team-turns.ts +3 -3
- package/src/core/attachments/attachment-fetcher.ts +1 -1
- package/src/core/attachments/attachment-port.ts +2 -2
- package/src/core/attachments/attachment-retention.ts +3 -3
- package/src/core/attachments/attachment-store.ts +2 -2
- package/src/core/attachments/model-images.ts +1 -1
- package/src/core/attachments/turn-attachments.ts +1 -1
- package/src/core/builtin/agent-server.ts +17 -10
- package/src/core/builtin/channel-context.ts +2 -2
- package/src/core/builtin/discord-admin.ts +2 -2
- package/src/core/builtin/discord.ts +4 -3
- package/src/core/{identity/identity-plugin.ts → builtin/identity.ts} +15 -12
- package/src/core/builtin/modules.ts +12 -12
- package/src/core/builtin/prompts.ts +3 -3
- package/src/core/builtin/seeds.ts +1 -1
- package/src/core/builtin/session-tool.ts +1 -1
- package/src/core/builtin/skills.ts +3 -3
- package/src/core/builtin/stores.ts +10 -5
- package/src/core/builtin/threads.ts +2 -2
- package/src/core/builtin/worker-sessions.ts +3 -3
- package/src/core/config/access.ts +3 -3
- package/src/core/config/adapters.ts +1 -1
- package/src/core/config/config-schema.ts +9 -3
- package/src/core/config/config.ts +9 -10
- package/src/core/config/ops.ts +1 -1
- package/src/core/config/peer-bots.ts +74 -0
- package/src/core/config/routing.ts +1 -1
- package/src/core/contract/attachments.ts +1 -1
- package/src/core/contract/channels.ts +3 -5
- package/src/core/contract/runtime.ts +6 -6
- package/src/core/contract/surface.ts +3 -3
- package/src/core/conversations/conversation-registry.ts +1 -1
- package/src/core/conversations/conversation-retention.ts +2 -2
- package/src/core/conversations/conversation-store.ts +1 -1
- package/src/core/conversations/conversations-plugin.ts +2 -2
- package/src/core/db/migrations.ts +2 -2
- package/src/core/discord/agent-commands.ts +2 -2
- package/src/core/discord/agent-discord.ts +1 -1
- package/src/core/discord/agent-panel.ts +1 -1
- package/src/core/discord/card-audience.ts +1 -1
- package/src/core/discord/card-copies.ts +1 -1
- package/src/core/discord/channel-context.ts +1 -1
- package/src/core/discord/channel-executor.ts +1 -1
- package/src/core/discord/channel-operations.ts +1 -1
- package/src/core/discord/command-collection.ts +1 -1
- package/src/core/discord/compose-commands.ts +1 -1
- package/src/core/discord/context-images.ts +1 -1
- package/src/core/discord/discord-owners.ts +2 -2
- package/src/core/discord/discord-surface.ts +2 -2
- package/src/core/discord/member-events.ts +2 -2
- package/src/core/discord/message-changes.ts +1 -1
- package/src/core/discord/owner-cards.ts +1 -1
- package/src/core/discord/owner-command.ts +1 -1
- package/src/core/discord/schedule-commands.ts +1 -1
- package/src/core/domain/conversation.ts +5 -3
- package/src/core/{models.ts → domain/models.ts} +1 -1
- package/src/core/domain/ports.ts +2 -2
- package/src/core/{sessions.ts → domain/sessions.ts} +6 -6
- package/src/core/{define-roundtable.ts → host/define-roundtable.ts} +29 -29
- package/src/core/{drain.ts → host/drain.ts} +2 -7
- package/src/core/{events.ts → host/events.ts} +2 -2
- package/src/core/{host-background.ts → host/host-background.ts} +3 -3
- package/src/core/{host-registration.ts → host/host-registration.ts} +30 -30
- package/src/core/{host.ts → host/host.ts} +19 -15
- package/src/core/http/listeners.ts +2 -2
- package/src/core/http/websocket.ts +1 -1
- package/src/core/identity/access-policy.ts +8 -8
- package/src/core/identity/actor-facts.ts +1 -1
- package/src/core/identity/caching-principal-store.ts +1 -1
- package/src/core/identity/config-owner.ts +1 -1
- package/src/core/identity/contact.ts +2 -2
- package/src/core/identity/identity-links.ts +2 -2
- package/src/core/identity/identity-port.ts +2 -2
- package/src/core/identity/identity-schema.ts +1 -1
- package/src/core/identity/identity-service.ts +3 -3
- package/src/core/identity/identity-view.ts +1 -1
- package/src/core/{identity.ts → identity/owner-identity.ts} +1 -1
- package/src/core/identity/person-profiles.ts +1 -1
- package/src/core/identity/plugin-identities.ts +2 -2
- package/src/core/identity/principal-reads.ts +1 -1
- package/src/core/identity/principal-store.ts +1 -1
- package/src/core/identity/principal-types.ts +1 -1
- package/src/core/identity/seen-throttle.ts +1 -1
- package/src/core/{speakers.ts → identity/speakers.ts} +3 -6
- package/src/core/images/codex-images-plugin.ts +3 -3
- package/src/core/interactions/prompts.ts +1 -1
- package/src/core/judging/confirmation-judge.ts +1 -1
- package/src/core/judging/effort-judge.ts +2 -2
- package/src/core/judging/model-judge.ts +1 -1
- package/src/core/modes/conversation-modes.ts +4 -4
- package/src/core/modes/mode-inheritance.ts +1 -1
- package/src/core/modes/modes-plugin.ts +2 -2
- package/src/core/modules/background/background-turns.ts +4 -4
- package/src/core/modules/delegation/delegate.ts +3 -3
- package/src/core/modules/delegation/delegator.ts +4 -4
- package/src/core/modules/delegation/web-research-worker.ts +2 -2
- package/src/core/modules/delegation/worker-session.ts +5 -2
- package/src/core/modules/discord-admin/discord-admin.ts +1 -1
- package/src/core/modules/host-shell/shell-policy.ts +1 -1
- package/src/core/modules/memory/owner-memory-store.ts +1 -1
- package/src/core/modules/memory/owner-memory.ts +6 -3
- package/src/core/modules/notify/notify.ts +4 -1
- package/src/core/modules/notify/session-notify.ts +3 -3
- package/src/core/modules/prompts/prompt-documents.ts +1 -1
- package/src/core/modules/schedules/precheck-tools.ts +4 -4
- package/src/core/modules/schedules/prechecks.ts +2 -2
- package/src/core/modules/schedules/recurrence.ts +6 -1
- package/src/core/modules/schedules/schedule-prechecks.ts +4 -4
- package/src/core/modules/schedules/schedule-store.ts +2 -2
- package/src/core/modules/schedules/schedule-tools.ts +4 -4
- package/src/core/modules/schedules/scheduled-turn-text.ts +1 -1
- package/src/core/modules/schedules/scheduler.ts +3 -3
- package/src/core/modules/schedules/schedules.ts +5 -5
- package/src/core/modules/skills/missing-warning.ts +1 -1
- package/src/core/modules/skills/package-skills.ts +1 -1
- package/src/core/modules/skills/skill-registry.ts +2 -2
- package/src/core/modules/skills/skill-rules.ts +1 -1
- package/src/core/modules/skills/skill-tools.ts +1 -1
- package/src/core/ops/error-reporter.ts +2 -2
- package/src/core/ops/ops-alerts.ts +1 -1
- package/src/core/{define.ts → plugin-api/define.ts} +18 -20
- package/src/core/{event-types.ts → plugin-api/event-types.ts} +1 -1
- package/src/core/{holds.ts → plugin-api/holds.ts} +3 -3
- package/src/core/{plugin-removed.ts → plugin-api/plugin-removed.ts} +2 -2
- package/src/core/{plugin.ts → plugin-api/plugin.ts} +26 -26
- package/src/core/{services.ts → plugin-api/services.ts} +28 -28
- package/src/core/{tool-turn.ts → plugin-api/tool-turn.ts} +12 -5
- package/src/core/presence/delivery-router.ts +1 -1
- package/src/core/presence/direct-channels.ts +1 -1
- package/src/core/registry/chat-commands.ts +1 -1
- package/src/core/registry/contributions.ts +11 -11
- package/src/core/registry/providers.ts +2 -2
- package/src/core/registry/services.ts +2 -2
- package/src/core/registry/surface-service.ts +1 -1
- package/src/core/routing/actor-of.ts +1 -1
- package/src/core/routing/channel-queue.ts +2 -2
- package/src/core/routing/channel-router.ts +3 -3
- package/src/core/routing/claim-events.ts +2 -2
- package/src/core/routing/conversation-turns.ts +10 -6
- package/src/core/routing/forward-join.ts +1 -1
- package/src/core/routing/message-observers.ts +1 -1
- package/src/core/routing/message-text.ts +1 -1
- package/src/core/routing/peer-bots.ts +6 -74
- package/src/core/routing/queued-messages.ts +2 -2
- package/src/core/routing/settle-turn.ts +1 -1
- package/src/core/routing/surface-port.ts +3 -3
- package/src/core/runtime/ask-questions.ts +1 -1
- package/src/core/runtime/bridge-guard.ts +5 -5
- package/src/core/runtime/chat-only.ts +1 -1
- package/src/core/runtime/conversation-sessions.ts +2 -2
- package/src/core/runtime/extensions/agent-prompt.ts +1 -1
- package/src/core/runtime/extensions/ask-user-text.ts +5 -1
- package/src/core/runtime/extensions/ask-user.ts +4 -1
- package/src/core/runtime/extensions/card-ask.ts +1 -1
- package/src/core/runtime/extensions/confirmation-fixture.ts +1 -1
- package/src/core/runtime/extensions/confirmation-gate-extension.ts +1 -1
- package/src/core/runtime/extensions/confirmation-gate.ts +5 -5
- package/src/core/runtime/extensions/gate-refusals.ts +5 -2
- package/src/core/runtime/extensions/held-calls.ts +2 -2
- package/src/core/runtime/extensions/hold-describer.ts +3 -3
- package/src/core/runtime/extensions/hold-lookups.ts +4 -4
- package/src/core/runtime/extensions/persona-prompt.ts +1 -1
- package/src/core/runtime/extensions/prompt-read.ts +1 -1
- package/src/core/runtime/extensions/yolo.ts +1 -1
- package/src/core/runtime/interim-text.ts +1 -1
- package/src/core/runtime/pi-agent-runtime.ts +4 -4
- package/src/core/runtime/running-turn.ts +1 -1
- package/src/core/runtime/runtime-plugin.ts +13 -8
- package/src/core/runtime/runtime-types.ts +14 -10
- package/src/core/runtime/session-conversation.ts +3 -3
- package/src/core/runtime/session-factory.ts +5 -5
- package/src/core/runtime/thinking-level.ts +2 -2
- package/src/core/{tool-tiers.ts → runtime/tool-tiers.ts} +5 -5
- package/src/core/runtime/turn-answer.ts +1 -1
- package/src/core/runtime/turn-budget.ts +1 -1
- package/src/core/runtime/turn-limits.ts +1 -1
- package/src/core/runtime/turn-tools.ts +2 -2
- package/src/core/runtime/worker-task.ts +1 -1
- package/src/core/shared/attach-file-tool.ts +1 -1
- package/src/core/shared/delegate-tool.ts +1 -1
- package/src/core/shared/generate-image-tool.ts +1 -1
- package/src/core/{modules/background → shared}/personal-target.ts +2 -2
- package/src/core/{reply-files.ts → shared/reply-files.ts} +1 -1
- package/src/core/testing/eager-catalog.ts +1 -1
- package/src/core/testing/locale.ts +1 -1
- package/src/core/testing/map-identity.ts +5 -1
- package/src/core/testing/module-sessions.ts +3 -3
- package/src/core/testing/modules.ts +17 -13
- package/src/core/testing/owner.ts +2 -2
- package/src/core/testing/recording-logger.ts +1 -1
- package/src/core/testing/run-tool.ts +2 -2
- package/src/core/testing/surface-contract-support.ts +1 -1
- package/src/core/testing/surface-contract.ts +2 -2
- package/src/core/testing/test-host.ts +12 -12
- package/src/core/testing/thread-host.ts +1 -1
- package/src/core/testing/tool-set.ts +3 -3
- package/src/core/threads/dispatch-threads.ts +1 -1
- package/src/core/tool-set.snapshot.json +12 -0
- package/src/index.ts +76 -72
- package/src/kit/domain.ts +9 -9
- package/src/kit/holds.ts +4 -1
- package/src/kit/jev-judge.ts +1 -1
- package/src/kit/jev.ts +1 -1
- package/src/kit/presentation.ts +1 -1
- package/src/kit/support.ts +3 -3
- package/src/testing.ts +21 -20
- /package/src/core/{errors.ts → kernel/errors.ts} +0 -0
- /package/src/core/{freeze.ts → kernel/freeze.ts} +0 -0
- /package/src/core/{log.ts → kernel/log.ts} +0 -0
- /package/src/core/{time.ts → kernel/time.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { messages } from "../i18n/index.ts";
|
|
2
|
-
import type { OwnerIdentity } from "../identity.ts";
|
|
2
|
+
import type { OwnerIdentity } from "../identity/owner-identity.ts";
|
|
3
3
|
import type { OwnerAnswer, Prompts } from "../interactions/prompts.ts";
|
|
4
4
|
import {
|
|
5
5
|
type Questionnaire,
|
|
@@ -6,16 +6,16 @@ import type {
|
|
|
6
6
|
} from "@earendil-works/pi-coding-agent";
|
|
7
7
|
import type { AgentSessions } from "../contract/runtime.ts";
|
|
8
8
|
import { AgentRunError, ConfigError } from "../domain/errors.ts";
|
|
9
|
-
import type { AccessRules, AccessTier } from "../identity/access-policy.ts";
|
|
10
|
-
import type { IdentityService } from "../identity/identity-service.ts";
|
|
11
|
-
import { SYSTEM_PRINCIPAL } from "../identity/principal-store.ts";
|
|
12
9
|
import {
|
|
13
10
|
formatModelRef,
|
|
14
11
|
type ModelRef,
|
|
15
12
|
parseModelRef,
|
|
16
13
|
type ThinkingSetting,
|
|
17
|
-
} from "../models.ts";
|
|
18
|
-
import type {
|
|
14
|
+
} from "../domain/models.ts";
|
|
15
|
+
import type { AccessRules, AccessTier } from "../identity/access-policy.ts";
|
|
16
|
+
import type { IdentityService } from "../identity/identity-service.ts";
|
|
17
|
+
import { SYSTEM_PRINCIPAL } from "../identity/principal-store.ts";
|
|
18
|
+
import type { RoundtablePlugin } from "../plugin-api/plugin.ts";
|
|
19
19
|
import { guardHidesPrivateExchange } from "./extensions/private-memory.ts";
|
|
20
20
|
import { bridgeHistoryHidesMemoryFor } from "./reader-history.ts";
|
|
21
21
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConfigError } from "../domain/errors.ts";
|
|
2
2
|
import { SHELL_TOOLS } from "../modules/host-shell/shell-policy.ts";
|
|
3
|
-
import type { RoundtablePlugin } from "../plugin.ts";
|
|
3
|
+
import type { RoundtablePlugin } from "../plugin-api/plugin.ts";
|
|
4
4
|
|
|
5
5
|
const CHAT_ONLY = 'agentServer: { tools: "chat-only" }';
|
|
6
6
|
|
|
@@ -5,9 +5,8 @@ import type {
|
|
|
5
5
|
ChannelKey,
|
|
6
6
|
PendingConfirmation,
|
|
7
7
|
} from "../domain/conversation.ts";
|
|
8
|
+
import type { ThinkingLevel } from "../domain/models.ts";
|
|
8
9
|
import type { TurnConversation, TurnRequest } from "../domain/ports.ts";
|
|
9
|
-
import type { ThinkingLevel } from "../models.ts";
|
|
10
|
-
import type { ToolTiers } from "../tool-tiers.ts";
|
|
11
10
|
import { ConfirmationGate, unexpired } from "./extensions/confirmation-gate.ts";
|
|
12
11
|
import { PromptSlot } from "./prompt-slot.ts";
|
|
13
12
|
import type { ChannelSession, PiAgentRuntimeOptions } from "./runtime-types.ts";
|
|
@@ -23,6 +22,7 @@ import {
|
|
|
23
22
|
historyScope,
|
|
24
23
|
scopedHistory,
|
|
25
24
|
} from "./session-scope.ts";
|
|
25
|
+
import type { ToolTiers } from "./tool-tiers.ts";
|
|
26
26
|
|
|
27
27
|
type AgentMessage = AgentSession["messages"][number];
|
|
28
28
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ExtensionFactory } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { type Static, Type } from "typebox";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
type OwnerIdentity,
|
|
5
|
+
ownerWords,
|
|
6
|
+
} from "../../identity/owner-identity.ts";
|
|
4
7
|
import type { OwnerQuestion } from "../../interactions/prompts.ts";
|
|
5
8
|
import { QUESTIONNAIRE_LIMITS as L } from "../../interactions/questionnaire.ts";
|
|
6
9
|
import { DEFAULT_YOLO_QUESTION_GRACE_MS } from "../../modes/autonomy.ts";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Tier } from "../../identity/speakers.ts";
|
|
1
2
|
import type {
|
|
2
3
|
Approval,
|
|
3
4
|
ApprovalDetails,
|
|
@@ -6,7 +7,6 @@ import type {
|
|
|
6
7
|
Prompts,
|
|
7
8
|
PromptWait,
|
|
8
9
|
} from "../../interactions/prompts.ts";
|
|
9
|
-
import type { Tier } from "../../speakers.ts";
|
|
10
10
|
import type { Watch } from "./withdrawals.ts";
|
|
11
11
|
|
|
12
12
|
/** What a held call's card is opened with. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExtensionFactory } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import type { ToolTurn } from "../../define.ts";
|
|
2
|
+
import type { ToolTurn } from "../../plugin-api/define.ts";
|
|
3
3
|
import type { PromptSlot } from "../prompt-slot.ts";
|
|
4
4
|
import type { ConfirmationGate, HoldTurn } from "./confirmation-gate.ts";
|
|
5
5
|
|
|
@@ -2,17 +2,17 @@ import type {
|
|
|
2
2
|
HeldCall,
|
|
3
3
|
PendingConfirmation,
|
|
4
4
|
} from "../../domain/conversation.ts";
|
|
5
|
+
import { messages } from "../../i18n/index.ts";
|
|
6
|
+
import type { OwnerIdentity } from "../../identity/owner-identity.ts";
|
|
7
|
+
import type { ApprovedBy, Prompts } from "../../interactions/prompts.ts";
|
|
5
8
|
import {
|
|
6
9
|
HOLD_DESCRIBE_TIMEOUT_MS,
|
|
7
10
|
type HoldCheck,
|
|
8
11
|
type HoldContext,
|
|
9
12
|
higherTier,
|
|
10
13
|
isPromise,
|
|
11
|
-
} from "../../holds.ts";
|
|
12
|
-
import {
|
|
13
|
-
import type { OwnerIdentity } from "../../identity.ts";
|
|
14
|
-
import type { ApprovedBy, Prompts } from "../../interactions/prompts.ts";
|
|
15
|
-
import type { ToolTiers } from "../../tool-tiers.ts";
|
|
14
|
+
} from "../../plugin-api/holds.ts";
|
|
15
|
+
import type { ToolTiers } from "../tool-tiers.ts";
|
|
16
16
|
import { approvalCard, approvalDetails } from "./approval-card.ts";
|
|
17
17
|
import { askOnCard } from "./card-ask.ts";
|
|
18
18
|
import {
|
|
@@ -3,12 +3,15 @@ import type {
|
|
|
3
3
|
PendingConfirmation,
|
|
4
4
|
} from "../../domain/conversation.ts";
|
|
5
5
|
import type { HoldRefusal } from "../../domain/progress.ts";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
type OwnerIdentity,
|
|
8
|
+
ownerWords,
|
|
9
|
+
} from "../../identity/owner-identity.ts";
|
|
10
|
+
import type { Speaker } from "../../identity/speakers.ts";
|
|
7
11
|
import type {
|
|
8
12
|
ApprovalDetails,
|
|
9
13
|
ApprovedBy,
|
|
10
14
|
} from "../../interactions/prompts.ts";
|
|
11
|
-
import type { Speaker } from "../../speakers.ts";
|
|
12
15
|
import { mayApproveNamed } from "./held-calls.ts";
|
|
13
16
|
|
|
14
17
|
/**
|
|
@@ -2,9 +2,9 @@ import type {
|
|
|
2
2
|
HeldCall,
|
|
3
3
|
PendingConfirmation,
|
|
4
4
|
} from "../../domain/conversation.ts";
|
|
5
|
-
import type { OwnerIdentity } from "../../identity.ts";
|
|
5
|
+
import type { OwnerIdentity } from "../../identity/owner-identity.ts";
|
|
6
|
+
import type { Speaker } from "../../identity/speakers.ts";
|
|
6
7
|
import type { ApprovedBy } from "../../interactions/prompts.ts";
|
|
7
|
-
import type { Speaker } from "../../speakers.ts";
|
|
8
8
|
|
|
9
9
|
/** Held actions older than this cannot be approved any more. */
|
|
10
10
|
export const CONFIRMATION_TTL_MS = 24 * 3_600_000;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { messages } from "../../i18n/index.ts";
|
|
2
|
+
import type { ToolTurn } from "../../plugin-api/define.ts";
|
|
2
3
|
import {
|
|
3
4
|
type ClassedHold,
|
|
4
5
|
type HoldCheck,
|
|
5
6
|
type HoldContext,
|
|
6
7
|
type HoldDescription,
|
|
7
8
|
isPromise,
|
|
8
|
-
} from "../../holds.ts";
|
|
9
|
-
import { messages } from "../../i18n/index.ts";
|
|
9
|
+
} from "../../plugin-api/holds.ts";
|
|
10
10
|
import {
|
|
11
11
|
awaited,
|
|
12
12
|
type Described,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { ToolTurn } from "../../define.ts";
|
|
2
1
|
import type { HeldCall } from "../../domain/conversation.ts";
|
|
2
|
+
import { messages } from "../../i18n/index.ts";
|
|
3
|
+
import type { ApprovalDetails } from "../../interactions/prompts.ts";
|
|
4
|
+
import type { ToolTurn } from "../../plugin-api/define.ts";
|
|
3
5
|
import {
|
|
4
6
|
type HoldCheck,
|
|
5
7
|
type HoldContext,
|
|
6
8
|
type HoldDescription,
|
|
7
9
|
isPromise,
|
|
8
|
-
} from "../../holds.ts";
|
|
9
|
-
import { messages } from "../../i18n/index.ts";
|
|
10
|
-
import type { ApprovalDetails } from "../../interactions/prompts.ts";
|
|
10
|
+
} from "../../plugin-api/holds.ts";
|
|
11
11
|
import { canonicalJson } from "./held-calls.ts";
|
|
12
12
|
|
|
13
13
|
/** The turn a hold that looks things up sees; see `HoldRule.describeInTurn`. */
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { HeldCall } from "../../domain/conversation.ts";
|
|
2
2
|
import type { TurnRequest } from "../../domain/ports.ts";
|
|
3
|
+
import type { ChannelKey } from "../../domain/sessions.ts";
|
|
3
4
|
import { SYSTEM_PRINCIPAL } from "../../identity/principal-store.ts";
|
|
4
5
|
import type { ApprovedBy } from "../../interactions/prompts.ts";
|
|
5
6
|
import { type Autonomy, DEFAULT_AUTONOMY } from "../../modes/autonomy.ts";
|
|
6
7
|
import type { ConversationModes } from "../../modes/conversation-modes.ts";
|
|
7
8
|
import { YOLO_CARDED_SHELL_CLASSES } from "../../modules/host-shell/shell-policy.ts";
|
|
8
|
-
import type { ChannelKey } from "../../sessions.ts";
|
|
9
9
|
import type { PiAgentRuntimeOptions } from "../runtime-types.ts";
|
|
10
10
|
import type { AutoApprover } from "./confirmation-gate.ts";
|
|
11
11
|
import type { SpeakerRef } from "./gate-refusals.ts";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InterimMessage, InterimPosts } from "../domain/interim.ts";
|
|
2
2
|
import type { TurnRequest } from "../domain/ports.ts";
|
|
3
|
-
import type { Logger } from "../log.ts";
|
|
3
|
+
import type { Logger } from "../kernel/log.ts";
|
|
4
4
|
import {
|
|
5
5
|
DISCORD_MESSAGE_LIMIT,
|
|
6
6
|
splitReply,
|
|
@@ -18,12 +18,11 @@ import type {
|
|
|
18
18
|
} from "../domain/conversation.ts";
|
|
19
19
|
import { AgentRunError } from "../domain/errors.ts";
|
|
20
20
|
import type { TurnRequest } from "../domain/ports.ts";
|
|
21
|
-
import {
|
|
21
|
+
import type { TransientTask } from "../domain/sessions.ts";
|
|
22
22
|
import { assistantName } from "../i18n/index.ts";
|
|
23
23
|
import { promptScopeOf } from "../interactions/prompts.ts";
|
|
24
|
-
import {
|
|
25
|
-
import
|
|
26
|
-
import { type ToolTiers, toolTiers } from "../tool-tiers.ts";
|
|
24
|
+
import { HostStoppingError } from "../kernel/errors.ts";
|
|
25
|
+
import { withoutReplyFiles } from "../shared/reply-files.ts";
|
|
27
26
|
import { AbortGuard } from "./abort-guard.ts";
|
|
28
27
|
import { bridgeTurnRefusal, chosenAgentModel } from "./bridge-guard.ts";
|
|
29
28
|
import { ConversationSessions } from "./conversation-sessions.ts";
|
|
@@ -47,6 +46,7 @@ import { SessionFactory } from "./session-factory.ts";
|
|
|
47
46
|
import { promptImages, SteerableRun } from "./steerable-run.ts";
|
|
48
47
|
import { thinkingLevel } from "./thinking-level.ts";
|
|
49
48
|
import { runningCalls } from "./tool-call-scope.ts";
|
|
49
|
+
import { type ToolTiers, toolTiers } from "./tool-tiers.ts";
|
|
50
50
|
import { transcriptOf, turnAnswer, unspokenTurn } from "./turn-answer.ts";
|
|
51
51
|
import type { TurnBudget } from "./turn-budget.ts";
|
|
52
52
|
import { promptFailed, turnLimits } from "./turn-limits.ts";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ClientPort } from "../domain/client.ts";
|
|
2
2
|
import type { TurnRequest } from "../domain/ports.ts";
|
|
3
|
-
import type { Speaker, Tier } from "../speakers.ts";
|
|
3
|
+
import type { Speaker, Tier } from "../identity/speakers.ts";
|
|
4
4
|
|
|
5
5
|
/** What the runtime keeps about a conversation's running turn, for its tools to read. */
|
|
6
6
|
export interface RunningTurn {
|
|
@@ -7,20 +7,25 @@ import type {
|
|
|
7
7
|
} from "../contract/runtime.ts";
|
|
8
8
|
import type { ChannelKey } from "../domain/conversation.ts";
|
|
9
9
|
import type { InterimTextMode } from "../domain/interim.ts";
|
|
10
|
-
import type { IdentityService } from "../identity/identity-service.ts";
|
|
11
|
-
import type { OwnerIdentity } from "../identity.ts";
|
|
12
|
-
import type { PromptScope } from "../interactions/prompts.ts";
|
|
13
|
-
import { AGENT_BRIEF, EffortJudge } from "../judging/effort-judge.ts";
|
|
14
10
|
import {
|
|
15
11
|
type EffortPolicy,
|
|
16
12
|
formatModelRef,
|
|
17
13
|
type ModelRef,
|
|
18
14
|
type ThinkingLevel,
|
|
19
|
-
} from "../models.ts";
|
|
15
|
+
} from "../domain/models.ts";
|
|
16
|
+
import type { IdentityService } from "../identity/identity-service.ts";
|
|
17
|
+
import type { OwnerIdentity } from "../identity/owner-identity.ts";
|
|
18
|
+
import type { Speaker } from "../identity/speakers.ts";
|
|
19
|
+
import type { PromptScope } from "../interactions/prompts.ts";
|
|
20
|
+
import { AGENT_BRIEF, EffortJudge } from "../judging/effort-judge.ts";
|
|
20
21
|
import type { Autonomy } from "../modes/autonomy.ts";
|
|
21
|
-
import type { PluginContext, RoundtablePlugin } from "../plugin.ts";
|
|
22
|
-
import {
|
|
23
|
-
|
|
22
|
+
import type { PluginContext, RoundtablePlugin } from "../plugin-api/plugin.ts";
|
|
23
|
+
import {
|
|
24
|
+
CONVERSATIONS,
|
|
25
|
+
IDENTITY,
|
|
26
|
+
MODES,
|
|
27
|
+
RUNTIME,
|
|
28
|
+
} from "../plugin-api/services.ts";
|
|
24
29
|
import {
|
|
25
30
|
BRIDGE_MEMORY_FIX,
|
|
26
31
|
bridgeMemoryProblem,
|
|
@@ -8,28 +8,32 @@ import type { ImageDrawer } from "../contract/providers.ts";
|
|
|
8
8
|
import type { AgentSessions, LoadedSkill } from "../contract/runtime.ts";
|
|
9
9
|
import type { ChannelKey } from "../domain/conversation.ts";
|
|
10
10
|
import type { InterimTextMode } from "../domain/interim.ts";
|
|
11
|
+
import type {
|
|
12
|
+
EffortPolicy,
|
|
13
|
+
ThinkingLevel,
|
|
14
|
+
ThinkingPicker,
|
|
15
|
+
} from "../domain/models.ts";
|
|
11
16
|
import type { TurnConversation } from "../domain/ports.ts";
|
|
12
|
-
import type { Principal } from "../identity/principal-store.ts";
|
|
13
|
-
import type { OwnerIdentity } from "../identity.ts";
|
|
14
|
-
import type { PromptScope, Prompts } from "../interactions/prompts.ts";
|
|
15
|
-
import type { Logger } from "../log.ts";
|
|
16
|
-
import type { EffortPolicy, ThinkingLevel, ThinkingPicker } from "../models.ts";
|
|
17
|
-
import type { Autonomy } from "../modes/autonomy.ts";
|
|
18
|
-
import type { ConversationModes } from "../modes/conversation-modes.ts";
|
|
19
|
-
import type { AgentTools, LinkedSessions } from "../plugin.ts";
|
|
20
17
|
import {
|
|
21
18
|
planOrder,
|
|
22
19
|
type SessionContext,
|
|
23
20
|
type SessionConversation,
|
|
24
21
|
type SessionPlan,
|
|
25
22
|
type SessionTool,
|
|
26
|
-
} from "../sessions.ts";
|
|
23
|
+
} from "../domain/sessions.ts";
|
|
24
|
+
import type { OwnerIdentity } from "../identity/owner-identity.ts";
|
|
25
|
+
import type { Principal } from "../identity/principal-store.ts";
|
|
26
|
+
import type { PromptScope, Prompts } from "../interactions/prompts.ts";
|
|
27
|
+
import type { Logger } from "../kernel/log.ts";
|
|
28
|
+
import type { Autonomy } from "../modes/autonomy.ts";
|
|
29
|
+
import type { ConversationModes } from "../modes/conversation-modes.ts";
|
|
30
|
+
import type { AgentTools, LinkedSessions } from "../plugin-api/plugin.ts";
|
|
27
31
|
import type { ShellEnv } from "../shared/child-env.ts";
|
|
28
32
|
import { secretMaskExtension } from "../shared/secret-mask.ts";
|
|
29
|
-
import type { ToolTiers } from "../tool-tiers.ts";
|
|
30
33
|
import type { MemoryDraws } from "./extensions/private-memory.ts";
|
|
31
34
|
import type { PendingConfirmationStore } from "./pending-confirmation-store.ts";
|
|
32
35
|
import { scopedCalls } from "./tool-call-scope.ts";
|
|
36
|
+
import type { ToolTiers } from "./tool-tiers.ts";
|
|
33
37
|
|
|
34
38
|
export type TurnMessage = Extract<
|
|
35
39
|
AgentSessionEvent,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ChannelKey } from "../domain/conversation.ts";
|
|
2
2
|
import type { TurnConversation, TurnRequest } from "../domain/ports.ts";
|
|
3
|
+
import type { SessionConversation } from "../domain/sessions.ts";
|
|
4
|
+
import { addresseeOf, type OwnerIdentity } from "../identity/owner-identity.ts";
|
|
3
5
|
import {
|
|
4
6
|
type Principal,
|
|
5
7
|
SYSTEM_PRINCIPAL,
|
|
6
8
|
} from "../identity/principal-store.ts";
|
|
7
|
-
import {
|
|
8
|
-
import type { SessionConversation } from "../sessions.ts";
|
|
9
|
-
import { addressee, type Speaker, THE_SPEAKER } from "../speakers.ts";
|
|
9
|
+
import { addressee, type Speaker, THE_SPEAKER } from "../identity/speakers.ts";
|
|
10
10
|
import type { PiAgentRuntimeOptions } from "./runtime-types.ts";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -12,7 +12,6 @@ import type { ClientPort } from "../domain/client.ts";
|
|
|
12
12
|
import type { ChannelKey } from "../domain/conversation.ts";
|
|
13
13
|
import { ConfigError } from "../domain/errors.ts";
|
|
14
14
|
import type { AgentTurnScope } from "../domain/ports.ts";
|
|
15
|
-
import type { LinkedSessions } from "../plugin.ts";
|
|
16
15
|
import {
|
|
17
16
|
planOrder,
|
|
18
17
|
type SessionContext,
|
|
@@ -20,7 +19,10 @@ import {
|
|
|
20
19
|
type SessionPlan,
|
|
21
20
|
type ToolSelection,
|
|
22
21
|
type TransientTask,
|
|
23
|
-
} from "../sessions.ts";
|
|
22
|
+
} from "../domain/sessions.ts";
|
|
23
|
+
import { type Speaker, THE_SPEAKER } from "../identity/speakers.ts";
|
|
24
|
+
import type { LinkedSessions } from "../plugin-api/plugin.ts";
|
|
25
|
+
import { toolTurn } from "../plugin-api/tool-turn.ts";
|
|
24
26
|
import { activeToolsExtension } from "../shared/active-tools.ts";
|
|
25
27
|
import {
|
|
26
28
|
ATTACH_FILE_TOOL,
|
|
@@ -29,9 +31,6 @@ import {
|
|
|
29
31
|
import { GENERATE_IMAGE_TOOL } from "../shared/generate-image-tool.ts";
|
|
30
32
|
import { packageDir } from "../shared/package-dir.ts";
|
|
31
33
|
import { readAttachmentExtension } from "../shared/read-attachment-tool.ts";
|
|
32
|
-
import { type Speaker, THE_SPEAKER } from "../speakers.ts";
|
|
33
|
-
import { currentToolNames } from "../tool-tiers.ts";
|
|
34
|
-
import { toolTurn } from "../tool-turn.ts";
|
|
35
34
|
import { refuseShellTools } from "./chat-only.ts";
|
|
36
35
|
import {
|
|
37
36
|
CompactionTiers,
|
|
@@ -72,6 +71,7 @@ import {
|
|
|
72
71
|
turnAddressee,
|
|
73
72
|
} from "./session-conversation.ts";
|
|
74
73
|
import { imageTools, scratchBash } from "./session-helpers.ts";
|
|
74
|
+
import { currentToolNames } from "./tool-tiers.ts";
|
|
75
75
|
|
|
76
76
|
export { imageTools, scratchBash };
|
|
77
77
|
|
|
@@ -3,12 +3,12 @@ import type {
|
|
|
3
3
|
ModelRuntime,
|
|
4
4
|
} from "@earendil-works/pi-coding-agent";
|
|
5
5
|
import type { ChannelKey } from "../domain/conversation.ts";
|
|
6
|
-
import type { TurnRequest } from "../domain/ports.ts";
|
|
7
6
|
import {
|
|
8
7
|
AUTO_THINKING,
|
|
9
8
|
type EffortPolicy,
|
|
10
9
|
type ThinkingLevel,
|
|
11
|
-
} from "../models.ts";
|
|
10
|
+
} from "../domain/models.ts";
|
|
11
|
+
import type { TurnRequest } from "../domain/ports.ts";
|
|
12
12
|
import {
|
|
13
13
|
type AgentModelSettings,
|
|
14
14
|
useChosenAgentModel,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { type Tier, tierAtLeast } from "../identity/speakers.ts";
|
|
2
|
+
import { PluginError } from "../kernel/errors.ts";
|
|
3
|
+
import type { Logger } from "../kernel/log.ts";
|
|
4
|
+
import { ASK_USER_TOOL } from "./extensions/ask-user.ts";
|
|
5
|
+
import { COMPACT_TOOL } from "./extensions/self-compact-guard.ts";
|
|
6
6
|
|
|
7
7
|
/** The lowest tier that may use each tool; a tool that is not named needs the owner. */
|
|
8
8
|
export interface ToolTiers {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TranscriptEntry, TurnResult } from "../domain/conversation.ts";
|
|
2
2
|
import { AgentRunError } from "../domain/errors.ts";
|
|
3
|
-
import { hasReplyFiles } from "../reply-files.ts";
|
|
3
|
+
import { hasReplyFiles } from "../shared/reply-files.ts";
|
|
4
4
|
import { lastAssistant, textOf } from "../shared/session-messages.ts";
|
|
5
5
|
import { TRANSCRIPT_ENTRY_CHARS } from "./runtime-types.ts";
|
|
6
6
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ChannelKey } from "../domain/sessions.ts";
|
|
1
2
|
import type {
|
|
2
3
|
TurnLimit,
|
|
3
4
|
TurnTimeout,
|
|
@@ -6,7 +7,6 @@ import type {
|
|
|
6
7
|
import { messages } from "../i18n/index.ts";
|
|
7
8
|
import type { Approval } from "../interactions/prompts.ts";
|
|
8
9
|
import { DEFAULT_YOLO_TIMEOUT_CARD_GRACE_MS } from "../modes/autonomy.ts";
|
|
9
|
-
import type { ChannelKey } from "../sessions.ts";
|
|
10
10
|
import type { PromptSlot } from "./prompt-slot.ts";
|
|
11
11
|
import type { PiAgentRuntimeOptions } from "./runtime-types.ts";
|
|
12
12
|
import type { ActivityTracker } from "./turn-activity.ts";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { AgentSessionEvent } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import type { TurnResult } from "../domain/conversation.ts";
|
|
3
3
|
import { AgentRunError } from "../domain/errors.ts";
|
|
4
|
+
import type { ChannelKey } from "../domain/sessions.ts";
|
|
4
5
|
import { type TurnTimeout, TurnTimeoutError } from "../domain/turn-timeout.ts";
|
|
5
6
|
import { catalogFor } from "../i18n/index.ts";
|
|
6
7
|
import { DEFAULT_AUTONOMY } from "../modes/autonomy.ts";
|
|
7
|
-
import type { ChannelKey } from "../sessions.ts";
|
|
8
8
|
import type { PromptSlot } from "./prompt-slot.ts";
|
|
9
9
|
import type { PiAgentRuntimeOptions } from "./runtime-types.ts";
|
|
10
10
|
import { activityTracker } from "./turn-activity.ts";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HeldCall } from "../domain/conversation.ts";
|
|
2
|
+
import type { Tier } from "../identity/speakers.ts";
|
|
2
3
|
import { MEMORY_TOOLS } from "../modules/memory/owner-memory.ts";
|
|
3
|
-
import type
|
|
4
|
-
import { type ToolTiers, toolsForTier } from "../tool-tiers.ts";
|
|
4
|
+
import { type ToolTiers, toolsForTier } from "./tool-tiers.ts";
|
|
5
5
|
|
|
6
6
|
const MEMORY = new Set<string>(MEMORY_TOOLS);
|
|
7
7
|
|
|
@@ -3,7 +3,7 @@ import type {
|
|
|
3
3
|
ModelRuntime,
|
|
4
4
|
} from "@earendil-works/pi-coding-agent";
|
|
5
5
|
import { AgentRunError, ConfigError } from "../domain/errors.ts";
|
|
6
|
-
import { parseModelRef } from "../models.ts";
|
|
6
|
+
import { parseModelRef } from "../domain/models.ts";
|
|
7
7
|
import { lastAssistant, textOf } from "../shared/session-messages.ts";
|
|
8
8
|
|
|
9
9
|
export const MAX_REPORT_CHARS = 20_000;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BackgroundTarget } from "
|
|
2
|
-
import { messages } from "
|
|
1
|
+
import type { BackgroundTarget } from "../contract/channels.ts";
|
|
2
|
+
import { messages } from "../i18n/index.ts";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The host's own background target: every person's conversations whose claim answers background
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import type { ReplyFile, TurnResult } from "
|
|
2
|
+
import type { ReplyFile, TurnResult } from "../domain/conversation.ts";
|
|
3
3
|
|
|
4
4
|
/** Limits across all tools in one turn, independent of the surface's own limits. */
|
|
5
5
|
export const REPLY_FILE_LIMITS = Object.freeze({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Locale, setLocale } from "../i18n/index.ts";
|
|
2
|
-
import { setTimeZone } from "../time.ts";
|
|
2
|
+
import { setTimeZone } from "../kernel/time.ts";
|
|
3
3
|
|
|
4
4
|
/** What a test file runs under; the core's own suite uses the neutral defaults. */
|
|
5
5
|
export interface TestLocale {
|
|
@@ -3,7 +3,11 @@ import type { ActorFacts } from "../identity/actor-facts.ts";
|
|
|
3
3
|
import type { ContactAssessor } from "../identity/contact.ts";
|
|
4
4
|
import type { IdentityService } from "../identity/identity-service.ts";
|
|
5
5
|
import type { IdentityLink, Principal } from "../identity/principal-store.ts";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
type SpeakerMap,
|
|
8
|
+
speakerPolicy,
|
|
9
|
+
tierAtLeast,
|
|
10
|
+
} from "../identity/speakers.ts";
|
|
7
11
|
|
|
8
12
|
/**
|
|
9
13
|
* Who a 0.8 speaker map serves, for a test without a database: each person their own principal,
|
|
@@ -2,13 +2,13 @@ import type {
|
|
|
2
2
|
ExtensionAPI,
|
|
3
3
|
ExtensionFactory,
|
|
4
4
|
} from "@earendil-works/pi-coding-agent";
|
|
5
|
-
import type { OwnerIdentity } from "../identity.ts";
|
|
6
5
|
import type {
|
|
7
6
|
AgentTurnScope,
|
|
8
7
|
ChannelKey,
|
|
9
8
|
SessionContext,
|
|
10
|
-
} from "../sessions.ts";
|
|
11
|
-
import
|
|
9
|
+
} from "../domain/sessions.ts";
|
|
10
|
+
import type { OwnerIdentity } from "../identity/owner-identity.ts";
|
|
11
|
+
import { type Speaker, THE_SPEAKER } from "../identity/speakers.ts";
|
|
12
12
|
import { OWNER_CHANNEL, type setUpModules } from "./modules.ts";
|
|
13
13
|
import { OWNER_SPEAKER } from "./owner.ts";
|
|
14
14
|
|