@sortedyuan/maybecode 0.3.2 → 0.5.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/README.md +166 -55
- package/README.zh-CN.md +267 -0
- package/dist/application.d.ts +40 -34
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +290 -170
- package/dist/application.js.map +1 -1
- package/dist/args.d.ts +2 -2
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +50 -27
- package/dist/args.js.map +1 -1
- package/dist/bin.js +82 -71
- package/dist/bin.js.map +4 -4
- package/dist/cli/chunk-3IORPKBL.js +3572 -0
- package/dist/cli/chunk-3IORPKBL.js.map +7 -0
- package/dist/cli/{chunk-LVTRXPDS.js → chunk-4B2Z6KW7.js} +1547 -1536
- package/dist/cli/chunk-4B2Z6KW7.js.map +7 -0
- package/dist/cli/{chunk-JT6VBKOM.js → chunk-4WG6JIJJ.js} +127 -33
- package/dist/cli/{chunk-JT6VBKOM.js.map → chunk-4WG6JIJJ.js.map} +3 -3
- package/dist/cli/{chunk-K5JWPNSY.js → chunk-5SLWALZK.js} +3521 -16164
- package/dist/cli/chunk-5SLWALZK.js.map +7 -0
- package/dist/cli/chunk-MNBYXL5Y.js +132 -0
- package/dist/cli/chunk-MNBYXL5Y.js.map +7 -0
- package/dist/cli/{chunk-F4XRPLUM.js → chunk-SLWLUEHQ.js} +226 -86
- package/dist/cli/chunk-SLWLUEHQ.js.map +7 -0
- package/dist/cli/chunk-UQDZ55LQ.js +199 -0
- package/dist/cli/chunk-UQDZ55LQ.js.map +7 -0
- package/dist/cli/{chunk-7ISOHFS7.js → chunk-WMSG5ZTR.js} +717 -388
- package/dist/cli/chunk-WMSG5ZTR.js.map +7 -0
- package/dist/cli/chunk-WVIRS76R.js +4057 -0
- package/dist/cli/chunk-WVIRS76R.js.map +7 -0
- package/dist/cli/{chunk-HOU5ITUK.js → chunk-XTEMRAQW.js} +1 -1
- package/dist/cli/chunk-XTEMRAQW.js.map +7 -0
- package/dist/cli/chunk-Z3BOPBVU.js +91 -0
- package/dist/cli/chunk-Z3BOPBVU.js.map +7 -0
- package/dist/cli/{configured-WHY3GGAJ.js → configured-ACNM6TRQ.js} +10 -9
- package/dist/cli/{file-type-R2T7TBHI.js → file-type-HLHPV7WC.js} +817 -13
- package/dist/cli/file-type-HLHPV7WC.js.map +7 -0
- package/dist/cli/mcp-auth-XD5U7WCV.js +74 -0
- package/dist/cli/mcp-auth-XD5U7WCV.js.map +7 -0
- package/dist/cli/onboarding-WQWCPYEO.js +530 -0
- package/dist/cli/onboarding-WQWCPYEO.js.map +7 -0
- package/dist/cli/onboarding-check-HRRI5OJ7.js +32 -0
- package/dist/cli/onboarding-check-HRRI5OJ7.js.map +7 -0
- package/dist/cli/{retained-tui-VJ3VX4R3.js → retained-tui-QF5VMYLC.js} +788 -332
- package/dist/cli/retained-tui-QF5VMYLC.js.map +7 -0
- package/dist/cli/{sixel-LWTCM76G.js → sixel-ISZ4FZ3U.js} +37 -37
- package/dist/cli/{sixel-LWTCM76G.js.map → sixel-ISZ4FZ3U.js.map} +1 -1
- package/dist/cli/{team-T7G7PPNN.js → team-O2I5BXHM.js} +7 -6
- package/dist/cli/{team-v2-JGBBQ7FR.js → team-v2-YYO2G7DJ.js} +816 -390
- package/dist/cli/team-v2-YYO2G7DJ.js.map +7 -0
- package/dist/cli/{web-server-FOMNPY7Q.js → web-server-SXMH6FGA.js} +55 -19
- package/dist/cli/web-server-SXMH6FGA.js.map +7 -0
- package/dist/cli/{web-ui-COB6PKC5.js → web-ui-UWQUFE4W.js} +7 -6
- package/dist/config-schema.json +337 -0
- package/dist/configured.d.ts +18 -11
- package/dist/configured.d.ts.map +1 -1
- package/dist/configured.js +213 -390
- package/dist/configured.js.map +1 -1
- package/dist/controller.d.ts +19 -18
- package/dist/controller.d.ts.map +1 -1
- package/dist/delegation-commands.d.ts +1 -1
- package/dist/delegation-commands.d.ts.map +1 -1
- package/dist/delegation-commands.js +8 -8
- package/dist/delegation-commands.js.map +1 -1
- package/dist/errors.d.ts +2 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -1
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +8 -6
- package/dist/events.d.ts.map +1 -1
- package/dist/fork-picker.d.ts.map +1 -1
- package/dist/fork-picker.js +19 -5
- package/dist/fork-picker.js.map +1 -1
- package/dist/git-request.d.ts +6 -6
- package/dist/git-request.d.ts.map +1 -1
- package/dist/git-request.js +28 -15
- package/dist/git-request.js.map +1 -1
- package/dist/goal-commands.d.ts +1 -1
- package/dist/goal-commands.d.ts.map +1 -1
- package/dist/goal-commands.js +12 -5
- package/dist/goal-commands.js.map +1 -1
- package/dist/index.d.ts +5 -37
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -36
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +2 -7
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +7 -15
- package/dist/instructions.js.map +1 -1
- package/dist/keymap.d.ts +2 -2
- package/dist/keymap.d.ts.map +1 -1
- package/dist/keymap.js +2 -2
- package/dist/keymap.js.map +1 -1
- package/dist/maybecode-config.schema.json +1765 -0
- package/dist/mcp-auth.d.ts +1 -1
- package/dist/mcp-auth.d.ts.map +1 -1
- package/dist/mcp-auth.js +11 -8
- package/dist/mcp-auth.js.map +1 -1
- package/dist/mcp-commands.d.ts.map +1 -1
- package/dist/mcp-commands.js +18 -4
- package/dist/mcp-commands.js.map +1 -1
- package/dist/mcp-interaction-ui.d.ts.map +1 -1
- package/dist/mcp-interaction-ui.js +11 -4
- package/dist/mcp-interaction-ui.js.map +1 -1
- package/dist/media-history.d.ts +1 -1
- package/dist/media-history.d.ts.map +1 -1
- package/dist/media-history.js +8 -2
- package/dist/media-history.js.map +1 -1
- package/dist/model-picker.d.ts.map +1 -1
- package/dist/model-picker.js +10 -11
- package/dist/model-picker.js.map +1 -1
- package/dist/model-transition.d.ts +11 -0
- package/dist/model-transition.d.ts.map +1 -0
- package/dist/model-transition.js +48 -0
- package/dist/model-transition.js.map +1 -0
- package/dist/model.d.ts +2 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +8 -4
- package/dist/model.js.map +1 -1
- package/dist/onboarding-check.d.ts +3 -0
- package/dist/onboarding-check.d.ts.map +1 -0
- package/dist/onboarding-check.js +22 -0
- package/dist/onboarding-check.js.map +1 -0
- package/dist/onboarding.d.ts +6 -0
- package/dist/onboarding.d.ts.map +1 -0
- package/dist/onboarding.js +463 -0
- package/dist/onboarding.js.map +1 -0
- package/dist/plugins/application.d.ts +6 -4
- package/dist/plugins/application.d.ts.map +1 -1
- package/dist/plugins/application.js +106 -52
- package/dist/plugins/application.js.map +1 -1
- package/dist/plugins/instructions.d.ts +1 -1
- package/dist/plugins/instructions.d.ts.map +1 -1
- package/dist/plugins/instructions.js +24 -11
- package/dist/plugins/instructions.js.map +1 -1
- package/dist/plugins/resources.d.ts +2 -2
- package/dist/plugins/resources.d.ts.map +1 -1
- package/dist/plugins/resources.js +22 -12
- package/dist/plugins/resources.js.map +1 -1
- package/dist/policy.d.ts +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +59 -11
- package/dist/policy.js.map +1 -1
- package/dist/run.d.ts +2 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +38 -33
- package/dist/run.js.map +1 -1
- package/dist/runtime-instructions.d.ts +1 -1
- package/dist/runtime-instructions.d.ts.map +1 -1
- package/dist/runtime-instructions.js +15 -7
- package/dist/runtime-instructions.js.map +1 -1
- package/dist/session-navigation.d.ts +6 -0
- package/dist/session-navigation.d.ts.map +1 -0
- package/dist/session-navigation.js +64 -0
- package/dist/session-navigation.js.map +1 -0
- package/dist/session-picker.d.ts +1 -1
- package/dist/session-picker.d.ts.map +1 -1
- package/dist/session-picker.js +23 -32
- package/dist/session-picker.js.map +1 -1
- package/dist/settings.d.ts +718 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +14 -0
- package/dist/settings.js.map +1 -0
- package/dist/skills.d.ts +1 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +10 -12
- package/dist/skills.js.map +1 -1
- package/dist/slash-commands.d.ts +2 -2
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.js +149 -67
- package/dist/slash-commands.js.map +1 -1
- package/dist/team-execution.d.ts +10 -0
- package/dist/team-execution.d.ts.map +1 -0
- package/dist/team-execution.js +29 -0
- package/dist/team-execution.js.map +1 -0
- package/dist/team-patches.d.ts.map +1 -1
- package/dist/team-patches.js +149 -52
- package/dist/team-patches.js.map +1 -1
- package/dist/team-plan.d.ts +2 -2
- package/dist/team-plan.d.ts.map +1 -1
- package/dist/team-plan.js +115 -34
- package/dist/team-plan.js.map +1 -1
- package/dist/team-recovery.d.ts +1 -1
- package/dist/team-recovery.d.ts.map +1 -1
- package/dist/team-recovery.js +40 -10
- package/dist/team-recovery.js.map +1 -1
- package/dist/team-v2.d.ts.map +1 -1
- package/dist/team-v2.js +335 -104
- package/dist/team-v2.js.map +1 -1
- package/dist/team-verification.d.ts +4 -2
- package/dist/team-verification.d.ts.map +1 -1
- package/dist/team-verification.js +300 -97
- package/dist/team-verification.js.map +1 -1
- package/dist/team.d.ts +2 -2
- package/dist/team.d.ts.map +1 -1
- package/dist/team.js +172 -62
- package/dist/team.js.map +1 -1
- package/dist/terminal-web.d.ts +1 -0
- package/dist/terminal-web.d.ts.map +1 -1
- package/dist/terminal-web.js +28 -10
- package/dist/terminal-web.js.map +1 -1
- package/dist/ui/actions.d.ts.map +1 -1
- package/dist/ui/actions.js.map +1 -1
- package/dist/ui/retained-tui.d.ts.map +1 -1
- package/dist/ui/retained-tui.js +231 -173
- package/dist/ui/retained-tui.js.map +1 -1
- package/dist/ui/{prototype-view.d.ts → terminal-view.d.ts} +7 -7
- package/dist/ui/terminal-view.d.ts.map +1 -0
- package/dist/ui/{prototype-view.js → terminal-view.js} +185 -98
- package/dist/ui/terminal-view.js.map +1 -0
- package/dist/web-commands.d.ts.map +1 -1
- package/dist/web-commands.js +160 -57
- package/dist/web-commands.js.map +1 -1
- package/dist/web-extension.d.ts.map +1 -1
- package/dist/web-extension.js +14 -4
- package/dist/web-extension.js.map +1 -1
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +2 -1
- package/dist/web-server.js.map +1 -1
- package/dist/web-ui.d.ts.map +1 -1
- package/dist/web-ui.js +167 -40
- package/dist/web-ui.js.map +1 -1
- package/dist/workspace-configuration.d.ts +7 -0
- package/dist/workspace-configuration.d.ts.map +1 -0
- package/dist/workspace-configuration.js +134 -0
- package/dist/workspace-configuration.js.map +1 -0
- package/dist/workspace-state.d.ts +20 -0
- package/dist/workspace-state.d.ts.map +1 -0
- package/dist/workspace-state.js +2 -0
- package/dist/workspace-state.js.map +1 -0
- package/dist/workspace.d.ts +26 -43
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +261 -323
- package/dist/workspace.js.map +1 -1
- package/package.json +21 -31
- package/dist/cli/chunk-7ISOHFS7.js.map +0 -7
- package/dist/cli/chunk-F4XRPLUM.js.map +0 -7
- package/dist/cli/chunk-H7SNBFO4.js +0 -5522
- package/dist/cli/chunk-H7SNBFO4.js.map +0 -7
- package/dist/cli/chunk-HOU5ITUK.js.map +0 -7
- package/dist/cli/chunk-K5JWPNSY.js.map +0 -7
- package/dist/cli/chunk-LVTRXPDS.js.map +0 -7
- package/dist/cli/chunk-VAZMCNBB.js +0 -686
- package/dist/cli/chunk-VAZMCNBB.js.map +0 -7
- package/dist/cli/chunk-WOFEI42C.js +0 -7820
- package/dist/cli/chunk-WOFEI42C.js.map +0 -7
- package/dist/cli/file-type-R2T7TBHI.js.map +0 -7
- package/dist/cli/mcp-auth-UNRHSIKJ.js +0 -63
- package/dist/cli/mcp-auth-UNRHSIKJ.js.map +0 -7
- package/dist/cli/retained-tui-VJ3VX4R3.js.map +0 -7
- package/dist/cli/team-v2-JGBBQ7FR.js.map +0 -7
- package/dist/cli/tui-SA74DKMA.js +0 -1705
- package/dist/cli/tui-SA74DKMA.js.map +0 -7
- package/dist/cli/web-server-FOMNPY7Q.js.map +0 -7
- package/dist/delegation.d.ts +0 -2
- package/dist/delegation.d.ts.map +0 -1
- package/dist/delegation.js +0 -2
- package/dist/delegation.js.map +0 -1
- package/dist/history-memory.d.ts +0 -2
- package/dist/history-memory.d.ts.map +0 -1
- package/dist/history-memory.js +0 -2
- package/dist/history-memory.js.map +0 -1
- package/dist/subagent-budget.d.ts +0 -2
- package/dist/subagent-budget.d.ts.map +0 -1
- package/dist/subagent-budget.js +0 -2
- package/dist/subagent-budget.js.map +0 -1
- package/dist/subagent-files.d.ts +0 -2
- package/dist/subagent-files.d.ts.map +0 -1
- package/dist/subagent-files.js +0 -2
- package/dist/subagent-files.js.map +0 -1
- package/dist/subagent-host.d.ts +0 -2
- package/dist/subagent-host.d.ts.map +0 -1
- package/dist/subagent-host.js +0 -2
- package/dist/subagent-host.js.map +0 -1
- package/dist/subagent-instructions.d.ts +0 -2
- package/dist/subagent-instructions.d.ts.map +0 -1
- package/dist/subagent-instructions.js +0 -2
- package/dist/subagent-instructions.js.map +0 -1
- package/dist/subagents.d.ts +0 -2
- package/dist/subagents.d.ts.map +0 -1
- package/dist/subagents.js +0 -2
- package/dist/subagents.js.map +0 -1
- package/dist/summarizer.d.ts +0 -2
- package/dist/summarizer.d.ts.map +0 -1
- package/dist/summarizer.js +0 -2
- package/dist/summarizer.js.map +0 -1
- package/dist/tui.d.ts +0 -7
- package/dist/tui.d.ts.map +0 -1
- package/dist/tui.js +0 -1109
- package/dist/tui.js.map +0 -1
- package/dist/ui/prototype-view.d.ts.map +0 -1
- package/dist/ui/prototype-view.js.map +0 -1
- /package/dist/cli/{configured-WHY3GGAJ.js.map → configured-ACNM6TRQ.js.map} +0 -0
- /package/dist/cli/{team-T7G7PPNN.js.map → team-O2I5BXHM.js.map} +0 -0
- /package/dist/cli/{web-ui-COB6PKC5.js.map → web-ui-UWQUFE4W.js.map} +0 -0
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,oBAAoB;AACpB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,iBAAiB,CAAC;CAC9C;AAED,oBAAoB;AACpB,wBAAsB,YAAY,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,YAAY,GAAE,wBAA6B,GAC1C,OAAO,CAAC,MAAM,CAAC,CAoGjB"}
|
package/dist/run.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { omitUndefined } from "@sortedyuan/may/core";
|
|
2
|
+
import { MAYBE_CODE_USAGE, parseMaybeCodeArgs } from "./args.js";
|
|
2
3
|
import { MaybeCodeUsageError } from "./errors.js";
|
|
3
4
|
import { createNodeTerminal } from "@sortedyuan/tui/node-terminal";
|
|
5
|
+
/** @experimental */
|
|
4
6
|
export async function runMaybeCode(args, dependencies = {}) {
|
|
5
7
|
let terminal = dependencies.terminal;
|
|
6
8
|
const outputTerminal = () => {
|
|
@@ -14,15 +16,15 @@ export async function runMaybeCode(args, dependencies = {}) {
|
|
|
14
16
|
catch (error) {
|
|
15
17
|
if (error instanceof MaybeCodeUsageError) {
|
|
16
18
|
outputTerminal().write(`Error: ${error.message}\n\n${MAYBE_CODE_USAGE}`);
|
|
17
|
-
outputTerminal().close();
|
|
19
|
+
await outputTerminal().close();
|
|
18
20
|
return 2;
|
|
19
21
|
}
|
|
20
|
-
terminal?.close();
|
|
22
|
+
await terminal?.close();
|
|
21
23
|
throw error;
|
|
22
24
|
}
|
|
23
25
|
if (command.type === "help") {
|
|
24
26
|
outputTerminal().write(MAYBE_CODE_USAGE);
|
|
25
|
-
outputTerminal().close();
|
|
27
|
+
await outputTerminal().close();
|
|
26
28
|
return 0;
|
|
27
29
|
}
|
|
28
30
|
try {
|
|
@@ -33,12 +35,13 @@ export async function runMaybeCode(args, dependencies = {}) {
|
|
|
33
35
|
try {
|
|
34
36
|
const team = dependencies.team ?? (await import("./team.js")).runMaybeCodeTeamCommand;
|
|
35
37
|
return await team(command, {
|
|
36
|
-
write: (text) => outputTerminal().write(text),
|
|
38
|
+
write: (text) => outputTerminal().write(text),
|
|
39
|
+
signal: cancellation.signal,
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
finally {
|
|
40
43
|
process.removeListener("SIGINT", interrupt);
|
|
41
|
-
outputTerminal().close();
|
|
44
|
+
await outputTerminal().close();
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
47
|
if (command.type === "mcp") {
|
|
@@ -48,52 +51,54 @@ export async function runMaybeCode(args, dependencies = {}) {
|
|
|
48
51
|
try {
|
|
49
52
|
const mcpAuth = dependencies.mcpAuth ?? (await import("./mcp-auth.js")).runMaybeCodeMcpCommand;
|
|
50
53
|
await mcpAuth(command, {
|
|
51
|
-
write: (text) => outputTerminal().write(text),
|
|
54
|
+
write: (text) => outputTerminal().write(text),
|
|
55
|
+
signal: cancellation.signal,
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
58
|
finally {
|
|
55
59
|
process.removeListener("SIGINT", interrupt);
|
|
56
60
|
}
|
|
57
|
-
outputTerminal().close();
|
|
61
|
+
await outputTerminal().close();
|
|
58
62
|
return 0;
|
|
59
63
|
}
|
|
64
|
+
if (dependencies.open === undefined) {
|
|
65
|
+
const { missingMaybeCodeConfig } = await import("./onboarding-check.js");
|
|
66
|
+
const path = await missingMaybeCodeConfig(command);
|
|
67
|
+
if (path !== undefined) {
|
|
68
|
+
const { runMaybeCodeOnboarding } = await import("./onboarding.js");
|
|
69
|
+
if (!(await runMaybeCodeOnboarding(path, command))) {
|
|
70
|
+
await terminal?.close();
|
|
71
|
+
return 130;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
60
75
|
const open = dependencies.open ?? (await import("./configured.js")).openConfiguredMaybeCode;
|
|
61
|
-
const runWebUI = command.ui === "web"
|
|
62
|
-
? dependencies.runWebUI ?? (await import("./web-ui.js")).runMaybeCodeWebUI : undefined;
|
|
76
|
+
const runWebUI = command.ui === "web" ? (dependencies.runWebUI ?? (await import("./web-ui.js")).runMaybeCodeWebUI) : undefined;
|
|
63
77
|
const runRetainedUI = command.ui === "retained"
|
|
64
|
-
? dependencies.runRetainedUI ?? (await import("./ui/retained-tui.js")).runRetainedTerminalUI
|
|
65
|
-
|
|
66
|
-
const app = await open({
|
|
67
|
-
|
|
78
|
+
? (dependencies.runRetainedUI ?? (await import("./ui/retained-tui.js")).runRetainedTerminalUI)
|
|
79
|
+
: undefined;
|
|
80
|
+
const app = await open(omitUndefined({
|
|
81
|
+
permissionMode: command.permissionMode,
|
|
68
82
|
mcpInteractions: true,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
? {}
|
|
74
|
-
: { configPath: command.configPath }),
|
|
75
|
-
...(command.model === undefined ? {} : { model: command.model }),
|
|
76
|
-
...(command.sessionId === undefined
|
|
77
|
-
? {}
|
|
78
|
-
: { sessionId: command.sessionId }),
|
|
83
|
+
workspace: command.workspace,
|
|
84
|
+
configPath: command.configPath,
|
|
85
|
+
model: command.model,
|
|
86
|
+
sessionId: command.sessionId,
|
|
79
87
|
autoResume: command.autoResume,
|
|
80
|
-
});
|
|
88
|
+
}));
|
|
81
89
|
if (command.ui === "web") {
|
|
82
|
-
await runWebUI(app, { ...(
|
|
83
|
-
terminal?.close();
|
|
84
|
-
}
|
|
85
|
-
else if (command.ui === "retained") {
|
|
86
|
-
terminal?.close();
|
|
87
|
-
await runRetainedUI(app);
|
|
90
|
+
await runWebUI(app, { ...omitUndefined({ port: command.port }), write: (text) => outputTerminal().write(text) });
|
|
91
|
+
await terminal?.close();
|
|
88
92
|
}
|
|
89
93
|
else {
|
|
90
|
-
await
|
|
94
|
+
await terminal?.close();
|
|
95
|
+
await runRetainedUI(app);
|
|
91
96
|
}
|
|
92
97
|
return 0;
|
|
93
98
|
}
|
|
94
99
|
catch (error) {
|
|
95
100
|
outputTerminal().write(`\nError: ${errorMessage(error)}\n`);
|
|
96
|
-
outputTerminal().close();
|
|
101
|
+
await outputTerminal().close();
|
|
97
102
|
return 1;
|
|
98
103
|
}
|
|
99
104
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-instructions.d.ts","sourceRoot":"","sources":["../src/runtime-instructions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime-instructions.d.ts","sourceRoot":"","sources":["../src/runtime-instructions.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAoBpH"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { codingRuntimeInstructions, getShellToolInfo } from "@sortedyuan/coding-tools";
|
|
2
|
+
import { omitUndefined } from "@sortedyuan/may/core";
|
|
2
3
|
export function maybeCodeRuntimeInstructions(environment, tools) {
|
|
3
4
|
const { workspace, options } = environment;
|
|
4
|
-
const shell = [...tools].map(getShellToolInfo).find(info => info !== undefined);
|
|
5
|
-
return codingRuntimeInstructions({
|
|
5
|
+
const shell = [...tools].map(getShellToolInfo).find((info) => info !== undefined);
|
|
6
|
+
return codingRuntimeInstructions(omitUndefined({
|
|
6
7
|
workspace,
|
|
7
|
-
|
|
8
|
+
execution: options.execution,
|
|
9
|
+
shell,
|
|
8
10
|
agentRole: "main agent",
|
|
9
|
-
sessionOrigin: environment.historicalBranch
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
sessionOrigin: environment.historicalBranch
|
|
12
|
+
? "historical branch"
|
|
13
|
+
: options.resume
|
|
14
|
+
? "resumed session"
|
|
15
|
+
: "new session",
|
|
16
|
+
permissionMode: options.gitWorkspace?.readOnly
|
|
17
|
+
? "read-only"
|
|
18
|
+
: (options.permissionModeSource?.() ?? (options.permissionPolicy ? "custom" : "default")),
|
|
19
|
+
historicalSource: environment.historicalSource,
|
|
20
|
+
}));
|
|
13
21
|
}
|
|
14
22
|
//# sourceMappingURL=runtime-instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-instructions.js","sourceRoot":"","sources":["../src/runtime-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-instructions.js","sourceRoot":"","sources":["../src/runtime-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAa,MAAM,sBAAsB,CAAC;AAUhE,MAAM,UAAU,4BAA4B,CAAC,WAAwC,EAAE,KAAqB;IAC1G,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAClF,OAAO,yBAAyB,CAC9B,aAAa,CAAC;QACZ,SAAS;QACT,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK;QACL,SAAS,EAAE,YAAY;QACvB,aAAa,EAAE,WAAW,CAAC,gBAAgB;YACzC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAO,CAAC,MAAM;gBACd,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,aAAa;QACnB,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ;YAC5C,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;KAC/C,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectGitWorkspace } from "@sortedyuan/may/application/git-workspace";
|
|
2
|
+
import type { SessionSummary } from "@sortedyuan/may/session/catalog";
|
|
3
|
+
import type { UiForkPoint } from "@sortedyuan/ui-client";
|
|
4
|
+
import type { BaseWorkspace } from "./workspace-state.js";
|
|
5
|
+
export declare function workspaceForkPoints(manager: BaseWorkspace, getGit: () => ProjectGitWorkspace | undefined, listSessions: () => Promise<readonly SessionSummary[]>, sessionId?: string): Promise<readonly UiForkPoint[]>;
|
|
6
|
+
//# sourceMappingURL=session-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-navigation.d.ts","sourceRoot":"","sources":["../src/session-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,mBAAmB,GAAG,SAAS,EAC7C,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,EACtD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CA4DjC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export async function workspaceForkPoints(manager, getGit, listSessions, sessionId) {
|
|
2
|
+
const nodes = await manager.readSessionBranchTree();
|
|
3
|
+
const checkpoints = (await getGit()?.checkpoints()) ?? [];
|
|
4
|
+
const sessions = await listSessions();
|
|
5
|
+
const worktrees = (await getGit()?.listWorktrees()) ?? [];
|
|
6
|
+
const checkpointFor = (sourceId, runId) => {
|
|
7
|
+
const seen = new Set();
|
|
8
|
+
while (!seen.has(sourceId)) {
|
|
9
|
+
seen.add(sourceId);
|
|
10
|
+
const checkpoint = [...checkpoints]
|
|
11
|
+
.reverse()
|
|
12
|
+
.find((item) => item.sessionId === sourceId && (item.runId === runId || item.runIds?.includes(runId)));
|
|
13
|
+
if (checkpoint)
|
|
14
|
+
return checkpoint;
|
|
15
|
+
const source = nodes.find((node) => node.sessionId === sourceId)?.fork;
|
|
16
|
+
if (!source)
|
|
17
|
+
return undefined;
|
|
18
|
+
sourceId = source.sessionId;
|
|
19
|
+
}
|
|
20
|
+
throw new Error("Session branch lineage contains a cycle");
|
|
21
|
+
};
|
|
22
|
+
return nodes.flatMap((node) => {
|
|
23
|
+
if (sessionId && node.sessionId !== sessionId)
|
|
24
|
+
return [];
|
|
25
|
+
const workspace = sessions.find((session) => session.id === node.sessionId)?.workspace;
|
|
26
|
+
const worktree = worktrees.find((tree) => tree.workspace === workspace);
|
|
27
|
+
const workspaceReady = worktree === undefined || worktree.status === "ready";
|
|
28
|
+
return node.positions.map((position, index) => {
|
|
29
|
+
const checkpoint = checkpointFor(node.sessionId, position.runId);
|
|
30
|
+
const completeRequest = checkpoint?.runIds?.length ? checkpoint.runId === position.runId : true;
|
|
31
|
+
const parent = index ? node.positions[index - 1] : undefined;
|
|
32
|
+
return {
|
|
33
|
+
id: `${node.sessionId}:${position.positionSeq}`,
|
|
34
|
+
sessionId: node.sessionId,
|
|
35
|
+
runId: position.runId,
|
|
36
|
+
createdAt: position.timestamp,
|
|
37
|
+
userPreview: position.request,
|
|
38
|
+
assistantPreview: position.response,
|
|
39
|
+
available: position.available && completeRequest && workspaceReady,
|
|
40
|
+
...(!workspaceReady
|
|
41
|
+
? { reason: "The managed worktree did not finish initialization; inspect its diagnostic" }
|
|
42
|
+
: !completeRequest
|
|
43
|
+
? { reason: "The selected Run belongs to an unfinished part of this request" }
|
|
44
|
+
: position.reason
|
|
45
|
+
? { reason: position.reason }
|
|
46
|
+
: {}),
|
|
47
|
+
...(parent
|
|
48
|
+
? { parentPointId: `${node.sessionId}:${parent.positionSeq}` }
|
|
49
|
+
: node.fork
|
|
50
|
+
? { parentPointId: `${node.fork.sessionId}:${node.fork.positionSeq}` }
|
|
51
|
+
: {}),
|
|
52
|
+
...(checkpoint?.commit ? { commit: checkpoint.commit } : {}),
|
|
53
|
+
...(checkpoint?.branch ? { branch: checkpoint.branch } : {}),
|
|
54
|
+
worktreeAvailable: position.available &&
|
|
55
|
+
completeRequest &&
|
|
56
|
+
workspaceReady &&
|
|
57
|
+
getGit()?.readOnly !== true &&
|
|
58
|
+
checkpoint?.commit !== undefined &&
|
|
59
|
+
["committed", "unchanged"].includes(checkpoint.status),
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=session-navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-navigation.js","sourceRoot":"","sources":["../src/session-navigation.ts"],"names":[],"mappings":"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"}
|
package/dist/session-picker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SessionSummary } from "@sortedyuan/session/catalog";
|
|
1
|
+
import type { SessionSummary } from "@sortedyuan/may/session/catalog";
|
|
2
2
|
import type { MaybeCodeController } from "./controller.js";
|
|
3
3
|
import type { TerminalIO } from "@sortedyuan/tui/node-terminal";
|
|
4
4
|
export type SessionPickerResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-picker.d.ts","sourceRoot":"","sources":["../src/session-picker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-picker.d.ts","sourceRoot":"","sources":["../src/session-picker.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAIhE,MAAM,MAAM,mBAAmB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAExH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0JlG"}
|
package/dist/session-picker.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { sanitizeTerminalText } from "@sortedyuan/tui";
|
|
2
2
|
import { ListSelectionModel, printableKeyText, removeLastCodePoint, resolveListInput, } from "@sortedyuan/tui/list-selection";
|
|
3
|
+
import { omitUndefined } from "@sortedyuan/may/core";
|
|
3
4
|
import { createMaybeCodeKeymap } from "./keymap.js";
|
|
4
5
|
export async function runSessionPicker(options) {
|
|
5
6
|
if (options.sessions.length === 0)
|
|
@@ -31,7 +32,7 @@ export async function runSessionPicker(options) {
|
|
|
31
32
|
query: selection.query,
|
|
32
33
|
renameText,
|
|
33
34
|
preview,
|
|
34
|
-
...(
|
|
35
|
+
...omitUndefined({ notice }),
|
|
35
36
|
})));
|
|
36
37
|
notice = undefined;
|
|
37
38
|
const stroke = await options.terminal.readKey();
|
|
@@ -57,9 +58,7 @@ export async function runSessionPicker(options) {
|
|
|
57
58
|
try {
|
|
58
59
|
const removed = await options.controller.deleteSession(selected.id);
|
|
59
60
|
selection.setItems(await options.controller.listSessions());
|
|
60
|
-
notice = removed
|
|
61
|
-
? `Deleted ${sessionLabel(selected)}`
|
|
62
|
-
: `Session ${selected.id} no longer exists`;
|
|
61
|
+
notice = removed ? `Deleted ${sessionLabel(selected)}` : `Session ${selected.id} no longer exists`;
|
|
63
62
|
}
|
|
64
63
|
catch (error) {
|
|
65
64
|
notice = errorMessage(error);
|
|
@@ -150,12 +149,11 @@ export async function runSessionPicker(options) {
|
|
|
150
149
|
keymap.reset();
|
|
151
150
|
}
|
|
152
151
|
break;
|
|
153
|
-
default:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
152
|
+
default: {
|
|
153
|
+
const navigation = navigationAction(action);
|
|
154
|
+
if (navigation !== undefined)
|
|
155
|
+
selection.move(navigation);
|
|
156
|
+
}
|
|
159
157
|
}
|
|
160
158
|
}
|
|
161
159
|
}
|
|
@@ -183,9 +181,7 @@ function resolvePickerAction(keymap, stroke, mode) {
|
|
|
183
181
|
? ["global", "sessionRename"]
|
|
184
182
|
: ["global", "sessionDelete"];
|
|
185
183
|
const result = keymap.resolve(stroke, contexts);
|
|
186
|
-
return result.type === "action"
|
|
187
|
-
? result.action
|
|
188
|
-
: undefined;
|
|
184
|
+
return result.type === "action" ? result.action : undefined;
|
|
189
185
|
}
|
|
190
186
|
function navigationAction(action) {
|
|
191
187
|
switch (action) {
|
|
@@ -210,9 +206,7 @@ function renderSessionPicker(state) {
|
|
|
210
206
|
const start = Math.floor(state.selectedIndex / pageSize) * pageSize;
|
|
211
207
|
const page = state.sessions.slice(start, start + pageSize);
|
|
212
208
|
let output = "MaybeCode — Resume session\n\n";
|
|
213
|
-
output += state.query === ""
|
|
214
|
-
? ""
|
|
215
|
-
: `Filter: ${state.query}${state.mode === "search" ? "▌" : ""}\n\n`;
|
|
209
|
+
output += state.query === "" ? "" : `Filter: ${state.query}${state.mode === "search" ? "▌" : ""}\n\n`;
|
|
216
210
|
if (page.length === 0) {
|
|
217
211
|
output += " No matching sessions.\n";
|
|
218
212
|
}
|
|
@@ -222,31 +216,29 @@ function renderSessionPicker(state) {
|
|
|
222
216
|
const selected = index === state.selectedIndex ? ">" : " ";
|
|
223
217
|
const current = session.id === state.currentSessionId ? " [current]" : "";
|
|
224
218
|
output += `${selected} ${sessionLabel(session)}${current}\n`;
|
|
225
|
-
output += ` ${relativeTime(session.lastUsedAt)} · ` +
|
|
226
|
-
`${session.turnCount ?? 0} turns · ${session.id}\n`;
|
|
219
|
+
output += ` ${relativeTime(session.lastUsedAt)} · ` + `${session.turnCount ?? 0} turns · ${session.id}\n`;
|
|
227
220
|
}
|
|
228
221
|
}
|
|
229
222
|
const selected = state.sessions[state.selectedIndex];
|
|
230
223
|
if (state.preview && selected !== undefined) {
|
|
231
|
-
output +=
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
224
|
+
output +=
|
|
225
|
+
"\nPreview\n" +
|
|
226
|
+
` created: ${new Date(selected.createdAt).toLocaleString()}\n` +
|
|
227
|
+
` last used: ${new Date(selected.lastUsedAt).toLocaleString()}\n` +
|
|
228
|
+
` ${selected.preview ?? "No message preview available."}\n`;
|
|
235
229
|
}
|
|
236
230
|
if (state.mode === "rename") {
|
|
237
|
-
output += `\nRename session\n ${state.renameText}▌\n` +
|
|
238
|
-
" Enter save · Esc cancel · Ctrl+U clear\n";
|
|
231
|
+
output += `\nRename session\n ${state.renameText}▌\n` + " Enter save · Esc cancel · Ctrl+U clear\n";
|
|
239
232
|
}
|
|
240
233
|
else if (state.mode === "delete" && selected !== undefined) {
|
|
241
|
-
output +=
|
|
242
|
-
"This also removes its durable history.\n Y delete · N/Esc cancel\n";
|
|
234
|
+
output +=
|
|
235
|
+
`\nDelete “${sessionLabel(selected)}”? ` + "This also removes its durable history.\n Y delete · N/Esc cancel\n";
|
|
243
236
|
}
|
|
244
237
|
else if (state.mode === "search") {
|
|
245
238
|
output += "\nType to filter · Enter finish · Esc close and clear search\n";
|
|
246
239
|
}
|
|
247
240
|
else {
|
|
248
|
-
output += "\n↑↓ move · Enter resume · / search · Space preview · " +
|
|
249
|
-
"R rename · D delete · Esc close\n";
|
|
241
|
+
output += "\n↑↓ move · Enter resume · / search · Space preview · " + "R rename · D delete · Esc close\n";
|
|
250
242
|
}
|
|
251
243
|
if (state.notice !== undefined)
|
|
252
244
|
output += `\n${state.notice}\n`;
|
|
@@ -255,14 +247,13 @@ function renderSessionPicker(state) {
|
|
|
255
247
|
function renderLineSessionList(sessions, currentSessionId) {
|
|
256
248
|
const lines = sessions.map((session, index) => {
|
|
257
249
|
const current = session.id === currentSessionId ? " [current]" : "";
|
|
258
|
-
return ` ${index + 1}. ${sessionLabel(session)}${current}\n` +
|
|
259
|
-
` ${relativeTime(session.lastUsedAt)} · ${session.id}
|
|
250
|
+
return (` ${index + 1}. ${sessionLabel(session)}${current}\n` +
|
|
251
|
+
` ${relativeTime(session.lastUsedAt)} · ${session.id}`);
|
|
260
252
|
});
|
|
261
253
|
return `Resume a session:\n${lines.join("\n")}\n`;
|
|
262
254
|
}
|
|
263
255
|
function sessionMatches(session, normalizedQuery) {
|
|
264
|
-
return [session.id, sessionLabel(session), session.preview]
|
|
265
|
-
.some((value) => value?.toLowerCase().includes(normalizedQuery) === true);
|
|
256
|
+
return [session.id, sessionLabel(session), session.preview].some((value) => value?.toLowerCase().includes(normalizedQuery) === true);
|
|
266
257
|
}
|
|
267
258
|
function sessionLabel(session) {
|
|
268
259
|
return session.title ?? "Untitled session";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-picker.js","sourceRoot":"","sources":["../src/session-picker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"session-picker.js","sourceRoot":"","sources":["../src/session-picker.ts"],"names":[],"mappings":"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"}
|