opencode-english-prompt-polisher 0.1.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/LICENSE +674 -0
- package/README.md +155 -0
- package/dist/chat-input.d.ts +6 -0
- package/dist/chat-input.d.ts.map +1 -0
- package/dist/chat-input.js +25 -0
- package/dist/chat-input.js.map +1 -0
- package/dist/chat-message-handler.d.ts +8 -0
- package/dist/chat-message-handler.d.ts.map +1 -0
- package/dist/chat-message-handler.js +17 -0
- package/dist/chat-message-handler.js.map +1 -0
- package/dist/chat-output.d.ts +6 -0
- package/dist/chat-output.d.ts.map +1 -0
- package/dist/chat-output.js +16 -0
- package/dist/chat-output.js.map +1 -0
- package/dist/checker/check-prompt.d.ts +10 -0
- package/dist/checker/check-prompt.d.ts.map +1 -0
- package/dist/checker/check-prompt.js +9 -0
- package/dist/checker/check-prompt.js.map +1 -0
- package/dist/checker/index.d.ts +2 -0
- package/dist/checker/index.d.ts.map +1 -0
- package/dist/checker/index.js +2 -0
- package/dist/checker/index.js.map +1 -0
- package/dist/checker/policy.d.ts +10 -0
- package/dist/checker/policy.d.ts.map +1 -0
- package/dist/checker/policy.js +12 -0
- package/dist/checker/policy.js.map +1 -0
- package/dist/checker/prompt.d.ts +21 -0
- package/dist/checker/prompt.d.ts.map +1 -0
- package/dist/checker/prompt.js +20 -0
- package/dist/checker/prompt.js.map +1 -0
- package/dist/checker/query.d.ts +5 -0
- package/dist/checker/query.d.ts.map +1 -0
- package/dist/checker/query.js +4 -0
- package/dist/checker/query.js.map +1 -0
- package/dist/checker/request.d.ts +13 -0
- package/dist/checker/request.d.ts.map +1 -0
- package/dist/checker/request.js +13 -0
- package/dist/checker/request.js.map +1 -0
- package/dist/checker/session.d.ts +34 -0
- package/dist/checker/session.d.ts.map +1 -0
- package/dist/checker/session.js +47 -0
- package/dist/checker/session.js.map +1 -0
- package/dist/checker/tools.d.ts +19 -0
- package/dist/checker/tools.d.ts.map +1 -0
- package/dist/checker/tools.js +18 -0
- package/dist/checker/tools.js.map +1 -0
- package/dist/checker/workflow-plan.d.ts +8 -0
- package/dist/checker/workflow-plan.d.ts.map +1 -0
- package/dist/checker/workflow-plan.js +9 -0
- package/dist/checker/workflow-plan.js.map +1 -0
- package/dist/checker/workflow.d.ts +8 -0
- package/dist/checker/workflow.d.ts.map +1 -0
- package/dist/checker/workflow.js +7 -0
- package/dist/checker/workflow.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/log.d.ts +17 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +19 -0
- package/dist/log.js.map +1 -0
- package/dist/message-dedupe.d.ts +10 -0
- package/dist/message-dedupe.d.ts.map +1 -0
- package/dist/message-dedupe.js +31 -0
- package/dist/message-dedupe.js.map +1 -0
- package/dist/options/checker.d.ts +4 -0
- package/dist/options/checker.d.ts.map +1 -0
- package/dist/options/checker.js +28 -0
- package/dist/options/checker.js.map +1 -0
- package/dist/options.d.ts +9 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +36 -0
- package/dist/options.js.map +1 -0
- package/dist/prompt-mode-message-handler.d.ts +13 -0
- package/dist/prompt-mode-message-handler.d.ts.map +1 -0
- package/dist/prompt-mode-message-handler.js +17 -0
- package/dist/prompt-mode-message-handler.js.map +1 -0
- package/dist/prompt-rewrite.d.ts +23 -0
- package/dist/prompt-rewrite.d.ts.map +1 -0
- package/dist/prompt-rewrite.js +59 -0
- package/dist/prompt-rewrite.js.map +1 -0
- package/dist/prompt-runners/logging.d.ts +6 -0
- package/dist/prompt-runners/logging.d.ts.map +1 -0
- package/dist/prompt-runners/logging.js +22 -0
- package/dist/prompt-runners/logging.js.map +1 -0
- package/dist/prompt-runners/proposal-background.d.ts +4 -0
- package/dist/prompt-runners/proposal-background.d.ts.map +1 -0
- package/dist/prompt-runners/proposal-background.js +7 -0
- package/dist/prompt-runners/proposal-background.js.map +1 -0
- package/dist/prompt-runners/proposal.d.ts +6 -0
- package/dist/prompt-runners/proposal.d.ts.map +1 -0
- package/dist/prompt-runners/proposal.js +17 -0
- package/dist/prompt-runners/proposal.js.map +1 -0
- package/dist/prompt-runners/rewrite.d.ts +5 -0
- package/dist/prompt-runners/rewrite.d.ts.map +1 -0
- package/dist/prompt-runners/rewrite.js +15 -0
- package/dist/prompt-runners/rewrite.js.map +1 -0
- package/dist/prompt-runners.d.ts +11 -0
- package/dist/prompt-runners.d.ts.map +1 -0
- package/dist/prompt-runners.js +16 -0
- package/dist/prompt-runners.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +19 -0
- package/dist/server.js.map +1 -0
- package/dist/session-filter.d.ts +22 -0
- package/dist/session-filter.d.ts.map +1 -0
- package/dist/session-filter.js +25 -0
- package/dist/session-filter.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +72 -0
package/dist/server.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createOpenCodeChatMessageHandler } from "./chat-message-handler.js";
|
|
2
|
+
import { createFallbackDedupeKeyGenerator, createShouldHandleMessage, } from "./message-dedupe.js";
|
|
3
|
+
import { normalizeOpenCodeOptions } from "./options.js";
|
|
4
|
+
import { createOpenCodePromptRunners } from "./prompt-runners.js";
|
|
5
|
+
import { createShouldHandleRootSession } from "./session-filter.js";
|
|
6
|
+
export function createOpenCodeHooks(client, rawOptions, directory) {
|
|
7
|
+
const options = normalizeOpenCodeOptions(rawOptions);
|
|
8
|
+
const shouldHandleSession = createShouldHandleRootSession(client, directory);
|
|
9
|
+
const shouldHandleMessage = createShouldHandleMessage();
|
|
10
|
+
const promptRunners = createOpenCodePromptRunners(client, options, directory);
|
|
11
|
+
const nextFallbackDedupeKey = createFallbackDedupeKeyGenerator();
|
|
12
|
+
return {
|
|
13
|
+
'chat.message': createOpenCodeChatMessageHandler(options, shouldHandleSession, shouldHandleMessage, promptRunners, nextFallbackDedupeKey),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export const server = ({ client, directory }, rawOptions) => {
|
|
17
|
+
return Promise.resolve(createOpenCodeHooks(client, rawOptions, directory));
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACN,gCAAgC,EAChC,yBAAyB,GAGzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAmD,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAA4B,MAAM,qBAAqB,CAAC;AAK9F,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,UAA0B,EAAE,SAAkB;IACzG,MAAM,OAAO,GAAoB,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAwB,6BAA6B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClG,MAAM,mBAAmB,GAAwB,yBAAyB,EAAE,CAAC;IAC7E,MAAM,aAAa,GAA0B,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM,qBAAqB,GAAkB,gCAAgC,EAAE,CAAC;IAEhF,OAAO;QACN,cAAc,EAAE,gCAAgC,CAC/C,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,CACrB;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAe,EAAE,UAA0B,EAAkB,EAAE;IACxG,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type DirectoryQuery } from './checker/query.ts';
|
|
2
|
+
type ClientResult<T> = Promise<{
|
|
3
|
+
data: T | undefined;
|
|
4
|
+
}>;
|
|
5
|
+
type SessionGetOptions = {
|
|
6
|
+
path: {
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
query?: DirectoryQuery;
|
|
10
|
+
};
|
|
11
|
+
type SessionGetResultData = {
|
|
12
|
+
parentID?: string;
|
|
13
|
+
};
|
|
14
|
+
export type SessionLookupClient = {
|
|
15
|
+
session: {
|
|
16
|
+
get: (options: SessionGetOptions) => ClientResult<SessionGetResultData>;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type ShouldHandleSession = (sessionID: string) => Promise<boolean>;
|
|
20
|
+
export declare function createShouldHandleRootSession(client: SessionLookupClient, directory?: string): ShouldHandleSession;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=session-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-filter.d.ts","sourceRoot":"","sources":["../src/session-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5E,KAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC,CAAC;AACxD,KAAK,iBAAiB,GAAG;IAAE,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAC1E,KAAK,oBAAoB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE;QACR,GAAG,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,YAAY,CAAC,oBAAoB,CAAC,CAAC;KACxE,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAY1E,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAgBlH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { queryForDirectory } from "./checker/query.js";
|
|
2
|
+
async function isRootSession(client, sessionID, directory) {
|
|
3
|
+
const query = queryForDirectory(directory);
|
|
4
|
+
const result = await client.session.get({
|
|
5
|
+
path: { id: sessionID },
|
|
6
|
+
...(query === undefined ? {} : { query }),
|
|
7
|
+
});
|
|
8
|
+
return result.data?.parentID === undefined;
|
|
9
|
+
}
|
|
10
|
+
export function createShouldHandleRootSession(client, directory) {
|
|
11
|
+
const cache = new Map();
|
|
12
|
+
return (sessionID) => {
|
|
13
|
+
const cached = cache.get(sessionID);
|
|
14
|
+
if (cached !== undefined) {
|
|
15
|
+
return cached;
|
|
16
|
+
}
|
|
17
|
+
const shouldHandle = isRootSession(client, sessionID, directory).catch(() => {
|
|
18
|
+
cache.delete(sessionID);
|
|
19
|
+
return true;
|
|
20
|
+
});
|
|
21
|
+
cache.set(sessionID, shouldHandle);
|
|
22
|
+
return shouldHandle;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=session-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-filter.js","sourceRoot":"","sources":["../src/session-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,oBAAoB,CAAC;AAc5E,KAAK,UAAU,aAAa,CAAC,MAA2B,EAAE,SAAiB,EAAE,SAAkB;IAC9F,MAAM,KAAK,GAA+B,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,MAAM,GAA+D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACnG,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;QACvB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KACzC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA2B,EAAE,SAAkB;IAC5F,MAAM,KAAK,GAAkC,IAAI,GAAG,EAAE,CAAC;IAEvD,OAAO,CAAC,SAAiB,EAAoB,EAAE;QAC9C,MAAM,MAAM,GAAiC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAqB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAY,EAAE;YACtG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,YAAY,CAAC;IACrB,CAAC,CAAC;AACH,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ChatModel, CheckerOptions, NotionOptions } from 'english-prompt-polisher';
|
|
2
|
+
export type PromptMode = 'proposal' | 'rewrite';
|
|
3
|
+
export type OpenCodeCheckerModel = ChatModel | 'current';
|
|
4
|
+
export type OpenCodeCheckerOptions = Omit<CheckerOptions, 'model'> & {
|
|
5
|
+
agent?: string;
|
|
6
|
+
deleteSession?: boolean;
|
|
7
|
+
model?: OpenCodeCheckerModel;
|
|
8
|
+
};
|
|
9
|
+
export type OpenCodeOptions = {
|
|
10
|
+
outputFile: string;
|
|
11
|
+
maxChars?: number;
|
|
12
|
+
includeOriginal?: boolean;
|
|
13
|
+
checker?: OpenCodeCheckerOptions;
|
|
14
|
+
notion?: NotionOptions;
|
|
15
|
+
mode?: PromptMode;
|
|
16
|
+
};
|
|
17
|
+
export type OpenCodeChatMessageInput = {
|
|
18
|
+
sessionID: string;
|
|
19
|
+
messageID?: string;
|
|
20
|
+
model?: ChatModel;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opencode-english-prompt-polisher",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "OpenCode plugin that proposes polished English versions of user prompts.",
|
|
5
|
+
"license": "GPL-3.0-only",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Relz/opencode-english-prompt-polisher.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/Relz/opencode-english-prompt-polisher/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/Relz/opencode-english-prompt-polisher#readme",
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.build.json",
|
|
19
|
+
"format": "prettier --write src tests",
|
|
20
|
+
"format:check": "prettier --check src tests",
|
|
21
|
+
"lint": "eslint src tests --ext .ts --max-warnings=0",
|
|
22
|
+
"lint:fix": "npm run lint -- --fix",
|
|
23
|
+
"prepack": "npm run build",
|
|
24
|
+
"spell:check": "cspell --no-progress --dot .",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"test": "node --test --experimental-strip-types 'tests/**/*.test.ts'"
|
|
27
|
+
},
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./server": {
|
|
34
|
+
"types": "./dist/server.d.ts",
|
|
35
|
+
"import": "./dist/server.js"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"opencode",
|
|
45
|
+
"plugin",
|
|
46
|
+
"english",
|
|
47
|
+
"prompt",
|
|
48
|
+
"notion"
|
|
49
|
+
],
|
|
50
|
+
"author": "Relz",
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=24.18.0",
|
|
53
|
+
"opencode": ">=1.17.11"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@eslint/js": "^10.0.1",
|
|
57
|
+
"@opencode-ai/plugin": "^1.17.13",
|
|
58
|
+
"@types/node": "^26.1.0",
|
|
59
|
+
"@typescript-eslint/utils": "^8.62.1",
|
|
60
|
+
"cspell": "^10.0.1",
|
|
61
|
+
"eslint": "^10.6.0",
|
|
62
|
+
"eslint-config-prettier": "^10.1.8",
|
|
63
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
64
|
+
"eslint-plugin-import-x": "^4.17.1",
|
|
65
|
+
"prettier": "^3.9.4",
|
|
66
|
+
"typescript": "^6.0.3",
|
|
67
|
+
"typescript-eslint": "^8.62.1"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"english-prompt-polisher": "^1.1.0"
|
|
71
|
+
}
|
|
72
|
+
}
|