dsh-super-code 0.3.6 → 0.3.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.
Files changed (64) hide show
  1. package/README.md +95 -63
  2. package/client/index.js +1049 -47
  3. package/cordis.patch.yml +1 -1
  4. package/docs/Changelog.md +19 -0
  5. package/docs/Compatibility.md +44 -0
  6. package/docs/EvaluationResults.md +134 -58
  7. package/docs/UsageGuide.md +112 -0
  8. package/lib/connection/directories.d.ts +30 -0
  9. package/lib/connection/directories.d.ts.map +1 -0
  10. package/lib/connection/directories.js +82 -0
  11. package/lib/connection/directories.js.map +1 -0
  12. package/lib/connection/git.d.ts +5 -0
  13. package/lib/connection/git.d.ts.map +1 -0
  14. package/lib/connection/git.js +86 -0
  15. package/lib/connection/git.js.map +1 -0
  16. package/lib/connection/http.d.ts +38 -0
  17. package/lib/connection/http.d.ts.map +1 -0
  18. package/lib/connection/http.js +275 -0
  19. package/lib/connection/http.js.map +1 -0
  20. package/lib/connection/service.d.ts +57 -0
  21. package/lib/connection/service.d.ts.map +1 -0
  22. package/lib/connection/service.js +168 -0
  23. package/lib/connection/service.js.map +1 -0
  24. package/lib/connection/store.d.ts +21 -0
  25. package/lib/connection/store.d.ts.map +1 -0
  26. package/lib/connection/store.js +139 -0
  27. package/lib/connection/store.js.map +1 -0
  28. package/lib/connection/tasks.d.ts +84 -0
  29. package/lib/connection/tasks.d.ts.map +1 -0
  30. package/lib/connection/tasks.js +270 -0
  31. package/lib/connection/tasks.js.map +1 -0
  32. package/lib/connection/types.d.ts +90 -0
  33. package/lib/connection/types.d.ts.map +1 -0
  34. package/lib/connection/types.js +21 -0
  35. package/lib/connection/types.js.map +1 -0
  36. package/lib/core/deletion-command.d.ts +3 -0
  37. package/lib/core/deletion-command.d.ts.map +1 -0
  38. package/lib/core/deletion-command.js +169 -0
  39. package/lib/core/deletion-command.js.map +1 -0
  40. package/lib/dsh/budgets.d.ts +5 -0
  41. package/lib/dsh/budgets.d.ts.map +1 -1
  42. package/lib/dsh/budgets.js +11 -0
  43. package/lib/dsh/budgets.js.map +1 -1
  44. package/lib/dsh/connection-host.d.ts +81 -0
  45. package/lib/dsh/connection-host.d.ts.map +1 -0
  46. package/lib/dsh/connection-host.js +130 -0
  47. package/lib/dsh/connection-host.js.map +1 -0
  48. package/lib/dsh/connection.d.ts +72 -0
  49. package/lib/dsh/connection.d.ts.map +1 -0
  50. package/lib/dsh/connection.js +183 -0
  51. package/lib/dsh/connection.js.map +1 -0
  52. package/lib/dsh/deletion-protection.d.ts +13 -0
  53. package/lib/dsh/deletion-protection.d.ts.map +1 -0
  54. package/lib/dsh/deletion-protection.js +68 -0
  55. package/lib/dsh/deletion-protection.js.map +1 -0
  56. package/lib/dsh/index.d.ts.map +1 -1
  57. package/lib/dsh/index.js +6 -0
  58. package/lib/dsh/index.js.map +1 -1
  59. package/lib/task-feedback-projection.d.ts +68 -0
  60. package/lib/task-feedback-projection.d.ts.map +1 -0
  61. package/lib/task-feedback-projection.js +176 -0
  62. package/lib/task-feedback-projection.js.map +1 -0
  63. package/package.json +7 -6
  64. package/presets/super-code/agent.cordis.yml +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/dsh/budgets.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW,CAAC;QACpB,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG;YAAI,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE;KAC/C;CACF;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,OAAO,CASlC,CAAA;AAGF,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,aAAa,CAKvD,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,aAAa,CAK/C,CAAA;AAuBF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAE1E;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAMxE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAG3E"}
1
+ {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/dsh/budgets.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW,CAAC;QACpB,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG;YAAI,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE;KAC/C;CACF;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAA;IAC9D,QAAQ,CAAC,oCAAoC,CAAC,EAAE,OAAO,CAAA;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,OAAO,CASlC,CAAA;AAGF,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,aAAa,CAOvD,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,aAAa,CAO/C,CAAA;AAyBF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAE1E;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,GAAG,sBAAsB,CAGhH;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAMxE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAG3E"}
@@ -14,18 +14,24 @@ export const budgetSchema = z.object({
14
14
  // SettingsProvider resolves plain data; volatile references belong only to Loader entries.
15
15
  export const settingsConfigurationSchema = z.object({
16
16
  applyToOfficialPresets: z.boolean().description('Apply common runtime budgets to Standard, PTC, Minimal and Create presets (default: off).'),
17
+ deletionProtection: z.union(['off', 'relaxed', 'strict', z.boolean()]).description('Deletion protection: off, relaxed (default; prefer trash, honor explicit rm requests), or strict (one-time confirmation). Legacy false/true mean off/strict.'),
18
+ deletionProtectionForOfficialPresets: z.boolean().description('Also protect official presets, independently of budget settings (default: off).'),
17
19
  budgets: budgetSchema.description('Optional runtime budgets; leave blank to follow the host.'),
18
20
  maxTasks: z.number().step(1).min(1).max(128),
19
21
  maxContextBytes: z.number().step(1).min(1024).max(262144),
20
22
  });
21
23
  export const configurationSchema = z.object({
22
24
  applyToOfficialPresets: settingsConfigurationSchema.dict.applyToOfficialPresets.extra('volatile', true),
25
+ deletionProtection: settingsConfigurationSchema.dict.deletionProtection.extra('volatile', true),
26
+ deletionProtectionForOfficialPresets: settingsConfigurationSchema.dict.deletionProtectionForOfficialPresets.extra('volatile', true),
23
27
  budgets: settingsConfigurationSchema.dict.budgets.extra('volatile', true),
24
28
  maxTasks: settingsConfigurationSchema.dict.maxTasks.extra('volatile', true),
25
29
  maxContextBytes: settingsConfigurationSchema.dict.maxContextBytes.extra('volatile', true),
26
30
  });
27
31
  const validConfiguration = json.object({
28
32
  applyToOfficialPresets: json.boolean().optional(),
33
+ deletionProtection: json.union([json.enum(['off', 'relaxed', 'strict']), json.boolean()]).optional(),
34
+ deletionProtectionForOfficialPresets: json.boolean().optional(),
29
35
  budgets: json.object({
30
36
  pressureBasis: json.enum(['host', 'window']).optional(),
31
37
  thresholdRatio: json.number().min(0.01).max(1).optional(),
@@ -50,6 +56,11 @@ const validConfiguration = json.object({
50
56
  export function validateConfiguration(config) {
51
57
  return validConfiguration.parse(config);
52
58
  }
59
+ /** Preserve saved boolean choices while new installations default to prompt-only guidance. */
60
+ export function deletionProtectionMode(config) {
61
+ const value = config.deletionProtection;
62
+ return value === true ? 'strict' : value === false ? 'off' : value ?? 'relaxed';
63
+ }
53
64
  /** Newer Loader schemas expose volatile fields as references; older hosts return plain values. */
54
65
  export function configurationValues(config) {
55
66
  return validateConfiguration(Object.fromEntries(Object.entries(config).flatMap(([key, value]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../src/dsh/budgets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../src/dsh/budgets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /** Structural adapter over public host services, shared by supported v3/v4 journals. */
2
+ import type { SessionEvent } from '@deepseek-ai/dsh-session';
3
+ import type { DelegationHost, HostObservation } from '../connection/types.js';
4
+ import type { PresetInstallationStatus } from './preset-installation.js';
5
+ interface HostAgent {
6
+ status: string;
7
+ cancel(cause: {
8
+ kind: 'user';
9
+ }, options: {
10
+ keepInbox: boolean;
11
+ }): void;
12
+ }
13
+ interface SessionCut extends Disposable {
14
+ events: readonly SessionEvent[];
15
+ inheritedEventCount: number;
16
+ }
17
+ interface Descendant {
18
+ id: string;
19
+ parentId: string;
20
+ kind: string;
21
+ mode?: string;
22
+ activity?: string;
23
+ }
24
+ export interface ConnectionHostServices {
25
+ presets: {
26
+ status(): Promise<PresetInstallationStatus>;
27
+ };
28
+ controller: {
29
+ create(request: {
30
+ sessionId: string;
31
+ cwd: string;
32
+ agentPreset: string;
33
+ }): Promise<{
34
+ sessionId: string;
35
+ agentPreset?: string;
36
+ }>;
37
+ prompt(request: {
38
+ sessionId: string;
39
+ requestId: string;
40
+ mode: 'queue';
41
+ content: {
42
+ type: 'text';
43
+ text: string;
44
+ }[];
45
+ }, signal: AbortSignal): Promise<unknown>;
46
+ };
47
+ agents: {
48
+ get(id: string): HostAgent | undefined;
49
+ };
50
+ query: {
51
+ observeSession(id: string, options: {
52
+ projectionMode: 'none';
53
+ signal: AbortSignal;
54
+ }): Promise<SessionCut>;
55
+ };
56
+ subagents: {
57
+ listDescendants(id: string, signal?: AbortSignal): Promise<Descendant[]>;
58
+ interrupt(id: string, authority: {
59
+ kind: 'user';
60
+ parentSessionId: string;
61
+ }): Promise<unknown>;
62
+ };
63
+ }
64
+ interface SessionFacts {
65
+ status: HostObservation['status'];
66
+ output: string;
67
+ }
68
+ /** Own events only; idle without a settled, admitted request is not a completed task. */
69
+ export declare function connectionSessionFacts(events: readonly SessionEvent[], agentStatus: string, requestId: string, cancelling?: boolean): SessionFacts;
70
+ export declare class ConnectionHost implements DelegationHost {
71
+ private readonly services;
72
+ constructor(services: ConnectionHostServices);
73
+ preset(): Promise<string>;
74
+ create(sessionId: string, cwd: string, preset: string): Promise<void>;
75
+ prompt(sessionId: string, requestId: string, prompt: string): Promise<void>;
76
+ private facts;
77
+ observe(sessionId: string, requestId: string, cancelling?: boolean): Promise<HostObservation>;
78
+ cancel(sessionId: string): Promise<void>;
79
+ }
80
+ export {};
81
+ //# sourceMappingURL=connection-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-host.d.ts","sourceRoot":"","sources":["../../src/dsh/connection-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { ConnectionError } from '../connection/types.js';
2
+ function record(value) { return value && typeof value === 'object' ? value : {}; }
3
+ /** Own events only; idle without a settled, admitted request is not a completed task. */
4
+ export function connectionSessionFacts(events, agentStatus, requestId, cancelling = false) {
5
+ let admitted = requestId === '', requestSeq = -1, endSeq = -1, reason = '', output = '';
6
+ const approvals = new Set(), external = new Set();
7
+ for (const event of events) {
8
+ const data = record(event.data), type = event.type;
9
+ if (type === 'user/message' && data.source?.rpcId === requestId) {
10
+ admitted = true;
11
+ requestSeq = event.seq;
12
+ output = '';
13
+ }
14
+ if (type === 'turn/start') {
15
+ reason = '';
16
+ approvals.clear();
17
+ }
18
+ if (type === 'turn/end') {
19
+ endSeq = event.seq;
20
+ reason = data.reason?.kind ?? '';
21
+ approvals.clear();
22
+ }
23
+ if (type === 'approval/asked' && typeof data.id === 'string')
24
+ approvals.add(data.id);
25
+ if (type === 'approval/decided')
26
+ approvals.delete(data.id);
27
+ if (type === 'subagent/start' && data.runId)
28
+ external.add(data.runId);
29
+ if (type === 'subagent/end')
30
+ external.delete(data.runId);
31
+ if (type === 'assistant/message' && admitted && event.seq > requestSeq) {
32
+ const content = data.message?.content ?? data.content;
33
+ if (Array.isArray(content)) {
34
+ const text = content.filter(block => block?.type === 'text' && typeof block.text === 'string').map(block => block.text).join('\n');
35
+ if (text)
36
+ output = text.slice(-12000);
37
+ }
38
+ }
39
+ }
40
+ if (approvals.size)
41
+ return { status: 'waiting_confirmation', output };
42
+ if (agentStatus === 'running' || external.size)
43
+ return { status: agentStatus === 'missing' ? 'unavailable' : 'running', output };
44
+ if (cancelling && agentStatus === 'idle')
45
+ return { status: 'interrupted', output };
46
+ if (!admitted || endSeq <= requestSeq || !reason)
47
+ return { status: agentStatus === 'missing' ? 'unavailable' : 'running', output };
48
+ if (reason === 'error' || reason === 'max-tokens')
49
+ return { status: 'failed', output };
50
+ if (['aborted', 'interrupted', 'forked'].includes(reason))
51
+ return { status: 'interrupted', output };
52
+ if (reason === 'blocked')
53
+ return { status: 'waiting_confirmation', output };
54
+ return { status: reason === 'completed' ? 'finished' : 'unavailable', output };
55
+ }
56
+ export class ConnectionHost {
57
+ services;
58
+ constructor(services) {
59
+ this.services = services;
60
+ }
61
+ async preset() {
62
+ const preset = await this.services.presets.status();
63
+ if (!['available', 'installed'].includes(preset.state))
64
+ throw new ConnectionError('super-code-preset-unavailable');
65
+ return preset.id;
66
+ }
67
+ async create(sessionId, cwd, preset) {
68
+ const created = await this.services.controller.create({ sessionId, cwd, agentPreset: preset });
69
+ if (created.sessionId !== sessionId || created.agentPreset !== undefined && created.agentPreset !== preset)
70
+ throw new ConnectionError('session-identity-mismatch');
71
+ }
72
+ async prompt(sessionId, requestId, prompt) {
73
+ await this.services.controller.prompt({ sessionId, requestId, mode: 'queue', content: [{ type: 'text', text: prompt }] }, new AbortController().signal);
74
+ }
75
+ async facts(id, requestId, cancelling = false) {
76
+ const cut = await this.services.query.observeSession(id, { projectionMode: 'none', signal: AbortSignal.timeout(5000) });
77
+ try {
78
+ return connectionSessionFacts(cut.events.slice(cut.inheritedEventCount), this.services.agents.get(id)?.status ?? 'missing', requestId, cancelling);
79
+ }
80
+ finally {
81
+ cut[Symbol.dispose]();
82
+ }
83
+ }
84
+ async observe(sessionId, requestId, cancelling = false) {
85
+ try {
86
+ const root = await this.facts(sessionId, requestId, cancelling);
87
+ const children = await this.services.subagents.listDescendants(sessionId, AbortSignal.timeout(5000));
88
+ let status = root.status;
89
+ for (const child of children) {
90
+ if (child.kind === 'diagnostic') {
91
+ status = 'unavailable';
92
+ break;
93
+ }
94
+ if (child.mode === 'external')
95
+ continue; // Root start/end run facts track these activations.
96
+ const facts = await this.facts(child.id, '', cancelling);
97
+ if (facts.status === 'waiting_confirmation') {
98
+ status = 'waiting_confirmation';
99
+ break;
100
+ }
101
+ if (facts.status === 'unavailable') {
102
+ status = 'unavailable';
103
+ break;
104
+ }
105
+ if (facts.status === 'running' && status !== 'waiting_confirmation')
106
+ status = 'running';
107
+ }
108
+ return { status, output: root.output, detail: status === 'finished' ? 'Root and managed descendants settled. Acceptance has not been verified.'
109
+ : status === 'waiting_confirmation' ? 'Resolve the pending permission or blocked turn in DSH.' : `DSH task tree: ${status}.` };
110
+ }
111
+ catch {
112
+ return { status: 'unavailable', output: '', detail: 'Could not observe the complete DSH task tree. No request was replayed.' };
113
+ }
114
+ }
115
+ async cancel(sessionId) {
116
+ // Clear queued follow-ups as well as aborting the root, so cancellation cannot wake another turn.
117
+ this.services.agents.get(sessionId)?.cancel({ kind: 'user' }, { keepInbox: false });
118
+ const children = await this.services.subagents.listDescendants(sessionId, AbortSignal.timeout(5000));
119
+ for (const child of [...children].reverse()) {
120
+ if (child.kind === 'diagnostic')
121
+ throw new ConnectionError('cancellation-unconfirmed');
122
+ const agent = this.services.agents.get(child.id);
123
+ agent?.cancel({ kind: 'user' }, { keepInbox: false });
124
+ if (child.mode === 'external' || agent?.status === 'running') {
125
+ await this.services.subagents.interrupt(child.id, { kind: 'user', parentSessionId: child.parentId });
126
+ }
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=connection-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-host.js","sourceRoot":"","sources":["../../src/dsh/connection-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import { TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
3
+ import { ConnectionService } from '../connection/service.js';
4
+ import type { ConnectionSaveResult, ConnectionSnapshot } from '../connection/service.js';
5
+ interface DirectoryListing {
6
+ path: string;
7
+ home: string;
8
+ crumbs: {
9
+ name: string;
10
+ path: string;
11
+ hidden: boolean;
12
+ }[];
13
+ entries: {
14
+ name: string;
15
+ path: string;
16
+ hidden: boolean;
17
+ }[];
18
+ truncated: boolean;
19
+ }
20
+ interface SettingsEnvironment {
21
+ workspaces: false | {
22
+ list(): {
23
+ path: string;
24
+ title: string;
25
+ }[];
26
+ };
27
+ picker: false | {
28
+ capability(): {
29
+ kind: string;
30
+ pick?(signal: AbortSignal): Promise<string | null>;
31
+ list?(path?: string, signal?: AbortSignal): Promise<DirectoryListing>;
32
+ };
33
+ };
34
+ }
35
+ export declare class SuperCodeConnection extends TypertRemoteService {
36
+ private readonly current;
37
+ private readonly environment;
38
+ constructor(ctx: Context, current: () => ConnectionService | false, environment?: SettingsEnvironment);
39
+ private service;
40
+ readConfig(): ConnectionSnapshot;
41
+ saveConfig(content: string, expected: string): Promise<ConnectionSaveResult>;
42
+ revealToken(): {
43
+ token: string;
44
+ };
45
+ rotateToken(expected: string): Promise<ConnectionSaveResult>;
46
+ overview(): ReturnType<ConnectionService['overview']>;
47
+ disconnectClient(id: string): Promise<{
48
+ disconnected: true;
49
+ }>;
50
+ pendingDirectories(): ReturnType<ConnectionService['pendingDirectories']>;
51
+ resolveDirectory(id: string, decision: string): ReturnType<ConnectionService['resolveDirectory']>;
52
+ directories(): Promise<{
53
+ items: {
54
+ path: string;
55
+ title: string;
56
+ available: boolean;
57
+ workspace: boolean;
58
+ }[];
59
+ picker: string;
60
+ available: boolean;
61
+ }>;
62
+ pickDirectory(signal: AbortSignal): Promise<{
63
+ kind: 'selected';
64
+ path: string;
65
+ } | {
66
+ kind: 'cancelled';
67
+ }>;
68
+ browseDirectory(path: string, signal: AbortSignal): Promise<DirectoryListing>;
69
+ }
70
+ export declare function applyConnection(ctx: Context): void;
71
+ export {};
72
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/dsh/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
+ var useValue = arguments.length > 2;
3
+ for (var i = 0; i < initializers.length; i++) {
4
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
+ }
6
+ return useValue ? value : void 0;
7
+ };
8
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
+ var _, done = false;
14
+ for (var i = decorators.length - 1; i >= 0; i--) {
15
+ var context = {};
16
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
+ if (kind === "accessor") {
21
+ if (result === void 0) continue;
22
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
+ if (_ = accept(result.get)) descriptor.get = _;
24
+ if (_ = accept(result.set)) descriptor.set = _;
25
+ if (_ = accept(result.init)) initializers.unshift(_);
26
+ }
27
+ else if (_ = accept(result)) {
28
+ if (kind === "field") initializers.unshift(_);
29
+ else descriptor[key] = _;
30
+ }
31
+ }
32
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
+ done = true;
34
+ };
35
+ import { Remote, TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
36
+ import { fileURLToPath } from 'node:url';
37
+ import { readFile, realpath, stat } from 'node:fs/promises';
38
+ import { dirname, join } from 'node:path';
39
+ import { ConnectionService } from '../connection/service.js';
40
+ import { ConnectionError, defaultConnectionConfig } from '../connection/types.js';
41
+ import { ConnectionStore } from '../connection/store.js';
42
+ import { ConnectionHost } from './connection-host.js';
43
+ let SuperCodeConnection = (() => {
44
+ let _classSuper = TypertRemoteService;
45
+ let _instanceExtraInitializers = [];
46
+ let _readConfig_decorators;
47
+ let _saveConfig_decorators;
48
+ let _revealToken_decorators;
49
+ let _rotateToken_decorators;
50
+ let _overview_decorators;
51
+ let _disconnectClient_decorators;
52
+ let _pendingDirectories_decorators;
53
+ let _resolveDirectory_decorators;
54
+ let _directories_decorators;
55
+ let _pickDirectory_decorators;
56
+ let _browseDirectory_decorators;
57
+ return class SuperCodeConnection extends _classSuper {
58
+ static {
59
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
60
+ _readConfig_decorators = [Remote];
61
+ _saveConfig_decorators = [Remote];
62
+ _revealToken_decorators = [Remote];
63
+ _rotateToken_decorators = [Remote];
64
+ _overview_decorators = [Remote];
65
+ _disconnectClient_decorators = [Remote];
66
+ _pendingDirectories_decorators = [Remote];
67
+ _resolveDirectory_decorators = [Remote];
68
+ _directories_decorators = [Remote];
69
+ _pickDirectory_decorators = [Remote];
70
+ _browseDirectory_decorators = [Remote];
71
+ __esDecorate(this, null, _readConfig_decorators, { kind: "method", name: "readConfig", static: false, private: false, access: { has: obj => "readConfig" in obj, get: obj => obj.readConfig }, metadata: _metadata }, null, _instanceExtraInitializers);
72
+ __esDecorate(this, null, _saveConfig_decorators, { kind: "method", name: "saveConfig", static: false, private: false, access: { has: obj => "saveConfig" in obj, get: obj => obj.saveConfig }, metadata: _metadata }, null, _instanceExtraInitializers);
73
+ __esDecorate(this, null, _revealToken_decorators, { kind: "method", name: "revealToken", static: false, private: false, access: { has: obj => "revealToken" in obj, get: obj => obj.revealToken }, metadata: _metadata }, null, _instanceExtraInitializers);
74
+ __esDecorate(this, null, _rotateToken_decorators, { kind: "method", name: "rotateToken", static: false, private: false, access: { has: obj => "rotateToken" in obj, get: obj => obj.rotateToken }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(this, null, _overview_decorators, { kind: "method", name: "overview", static: false, private: false, access: { has: obj => "overview" in obj, get: obj => obj.overview }, metadata: _metadata }, null, _instanceExtraInitializers);
76
+ __esDecorate(this, null, _disconnectClient_decorators, { kind: "method", name: "disconnectClient", static: false, private: false, access: { has: obj => "disconnectClient" in obj, get: obj => obj.disconnectClient }, metadata: _metadata }, null, _instanceExtraInitializers);
77
+ __esDecorate(this, null, _pendingDirectories_decorators, { kind: "method", name: "pendingDirectories", static: false, private: false, access: { has: obj => "pendingDirectories" in obj, get: obj => obj.pendingDirectories }, metadata: _metadata }, null, _instanceExtraInitializers);
78
+ __esDecorate(this, null, _resolveDirectory_decorators, { kind: "method", name: "resolveDirectory", static: false, private: false, access: { has: obj => "resolveDirectory" in obj, get: obj => obj.resolveDirectory }, metadata: _metadata }, null, _instanceExtraInitializers);
79
+ __esDecorate(this, null, _directories_decorators, { kind: "method", name: "directories", static: false, private: false, access: { has: obj => "directories" in obj, get: obj => obj.directories }, metadata: _metadata }, null, _instanceExtraInitializers);
80
+ __esDecorate(this, null, _pickDirectory_decorators, { kind: "method", name: "pickDirectory", static: false, private: false, access: { has: obj => "pickDirectory" in obj, get: obj => obj.pickDirectory }, metadata: _metadata }, null, _instanceExtraInitializers);
81
+ __esDecorate(this, null, _browseDirectory_decorators, { kind: "method", name: "browseDirectory", static: false, private: false, access: { has: obj => "browseDirectory" in obj, get: obj => obj.browseDirectory }, metadata: _metadata }, null, _instanceExtraInitializers);
82
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
83
+ }
84
+ current = __runInitializers(this, _instanceExtraInitializers);
85
+ environment;
86
+ constructor(ctx, current, environment = { workspaces: false, picker: false }) {
87
+ super(ctx, 'superCodeConnection');
88
+ this.current = current;
89
+ this.environment = environment;
90
+ }
91
+ service() { const service = this.current(); if (!service)
92
+ throw new ConnectionError('unavailable'); return service; }
93
+ readConfig() { return this.current() ? this.service().read() : { configuration: structuredClone(defaultConnectionConfig), revision: 0, writable: false, state: 'error', error: 'unavailable', url: '' }; }
94
+ saveConfig(content, expected) { return this.service().save(content, expected); }
95
+ revealToken() { return this.service().reveal(); }
96
+ rotateToken(expected) { return this.service().rotate(expected); }
97
+ overview() { return this.current() ? this.service().overview() : { connections: [], sessions: [] }; }
98
+ disconnectClient(id) { return this.service().disconnect(id); }
99
+ pendingDirectories() { return this.current() ? this.service().pendingDirectories() : []; }
100
+ resolveDirectory(id, decision) { return this.service().resolveDirectory(id, decision); }
101
+ async directories() {
102
+ const workspaces = this.environment.workspaces ? this.environment.workspaces.list() : [];
103
+ const config = this.current() ? this.service().read().configuration : defaultConnectionConfig;
104
+ // Registry entities expose these fields through prototype getters.
105
+ const rows = [...workspaces.map(row => ({ path: row.path, title: row.title, workspace: true })),
106
+ ...[...config.knownDirectories, ...config.allowedDirectories].map(path => ({ path, title: '', workspace: false }))];
107
+ const items = await Promise.all(rows.slice(0, 500).map(async (row) => {
108
+ try {
109
+ const path = await realpath(row.path);
110
+ return { path, title: row.title, workspace: row.workspace, available: (await stat(path)).isDirectory() };
111
+ }
112
+ catch {
113
+ return { path: row.path, title: row.title, workspace: row.workspace, available: false };
114
+ }
115
+ }));
116
+ return { items: items.filter((row, index) => items.findIndex(other => other.path === row.path) === index),
117
+ picker: this.environment.picker ? this.environment.picker.capability().kind : 'unavailable', available: !!this.environment.workspaces };
118
+ }
119
+ async pickDirectory(signal) {
120
+ const picker = this.environment.picker && this.environment.picker.capability();
121
+ if (!picker || picker.kind !== 'native' || !picker.pick)
122
+ throw new ConnectionError('picker-unavailable');
123
+ const path = await picker.pick(signal);
124
+ return path === null ? { kind: 'cancelled' } : { kind: 'selected', path };
125
+ }
126
+ async browseDirectory(path, signal) {
127
+ const picker = this.environment.picker && this.environment.picker.capability();
128
+ if (!picker || picker.kind !== 'browse' || !picker.list)
129
+ throw new ConnectionError('picker-unavailable');
130
+ return picker.list(path || undefined, signal);
131
+ }
132
+ };
133
+ })();
134
+ export { SuperCodeConnection };
135
+ export function applyConnection(ctx) {
136
+ let service = false;
137
+ const environment = { workspaces: false, picker: false };
138
+ new SuperCodeConnection(ctx, () => service, environment);
139
+ ctx.inject(['workspaceRegistry'], owner => {
140
+ environment.workspaces = owner.get('workspaceRegistry');
141
+ owner.effect(() => () => { environment.workspaces = false; });
142
+ });
143
+ ctx.inject(['directoryPicker'], owner => {
144
+ environment.picker = owner.get('directoryPicker');
145
+ owner.effect(() => () => { environment.picker = false; });
146
+ });
147
+ const profileServices = 'profileContext' in ctx ? ['profileContext'] : [];
148
+ ctx.inject([...profileServices, 'sessionController', 'agents', 'sessionQuery', 'subagents', 'superCodePresets'], async (owner) => {
149
+ let directory;
150
+ try {
151
+ if (profileServices.length) {
152
+ const profile = owner.get('profileContext');
153
+ directory = dirname(profile.patchPath);
154
+ }
155
+ else {
156
+ // Early hosts expose the profile only as the boot context base URL. Verify its manifest.
157
+ const baseUrl = owner.root.baseUrl;
158
+ if (!baseUrl)
159
+ throw new Error('Profile base URL unavailable');
160
+ directory = fileURLToPath(baseUrl);
161
+ const manifest = JSON.parse(await readFile(join(directory, 'package.json'), 'utf8'));
162
+ if (!Array.isArray(manifest.dsh?.profile?.bundles))
163
+ throw new Error('Not a profile');
164
+ }
165
+ }
166
+ catch {
167
+ owner.logger.warn('Super Code connection requires a persistent host profile.');
168
+ return;
169
+ }
170
+ const host = new ConnectionHost({ presets: owner.get('superCodePresets'), controller: owner.get('sessionController'),
171
+ agents: owner.get('agents'), query: owner.get('sessionQuery'), subagents: owner.get('subagents') });
172
+ const connection = new ConnectionService(new ConnectionStore(join(directory, 'super-code-connection')), host);
173
+ try {
174
+ await connection.initialize();
175
+ service = connection;
176
+ owner.effect(() => () => { service = false; return connection.close(); });
177
+ }
178
+ catch {
179
+ owner.logger.warn('Super Code connection storage is unavailable or already owned by another host. No endpoint was started.');
180
+ }
181
+ });
182
+ }
183
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/dsh/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** Global registration with per-preset eligibility; no shell rewriting or remembered grants. */
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ declare module '@deepseek-ai/dsh-llm' {
4
+ interface MessageSourceMap {
5
+ 'dsh-super-code/deletion-protection': {
6
+ kind: 'dsh-super-code/deletion-protection';
7
+ };
8
+ }
9
+ }
10
+ export declare const DELETION_INSTRUCTION: string;
11
+ export declare const RELAXED_DELETION_INSTRUCTION: string;
12
+ export declare function applyDeletionProtection(ctx: Context): void;
13
+ //# sourceMappingURL=deletion-protection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deletion-protection.d.ts","sourceRoot":"","sources":["../../src/dsh/deletion-protection.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AASlD,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QAAG,oCAAoC,EAAE;YAAE,IAAI,EAAE,oCAAoC,CAAA;SAAE,CAAA;KAAE;CACpH;AAED,eAAO,MAAM,oBAAoB,EAAE,MAA6xB,CAAA;AAEh0B,eAAO,MAAM,4BAA4B,EAAE,MAA+uB,CAAA;AAa1xB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4C1D"}