pi-umbra 0.3.0 → 0.4.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.
Files changed (99) hide show
  1. package/README.md +3 -4
  2. package/node_modules/@shikijs/cli/dist/cli.d.mts +13 -6
  3. package/node_modules/@shikijs/cli/dist/cli.mjs +32 -27
  4. package/node_modules/@shikijs/cli/dist/{code-to-ansi-BNrZay-4.mjs → code-to-ansi-Dmm_CuZ9.mjs} +15 -7
  5. package/node_modules/@shikijs/cli/dist/index.d.mts +24 -3
  6. package/node_modules/@shikijs/cli/dist/index.mjs +1 -1
  7. package/node_modules/@shikijs/cli/package.json +3 -3
  8. package/node_modules/@shikijs/core/dist/index.d.mts +28 -28
  9. package/node_modules/@shikijs/core/dist/index.mjs +15 -12
  10. package/node_modules/@shikijs/core/package.json +4 -4
  11. package/node_modules/@shikijs/engine-javascript/dist/{engine-compile-Bdn9ihA2.d.mts → engine-compile-CtqiSkRk.d.mts} +5 -0
  12. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  13. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs +2 -4
  14. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +2 -3
  15. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.mjs +2 -4
  16. package/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  17. package/node_modules/@shikijs/engine-javascript/dist/index.mjs +1 -1
  18. package/node_modules/@shikijs/engine-javascript/dist/string-TLTPtCPs.mjs +115 -0
  19. package/node_modules/@shikijs/engine-javascript/package.json +3 -3
  20. package/node_modules/@shikijs/engine-oniguruma/package.json +3 -3
  21. package/node_modules/@shikijs/langs/dist/ada.mjs +1 -1
  22. package/node_modules/@shikijs/langs/dist/ahk.mjs +1 -1
  23. package/node_modules/@shikijs/langs/dist/beancount.mjs +1 -1
  24. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  25. package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
  26. package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
  27. package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
  28. package/node_modules/@shikijs/langs/dist/dotenv.mjs +1 -1
  29. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  30. package/node_modules/@shikijs/langs/dist/gn.mjs +1 -1
  31. package/node_modules/@shikijs/langs/dist/handlebars.mjs +1 -1
  32. package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
  33. package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
  34. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  35. package/node_modules/@shikijs/langs/dist/marko.mjs +1 -1
  36. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  37. package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
  38. package/node_modules/@shikijs/langs/dist/nextflow.mjs +1 -1
  39. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  40. package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
  41. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  42. package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
  43. package/node_modules/@shikijs/langs/dist/rust.mjs +1 -1
  44. package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
  45. package/node_modules/@shikijs/langs/dist/svelte.mjs +1 -1
  46. package/node_modules/@shikijs/langs/dist/twig.mjs +3 -3
  47. package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
  48. package/node_modules/@shikijs/langs/package.json +3 -3
  49. package/node_modules/@shikijs/primitive/dist/index.d.mts +31 -32
  50. package/node_modules/@shikijs/primitive/dist/index.mjs +2 -1
  51. package/node_modules/@shikijs/primitive/package.json +3 -3
  52. package/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  53. package/node_modules/@shikijs/themes/dist/one-dark-pro.mjs +1 -1
  54. package/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  55. package/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  56. package/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  57. package/node_modules/@shikijs/themes/package.json +3 -3
  58. package/node_modules/@shikijs/types/dist/index.d.mts +76 -76
  59. package/node_modules/@shikijs/types/package.json +1 -1
  60. package/node_modules/pi-umbra-copy-chat/README.md +4 -7
  61. package/node_modules/pi-umbra-copy-chat/extensions/umbra-copy-chat.ts +16 -54
  62. package/node_modules/pi-umbra-copy-chat/package.json +1 -1
  63. package/node_modules/pi-umbra-help/checks/umbra-help.check.ts +10 -1
  64. package/node_modules/pi-umbra-help/extensions/umbra-help.ts +31 -0
  65. package/node_modules/pi-umbra-help/package.json +1 -1
  66. package/node_modules/pi-umbra-inputbar/README.md +1 -1
  67. package/node_modules/pi-umbra-inputbar/extensions/umbra-inputbar.ts +1 -1
  68. package/node_modules/pi-umbra-inputbar/package.json +2 -2
  69. package/node_modules/pi-umbra-shimmer/package.json +1 -1
  70. package/node_modules/pi-umbra-shimmer/patch.mjs +23 -21
  71. package/node_modules/pi-umbra-skill-matcher/package.json +1 -1
  72. package/node_modules/pi-umbra-skill-matcher/patch.mjs +7 -0
  73. package/node_modules/pi-umbra-subagents/README.md +24 -6
  74. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar/bar-line.ts +250 -102
  75. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.check.ts +133 -66
  76. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.ts +59 -27
  77. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/index.ts +53 -8
  78. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/spec.ts +24 -14
  79. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.check.ts +132 -5
  80. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.ts +156 -64
  81. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/worktree.ts +156 -0
  82. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/panel.ts +1 -1
  83. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/delegate/state.ts +19 -0
  84. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/fan/SKILL.md +25 -4
  85. package/node_modules/pi-umbra-subagents/package.json +2 -2
  86. package/node_modules/pi-umbra-theme/checks/umbra-background.check.ts +7 -1
  87. package/node_modules/pi-umbra-theme/extensions/umbra-background.ts +2 -1
  88. package/node_modules/pi-umbra-theme/package.json +3 -3
  89. package/node_modules/shiki/dist/bundle-full.d.mts +4 -4
  90. package/node_modules/shiki/dist/bundle-web.d.mts +9 -9
  91. package/node_modules/shiki/dist/types.d.mts +3 -3
  92. package/node_modules/shiki/package.json +10 -10
  93. package/package.json +9 -12
  94. package/node_modules/@shikijs/engine-javascript/dist/scanner-DX8LRFGE.mjs +0 -77
  95. package/node_modules/pi-umbra-rename/LICENSE +0 -21
  96. package/node_modules/pi-umbra-rename/README.md +0 -18
  97. package/node_modules/pi-umbra-rename/checks/umbra-rename.check.ts +0 -55
  98. package/node_modules/pi-umbra-rename/extensions/umbra-rename.ts +0 -22
  99. package/node_modules/pi-umbra-rename/package.json +0 -36
@@ -1,55 +0,0 @@
1
- // /umb-rename writes two names through two different APIs, and the terminal title is built from
2
- // a third value. A fake pi is enough to pin all three, because the command is the whole extension.
3
- //
4
- // bun run umbra-rename.check.ts
5
- import assert from "node:assert";
6
- import rename from "../extensions/umbra-rename.ts";
7
-
8
- type Handler = (args: string, ctx: unknown) => Promise<void>;
9
-
10
- const load = (sessionName?: string) => {
11
- const calls = { name: undefined as string | undefined, title: undefined as string | undefined, notice: "" };
12
- let handler: Handler | undefined;
13
- const pi = {
14
- registerCommand: (_name: string, options: { handler: Handler }) => void (handler = options.handler),
15
- getSessionName: () => sessionName,
16
- setSessionName: (value: string) => void (calls.name = value),
17
- };
18
- rename(pi as never);
19
- const ctx = {
20
- ui: {
21
- setTitle: (value: string) => void (calls.title = value),
22
- notify: (value: string) => void (calls.notice = value),
23
- input: async () => prompted,
24
- },
25
- sessionManager: { getCwd: () => "/home/me/projects/real-estate" },
26
- };
27
- return { calls, run: (args: string) => handler!(args, ctx) };
28
- };
29
-
30
- let prompted: string | undefined;
31
-
32
- // The argument form. The prefix goes on the terminal title only: pi already spells the session
33
- // name on the input bar, so a π in the name itself would show up three times in two places.
34
- const given = load();
35
- await given.run(" ledger ");
36
- assert.equal(given.calls.name, "ledger", "the name is trimmed and carries no prefix");
37
- assert.equal(given.calls.title, "π - ledger - real-estate", "the title carries the prefix and the cwd");
38
- assert.equal(given.calls.notice, "renamed: ledger");
39
-
40
- // No argument: pi asks, and the current name is the prefill.
41
- prompted = "ledger";
42
- const asked = load("old-name");
43
- await asked.run("");
44
- assert.equal(asked.calls.name, "ledger", "the answer to the prompt is the new name");
45
-
46
- // Nothing typed, or the prompt dismissed, must leave both names alone rather than blanking them.
47
- for (const answer of [undefined, "", " "]) {
48
- prompted = answer;
49
- const cancelled = load("old-name");
50
- await cancelled.run("");
51
- assert.equal(cancelled.calls.name, undefined, `"${answer}" must not rename`);
52
- assert.equal(cancelled.calls.title, undefined, `"${answer}" must not retitle`);
53
- }
54
-
55
- console.log("umbra-rename.check.ts ok - argument form, prompt form, 3 cancel cases");
@@ -1,22 +0,0 @@
1
- import { basename } from "node:path";
2
- import type { ExtensionAPI, ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
3
-
4
- // /umb-rename sets both names at once: the session display name (session selector,
5
- // /resume) and the terminal window/tab title, which are separate APIs in pi.
6
- export default function (pi: ExtensionAPI) {
7
- pi.registerCommand("umb-rename", {
8
- description: "Rename this session and the terminal title: /umb-rename <name>",
9
- handler: async (args: string, ctx: ExtensionCommandContext) => {
10
- // setSessionName lives on the API object; setTitle lives on the command context's UI.
11
- let newName = args.trim() || (await ctx.ui.input("Rename session", pi.getSessionName() ?? ""))?.trim();
12
- if (!newName) return;
13
-
14
- // The prefix belongs to the terminal title only. pi builds that title itself as
15
- // `π - <session name> - <cwd>`, so putting π in the session name too spelled it twice
16
- // in the tab and once more on the input bar, which shows the session name alone.
17
- pi.setSessionName(newName);
18
- ctx.ui.setTitle(`π - ${newName} - ${basename(ctx.sessionManager.getCwd())}`);
19
- ctx.ui.notify(`renamed: ${newName}`);
20
- },
21
- });
22
- }
@@ -1,36 +0,0 @@
1
- {
2
- "name": "pi-umbra-rename",
3
- "version": "0.1.3",
4
- "description": "One command that renames a pi session and the terminal window title together, which pi keeps behind two separate APIs.",
5
- "keywords": [
6
- "pi-package",
7
- "pi",
8
- "pi-extension",
9
- "session",
10
- "rename",
11
- "title"
12
- ],
13
- "author": "grkn",
14
- "license": "MIT",
15
- "repository": {
16
- "type": "git",
17
- "url": "git+https://github.com/grknbyk/pi-umbra.git",
18
- "directory": "pi-umbra-rename"
19
- },
20
- "homepage": "https://github.com/grknbyk/pi-umbra/tree/main/pi-umbra-rename#readme",
21
- "bugs": "https://github.com/grknbyk/pi-umbra/issues",
22
- "files": [
23
- "extensions",
24
- "checks",
25
- "README.md",
26
- "LICENSE"
27
- ],
28
- "pi": {
29
- "extensions": [
30
- "./extensions"
31
- ]
32
- },
33
- "peerDependencies": {
34
- "@earendil-works/pi-coding-agent": "*"
35
- }
36
- }