@plurnk/plurnk-agui 3.0.0 → 4.0.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.
Files changed (74) hide show
  1. package/.env.defaults +17 -8
  2. package/README.md +37 -13
  3. package/SPEC.md +627 -268
  4. package/dist/AguiPlus.d.ts +24 -29
  5. package/dist/AguiPlus.d.ts.map +1 -1
  6. package/dist/AguiPlus.js +25 -36
  7. package/dist/AguiPlus.js.map +1 -1
  8. package/dist/AguiSurface.d.ts +2 -2
  9. package/dist/AguiSurface.d.ts.map +1 -1
  10. package/dist/AguiSurface.js +25 -16
  11. package/dist/AguiSurface.js.map +1 -1
  12. package/dist/AuthorizationDocuments.d.ts +33 -0
  13. package/dist/AuthorizationDocuments.d.ts.map +1 -0
  14. package/dist/AuthorizationDocuments.js +84 -0
  15. package/dist/AuthorizationDocuments.js.map +1 -0
  16. package/dist/BuiltinActions.d.ts +11 -5
  17. package/dist/BuiltinActions.d.ts.map +1 -1
  18. package/dist/BuiltinActions.js +84 -119
  19. package/dist/BuiltinActions.js.map +1 -1
  20. package/dist/EventRouter.d.ts +11 -3
  21. package/dist/EventRouter.d.ts.map +1 -1
  22. package/dist/EventRouter.js +17 -32
  23. package/dist/EventRouter.js.map +1 -1
  24. package/dist/MessageAddress.d.ts +7 -5
  25. package/dist/MessageAddress.d.ts.map +1 -1
  26. package/dist/MessageAddress.js +14 -12
  27. package/dist/MessageAddress.js.map +1 -1
  28. package/dist/Module.d.ts +5 -4
  29. package/dist/Module.d.ts.map +1 -1
  30. package/dist/Module.js +222 -83
  31. package/dist/Module.js.map +1 -1
  32. package/dist/OAuthServer.d.ts +30 -0
  33. package/dist/OAuthServer.d.ts.map +1 -0
  34. package/dist/OAuthServer.js +607 -0
  35. package/dist/OAuthServer.js.map +1 -0
  36. package/dist/Portal.d.ts +41 -9
  37. package/dist/Portal.d.ts.map +1 -1
  38. package/dist/Portal.js +497 -185
  39. package/dist/Portal.js.map +1 -1
  40. package/dist/ProposalHitl.d.ts +18 -4
  41. package/dist/ProposalHitl.d.ts.map +1 -1
  42. package/dist/ProposalHitl.js +31 -41
  43. package/dist/ProposalHitl.js.map +1 -1
  44. package/dist/RunHandler.d.ts +18 -8
  45. package/dist/RunHandler.d.ts.map +1 -1
  46. package/dist/RunHandler.js +256 -137
  47. package/dist/RunHandler.js.map +1 -1
  48. package/dist/ThreadAddress.d.ts +8 -0
  49. package/dist/ThreadAddress.d.ts.map +1 -0
  50. package/dist/ThreadAddress.js +18 -0
  51. package/dist/ThreadAddress.js.map +1 -0
  52. package/dist/Translator.d.ts +52 -2
  53. package/dist/Translator.d.ts.map +1 -1
  54. package/dist/Translator.js +391 -121
  55. package/dist/Translator.js.map +1 -1
  56. package/dist/client.d.ts +2 -0
  57. package/dist/client.d.ts.map +1 -0
  58. package/dist/client.js +2 -0
  59. package/dist/client.js.map +1 -0
  60. package/dist/config.d.ts +22 -2
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +65 -13
  63. package/dist/config.js.map +1 -1
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +2 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/run-events.d.ts +2 -0
  69. package/dist/run-events.d.ts.map +1 -1
  70. package/dist/run-events.js +5 -2
  71. package/dist/run-events.js.map +1 -1
  72. package/dist/types.d.ts +4 -22
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +12 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadAddress.d.ts","sourceRoot":"","sources":["../src/ThreadAddress.ts"],"names":[],"mappings":"AAIA,iGAAiG;AACjG,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAWjF;CACJ"}
@@ -0,0 +1,18 @@
1
+ import { WORKER_NAME } from "@plurnk/plurnk-contracts";
2
+ import { HttpProblemError } from "./action-results.js";
3
+ import { httpProblem } from "./run-events.js";
4
+ /** {§agui-thread-address} Qualified identity is syntax, never a database-existence heuristic. */
5
+ export default class ThreadAddress {
6
+ static parse(threadId) {
7
+ const match = /^([0-9]+)#(.*)$/su.exec(threadId);
8
+ if (match === null)
9
+ return null;
10
+ const workspaceId = Number(match[1]);
11
+ const workerName = match[2];
12
+ if (String(workspaceId) !== match[1] || !Number.isSafeInteger(workspaceId) || workspaceId < 1 || !WORKER_NAME.test(workerName)) {
13
+ throw new HttpProblemError(httpProblem("thread-address-invalid", 400, "The qualified thread address is not <workspace ID>#<worker name>.", { threadId, stage: "request-validation", retryable: false }));
14
+ }
15
+ return { workspaceId, workerName };
16
+ }
17
+ }
18
+ //# sourceMappingURL=ThreadAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadAddress.js","sourceRoot":"","sources":["../src/ThreadAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,iGAAiG;AACjG,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,KAAK,CAAC,QAAgB;QACzB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7H,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,EAChE,mEAAmE,EACnE,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;CACJ"}
@@ -1,33 +1,83 @@
1
1
  import { type AguiEvent, type LogEntryNotification, type OutsideEventNotification, type ReasoningEventNotification, type TerminatedNotification, type UserMessage } from "./types.ts";
2
2
  import { type ApplicationLoopPacket } from "@plurnk/plurnk-contracts";
3
+ type RowFacts = {
4
+ id?: unknown;
5
+ loop_seq?: unknown;
6
+ turn_seq?: unknown;
7
+ sequence?: unknown;
8
+ worker_id?: unknown;
9
+ origin?: unknown;
10
+ op?: unknown;
11
+ source?: unknown;
12
+ signal?: unknown;
13
+ status_rx?: unknown;
14
+ attrs?: unknown;
15
+ state?: unknown;
16
+ scheme?: unknown;
17
+ hostname?: unknown;
18
+ port?: unknown;
19
+ pathname?: unknown;
20
+ query?: unknown;
21
+ fragment?: unknown;
22
+ };
3
23
  export interface TranslatorContinuation {
4
24
  readonly currentTurn: number | null;
5
25
  readonly modelWorkerId: number | null;
6
26
  readonly completedReasoning: ReadonlyArray<readonly [number, readonly string[]]>;
27
+ readonly held: readonly string[];
7
28
  }
8
29
  export default class Translator {
9
30
  #private;
10
31
  constructor(args: {
11
32
  threadId: string;
33
+ replyThreads?: readonly string[];
12
34
  runId: string;
13
35
  modelWorkerId?: number | null;
14
36
  workspaceId?: number | null;
15
37
  continuation?: TranslatorContinuation;
38
+ subagent?: {
39
+ readonly runId: string;
40
+ readonly worker: string;
41
+ };
42
+ held?: Set<string>;
16
43
  });
17
44
  runStarted(state?: AguiEvent): AguiEvent[];
45
+ submitted(messageId: string): void;
18
46
  get reasoningOpen(): boolean;
19
47
  interrupt(): {
20
48
  events: AguiEvent[];
21
49
  continuation: TranslatorContinuation;
22
50
  };
23
51
  finish(): AguiEvent[];
52
+ fail(): AguiEvent[];
24
53
  logEntry(n: LogEntryNotification): AguiEvent[];
54
+ subagentTranslator(args: {
55
+ readonly modelWorkerId: number;
56
+ readonly subagent: {
57
+ readonly runId: string;
58
+ readonly worker: string;
59
+ };
60
+ }): Translator;
61
+ gateCall(entry: LogEntryNotification["entry"]): AguiEvent[];
25
62
  reasoning(event: ReasoningEventNotification): AguiEvent[];
26
63
  outside(event: OutsideEventNotification): AguiEvent[];
27
64
  terminated(n: TerminatedNotification): AguiEvent[];
28
65
  replay(entries: Array<Record<string, unknown>>, currentUser?: UserMessage): AguiEvent[];
29
- notice(notice: unknown): AguiEvent[];
66
+ static replayAll(parts: ReadonlyArray<{
67
+ readonly translator: Translator;
68
+ readonly entries: ReadonlyArray<Record<string, unknown>>;
69
+ }>, currentUser?: UserMessage): AguiEvent[];
70
+ notice(notice: unknown, loopId?: number | null): AguiEvent[];
30
71
  packet(packet: ApplicationLoopPacket): AguiEvent[];
31
- static isResponse(entry: Record<string, unknown>, threadId?: string): boolean;
72
+ static isResponse(entry: Record<string, unknown>, replyThreads: readonly string[]): boolean;
73
+ static idOf(e: {
74
+ loop_seq?: unknown;
75
+ turn_seq?: unknown;
76
+ sequence?: unknown;
77
+ }): string;
78
+ static addressOf(e: RowFacts): string | null;
79
+ static callOf(invocation: unknown): string;
80
+ static subagentIds(worker: string): string;
32
81
  }
82
+ export {};
33
83
  //# sourceMappingURL=Translator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEH,KAAK,SAAS,EAEd,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAoC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAExG,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACpF;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;;IAU3B,YAAY,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,sBAAsB,CAAC;KACzC,EASA;IAaD,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAczC;IAGD,IAAI,aAAa,IAAI,OAAO,CAA2C;IAEvE,SAAS,IAAI;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAA;KAAE,CAUzE;IAED,MAAM,IAAI,SAAS,EAAE,CAYpB;IAED,QAAQ,CAAC,CAAC,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAsE7C;IAED,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAyCxD;IAGD,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAAE,CAMpD;IAED,UAAU,CAAC,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAAE,CA+CjD;IAKD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAsCtF;IAED,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAwBnC;IAED,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAWjD;IAyDD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAe5E;CAsCJ"}
1
+ {"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../src/Translator.ts"],"names":[],"mappings":"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"}