@cursor/july 0.1.27 → 0.1.28
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/dist/bin/agent-serve.js +12 -3
- package/dist/channels/slack/auth.d.ts +13 -13
- package/dist/channels/slack/auth.d.ts.map +1 -1
- package/dist/channels/slack/auth.js +19 -10
- package/dist/channels/slack/cursor-account.d.ts.map +1 -1
- package/dist/channels/slack/cursor-account.js +3 -1
- package/dist/channels/slack/defaults.d.ts +7 -4
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +14 -4
- package/dist/channels/slack/dispatch.d.ts +6 -0
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +59 -21
- package/dist/channels/slack/external-policy.d.ts +27 -0
- package/dist/channels/slack/external-policy.d.ts.map +1 -0
- package/dist/channels/slack/external-policy.js +53 -0
- package/dist/channels/slack/index.d.ts +1 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +1 -0
- package/dist/channels/slack/interactive.d.ts +6 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +42 -15
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +19 -6
- package/dist/channels/slack/types.d.ts +10 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +3 -3
- package/dist/docs/assets/{app.BICLoJYF.js → app.CqjrYaT2.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.VWQoPFJ1.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.wN4Ko9dT.js → VPLocalSearchBox.ag-MwUel.js} +1 -1
- package/dist/docs/assets/chunks/{theme.dnnTE-Co.js → theme.BS-DJWat.js} +2 -2
- package/dist/docs/assets/{guides_slack.md.D_xFKlnF.js → guides_slack.md.CjmJSvZS.js} +8 -4
- package/dist/docs/assets/guides_slack.md.CjmJSvZS.lean.js +1 -0
- package/dist/docs/assets/guides_webhooks.md.wSOYas3X.js +183 -0
- package/dist/docs/assets/{guides_webhooks.md.B1EswtUu.lean.js → guides_webhooks.md.wSOYas3X.lean.js} +1 -1
- package/dist/docs/assets/{index.md.Dfv5ic9t.js → index.md.CH_s5uZe.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.DdmiKgqf.js → reference_channels.md.CDhTRfUz.js} +2 -2
- package/dist/docs/assets/{reference_channels.md.DdmiKgqf.lean.js → reference_channels.md.CDhTRfUz.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +3 -3
- package/dist/docs/concepts.html +3 -3
- package/dist/docs/deployment.html +3 -3
- package/dist/docs/evals.html +3 -3
- package/dist/docs/example-agents/approval-buddy.html +3 -3
- package/dist/docs/example-agents/benny.html +3 -3
- package/dist/docs/example-agents/bugbot.html +3 -3
- package/dist/docs/example-agents/codebase-wiki.html +3 -3
- package/dist/docs/example-agents/codeowners-review.html +3 -3
- package/dist/docs/example-agents/concierge.html +3 -3
- package/dist/docs/example-agents/fsd.html +3 -3
- package/dist/docs/example-agents/index.html +3 -3
- package/dist/docs/example-agents/knowledge-base.html +3 -3
- package/dist/docs/example-agents/oncall.html +3 -3
- package/dist/docs/example-agents/security-reviewer.html +3 -3
- package/dist/docs/example-agents/slack-agent.html +3 -3
- package/dist/docs/example-agents/weather-agent.html +3 -3
- package/dist/docs/guides/agent-to-agent.html +3 -3
- package/dist/docs/guides/cloud-runtime.html +3 -3
- package/dist/docs/guides/github.html +3 -3
- package/dist/docs/guides/human-in-the-loop.html +3 -3
- package/dist/docs/guides/mcp-oauth.html +3 -3
- package/dist/docs/guides/slack.html +11 -7
- package/dist/docs/guides/webhooks.html +138 -5
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +3 -3
- package/dist/docs/index.html +5 -5
- package/dist/docs/quickstart.html +3 -3
- package/dist/docs/reference/agent-config.html +3 -3
- package/dist/docs/reference/channels.html +5 -5
- package/dist/docs/reference/cli.html +3 -3
- package/dist/docs/reference/connections.html +3 -3
- package/dist/docs/reference/hooks.html +3 -3
- package/dist/docs/reference/http-api.html +3 -3
- package/dist/docs/reference/instructions.html +3 -3
- package/dist/docs/reference/playground.html +3 -3
- package/dist/docs/reference/project-layout.html +3 -3
- package/dist/docs/reference/prompt.html +3 -3
- package/dist/docs/reference/schedules.html +3 -3
- package/dist/docs/reference/sessions.html +3 -3
- package/dist/docs/reference/skills.html +3 -3
- package/dist/docs/reference/subagents.html +3 -3
- package/dist/docs/reference/tools.html +3 -3
- package/dist/docs/scaffolding-agents.html +3 -3
- package/dist/docs/storage.html +3 -3
- package/dist/docs/troubleshooting.html +3 -3
- package/dist/internal/cli-ax.d.ts +8 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +116 -57
- package/dist/internal/cursor-slack-relay.d.ts +2 -0
- package/dist/internal/cursor-slack-relay.d.ts.map +1 -1
- package/dist/internal/cursor-slack-relay.js +1 -0
- package/dist/internal/deploy-client.d.ts +2 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +1 -0
- package/dist/internal/discovery.js +8 -1
- package/dist/internal/server.js +10 -5
- package/dist/playground/assets/{index-BDCeW4uc.js → index-CkN74U_L.js} +48 -47
- package/dist/playground/index.html +1 -1
- package/docs/README.md +1 -0
- package/docs/guides/slack.md +32 -7
- package/docs/guides/webhooks.md +183 -0
- package/docs/reference/channels.md +2 -1
- package/package.json +1 -1
- package/skills/setup-slack/SKILL.md +3 -0
- package/src/bin/agent-serve.ts +12 -3
- package/src/channels/slack/auth.ts +29 -22
- package/src/channels/slack/cursor-account.ts +2 -0
- package/src/channels/slack/defaults.ts +24 -4
- package/src/channels/slack/dispatch.ts +42 -1
- package/src/channels/slack/external-policy.ts +62 -0
- package/src/channels/slack/index.ts +1 -0
- package/src/channels/slack/interactive.ts +42 -10
- package/src/channels/slack/slack-channel.ts +20 -3
- package/src/channels/slack/types.ts +12 -0
- package/src/internal/cli-ax.ts +110 -34
- package/src/internal/cursor-slack-relay.ts +3 -0
- package/src/internal/deploy-client.ts +3 -0
- package/src/internal/discovery.ts +8 -1
- package/src/internal/server.ts +9 -5
- package/dist/docs/assets/chunks/@localSearchIndexroot.CQJytDwU.js +0 -1
- package/dist/docs/assets/guides_slack.md.D_xFKlnF.lean.js +0 -1
- package/dist/docs/assets/guides_webhooks.md.B1EswtUu.js +0 -50
- /package/dist/docs/assets/{index.md.Dfv5ic9t.lean.js → index.md.CH_s5uZe.lean.js} +0 -0
package/dist/internal/cli-ax.js
CHANGED
|
@@ -17,7 +17,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
17
17
|
};
|
|
18
18
|
import { mkdir, mkdtemp, writeFile } from "node:fs/promises";
|
|
19
19
|
import { tmpdir } from "node:os";
|
|
20
|
-
import { join, resolve } from "node:path";
|
|
20
|
+
import { dirname, join, resolve } from "node:path";
|
|
21
21
|
import { Artifacts, JUnit } from "../evals/reporters.js";
|
|
22
22
|
import { serve } from "../index.js";
|
|
23
23
|
import { lookupSessionContinuation, runChat } from "./chat-client.js";
|
|
@@ -561,6 +561,16 @@ export function cmdEval(options) {
|
|
|
561
561
|
return 2;
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
|
+
if (trimNonEmpty(options.out) !== undefined) {
|
|
565
|
+
if (options.list === true) {
|
|
566
|
+
process.stderr.write("--out and --list are mutually exclusive\n");
|
|
567
|
+
return 2;
|
|
568
|
+
}
|
|
569
|
+
if (options.noWait === true) {
|
|
570
|
+
process.stderr.write(`--out needs the finished results; drop --no-wait, or poll later with ${CLI_COMMAND_NAME} eval status <evalId> --out <path>\n`);
|
|
571
|
+
return 2;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
564
574
|
const filterIds = options.evalIds === undefined || options.evalIds.length === 0
|
|
565
575
|
? undefined
|
|
566
576
|
: options.evalIds;
|
|
@@ -641,7 +651,7 @@ export function cmdEval(options) {
|
|
|
641
651
|
process.stderr.write("No matching evals found.\n");
|
|
642
652
|
return 2;
|
|
643
653
|
}
|
|
644
|
-
return printEvalResults(results, options, undefined, artifactsDir);
|
|
654
|
+
return yield printEvalResults(results, options, undefined, artifactsDir);
|
|
645
655
|
}
|
|
646
656
|
finally {
|
|
647
657
|
progress === null || progress === void 0 ? void 0 : progress.close();
|
|
@@ -694,7 +704,7 @@ export function cmdEval(options) {
|
|
|
694
704
|
process.stderr.write("No matching evals found.\n");
|
|
695
705
|
return 2;
|
|
696
706
|
}
|
|
697
|
-
return printEvalResults(results, options, {
|
|
707
|
+
return yield printEvalResults(results, options, {
|
|
698
708
|
runId: snapshot.runId,
|
|
699
709
|
status: snapshot.status,
|
|
700
710
|
error: snapshot.error,
|
|
@@ -764,7 +774,7 @@ function printEvalAccepted(started, options, agentUrl) {
|
|
|
764
774
|
const statusFlags = formatEvalStatusFlags(options);
|
|
765
775
|
const playgroundUrl = yield resolveEvalPlaygroundDeepLink(options, started.runId, agentUrl);
|
|
766
776
|
if (options.json) {
|
|
767
|
-
|
|
777
|
+
process.stdout.write(`${JSON.stringify(Object.assign({ ok: true, accepted: true, evalId: started.runId, runId: started.runId, status: started.status, summary: started.summary, pollUrl: pollPath, durableRuns: started.config.durableRuns === true }, (playgroundUrl === undefined ? {} : { playgroundUrl })), null, 2)}\n`);
|
|
768
778
|
}
|
|
769
779
|
else {
|
|
770
780
|
const durable = started.config.durableRuns === true ? " (persisted)" : "";
|
|
@@ -855,7 +865,7 @@ export function cmdEvalCancel(runId, options) {
|
|
|
855
865
|
fetchImpl: options.fetchImpl,
|
|
856
866
|
});
|
|
857
867
|
if (options.json) {
|
|
858
|
-
|
|
868
|
+
process.stdout.write(`${JSON.stringify(snap, null, 2)}\n`);
|
|
859
869
|
}
|
|
860
870
|
else {
|
|
861
871
|
process.stdout.write(`Cancelled Eval ID ${snap.runId} (${snap.summary.done}/${snap.summary.total} cases finalized)\n`);
|
|
@@ -894,6 +904,11 @@ export function cmdEvalStatus(runId, options) {
|
|
|
894
904
|
process.stderr.write("eval status does not accept --list or --no-wait\n");
|
|
895
905
|
return 2;
|
|
896
906
|
}
|
|
907
|
+
if (trimNonEmpty(options.out) !== undefined &&
|
|
908
|
+
(runId === undefined || runId === "")) {
|
|
909
|
+
process.stderr.write("eval status --out requires an eval id\n");
|
|
910
|
+
return 2;
|
|
911
|
+
}
|
|
897
912
|
const target = yield resolveEvalTarget(options);
|
|
898
913
|
if (typeof target === "number") {
|
|
899
914
|
return target;
|
|
@@ -910,7 +925,7 @@ export function cmdEvalStatus(runId, options) {
|
|
|
910
925
|
fetchImpl: options.fetchImpl,
|
|
911
926
|
});
|
|
912
927
|
if (options.json) {
|
|
913
|
-
|
|
928
|
+
process.stdout.write(`${JSON.stringify({ runs, activeRunId }, null, 2)}\n`);
|
|
914
929
|
}
|
|
915
930
|
else if (runs.length === 0) {
|
|
916
931
|
process.stdout.write("No eval runs on this agent.\n");
|
|
@@ -931,8 +946,12 @@ export function cmdEvalStatus(runId, options) {
|
|
|
931
946
|
auth,
|
|
932
947
|
fetchImpl: options.fetchImpl,
|
|
933
948
|
});
|
|
949
|
+
const outPath = yield writeJsonOutFile(options.out, snap);
|
|
934
950
|
if (options.json) {
|
|
935
|
-
|
|
951
|
+
process.stdout.write(`${JSON.stringify(snap, null, 2)}\n`);
|
|
952
|
+
if (outPath !== undefined) {
|
|
953
|
+
process.stderr.write(`results: ${outPath}\n`);
|
|
954
|
+
}
|
|
936
955
|
}
|
|
937
956
|
else {
|
|
938
957
|
process.stdout.write(`${formatEvalRunSummaryLine(snap)}\n`);
|
|
@@ -949,6 +968,9 @@ export function cmdEvalStatus(runId, options) {
|
|
|
949
968
|
process.stdout.write(` error: ${c.error}\n`);
|
|
950
969
|
}
|
|
951
970
|
}
|
|
971
|
+
if (outPath !== undefined) {
|
|
972
|
+
process.stdout.write(`results: ${outPath}\n`);
|
|
973
|
+
}
|
|
952
974
|
}
|
|
953
975
|
if (snap.status === "running") {
|
|
954
976
|
return 3;
|
|
@@ -989,7 +1011,7 @@ function listLocalEvals(projectRoot, options, filterIds, tags) {
|
|
|
989
1011
|
}
|
|
990
1012
|
function printListedEvals(listed, options, emptyMessage) {
|
|
991
1013
|
if (options.json) {
|
|
992
|
-
|
|
1014
|
+
process.stdout.write(`${JSON.stringify(listed, null, 2)}\n`);
|
|
993
1015
|
}
|
|
994
1016
|
else if (listed.length === 0) {
|
|
995
1017
|
process.stdout.write(`${emptyMessage}\n`);
|
|
@@ -1079,64 +1101,91 @@ const EVAL_VERDICT_LABEL = {
|
|
|
1079
1101
|
skipped: "SKIP",
|
|
1080
1102
|
};
|
|
1081
1103
|
function printEvalResults(results, options, batch, artifactsDir) {
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1105
|
+
var _a, _b;
|
|
1106
|
+
const strict = options.strict === true;
|
|
1107
|
+
const counts = { passed: 0, failed: 0, scored: 0, skipped: 0 };
|
|
1108
|
+
for (const result of results) {
|
|
1109
|
+
counts[evalVerdictOf(result)]++;
|
|
1110
|
+
}
|
|
1111
|
+
const batchFailed = (batch === null || batch === void 0 ? void 0 : batch.status) === "failed";
|
|
1112
|
+
const ok = counts.failed === 0 && !(strict && counts.scored > 0) && !batchFailed;
|
|
1113
|
+
if ((batch === null || batch === void 0 ? void 0 : batch.error) !== undefined && batch.error !== "" && !options.json) {
|
|
1114
|
+
// Always surface harness-level failures (not only --verbose).
|
|
1115
|
+
process.stderr.write(`eval run error: ${batch.error}\n`);
|
|
1116
|
+
}
|
|
1117
|
+
const payload = Object.assign(Object.assign(Object.assign(Object.assign({ ok, passed: counts.passed, failed: counts.failed, scored: counts.scored, skipped: counts.skipped, strict,
|
|
1096
1118
|
results }, (artifactsDir === undefined ? {} : { artifactsDir })), ((batch === null || batch === void 0 ? void 0 : batch.runId) === undefined ? {} : { runId: batch.runId })), ((batch === null || batch === void 0 ? void 0 : batch.status) === undefined ? {} : { status: batch.status })), ((batch === null || batch === void 0 ? void 0 : batch.error) === undefined || batch.error === ""
|
|
1097
1119
|
? {}
|
|
1098
|
-
: { error: batch.error }))
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
process.stdout.write(` — ${r.description}`);
|
|
1106
|
-
}
|
|
1107
|
-
process.stdout.write("\n");
|
|
1108
|
-
if (r.skipReason !== undefined) {
|
|
1109
|
-
process.stdout.write(` skipped: ${r.skipReason}\n`);
|
|
1120
|
+
: { error: batch.error }));
|
|
1121
|
+
const outPath = yield writeJsonOutFile(options.out, payload);
|
|
1122
|
+
if (options.json) {
|
|
1123
|
+
process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
|
|
1124
|
+
if (outPath !== undefined) {
|
|
1125
|
+
// stdout stays pure JSON; report the file on stderr.
|
|
1126
|
+
process.stderr.write(`results: ${outPath}\n`);
|
|
1110
1127
|
}
|
|
1111
|
-
|
|
1112
|
-
|
|
1128
|
+
}
|
|
1129
|
+
else {
|
|
1130
|
+
for (const r of results) {
|
|
1131
|
+
const verdict = evalVerdictOf(r);
|
|
1132
|
+
process.stdout.write(`${EVAL_VERDICT_LABEL[verdict]} ${r.id} (${(r.durationMs / 1000).toFixed(1)}s)`);
|
|
1133
|
+
if (r.description !== undefined) {
|
|
1134
|
+
process.stdout.write(` — ${r.description}`);
|
|
1135
|
+
}
|
|
1136
|
+
process.stdout.write("\n");
|
|
1137
|
+
if (r.skipReason !== undefined) {
|
|
1138
|
+
process.stdout.write(` skipped: ${r.skipReason}\n`);
|
|
1139
|
+
}
|
|
1140
|
+
for (const a of r.assertions) {
|
|
1141
|
+
process.stdout.write(` ${formatEvalAssertionLine(a)}\n`);
|
|
1142
|
+
}
|
|
1143
|
+
for (const [name, value] of Object.entries((_a = r.metrics) !== null && _a !== void 0 ? _a : {})) {
|
|
1144
|
+
process.stdout.write(` metric ${name}=${String(value)}\n`);
|
|
1145
|
+
}
|
|
1146
|
+
for (const line of (_b = r.logs) !== null && _b !== void 0 ? _b : []) {
|
|
1147
|
+
process.stdout.write(` ${line}\n`);
|
|
1148
|
+
}
|
|
1149
|
+
if (r.error !== undefined) {
|
|
1150
|
+
process.stdout.write(` error: ${r.error}\n`);
|
|
1151
|
+
}
|
|
1152
|
+
if (options.verbose && r.finalText !== undefined) {
|
|
1153
|
+
process.stdout.write(` reply: ${r.finalText.slice(0, 200).replace(/\s+/g, " ")}\n`);
|
|
1154
|
+
}
|
|
1113
1155
|
}
|
|
1114
|
-
|
|
1115
|
-
|
|
1156
|
+
const extra = [];
|
|
1157
|
+
if (counts.scored > 0) {
|
|
1158
|
+
extra.push(`${counts.scored} scored${strict ? " (fatal: --strict)" : ""}`);
|
|
1116
1159
|
}
|
|
1117
|
-
|
|
1118
|
-
|
|
1160
|
+
if (counts.skipped > 0) {
|
|
1161
|
+
extra.push(`${counts.skipped} skipped`);
|
|
1119
1162
|
}
|
|
1120
|
-
|
|
1121
|
-
|
|
1163
|
+
process.stdout.write(`\n${counts.passed} passed, ${counts.failed} failed${extra.length === 0 ? "" : `, ${extra.join(", ")}`}, ${results.length} total\n`);
|
|
1164
|
+
if (artifactsDir !== undefined) {
|
|
1165
|
+
process.stdout.write(`artifacts: ${artifactsDir}\n`);
|
|
1122
1166
|
}
|
|
1123
|
-
if (
|
|
1124
|
-
process.stdout.write(`
|
|
1167
|
+
if (outPath !== undefined) {
|
|
1168
|
+
process.stdout.write(`results: ${outPath}\n`);
|
|
1125
1169
|
}
|
|
1126
1170
|
}
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1171
|
+
return ok ? 0 : 1;
|
|
1172
|
+
});
|
|
1173
|
+
}
|
|
1174
|
+
/**
|
|
1175
|
+
* `--out <path>`: write a JSON payload (results / run snapshot), creating
|
|
1176
|
+
* parent directories. Returns the resolved path, or undefined when unset.
|
|
1177
|
+
*/
|
|
1178
|
+
function writeJsonOutFile(out, payload) {
|
|
1179
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1180
|
+
const trimmed = trimNonEmpty(out);
|
|
1181
|
+
if (trimmed === undefined) {
|
|
1182
|
+
return undefined;
|
|
1137
1183
|
}
|
|
1138
|
-
|
|
1139
|
-
|
|
1184
|
+
const target = resolve(trimmed);
|
|
1185
|
+
yield mkdir(dirname(target), { recursive: true });
|
|
1186
|
+
yield writeFile(target, `${JSON.stringify(payload, null, 2)}\n`, "utf8");
|
|
1187
|
+
return target;
|
|
1188
|
+
});
|
|
1140
1189
|
}
|
|
1141
1190
|
/**
|
|
1142
1191
|
* One assertion line. Soft assertions read `~` rather than `✗` when they miss,
|
|
@@ -1309,12 +1358,14 @@ export function cmdSessions(options) {
|
|
|
1309
1358
|
/**
|
|
1310
1359
|
* `session <id>` — view a full session (trajectory text by default).
|
|
1311
1360
|
* `--json` → trajectory JSON; `--events` (`rawEvents`) → raw event list.
|
|
1361
|
+
* `--out <path>` → write the raw NDJSON trace to a file instead of printing
|
|
1362
|
+
* (same format as `run --events` and the playground download).
|
|
1312
1363
|
* Interactive reattach: `resume [id]` / `chat --resume` (or `chat --session`).
|
|
1313
1364
|
*/
|
|
1314
1365
|
export function cmdSession(sessionId, options) {
|
|
1315
1366
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1316
1367
|
if (sessionId === undefined || sessionId.trim() === "") {
|
|
1317
|
-
process.stderr.write(`Usage: ${CLI_COMMAND_NAME} session <sessionId> [--url | --prod] [--json | --text | --events]\n`);
|
|
1368
|
+
process.stderr.write(`Usage: ${CLI_COMMAND_NAME} session <sessionId> [--url | --prod] [--json | --text | --events] [--out <file.ndjson>]\n`);
|
|
1318
1369
|
return 2;
|
|
1319
1370
|
}
|
|
1320
1371
|
if (options.rawEvents === true && options.json === true) {
|
|
@@ -1335,6 +1386,14 @@ export function cmdSession(sessionId, options) {
|
|
|
1335
1386
|
},
|
|
1336
1387
|
fetchImpl: options.fetchImpl,
|
|
1337
1388
|
});
|
|
1389
|
+
const outPath = trimNonEmpty(options.out);
|
|
1390
|
+
if (outPath !== undefined) {
|
|
1391
|
+
const targetPath = resolve(outPath);
|
|
1392
|
+
yield mkdir(dirname(targetPath), { recursive: true });
|
|
1393
|
+
yield writeFile(targetPath, `${events.map((e) => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
1394
|
+
process.stdout.write(`trace: ${targetPath} (${events.length} events)\n`);
|
|
1395
|
+
return 0;
|
|
1396
|
+
}
|
|
1338
1397
|
if (options.rawEvents === true) {
|
|
1339
1398
|
process.stdout.write(`${JSON.stringify({ sessionId, events }, null, 2)}\n`);
|
|
1340
1399
|
return 0;
|
|
@@ -16,6 +16,8 @@ export interface CursorSlackAgentRegistration {
|
|
|
16
16
|
name: string;
|
|
17
17
|
iconUrl?: string;
|
|
18
18
|
iconEmoji?: string;
|
|
19
|
+
/** Opt out of the default external-sender block. */
|
|
20
|
+
blockExternals?: boolean;
|
|
19
21
|
}
|
|
20
22
|
/** One relayed event as delivered to {@link CursorSlackRelayOptions.dispatch}. */
|
|
21
23
|
export type CursorSlackRelayEvent = CursorSlackEnvelope & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-slack-relay.d.ts","sourceRoot":"","sources":["../../src/internal/cursor-slack-relay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAO/E,sEAAsE;AACtE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor-slack-relay.d.ts","sourceRoot":"","sources":["../../src/internal/cursor-slack-relay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAO/E,sEAAsE;AACtE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAYD,kFAAkF;AAClF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,CACF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA0CpC;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAUf,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAM;IAExB,YAA6B,OAAO,EAAE,uBAAuB,EAsE5D;IAED;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGzC;IAED;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB,KAAK,IAAI,IAAI,CAEZ;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;CACF"}
|
|
@@ -84,6 +84,8 @@ export interface Deployment {
|
|
|
84
84
|
engineGeneration?: number | null;
|
|
85
85
|
publicId?: string;
|
|
86
86
|
engineUrl?: string | null;
|
|
87
|
+
/** Anyrun pod id for the active engine, when coordinates are known. */
|
|
88
|
+
enginePodId?: string | null;
|
|
87
89
|
lastError?: string | null;
|
|
88
90
|
engineAlias: string;
|
|
89
91
|
desiredUpdatedAt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,7 @@ const deploymentSchema = z.object({
|
|
|
122
122
|
engineGeneration: z.number().nullable().optional(),
|
|
123
123
|
publicId: z.string().optional(),
|
|
124
124
|
engineUrl: z.string().nullable().optional(),
|
|
125
|
+
enginePodId: z.string().nullable().optional(),
|
|
125
126
|
lastError: z.string().nullable().optional(),
|
|
126
127
|
engineAlias: z.string(),
|
|
127
128
|
desiredUpdatedAt: z.string().optional(),
|
|
@@ -1647,7 +1647,14 @@ function isModuleFile(fileName) {
|
|
|
1647
1647
|
if (fileName.endsWith(".d.ts") || fileName.startsWith(".")) {
|
|
1648
1648
|
return false;
|
|
1649
1649
|
}
|
|
1650
|
-
|
|
1650
|
+
if (!MODULE_EXTENSIONS.has(extname(fileName))) {
|
|
1651
|
+
return false;
|
|
1652
|
+
}
|
|
1653
|
+
// Colocated unit tests (Vitest/Jest convention) are not definitions.
|
|
1654
|
+
// Without this, `channels/slack.test.ts` is scanned as a channel named
|
|
1655
|
+
// "slack.test", fails NAME_PATTERN, and the whole agent refuses to serve.
|
|
1656
|
+
const stem = moduleStem(fileName);
|
|
1657
|
+
return !stem.endsWith(".test") && !stem.endsWith(".spec");
|
|
1651
1658
|
}
|
|
1652
1659
|
function moduleStem(fileName) {
|
|
1653
1660
|
return fileName.slice(0, -extname(fileName).length);
|
package/dist/internal/server.js
CHANGED
|
@@ -1349,11 +1349,16 @@ function startCursorSlackRelay(input) {
|
|
|
1349
1349
|
const stateDir = join(baseStateRoot, "cursor-slack");
|
|
1350
1350
|
// Optional fields may be undefined — the relay JSON-serializes the
|
|
1351
1351
|
// registration body, which drops them.
|
|
1352
|
-
const agents = targets.map((target) => {
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1352
|
+
const agents = targets.map((target) => {
|
|
1353
|
+
var _a, _b;
|
|
1354
|
+
const policy = target.accountRuntime.options.policy;
|
|
1355
|
+
return {
|
|
1356
|
+
name: target.agentName,
|
|
1357
|
+
iconUrl: (_a = target.accountRuntime.options.agentIcon) === null || _a === void 0 ? void 0 : _a.url,
|
|
1358
|
+
iconEmoji: (_b = target.accountRuntime.options.agentIcon) === null || _b === void 0 ? void 0 : _b.emoji,
|
|
1359
|
+
blockExternals: (policy === null || policy === void 0 ? void 0 : policy.blockExternals) === false ? false : undefined,
|
|
1360
|
+
};
|
|
1361
|
+
});
|
|
1357
1362
|
const targetByName = new Map(targets.map((target) => [target.agentName.toLowerCase(), target]));
|
|
1358
1363
|
const relay = new CursorSlackRelay({
|
|
1359
1364
|
baseUrl,
|