@eddyskywalker/dsh-chatgpt-subscription 0.1.5 → 0.1.7
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/CHANGELOG.md +11 -0
- package/README.md +32 -15
- package/lib/client.js +34 -249
- package/lib/client.js.map +1 -1
- package/lib/index.js +392 -16
- package/lib/types/client/CodexSubscriptionSection.d.ts +3 -1
- package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +17 -5
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/styles.d.ts.map +1 -1
- package/lib/types/host/bash-prompt-scheduling-compat.d.ts +51 -0
- package/lib/types/host/bash-prompt-scheduling-compat.d.ts.map +1 -0
- package/lib/types/host/oauth-service.d.ts.map +1 -1
- package/lib/types/host/platform-token-store.d.ts +3 -0
- package/lib/types/host/platform-token-store.d.ts.map +1 -0
- package/lib/types/host/subagent-report-scheduling-compat.d.ts +21 -0
- package/lib/types/host/subagent-report-scheduling-compat.d.ts.map +1 -0
- package/lib/types/host/token-store-linux.d.ts +20 -0
- package/lib/types/host/token-store-linux.d.ts.map +1 -0
- package/lib/types/host/token-store-windows.d.ts +4 -0
- package/lib/types/host/token-store-windows.d.ts.map +1 -1
- package/lib/types/host/token-store.d.ts +6 -0
- package/lib/types/host/token-store.d.ts.map +1 -1
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/contracts.d.ts +7 -4
- package/lib/types/shared/contracts.d.ts.map +1 -1
- package/package.json +3 -1
- package/lib/types/client/process-folding.d.ts +0 -5
- package/lib/types/client/process-folding.d.ts.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
/**
|
|
3
|
+
* DSH_COMPAT_REMOVE(persistent-bash-prompt-mismatch)
|
|
4
|
+
*
|
|
5
|
+
* Temporary compatibility shim for DSH 0.1.0-rc.6. The persistent bash tool
|
|
6
|
+
* (`@deepseek-ai/dsh-tool-bash-persistent`) configures the bash shell PS1 to
|
|
7
|
+
* `__DSH_PERSISTENT_BASH_PROMPT__ `, while the underlying PTY backend
|
|
8
|
+
* (`@deepseek-ai/dsh-terminal-bash`) only checks for a hardcoded `dsh> `
|
|
9
|
+
* prompt with a 6-character truncation limit.
|
|
10
|
+
*
|
|
11
|
+
* When the prompt does not match, `promptTextSeen` remains false and the PTY
|
|
12
|
+
* session falls back to the 3.5s idle silence timeout (`idleSilenceMs: 3000ms`
|
|
13
|
+
* + `handoffGraceMs: 500ms`) on every command execution.
|
|
14
|
+
*
|
|
15
|
+
* This compatibility module patches the PTY session `onData` handler so that
|
|
16
|
+
* both `dsh> ` and `__DSH_PERSISTENT_BASH_PROMPT__ ` (and its trimmed variants)
|
|
17
|
+
* satisfy `promptTextSeen`, restoring instant 50ms readiness settling.
|
|
18
|
+
*
|
|
19
|
+
* Remove this module, its installation in `src/index.ts`, and its focused test
|
|
20
|
+
* once upstream aligns `CONTROLLED_PROMPT` with persistent bash tools.
|
|
21
|
+
*/
|
|
22
|
+
export declare const DSH_BASH_PROMPT_COMPAT_MARKER: "__dshChatgptSubscriptionBashPromptCompatV1";
|
|
23
|
+
export declare const KNOWN_CONTROLLED_PROMPTS: readonly ["dsh> ", "dsh>", "__DSH_PERSISTENT_BASH_PROMPT__ ", "__DSH_PERSISTENT_BASH_PROMPT__"];
|
|
24
|
+
export declare function isKnownControlledPrompt(tail: string): boolean;
|
|
25
|
+
interface SanitizerResult {
|
|
26
|
+
text: string;
|
|
27
|
+
prompt?: boolean;
|
|
28
|
+
promptTail?: string;
|
|
29
|
+
}
|
|
30
|
+
interface SanitizerLike {
|
|
31
|
+
push(data: string): SanitizerResult;
|
|
32
|
+
}
|
|
33
|
+
export interface PtySessionLike {
|
|
34
|
+
sanitizer: SanitizerLike;
|
|
35
|
+
promptSeen: boolean;
|
|
36
|
+
promptTextSeen: boolean;
|
|
37
|
+
promptTail: string;
|
|
38
|
+
lastOutputAt: number;
|
|
39
|
+
appendOutput(text: string): void;
|
|
40
|
+
onData(data: string): void;
|
|
41
|
+
}
|
|
42
|
+
export declare function patchSessionOnData(target: {
|
|
43
|
+
prototype?: PtySessionLike;
|
|
44
|
+
} | PtySessionLike): () => void;
|
|
45
|
+
/**
|
|
46
|
+
* Installs the persistent bash prompt compatibility patch onto registered and
|
|
47
|
+
* future PTY backends.
|
|
48
|
+
*/
|
|
49
|
+
export declare function installBashPromptCompat(ctx: Context): () => void;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=bash-prompt-scheduling-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash-prompt-scheduling-compat.d.ts","sourceRoot":"","sources":["../../../src/host/bash-prompt-scheduling-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,6BAA6B,EACxC,4CAAqD,CAAA;AAEvD,eAAO,MAAM,wBAAwB,iGAK3B,CAAA;AAIV,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,aAAa;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAWD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,cAAc,CAAA;CAAE,GAAG,cAAc,GAAG,MAAM,IAAI,CAkDtG;AAaD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,IAAI,CAwDhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-service.d.ts","sourceRoot":"","sources":["../../../src/host/oauth-service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE1E,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAC7B,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;AASnD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvC,6BAA6B,CAAC,EAAE;QAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KACxC,CAAA;CACF;AASD,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;gBAA5B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAInE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,YAAY;IAaX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAClE,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAQ;gBAEK,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB;IAQ3E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAYjC,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-service.d.ts","sourceRoot":"","sources":["../../../src/host/oauth-service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE1E,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAC7B,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;AASnD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvC,6BAA6B,CAAC,EAAE;QAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KACxC,CAAA;CACF;AASD,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;gBAA5B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAInE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,YAAY;IAaX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAClE,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAQ;gBAEK,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB;IAQ3E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAYjC,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAuC1C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;IAgBlE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAOlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvB,WAAW,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQxE,OAAO,IAAI,IAAI;YAUD,YAAY;IA0B1B,OAAO,CAAC,kBAAkB;YAQZ,cAAc;YA8Bd,iBAAiB;IAQ/B,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,eAAe;CAGxB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAe7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAUjF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,cAAc,CAAC,MAAM,CAAc,GAAG,cAAc,CAGzG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-token-store.d.ts","sourceRoot":"","sources":["../../../src/host/platform-token-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,wBAAgB,wBAAwB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,UAAU,CAIjG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
/**
|
|
3
|
+
* DSH_COMPAT_REMOVE(subagent-report-settlement-dedup)
|
|
4
|
+
*
|
|
5
|
+
* Temporary compatibility shim for DSH 0.1.0-rc.6. A continuable child is told
|
|
6
|
+
* to report its result before finishing, while DSH also unconditionally sends
|
|
7
|
+
* the same closing output in a `subagent-settled` notice. The report is often
|
|
8
|
+
* still queued when the settlement reaches the parent, so the parent sees the
|
|
9
|
+
* result once and the equivalent report remains as duplicate next-turn work.
|
|
10
|
+
*
|
|
11
|
+
* Remove this module, its installation in `src/index.ts`, and its focused test
|
|
12
|
+
* once upstream coalesces an equivalent final report with settlement delivery.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DSH_SUBAGENT_REPORT_DEDUP_COMPAT_MARKER: "__dshChatgptSubscriptionSubagentReportDedupCompatV1";
|
|
15
|
+
/**
|
|
16
|
+
* Discard only an exact, same-child report duplicate immediately before DSH
|
|
17
|
+
* delivers the corresponding settlement notice. Partial reports, reports with
|
|
18
|
+
* different content, and all unrelated inbox work remain untouched.
|
|
19
|
+
*/
|
|
20
|
+
export declare function installSubagentReportDedupCompat(ctx: Context): () => void;
|
|
21
|
+
//# sourceMappingURL=subagent-report-scheduling-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-report-scheduling-compat.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-report-scheduling-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uCAAuC,EAClD,qDAA8D,CAAA;AA4EhE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,IAAI,CAyGzE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TokenStore, StoredOAuthCredentials } from './token-store.ts';
|
|
2
|
+
export declare function defaultLinuxCredentialPath(): string;
|
|
3
|
+
/**
|
|
4
|
+
* Linux credential storage protected by owner-only filesystem permissions.
|
|
5
|
+
* The payload is not encrypted at rest, so callers must report that distinction
|
|
6
|
+
* instead of presenting this store as equivalent to Windows DPAPI.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LinuxFileTokenStore implements TokenStore {
|
|
9
|
+
private readonly path;
|
|
10
|
+
readonly storage: {
|
|
11
|
+
readonly kind: "linux-file";
|
|
12
|
+
readonly encrypted: false;
|
|
13
|
+
};
|
|
14
|
+
private readonly noFollow;
|
|
15
|
+
constructor(path?: string);
|
|
16
|
+
load(): Promise<StoredOAuthCredentials | null>;
|
|
17
|
+
save(value: StoredOAuthCredentials): Promise<void>;
|
|
18
|
+
clear(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=token-store-linux.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-store-linux.d.ts","sourceRoot":"","sources":["../../../src/host/token-store-linux.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAM1E,wBAAgB,0BAA0B,IAAI,MAAM,CAGnD;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IAIxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,QAAQ,CAAC,OAAO;;;MAAoD;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEnB,IAAI,SAA+B;IAM1D,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IA2B9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
|
@@ -2,6 +2,10 @@ import type { TokenStore, StoredOAuthCredentials } from './token-store.ts';
|
|
|
2
2
|
export declare function defaultDpapiCredentialPath(): string;
|
|
3
3
|
export declare class WindowsDpapiTokenStore implements TokenStore {
|
|
4
4
|
private readonly path;
|
|
5
|
+
readonly storage: {
|
|
6
|
+
readonly kind: "windows-dpapi";
|
|
7
|
+
readonly encrypted: true;
|
|
8
|
+
};
|
|
5
9
|
constructor(path?: string);
|
|
6
10
|
load(): Promise<StoredOAuthCredentials | null>;
|
|
7
11
|
save(value: StoredOAuthCredentials): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store-windows.d.ts","sourceRoot":"","sources":["../../../src/host/token-store-windows.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAiC1E,wBAAgB,0BAA0B,IAAI,MAAM,CAGnD;AAED,qBAAa,sBAAuB,YAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"token-store-windows.d.ts","sourceRoot":"","sources":["../../../src/host/token-store-windows.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAiC1E,wBAAgB,0BAA0B,IAAI,MAAM,CAGnD;AAED,qBAAa,sBAAuB,YAAW,UAAU;IAG3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,OAAO;;;MAAsD;gBAEzC,IAAI,SAA+B;IAK1D,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAW9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CredentialStorageDto } from '../shared/contracts.ts';
|
|
1
2
|
export interface StoredOAuthCredentials {
|
|
2
3
|
accessToken: string;
|
|
3
4
|
refreshToken: string;
|
|
@@ -8,12 +9,17 @@ export interface StoredOAuthCredentials {
|
|
|
8
9
|
planType?: string;
|
|
9
10
|
}
|
|
10
11
|
export interface TokenStore {
|
|
12
|
+
readonly storage: Omit<CredentialStorageDto, 'available'>;
|
|
11
13
|
load(): Promise<StoredOAuthCredentials | null>;
|
|
12
14
|
save(value: StoredOAuthCredentials): Promise<void>;
|
|
13
15
|
clear(): Promise<void>;
|
|
14
16
|
}
|
|
15
17
|
/** Test seam and non-persistent development store. Never used by apply(). */
|
|
16
18
|
export declare class MemoryTokenStore implements TokenStore {
|
|
19
|
+
readonly storage: {
|
|
20
|
+
readonly kind: "memory";
|
|
21
|
+
readonly encrypted: false;
|
|
22
|
+
};
|
|
17
23
|
private value;
|
|
18
24
|
load(): Promise<StoredOAuthCredentials | null>;
|
|
19
25
|
save(value: StoredOAuthCredentials): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../src/host/token-store.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,6EAA6E;AAC7E,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,KAAK,CAAsC;IAE7C,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAI9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAqB7E"}
|
|
1
|
+
{"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../src/host/token-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAElE,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;IACzD,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,6EAA6E;AAC7E,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,OAAO;;;MAAgD;IAChE,OAAO,CAAC,KAAK,CAAsC;IAE7C,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAI9C,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAqB7E"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -5,5 +5,8 @@ export { OAuthService } from './host/oauth-service.ts';
|
|
|
5
5
|
export { CodexChatGptAdapter } from './host/adapter.ts';
|
|
6
6
|
export { ResponsesClient, parseResponsesStream } from './host/responses-client.ts';
|
|
7
7
|
export { UsageService, mapCodexUsage } from './host/usage-service.ts';
|
|
8
|
+
export { createPlatformTokenStore } from './host/platform-token-store.ts';
|
|
9
|
+
export { LinuxFileTokenStore } from './host/token-store-linux.ts';
|
|
10
|
+
export { WindowsDpapiTokenStore } from './host/token-store-windows.ts';
|
|
8
11
|
export type { TokenStore, StoredOAuthCredentials } from './host/token-store.ts';
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAclD,eAAO,MAAM,MAAM,UAAgD,CAAA;AAEnE,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAwBxC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -4,13 +4,16 @@ export interface SanitizedAccountDto {
|
|
|
4
4
|
accountIdSuffix: string | null;
|
|
5
5
|
tokenExpiresAt: number;
|
|
6
6
|
}
|
|
7
|
+
export type CredentialStorageKind = 'windows-dpapi' | 'linux-file' | 'memory';
|
|
8
|
+
export interface CredentialStorageDto {
|
|
9
|
+
kind: CredentialStorageKind;
|
|
10
|
+
encrypted: boolean;
|
|
11
|
+
available: boolean;
|
|
12
|
+
}
|
|
7
13
|
export interface PluginStatusDto {
|
|
8
14
|
authenticated: boolean;
|
|
9
15
|
account: SanitizedAccountDto | null;
|
|
10
|
-
storage:
|
|
11
|
-
kind: 'windows-dpapi';
|
|
12
|
-
encrypted: true;
|
|
13
|
-
};
|
|
16
|
+
storage: CredentialStorageDto;
|
|
14
17
|
login: {
|
|
15
18
|
active: boolean;
|
|
16
19
|
loginId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/contracts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eddyskywalker/dsh-chatgpt-subscription",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "eddyskywalker",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
60
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
60
61
|
"@deepseek-ai/dsh-attachment": "^0.1.0-rc.6",
|
|
61
62
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
|
|
62
63
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
72
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
71
73
|
"@deepseek-ai/dsh-attachment": "^0.1.0-rc.6",
|
|
72
74
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
|
|
73
75
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-folding.d.ts","sourceRoot":"","sources":["../../../src/client/process-folding.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAcD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,IAAI,CA8IrF"}
|