@cerbur/clutch-dsh-worktree 0.1.14 → 0.1.15

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 (76) hide show
  1. package/README.md +3 -3
  2. package/README.zh.md +3 -3
  3. package/lib/client/context/WorktreeContext.d.ts.map +1 -1
  4. package/lib/client/context/WorktreeContext.js +3 -2
  5. package/lib/client/context/WorktreeContext.js.map +1 -1
  6. package/lib/client/context/worktree-context-store.d.ts +3 -2
  7. package/lib/client/context/worktree-context-store.d.ts.map +1 -1
  8. package/lib/client/context/worktree-context-store.js +2 -1
  9. package/lib/client/context/worktree-context-store.js.map +1 -1
  10. package/lib/client/dashboard/OpenInAppButton.d.ts.map +1 -1
  11. package/lib/client/dashboard/OpenInAppButton.js +2 -1
  12. package/lib/client/dashboard/OpenInAppButton.js.map +1 -1
  13. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
  14. package/lib/client/dashboard/WorktreeDashboard.js +4 -2
  15. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
  16. package/lib/client/dashboard/git/GitChangedFiles.js +1 -1
  17. package/lib/client/dashboard/git/GitChangedFiles.js.map +1 -1
  18. package/lib/client/dashboard/git/GitDiffView.js +1 -1
  19. package/lib/client/dashboard/git/GitDiffView.js.map +1 -1
  20. package/lib/client/dsh-icon-compat.d.ts +11 -0
  21. package/lib/client/dsh-icon-compat.d.ts.map +1 -0
  22. package/lib/client/dsh-icon-compat.js +12 -0
  23. package/lib/client/dsh-icon-compat.js.map +1 -0
  24. package/lib/client/dsh-icons.d.ts +20 -0
  25. package/lib/client/dsh-icons.d.ts.map +1 -0
  26. package/lib/client/dsh-icons.js +23 -0
  27. package/lib/client/dsh-icons.js.map +1 -0
  28. package/lib/client/entry.d.ts.map +1 -1
  29. package/lib/client/entry.js +6 -15
  30. package/lib/client/entry.js.map +1 -1
  31. package/lib/client/session/session-navigation.d.ts +8 -0
  32. package/lib/client/session/session-navigation.d.ts.map +1 -0
  33. package/lib/client/session/session-navigation.js +15 -0
  34. package/lib/client/session/session-navigation.js.map +1 -0
  35. package/lib/client/session/session-rename.d.ts +7 -0
  36. package/lib/client/session/session-rename.d.ts.map +1 -0
  37. package/lib/client/session/session-rename.js +18 -0
  38. package/lib/client/session/session-rename.js.map +1 -0
  39. package/lib/client/session/session-selection.d.ts +12 -0
  40. package/lib/client/session/session-selection.d.ts.map +1 -0
  41. package/lib/client/session/session-selection.js +8 -0
  42. package/lib/client/session/session-selection.js.map +1 -0
  43. package/lib/client/session/session-view.d.ts +3 -0
  44. package/lib/client/session/session-view.d.ts.map +1 -1
  45. package/lib/client/session/session-view.js +2 -1
  46. package/lib/client/session/session-view.js.map +1 -1
  47. package/lib/client/surface/components/ActiveWorktree.js +1 -1
  48. package/lib/client/surface/components/ActiveWorktree.js.map +1 -1
  49. package/lib/client/surface/components/ArchivedWorktree.js +1 -1
  50. package/lib/client/surface/components/ArchivedWorktree.js.map +1 -1
  51. package/lib/client/surface/components/ArchivedWorktrees.js +1 -1
  52. package/lib/client/surface/components/ArchivedWorktrees.js.map +1 -1
  53. package/lib/client/surface/components/SurfaceHeader.js +2 -1
  54. package/lib/client/surface/components/SurfaceHeader.js.map +1 -1
  55. package/lib/client/surface/components/WorkspaceTree.js +1 -1
  56. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  57. package/lib/client/surface/components/rows.d.ts.map +1 -1
  58. package/lib/client/surface/components/rows.js +2 -1
  59. package/lib/client/surface/components/rows.js.map +1 -1
  60. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
  61. package/lib/client/surface/state/useSurfaceSources.js +2 -1
  62. package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
  63. package/lib/client/view/WorktreeModeAction.js +1 -1
  64. package/lib/client/view/WorktreeModeAction.js.map +1 -1
  65. package/lib/client/view/view-mode.d.ts +4 -1
  66. package/lib/client/view/view-mode.d.ts.map +1 -1
  67. package/lib/client/view/view-mode.js +2 -1
  68. package/lib/client/view/view-mode.js.map +1 -1
  69. package/lib/client.js +130 -70
  70. package/lib/client.js.map +1 -1
  71. package/lib/host/worktree-instructions.d.ts.map +1 -1
  72. package/lib/host/worktree-instructions.js +10 -2
  73. package/lib/host/worktree-instructions.js.map +1 -1
  74. package/lib/typert.host.js +242 -176
  75. package/lib/typert.remote-client.js +242 -176
  76. package/package.json +45 -44
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-instructions.d.ts","sourceRoot":"","sources":["../../src/host/worktree-instructions.ts"],"names":[],"mappings":"AAGA,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AACD,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IACtC,cAAc,IAAI,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC3E;AACD,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAC5E,MAAM,WAAW,uBAAuB;IACtC,EAAE,CACA,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CACR,OAAO,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EAC9D,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC1B,OAAO,CAAC,QAAQ,CAAC,GACrB,OAAO,CAAC;CACZ;AAaD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC/C,UAAU,EAAE,MAAM,OAAO,GACxB,IAAI,CA+CN"}
1
+ {"version":3,"file":"worktree-instructions.d.ts","sourceRoot":"","sources":["../../src/host/worktree-instructions.ts"],"names":[],"mappings":"AAGA,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AACD,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IACtC,cAAc,IAAI,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC3E;AACD,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAC5E,MAAM,WAAW,uBAAuB;IACtC,EAAE,CACA,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CACR,OAAO,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EAC9D,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,KAC1B,OAAO,CAAC,QAAQ,CAAC,GACrB,OAAO,CAAC;CACZ;AAmBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC/C,UAAU,EAAE,MAAM,OAAO,GACxB,IAAI,CA+CN"}
@@ -1,9 +1,17 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  const plugin = '@cerbur/clutch-dsh-worktree';
3
+ const sourceKind = `plugin:${plugin}`;
3
4
  const cleared = '<system-reminder>\nNo shared Worktree or Workspace instructions apply. Disregard earlier shared instructions.\n</system-reminder>';
4
5
  function ownedText(value) {
5
6
  const message = value;
6
- if (message?.source?.kind !== 'plugin' || message.source.plugin !== plugin)
7
+ if (typeof message !== 'object' || message === null)
8
+ return;
9
+ const source = message.source;
10
+ if (source === undefined)
11
+ return;
12
+ const legacySource = source?.kind === 'plugin' && source.plugin === plugin;
13
+ const currentSource = source?.kind === sourceKind && source.form === 'instructions';
14
+ if (!legacySource && !currentSource)
7
15
  return;
8
16
  if (!Array.isArray(message.content) || message.content.length !== 1)
9
17
  return;
@@ -56,7 +64,7 @@ export function registerWorktreeInstructions(host, resolve, isDisposed) {
56
64
  id: randomUUID(),
57
65
  role: 'user',
58
66
  content: [{ type: 'text', text }],
59
- source: { kind: 'plugin', plugin, form: 'instructions' },
67
+ source: { kind: sourceKind, form: 'instructions' },
60
68
  },
61
69
  ],
62
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-instructions.js","sourceRoot":"","sources":["../../src/host/worktree-instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-instructions.js","sourceRoot":"","sources":["../../src/host/worktree-instructions.ts"],"names":[],"mappings":"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"}