@gajae-code/coding-agent 0.12.6 → 0.12.8
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 +22 -1
- package/dist/types/async/job-manager.d.ts +36 -1
- package/dist/types/commands/notify.d.ts +4 -0
- package/dist/types/config/file-lock.d.ts +3 -0
- package/dist/types/config/model-discovery-manager.d.ts +6 -1
- package/dist/types/config/model-registry.d.ts +2 -0
- package/dist/types/config/resolve-config-value.d.ts +2 -1
- package/dist/types/config/settings-schema.d.ts +17 -1
- package/dist/types/eval/backend.d.ts +2 -2
- package/dist/types/exec/bash-executor.d.ts +8 -10
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +0 -36
- package/dist/types/internal-urls/registry-helpers.d.ts +0 -18
- package/dist/types/main.d.ts +1 -0
- package/dist/types/modes/components/hook-selector.d.ts +20 -0
- package/dist/types/modes/components/notifications-settings-editor.d.ts +53 -4
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +4 -2
- package/dist/types/sdk/broker/broker.d.ts +5 -1
- package/dist/types/sdk/broker/lifecycle-ledger.d.ts +1 -0
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +11 -3
- package/dist/types/sdk/bus/config.d.ts +75 -113
- package/dist/types/sdk/bus/discord-live-provider.d.ts +8 -2
- package/dist/types/sdk/bus/discord-provider.d.ts +19 -0
- package/dist/types/sdk/bus/index.d.ts +1 -1
- package/dist/types/sdk/bus/notification-orchestration.d.ts +127 -18
- package/dist/types/sdk/bus/notification-service.d.ts +31 -4
- package/dist/types/sdk/bus/session-control.d.ts +8 -3
- package/dist/types/sdk/bus/slack-live-provider.d.ts +9 -2
- package/dist/types/sdk/bus/slack-provider.d.ts +22 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +9 -4
- package/dist/types/sdk/client/discovery.d.ts +2 -1
- package/dist/types/sdk/host/host.d.ts +2 -23
- package/dist/types/sdk/host/query/handlers.d.ts +2 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +4 -7
- package/dist/types/sdk/index.d.ts +1 -0
- package/dist/types/sdk/providers.d.ts +22 -0
- package/dist/types/sdk/session-directory.d.ts +1 -1
- package/dist/types/session/artifacts.d.ts +5 -8
- package/dist/types/session/client-bridge.d.ts +0 -14
- package/dist/types/session/internal/managed-session-scope.d.ts +17 -1
- package/dist/types/session/internal/managed-session-storage.d.ts +11 -4
- package/dist/types/session/internal/native-publish-outcome.d.ts +1 -0
- package/dist/types/session/internal/session-open-errors.d.ts +5 -0
- package/dist/types/session/messages.d.ts +1 -4
- package/dist/types/session/session-manager.d.ts +7 -6
- package/dist/types/session/session-storage.d.ts +2 -0
- package/dist/types/session/streaming-output.d.ts +0 -32
- package/dist/types/task/receipt.d.ts +1 -2
- package/dist/types/task/types.d.ts +43 -178
- package/dist/types/tools/bash.d.ts +1 -1
- package/dist/types/tools/fetch.d.ts +0 -3
- package/dist/types/tools/output-meta.d.ts +5 -37
- package/dist/types/tools/subagent.d.ts +15 -0
- package/dist/types/tools/todo-write.d.ts +3 -0
- package/dist/types/tools/tool-result.d.ts +0 -1
- package/package.json +10 -8
- package/scripts/build-sdk-package-smoke.ts +51 -0
- package/scripts/capture-notifications-settings-showcase.ts +1 -1
- package/src/async/job-manager.ts +430 -46
- package/src/cli/notify-cli.ts +204 -94
- package/src/commands/notify.ts +19 -8
- package/src/config/file-lock.ts +6 -0
- package/src/config/model-discovery-manager.ts +50 -8
- package/src/config/model-registry.ts +862 -75
- package/src/config/resolve-config-value.ts +10 -8
- package/src/config/settings-schema.ts +25 -15
- package/src/config/settings.ts +15 -15
- package/src/cursor.ts +13 -20
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +2 -3
- package/src/eval/backend.ts +2 -2
- package/src/exec/bash-executor.ts +151 -425
- package/src/gjc-runtime/session-state-sidecar.ts +12 -2
- package/src/gjc-runtime/ultragoal-runtime.ts +3 -280
- package/src/gjc-runtime/workflow-manifest.generated.json +1 -40
- package/src/gjc-runtime/workflow-manifest.ts +0 -12
- package/src/internal-urls/agent-protocol.ts +38 -98
- package/src/internal-urls/artifact-protocol.ts +17 -28
- package/src/internal-urls/docs-index.generated.ts +7 -7
- package/src/internal-urls/registry-helpers.ts +0 -62
- package/src/main.ts +43 -7
- package/src/modes/DESIGN.md +11 -11
- package/src/modes/acp/acp-agent.ts +0 -24
- package/src/modes/acp/acp-client-bridge.ts +11 -154
- package/src/modes/components/hook-selector.ts +155 -44
- package/src/modes/components/model-selector.ts +242 -49
- package/src/modes/components/notifications-settings-editor.ts +631 -85
- package/src/modes/controllers/extension-ui-controller.ts +114 -15
- package/src/modes/controllers/selector-controller.ts +464 -50
- package/src/prompts/tools/bash.md +2 -2
- package/src/sdk/acp/adapter.ts +9 -200
- package/src/sdk/broker/broker.ts +54 -10
- package/src/sdk/broker/lifecycle-ledger.ts +34 -1
- package/src/sdk/broker/lifecycle.ts +47 -50
- package/src/sdk/bus/chat-daemon-cli.ts +12 -5
- package/src/sdk/bus/chat-daemon-control.ts +35 -8
- package/src/sdk/bus/chat-daemon-runtime.ts +16 -2
- package/src/sdk/bus/config.ts +534 -286
- package/src/sdk/bus/discord-live-provider.ts +57 -2
- package/src/sdk/bus/discord-provider.ts +21 -0
- package/src/sdk/bus/index.ts +105 -359
- package/src/sdk/bus/notification-orchestration.ts +371 -68
- package/src/sdk/bus/notification-service.ts +431 -130
- package/src/sdk/bus/session-control.ts +119 -44
- package/src/sdk/bus/slack-live-provider.ts +78 -2
- package/src/sdk/bus/slack-provider.ts +24 -0
- package/src/sdk/bus/telegram-daemon-cli.ts +9 -2
- package/src/sdk/bus/telegram-daemon-contract.ts +9 -4
- package/src/sdk/bus/telegram-daemon-control.ts +3 -3
- package/src/sdk/bus/telegram-daemon.ts +23 -15
- package/src/sdk/client/discovery.ts +10 -4
- package/src/sdk/host/host.ts +9 -187
- package/src/sdk/host/query/handlers.ts +20 -1
- package/src/sdk/host/reverse-leases.ts +42 -249
- package/src/sdk/index.ts +1 -0
- package/src/sdk/protocol/operation-inventory.generated.json +18 -0
- package/src/sdk/protocol/operation-registry.ts +5 -2
- package/src/sdk/providers.ts +51 -0
- package/src/sdk/session-directory.ts +1 -0
- package/src/sdk/session.ts +10 -7
- package/src/session/agent-session.ts +59 -202
- package/src/session/artifacts.ts +74 -211
- package/src/session/client-bridge.ts +0 -15
- package/src/session/internal/managed-session-scope.ts +981 -450
- package/src/session/internal/managed-session-storage.ts +362 -124
- package/src/session/internal/native-publish-outcome.ts +3 -1
- package/src/session/internal/session-open-errors.ts +11 -0
- package/src/session/messages.ts +7 -32
- package/src/session/session-manager.ts +48 -15
- package/src/session/session-storage.ts +72 -5
- package/src/session/streaming-output.ts +40 -198
- package/src/slash-commands/builtin-registry.ts +82 -4
- package/src/task/index.ts +237 -65
- package/src/task/receipt.ts +2 -4
- package/src/task/render.ts +0 -30
- package/src/task/types.ts +10 -34
- package/src/tools/ask.ts +1 -1
- package/src/tools/bash.ts +239 -818
- package/src/tools/eval.ts +4 -99
- package/src/tools/fetch.ts +15 -77
- package/src/tools/find.ts +3 -7
- package/src/tools/output-meta.ts +114 -696
- package/src/tools/search.ts +4 -9
- package/src/tools/subagent.ts +97 -75
- package/src/tools/telegram-send.ts +4 -2
- package/src/tools/todo-write.ts +47 -0
- package/src/tools/tool-result.ts +0 -1
- package/dist/types/gjc-runtime/ultragoal-review-source.d.ts +0 -83
- package/dist/types/utils/artifact-id.d.ts +0 -2
- package/src/gjc-runtime/ultragoal-review-source.ts +0 -378
- package/src/utils/artifact-id.ts +0 -6
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
DiscordConfigurationProbeResult,
|
|
3
|
+
DiscordDiagnosticProvider,
|
|
4
|
+
DiscordInboundEvent,
|
|
5
|
+
DiscordMessageComponent,
|
|
6
|
+
DiscordOneShotTestResult,
|
|
7
|
+
DiscordProvider,
|
|
8
|
+
DiscordThread,
|
|
9
|
+
} from "./discord-provider";
|
|
2
10
|
|
|
3
11
|
const API_BASE = "https://discord.com/api/v10";
|
|
4
12
|
const GATEWAY_INTENTS = 1 + 512 + 32_768;
|
|
@@ -35,7 +43,7 @@ export interface DiscordLiveProviderOptions {
|
|
|
35
43
|
type JsonRecord = Record<string, unknown>;
|
|
36
44
|
|
|
37
45
|
/** Discord REST/Gateway implementation. The only credential is held privately and is never emitted. */
|
|
38
|
-
export class DiscordLiveProvider implements DiscordProvider {
|
|
46
|
+
export class DiscordLiveProvider implements DiscordProvider, DiscordDiagnosticProvider {
|
|
39
47
|
readonly applicationId: string;
|
|
40
48
|
readonly #token: string;
|
|
41
49
|
readonly #fetch: DiscordFetch;
|
|
@@ -230,6 +238,53 @@ export class DiscordLiveProvider implements DiscordProvider {
|
|
|
230
238
|
return null;
|
|
231
239
|
}
|
|
232
240
|
|
|
241
|
+
async probeConfiguration(signal?: AbortSignal): Promise<DiscordConfigurationProbeResult> {
|
|
242
|
+
if (signal?.aborted) return { ok: false, detail: "Discord configuration probe cancelled." };
|
|
243
|
+
try {
|
|
244
|
+
const currentUser = await this.#request("/users/@me", { signal });
|
|
245
|
+
const botUserId = this.#string(currentUser, "id");
|
|
246
|
+
if (!botUserId) return { ok: false, detail: "Discord returned an invalid bot identity." };
|
|
247
|
+
const application = await this.#request("/applications/@me", { signal });
|
|
248
|
+
const applicationId = this.#string(application, "id");
|
|
249
|
+
if (!applicationId || applicationId !== this.applicationId) {
|
|
250
|
+
return { ok: false, detail: "Discord application identity does not match the configured application ID." };
|
|
251
|
+
}
|
|
252
|
+
return { ok: true, detail: "Discord bot and application credentials are valid.", botUserId };
|
|
253
|
+
} catch (error) {
|
|
254
|
+
if (signal?.aborted) return { ok: false, detail: "Discord configuration probe cancelled." };
|
|
255
|
+
const detail = error instanceof Error ? error.message : "Discord configuration probe failed.";
|
|
256
|
+
return { ok: false, detail };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
async sendOneShotTest(input: {
|
|
261
|
+
channelId: string;
|
|
262
|
+
message: string;
|
|
263
|
+
signal?: AbortSignal;
|
|
264
|
+
}): Promise<DiscordOneShotTestResult> {
|
|
265
|
+
if (input.signal?.aborted) return { ok: false, detail: "Discord notification test cancelled." };
|
|
266
|
+
try {
|
|
267
|
+
const response = await this.#request(`/channels/${input.channelId}/messages`, {
|
|
268
|
+
method: "POST",
|
|
269
|
+
body: JSON.stringify({ content: input.message }),
|
|
270
|
+
signal: input.signal,
|
|
271
|
+
});
|
|
272
|
+
const messageId = this.#string(response, "id");
|
|
273
|
+
if (!messageId) {
|
|
274
|
+
return {
|
|
275
|
+
ok: false,
|
|
276
|
+
detail: "Discord may have accepted the message but returned no message receipt.",
|
|
277
|
+
uncertain: true,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
return { ok: true, detail: "Discord notification test delivered.", messageId };
|
|
281
|
+
} catch (error) {
|
|
282
|
+
if (input.signal?.aborted) return { ok: false, detail: "Discord notification test cancelled." };
|
|
283
|
+
const detail = error instanceof Error ? error.message : "Discord notification test failed.";
|
|
284
|
+
return { ok: false, detail, uncertain: !detail.startsWith("Discord API request failed") };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
233
288
|
async start(onEvent: (event: DiscordInboundEvent) => Promise<void>): Promise<void> {
|
|
234
289
|
if (!this.#stopped) return;
|
|
235
290
|
this.#onEvent = onEvent;
|
|
@@ -31,6 +31,27 @@ export interface DiscordMessageComponent {
|
|
|
31
31
|
}>;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
export interface DiscordConfigurationProbeResult {
|
|
35
|
+
ok: boolean;
|
|
36
|
+
detail: string;
|
|
37
|
+
botUserId?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface DiscordOneShotTestResult {
|
|
41
|
+
ok: boolean;
|
|
42
|
+
detail: string;
|
|
43
|
+
messageId?: string;
|
|
44
|
+
uncertain?: boolean;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface DiscordDiagnosticProvider {
|
|
48
|
+
probeConfiguration(signal?: AbortSignal): Promise<DiscordConfigurationProbeResult>;
|
|
49
|
+
sendOneShotTest(input: {
|
|
50
|
+
channelId: string;
|
|
51
|
+
message: string;
|
|
52
|
+
signal?: AbortSignal;
|
|
53
|
+
}): Promise<DiscordOneShotTestResult>;
|
|
54
|
+
}
|
|
34
55
|
export interface DiscordProvider {
|
|
35
56
|
readonly applicationId: string;
|
|
36
57
|
readonly botUserId: string;
|