pinecall 0.5.0 → 0.7.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 (153) hide show
  1. package/README.md +17 -9
  2. package/dist/agent/agent.d.ts +9 -38
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +17 -18
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/knowledge.d.ts +9 -0
  7. package/dist/agent/knowledge.d.ts.map +1 -0
  8. package/dist/agent/knowledge.js +3 -0
  9. package/dist/agent/knowledge.js.map +1 -0
  10. package/dist/agent/searching.d.ts +8 -0
  11. package/dist/agent/searching.d.ts.map +1 -0
  12. package/dist/agent/searching.js +38 -0
  13. package/dist/agent/searching.js.map +1 -0
  14. package/dist/call/call.d.ts +20 -1
  15. package/dist/call/call.d.ts.map +1 -1
  16. package/dist/call/call.js +15 -1
  17. package/dist/call/call.js.map +1 -1
  18. package/dist/cli/agent-knowledge.d.ts +19 -0
  19. package/dist/cli/agent-knowledge.d.ts.map +1 -0
  20. package/dist/cli/agent-knowledge.js +84 -0
  21. package/dist/cli/agent-knowledge.js.map +1 -0
  22. package/dist/cli/agent-lines.d.ts +1 -1
  23. package/dist/cli/agent-lines.d.ts.map +1 -1
  24. package/dist/cli/agent-lines.js +8 -3
  25. package/dist/cli/agent-lines.js.map +1 -1
  26. package/dist/cli/agent-processes.d.ts +13 -0
  27. package/dist/cli/agent-processes.d.ts.map +1 -0
  28. package/dist/cli/agent-processes.js +34 -0
  29. package/dist/cli/agent-processes.js.map +1 -0
  30. package/dist/cli/agent.d.ts +4 -1
  31. package/dist/cli/agent.d.ts.map +1 -1
  32. package/dist/cli/agent.js +23 -20
  33. package/dist/cli/agent.js.map +1 -1
  34. package/dist/cli/docs-attach.d.ts +23 -0
  35. package/dist/cli/docs-attach.d.ts.map +1 -0
  36. package/dist/cli/docs-attach.js +87 -0
  37. package/dist/cli/docs-attach.js.map +1 -0
  38. package/dist/cli/{knowledge.d.ts → docs.d.ts} +2 -4
  39. package/dist/cli/docs.d.ts.map +1 -0
  40. package/dist/cli/{knowledge.js → docs.js} +69 -36
  41. package/dist/cli/docs.js.map +1 -0
  42. package/dist/cli/groups.js +1 -1
  43. package/dist/cli/groups.js.map +1 -1
  44. package/dist/cli/home.d.ts +23 -18
  45. package/dist/cli/home.d.ts.map +1 -1
  46. package/dist/cli/home.js +21 -30
  47. package/dist/cli/home.js.map +1 -1
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +9 -8
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/lexicon.js +1 -1
  52. package/dist/cli/lexicon.js.map +1 -1
  53. package/dist/cli/load.d.ts +5 -5
  54. package/dist/cli/load.d.ts.map +1 -1
  55. package/dist/cli/load.js +19 -26
  56. package/dist/cli/load.js.map +1 -1
  57. package/dist/cli/memory-policy.js +1 -1
  58. package/dist/cli/memory-policy.js.map +1 -1
  59. package/dist/cli/memory.d.ts +0 -1
  60. package/dist/cli/memory.d.ts.map +1 -1
  61. package/dist/cli/memory.js +1 -4
  62. package/dist/cli/memory.js.map +1 -1
  63. package/dist/cli/pipeline.d.ts +3 -13
  64. package/dist/cli/pipeline.d.ts.map +1 -1
  65. package/dist/cli/pipeline.js +10 -16
  66. package/dist/cli/pipeline.js.map +1 -1
  67. package/dist/cli/remember.d.ts +2 -2
  68. package/dist/cli/remember.d.ts.map +1 -1
  69. package/dist/cli/remember.js +1 -1
  70. package/dist/cli/remember.js.map +1 -1
  71. package/dist/cli/start-screens.d.ts.map +1 -1
  72. package/dist/cli/start-screens.js +21 -2
  73. package/dist/cli/start-screens.js.map +1 -1
  74. package/dist/cli/start.d.ts.map +1 -1
  75. package/dist/cli/start.js +3 -6
  76. package/dist/cli/start.js.map +1 -1
  77. package/dist/cli/test.js +1 -1
  78. package/dist/cli/test.js.map +1 -1
  79. package/dist/cli/testing/goldens.d.ts.map +1 -1
  80. package/dist/cli/testing/goldens.js +7 -1
  81. package/dist/cli/testing/goldens.js.map +1 -1
  82. package/dist/cli/testing/models.d.ts +5 -0
  83. package/dist/cli/testing/models.d.ts.map +1 -0
  84. package/dist/cli/testing/models.js +18 -0
  85. package/dist/cli/testing/models.js.map +1 -0
  86. package/dist/cli/ui/console/assets/index-CZCFF8Yh.js +106 -0
  87. package/dist/cli/ui/console/assets/{index-DmN15Axn.css → index-gPwW4dvS.css} +1 -1
  88. package/dist/cli/ui/console/index.html +2 -2
  89. package/dist/cli/ui/knowing.d.ts +3 -3
  90. package/dist/cli/ui/knowing.d.ts.map +1 -1
  91. package/dist/cli/ui/knowing.js +8 -12
  92. package/dist/cli/ui/knowing.js.map +1 -1
  93. package/dist/cli/ui/remembering.d.ts +1 -1
  94. package/dist/cli/ui/remembering.d.ts.map +1 -1
  95. package/dist/cli/ui/remembering.js +5 -5
  96. package/dist/cli/ui/remembering.js.map +1 -1
  97. package/dist/cli/ui/testing.d.ts +1 -1
  98. package/dist/cli/ui/testing.d.ts.map +1 -1
  99. package/dist/cli/ui/testing.js +1 -1
  100. package/dist/cli/ui/testing.js.map +1 -1
  101. package/dist/cli/world.d.ts +12 -6
  102. package/dist/cli/world.d.ts.map +1 -1
  103. package/dist/cli/world.js +14 -12
  104. package/dist/cli/world.js.map +1 -1
  105. package/dist/client/agent.d.ts +1 -0
  106. package/dist/client/agent.d.ts.map +1 -1
  107. package/dist/client/agent.js +1 -0
  108. package/dist/client/agent.js.map +1 -1
  109. package/dist/client/client.d.ts +21 -2
  110. package/dist/client/client.d.ts.map +1 -1
  111. package/dist/client/client.js +68 -0
  112. package/dist/client/client.js.map +1 -1
  113. package/dist/client/endpoints.d.ts +2 -0
  114. package/dist/client/endpoints.d.ts.map +1 -1
  115. package/dist/client/endpoints.js +5 -1
  116. package/dist/client/endpoints.js.map +1 -1
  117. package/dist/client/index.d.ts +2 -2
  118. package/dist/client/index.d.ts.map +1 -1
  119. package/dist/client/index.js +1 -1
  120. package/dist/client/index.js.map +1 -1
  121. package/dist/client/testing/gateway.d.ts +21 -0
  122. package/dist/client/testing/gateway.d.ts.map +1 -1
  123. package/dist/client/testing/gateway.js +53 -9
  124. package/dist/client/testing/gateway.js.map +1 -1
  125. package/dist/client/testing/index.d.ts +1 -1
  126. package/dist/client/testing/index.d.ts.map +1 -1
  127. package/dist/index.d.ts +1 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +1 -0
  130. package/dist/index.js.map +1 -1
  131. package/dist/runtime/connect.d.ts +8 -9
  132. package/dist/runtime/connect.d.ts.map +1 -1
  133. package/dist/runtime/connect.js +19 -122
  134. package/dist/runtime/connect.js.map +1 -1
  135. package/dist/runtime/environment.d.ts +7 -0
  136. package/dist/runtime/environment.d.ts.map +1 -0
  137. package/dist/runtime/environment.js +30 -0
  138. package/dist/runtime/environment.js.map +1 -0
  139. package/dist/views/layout.d.ts.map +1 -1
  140. package/dist/views/layout.js +4 -5
  141. package/dist/views/layout.js.map +1 -1
  142. package/package.json +2 -2
  143. package/dist/cli/knowledge.d.ts.map +0 -1
  144. package/dist/cli/knowledge.js.map +0 -1
  145. package/dist/cli/tuned.d.ts +0 -8
  146. package/dist/cli/tuned.d.ts.map +0 -1
  147. package/dist/cli/tuned.js +0 -66
  148. package/dist/cli/tuned.js.map +0 -1
  149. package/dist/cli/ui/console/assets/index--8qx-Pi4.js +0 -106
  150. package/dist/runtime/grounding.d.ts +0 -15
  151. package/dist/runtime/grounding.d.ts.map +0 -1
  152. package/dist/runtime/grounding.js +0 -72
  153. package/dist/runtime/grounding.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /** How `pinecall agent` says the three corners on one page, and the door it reads them from. */
2
- import { dayAndTime } from "./knowledge.js";
2
+ import { dayAndTime } from "./docs.js";
3
3
  import { asked } from "./testing/gateway.js";
4
4
  /** The settings door of one agent, spelled once for every verb that knocks at it. */
5
5
  export function settingsPath(agent) {
@@ -10,7 +10,7 @@ export async function readSettings(door, agent) {
10
10
  return await asked(door, settingsPath(agent));
11
11
  }
12
12
  /** The fields on the page, in the order a person reads them, under the names a person types. */
13
- export const FIELDS = ["voice", "tts", "tts-model", "stt", "llm", "greeting", "hangup", "turn", "memory", "knowledge"];
13
+ export const FIELDS = ["voice", "tts", "tts-model", "stt", "llm", "greeting", "hangup", "turn", "memory", "knowledge", "bases"];
14
14
  /** The name a person types, as the wire spells it. */
15
15
  export const WIRE = {
16
16
  voice: "voice",
@@ -23,6 +23,7 @@ export const WIRE = {
23
23
  turn: "turn",
24
24
  memory: "memory",
25
25
  knowledge: "knowledge",
26
+ bases: "bases",
26
27
  };
27
28
  // A cell is one line, however the field is shaped: the words of an opening in quotes, a turn's
28
29
  // two numbers, a memory policy as two counts, the bases by name. Long words are cut, because a
@@ -62,7 +63,11 @@ export function shown(config, field) {
62
63
  return `remember ${memory.remember?.length ?? 0} · forget ${memory.forget?.length ?? 0}`;
63
64
  }
64
65
  if (field === "knowledge") {
65
- const bases = config.knowledge ?? undefined;
66
+ const text = config.knowledge ?? undefined;
67
+ return text === undefined ? undefined : `${text.length.toLocaleString("en-US")} chars`;
68
+ }
69
+ if (field === "bases") {
70
+ const bases = config.bases ?? undefined;
66
71
  if (bases === undefined || bases.length === 0)
67
72
  return undefined;
68
73
  return bases.map((one) => `${one.base}${one.k === undefined || one.k === null ? "" : ` (k ${one.k})`}`).join(" · ");
@@ -1 +1 @@
1
- {"version":3,"file":"agent-lines.js","sourceRoot":"","sources":["../../src/cli/agent-lines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-lines.js","sourceRoot":"","sources":["../../src/cli/agent-lines.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** `pinecall agent list` and `agent stop`: which processes hold the org's agents, where they run, and stopping one. */
2
+ import type { AppProcess } from "@pinecall/protocol";
3
+ import { type Door } from "./testing/gateway.js";
4
+ /** Every app connected in the key's world: one line each, the agents it holds and where it runs. */
5
+ export declare function listed(door: Door, out: NodeJS.WritableStream): Promise<number>;
6
+ /**
7
+ * One app stopped: its socket is closed with the stop code, and a pinecall that hears it exits
8
+ * instead of dialling back. A supervisor that restarts whatever exits starts it again.
9
+ */
10
+ export declare function stopped(door: Door, app: string | undefined, out: NodeJS.WritableStream, err: NodeJS.WritableStream): Promise<number>;
11
+ /** The line: which app, its agents, whose corner, the machine and address, the SDK, since when. */
12
+ export declare function lineOf(app: AppProcess): string;
13
+ //# sourceMappingURL=agent-processes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-processes.d.ts","sourceRoot":"","sources":["../../src/cli/agent-processes.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAEvH,OAAO,KAAK,EAAW,UAAU,EAAc,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAExD,oGAAoG;AACpG,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQpF;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1I;AAED,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAK9C"}
@@ -0,0 +1,34 @@
1
+ /** `pinecall agent list` and `agent stop`: which processes hold the org's agents, where they run, and stopping one. */
2
+ import { asked } from "./testing/gateway.js";
3
+ /** Every app connected in the key's world: one line each, the agents it holds and where it runs. */
4
+ export async function listed(door, out) {
5
+ const { apps } = await asked(door, "/v1/apps");
6
+ if (apps.length === 0) {
7
+ out.write("no app is connected here: `pinecall start` holds a project's agents\n");
8
+ return 0;
9
+ }
10
+ for (const app of apps)
11
+ out.write(`${lineOf(app)}\n`);
12
+ return 0;
13
+ }
14
+ /**
15
+ * One app stopped: its socket is closed with the stop code, and a pinecall that hears it exits
16
+ * instead of dialling back. A supervisor that restarts whatever exits starts it again.
17
+ */
18
+ export async function stopped(door, app, out, err) {
19
+ if (app === undefined || app === "") {
20
+ err.write("usage: pinecall agent stop <app> — the app is the first column of `pinecall agent list`\n");
21
+ return 2;
22
+ }
23
+ const answer = await asked(door, `/v1/apps/${encodeURIComponent(app)}/stop`, { method: "POST" });
24
+ out.write(`stopped ${answer.app}: its agents are free — a supervisor that restarts it (systemd, pm2) starts it again\n`);
25
+ return 0;
26
+ }
27
+ /** The line: which app, its agents, whose corner, the machine and address, the SDK, since when. */
28
+ export function lineOf(app) {
29
+ const whose = app.holder === null ? "the org's" : (app.holder.name ?? app.holder.holder ?? "");
30
+ const where = `${app.host ?? "an unnamed host"}${app.address === null ? "" : ` (${app.address})`}`;
31
+ const since = new Date(app.connected_at * 1000).toISOString().slice(0, 16).replace("T", " ");
32
+ return `${app.app} ${app.agents.join(", ") || "no agent yet"} ${whose} · ${where} · ${app.sdk ?? "an unknown sdk"} · since ${since}`;
33
+ }
34
+ //# sourceMappingURL=agent-processes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-processes.js","sourceRoot":"","sources":["../../src/cli/agent-processes.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAIvH,OAAO,EAAE,KAAK,EAAa,MAAM,sBAAsB,CAAC;AAExD,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAU,EAAE,GAA0B;IACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAU,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACnF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAU,EAAE,GAAuB,EAAE,GAA0B,EAAE,GAA0B;IACvH,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;QACvG,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAa,IAAI,EAAE,YAAY,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7G,GAAG,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,GAAG,wFAAwF,CAAC,CAAC;IACzH,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,iBAAiB,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7F,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,KAAK,KAAK,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,gBAAgB,YAAY,KAAK,EAAE,CAAC;AACzI,CAAC"}
@@ -1,6 +1,7 @@
1
- /** `pinecall agent`: what the org set over the class — yours, the team's, production's — and setting it. */
1
+ /** `pinecall agent`: what the org set over the class — yours, the team's, production's — setting it, and the processes that hold it. */
2
2
  import { parseArgs } from "node:util";
3
3
  import type { TuningBody } from "@pinecall/protocol";
4
+ import type { Editor } from "./agent-knowledge.js";
4
5
  import type { Group } from "./groups.js";
5
6
  export declare const group: Group;
6
7
  /** What the verb can be told besides the argv: where to print, and which environment. Tests only. */
@@ -8,6 +9,8 @@ export interface Setting {
8
9
  out?: NodeJS.WritableStream;
9
10
  err?: NodeJS.WritableStream;
10
11
  env?: NodeJS.ProcessEnv;
12
+ /** What `knowledge edit` opens the text in: $EDITOR, or what a test answers instead. */
13
+ editor?: Editor;
11
14
  }
12
15
  /** Every flag the sub-verbs take, declared once: parseArgs is strict, and one table is one seam. */
13
16
  export declare const OPTIONS: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAE5G,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,EAA2B,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAM9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgBzC,eAAO,MAAM,KAAK,EAAE,KA2BnB,CAAC;AAEF,qGAAqG;AACrG,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,oGAAoG;AACpG,eAAO,MAAM,OAAO;aAClB,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,IAAI;iBAAI,IAAI,EAAE,SAAS;iBAAE,OAAO;;aAChC,IAAI;iBAAI,IAAI,EAAE,SAAS;iBAAE,OAAO;;aAChC,IAAI;iBAAI,IAAI,EAAE,QAAQ;;aACtB,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,WAAW;iBAAI,IAAI,EAAE,QAAQ;;aAC7B,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,QAAQ;iBAAI,IAAI,EAAE,QAAQ;;aAC1B,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,MAAM;iBAAI,IAAI,EAAE,QAAQ;;aACxB,gBAAgB;iBAAI,IAAI,EAAE,QAAQ;;aAClC,wBAAwB;iBAAI,IAAI,EAAE,QAAQ;;aAC1C,QAAQ;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;aACpC,MAAM;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;aAClC,OAAO;iBAAI,IAAI,EAAE,QAAQ;;CACjB,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC;IAAE,OAAO,EAAE,OAAO,OAAO,CAAC;IAAC,gBAAgB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC5E;AA2CD,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAuB9E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAExI,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiBzC,eAAO,MAAM,KAAK,EAAE,KAmCnB,CAAC;AAEF,qGAAqG;AACrG,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oGAAoG;AACpG,eAAO,MAAM,OAAO;aAClB,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,IAAI;iBAAI,IAAI,EAAE,SAAS;iBAAE,OAAO;;aAChC,IAAI;iBAAI,IAAI,EAAE,SAAS;iBAAE,OAAO;;aAChC,IAAI;iBAAI,IAAI,EAAE,QAAQ;;aACtB,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,WAAW;iBAAI,IAAI,EAAE,QAAQ;;aAC7B,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,GAAG;iBAAI,IAAI,EAAE,QAAQ;;aACrB,QAAQ;iBAAI,IAAI,EAAE,QAAQ;;aAC1B,KAAK;iBAAI,IAAI,EAAE,QAAQ;;aACvB,MAAM;iBAAI,IAAI,EAAE,QAAQ;;aACxB,gBAAgB;iBAAI,IAAI,EAAE,QAAQ;;aAClC,wBAAwB;iBAAI,IAAI,EAAE,QAAQ;;aAC1C,QAAQ;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;aACpC,MAAM;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;aAClC,OAAO;iBAAI,IAAI,EAAE,QAAQ;;CACjB,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC;IAAE,OAAO,EAAE,OAAO,OAAO,CAAC;IAAC,gBAAgB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAoC5E;AA8BD,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAuB9E"}
package/dist/cli/agent.js CHANGED
@@ -1,7 +1,9 @@
1
- /** `pinecall agent`: what the org set over the class — yours, the team's, production's — and setting it. */
1
+ /** `pinecall agent`: what the org set over the class — yours, the team's, production's — setting it, and the processes that hold it. */
2
2
  import { parseArgs } from "node:util";
3
3
  import { FIELDS, linesOf, readSettings, settingsPath, WIRE } from "./agent-lines.js";
4
4
  import { filesRun } from "./agent-files.js";
5
+ import { knowledgeRun } from "./agent-knowledge.js";
6
+ import { listed, stopped } from "./agent-processes.js";
5
7
  import { versionsRun } from "./agent-versions.js";
6
8
  import { theDoor } from "./env.js";
7
9
  import { agentOfThisDirectory, notASlug } from "./load.js";
@@ -9,16 +11,17 @@ import { asked } from "./testing/gateway.js";
9
11
  import { refusal } from "./whoami.js";
10
12
  const USAGE = [
11
13
  "usage: pinecall agent [--agent <slug>] [--json]",
12
- " pinecall agent list",
14
+ " pinecall agent list · stop <app>",
13
15
  " pinecall agent set [--voice x] [--tts x] [--tts-model x] [--stt x] [--llm x] [--greeting '…' | --reply '…']",
14
16
  " [--hangup '…'] [--endpointing-ms n] [--min-interruption-words n]",
15
17
  " [--remember '…' …] [--forget '…' …] [--team] [--note '…']",
16
- " pinecall agent clear [voice|tts|tts-model|stt|llm|greeting|hangup|turn|memory|knowledge …] [--team]",
18
+ " pinecall agent knowledge [--team] · knowledge edit [--team] [--note '…']",
19
+ " pinecall agent clear [voice|tts|tts-model|stt|llm|greeting|hangup|turn|memory|knowledge|bases …] [--team]",
17
20
  " pinecall agent history [--team] · diff [--against team|production] · rollback <version> [--team]",
18
21
  " pinecall agent pull [--team] · push <file> [--team]",
19
22
  ].join("\n");
20
23
  export const group = {
21
- purpose: "what the org set over the class — yours, the team's, production's — and setting it",
24
+ purpose: "what the org set over the class — yours, the team's, production's — setting it, and the processes that hold it",
22
25
  usage: `${USAGE}
23
26
 
24
27
  With nothing after it: the agent's settings as your key sees them, three corners side by side —
@@ -34,15 +37,23 @@ export const group = {
34
37
  the call opens; --reply what the model reads before it finds its own. --remember and --forget
35
38
  replace those lists whole. A field nobody names is left as it stands.
36
39
 
37
- clear takes fields out of the corner's own row, so what the class declared — or the runtime's
38
- default — stands for them again; with no name, every field. There is no blank value.
40
+ knowledge is what the agent knows by heart — the business as the org describes it, in Markdown,
41
+ read whole on every call. Alone it prints the corner's text; \`edit\` opens it in $EDITOR and
42
+ saves what you wrote as the next version (an empty file takes it out). It is not the RAG: the
43
+ documents a turn searches are \`pinecall docs\`, attached as \`bases\`.
44
+
45
+ clear takes fields out of the corner's own row, so the runtime's default stands for them again;
46
+ with no name, every field. There is no blank value.
39
47
 
40
48
  history, diff and rollback are the versions: every one kept, who set it and why; this corner
41
49
  against the team's or production's; one version back as the next one — with --prod, production's.
42
50
  pull prints the corner's config as JSON; push sends a file as the next version, --team to the
43
51
  team's corner.
44
52
 
45
- list prints the agents this org is holding in your key's world.`,
53
+ list prints every process holding this org's agents in the world asked — one line an app: its id,
54
+ the agents it holds, whose corner, the machine and the address it connected from, the SDK, and
55
+ since when. stop <app> closes that app's socket; a pinecall that hears it exits instead of
56
+ dialling back, so its agents are free — though a supervisor (systemd, pm2) starts it again.`,
46
57
  run,
47
58
  };
48
59
  /** Every flag the sub-verbs take, declared once: parseArgs is strict, and one table is one seam. */
@@ -75,7 +86,9 @@ export async function run(argv, how = {}) {
75
86
  const [verb, ...rest] = positionals;
76
87
  try {
77
88
  if (verb === "list")
78
- return await list(door, out);
89
+ return await listed(door, out);
90
+ if (verb === "stop")
91
+ return await stopped(door, rest[0], out, err);
79
92
  const aFile = notASlug(values.agent);
80
93
  if (aFile !== undefined) {
81
94
  err.write(`${aFile}\n`);
@@ -97,6 +110,8 @@ export async function run(argv, how = {}) {
97
110
  }
98
111
  if (verb === "pull" || verb === "push")
99
112
  return await filesRun(door, agent, verb, rest, values, out, err);
113
+ if (verb === "knowledge")
114
+ return await knowledgeRun(door, agent, rest[0], values, out, err, how.editor);
100
115
  }
101
116
  catch (refused) {
102
117
  // The gateway's own sentence: it knows this build's vendors, the corner's version, and which
@@ -108,18 +123,6 @@ export async function run(argv, how = {}) {
108
123
  return 2;
109
124
  }
110
125
  // ── the verbs ───────────────────────────────────────────────────────────────────
111
- async function list(door, out) {
112
- const held = await asked(door, "/v1/agents");
113
- if (held.agents.length === 0) {
114
- out.write("no agent is held here: `pinecall start` holds one\n");
115
- return 0;
116
- }
117
- for (const one of held.agents) {
118
- const whose = one.holder === null || one.holder === undefined ? "the org's own" : (one.holder.name ?? one.holder.holder ?? "");
119
- out.write(`${one.slug} ${one.channels.join(", ") || "no doors"} ${whose}\n`);
120
- }
121
- return 0;
122
- }
123
126
  // The door takes the WHOLE set with the version it was read at, so what this command line did
124
127
  // not name is read back off the corner's own row and sent again: `set --llm x` must not quietly
125
128
  // take the voice out of the row. The corner written is yours, or the team's with --team.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** `pinecall docs attach | detach | attached`: which bases an agent reads, per world and corner. */
2
+ import type { DocsConfig } from "@pinecall/protocol";
3
+ import { type Door } from "./testing/gateway.js";
4
+ /** How the base is attached: how a turn reads it, how many chunks, and under what score. */
5
+ export interface Attaching {
6
+ k?: number;
7
+ mode?: DocsConfig["mode"];
8
+ minScore?: number;
9
+ }
10
+ export declare const NOT_ATTACHED: (agent: string, base: string) => string;
11
+ /** The base attached to the agent in this corner, as the next version; a base already there is replaced. */
12
+ export declare function attach(door: Door, agent: string, base: string, how: Attaching, team: boolean, out: NodeJS.WritableStream): Promise<number>;
13
+ /** The base taken out of the agent's list in this corner, as the next version. */
14
+ export declare function detach(door: Door, agent: string, base: string, team: boolean, out: NodeJS.WritableStream, err: NodeJS.WritableStream): Promise<number>;
15
+ /** Every base any agent of the org reads in the key's world, and which agents read it. */
16
+ export declare function attached(door: Door, out: NodeJS.WritableStream): Promise<number>;
17
+ /** `k`, `mode` and `min-score` as typed, checked: a number that is not one is refused by name. */
18
+ export declare function attachingOf(values: {
19
+ k?: string;
20
+ mode?: string;
21
+ "min-score"?: string;
22
+ }): Attaching;
23
+ //# sourceMappingURL=docs-attach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-attach.d.ts","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,oBAAoB,CAAC;AAGlF,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAExD,4FAA4F;AAC5F,MAAM,WAAW,SAAS;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,KAAG,MAA+C,CAAC;AAK3G,4GAA4G;AAC5G,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAchJ;AAED,kFAAkF;AAClF,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB5J;AAED,0FAA0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtF;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAiBlG"}
@@ -0,0 +1,87 @@
1
+ /** `pinecall docs attach | detach | attached`: which bases an agent reads, per world and corner. */
2
+ import { readSettings, settingsPath } from "./agent-lines.js";
3
+ import { asked } from "./testing/gateway.js";
4
+ /** What `attach` and `detach` print: the agent, the base, and the corner's new version. */
5
+ const ATTACHED = (agent, base, answer, team) => `${agent} · ${base} attached · ${cornerLine(answer, team)}`;
6
+ const DETACHED = (agent, base, answer, team) => `${agent} · ${base} detached · ${cornerLine(answer, team)}`;
7
+ export const NOT_ATTACHED = (agent, base) => `${base} is not attached to ${agent}`;
8
+ // Attaching is a settings write: the bases an agent reads are one field of its settings
9
+ // (`bases`), so this is `pinecall agent set` for that one field — the corner's whole row read
10
+ // back and sent again with the version it was read at, the base added or taken out of the list.
11
+ /** The base attached to the agent in this corner, as the next version; a base already there is replaced. */
12
+ export async function attach(door, agent, base, how, team, out) {
13
+ const standing = await readSettings(door, agent);
14
+ const row = team ? standing.team : standing.yours;
15
+ const kept = (row?.config.bases ?? []).filter((one) => one.base !== base);
16
+ const docs = { base };
17
+ if (how.k !== undefined)
18
+ docs.k = how.k;
19
+ if (how.mode !== undefined)
20
+ docs.mode = how.mode;
21
+ if (how.minScore !== undefined)
22
+ docs.min_score = how.minScore;
23
+ const answer = await asked(door, settingsPath(agent), {
24
+ method: "PUT",
25
+ body: { config: { ...(row?.config ?? {}), bases: [...kept, docs] }, if_version: row?.version ?? null, note: `attached ${base}`, team },
26
+ });
27
+ out.write(`${ATTACHED(agent, base, answer, team)}\n`);
28
+ return 0;
29
+ }
30
+ /** The base taken out of the agent's list in this corner, as the next version. */
31
+ export async function detach(door, agent, base, team, out, err) {
32
+ const standing = await readSettings(door, agent);
33
+ const row = team ? standing.team : standing.yours;
34
+ const bases = row?.config.bases ?? [];
35
+ if (!bases.some((one) => one.base === base)) {
36
+ err.write(`${NOT_ATTACHED(agent, base)}\n`);
37
+ return 1;
38
+ }
39
+ const { bases: _was, ...rest } = row.config;
40
+ const left = bases.filter((one) => one.base !== base);
41
+ const config = left.length === 0 ? rest : { ...rest, bases: left };
42
+ const answer = await asked(door, settingsPath(agent), {
43
+ method: "PUT",
44
+ body: { config, if_version: row.version, note: `detached ${base}`, team },
45
+ });
46
+ out.write(`${DETACHED(agent, base, answer, team)}\n`);
47
+ return 0;
48
+ }
49
+ /** Every base any agent of the org reads in the key's world, and which agents read it. */
50
+ export async function attached(door, out) {
51
+ const uses = await asked(door, "/v1/knowledge/attached");
52
+ if (uses.bases.length === 0) {
53
+ out.write("no agent reads a base here: `pinecall docs attach <base>` gives one its base\n");
54
+ return 0;
55
+ }
56
+ for (const one of uses.bases)
57
+ out.write(`${one.base} · read by ${one.agents.join(", ")}\n`);
58
+ return 0;
59
+ }
60
+ /** `k`, `mode` and `min-score` as typed, checked: a number that is not one is refused by name. */
61
+ export function attachingOf(values) {
62
+ const how = {};
63
+ if (values.k !== undefined) {
64
+ const k = Number(values.k);
65
+ if (!Number.isInteger(k) || k < 1)
66
+ throw new Error(`--k takes a whole number of chunks, not ${values.k}`);
67
+ how.k = k;
68
+ }
69
+ if (values.mode !== undefined) {
70
+ if (values.mode !== "retrieved" && values.mode !== "tool")
71
+ throw new Error(`--mode is retrieved or tool, not ${values.mode}`);
72
+ how.mode = values.mode;
73
+ }
74
+ if (values["min-score"] !== undefined) {
75
+ const score = Number(values["min-score"]);
76
+ if (!Number.isFinite(score) || score < 0)
77
+ throw new Error(`--min-score takes a score of zero or more, not ${values["min-score"]}`);
78
+ how.minScore = score;
79
+ }
80
+ return how;
81
+ }
82
+ function cornerLine(answer, team) {
83
+ const row = team ? answer.team : answer.yours;
84
+ const corner = team ? "the team's" : "your corner";
85
+ return row === null ? corner : `${corner} v${row.version}`;
86
+ }
87
+ //# sourceMappingURL=docs-attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-attach.js","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** `pinecall knowledge push | list | drop | eval`: the base the agent answers from, and what a golden says of it. */
1
+ /** `pinecall docs push | list | drop | eval | attach | detach | attached`: the bases the agent searches, and which agent reads which. */
2
2
  import type { KnowledgeFile, KnowledgePushed, KnowledgeScore } from "@pinecall/protocol";
3
3
  import type { Group } from "./groups.js";
4
4
  import { type Door } from "./testing/gateway.js";
@@ -7,8 +7,6 @@ export declare const NO_DIRECTORY: (directory: string) => string;
7
7
  export declare const NO_MARKDOWN: (directory: string) => string;
8
8
  export declare const NO_GOLDEN: (golden: string) => string;
9
9
  export declare const AN_EMPTY_GOLDEN: (golden: string) => string;
10
- export declare const DEFAULT_GOLDEN = "knowledge/golden.json";
11
- export declare const DEFAULT_DIR = "knowledge/docs";
12
10
  export declare const group: Group;
13
11
  /** What the verb can be told besides the argv: where to print, and which environment. Tests only. */
14
12
  export interface Pushing {
@@ -32,4 +30,4 @@ export declare function pushedLine(pushed: KnowledgePushed, files: number): stri
32
30
  export declare function markdownUnder(directory: string): KnowledgeFile[];
33
31
  /** Unix seconds as a person reads them: the day and the minute, in UTC, no fractions. */
34
32
  export declare function dayAndTime(seconds: number): string;
35
- //# sourceMappingURL=knowledge.d.ts.map
33
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAAA,yIAAyI;AAMzI,OAAO,KAAK,EAAE,aAAa,EAAiB,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIxG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAYxD,yFAAyF;AACzF,eAAO,MAAM,YAAY,cAAe,MAAM,KAAG,MAAkD,CAAC;AACpG,eAAO,MAAM,WAAW,cAAe,MAAM,KAAG,MAAuD,CAAC;AACxG,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,MAAkE,CAAC;AAC9G,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,MAC2B,CAAC;AAE7E,eAAO,MAAM,KAAK,EAAE,KAuBnB,CAAC;AAEF,qGAAqG;AACrG,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,iGAAiG;AACjG,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAwE5E;AA2ED,mGAAmG;AACnG,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAKzG;AAED,+FAA+F;AAC/F,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,OAAO,EAAE,EACpB,CAAC,EAAE,MAAM,GAAG,SAAS,GACpB,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAG/D;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CAW1D;AAED,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,+IAA+I;AAC/I,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAQhE;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD"}