@evandu/super-pi 0.1.153 → 0.1.155

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 (55) hide show
  1. package/agents/super-pi-memory/index.ts +8 -6
  2. package/agents/super-pi-task/core.ts +19 -0
  3. package/agents/super-pi-task/index.ts +27 -0
  4. package/dist/client/.super-pi-client-sources.json +8 -6
  5. package/dist/client/assets/{CodeMirrorEditor-DmRMgD_e.js → CodeMirrorEditor-DGf8TiZ5.js} +2 -2
  6. package/dist/client/assets/{dist-mY7dpaip.js → dist-BErJtr8L.js} +1 -1
  7. package/dist/client/assets/{dist-YiNVn-GQ.js → dist-BFK3Zdz3.js} +1 -1
  8. package/dist/client/assets/{dist-SHt_aVda.js → dist-BQiNco13.js} +1 -1
  9. package/dist/client/assets/{dist-DE8_FyRQ.js → dist-BVkFNoQK.js} +1 -1
  10. package/dist/client/assets/{dist-DpK_uu3H.js → dist-BfHhQNXd.js} +1 -1
  11. package/dist/client/assets/{dist-1ehoscoU.js → dist-BlgLF_Op.js} +1 -1
  12. package/dist/client/assets/{dist-BPU0RZX2.js → dist-C2L242qg.js} +1 -1
  13. package/dist/client/assets/{dist-DM15RCDF.js → dist-CHNbJU4G.js} +1 -1
  14. package/dist/client/assets/{dist-Cl_nos6D.js → dist-CLKVZWaL.js} +1 -1
  15. package/dist/client/assets/{dist-tpn03yX2.js → dist-CrmwJDXn.js} +1 -1
  16. package/dist/client/assets/{dist-BjZSq94T.js → dist-D0KF79YG.js} +1 -1
  17. package/dist/client/assets/{dist-BzOPeLJM.js → dist-DLvthSbR.js} +1 -1
  18. package/dist/client/assets/{dist-BWxApOy6.js → dist-DNTb20de.js} +1 -1
  19. package/dist/client/assets/{dist-BTfxEdeF.js → dist-DQlz7q1d.js} +1 -1
  20. package/dist/client/assets/{dist-CMNmeOX_.js → dist-DalOgxpu.js} +1 -1
  21. package/dist/client/assets/{dist-BQvKL2T4.js → dist-DigKGTQO.js} +1 -1
  22. package/dist/client/assets/{dist-BIMTBXpD.js → dist-DwmCtvaQ.js} +1 -1
  23. package/dist/client/assets/{dist-QCoWWp1z.js → dist-WK6R59tK.js} +1 -1
  24. package/dist/client/assets/{dist-BAy39a02.js → dist-a0CnDI4Q.js} +1 -1
  25. package/dist/client/assets/{dist-BaagZpIV.js → dist-gE9RBFPO.js} +1 -1
  26. package/dist/client/assets/{dist-C5OCcu2D.js → dist-tKodxnRd.js} +1 -1
  27. package/dist/client/assets/{dist-h0HvU8ex.js → dist-xrtSXFwN.js} +1 -1
  28. package/dist/client/assets/index-Bntn9Qzg.js +102 -0
  29. package/dist/client/assets/{index-DCLaWQin.css → index-HB8NmRIH.css} +1 -1
  30. package/dist/client/index.html +2 -2
  31. package/dist/server/active-memory.d.ts +51 -19
  32. package/dist/server/active-memory.js +117 -56
  33. package/dist/server/agents.d.ts +1 -1
  34. package/dist/server/agents.js +1 -1
  35. package/dist/server/application/project-service.d.ts +81 -0
  36. package/dist/server/application/project-service.js +744 -0
  37. package/dist/server/http-server.js +189 -2
  38. package/dist/server/index.js +3 -0
  39. package/dist/server/memory-recall.d.ts +10 -0
  40. package/dist/server/memory-recall.js +31 -0
  41. package/dist/server/memory.d.ts +41 -35
  42. package/dist/server/memory.js +154 -87
  43. package/dist/server/persistence/app-state-repository.d.ts +2 -2
  44. package/dist/server/runtime.js +5 -2
  45. package/dist/server/server-context.d.ts +1 -0
  46. package/dist/server/session-memory-scope.d.ts +4 -0
  47. package/dist/server/session-memory-scope.js +30 -0
  48. package/dist/server/store.d.ts +5 -1
  49. package/dist/server/store.js +36 -3
  50. package/dist/server/subagents.js +1 -1
  51. package/dist/server/task-tool.d.ts +2 -0
  52. package/dist/server/task-tool.js +2 -0
  53. package/dist/server/types.d.ts +127 -0
  54. package/package.json +5 -1
  55. package/dist/client/assets/index-Ce896Hh9.js +0 -102
@@ -549,6 +549,8 @@ export type Conversation = {
549
549
  * recorded simply means "top level", which is what those conversations genuinely are.
550
550
  */
551
551
  parentConversationId?: string;
552
+ /** Stable memory-sharing identity, inherited at birth; forks start a new tree. */
553
+ treeId?: string;
552
554
  /**
553
555
  * Who opened this conversation. "user" for one the user started, "orchestrator" for one an agent
554
556
  * created. Kept beside the parent id because a conversation can be an orchestrator's without
@@ -898,6 +900,130 @@ export type TerminalShell = {
898
900
  file: string;
899
901
  args: string[];
900
902
  };
903
+ export type ProjectStatus = "planning" | "active" | "blocked" | "awaiting_approval" | "awaiting_review" | "completed" | "failed" | "cancelled";
904
+ export type ProjectTaskStatus = "pending" | "ready" | "in_progress" | "blocked" | "awaiting_review" | "completed" | "failed" | "cancelled";
905
+ export type ProjectRisk = "low" | "medium" | "high";
906
+ export type SessionProfile = {
907
+ /** Employee agent file id under agents directory (primary agent name). */
908
+ agentId?: string;
909
+ /** Working directory relative to workspace root. */
910
+ cwd?: string;
911
+ /** Explicit model override. */
912
+ model?: {
913
+ provider: string;
914
+ modelId: string;
915
+ };
916
+ /** Thinking level override. */
917
+ thinkingLevel?: string;
918
+ /** Silence watchdog timeout in seconds. */
919
+ watchdogTimeoutSeconds?: number;
920
+ };
921
+ export type ProjectTask = {
922
+ parentTaskId?: string;
923
+ role?: "leader" | "executor";
924
+ id: string;
925
+ projectId: string;
926
+ title: string;
927
+ objective: string;
928
+ status: ProjectTaskStatus;
929
+ ownerConversationId?: string;
930
+ accountableConversationId?: string;
931
+ reviewerConversationId?: string;
932
+ executorProfile?: SessionProfile;
933
+ reviewerProfile?: SessionProfile;
934
+ effectiveExecutorProfile?: SessionProfile;
935
+ effectiveReviewerProfile?: SessionProfile;
936
+ dependencies: string[];
937
+ deliverables: string[];
938
+ acceptanceCriteria: string[];
939
+ priority: "low" | "medium" | "high" | "urgent";
940
+ dueAt?: string;
941
+ blockedReason?: string;
942
+ output?: string;
943
+ evidenceRefs?: string[];
944
+ review?: {
945
+ verdict: "accepted" | "changes_requested";
946
+ summary: string;
947
+ evidenceRefs: string[];
948
+ reviewerConversationId?: string;
949
+ createdAt: string;
950
+ };
951
+ createdAt: string;
952
+ updatedAt: string;
953
+ };
954
+ export type ProjectReport = {
955
+ id: string;
956
+ projectId: string;
957
+ taskId?: string;
958
+ authorConversationId?: string;
959
+ kind: "progress" | "blocked" | "delivery" | "decision_request" | "review";
960
+ progress: string;
961
+ variance?: string;
962
+ nextStep?: string;
963
+ risks?: string[];
964
+ decisionNeeded?: string;
965
+ evidenceRefs?: string[];
966
+ createdAt: string;
967
+ };
968
+ export type ProjectEscalation = {
969
+ id: string;
970
+ projectId: string;
971
+ taskId?: string;
972
+ reason: string;
973
+ severity: ProjectRisk;
974
+ status: "open" | "resolved" | "dismissed";
975
+ requestedByConversationId?: string;
976
+ decision?: string;
977
+ createdAt: string;
978
+ resolvedAt?: string;
979
+ };
980
+ export type ProjectEvent = {
981
+ id: string;
982
+ kind: string;
983
+ summary: string;
984
+ taskId?: string;
985
+ actorConversationId?: string;
986
+ createdAt: string;
987
+ };
988
+ export type Project = {
989
+ id: string;
990
+ workspaceId: string;
991
+ title: string;
992
+ objective: string;
993
+ deliverables: string[];
994
+ acceptanceCriteria: string[];
995
+ constraints: string[];
996
+ risk: ProjectRisk;
997
+ status: ProjectStatus;
998
+ ownerConversationId?: string;
999
+ budget?: {
1000
+ maxTokens?: number;
1001
+ maxConcurrent?: number;
1002
+ };
1003
+ defaultLeaderProfile?: SessionProfile;
1004
+ defaultExecutorProfile?: SessionProfile;
1005
+ defaultReviewerProfile?: SessionProfile;
1006
+ events?: ProjectEvent[];
1007
+ resources?: {
1008
+ tokens: number;
1009
+ usageKnown: boolean;
1010
+ activeWorkers: number;
1011
+ sessions: {
1012
+ id: string;
1013
+ title: string;
1014
+ role: string;
1015
+ status: RunStatus;
1016
+ tokens: number;
1017
+ contextPercent?: number | null;
1018
+ }[];
1019
+ };
1020
+ tasks: ProjectTask[];
1021
+ reports: ProjectReport[];
1022
+ escalations: ProjectEscalation[];
1023
+ createdAt: string;
1024
+ updatedAt: string;
1025
+ closedAt?: string;
1026
+ };
901
1027
  export type AppState = {
902
1028
  modelFilterRules?: ModelFilterRule[];
903
1029
  defaultModel?: ModelSelection;
@@ -909,6 +1035,7 @@ export type AppState = {
909
1035
  todosByConversation?: Record<string, TodoItem[]>;
910
1036
  workflows?: WorkflowRun[];
911
1037
  scheduledTasks?: ScheduledTask[];
1038
+ projects?: Project[];
912
1039
  customAgentDirs?: string[]; /**
913
1040
  * Which conversations the reader has collapsed in the sidebar's session tree, by conversation id.
914
1041
  * Server-side so the tree looks the same after a restart and on another machine - the sidebar is a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evandu/super-pi",
3
- "version": "0.1.153",
3
+ "version": "0.1.155",
4
4
  "description": "Web control plane and companion for Pi",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -83,6 +83,8 @@
83
83
  "scripts/session-result-callback.test.mjs",
84
84
  "scripts/session-result-callback-e2e.test.mjs",
85
85
  "scripts/session-orchestrator-tools.test.mjs",
86
+ "scripts/project-service.test.mjs",
87
+ "scripts/project-api-scope.test.mjs",
86
88
  "scripts/session-tree-collapse.test.mjs",
87
89
  "scripts/archive-cascade.test.mjs",
88
90
  "scripts/workspace-cwd.test.mjs",
@@ -167,6 +169,7 @@
167
169
  "scripts/provider-pi-reads.test.mjs",
168
170
  "scripts/session-extension-credentials.test.mjs",
169
171
  "scripts/active-memory.test.mjs",
172
+ "scripts/layered-memory.test.mjs",
170
173
  "scripts/active-memory-index-content.test.mjs",
171
174
  "scripts/knowledge-base.test.mjs",
172
175
  "scripts/knowledge-import-path.test.mjs",
@@ -253,6 +256,7 @@
253
256
  "scripts/workspace-reopen-browser.test.mjs",
254
257
  "scripts/workspace-identity-browser.test.mjs",
255
258
  "scripts/sidebar-tools-browser.test.mjs",
259
+ "scripts/project-employee-panel-browser.test.mjs",
256
260
  "scripts/tool-runtime-browser.test.mjs",
257
261
  "scripts/session-context-menu-browser.test.mjs",
258
262
  "scripts/archive-cascade-browser.test.mjs",