opencode-plugin-teleprompt 0.1.12 → 0.2.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/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ declare const server: Plugin;
5
5
  declare const _default: {
6
6
  id: string;
7
7
  server: Plugin;
8
+ tui: import("./tui-types.js").TuiPlugin;
8
9
  };
9
10
  export default _default;
10
11
  export { id, server, tui };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { tui } from "./tui.js";
2
2
  const id = "opencode-plugin-teleprompt";
3
3
  const server = async () => ({});
4
- export default { id, server };
4
+ export default { id, server, tui };
5
5
  export { id, server, tui };
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,MAAM,EAAE,GAAG,4BAA4B,CAAC;AAExC,MAAM,MAAM,GAAW,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,MAAM,EAAE,GAAG,4BAA4B,CAAC;AAExC,MAAM,MAAM,GAAW,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC"}
@@ -17,10 +17,8 @@ export async function getCurrentOrCreateSessionID(api, client) {
17
17
  return sessionID;
18
18
  }
19
19
  }
20
- const response = await client.session.create({
21
- responseStyle: "data",
22
- throwOnError: true,
23
- });
20
+ // Bundled SDK convention: (params, options)
21
+ const response = await client.session.create({ directory: api.state.path.directory }, { responseStyle: "data", throwOnError: true });
24
22
  // Try multiple common paths for session ID
25
23
  const sessionID = response?.id ??
26
24
  response?.data?.id ??
@@ -33,8 +31,6 @@ export async function getCurrentOrCreateSessionID(api, client) {
33
31
  }
34
32
  try {
35
33
  const route = api.route;
36
- // According to debug dump, api.route.navigate exists
37
- // Reverting to positional arguments as the object-based call caused a crash
38
34
  if (typeof route.navigate === "function") {
39
35
  route.navigate("session", { sessionID });
40
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/opencode/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/opencode/binding.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare class SessionEventStream {
22
22
  private readonly handlers;
23
23
  private abort;
24
24
  private running?;
25
+ private stream?;
25
26
  constructor(client: any, sessionID: string, handlers: EventHandlers);
26
27
  start(): void;
27
28
  stop(): Promise<void>;
@@ -4,6 +4,7 @@ export class SessionEventStream {
4
4
  handlers;
5
5
  abort = new AbortController();
6
6
  running;
7
+ stream;
7
8
  constructor(client, sessionID, handlers) {
8
9
  this.client = client;
9
10
  this.sessionID = sessionID;
@@ -20,13 +21,22 @@ export class SessionEventStream {
20
21
  }
21
22
  async stop() {
22
23
  this.abort.abort();
24
+ try {
25
+ if (this.stream && typeof this.stream.return === "function") {
26
+ await this.stream.return();
27
+ }
28
+ }
29
+ catch {
30
+ // ignore
31
+ }
23
32
  await this.running;
24
33
  this.running = undefined;
25
34
  }
26
35
  async loop() {
27
- const streamResult = await this.client.event.subscribe();
36
+ const streamResult = await this.client.event.subscribe({}, { responseStyle: "stream", throwOnError: true, signal: this.abort.signal });
37
+ this.stream = streamResult?.stream;
28
38
  try {
29
- for await (const event of streamResult.stream) {
39
+ for await (const event of this.stream) {
30
40
  if (this.abort.signal.aborted)
31
41
  break;
32
42
  if (!event || typeof event !== "object")
@@ -34,7 +44,7 @@ export class SessionEventStream {
34
44
  await this.handleEvent(event);
35
45
  }
36
46
  }
37
- catch {
47
+ catch (error) {
38
48
  if (!this.abort.signal.aborted) {
39
49
  throw new Error("Event stream terminated unexpectedly.");
40
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/opencode/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/opencode/events.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,9 @@ export function formatPermissionRequestMessage(prefix, permission) {
31
31
  patterns,
32
32
  "",
33
33
  "Reply examples:",
34
- `- Approve once: ${prefix} approve ${permission.requestID}`,
35
- `- Approve always: ${prefix} approve-always ${permission.requestID}`,
36
- `- Deny: ${prefix} deny ${permission.requestID}`,
34
+ `- Approve once: /approve ${permission.requestID}`,
35
+ `- Approve always: /approve-always ${permission.requestID}`,
36
+ `- Deny: /deny ${permission.requestID}`,
37
37
  ].join("\n");
38
38
  }
39
39
  function classifyRisk(permission, metadata) {
@@ -58,16 +58,14 @@ function classifyRisk(permission, metadata) {
58
58
  return "read";
59
59
  }
60
60
  export async function replyPermission(client, sessionID, requestID, action) {
61
- await client.postSessionByIdPermissionsByPermissionId({
62
- path: {
63
- id: sessionID,
64
- permissionID: requestID,
65
- },
66
- body: {
67
- response: action === "once" ? "once" : action === "always" ? "always" : "reject",
68
- },
69
- responseStyle: "data",
70
- throwOnError: true,
71
- });
61
+ // Bundled SDK convention: (params, options)
62
+ // Try the bundled method name first, fall back to workspace SDK name
63
+ const response = action === "once" ? "once" : action === "always" ? "always" : "reject";
64
+ const fn = client.postSessionSessionIDPermissionsPermissionID ??
65
+ client.postSessionIdPermissionsPermissionId ??
66
+ client.postSessionByIdPermissionsByPermissionId;
67
+ if (fn) {
68
+ await fn.call(client, { sessionID, permissionID: requestID, response }, { responseStyle: "data", throwOnError: true });
69
+ }
72
70
  }
73
71
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/opencode/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/opencode/permissions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare function createTelegramUserMessageID(updateID: number): string;
2
- export declare function submitPrompt(client: any, sessionID: string, prompt: string, updateID: number, model?: {
2
+ export declare function submitPrompt(client: any, sessionID: string, prompt: string, updateID: number, directory: string, model?: {
3
3
  providerID: string;
4
4
  modelID: string;
5
5
  }): Promise<{
@@ -1,26 +1,46 @@
1
1
  export function createTelegramUserMessageID(updateID) {
2
- return `tg-${updateID}`;
2
+ return `msg_tg_${updateID}`;
3
3
  }
4
- export async function submitPrompt(client, sessionID, prompt, updateID, model) {
4
+ export async function submitPrompt(client, sessionID, prompt, updateID, directory, model) {
5
5
  const userMessageID = createTelegramUserMessageID(updateID);
6
- const response = await client.session.prompt({
7
- path: {
8
- id: sessionID,
9
- },
10
- body: {
11
- messageID: userMessageID,
12
- ...(model ? { model } : {}),
13
- parts: [{ type: "text", text: prompt }],
14
- },
6
+ // 1. If a specific model is selected, update the session model first
7
+ if (model) {
8
+ try {
9
+ await client.session.update({
10
+ id: sessionID,
11
+ directory,
12
+ model,
13
+ }, {
14
+ responseStyle: "data",
15
+ throwOnError: true,
16
+ });
17
+ }
18
+ catch (err) {
19
+ // Ignore model update errors or log them silently
20
+ }
21
+ }
22
+ // 2. Clear the active TUI prompt
23
+ try {
24
+ await client.tui.clearPrompt({ directory }, { responseStyle: "data", throwOnError: true });
25
+ }
26
+ catch (err) {
27
+ // Ignore clear errors
28
+ }
29
+ // 3. Append the prompt text to the TUI prompt buffer
30
+ await client.tui.appendPrompt({
31
+ text: prompt,
32
+ directory,
33
+ }, {
34
+ responseStyle: "data",
35
+ throwOnError: true,
36
+ });
37
+ // 4. Submit the TUI prompt
38
+ await client.tui.submitPrompt({ directory }, {
15
39
  responseStyle: "data",
16
40
  throwOnError: true,
17
41
  });
18
- const info = (response?.info || response?.data?.info);
19
- const parts = (response?.parts || response?.data?.parts);
20
42
  return {
21
43
  userMessageID,
22
- assistantMessageID: typeof info?.id === "string" ? info.id : undefined,
23
- assistantParts: parts,
24
44
  };
25
45
  }
26
46
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/opencode/submit.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,OAAO,MAAM,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAW,EACX,SAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,KAGC;IAMD,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;SACd;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,aAAa;YACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACxC;QACD,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAgC,CAAC;IACrF,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,CAE1C,CAAC;IAEd,OAAO;QACL,aAAa;QACb,kBAAkB,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtE,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/opencode/submit.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,OAAO,UAAU,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAW,EACX,SAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,SAAiB,EACjB,KAGC;IAMD,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAE5D,qEAAqE;IACrE,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CACzB;gBACE,EAAE,EAAE,SAAS;gBACb,SAAS;gBACT,KAAK;aACN,EACD;gBACE,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE,IAAI;aACnB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAC1B,EAAE,SAAS,EAAE,EACb,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sBAAsB;IACxB,CAAC;IAED,qDAAqD;IACrD,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAC3B;QACE,IAAI,EAAE,MAAM;QACZ,SAAS;KACV,EACD;QACE,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,IAAI;KACnB,CACF,CAAC;IAEF,2BAA2B;IAC3B,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAC3B,EAAE,SAAS,EAAE,EACb;QACE,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,IAAI;KACnB,CACF,CAAC;IAEF,OAAO;QACL,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -7,6 +7,7 @@ type SessionCredentials = {
7
7
  export declare class BridgeController {
8
8
  private readonly api;
9
9
  private readonly config;
10
+ private readonly storePath;
10
11
  private readonly deps;
11
12
  private readonly instanceID;
12
13
  private readonly client;
@@ -24,7 +25,9 @@ export declare class BridgeController {
24
25
  private lastEscAt;
25
26
  private sessionCredentials?;
26
27
  private activePromptCheckInFlight;
28
+ private completionInFlight;
27
29
  constructor(api: TuiPluginApi, config: BridgeConfig, storePath: string, deps?: Partial<RuntimeDeps>);
30
+ private log;
28
31
  init(): Promise<void>;
29
32
  bindCurrent(credentials?: SessionCredentials): Promise<string>;
30
33
  unbind(): Promise<void>;