@aexol/spectral 0.9.181 → 0.9.183

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 (78) hide show
  1. package/README.md +4 -5
  2. package/dist/extensions/spectral-vision-fallback.js +1 -1
  3. package/dist/generated/zeus/const.d.ts.map +1 -1
  4. package/dist/generated/zeus/const.js +2 -0
  5. package/dist/generated/zeus/index.d.ts +8 -0
  6. package/dist/generated/zeus/index.d.ts.map +1 -1
  7. package/dist/memory/hooks/observer-trigger.d.ts.map +1 -1
  8. package/dist/memory/hooks/observer-trigger.js +11 -6
  9. package/dist/memory/observer.d.ts.map +1 -1
  10. package/dist/memory/observer.js +3 -1
  11. package/dist/relay/client.d.ts +40 -4
  12. package/dist/relay/client.d.ts.map +1 -1
  13. package/dist/relay/client.js +351 -180
  14. package/dist/relay/models-fetch.d.ts +3 -3
  15. package/dist/relay/models-fetch.js +3 -3
  16. package/dist/sdk/ai/cache-benchmark/benchmark.d.ts +6 -0
  17. package/dist/sdk/ai/cache-benchmark/benchmark.d.ts.map +1 -0
  18. package/dist/sdk/ai/cache-benchmark/benchmark.js +123 -0
  19. package/dist/sdk/ai/cache-benchmark/index.d.ts +7 -0
  20. package/dist/sdk/ai/cache-benchmark/index.d.ts.map +1 -0
  21. package/dist/sdk/ai/cache-benchmark/index.js +6 -0
  22. package/dist/sdk/ai/cache-benchmark/prefix-cache.d.ts +18 -0
  23. package/dist/sdk/ai/cache-benchmark/prefix-cache.d.ts.map +1 -0
  24. package/dist/sdk/ai/cache-benchmark/prefix-cache.js +60 -0
  25. package/dist/sdk/ai/cache-benchmark/strategies.d.ts +18 -0
  26. package/dist/sdk/ai/cache-benchmark/strategies.d.ts.map +1 -0
  27. package/dist/sdk/ai/cache-benchmark/strategies.js +131 -0
  28. package/dist/sdk/ai/cache-benchmark/synthetic.d.ts +6 -0
  29. package/dist/sdk/ai/cache-benchmark/synthetic.d.ts.map +1 -0
  30. package/dist/sdk/ai/cache-benchmark/synthetic.js +17 -0
  31. package/dist/sdk/ai/cache-benchmark/tokens.d.ts +8 -0
  32. package/dist/sdk/ai/cache-benchmark/tokens.d.ts.map +1 -0
  33. package/dist/sdk/ai/cache-benchmark/tokens.js +22 -0
  34. package/dist/sdk/ai/cache-benchmark/types.d.ts +137 -0
  35. package/dist/sdk/ai/cache-benchmark/types.d.ts.map +1 -0
  36. package/dist/sdk/ai/cache-benchmark/types.js +14 -0
  37. package/dist/sdk/ai/env-api-keys.js +0 -17
  38. package/dist/sdk/ai/models.d.ts.map +1 -1
  39. package/dist/sdk/ai/models.js +10 -0
  40. package/dist/sdk/ai/providers/openai-completions.d.ts +1 -3
  41. package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
  42. package/dist/sdk/ai/providers/openai-completions.js +4 -100
  43. package/dist/sdk/ai/providers/transform-messages.d.ts.map +1 -1
  44. package/dist/sdk/ai/providers/transform-messages.js +35 -0
  45. package/dist/sdk/ai/types.d.ts +2 -4
  46. package/dist/sdk/ai/types.d.ts.map +1 -1
  47. package/dist/sdk/ai/utils/oauth/index.d.ts +1 -2
  48. package/dist/sdk/ai/utils/oauth/index.d.ts.map +1 -1
  49. package/dist/sdk/ai/utils/oauth/index.js +1 -3
  50. package/dist/sdk/coding-agent/core/agent-session.d.ts +2 -0
  51. package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -1
  52. package/dist/sdk/coding-agent/core/agent-session.js +3 -4
  53. package/dist/sdk/coding-agent/core/compaction/llm-compaction.d.ts.map +1 -1
  54. package/dist/sdk/coding-agent/core/compaction/llm-compaction.js +2 -1
  55. package/dist/sdk/coding-agent/core/model-registry.d.ts.map +1 -1
  56. package/dist/sdk/coding-agent/core/model-registry.js +0 -1
  57. package/dist/sdk/coding-agent/core/model-resolver.d.ts.map +1 -1
  58. package/dist/sdk/coding-agent/core/model-resolver.js +0 -1
  59. package/dist/sdk/coding-agent/core/provider-display-names.d.ts.map +1 -1
  60. package/dist/sdk/coding-agent/core/provider-display-names.js +0 -2
  61. package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -1
  62. package/dist/sdk/coding-agent/core/system-prompt.js +52 -48
  63. package/dist/sdk/coding-agent/utils/shell.d.ts.map +1 -1
  64. package/dist/sdk/coding-agent/utils/shell.js +10 -0
  65. package/dist/server/agent-bridge.d.ts +6 -6
  66. package/dist/server/agent-bridge.d.ts.map +1 -1
  67. package/dist/server/agent-bridge.js +27 -106
  68. package/dist/server/handlers/sessions.d.ts +1 -0
  69. package/dist/server/handlers/sessions.d.ts.map +1 -1
  70. package/dist/server/handlers/sessions.js +6 -1
  71. package/dist/server/session-stream.d.ts.map +1 -1
  72. package/dist/server/session-stream.js +4 -0
  73. package/dist/server/storage.d.ts +14 -5
  74. package/dist/server/storage.d.ts.map +1 -1
  75. package/dist/server/storage.js +37 -10
  76. package/dist/server/wire.d.ts +1 -0
  77. package/dist/server/wire.d.ts.map +1 -1
  78. package/package.json +2 -3
package/README.md CHANGED
@@ -109,7 +109,7 @@ spectral (CLI / TUI mode) spectral serve (relay mode)
109
109
  ───────────────────────── ─────────────────────────────
110
110
  pi reads ~/.pi/agent/auth.json → pi runs in-process via PiBridge
111
111
  ↓ ↓
112
- local Anthropic / OpenAI keys ALL inference → backend `/v1` proxy
112
+ local Codex subscription auth ALL inference → backend `/v1` proxy
113
113
  ↓ ↓
114
114
  direct call to provider backend uses centralized API keys
115
115
 
@@ -117,9 +117,8 @@ direct call to provider backend uses centralized API keys
117
117
  ```
118
118
 
119
119
  - **`spectral` (CLI subprocess mode)** — pi runs as a normal subprocess and uses
120
- whatever provider keys you've stored locally in `~/.pi/agent/auth.json`
121
- (Anthropic, OpenAI, Cerebras, Google, custom OpenAI-compatible endpoints).
122
- Spectral never reads or transmits these. This is the classic local-only flow.
120
+ the Codex subscription auth stored locally in `~/.pi/agent/auth.json`.
121
+ Spectral never reads or transmits it. This is the classic local-only flow.
123
122
  - **`spectral serve` (relay mode)** — pi runs in-process inside the serve
124
123
  daemon. All inference traffic is proxied through the Aexol backend's
125
124
  `/v1/messages` and `/v1/chat/completions` endpoints, authenticated with the
@@ -145,7 +144,7 @@ behaves like a vanilla pi install.
145
144
  | `SPECTRAL_BACKEND_URL` | Override the backend HTTP base for `spectral serve`. |
146
145
  | `SPECTRAL_RELAY_URL` | Override the derived relay WebSocket URL. |
147
146
 
148
- Pi's own auth state for the local TUI path (Anthropic, OpenAI, etc.) lives in
147
+ Pi's own auth state for the local TUI path (Codex subscription) lives in
149
148
  `~/.pi/agent/auth.json` on the same machine. Spectral never reads it and never
150
149
  sends it anywhere. Note that `spectral serve` does **not** use this file — it
151
150
  routes inference through the backend proxy instead (see
@@ -76,7 +76,7 @@ function getFallbackVisionModel(ctx, exclude) {
76
76
  !sameModel(m, exclude));
77
77
  if (visionModels.length === 0)
78
78
  return undefined;
79
- const providerPriority = ["anthropic", "openai", "google", "openrouter"];
79
+ const providerPriority = ["openai", "google", "openrouter"];
80
80
  for (const provider of providerPriority) {
81
81
  const match = visionModels.find((m) => m.provider === provider);
82
82
  if (match)
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CA+xB5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAimC1C,CAAA;AAED,eAAO,MAAM,GAAG;;;;CAIf,CAAA"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAkyB5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAkmC1C,CAAA;AAED,eAAO,MAAM,GAAG;;;;CAIf,CAAA"}
@@ -248,6 +248,7 @@ export const AllTypesProps = {
248
248
  },
249
249
  removeTeamMember: {},
250
250
  setDefaultTeam: {},
251
+ leaveTeam: {},
251
252
  inviteTeamMember: {
252
253
  role: "TeamRole"
253
254
  },
@@ -1139,6 +1140,7 @@ export const ReturnTypes = {
1139
1140
  updateTeamMemberRole: "TeamMember",
1140
1141
  removeTeamMember: "Boolean",
1141
1142
  setDefaultTeam: "User",
1143
+ leaveTeam: "Boolean",
1142
1144
  inviteTeamMember: "TeamInvite",
1143
1145
  e2eCreateTeamInvite: "E2ETeamInviteResult",
1144
1146
  revokeTeamInvite: "TeamInvite",
@@ -1583,6 +1583,9 @@ export type ValueTypes = {
1583
1583
  setDefaultTeam?: [{
1584
1584
  teamId: ValueTypes["ID"] | Variable<any, string>;
1585
1585
  }, ValueTypes["User"]];
1586
+ leaveTeam?: [{
1587
+ teamId: ValueTypes["ID"] | Variable<any, string>;
1588
+ }, boolean | `@${string}`];
1586
1589
  inviteTeamMember?: [{
1587
1590
  teamId: ValueTypes["ID"] | Variable<any, string>;
1588
1591
  email: string | Variable<any, string>;
@@ -3869,6 +3872,9 @@ export type ResolverInputTypes = {
3869
3872
  setDefaultTeam?: [{
3870
3873
  teamId: ResolverInputTypes["ID"];
3871
3874
  }, ResolverInputTypes["User"]];
3875
+ leaveTeam?: [{
3876
+ teamId: ResolverInputTypes["ID"];
3877
+ }, boolean | `@${string}`];
3872
3878
  inviteTeamMember?: [{
3873
3879
  teamId: ResolverInputTypes["ID"];
3874
3880
  email: string;
@@ -5839,6 +5845,7 @@ export type ModelTypes = {
5839
5845
  updateTeamMemberRole: ModelTypes["TeamMember"];
5840
5846
  removeTeamMember: boolean;
5841
5847
  setDefaultTeam: ModelTypes["User"];
5848
+ leaveTeam: boolean;
5842
5849
  inviteTeamMember: ModelTypes["TeamInvite"];
5843
5850
  e2eCreateTeamInvite: ModelTypes["E2ETeamInviteResult"];
5844
5851
  revokeTeamInvite: ModelTypes["TeamInvite"];
@@ -7602,6 +7609,7 @@ export type GraphQLTypes = {
7602
7609
  updateTeamMemberRole: GraphQLTypes["TeamMember"];
7603
7610
  removeTeamMember: boolean;
7604
7611
  setDefaultTeam: GraphQLTypes["User"];
7612
+ leaveTeam: boolean;
7605
7613
  inviteTeamMember: GraphQLTypes["TeamInvite"];
7606
7614
  e2eCreateTeamInvite: GraphQLTypes["E2ETeamInviteResult"];
7607
7615
  revokeTeamInvite: GraphQLTypes["TeamInvite"];