@agimon-ai/po-team 0.0.0-alpha.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 (110) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +156 -0
  3. package/dist/agentDiscovery-Whwzc4dP.cjs +1637 -0
  4. package/dist/agentDiscovery-Whwzc4dP.cjs.map +1 -0
  5. package/dist/agentDiscovery-ZQlFkKvB.mjs +1529 -0
  6. package/dist/agentDiscovery-ZQlFkKvB.mjs.map +1 -0
  7. package/dist/apiContracts.cjs +162 -0
  8. package/dist/apiContracts.cjs.map +1 -0
  9. package/dist/apiContracts.d.mts +53 -0
  10. package/dist/apiContracts.d.mts.map +1 -0
  11. package/dist/apiContracts.mjs +157 -0
  12. package/dist/apiContracts.mjs.map +1 -0
  13. package/dist/atomicJson-D0346bt5.cjs +178 -0
  14. package/dist/atomicJson-D0346bt5.cjs.map +1 -0
  15. package/dist/atomicJson-D2t0CDh9.mjs +137 -0
  16. package/dist/atomicJson-D2t0CDh9.mjs.map +1 -0
  17. package/dist/capabilityCeiling-C-Y7H8oC.cjs +191 -0
  18. package/dist/capabilityCeiling-C-Y7H8oC.cjs.map +1 -0
  19. package/dist/capabilityCeiling-CF7kAS18.mjs +156 -0
  20. package/dist/capabilityCeiling-CF7kAS18.mjs.map +1 -0
  21. package/dist/capabilityCeiling.cjs +10 -0
  22. package/dist/capabilityCeiling.d.mts +46 -0
  23. package/dist/capabilityCeiling.d.mts.map +1 -0
  24. package/dist/capabilityCeiling.mjs +3 -0
  25. package/dist/delegation.cjs +49 -0
  26. package/dist/delegation.cjs.map +1 -0
  27. package/dist/delegation.d.mts +269 -0
  28. package/dist/delegation.d.mts.map +1 -0
  29. package/dist/delegation.mjs +34 -0
  30. package/dist/delegation.mjs.map +1 -0
  31. package/dist/delegationApi.cjs +92 -0
  32. package/dist/delegationApi.d.mts +2 -0
  33. package/dist/delegationApi.mjs +2 -0
  34. package/dist/env.cjs +62 -0
  35. package/dist/env.d.mts +2 -0
  36. package/dist/env.mjs +2 -0
  37. package/dist/environment-CaCW3SgT.cjs +320 -0
  38. package/dist/environment-CaCW3SgT.cjs.map +1 -0
  39. package/dist/environment-DrqhrxG_.mjs +75 -0
  40. package/dist/environment-DrqhrxG_.mjs.map +1 -0
  41. package/dist/environment-ma5oQ7uM.d.mts +63 -0
  42. package/dist/environment-ma5oQ7uM.d.mts.map +1 -0
  43. package/dist/extensions/server.cjs +6940 -0
  44. package/dist/extensions/server.cjs.map +1 -0
  45. package/dist/extensions/server.d.mts +5 -0
  46. package/dist/extensions/server.d.mts.map +1 -0
  47. package/dist/extensions/server.mjs +6932 -0
  48. package/dist/extensions/server.mjs.map +1 -0
  49. package/dist/extensions/web.mjs +2308 -0
  50. package/dist/extensions/web.mjs.map +1 -0
  51. package/dist/externalProcessIpc-C-15lJrB.mjs +584 -0
  52. package/dist/externalProcessIpc-C-15lJrB.mjs.map +1 -0
  53. package/dist/externalProcessIpc-ojE0pvw0.cjs +690 -0
  54. package/dist/externalProcessIpc-ojE0pvw0.cjs.map +1 -0
  55. package/dist/fablePlan.cjs +17 -0
  56. package/dist/fablePlan.d.mts +2 -0
  57. package/dist/fablePlan.mjs +2 -0
  58. package/dist/fablePlanApi-BsHhgVFV.mjs +118 -0
  59. package/dist/fablePlanApi-BsHhgVFV.mjs.map +1 -0
  60. package/dist/fablePlanApi-CZ3uUcMi.d.mts +97 -0
  61. package/dist/fablePlanApi-CZ3uUcMi.d.mts.map +1 -0
  62. package/dist/fablePlanApi-wBu9bRXU.cjs +207 -0
  63. package/dist/fablePlanApi-wBu9bRXU.cjs.map +1 -0
  64. package/dist/fablePlanApi.cjs +17 -0
  65. package/dist/fablePlanApi.d.mts +2 -0
  66. package/dist/fablePlanApi.mjs +2 -0
  67. package/dist/index.cjs +49 -0
  68. package/dist/index.cjs.map +1 -0
  69. package/dist/index.d.mts +160 -0
  70. package/dist/index.d.mts.map +1 -0
  71. package/dist/index.mjs +45 -0
  72. package/dist/index.mjs.map +1 -0
  73. package/dist/runs/background/cliRunnerEntry.cjs +539 -0
  74. package/dist/runs/background/cliRunnerEntry.cjs.map +1 -0
  75. package/dist/runs/background/cliRunnerEntry.d.mts +1 -0
  76. package/dist/runs/background/cliRunnerEntry.mjs +537 -0
  77. package/dist/runs/background/cliRunnerEntry.mjs.map +1 -0
  78. package/dist/runtimeSubagentPolicy.cjs +5 -0
  79. package/dist/runtimeSubagentPolicy.d.mts +2 -0
  80. package/dist/runtimeSubagentPolicy.mjs +2 -0
  81. package/dist/runtimeSubagentTool.cjs +11 -0
  82. package/dist/runtimeSubagentTool.d.mts +2 -0
  83. package/dist/runtimeSubagentTool.mjs +2 -0
  84. package/dist/subagentPolicy-ALJam4GN.d.mts +33 -0
  85. package/dist/subagentPolicy-ALJam4GN.d.mts.map +1 -0
  86. package/dist/subagentPolicy-DQRyKDH-.cjs +39 -0
  87. package/dist/subagentPolicy-DQRyKDH-.cjs.map +1 -0
  88. package/dist/subagentPolicy-DxjsKeyj.mjs +22 -0
  89. package/dist/subagentPolicy-DxjsKeyj.mjs.map +1 -0
  90. package/dist/subagentPolicy.cjs +5 -0
  91. package/dist/subagentPolicy.d.mts +2 -0
  92. package/dist/subagentPolicy.mjs +2 -0
  93. package/dist/subagentTool-BTssGLw8.d.mts +103 -0
  94. package/dist/subagentTool-BTssGLw8.d.mts.map +1 -0
  95. package/dist/subagentTool-Ca2zQXKw.cjs +227 -0
  96. package/dist/subagentTool-Ca2zQXKw.cjs.map +1 -0
  97. package/dist/subagentTool-WOYrjxgT.mjs +186 -0
  98. package/dist/subagentTool-WOYrjxgT.mjs.map +1 -0
  99. package/dist/subagentTool.cjs +10 -0
  100. package/dist/subagentTool.d.mts +2 -0
  101. package/dist/subagentTool.mjs +2 -0
  102. package/dist/teamSnapshot-DgaANhBs.mjs +24 -0
  103. package/dist/teamSnapshot-DgaANhBs.mjs.map +1 -0
  104. package/dist/teamSnapshot-oKuGFdYc.cjs +35 -0
  105. package/dist/teamSnapshot-oKuGFdYc.cjs.map +1 -0
  106. package/dist/teamSnapshot.cjs +4 -0
  107. package/dist/teamSnapshot.d.mts +59 -0
  108. package/dist/teamSnapshot.d.mts.map +1 -0
  109. package/dist/teamSnapshot.mjs +2 -0
  110. package/package.json +201 -0
@@ -0,0 +1,186 @@
1
+ import { InlineAgentSchema } from "@agimon-ai/po-core/delegation";
2
+ import { Type } from "typebox";
3
+ //#region src/schemas/subagentTool.ts
4
+ const SUBAGENT_ACTIONS = {
5
+ agents: "agents",
6
+ run: "run",
7
+ status: "status",
8
+ steer: "steer",
9
+ stop: "stop",
10
+ suspended: "suspended",
11
+ restore: "restore"
12
+ };
13
+ const SUBAGENT_ACTION_FIELDS = {
14
+ agents: [
15
+ "action",
16
+ "name",
17
+ "cwd",
18
+ "scope"
19
+ ],
20
+ run: [
21
+ "action",
22
+ "requests",
23
+ "concurrency",
24
+ "artifacts",
25
+ "scope"
26
+ ],
27
+ status: [
28
+ "action",
29
+ "id",
30
+ "transcriptLines"
31
+ ],
32
+ steer: [
33
+ "action",
34
+ "id",
35
+ "message"
36
+ ],
37
+ stop: [
38
+ "action",
39
+ "id",
40
+ "reason"
41
+ ],
42
+ suspended: ["action"],
43
+ restore: ["action", "id"]
44
+ };
45
+ const IMPLEMENTED_ACTIONS = new Set(Object.values(SUBAGENT_ACTIONS));
46
+ function isSubagentAction(value) {
47
+ return typeof value === "string" && IMPLEMENTED_ACTIONS.has(value);
48
+ }
49
+ function subagentActionAcceptsField(action, field) {
50
+ return SUBAGENT_ACTION_FIELDS[action].includes(field);
51
+ }
52
+ /** Remove the one legacy field emitted by Doom Plan before strict validation. */
53
+ function normalizeSubagentToolParams(input) {
54
+ if (!input || typeof input !== "object" || Array.isArray(input)) return input;
55
+ const record = input;
56
+ if (!isSubagentAction(record.action) || record.action === SUBAGENT_ACTIONS.run || typeof record.model !== "string") return input;
57
+ const { model: _model, ...normalized } = record;
58
+ return normalized;
59
+ }
60
+ const AgentScope = Type.Union([
61
+ Type.Literal("user"),
62
+ Type.Literal("project"),
63
+ Type.Literal("both")
64
+ ]);
65
+ const RunRequest = Type.Object({
66
+ agent: Type.String({ minLength: 1 }),
67
+ inlineAgent: Type.Optional(InlineAgentSchema),
68
+ task: Type.String({ minLength: 1 }),
69
+ cwd: Type.Optional(Type.String({ minLength: 1 })),
70
+ model: Type.Optional(Type.String({ minLength: 1 })),
71
+ runtime: Type.Optional(Type.String({ minLength: 1 }))
72
+ }, { additionalProperties: false });
73
+ const AgentsParams = Type.Object({
74
+ action: Type.Literal(SUBAGENT_ACTIONS.agents),
75
+ name: Type.Optional(Type.String({ minLength: 1 })),
76
+ cwd: Type.Optional(Type.String({ minLength: 1 })),
77
+ scope: Type.Optional(AgentScope)
78
+ }, { additionalProperties: false });
79
+ const RunParams = Type.Object({
80
+ action: Type.Literal(SUBAGENT_ACTIONS.run),
81
+ requests: Type.Array(RunRequest, { minItems: 1 }),
82
+ concurrency: Type.Optional(Type.Integer({ minimum: 1 })),
83
+ artifacts: Type.Optional(Type.Boolean()),
84
+ scope: Type.Optional(AgentScope)
85
+ }, { additionalProperties: false });
86
+ const FleetStatusParams = Type.Object({ action: Type.Literal(SUBAGENT_ACTIONS.status) }, { additionalProperties: false });
87
+ const RunStatusParams = Type.Object({
88
+ action: Type.Literal(SUBAGENT_ACTIONS.status),
89
+ id: Type.String({ minLength: 1 }),
90
+ transcriptLines: Type.Optional(Type.Integer({
91
+ minimum: 1,
92
+ maximum: 500
93
+ }))
94
+ }, { additionalProperties: false });
95
+ const SteerParams = Type.Object({
96
+ action: Type.Literal(SUBAGENT_ACTIONS.steer),
97
+ id: Type.String({ minLength: 1 }),
98
+ message: Type.String({ minLength: 1 })
99
+ }, { additionalProperties: false });
100
+ const StopParams = Type.Object({
101
+ action: Type.Literal(SUBAGENT_ACTIONS.stop),
102
+ id: Type.String({ minLength: 1 }),
103
+ reason: Type.Optional(Type.String({ minLength: 1 }))
104
+ }, { additionalProperties: false });
105
+ const SuspendedParams = Type.Object({ action: Type.Literal(SUBAGENT_ACTIONS.suspended) }, { additionalProperties: false });
106
+ const RestoreParams = Type.Object({
107
+ action: Type.Literal(SUBAGENT_ACTIONS.restore),
108
+ id: Type.String({ minLength: 1 })
109
+ }, { additionalProperties: false });
110
+ const SubagentParams = Type.Union([
111
+ AgentsParams,
112
+ RunParams,
113
+ FleetStatusParams,
114
+ RunStatusParams,
115
+ SteerParams,
116
+ StopParams,
117
+ SuspendedParams,
118
+ RestoreParams
119
+ ]);
120
+ /** The actions that accept `field`, so the declared docs cannot drift from the validator. */
121
+ function acceptingActions(field) {
122
+ return Object.values(SUBAGENT_ACTIONS).filter((action) => subagentActionAcceptsField(action, field)).join(", ");
123
+ }
124
+ /**
125
+ * The schema declared to the model.
126
+ *
127
+ * A flat object rather than `SubagentParams` itself. A top-level union is
128
+ * `{anyOf:[...]}` with no `properties`, and Pi's Anthropic Messages adapter
129
+ * rebuilds tool input as `{type:'object', properties: schema.properties ?? {},
130
+ * required: schema.required ?? []}`, so the union arrived at the model as an
131
+ * empty object while the host went on validating calls against it. Nothing here
132
+ * relaxes what is accepted: `validateParams` still rejects an unknown action, a
133
+ * field the action does not take, and a missing required one.
134
+ */
135
+ const SubagentToolSchema = Type.Object({
136
+ action: Type.String({
137
+ enum: Object.values(SUBAGENT_ACTIONS),
138
+ description: "The operation to run. Every other field is accepted only by the actions its description names."
139
+ }),
140
+ name: Type.Optional(Type.String({
141
+ minLength: 1,
142
+ description: `Exact agent name to inspect. Actions: ${acceptingActions("name")}.`
143
+ })),
144
+ cwd: Type.Optional(Type.String({
145
+ minLength: 1,
146
+ description: `Directory to discover agents in. Actions: ${acceptingActions("cwd")}.`
147
+ })),
148
+ scope: Type.Optional(Type.String({
149
+ enum: [
150
+ "user",
151
+ "project",
152
+ "both"
153
+ ],
154
+ description: `Agent discovery scope. Actions: ${acceptingActions("scope")}.`
155
+ })),
156
+ requests: Type.Optional(Type.Array(RunRequest, {
157
+ minItems: 1,
158
+ description: `Runs to start, one entry each. Actions: ${acceptingActions("requests")}.`
159
+ })),
160
+ concurrency: Type.Optional(Type.Integer({
161
+ minimum: 1,
162
+ description: `Maximum runs started at once. Actions: ${acceptingActions("concurrency")}.`
163
+ })),
164
+ artifacts: Type.Optional(Type.Boolean({ description: `Collect run artifacts. Actions: ${acceptingActions("artifacts")}.` })),
165
+ id: Type.Optional(Type.String({
166
+ minLength: 1,
167
+ description: `Run id. Actions: ${acceptingActions("id")}.`
168
+ })),
169
+ transcriptLines: Type.Optional(Type.Integer({
170
+ minimum: 1,
171
+ maximum: 500,
172
+ description: `Transcript lines to include; valid only alongside id. Actions: ${acceptingActions("transcriptLines")}.`
173
+ })),
174
+ message: Type.Optional(Type.String({
175
+ minLength: 1,
176
+ description: `Guidance to deliver. Actions: ${acceptingActions("message")}.`
177
+ })),
178
+ reason: Type.Optional(Type.String({
179
+ minLength: 1,
180
+ description: `Why the run is stopping. Actions: ${acceptingActions("reason")}.`
181
+ }))
182
+ }, { additionalProperties: false });
183
+ //#endregion
184
+ export { SubagentToolSchema as a, subagentActionAcceptsField as c, SubagentParams as i, SUBAGENT_ACTIONS as n, isSubagentAction as o, SUBAGENT_ACTION_FIELDS as r, normalizeSubagentToolParams as s, InlineAgentSchema as t };
185
+
186
+ //# sourceMappingURL=subagentTool-WOYrjxgT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentTool-WOYrjxgT.mjs","names":[],"sources":["../src/schemas/subagentTool.ts"],"sourcesContent":["import { InlineAgentSchema, type InlineAgent } from '@agimon-ai/po-core/delegation';\nimport { type Static, Type } from 'typebox';\n\nexport { InlineAgentSchema };\nexport type { InlineAgent };\n\nexport const SUBAGENT_ACTIONS = {\n agents: 'agents',\n run: 'run',\n status: 'status',\n steer: 'steer',\n stop: 'stop',\n suspended: 'suspended',\n restore: 'restore',\n} as const;\n\nexport type SubagentAction = (typeof SUBAGENT_ACTIONS)[keyof typeof SUBAGENT_ACTIONS];\n\nexport const SUBAGENT_ACTION_FIELDS = {\n agents: ['action', 'name', 'cwd', 'scope'],\n run: ['action', 'requests', 'concurrency', 'artifacts', 'scope'],\n status: ['action', 'id', 'transcriptLines'],\n steer: ['action', 'id', 'message'],\n stop: ['action', 'id', 'reason'],\n suspended: ['action'],\n restore: ['action', 'id'],\n} as const satisfies Record<SubagentAction, readonly string[]>;\n\nconst IMPLEMENTED_ACTIONS: ReadonlySet<string> = new Set(Object.values(SUBAGENT_ACTIONS));\n\nexport function isSubagentAction(value: unknown): value is SubagentAction {\n return typeof value === 'string' && IMPLEMENTED_ACTIONS.has(value);\n}\n\nexport function subagentActionAcceptsField(action: SubagentAction, field: string): boolean {\n return (SUBAGENT_ACTION_FIELDS[action] as readonly string[]).includes(field);\n}\n\n/** Remove the one legacy field emitted by Doom Plan before strict validation. */\nexport function normalizeSubagentToolParams(input: unknown): unknown {\n if (!input || typeof input !== 'object' || Array.isArray(input)) return input;\n const record = input as Record<string, unknown>;\n if (!isSubagentAction(record.action) || record.action === SUBAGENT_ACTIONS.run || typeof record.model !== 'string') {\n return input;\n }\n const { model: _model, ...normalized } = record;\n return normalized;\n}\n\nconst AgentScope = Type.Union([Type.Literal('user'), Type.Literal('project'), Type.Literal('both')]);\n\nconst RunRequest = Type.Object(\n {\n agent: Type.String({ minLength: 1 }),\n inlineAgent: Type.Optional(InlineAgentSchema),\n task: Type.String({ minLength: 1 }),\n cwd: Type.Optional(Type.String({ minLength: 1 })),\n model: Type.Optional(Type.String({ minLength: 1 })),\n runtime: Type.Optional(Type.String({ minLength: 1 })),\n },\n { additionalProperties: false },\n);\n\nconst AgentsParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.agents),\n name: Type.Optional(Type.String({ minLength: 1 })),\n cwd: Type.Optional(Type.String({ minLength: 1 })),\n scope: Type.Optional(AgentScope),\n },\n { additionalProperties: false },\n);\n\nconst RunParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.run),\n requests: Type.Array(RunRequest, { minItems: 1 }),\n concurrency: Type.Optional(Type.Integer({ minimum: 1 })),\n artifacts: Type.Optional(Type.Boolean()),\n scope: Type.Optional(AgentScope),\n },\n { additionalProperties: false },\n);\n\nconst FleetStatusParams = Type.Object(\n { action: Type.Literal(SUBAGENT_ACTIONS.status) },\n { additionalProperties: false },\n);\n\nconst RunStatusParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.status),\n id: Type.String({ minLength: 1 }),\n transcriptLines: Type.Optional(Type.Integer({ minimum: 1, maximum: 500 })),\n },\n { additionalProperties: false },\n);\n\nconst SteerParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.steer),\n id: Type.String({ minLength: 1 }),\n message: Type.String({ minLength: 1 }),\n },\n { additionalProperties: false },\n);\n\nconst StopParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.stop),\n id: Type.String({ minLength: 1 }),\n reason: Type.Optional(Type.String({ minLength: 1 })),\n },\n { additionalProperties: false },\n);\n\nconst SuspendedParams = Type.Object(\n { action: Type.Literal(SUBAGENT_ACTIONS.suspended) },\n { additionalProperties: false },\n);\n\nconst RestoreParams = Type.Object(\n {\n action: Type.Literal(SUBAGENT_ACTIONS.restore),\n id: Type.String({ minLength: 1 }),\n },\n { additionalProperties: false },\n);\n\nexport const SubagentParams = Type.Union([\n AgentsParams,\n RunParams,\n FleetStatusParams,\n RunStatusParams,\n SteerParams,\n StopParams,\n SuspendedParams,\n RestoreParams,\n]);\n\n/** The actions that accept `field`, so the declared docs cannot drift from the validator. */\nfunction acceptingActions(field: string): string {\n return Object.values(SUBAGENT_ACTIONS)\n .filter((action) => subagentActionAcceptsField(action, field))\n .join(', ');\n}\n\n/**\n * The schema declared to the model.\n *\n * A flat object rather than `SubagentParams` itself. A top-level union is\n * `{anyOf:[...]}` with no `properties`, and Pi's Anthropic Messages adapter\n * rebuilds tool input as `{type:'object', properties: schema.properties ?? {},\n * required: schema.required ?? []}`, so the union arrived at the model as an\n * empty object while the host went on validating calls against it. Nothing here\n * relaxes what is accepted: `validateParams` still rejects an unknown action, a\n * field the action does not take, and a missing required one.\n */\nexport const SubagentToolSchema = Type.Object(\n {\n action: Type.String({\n enum: Object.values(SUBAGENT_ACTIONS),\n description: 'The operation to run. Every other field is accepted only by the actions its description names.',\n }),\n name: Type.Optional(\n Type.String({ minLength: 1, description: `Exact agent name to inspect. Actions: ${acceptingActions('name')}.` }),\n ),\n cwd: Type.Optional(\n Type.String({\n minLength: 1,\n description: `Directory to discover agents in. Actions: ${acceptingActions('cwd')}.`,\n }),\n ),\n scope: Type.Optional(\n Type.String({\n enum: ['user', 'project', 'both'],\n description: `Agent discovery scope. Actions: ${acceptingActions('scope')}.`,\n }),\n ),\n requests: Type.Optional(\n Type.Array(RunRequest, {\n minItems: 1,\n description: `Runs to start, one entry each. Actions: ${acceptingActions('requests')}.`,\n }),\n ),\n concurrency: Type.Optional(\n Type.Integer({\n minimum: 1,\n description: `Maximum runs started at once. Actions: ${acceptingActions('concurrency')}.`,\n }),\n ),\n artifacts: Type.Optional(\n Type.Boolean({ description: `Collect run artifacts. Actions: ${acceptingActions('artifacts')}.` }),\n ),\n id: Type.Optional(Type.String({ minLength: 1, description: `Run id. Actions: ${acceptingActions('id')}.` })),\n transcriptLines: Type.Optional(\n Type.Integer({\n minimum: 1,\n maximum: 500,\n description: `Transcript lines to include; valid only alongside id. Actions: ${acceptingActions('transcriptLines')}.`,\n }),\n ),\n message: Type.Optional(\n Type.String({ minLength: 1, description: `Guidance to deliver. Actions: ${acceptingActions('message')}.` }),\n ),\n reason: Type.Optional(\n Type.String({ minLength: 1, description: `Why the run is stopping. Actions: ${acceptingActions('reason')}.` }),\n ),\n },\n { additionalProperties: false },\n);\n\nexport type SubagentToolParams = Static<typeof SubagentParams>;\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_subagentTool = require("./subagentTool-Ca2zQXKw.cjs");
3
+ let _agimon_ai_po_core_delegation = require("@agimon-ai/po-core/delegation");
4
+ exports.InlineAgentSchema = _agimon_ai_po_core_delegation.InlineAgentSchema;
5
+ exports.SUBAGENT_ACTIONS = require_subagentTool.SUBAGENT_ACTIONS;
6
+ exports.SUBAGENT_ACTION_FIELDS = require_subagentTool.SUBAGENT_ACTION_FIELDS;
7
+ exports.SubagentParams = require_subagentTool.SubagentParams;
8
+ exports.SubagentToolSchema = require_subagentTool.SubagentToolSchema;
9
+ exports.isSubagentAction = require_subagentTool.isSubagentAction;
10
+ exports.subagentActionAcceptsField = require_subagentTool.subagentActionAcceptsField;
@@ -0,0 +1,2 @@
1
+ import { a as SubagentAction, c as SubagentToolSchema, d as subagentActionAcceptsField, i as SUBAGENT_ACTION_FIELDS, l as isSubagentAction, n as InlineAgentSchema, o as SubagentParams, r as SUBAGENT_ACTIONS, s as SubagentToolParams, t as InlineAgent } from "./subagentTool-BTssGLw8.mjs";
2
+ export { type InlineAgent, InlineAgentSchema, SUBAGENT_ACTIONS, SUBAGENT_ACTION_FIELDS, type SubagentAction, SubagentParams, type SubagentToolParams, SubagentToolSchema, isSubagentAction, subagentActionAcceptsField };
@@ -0,0 +1,2 @@
1
+ import { a as SubagentToolSchema, c as subagentActionAcceptsField, i as SubagentParams, n as SUBAGENT_ACTIONS, o as isSubagentAction, r as SUBAGENT_ACTION_FIELDS, t as InlineAgentSchema } from "./subagentTool-WOYrjxgT.mjs";
2
+ export { InlineAgentSchema, SUBAGENT_ACTIONS, SUBAGENT_ACTION_FIELDS, SubagentParams, SubagentToolSchema, isSubagentAction, subagentActionAcceptsField };
@@ -0,0 +1,24 @@
1
+ //#region src/services/teamSnapshot/index.ts
2
+ /** Read the active package-owned Team runtime without exposing its transport implementation. */
3
+ function readActiveTeamSnapshot(runtime) {
4
+ return runtime?.snapshot();
5
+ }
6
+ /** Render only the bounded, resumable Team state safe to carry across compaction. */
7
+ function formatTeamContextSnapshot(snapshot) {
8
+ if (!snapshot) return void 0;
9
+ if (snapshot.members.length === 0) return "(no active team members)";
10
+ return snapshot.members.map((member) => {
11
+ const details = [
12
+ `role: ${member.role}`,
13
+ member.agent ? `agent: ${member.agent}` : void 0,
14
+ member.inline ? "inline" : void 0,
15
+ member.runId ? `run: ${member.runId}` : void 0,
16
+ member.task ? `task ${member.task.id}: ${member.task.subject}` : void 0
17
+ ].filter((value) => Boolean(value));
18
+ return `- ${member.name} | ${details.join(" | ")}`;
19
+ }).join("\n");
20
+ }
21
+ //#endregion
22
+ export { readActiveTeamSnapshot as n, formatTeamContextSnapshot as t };
23
+
24
+ //# sourceMappingURL=teamSnapshot-DgaANhBs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamSnapshot-DgaANhBs.mjs","names":[],"sources":["../src/services/teamSnapshot/index.ts"],"sourcesContent":["import type { NativeTeamMemberSnapshot, NativeTeamRuntime, NativeTeamSnapshot } from '../nativeTeamChannel';\n\nexport type TeamMemberSnapshot = NativeTeamMemberSnapshot;\nexport type TeamSnapshot = NativeTeamSnapshot;\n\n/** Read the active package-owned Team runtime without exposing its transport implementation. */\nexport function readActiveTeamSnapshot(runtime?: NativeTeamRuntime): TeamSnapshot | undefined {\n return runtime?.snapshot();\n}\n\n/** Render only the bounded, resumable Team state safe to carry across compaction. */\nexport function formatTeamContextSnapshot(snapshot: TeamSnapshot | undefined): string | undefined {\n if (!snapshot) return undefined;\n if (snapshot.members.length === 0) return '(no active team members)';\n return snapshot.members\n .map((member) => {\n const details = [\n `role: ${member.role}`,\n member.agent ? `agent: ${member.agent}` : undefined,\n member.inline ? 'inline' : undefined,\n member.runId ? `run: ${member.runId}` : undefined,\n member.task ? `task ${member.task.id}: ${member.task.subject}` : undefined,\n ].filter((value): value is string => Boolean(value));\n return `- ${member.name} | ${details.join(' | ')}`;\n })\n .join('\\n');\n}\n"],"mappings":";;AAMA,SAAgB,uBAAuB,SAAuD;CAC5F,OAAO,SAAS,SAAS;AAC3B;;AAGA,SAAgB,0BAA0B,UAAwD;CAChG,IAAI,CAAC,UAAU,OAAO,KAAA;CACtB,IAAI,SAAS,QAAQ,WAAW,GAAG,OAAO;CAC1C,OAAO,SAAS,QACb,KAAK,WAAW;EACf,MAAM,UAAU;GACd,SAAS,OAAO;GAChB,OAAO,QAAQ,UAAU,OAAO,UAAU,KAAA;GAC1C,OAAO,SAAS,WAAW,KAAA;GAC3B,OAAO,QAAQ,QAAQ,OAAO,UAAU,KAAA;GACxC,OAAO,OAAO,QAAQ,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,YAAY,KAAA;EACnE,CAAC,CAAC,QAAQ,UAA2B,QAAQ,KAAK,CAAC;EACnD,OAAO,KAAK,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK;CACjD,CAAC,CAAC,CACD,KAAK,IAAI;AACd"}
@@ -0,0 +1,35 @@
1
+ //#region src/services/teamSnapshot/index.ts
2
+ /** Read the active package-owned Team runtime without exposing its transport implementation. */
3
+ function readActiveTeamSnapshot(runtime) {
4
+ return runtime?.snapshot();
5
+ }
6
+ /** Render only the bounded, resumable Team state safe to carry across compaction. */
7
+ function formatTeamContextSnapshot(snapshot) {
8
+ if (!snapshot) return void 0;
9
+ if (snapshot.members.length === 0) return "(no active team members)";
10
+ return snapshot.members.map((member) => {
11
+ const details = [
12
+ `role: ${member.role}`,
13
+ member.agent ? `agent: ${member.agent}` : void 0,
14
+ member.inline ? "inline" : void 0,
15
+ member.runId ? `run: ${member.runId}` : void 0,
16
+ member.task ? `task ${member.task.id}: ${member.task.subject}` : void 0
17
+ ].filter((value) => Boolean(value));
18
+ return `- ${member.name} | ${details.join(" | ")}`;
19
+ }).join("\n");
20
+ }
21
+ //#endregion
22
+ Object.defineProperty(exports, "formatTeamContextSnapshot", {
23
+ enumerable: true,
24
+ get: function() {
25
+ return formatTeamContextSnapshot;
26
+ }
27
+ });
28
+ Object.defineProperty(exports, "readActiveTeamSnapshot", {
29
+ enumerable: true,
30
+ get: function() {
31
+ return readActiveTeamSnapshot;
32
+ }
33
+ });
34
+
35
+ //# sourceMappingURL=teamSnapshot-oKuGFdYc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamSnapshot-oKuGFdYc.cjs","names":[],"sources":["../src/services/teamSnapshot/index.ts"],"sourcesContent":["import type { NativeTeamMemberSnapshot, NativeTeamRuntime, NativeTeamSnapshot } from '../nativeTeamChannel';\n\nexport type TeamMemberSnapshot = NativeTeamMemberSnapshot;\nexport type TeamSnapshot = NativeTeamSnapshot;\n\n/** Read the active package-owned Team runtime without exposing its transport implementation. */\nexport function readActiveTeamSnapshot(runtime?: NativeTeamRuntime): TeamSnapshot | undefined {\n return runtime?.snapshot();\n}\n\n/** Render only the bounded, resumable Team state safe to carry across compaction. */\nexport function formatTeamContextSnapshot(snapshot: TeamSnapshot | undefined): string | undefined {\n if (!snapshot) return undefined;\n if (snapshot.members.length === 0) return '(no active team members)';\n return snapshot.members\n .map((member) => {\n const details = [\n `role: ${member.role}`,\n member.agent ? `agent: ${member.agent}` : undefined,\n member.inline ? 'inline' : undefined,\n member.runId ? `run: ${member.runId}` : undefined,\n member.task ? `task ${member.task.id}: ${member.task.subject}` : undefined,\n ].filter((value): value is string => Boolean(value));\n return `- ${member.name} | ${details.join(' | ')}`;\n })\n .join('\\n');\n}\n"],"mappings":";;AAMA,SAAgB,uBAAuB,SAAuD;CAC5F,OAAO,SAAS,SAAS;AAC3B;;AAGA,SAAgB,0BAA0B,UAAwD;CAChG,IAAI,CAAC,UAAU,OAAO,KAAA;CACtB,IAAI,SAAS,QAAQ,WAAW,GAAG,OAAO;CAC1C,OAAO,SAAS,QACb,KAAK,WAAW;EACf,MAAM,UAAU;GACd,SAAS,OAAO;GAChB,OAAO,QAAQ,UAAU,OAAO,UAAU,KAAA;GAC1C,OAAO,SAAS,WAAW,KAAA;GAC3B,OAAO,QAAQ,QAAQ,OAAO,UAAU,KAAA;GACxC,OAAO,OAAO,QAAQ,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,YAAY,KAAA;EACnE,CAAC,CAAC,QAAQ,UAA2B,QAAQ,KAAK,CAAC;EACnD,OAAO,KAAK,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK;CACjD,CAAC,CAAC,CACD,KAAK,IAAI;AACd"}
@@ -0,0 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_teamSnapshot = require("./teamSnapshot-oKuGFdYc.cjs");
3
+ exports.formatTeamContextSnapshot = require_teamSnapshot.formatTeamContextSnapshot;
4
+ exports.readActiveTeamSnapshot = require_teamSnapshot.readActiveTeamSnapshot;
@@ -0,0 +1,59 @@
1
+ import { Type } from "typebox";
2
+ import "@agimon-ai/po-core/childSession";
3
+ import { AgentToolResult } from "@earendil-works/pi-agent-core";
4
+ import "@earendil-works/pi-coding-agent";
5
+ //#region src/services/nativeTeamChannel/index.d.ts
6
+ declare const TEAM_ROOT_VERSION = 1;
7
+ type TeamMemberRole = 'main' | 'subagent';
8
+ interface TeamRootContext {
9
+ version: typeof TEAM_ROOT_VERSION;
10
+ teamId: string;
11
+ rootSessionId: string;
12
+ mainMemberId: string;
13
+ }
14
+ interface TeamTaskMetadata {
15
+ id: string;
16
+ subject: string;
17
+ }
18
+ interface TeamMemberContext extends TeamRootContext {
19
+ memberId: string;
20
+ /** Kept in the direct context for capability identity, never forwarded through env or files. */
21
+ token: string;
22
+ role: TeamMemberRole;
23
+ agent?: string;
24
+ inline?: boolean;
25
+ runId?: string;
26
+ childIndex?: number;
27
+ parentMemberId?: string;
28
+ task?: TeamTaskMetadata;
29
+ }
30
+ interface NativeTeamMemberSnapshot {
31
+ name: string;
32
+ role: TeamMemberRole;
33
+ agent?: string;
34
+ /** True when this run came from a one-shot inline agent definition. */
35
+ inline?: boolean;
36
+ runId?: string;
37
+ task?: TeamTaskMetadata;
38
+ }
39
+ interface NativeTeamSnapshot {
40
+ members: NativeTeamMemberSnapshot[];
41
+ }
42
+ interface NativeTeamRuntime {
43
+ bindMainSession(rootSessionId: string): TeamMemberContext;
44
+ current(): TeamMemberContext | undefined;
45
+ snapshot(): NativeTeamSnapshot;
46
+ execute(operationId: string, rawParams: unknown, signal?: AbortSignal, onUpdate?: (result: AgentToolResult<Record<string, unknown>>) => void): Promise<AgentToolResult<Record<string, unknown>>>;
47
+ undeliverable(): readonly never[];
48
+ dispose(): void;
49
+ }
50
+ //#endregion
51
+ //#region src/services/teamSnapshot/index.d.ts
52
+ export type TeamMemberSnapshot = NativeTeamMemberSnapshot;
53
+ export type TeamSnapshot = NativeTeamSnapshot;
54
+ /** Read the active package-owned Team runtime without exposing its transport implementation. */
55
+ export declare function readActiveTeamSnapshot(runtime?: NativeTeamRuntime): TeamSnapshot | undefined;
56
+ /** Render only the bounded, resumable Team state safe to carry across compaction. */
57
+ export declare function formatTeamContextSnapshot(snapshot: TeamSnapshot | undefined): string | undefined;
58
+ //#endregion
59
+ //# sourceMappingURL=teamSnapshot.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamSnapshot.d.mts","names":[],"sources":["../src/services/nativeTeamChannel/index.ts","../src/services/teamSnapshot/index.ts"],"mappings":";;;;;cAyCM;KAKM;UAEK;EACf,gBAAgB;EAChB;EACA;EACA;;UAGe;EACf;EACA;;UAGe,0BAA0B;EACzC;;EAEA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA,MAAM;EACN;;EAEA;EACA;EACA,OAAO;;UAGQ;EACf,SAAS;;UAiiBM;EACf,gBAAgB,wBAAwB;EACxC,WAAW;EACX,YAAY;EACZ,QACE,qBACA,oBACA,SAAS,aACT,YAAY,QAAQ,gBAAgB,oCACnC,QAAQ,gBAAgB;EAC3B;EACA;;;;YC9nBU,qBAAqB;YACrB,eAAe;;wBAGX,uBAAuB,UAAU,oBAAoB;;wBAKrD,0BAA0B,UAAU"}
@@ -0,0 +1,2 @@
1
+ import { n as readActiveTeamSnapshot, t as formatTeamContextSnapshot } from "./teamSnapshot-DgaANhBs.mjs";
2
+ export { formatTeamContextSnapshot, readActiveTeamSnapshot };
package/package.json ADDED
@@ -0,0 +1,201 @@
1
+ {
2
+ "name": "@agimon-ai/po-team",
3
+ "version": "0.0.0-alpha.0",
4
+ "description": "Asynchronous named subagents, team runs, intercom, and model policy for Pi coding agents.",
5
+ "keywords": [
6
+ "agent-team",
7
+ "ai",
8
+ "coding-agent",
9
+ "developer-tools",
10
+ "inter-agent-communication",
11
+ "multi-agent",
12
+ "pi-coding-agent",
13
+ "pi-package",
14
+ "po",
15
+ "subagents"
16
+ ],
17
+ "homepage": "https://agimon.ai",
18
+ "bugs": {
19
+ "url": "https://github.com/AgiFlow/po/issues"
20
+ },
21
+ "license": "MIT",
22
+ "author": "Vuong Ngo",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/AgiFlow/po.git",
26
+ "directory": "layers/team/po-team"
27
+ },
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "type": "module",
32
+ "main": "./dist/index.cjs",
33
+ "module": "./dist/index.mjs",
34
+ "types": "./dist/index.d.mts",
35
+ "jsnext:main": "./dist/index.mjs",
36
+ "exports": {
37
+ ".": {
38
+ "types": "./dist/index.d.mts",
39
+ "import": "./dist/index.mjs",
40
+ "require": "./dist/index.cjs"
41
+ },
42
+ "./apiContracts": {
43
+ "types": "./dist/apiContracts.d.mts",
44
+ "import": "./dist/apiContracts.mjs",
45
+ "require": "./dist/apiContracts.cjs"
46
+ },
47
+ "./capabilityCeiling": {
48
+ "types": "./dist/capabilityCeiling.d.mts",
49
+ "import": "./dist/capabilityCeiling.mjs",
50
+ "require": "./dist/capabilityCeiling.cjs"
51
+ },
52
+ "./delegation": {
53
+ "types": "./dist/delegation.d.mts",
54
+ "import": "./dist/delegation.mjs",
55
+ "require": "./dist/delegation.cjs"
56
+ },
57
+ "./delegationApi": {
58
+ "types": "./dist/delegationApi.d.mts",
59
+ "import": "./dist/delegationApi.mjs",
60
+ "require": "./dist/delegationApi.cjs"
61
+ },
62
+ "./env": {
63
+ "types": "./dist/env.d.mts",
64
+ "import": "./dist/env.mjs",
65
+ "require": "./dist/env.cjs"
66
+ },
67
+ "./extensions/server": {
68
+ "types": "./dist/extensions/server.d.mts",
69
+ "import": "./dist/extensions/server.mjs",
70
+ "require": "./dist/extensions/server.cjs"
71
+ },
72
+ "./extensions/web": {
73
+ "import": "./dist/extensions/web.mjs"
74
+ },
75
+ "./fablePlan": {
76
+ "types": "./dist/fablePlan.d.mts",
77
+ "import": "./dist/fablePlan.mjs",
78
+ "require": "./dist/fablePlan.cjs"
79
+ },
80
+ "./fablePlanApi": {
81
+ "types": "./dist/fablePlanApi.d.mts",
82
+ "import": "./dist/fablePlanApi.mjs",
83
+ "require": "./dist/fablePlanApi.cjs"
84
+ },
85
+ "./runs/background/cliRunnerEntry": {
86
+ "types": "./dist/runs/background/cliRunnerEntry.d.mts",
87
+ "import": "./dist/runs/background/cliRunnerEntry.mjs",
88
+ "require": "./dist/runs/background/cliRunnerEntry.cjs"
89
+ },
90
+ "./runtimeSubagentPolicy": {
91
+ "types": "./dist/runtimeSubagentPolicy.d.mts",
92
+ "import": "./dist/runtimeSubagentPolicy.mjs",
93
+ "require": "./dist/runtimeSubagentPolicy.cjs"
94
+ },
95
+ "./runtimeSubagentTool": {
96
+ "types": "./dist/runtimeSubagentTool.d.mts",
97
+ "import": "./dist/runtimeSubagentTool.mjs",
98
+ "require": "./dist/runtimeSubagentTool.cjs"
99
+ },
100
+ "./subagentPolicy": {
101
+ "types": "./dist/subagentPolicy.d.mts",
102
+ "import": "./dist/subagentPolicy.mjs",
103
+ "require": "./dist/subagentPolicy.cjs"
104
+ },
105
+ "./subagentTool": {
106
+ "types": "./dist/subagentTool.d.mts",
107
+ "import": "./dist/subagentTool.mjs",
108
+ "require": "./dist/subagentTool.cjs"
109
+ },
110
+ "./teamSnapshot": {
111
+ "types": "./dist/teamSnapshot.d.mts",
112
+ "import": "./dist/teamSnapshot.mjs",
113
+ "require": "./dist/teamSnapshot.cjs"
114
+ },
115
+ "./package.json": "./package.json"
116
+ },
117
+ "publishConfig": {
118
+ "access": "public",
119
+ "registry": "https://registry.npmjs.org/"
120
+ },
121
+ "dependencies": {
122
+ "@agimon-ai/po-cache": "0.0.0-alpha.0",
123
+ "@agimon-ai/po-config": "0.0.0-alpha.0",
124
+ "@agimon-ai/po-core": "0.0.0-alpha.0",
125
+ "@agimon-ai/po-session": "0.0.0-alpha.0",
126
+ "@agimon-ai/po-telemetry": "0.0.0-alpha.0",
127
+ "@agimon-ai/po-ui": "0.0.0-alpha.0",
128
+ "@agimon-ai/po-web-components": "0.0.0-alpha.0",
129
+ "@agimon-ai/po-web-security": "0.0.0-alpha.0",
130
+ "@deepseek-ai/cordis": "4.0.4",
131
+ "typebox": "1.3.34",
132
+ "yaml": "2.9.1"
133
+ },
134
+ "devDependencies": {
135
+ "@agimon-ai/po-build": "0.0.0-alpha.0",
136
+ "@earendil-works/pi-agent-core": "1.0.2",
137
+ "@earendil-works/pi-ai": "1.0.2",
138
+ "@earendil-works/pi-coding-agent": "1.0.2",
139
+ "@tanstack/react-store": "0.11.2",
140
+ "@tanstack/store": "0.11.2",
141
+ "@types/node": "26.6.4",
142
+ "@types/react": "19.3.0",
143
+ "@vitest/coverage-v8": "5.0.3",
144
+ "react": "19.3.0",
145
+ "react-dom": "19.3.0",
146
+ "typescript": "7.0.2",
147
+ "vitest": "5.0.3"
148
+ },
149
+ "peerDependencies": {
150
+ "@earendil-works/pi-agent-core": "1.0.2",
151
+ "@earendil-works/pi-ai": "1.0.2",
152
+ "@earendil-works/pi-coding-agent": "1.0.2"
153
+ },
154
+ "peerDependenciesMeta": {
155
+ "@earendil-works/pi-agent-core": {
156
+ "optional": true
157
+ },
158
+ "@earendil-works/pi-ai": {
159
+ "optional": true
160
+ },
161
+ "@earendil-works/pi-coding-agent": {
162
+ "optional": true
163
+ }
164
+ },
165
+ "engines": {
166
+ "node": ">=24"
167
+ },
168
+ "poServer": {
169
+ "entry": "./generated/server.ts",
170
+ "dist": "./dist/extensions/server.mjs",
171
+ "scopes": [
172
+ "global",
173
+ "workspace",
174
+ "session"
175
+ ],
176
+ "contracts": {
177
+ "entry": "./src/exports/apiContracts.ts",
178
+ "dist": "./dist/apiContracts.mjs"
179
+ }
180
+ },
181
+ "poWeb": {
182
+ "pluginId": "subagents",
183
+ "channels": [
184
+ "subagent_catalog",
185
+ "subagent_runs"
186
+ ],
187
+ "client": "./dist/extensions/web.mjs",
188
+ "scopes": [
189
+ "session"
190
+ ]
191
+ },
192
+ "scripts": {
193
+ "build": "tsdown && tsdown --config tsdown.mcp.config.ts",
194
+ "build:mcp": "tsdown --config tsdown.mcp.config.ts",
195
+ "test": "vitest --run",
196
+ "test-system": "vitest run --config vitest.system.config.ts",
197
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.web.json",
198
+ "lint": "oxlint . && oxfmt . --check",
199
+ "fixcode": "oxlint . --fix && oxfmt ."
200
+ }
201
+ }