@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
@@ -2,12 +2,9 @@ import { type AguiEvent, type ProposalNotification } from "./types.ts";
2
2
  import type { JsonPatch } from "@ag-ui/core";
3
3
  import type { Interrupt, ResumeEntry } from "@ag-ui/core";
4
4
  import { type LoopLifecycle, type ProviderAccounting } from "@plurnk/plurnk-contracts";
5
- import type { ApplicationLoopProjection, ClientInteractionProjection, ClientInteractionResolution, FunctionalityPreparationActivity, ModelRoute, ProblemDetails, ProposalResolution } from "@plurnk/plurnk-contracts";
6
- export declare const proposalToolCallId: (logEntryId: number) => string;
7
- export declare const logEntryIdFromToolCallId: (toolCallId: string) => number | null;
8
- export declare const proposalToolName: (_op: string) => string;
9
- export declare const proposalToolCall: (p: ProposalNotification) => AguiEvent[];
10
- export declare const proposalInterrupt: (logEntryId: number) => Interrupt;
5
+ import type { ApplicationLoopProjection, ApplicationProviderAlias, ClientInteractionProjection, ClientInteractionResolution, FunctionalityPreparationActivity, ModelRoute, ProblemDetails, ProposalResolution } from "@plurnk/plurnk-contracts";
6
+ export declare const proposalKey: (logEntryId: number) => string;
7
+ export declare const proposalInterrupt: (proposal: ProposalNotification) => Omit<Interrupt, "id">;
11
8
  export interface Resolution extends ProposalResolution {
12
9
  logEntryId: number;
13
10
  }
@@ -15,25 +12,15 @@ export declare const resolutionFromResume: (entry: ResumeEntry) => Resolution |
15
12
  export declare const interactionToolCallId: (interactionId: number) => string;
16
13
  export declare const interactionIdFromToolCallId: (toolCallId: string) => number | null;
17
14
  export declare const interactionToolCall: (interaction: ClientInteractionProjection) => AguiEvent[];
18
- export declare const interactionInterrupt: (interaction: ClientInteractionProjection) => Interrupt;
15
+ export declare const interactionInterrupt: (interaction: ClientInteractionProjection) => Omit<Interrupt, "id">;
19
16
  export interface InteractionResolution {
20
17
  interactionId: number;
21
18
  resolution: ClientInteractionResolution;
22
19
  }
23
20
  export declare const interactionResolutionFromResume: (entry: ResumeEntry) => InteractionResolution | null;
24
21
  export interface AguiPlusState {
25
- providers?: Array<{
26
- alias: string;
27
- model: string;
28
- active: boolean;
29
- inputCapacity: number | null;
30
- }>;
31
- workspace?: {
32
- id: number;
33
- name: string;
34
- projectRoot?: string | null;
35
- budget?: number | null;
36
- };
22
+ providers?: ApplicationProviderAlias[];
23
+ workspace?: AguiWorkspaceState;
37
24
  workspaces?: Array<{
38
25
  id: number;
39
26
  name: string;
@@ -45,8 +32,16 @@ export interface AguiPlusState {
45
32
  }>;
46
33
  status?: AguiStatusState;
47
34
  }
35
+ export interface AguiWorkspaceState {
36
+ readonly id: number;
37
+ readonly name: string;
38
+ readonly projectRoot: string | null;
39
+ readonly projectLabel: string | null;
40
+ readonly preparation: readonly FunctionalityPreparationActivity[];
41
+ readonly activity: AguiDerivationActivity | null;
42
+ }
48
43
  export type AguiLifecycle = LoopLifecycle;
49
- export interface AguiStatusActivity {
44
+ export interface AguiDerivationActivity {
50
45
  readonly kind: "derivation";
51
46
  readonly phase: "preparing" | "indexing" | "failed";
52
47
  readonly completed: number;
@@ -55,27 +50,27 @@ export interface AguiStatusActivity {
55
50
  readonly message: string;
56
51
  }
57
52
  export interface AguiStatusState {
58
- readonly preparation: readonly FunctionalityPreparationActivity[];
59
53
  readonly lifecycle: AguiLifecycle;
60
54
  readonly model: ModelRoute | null;
61
55
  readonly loopId: number | null;
62
56
  readonly packetCount: number;
63
57
  readonly waitUntil: number | null;
64
- readonly activity: AguiStatusActivity | null;
65
58
  readonly children: number;
66
- readonly descendants: AguiDescendantsState;
59
+ readonly spend: AguiSpendState;
60
+ readonly claimedAt: number | null;
61
+ readonly terminatedAt: number | null;
67
62
  }
68
- export interface AguiDescendantsState extends Omit<ProviderAccounting, "requests"> {
63
+ export declare const loopTiming: (loop: ApplicationLoopProjection | null) => Pick<AguiStatusState, "claimedAt" | "terminatedAt">;
64
+ export interface AguiSpendState extends Omit<ProviderAccounting, "requests"> {
69
65
  readonly requests: number;
70
66
  }
71
- export declare const descendantsState: ({ requests, ...projection }: ProviderAccounting) => AguiDescendantsState;
72
- export declare const EMPTY_DESCENDANTS: AguiDescendantsState;
67
+ export declare const spendState: ({ requests, ...projection }: ProviderAccounting) => AguiSpendState;
73
68
  export declare const ALIVE_LIFECYCLES: ReadonlySet<LoopLifecycle>;
74
69
  export declare const aliveChildren: (rows: readonly {
75
70
  readonly lifecycle: LoopLifecycle;
76
71
  }[]) => number;
77
- export declare const derivationActivity: (value: unknown) => AguiStatusActivity | null;
78
- export declare const statusState: (model: ModelRoute | null, loop: ApplicationLoopProjection | null, activity?: AguiStatusActivity | null, children?: number, descendants?: AguiDescendantsState, preparation?: AguiStatusState["preparation"]) => AguiStatusState;
72
+ export declare const derivationActivity: (value: unknown) => AguiDerivationActivity | null;
73
+ export declare const statusState: (model: ModelRoute | null, loop: ApplicationLoopProjection | null, spend: AguiSpendState, children?: number) => AguiStatusState;
79
74
  export interface AguiBudgetState {
80
75
  readonly curationWeight: number | null;
81
76
  readonly curationBudget: number | null;
@@ -96,5 +91,5 @@ export type ActionOutcome = {
96
91
  ok: false;
97
92
  problem: ProblemDetails;
98
93
  };
99
- export declare const actionResult: (kind: string, outcome: ActionOutcome) => AguiEvent;
94
+ export declare const actionRunResult: (kind: string, outcome: ActionOutcome) => Record<string, unknown>;
100
95
  //# sourceMappingURL=AguiPlus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AguiPlus.d.ts","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AguiPlus.d.ts","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
package/dist/AguiPlus.js CHANGED
@@ -3,38 +3,21 @@
3
3
  // engine state → AG-UI events, and the inverse resume-mapping. No transport, no I/O
4
4
  // — so it ports into the in-process module unchanged when the seam lands.
5
5
  //
6
- // §1 proposals → tool-calls (terminate-resume HITL); §2 reads →
6
+ // §1 proposals → interrupts (terminate-resume HITL); §2 reads →
7
7
  // shared STATE. This is the flagship choreography de-risked as logic before code.
8
8
  import { EventType } from "./types.js";
9
9
  import { lifecycleOfLoopStatus } from "@plurnk/plurnk-contracts";
10
- // ── §1 — stop-the-world → tool-call ──────────────────────────────────
11
- // toolCallId correlates the terminating AG-UI Run's TOOL_CALL and interrupt with the next
12
- // AG-UI Run's ResumeEntry → the exact pending proposal. Encodes the logEntryId: `prop:<id>`.
13
- export const proposalToolCallId = (logEntryId) => `prop:${logEntryId}`;
14
- export const logEntryIdFromToolCallId = (toolCallId) => {
15
- const m = /^prop:(\d+)$/.exec(toolCallId);
10
+ // ── §1 — stop-the-world → interrupt ──────────────────────────────────
11
+ // {§agui-proposal-resolve} A gate is the operation awaiting its decision: the Portal presents its call, per Run, and the
12
+ // interrupt names it there. The interrupt carries Core's projection, what the reviewer reviews; the resume names the
13
+ // proposal by this key, which no client sees.
14
+ export const proposalKey = (logEntryId) => `proposal:${logEntryId}`;
15
+ const logEntryIdFromKey = (key) => {
16
+ const m = /^proposal:(\d+)$/.exec(key);
16
17
  return m === null ? null : Number(m[1]);
17
18
  };
18
- // Tool-call NAME — AG-UI terminology all the way up to the seam: the client-facing
19
- // name is AG-UI-conventional, not plurnk-namespaced.
20
- // A side-effecting proposal is an approval request. The plurnk correlation rides
21
- // the opaque toolCallId (`prop:<logEntryId>`), so the generic name carries no
22
- // plurnk vocabulary upward.
23
- export const proposalToolName = (_op) => "request_approval";
24
- // The worker's tail when it hits a pause: the tool-call, then the CALLER emits
25
- // RUN_FINISHED to terminate. The loop stays paused in-engine — untouched.
26
- export const proposalToolCall = (p) => {
27
- const toolCallId = proposalToolCallId(p.logEntryId);
28
- return [
29
- { type: EventType.TOOL_CALL_START, toolCallId, toolCallName: proposalToolName(p.op) },
30
- { type: EventType.TOOL_CALL_ARGS, toolCallId, delta: JSON.stringify({ op: p.op, target: p.target, body: p.body, attrs: p.attrs, owner: p.owner }) },
31
- { type: EventType.TOOL_CALL_END, toolCallId },
32
- ];
33
- };
34
- export const proposalInterrupt = (logEntryId) => ({
35
- id: proposalToolCallId(logEntryId),
19
+ export const proposalInterrupt = (proposal) => ({
36
20
  reason: "tool_call",
37
- toolCallId: proposalToolCallId(logEntryId),
38
21
  message: "Review the requested action.",
39
22
  responseSchema: {
40
23
  type: "object",
@@ -45,9 +28,11 @@ export const proposalInterrupt = (logEntryId) => ({
45
28
  },
46
29
  required: ["decision"],
47
30
  },
31
+ ...(proposal.expiresAt === undefined ? {} : { expiresAt: proposal.expiresAt }),
32
+ metadata: { plurnk: { proposal } },
48
33
  });
49
34
  export const resolutionFromResume = (entry) => {
50
- const logEntryId = logEntryIdFromToolCallId(entry.interruptId);
35
+ const logEntryId = logEntryIdFromKey(entry.interruptId);
51
36
  if (logEntryId === null)
52
37
  return null;
53
38
  const payload = entry.payload;
@@ -84,7 +69,6 @@ export const interactionToolCall = (interaction) => {
84
69
  ];
85
70
  };
86
71
  export const interactionInterrupt = (interaction) => ({
87
- id: interactionToolCallId(interaction.interactionId),
88
72
  reason: "tool_call",
89
73
  toolCallId: interactionToolCallId(interaction.interactionId),
90
74
  message: interaction.request.message ?? "Provide the requested input.",
@@ -105,11 +89,15 @@ export const interactionResolutionFromResume = (entry) => {
105
89
  },
106
90
  };
107
91
  };
108
- export const descendantsState = ({ requests, ...projection }) => ({
92
+ // {§agui-status-timing} — the Loop's durable stamps as the gauge carries them.
93
+ export const loopTiming = (loop) => ({
94
+ claimedAt: loop?.claimedAt == null ? null : Date.parse(loop.claimedAt),
95
+ terminatedAt: loop?.terminatedAt == null ? null : Date.parse(loop.terminatedAt),
96
+ });
97
+ export const spendState = ({ requests, ...projection }) => ({
109
98
  ...projection,
110
99
  requests: requests.length,
111
100
  });
112
- export const EMPTY_DESCENDANTS = Object.freeze({ requests: 0, usage: null, knownUsage: null, costUsd: null, knownCostUsd: null });
113
101
  // {§agui-status-children} — a child that still owes a result is alive; one that concluded is not.
114
102
  export const ALIVE_LIFECYCLES = new Set(["queued", "running", "parked"]);
115
103
  export const aliveChildren = (rows) => rows.filter(({ lifecycle }) => ALIVE_LIFECYCLES.has(lifecycle)).length;
@@ -128,17 +116,16 @@ export const derivationActivity = (value) => {
128
116
  }
129
117
  return phase === "complete" ? null : { kind: "derivation", phase, completed, total, percent, message };
130
118
  };
131
- export const statusState = (model, loop, activity = null, children = 0, descendants = EMPTY_DESCENDANTS, preparation = []) => ({
119
+ export const statusState = (model, loop, spend, children = 0) => ({
132
120
  // {§loop-lifecycle-vocabulary} — the one projection the worker directory shares.
133
121
  lifecycle: lifecycleOfLoopStatus(loop?.status ?? null),
134
122
  model,
135
123
  loopId: loop?.id ?? null,
136
124
  packetCount: loop?.packetCount ?? 0,
137
125
  waitUntil: loop?.status === 202 ? loop.waitUntil : null,
138
- activity,
126
+ ...loopTiming(loop),
139
127
  children,
140
- descendants,
141
- preparation,
128
+ spend,
142
129
  });
143
130
  const EMPTY_BUDGET = Object.freeze({
144
131
  curationWeight: null,
@@ -146,9 +133,10 @@ const EMPTY_BUDGET = Object.freeze({
146
133
  contextTokens: null,
147
134
  contextCapacity: null,
148
135
  });
136
+ // {§agui-workspace-state} The worker's gauge, `status` and `budget`, rides only a Run that binds a worker.
149
137
  export const stateSnapshot = (s) => ({
150
138
  type: EventType.STATE_SNAPSHOT,
151
- snapshot: { plurnk: s, budget: EMPTY_BUDGET },
139
+ snapshot: s.status === undefined ? { plurnk: s } : { plurnk: s, budget: EMPTY_BUDGET },
152
140
  });
153
141
  // {§agui-daemon-client} — AG-UI 1.0 types STATE_DELTA as a real RFC 6902 patch, so the
154
142
  // operation union is the parameter type rather than a loose object shape.
@@ -163,5 +151,6 @@ export const parseAction = (forwardedProps) => {
163
151
  const { kind: _kind, ...params } = action;
164
152
  return { kind, params };
165
153
  };
166
- export const actionResult = (kind, outcome) => ({ type: EventType.CUSTOM, name: "plurnk.action.result", value: { kind, ...outcome } });
154
+ // {§agui-plurnk-metadata} An action Run's result: the action's whole outcome, a failure included.
155
+ export const actionRunResult = (kind, outcome) => ({ kind, ...outcome });
167
156
  //# sourceMappingURL=AguiPlus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AguiPlus.js","sourceRoot":"","sources":["../src/AguiPlus.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qCAAqC;AACrC,oFAAoF;AACpF,0EAA0E;AAC1E,EAAE;AACF,gEAAgE;AAChE,kFAAkF;AAElF,OAAO,EAAE,SAAS,EAA6C,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,qBAAqB,EAA+C,MAAM,0BAA0B,CAAC;AAY9G,wEAAwE;AACxE,yHAAyH;AACzH,qHAAqH;AACrH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAU,EAAE,CAAC,YAAY,UAAU,EAAE,CAAC;AACpF,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAiB,EAAE;IACrD,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAA8B,EAAyB,EAAE,CAAC,CAAC;IACzF,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,8BAA8B;IACvC,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;YAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;IACD,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC9E,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAkB,EAAqB,EAAE;IAC1E,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAgF,CAAC;IACvG,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACnF,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IACxF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;AACzF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAqB,EAAU,EAAE,CAAC,OAAO,aAAa,EAAE,CAAC;AAC/F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,UAAkB,EAAiB,EAAE;IAC7E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAwC,EAAe,EAAE;IACzF,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpE,OAAO;QACH;YACI,IAAI,EAAE,SAAS,CAAC,eAAe;YAC/B,UAAU;YACV,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ;SAC7C;QACD;YACI,IAAI,EAAE,SAAS,CAAC,cAAc;YAC9B,UAAU;YACV,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACvD;QACD,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE;KAChD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAwC,EAAyB,EAAE,CAAC,CAAC;IACtG,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC;IAC5D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,8BAA8B;IACtE,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc;CACrD,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAAkB,EAAgC,EAAE;IAChG,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACH,aAAa;QACb,UAAU,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE;KACJ,CAAC;AACN,CAAC,CAAC;AA6CF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAsC,EAAuD,EAAE,CAAC,CAAC;IACxH,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IACtE,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;CAClF,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAsB,EAAkB,EAAE,CAAC,CAAC;IAC5F,GAAG,UAAU;IACb,QAAQ,EAAE,QAAQ,CAAC,MAAM;CAC5B,CAAC,CAAC;AAEH,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAA+B,IAAI,GAAG,CAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACpH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAsD,EAAU,EAAE,CAC5F,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAE3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAiC,EAAE;IAChF,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACnF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAgC,CAAC;IACvF,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;WACxF,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;WAClF,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,SAAS;WAC9E,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG;WACxF,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC3G,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,KAAwB,EACxB,IAAsC,EACtC,KAAqB,EACrB,QAAQ,GAAG,CAAC,EACG,EAAE,CAAC,CAAC;IACnB,iFAAiF;IACjF,SAAS,EAAE,qBAAqB,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;IACtD,KAAK;IACL,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;IACxB,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC;IACnC,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;IACvD,GAAG,UAAU,CAAC,IAAI,CAAC;IACnB,QAAQ;IACR,KAAK;CACR,CAAC,CAAC;AAQH,MAAM,YAAY,GAAoB,MAAM,CAAC,MAAM,CAAC;IAChD,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;CACxB,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAa,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,SAAS,CAAC,cAAc;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;CACzF,CAAC,CAAC;AACH,uFAAuF;AACvF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAkB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAQ/G,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,cAAuB,EAAwB,EAAE;IACzE,MAAM,MAAM,GAAI,cAAgE,EAAE,MAAM,EAAE,MAAM,CAAC;IACjG,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,MAAiC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAsB,EAA2B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { JsonSchema } from "@plurnk/plurnk-contracts";
2
- type AguiActionScope = "worldless" | "workspace" | "worker";
2
+ type AguiActionScope = "daemon" | "workspace" | "worker";
3
3
  export interface AguiActionContract {
4
4
  readonly scope: AguiActionScope;
5
5
  readonly inputSchema: JsonSchema;
@@ -23,10 +23,10 @@ export declare const AGUI_BUILTIN_ACTIONS: Readonly<{
23
23
  "workspace.prompts": AguiActionContract;
24
24
  "workspace.share": AguiActionContract;
25
25
  "workspace.rename": AguiActionContract;
26
+ "workspace.rollback": AguiActionContract;
26
27
  "entry.read": AguiActionContract;
27
28
  "op.exec": AguiActionContract;
28
29
  "op.parse": AguiActionContract;
29
- "op.look": AguiActionContract;
30
30
  "run.fork": AguiActionContract;
31
31
  "worker.model.get": AguiActionContract;
32
32
  "worker.model.set": AguiActionContract;
@@ -1 +1 @@
1
- {"version":3,"file":"AguiSurface.d.ts","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACtC;AA8DD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkFwB,CAAC;AA6B1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EA2EgC,CAAC"}
1
+ {"version":3,"file":"AguiSurface.d.ts","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACtC;AAgED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFwB,CAAC;AA6B1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EA6EgC,CAAC"}
@@ -26,17 +26,19 @@ const workspace = object({
26
26
  id: POSITIVE,
27
27
  name: NONEMPTY,
28
28
  project_root: nullable(string()),
29
+ // {§workspace-label}
30
+ project_label: nullable(string()),
29
31
  created_at: NONEMPTY,
30
- }, ["id", "name", "project_root", "created_at"]);
32
+ }, ["id", "name", "project_root", "project_label", "created_at"]);
31
33
  // {§application-worker-observation} — kind and lifecycle ride the directory row (#523).
32
34
  const worker = object({
33
35
  id: POSITIVE,
34
36
  name: NONEMPTY,
35
37
  created_at: NONEMPTY,
36
38
  owner: NONEMPTY,
37
- origin: { enum: ["model", "client", "_plurnk"] },
39
+ origin: { enum: ["model", "_plurnk"] },
38
40
  parentWorkerId: nullable(POSITIVE),
39
- kind: { enum: ["conversation", "fork", "work"] },
41
+ kind: { enum: ["root", "fork", "work"] },
40
42
  lifecycle: { enum: ["idle", "queued", "running", "parked", "completed", "failed"] },
41
43
  }, ["id", "name", "created_at", "owner", "origin", "parentWorkerId", "kind", "lifecycle"]);
42
44
  const capabilityProjection = ref("CapabilityProjection");
@@ -48,28 +50,32 @@ const effortResult = object({
48
50
  }, ["effort", "source", "supportedEfforts"]);
49
51
  const action = (scope, inputSchema, outputSchema) => Object.freeze({ scope, inputSchema, outputSchema });
50
52
  export const AGUI_BUILTIN_ACTIONS = Object.freeze({
51
- ping: action("worldless", EMPTY, EMPTY),
52
- discover: action("worldless", EMPTY, ref("AguiDiscovery")),
53
- "providers.list": action("worldless", EMPTY, object({
53
+ ping: action("daemon", EMPTY, EMPTY),
54
+ discover: action("daemon", EMPTY, ref("AguiDiscovery")),
55
+ // {§agui-provider-routes} — each alias is the route a worker seeded from it gets, its configured effort included.
56
+ "providers.list": action("daemon", EMPTY, object({
54
57
  aliases: array(object({
55
58
  alias: NONEMPTY,
56
59
  provider: NONEMPTY,
57
60
  model: NONEMPTY,
61
+ effort: EFFORT,
62
+ effortSource: { const: "default" },
58
63
  active: { type: "boolean" },
59
64
  inputCapacity: nullable(POSITIVE),
60
65
  }, ["alias", "provider", "model", "active", "inputCapacity"])),
61
66
  }, ["aliases"])),
62
- "models.list": action("worldless", ref("ModelCatalogQuery"), ref("ModelCatalogPage")),
63
- "workspace.list": action("worldless", EMPTY, object({ workspaces: array(workspace) }, ["workspaces"])),
64
- "workspace.create": action("worldless", object({
67
+ "models.list": action("daemon", ref("ModelCatalogQuery"), ref("ModelCatalogPage")),
68
+ "workspace.list": action("daemon", EMPTY, object({ workspaces: array(workspace) }, ["workspaces"])),
69
+ "workspace.create": action("daemon", object({
65
70
  name: NONEMPTY,
66
71
  projectRoot: nullable(string()),
67
72
  settings: { oneOf: [string(), { type: "object", additionalProperties: true }] },
68
- }), object({ id: POSITIVE, name: NONEMPTY, workerId: POSITIVE }, ["id", "name", "workerId"])),
69
- "workspace.attach": action("worldless", object({
70
- id: POSITIVE,
71
- workerId: POSITIVE,
72
- }, ["id"]), object({ id: POSITIVE, name: NONEMPTY, workerId: POSITIVE }, ["id", "name", "workerId"])),
73
+ }), object({ id: POSITIVE, name: NONEMPTY }, ["id", "name"])),
74
+ "workspace.attach": action("daemon", { oneOf: [
75
+ object({ id: POSITIVE }, ["id"]),
76
+ object({ name: NONEMPTY }, ["name"]),
77
+ object({ projectRoot: NONEMPTY }, ["projectRoot"]),
78
+ ] }, object({ id: POSITIVE, name: NONEMPTY }, ["id", "name"])),
73
79
  "workspace.workers": action("workspace", object({ id: POSITIVE }), object({ workers: array(worker) }, ["workers"])),
74
80
  "log.read": action("workspace", object({
75
81
  workerId: POSITIVE,
@@ -95,6 +101,8 @@ export const AGUI_BUILTIN_ACTIONS = Object.freeze({
95
101
  "workspace.prompts": action("workspace", object({ workerId: POSITIVE, limit: POSITIVE }), object({ prompts: array(string()) }, ["prompts"])),
96
102
  "workspace.share": action("workspace", object({ folder: NONEMPTY }, ["folder"]), object({ folder: NONEMPTY }, ["folder"])),
97
103
  "workspace.rename": action("workspace", object({ name: NONEMPTY }, ["name"]), object({ id: POSITIVE, name: NONEMPTY }, ["id", "name"])),
104
+ // {§rollback} — undo the bound worker's file mutations after a log coordinate, through ordinary operations.
105
+ "workspace.rollback": action("workspace", object({ to: NONEMPTY, workerId: POSITIVE }, ["to"]), ref("RollbackReport")),
98
106
  "entry.read": action("workspace", object({
99
107
  target: NONEMPTY,
100
108
  workerId: POSITIVE,
@@ -105,7 +113,6 @@ export const AGUI_BUILTIN_ACTIONS = Object.freeze({
105
113
  "op.parse": action("workspace", object({ text: NONEMPTY }, ["text"]), object({
106
114
  results: array(OPERATION_RESULT),
107
115
  }, ["results"])),
108
- "op.look": action("workspace", object({ text: NONEMPTY, workerId: POSITIVE }, ["text"]), OPERATION_RESULT),
109
116
  "run.fork": action("workspace", object({ name: NONEMPTY }), object({
110
117
  workerId: POSITIVE,
111
118
  workerName: nullable(NONEMPTY),
@@ -183,7 +190,9 @@ export const AGUI_NOTIFICATIONS = Object.freeze({
183
190
  contextCapacity: nullable(POSITIVE),
184
191
  meta: { type: "object", additionalProperties: true },
185
192
  }, ["accounting", "curationWeight", "curationBudget", "contextTokens", "contextCapacity", "meta"]),
186
- }, ["workerId", "loopId", "result", "hitMaxTurns", "turnIds", "attributions", "usage"])),
193
+ // {§notifications-loop-terminated} — Unix milliseconds, the loop's own stamp.
194
+ terminatedAt: POSITIVE,
195
+ }, ["workerId", "loopId", "result", "hitMaxTurns", "turnIds", "attributions", "usage", "terminatedAt"])),
187
196
  "loop/packet": notification(object({
188
197
  workerId: POSITIVE,
189
198
  loopId: POSITIVE,
@@ -1 +1 @@
1
- {"version":3,"file":"AguiSurface.js","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AguiSurface.js","sourceRoot":"","sources":["../src/AguiSurface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface AuthorizationDocument {
2
+ readonly title: string;
3
+ readonly body: string;
4
+ }
5
+ export declare const escapeHtml: (value: string) => string;
6
+ export interface AuthorizationRequest {
7
+ readonly client: string;
8
+ readonly scopes: readonly string[];
9
+ readonly hidden: Readonly<Record<string, string>>;
10
+ }
11
+ export declare const AuthorizationDocuments: {
12
+ signIn: (request: AuthorizationRequest, failure: string | null) => AuthorizationDocument;
13
+ consent: (request: AuthorizationRequest) => AuthorizationDocument;
14
+ noPassword: () => AuthorizationDocument;
15
+ refused: () => AuthorizationDocument;
16
+ signedIn: (hidden: Readonly<Record<string, string>>) => AuthorizationDocument;
17
+ notSignedIn: () => AuthorizationDocument;
18
+ signedOut: () => AuthorizationDocument;
19
+ };
20
+ /**
21
+ * {§agui-oauth-documents} The complete document and its content security policy: the registered
22
+ * stylesheet, same-origin, in place of the standalone style when one applies.
23
+ */
24
+ export declare const renderAuthorizationDocument: (document: AuthorizationDocument, stylesheet: string | null) => {
25
+ readonly html: string;
26
+ readonly policy: string;
27
+ };
28
+ /**
29
+ * {§agui-oauth-documents} Every document the authorization server serves, rendered with placeholder
30
+ * values, for a consumer whose production CSS pruning must keep the selectors they use.
31
+ */
32
+ export declare const authorizationDocumentSpecimens: () => readonly string[];
33
+ //# sourceMappingURL=AuthorizationDocuments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorizationDocuments.d.ts","sourceRoot":"","sources":["../src/AuthorizationDocuments.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MACsF,CAAC;AASlI,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAOD,eAAO,MAAM,sBAAsB;IAC/B,MAAM,YAAY,oBAAoB,WAAW,MAAM,GAAG,IAAI,KAAG,qBAAqB;IAQtF,OAAO,YAAY,oBAAoB,KAAG,qBAAqB;IAM/D,UAAU,QAAM,qBAAqB;IAMrC,OAAO,QAAM,qBAAqB;IAIlC,QAAQ,WAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAG,qBAAqB;IAK3E,WAAW,QAAM,qBAAqB;IAItC,SAAS,QAAM,qBAAqB;CAIvC,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAAc,qBAAqB,cAAc,MAAM,GAAG,IAAI,KAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAMvJ,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAO,SAAS,MAAM,EAYhE,CAAC"}
@@ -0,0 +1,84 @@
1
+ // {§agui-oauth-documents} — the documents the authorization server shows a person: semantic HTML with
2
+ // no script and no class, readable on their own, and styled by a module client's registered stylesheet
3
+ // on that client's requests. Pure: the server decides which document and which stylesheet.
4
+ export const escapeHtml = (value) => value
5
+ .replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&#39;");
6
+ const WARNING = `<span role="img" aria-label="Warning">⚠</span>`;
7
+ const page = (heading, content, warning = false) => `<main><article><header><h1>${warning ? `${WARNING} ` : ""}${heading}</h1></header>${content}</article></main>`;
8
+ const SETTINGS = "<p>Set it in the operator's configuration file, <code>$XDG_CONFIG_HOME/plurnk/.env</code>, which is "
9
+ + "<code>~/.config/plurnk/.env</code> by default, and restart the daemon.</p>";
10
+ const asks = (request) => `<p><strong>${escapeHtml(request.client)}</strong> asks to use this daemon (scope: ${escapeHtml(request.scopes.join(" "))}).</p>`;
11
+ const carried = (hidden) => Object.entries(hidden)
12
+ .map(([name, value]) => `<input type="hidden" name="${name}" value="${escapeHtml(value)}">`).join("");
13
+ export const AuthorizationDocuments = {
14
+ signIn: (request, failure) => ({
15
+ title: "Plurnk: sign in",
16
+ body: page("Sign in to Plurnk", asks(request)
17
+ + (failure === null ? "" : `<p role="alert">${WARNING} ${escapeHtml(failure)}</p>`)
18
+ + `<form method="post" action="/oauth/authorize">${carried(request.hidden)}`
19
+ + `<label for="password">Password</label><input id="password" name="password" type="password" autocomplete="current-password" required>`
20
+ + `<button type="submit">Continue</button></form>`),
21
+ }),
22
+ consent: (request) => ({
23
+ title: "Plurnk: allow access?",
24
+ body: page("Allow access?", asks(request)
25
+ + `<form method="post" action="/oauth/authorize">${carried(request.hidden)}`
26
+ + `<button type="submit" name="consent" value="allow">Allow</button> <button type="submit" name="consent" value="deny">Deny</button></form>`),
27
+ }),
28
+ noPassword: () => ({
29
+ title: "Plurnk: no password is set",
30
+ body: page("No password is set", "<p>A browser signs in to this daemon with the operator's password, and <code>PLURNK_PASS</code> is empty.</p>"
31
+ + SETTINGS
32
+ + "<p>Until then no browser can sign in. The terminal client and your other tools sign in with the operator's secret and are unaffected.</p>", true),
33
+ }),
34
+ refused: () => ({
35
+ title: "Plurnk: request refused",
36
+ body: page("Request refused", "<p>The client or its redirect address is not registered with this daemon.</p>", true),
37
+ }),
38
+ signedIn: (hidden) => ({
39
+ title: "Plurnk: signed in",
40
+ body: page("Signed in", "<p>This browser is signed in to this daemon as the operator.</p>"
41
+ + `<form method="post" action="/oauth/session">${carried(hidden)}<button type="submit" name="action" value="end">Sign out</button></form>`),
42
+ }),
43
+ notSignedIn: () => ({
44
+ title: "Plurnk: not signed in",
45
+ body: page("Not signed in", "<p>This browser holds no session with this daemon.</p>"),
46
+ }),
47
+ signedOut: () => ({
48
+ title: "Plurnk: signed out",
49
+ body: page("Signed out", "<p>This browser no longer holds a session with this daemon.</p>"),
50
+ }),
51
+ };
52
+ // Readable alone in either color scheme; replaced, never overridden, by a registered stylesheet.
53
+ const STANDALONE = ":root{color-scheme:light dark}body{font:16px/1.5 system-ui,sans-serif;margin:2rem auto;max-width:28rem;padding:0 1rem}"
54
+ + "label{display:block;margin:.75rem 0 .25rem}input{width:100%;box-sizing:border-box;padding:.5rem}button{margin-top:1rem;padding:.5rem 1rem}"
55
+ + "[role=alert]{color:#b3261e}@media (prefers-color-scheme:dark){[role=alert]{color:#f2b8b5}}";
56
+ /**
57
+ * {§agui-oauth-documents} The complete document and its content security policy: the registered
58
+ * stylesheet, same-origin, in place of the standalone style when one applies.
59
+ */
60
+ export const renderAuthorizationDocument = (document, stylesheet) => ({
61
+ html: `<!doctype html>\n<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">`
62
+ + `<title>${escapeHtml(document.title)}</title>`
63
+ + (stylesheet === null ? `<style>${STANDALONE}</style>` : `<link rel="stylesheet" href="${escapeHtml(stylesheet)}">`)
64
+ + `</head><body>${document.body}</body></html>\n`,
65
+ policy: `default-src 'none'; style-src ${stylesheet === null ? "'unsafe-inline'" : "'self'"}; form-action 'self'; frame-ancestors 'none'`,
66
+ });
67
+ /**
68
+ * {§agui-oauth-documents} Every document the authorization server serves, rendered with placeholder
69
+ * values, for a consumer whose production CSS pruning must keep the selectors they use.
70
+ */
71
+ export const authorizationDocumentSpecimens = () => {
72
+ const request = { client: "client", scopes: ["agui"], hidden: { client_id: "client", state: "state" } };
73
+ return [
74
+ AuthorizationDocuments.signIn(request, null),
75
+ AuthorizationDocuments.signIn(request, "The password is wrong."),
76
+ AuthorizationDocuments.consent(request),
77
+ AuthorizationDocuments.noPassword(),
78
+ AuthorizationDocuments.refused(),
79
+ AuthorizationDocuments.signedIn({ client_id: "client" }),
80
+ AuthorizationDocuments.notSignedIn(),
81
+ AuthorizationDocuments.signedOut(),
82
+ ].map((document) => document.body);
83
+ };
84
+ //# sourceMappingURL=AuthorizationDocuments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorizationDocuments.js","sourceRoot":"","sources":["../src/AuthorizationDocuments.ts"],"names":[],"mappings":"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"}