@polpo-ai/react 0.2.2

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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +556 -0
  3. package/dist/hooks/use-active-delays.d.ts +19 -0
  4. package/dist/hooks/use-active-delays.d.ts.map +1 -0
  5. package/dist/hooks/use-active-delays.js +35 -0
  6. package/dist/hooks/use-active-delays.js.map +1 -0
  7. package/dist/hooks/use-agent.d.ts +12 -0
  8. package/dist/hooks/use-agent.d.ts.map +1 -0
  9. package/dist/hooks/use-agent.js +28 -0
  10. package/dist/hooks/use-agent.js.map +1 -0
  11. package/dist/hooks/use-agents.d.ts +16 -0
  12. package/dist/hooks/use-agents.d.ts.map +1 -0
  13. package/dist/hooks/use-agents.js +51 -0
  14. package/dist/hooks/use-agents.js.map +1 -0
  15. package/dist/hooks/use-approvals.d.ts +19 -0
  16. package/dist/hooks/use-approvals.d.ts.map +1 -0
  17. package/dist/hooks/use-approvals.js +51 -0
  18. package/dist/hooks/use-approvals.js.map +1 -0
  19. package/dist/hooks/use-assessment-progress.d.ts +11 -0
  20. package/dist/hooks/use-assessment-progress.d.ts.map +1 -0
  21. package/dist/hooks/use-assessment-progress.js +10 -0
  22. package/dist/hooks/use-assessment-progress.js.map +1 -0
  23. package/dist/hooks/use-auth-status.d.ts +13 -0
  24. package/dist/hooks/use-auth-status.d.ts.map +1 -0
  25. package/dist/hooks/use-auth-status.js +28 -0
  26. package/dist/hooks/use-auth-status.js.map +1 -0
  27. package/dist/hooks/use-events.d.ts +6 -0
  28. package/dist/hooks/use-events.d.ts.map +1 -0
  29. package/dist/hooks/use-events.js +24 -0
  30. package/dist/hooks/use-events.js.map +1 -0
  31. package/dist/hooks/use-logs.d.ts +10 -0
  32. package/dist/hooks/use-logs.d.ts.map +1 -0
  33. package/dist/hooks/use-logs.js +24 -0
  34. package/dist/hooks/use-logs.js.map +1 -0
  35. package/dist/hooks/use-memory.d.ts +30 -0
  36. package/dist/hooks/use-memory.d.ts.map +1 -0
  37. package/dist/hooks/use-memory.js +66 -0
  38. package/dist/hooks/use-memory.js.map +1 -0
  39. package/dist/hooks/use-mission.d.ts +33 -0
  40. package/dist/hooks/use-mission.d.ts.map +1 -0
  41. package/dist/hooks/use-mission.js +78 -0
  42. package/dist/hooks/use-mission.js.map +1 -0
  43. package/dist/hooks/use-missions.d.ts +19 -0
  44. package/dist/hooks/use-missions.d.ts.map +1 -0
  45. package/dist/hooks/use-missions.js +52 -0
  46. package/dist/hooks/use-missions.js.map +1 -0
  47. package/dist/hooks/use-notifications.d.ts +21 -0
  48. package/dist/hooks/use-notifications.d.ts.map +1 -0
  49. package/dist/hooks/use-notifications.js +43 -0
  50. package/dist/hooks/use-notifications.js.map +1 -0
  51. package/dist/hooks/use-orchestrator-skills.d.ts +13 -0
  52. package/dist/hooks/use-orchestrator-skills.d.ts.map +1 -0
  53. package/dist/hooks/use-orchestrator-skills.js +28 -0
  54. package/dist/hooks/use-orchestrator-skills.js.map +1 -0
  55. package/dist/hooks/use-playbooks.d.ts +29 -0
  56. package/dist/hooks/use-playbooks.d.ts.map +1 -0
  57. package/dist/hooks/use-playbooks.js +49 -0
  58. package/dist/hooks/use-playbooks.js.map +1 -0
  59. package/dist/hooks/use-polpo.d.ts +8 -0
  60. package/dist/hooks/use-polpo.d.ts.map +1 -0
  61. package/dist/hooks/use-polpo.js +8 -0
  62. package/dist/hooks/use-polpo.js.map +1 -0
  63. package/dist/hooks/use-processes.d.ts +9 -0
  64. package/dist/hooks/use-processes.d.ts.map +1 -0
  65. package/dist/hooks/use-processes.js +24 -0
  66. package/dist/hooks/use-processes.js.map +1 -0
  67. package/dist/hooks/use-schedules.d.ts +9 -0
  68. package/dist/hooks/use-schedules.d.ts.map +1 -0
  69. package/dist/hooks/use-schedules.js +35 -0
  70. package/dist/hooks/use-schedules.js.map +1 -0
  71. package/dist/hooks/use-sessions.d.ts +14 -0
  72. package/dist/hooks/use-sessions.d.ts.map +1 -0
  73. package/dist/hooks/use-sessions.js +49 -0
  74. package/dist/hooks/use-sessions.js.map +1 -0
  75. package/dist/hooks/use-skills.d.ts +13 -0
  76. package/dist/hooks/use-skills.d.ts.map +1 -0
  77. package/dist/hooks/use-skills.js +28 -0
  78. package/dist/hooks/use-skills.js.map +1 -0
  79. package/dist/hooks/use-stable-value.d.ts +6 -0
  80. package/dist/hooks/use-stable-value.d.ts.map +1 -0
  81. package/dist/hooks/use-stable-value.js +30 -0
  82. package/dist/hooks/use-stable-value.js.map +1 -0
  83. package/dist/hooks/use-stats.d.ts +3 -0
  84. package/dist/hooks/use-stats.d.ts.map +1 -0
  85. package/dist/hooks/use-stats.js +7 -0
  86. package/dist/hooks/use-stats.js.map +1 -0
  87. package/dist/hooks/use-task-activity.d.ts +21 -0
  88. package/dist/hooks/use-task-activity.d.ts.map +1 -0
  89. package/dist/hooks/use-task-activity.js +72 -0
  90. package/dist/hooks/use-task-activity.js.map +1 -0
  91. package/dist/hooks/use-task.d.ts +14 -0
  92. package/dist/hooks/use-task.d.ts.map +1 -0
  93. package/dist/hooks/use-task.js +58 -0
  94. package/dist/hooks/use-task.js.map +1 -0
  95. package/dist/hooks/use-tasks.d.ts +13 -0
  96. package/dist/hooks/use-tasks.d.ts.map +1 -0
  97. package/dist/hooks/use-tasks.js +50 -0
  98. package/dist/hooks/use-tasks.js.map +1 -0
  99. package/dist/hooks/use-templates.d.ts +21 -0
  100. package/dist/hooks/use-templates.d.ts.map +1 -0
  101. package/dist/hooks/use-templates.js +41 -0
  102. package/dist/hooks/use-templates.js.map +1 -0
  103. package/dist/hooks/use-vault-entries.d.ts +13 -0
  104. package/dist/hooks/use-vault-entries.d.ts.map +1 -0
  105. package/dist/hooks/use-vault-entries.js +32 -0
  106. package/dist/hooks/use-vault-entries.js.map +1 -0
  107. package/dist/index.d.ts +29 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +30 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/provider/polpo-context.d.ts +9 -0
  112. package/dist/provider/polpo-context.d.ts.map +1 -0
  113. package/dist/provider/polpo-context.js +10 -0
  114. package/dist/provider/polpo-context.js.map +1 -0
  115. package/dist/provider/polpo-provider.d.ts +12 -0
  116. package/dist/provider/polpo-provider.d.ts.map +1 -0
  117. package/dist/provider/polpo-provider.js +62 -0
  118. package/dist/provider/polpo-provider.js.map +1 -0
  119. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-task-activity.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task-activity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,qBAAqB,CA2DvB"}
@@ -0,0 +1,72 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ import { usePolpoContext } from "../provider/polpo-context.js";
3
+ /**
4
+ * Fetch the full activity history for a task from its run JSONL log.
5
+ * Pass `null` to skip fetching (e.g. when no task is selected).
6
+ *
7
+ * When `pollIntervalMs` is set and > 0, the hook will automatically
8
+ * re-fetch on that interval (useful for live-tailing running tasks).
9
+ *
10
+ * The hook avoids unnecessary re-renders by comparing new data against
11
+ * the current entries (length + last timestamp) before updating state.
12
+ */
13
+ export function useTaskActivity(taskId, options) {
14
+ const { client } = usePolpoContext();
15
+ const [entries, setEntries] = useState([]);
16
+ const [isLoading, setIsLoading] = useState(false);
17
+ const [error, setError] = useState(null);
18
+ const pollInterval = options?.pollIntervalMs ?? 0;
19
+ const isFetching = useRef(false);
20
+ // Track current entries for stable comparison without re-creating the callback
21
+ const entriesRef = useRef([]);
22
+ const refetch = useCallback(async () => {
23
+ if (!taskId) {
24
+ setEntries([]);
25
+ entriesRef.current = [];
26
+ return;
27
+ }
28
+ // Avoid overlapping fetches during polling
29
+ if (isFetching.current)
30
+ return;
31
+ isFetching.current = true;
32
+ // Only show loading spinner on the very first fetch (no data yet)
33
+ const isFirstLoad = entriesRef.current.length === 0;
34
+ if (isFirstLoad)
35
+ setIsLoading(true);
36
+ try {
37
+ const data = await client.getTaskActivity(taskId);
38
+ // Skip state update if data hasn't changed (avoids re-render flicker)
39
+ const prev = entriesRef.current;
40
+ const changed = data.length !== prev.length ||
41
+ (data.length > 0 && data[data.length - 1].ts !== prev[prev.length - 1]?.ts);
42
+ if (changed) {
43
+ entriesRef.current = data;
44
+ setEntries(data);
45
+ }
46
+ // Clear any previous error on success
47
+ setError(null);
48
+ }
49
+ catch (err) {
50
+ // On poll errors, keep existing entries visible (don't flash empty state)
51
+ setError(err);
52
+ }
53
+ finally {
54
+ isFetching.current = false;
55
+ if (isFirstLoad)
56
+ setIsLoading(false);
57
+ }
58
+ }, [client, taskId]);
59
+ // Initial fetch
60
+ useEffect(() => {
61
+ refetch();
62
+ }, [refetch]);
63
+ // Auto-poll when interval is set
64
+ useEffect(() => {
65
+ if (pollInterval <= 0 || !taskId)
66
+ return;
67
+ const timer = setInterval(refetch, pollInterval);
68
+ return () => clearInterval(timer);
69
+ }, [refetch, pollInterval, taskId]);
70
+ return { entries, isLoading, error, refetch };
71
+ }
72
+ //# sourceMappingURL=use-task-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-task-activity.js","sourceRoot":"","sources":["../../src/hooks/use-task-activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Task, UpdateTaskRequest } from "@polpo-ai/client";
2
+ export interface UseTaskReturn {
3
+ task: Task | undefined;
4
+ isLoading: boolean;
5
+ error: Error | null;
6
+ updateTask: (req: UpdateTaskRequest) => Promise<Task>;
7
+ deleteTask: () => Promise<void>;
8
+ killTask: () => Promise<void>;
9
+ reassessTask: () => Promise<void>;
10
+ retryTask: () => Promise<void>;
11
+ queueTask: () => Promise<void>;
12
+ }
13
+ export declare function useTask(taskId: string): UseTaskReturn;
14
+ //# sourceMappingURL=use-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-task.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAsErD"}
@@ -0,0 +1,58 @@
1
+ import { useSyncExternalStore, useCallback, useEffect, useState } from "react";
2
+ import { usePolpoContext } from "../provider/polpo-context.js";
3
+ import { selectTask } from "@polpo-ai/client";
4
+ export function useTask(taskId) {
5
+ const { client, store } = usePolpoContext();
6
+ const task = useSyncExternalStore(store.subscribe, () => selectTask(store.getSnapshot(), taskId), () => selectTask(store.getServerSnapshot(), taskId));
7
+ const [isLoading, setIsLoading] = useState(!task);
8
+ const [error, setError] = useState(null);
9
+ useEffect(() => {
10
+ if (task) {
11
+ setIsLoading(false);
12
+ return;
13
+ }
14
+ let cancelled = false;
15
+ setIsLoading(true);
16
+ client
17
+ .getTask(taskId)
18
+ .then((t) => {
19
+ if (!cancelled) {
20
+ // Merge into store — setTasks would overwrite, so we use applyEvent
21
+ store.applyEvent({
22
+ id: "",
23
+ event: "task:updated",
24
+ data: { taskId: t.id, task: t },
25
+ timestamp: new Date().toISOString(),
26
+ });
27
+ setIsLoading(false);
28
+ }
29
+ })
30
+ .catch((err) => {
31
+ if (!cancelled) {
32
+ setError(err);
33
+ setIsLoading(false);
34
+ }
35
+ });
36
+ return () => { cancelled = true; };
37
+ }, [client, store, taskId, !!task]);
38
+ const updateTask = useCallback(async (req) => {
39
+ return client.updateTask(taskId, req);
40
+ }, [client, taskId]);
41
+ const deleteTask = useCallback(async () => {
42
+ await client.deleteTask(taskId);
43
+ }, [client, taskId]);
44
+ const killTask = useCallback(async () => {
45
+ await client.killTask(taskId);
46
+ }, [client, taskId]);
47
+ const reassessTask = useCallback(async () => {
48
+ await client.reassessTask(taskId);
49
+ }, [client, taskId]);
50
+ const retryTask = useCallback(async () => {
51
+ await client.retryTask(taskId);
52
+ }, [client, taskId]);
53
+ const queueTask = useCallback(async () => {
54
+ await client.queueTask(taskId);
55
+ }, [client, taskId]);
56
+ return { task, isLoading, error, updateTask, deleteTask, killTask, reassessTask, retryTask, queueTask };
57
+ }
58
+ //# sourceMappingURL=use-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-task.js","sourceRoot":"","sources":["../../src/hooks/use-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type TaskFilter } from "@polpo-ai/client";
2
+ import type { Task, CreateTaskRequest } from "@polpo-ai/client";
3
+ export interface UseTasksReturn {
4
+ tasks: Task[];
5
+ isLoading: boolean;
6
+ error: Error | null;
7
+ createTask: (req: CreateTaskRequest) => Promise<Task>;
8
+ deleteTask: (taskId: string) => Promise<void>;
9
+ retryTask: (taskId: string) => Promise<void>;
10
+ refetch: () => Promise<void>;
11
+ }
12
+ export declare function useTasks(filter?: TaskFilter): UseTasksReturn;
13
+ //# sourceMappingURL=use-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tasks.d.ts","sourceRoot":"","sources":["../../src/hooks/use-tasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,cAAc,CAiE5D"}
@@ -0,0 +1,50 @@
1
+ import { useSyncExternalStore, useCallback, useEffect, useState } from "react";
2
+ import { usePolpoContext } from "../provider/polpo-context.js";
3
+ import { selectTasks } from "@polpo-ai/client";
4
+ import { useStableValue } from "./use-stable-value.js";
5
+ export function useTasks(filter) {
6
+ const { client, store } = usePolpoContext();
7
+ const stableFilter = useStableValue(filter);
8
+ const tasks = useSyncExternalStore(store.subscribe, () => selectTasks(store.getSnapshot(), stableFilter), () => selectTasks(store.getServerSnapshot(), stableFilter));
9
+ const [isLoading, setIsLoading] = useState(true);
10
+ const [error, setError] = useState(null);
11
+ useEffect(() => {
12
+ let cancelled = false;
13
+ setIsLoading(true);
14
+ client
15
+ .getTasks(stableFilter ? {
16
+ status: Array.isArray(stableFilter.status) ? stableFilter.status[0] : stableFilter.status,
17
+ group: stableFilter.group,
18
+ assignTo: stableFilter.assignTo,
19
+ } : undefined)
20
+ .then((t) => {
21
+ if (!cancelled) {
22
+ store.setTasks(t);
23
+ setIsLoading(false);
24
+ }
25
+ })
26
+ .catch((err) => {
27
+ if (!cancelled) {
28
+ setError(err);
29
+ setIsLoading(false);
30
+ }
31
+ });
32
+ return () => { cancelled = true; };
33
+ }, [client, store, stableFilter]);
34
+ const createTask = useCallback(async (req) => {
35
+ const task = await client.createTask(req);
36
+ return task;
37
+ }, [client]);
38
+ const deleteTask = useCallback(async (taskId) => {
39
+ await client.deleteTask(taskId);
40
+ }, [client]);
41
+ const retryTask = useCallback(async (taskId) => {
42
+ await client.retryTask(taskId);
43
+ }, [client]);
44
+ const refetch = useCallback(async () => {
45
+ const t = await client.getTasks();
46
+ store.setTasks(t);
47
+ }, [client, store]);
48
+ return { tasks, isLoading, error, createTask, deleteTask, retryTask, refetch };
49
+ }
50
+ //# sourceMappingURL=use-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tasks.js","sourceRoot":"","sources":["../../src/hooks/use-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { TemplateInfo, TemplateDefinition, TemplateRunResult } from "@polpo-ai/client";
2
+ export interface UseTemplatesReturn {
3
+ /** List of discovered templates (lightweight metadata). */
4
+ templates: TemplateInfo[];
5
+ /** Loading state for the template list. */
6
+ loading: boolean;
7
+ /** Refresh the template list from the server. */
8
+ refetch: () => void;
9
+ /** Get the full definition (including mission template) for a template. */
10
+ getTemplate: (name: string) => Promise<TemplateDefinition>;
11
+ /** Run a template with parameters. */
12
+ runTemplate: (name: string, params?: Record<string, string | number | boolean>) => Promise<TemplateRunResult>;
13
+ }
14
+ /**
15
+ * Hook for listing, inspecting, and running templates.
16
+ *
17
+ * Templates are parameterized mission templates discovered from disk.
18
+ * Running a template instantiates a Mission and executes it.
19
+ */
20
+ export declare function useTemplates(): UseTemplatesReturn;
21
+ //# sourceMappingURL=use-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-templates.d.ts","sourceRoot":"","sources":["../../src/hooks/use-templates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3D,sCAAsC;IACtC,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAC/C,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CA0CjD"}
@@ -0,0 +1,41 @@
1
+ import { useState, useEffect, useCallback } from "react";
2
+ import { usePolpo } from "./use-polpo.js";
3
+ /**
4
+ * Hook for listing, inspecting, and running templates.
5
+ *
6
+ * Templates are parameterized mission templates discovered from disk.
7
+ * Running a template instantiates a Mission and executes it.
8
+ */
9
+ export function useTemplates() {
10
+ const { client } = usePolpo();
11
+ const [templates, setTemplates] = useState([]);
12
+ const [loading, setLoading] = useState(true);
13
+ const refetch = useCallback(() => {
14
+ if (!client)
15
+ return;
16
+ setLoading(true);
17
+ client
18
+ .getTemplates()
19
+ .then(setTemplates)
20
+ .catch(() => { })
21
+ .finally(() => setLoading(false));
22
+ }, [client]);
23
+ useEffect(() => {
24
+ refetch();
25
+ }, [refetch]);
26
+ const getTemplate = useCallback(async (name) => {
27
+ if (!client)
28
+ throw new Error("Client not initialized");
29
+ return client.getTemplate(name);
30
+ }, [client]);
31
+ const runTemplate = useCallback(async (name, params) => {
32
+ if (!client)
33
+ throw new Error("Client not initialized");
34
+ const result = await client.runTemplate(name, params);
35
+ // Refetch templates list in case discovery changed
36
+ refetch();
37
+ return result;
38
+ }, [client, refetch]);
39
+ return { templates, loading, refetch, getTemplate, runTemplate };
40
+ }
41
+ //# sourceMappingURL=use-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-templates.js","sourceRoot":"","sources":["../../src/hooks/use-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAuB1C;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM;aACH,YAAY,EAAE;aACd,IAAI,CAAC,YAAY,CAAC;aAClB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,IAAY,EAAE,EAAE;QACrB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EACH,IAAY,EACZ,MAAkD,EAClD,EAAE;QACF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,mDAAmD;QACnD,OAAO,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACnE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { VaultEntryMeta } from "@polpo-ai/client";
2
+ export interface UseVaultEntriesReturn {
3
+ entries: VaultEntryMeta[];
4
+ isLoading: boolean;
5
+ error: Error | null;
6
+ refetch: () => Promise<void>;
7
+ }
8
+ /**
9
+ * Fetch vault entry metadata for an agent (service names, types, credential key names).
10
+ * Never exposes secret values — only field names with "***" masking.
11
+ */
12
+ export declare function useVaultEntries(agentName: string): UseVaultEntriesReturn;
13
+ //# sourceMappingURL=use-vault-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-vault-entries.d.ts","sourceRoot":"","sources":["../../src/hooks/use-vault-entries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,CA0BxE"}
@@ -0,0 +1,32 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { usePolpoContext } from "../provider/polpo-context.js";
3
+ /**
4
+ * Fetch vault entry metadata for an agent (service names, types, credential key names).
5
+ * Never exposes secret values — only field names with "***" masking.
6
+ */
7
+ export function useVaultEntries(agentName) {
8
+ const { client } = usePolpoContext();
9
+ const [entries, setEntries] = useState([]);
10
+ const [isLoading, setIsLoading] = useState(true);
11
+ const [error, setError] = useState(null);
12
+ const fetch_ = useCallback(async () => {
13
+ if (!agentName) {
14
+ setEntries([]);
15
+ return;
16
+ }
17
+ try {
18
+ const data = await client.listVaultEntries(agentName);
19
+ setEntries(data);
20
+ setError(null);
21
+ }
22
+ catch (err) {
23
+ setError(err);
24
+ }
25
+ }, [client, agentName]);
26
+ useEffect(() => {
27
+ setIsLoading(true);
28
+ fetch_().finally(() => setIsLoading(false));
29
+ }, [fetch_]);
30
+ return { entries, isLoading, error, refetch: fetch_ };
31
+ }
32
+ //# sourceMappingURL=use-vault-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-vault-entries.js","sourceRoot":"","sources":["../../src/hooks/use-vault-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAU/D;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtD,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAY,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,29 @@
1
+ export { PolpoProvider } from "./provider/polpo-provider.js";
2
+ export type { PolpoProviderProps } from "./provider/polpo-provider.js";
3
+ export { usePolpo } from "./hooks/use-polpo.js";
4
+ export { useTasks } from "./hooks/use-tasks.js";
5
+ export { useTask } from "./hooks/use-task.js";
6
+ export { useMissions } from "./hooks/use-missions.js";
7
+ export { useMission } from "./hooks/use-mission.js";
8
+ export { useAgents } from "./hooks/use-agents.js";
9
+ export { useAgent } from "./hooks/use-agent.js";
10
+ export { useProcesses } from "./hooks/use-processes.js";
11
+ export { useEvents } from "./hooks/use-events.js";
12
+ export { useStats } from "./hooks/use-stats.js";
13
+ export { useMemory, useAgentMemory } from "./hooks/use-memory.js";
14
+ export { useLogs } from "./hooks/use-logs.js";
15
+ export { useSessions } from "./hooks/use-sessions.js";
16
+ export { useTaskActivity } from "./hooks/use-task-activity.js";
17
+ export { useSkills } from "./hooks/use-skills.js";
18
+ export { useOrchestratorSkills } from "./hooks/use-orchestrator-skills.js";
19
+ export { useNotifications } from "./hooks/use-notifications.js";
20
+ export { useApprovals } from "./hooks/use-approvals.js";
21
+ export { useActiveDelays } from "./hooks/use-active-delays.js";
22
+ export { usePlaybooks, useTemplates } from "./hooks/use-playbooks.js";
23
+ export { useSchedules } from "./hooks/use-schedules.js";
24
+ export { useVaultEntries } from "./hooks/use-vault-entries.js";
25
+ export { useAuthStatus } from "./hooks/use-auth-status.js";
26
+ export { useAssessmentProgress } from "./hooks/use-assessment-progress.js";
27
+ export { PolpoClient, ChatCompletionStream, PolpoApiError, EventSourceManager, PolpoStore, reduceEvent, selectTasks, selectTask, selectMissions, selectMission, selectMissionReport, selectProcesses, selectEvents, selectAssessmentProgress, selectAssessmentChecks, } from "@polpo-ai/client";
28
+ export type { PolpoClientConfig, ConnectionStatus, EventSourceConfig, Task, TaskStatus, TaskResult, TaskExpectation, TaskPhase, TaskOutcome, ExpectedOutcome, OutcomeType, Mission, MissionStatus, MissionReport, MissionDelay, AgentConfig, AgentIdentity, AgentResponsibility, AgentProcess, AgentActivity, Team, AssessmentResult, AssessmentTrigger, DimensionScore, DimensionScoreEvidence, EvalDimension, CheckResult, ReviewerResult, ReviewerMessage, ReviewerExploration, MetricResult, PolpoState, PolpoConfig, PolpoSettings, ReasoningLevel, ModelConfig, ModelAllowlistEntry, CustomModelDef, ProviderConfig, SSEEvent, ActiveDelay, CreateTaskRequest, UpdateTaskRequest, CreateMissionRequest, UpdateMissionRequest, AddMissionTaskRequest, UpdateMissionTaskRequest, ReorderMissionTasksRequest, AddMissionCheckpointRequest, UpdateMissionCheckpointRequest, AddMissionDelayRequest, UpdateMissionDelayRequest, AddMissionQualityGateRequest, UpdateMissionQualityGateRequest, AddMissionTeamMemberRequest, UpdateMissionTeamMemberRequest, UpdateMissionNotificationsRequest, ExecuteMissionResult, ResumeMissionResult, AddAgentRequest, UpdateAgentRequest, UpdateSettingsRequest, AddTeamRequest, TaskFilters, LogSession, LogEntry, RunActivityEntry, ChatSession, ChatMessage, ChatCompletionMessage, TextContentPart, ImageUrlContentPart, ContentPart, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChoice, ChatCompletionChunk, ChatCompletionChunkDelta, ToolCallState, ToolCallEvent, AskUserOption, AskUserQuestion, AskUserPayload, AskUserAnswer, MissionPreviewPayload, VaultEntryMeta, VaultPreviewPayload, AuthProfileStatus, AuthProfileType, AuthProfileMeta, ProviderAuthInfo, AuthStatusResponse, SkillInfo, LoadedSkill, SkillWithAssignment, SkillIndexEntry, SkillIndex, NotificationChannelType, NotificationChannelConfig, ChannelGatewayConfig, DmPolicy, NotificationRule, NotificationRecord, NotificationStats, NotificationSeverity, NotificationStatus, ScopedNotificationRules, SendNotificationRequest, SendNotificationResult, ApprovalRequest, ApprovalStatus, ScheduleEntry, QualityMetrics, PlaybookParameter, PlaybookInfo, PlaybookDefinition, PlaybookRunResult, TemplateParameter, TemplateInfo, TemplateDefinition, TemplateRunResult, StoreState, PolpoStats, AssessmentProgressEntry, AssessmentCheckStatus, TaskFilter, } from "@polpo-ai/client";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,GACX,MAAM,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ // Provider
2
+ export { PolpoProvider } from "./provider/polpo-provider.js";
3
+ // Hooks
4
+ export { usePolpo } from "./hooks/use-polpo.js";
5
+ export { useTasks } from "./hooks/use-tasks.js";
6
+ export { useTask } from "./hooks/use-task.js";
7
+ export { useMissions } from "./hooks/use-missions.js";
8
+ export { useMission } from "./hooks/use-mission.js";
9
+ export { useAgents } from "./hooks/use-agents.js";
10
+ export { useAgent } from "./hooks/use-agent.js";
11
+ export { useProcesses } from "./hooks/use-processes.js";
12
+ export { useEvents } from "./hooks/use-events.js";
13
+ export { useStats } from "./hooks/use-stats.js";
14
+ export { useMemory, useAgentMemory } from "./hooks/use-memory.js";
15
+ export { useLogs } from "./hooks/use-logs.js";
16
+ export { useSessions } from "./hooks/use-sessions.js";
17
+ export { useTaskActivity } from "./hooks/use-task-activity.js";
18
+ export { useSkills } from "./hooks/use-skills.js";
19
+ export { useOrchestratorSkills } from "./hooks/use-orchestrator-skills.js";
20
+ export { useNotifications } from "./hooks/use-notifications.js";
21
+ export { useApprovals } from "./hooks/use-approvals.js";
22
+ export { useActiveDelays } from "./hooks/use-active-delays.js";
23
+ export { usePlaybooks, useTemplates } from "./hooks/use-playbooks.js";
24
+ export { useSchedules } from "./hooks/use-schedules.js";
25
+ export { useVaultEntries } from "./hooks/use-vault-entries.js";
26
+ export { useAuthStatus } from "./hooks/use-auth-status.js";
27
+ export { useAssessmentProgress } from "./hooks/use-assessment-progress.js";
28
+ // Re-export client SDK for convenience (backward compat — consumers can also use @polpo-ai/client directly)
29
+ export { PolpoClient, ChatCompletionStream, PolpoApiError, EventSourceManager, PolpoStore, reduceEvent, selectTasks, selectTask, selectMissions, selectMission, selectMissionReport, selectProcesses, selectEvents, selectAssessmentProgress, selectAssessmentChecks, } from "@polpo-ai/client";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,4GAA4G;AAC5G,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PolpoClient } from "@polpo-ai/client";
2
+ import type { PolpoStore } from "@polpo-ai/client";
3
+ export interface PolpoContextValue {
4
+ client: PolpoClient;
5
+ store: PolpoStore;
6
+ }
7
+ export declare const PolpoContext: import("react").Context<PolpoContextValue | null>;
8
+ export declare function usePolpoContext(): PolpoContextValue;
9
+ //# sourceMappingURL=polpo-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polpo-context.d.ts","sourceRoot":"","sources":["../../src/provider/polpo-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD"}
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from "react";
2
+ export const PolpoContext = createContext(null);
3
+ export function usePolpoContext() {
4
+ const ctx = useContext(PolpoContext);
5
+ if (!ctx) {
6
+ throw new Error("usePolpoContext must be used within <PolpoProvider>");
7
+ }
8
+ return ctx;
9
+ }
10
+ //# sourceMappingURL=polpo-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polpo-context.js","sourceRoot":"","sources":["../../src/provider/polpo-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AASlD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAE1E,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from "react";
2
+ export interface PolpoProviderProps {
3
+ baseUrl: string;
4
+ /** @deprecated No longer used. Kept for backwards compatibility. */
5
+ projectId?: string;
6
+ apiKey?: string;
7
+ children: ReactNode;
8
+ autoConnect?: boolean;
9
+ eventFilter?: string[];
10
+ }
11
+ export declare function PolpoProvider({ baseUrl, apiKey, children, autoConnect, eventFilter, }: PolpoProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=polpo-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polpo-provider.d.ts","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOnE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAkB,EAClB,WAAW,GACZ,EAAE,kBAAkB,2CAkEpB"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from "react";
3
+ import { PolpoClient } from "@polpo-ai/client";
4
+ import { EventSourceManager } from "@polpo-ai/client";
5
+ import { PolpoStore } from "@polpo-ai/client";
6
+ import { PolpoContext } from "./polpo-context.js";
7
+ export function PolpoProvider({ baseUrl, apiKey, children, autoConnect = true, eventFilter, }) {
8
+ const configKey = `${baseUrl}|${apiKey ?? ""}`;
9
+ const storeRef = useRef(null);
10
+ const clientRef = useRef(null);
11
+ const lastConfigKey = useRef("");
12
+ if (lastConfigKey.current !== configKey) {
13
+ lastConfigKey.current = configKey;
14
+ clientRef.current = new PolpoClient({ baseUrl, apiKey });
15
+ storeRef.current = new PolpoStore();
16
+ }
17
+ const client = clientRef.current;
18
+ const store = storeRef.current;
19
+ // SSE connection lifecycle
20
+ useEffect(() => {
21
+ if (!autoConnect)
22
+ return;
23
+ let pendingEvents = [];
24
+ let batchScheduled = false;
25
+ const flushBatch = () => {
26
+ if (pendingEvents.length > 0) {
27
+ store.applyEventBatch(pendingEvents);
28
+ pendingEvents = [];
29
+ }
30
+ batchScheduled = false;
31
+ };
32
+ const es = new EventSourceManager({
33
+ url: client.getEventsUrl(eventFilter),
34
+ onEvent: (event) => {
35
+ pendingEvents.push(event);
36
+ if (!batchScheduled) {
37
+ batchScheduled = true;
38
+ queueMicrotask(flushBatch);
39
+ }
40
+ },
41
+ onStatusChange: (status) => {
42
+ store.setConnectionStatus(status);
43
+ if (status === "connected") {
44
+ // Re-fetch all resources to fill any SSE gaps
45
+ Promise.all([
46
+ client.getTasks().then((t) => store.setTasks(t)),
47
+ client.getMissions().then((m) => store.setMissions(m)),
48
+ client.getAgents().then((a) => store.setAgents(a)),
49
+ client.getProcesses().then((p) => store.setProcesses(p)),
50
+ ]).catch(() => {
51
+ /* individual errors handled by hooks */
52
+ });
53
+ }
54
+ },
55
+ });
56
+ es.connect();
57
+ return () => es.disconnect();
58
+ }, [configKey, autoConnect, eventFilter?.join(",")]);
59
+ const value = useMemo(() => ({ client, store }), [client, store]);
60
+ return (_jsx(PolpoContext.Provider, { value: value, children: children }));
61
+ }
62
+ //# sourceMappingURL=polpo-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polpo-provider.js","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":"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"}