@poncho-ai/harness 0.30.0 → 0.31.1

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @poncho-ai/harness@0.30.0 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
2
+ > @poncho-ai/harness@0.31.1 build /Users/cesar/Dev/latitude/poncho-ai/packages/harness
3
3
  > node scripts/embed-docs.js && tsup src/index.ts --format esm --dts
4
4
 
5
5
  [embed-docs] Generated poncho-docs.ts with 4 topics
@@ -8,8 +8,8 @@
8
8
  CLI tsup v8.5.1
9
9
  CLI Target: es2022
10
10
  ESM Build start
11
- ESM dist/index.js 300.00 KB
12
- ESM ⚡️ Build success in 135ms
11
+ ESM dist/index.js 315.41 KB
12
+ ESM ⚡️ Build success in 33ms
13
13
  DTS Build start
14
- DTS ⚡️ Build success in 7526ms
15
- DTS dist/index.d.ts 30.64 KB
14
+ DTS ⚡️ Build success in 2913ms
15
+ DTS dist/index.d.ts 32.56 KB
@@ -0,0 +1,6 @@
1
+
2
+ > @poncho-ai/harness@0.11.2 lint /Users/cesar/Dev/latitude/poncho-ai/packages/harness
3
+ > eslint src/
4
+
5
+ sh: eslint: command not found
6
+  ELIFECYCLE  Command failed.
@@ -0,0 +1,34 @@
1
+
2
+ > @poncho-ai/harness@0.26.0 test /Users/cesar/Dev/latitude/poncho-ai/packages/harness
3
+ > vitest
4
+
5
+
6
+  RUN  v1.6.1 /Users/cesar/Dev/latitude/poncho-ai/packages/harness
7
+
8
+ stdout | test/mcp.test.ts > mcp bridge protocol transports > discovers and calls tools over streamable HTTP
9
+ [poncho][mcp] {"event":"catalog.loaded","server":"remote","discoveredCount":1}
10
+ [poncho][mcp] {"event":"tools.selected","requestedPatternCount":1,"registeredCount":1,"filteredByPolicyCount":0,"filteredByIntentCount":0}
11
+
12
+ stdout | test/mcp.test.ts > mcp bridge protocol transports > sends custom headers alongside bearer token
13
+ [poncho][mcp] {"event":"catalog.loaded","server":"custom-headers","discoveredCount":1}
14
+
15
+ stderr | test/mcp.test.ts > mcp bridge protocol transports > skips discovery when bearer token env value is missing
16
+ stdout | test/mcp.test.ts > mcp bridge protocol transports > selects discovered tools by requested patterns
17
+ [poncho][mcp] {"event":"auth.token_missing","server":"remote","tokenEnv":"MISSING_TOKEN_ENV"}
18
+ [poncho][mcp] {"event":"catalog.loaded","server":"remote","discoveredCount":2}
19
+ [poncho][mcp] {"event":"tools.selected","requestedPatternCount":1,"registeredCount":1,"filteredByPolicyCount":0,"filteredByIntentCount":1}
20
+
21
+ [poncho][mcp] {"event":"tools.selected","requestedPatternCount":1,"registeredCount":2,"filteredByPolicyCount":0,"filteredByIntentCount":0}
22
+
23
+ stdout | test/mcp.test.ts > mcp bridge protocol transports > skips discovery when bearer token env value is missing
24
+ [poncho][mcp] {"event":"tools.selected","requestedPatternCount":1,"registeredCount":0,"filteredByPolicyCount":0,"filteredByIntentCount":0}
25
+
26
+ [event] step:completed {"type":"step:completed","step":1,"duration":1}
27
+ ✓ test/telemetry.test.ts  (3 tests) 5ms
28
+ [event] step:started {"type":"step:started","step":2}
29
+ ✓ test/schema-converter.test.ts  (27 tests) 13ms
30
+ stdout | test/mcp.test.ts > mcp bridge protocol transports > returns actionable errors for 403 permission failures
31
+ [poncho][mcp] {"event":"catalog.loaded","server":"remote","discoveredCount":1}
32
+ [poncho][mcp] {"event":"tools.selected","requestedPatternCount":1,"registeredCount":1,"filteredByPolicyCount":0,"filteredByIntentCount":0}
33
+
34
+ ✓ test/mcp.test.ts  (7 tests) 84ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @poncho-ai/harness
2
2
 
3
+ ## 0.31.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix OpenAI Codex compatibility for reasoning model runs by normalizing tool schemas, enforcing required payload fields, and adding endpoint fallback behavior.
8
+
9
+ ## 0.31.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add OpenAI Codex OAuth provider support with one-time auth bootstrap and runtime token refresh.
14
+
15
+ This adds `openai-codex` model provider support, `poncho auth` login/status/logout/export commands, onboarding updates, and Codex request compatibility handling for OAuth-backed Responses API calls.
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies []:
20
+ - @poncho-ai/sdk@1.7.0
21
+
3
22
  ## 0.30.0
4
23
 
5
24
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -414,6 +414,13 @@ interface PonchoConfig extends McpConfig {
414
414
  openai?: {
415
415
  apiKeyEnv?: string;
416
416
  };
417
+ openaiCodex?: {
418
+ refreshTokenEnv?: string;
419
+ accessTokenEnv?: string;
420
+ accessTokenExpiresAtEnv?: string;
421
+ accountIdEnv?: string;
422
+ authFilePathEnv?: string;
423
+ };
417
424
  anthropic?: {
418
425
  apiKeyEnv?: string;
419
426
  };
@@ -533,6 +540,38 @@ interface TodoItem {
533
540
  updatedAt: number;
534
541
  }
535
542
 
543
+ declare const OPENAI_CODEX_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
544
+ interface OpenAICodexAuthConfig {
545
+ refreshTokenEnv?: string;
546
+ accessTokenEnv?: string;
547
+ accessTokenExpiresAtEnv?: string;
548
+ accountIdEnv?: string;
549
+ authFilePathEnv?: string;
550
+ }
551
+ interface OpenAICodexSession {
552
+ refreshToken: string;
553
+ accessToken?: string;
554
+ accessTokenExpiresAt?: number;
555
+ accountId?: string;
556
+ }
557
+ declare const getOpenAICodexAuthFilePath: (config?: OpenAICodexAuthConfig) => string;
558
+ declare const readOpenAICodexSession: (config?: OpenAICodexAuthConfig) => Promise<OpenAICodexSession | undefined>;
559
+ declare const writeOpenAICodexSession: (session: OpenAICodexSession, config?: OpenAICodexAuthConfig) => Promise<void>;
560
+ declare const deleteOpenAICodexSession: (config?: OpenAICodexAuthConfig) => Promise<void>;
561
+ declare const getOpenAICodexAccessToken: (config?: OpenAICodexAuthConfig) => Promise<{
562
+ accessToken: string;
563
+ accountId?: string;
564
+ }>;
565
+ interface OpenAICodexDeviceAuthRequest {
566
+ deviceAuthId: string;
567
+ userCode: string;
568
+ verificationUrl: string;
569
+ intervalMs: number;
570
+ }
571
+ declare const getOpenAICodexRequiredScopes: () => string[];
572
+ declare const startOpenAICodexDeviceAuth: () => Promise<OpenAICodexDeviceAuthRequest>;
573
+ declare const completeOpenAICodexDeviceAuth: (request: OpenAICodexDeviceAuthRequest) => Promise<OpenAICodexSession>;
574
+
536
575
  type ModelProviderFactory = (modelName: string) => LanguageModel;
537
576
  /**
538
577
  * Returns the context window size (in tokens) for a given model name.
@@ -544,6 +583,7 @@ interface ProviderConfig {
544
583
  openai?: {
545
584
  apiKeyEnv?: string;
546
585
  };
586
+ openaiCodex?: OpenAICodexAuthConfig;
547
587
  anthropic?: {
548
588
  apiKeyEnv?: string;
549
589
  };
@@ -846,4 +886,4 @@ declare class TelemetryEmitter {
846
886
 
847
887
  declare const createSubagentTools: (manager: SubagentManager) => ToolDefinition[];
848
888
 
849
- export { type AgentFrontmatter, AgentHarness, type AgentIdentity, type AgentLimitsConfig, type AgentModelConfig, type BuiltInToolToggles, type CompactMessagesOptions, type CompactResult, type CompactionConfig, type Conversation, type ConversationState, type ConversationStore, type ConversationSummary, type CronJobConfig, type HarnessOptions, type HarnessRunOutput, InMemoryConversationStore, InMemoryStateStore, LatitudeCapture, type LatitudeCaptureConfig, LocalMcpBridge, LocalUploadStore, type MainMemory, type McpConfig, type MemoryConfig, type MemoryStore, type MessagingChannelConfig, type ModelProviderFactory, type OtlpConfig, type OtlpOption, PONCHO_UPLOAD_SCHEME, type ParsedAgent, type PendingSubagentResult, type PonchoConfig, type ProviderConfig, type RemoteMcpServerConfig, type RuntimeRenderContext, S3UploadStore, STORAGE_SCHEMA_VERSION, type SkillContextEntry, type SkillMetadata, type StateConfig, type StateProviderName, type StateStore, type StorageConfig, type SubagentManager, type SubagentResult, type SubagentSpawnResult, type SubagentSummary, type TelemetryConfig, TelemetryEmitter, type ToolAccess, type ToolCall, ToolDispatcher, type ToolExecutionResult, type UploadStore, type UploadsConfig, VercelBlobUploadStore, buildAgentDirectoryName, buildSkillContextWindow, compactMessages, createConversationStore, createDefaultTools, createDeleteDirectoryTool, createDeleteTool, createEditTool, createMemoryStore, createMemoryTools, createModelProvider, createSearchTools, createSkillTools, createStateStore, createSubagentTools, createUploadStore, createWriteTool, deriveUploadKey, ensureAgentIdentity, estimateTokens, estimateTotalTokens, findSafeSplitPoint, generateAgentId, getAgentStoreDirectory, getModelContextWindow, getPonchoStoreRoot, jsonSchemaToZod, loadPonchoConfig, loadSkillContext, loadSkillInstructions, loadSkillMetadata, normalizeOtlp, normalizeScriptPolicyPath, parseAgentFile, parseAgentMarkdown, ponchoDocsTool, readSkillResource, renderAgentPrompt, resolveAgentIdentity, resolveCompactionConfig, resolveMemoryConfig, resolveSkillDirs, resolveStateConfig, slugifyStorageComponent };
889
+ export { type AgentFrontmatter, AgentHarness, type AgentIdentity, type AgentLimitsConfig, type AgentModelConfig, type BuiltInToolToggles, type CompactMessagesOptions, type CompactResult, type CompactionConfig, type Conversation, type ConversationState, type ConversationStore, type ConversationSummary, type CronJobConfig, type HarnessOptions, type HarnessRunOutput, InMemoryConversationStore, InMemoryStateStore, LatitudeCapture, type LatitudeCaptureConfig, LocalMcpBridge, LocalUploadStore, type MainMemory, type McpConfig, type MemoryConfig, type MemoryStore, type MessagingChannelConfig, type ModelProviderFactory, OPENAI_CODEX_CLIENT_ID, type OpenAICodexAuthConfig, type OpenAICodexDeviceAuthRequest, type OpenAICodexSession, type OtlpConfig, type OtlpOption, PONCHO_UPLOAD_SCHEME, type ParsedAgent, type PendingSubagentResult, type PonchoConfig, type ProviderConfig, type RemoteMcpServerConfig, type RuntimeRenderContext, S3UploadStore, STORAGE_SCHEMA_VERSION, type SkillContextEntry, type SkillMetadata, type StateConfig, type StateProviderName, type StateStore, type StorageConfig, type SubagentManager, type SubagentResult, type SubagentSpawnResult, type SubagentSummary, type TelemetryConfig, TelemetryEmitter, type ToolAccess, type ToolCall, ToolDispatcher, type ToolExecutionResult, type UploadStore, type UploadsConfig, VercelBlobUploadStore, buildAgentDirectoryName, buildSkillContextWindow, compactMessages, completeOpenAICodexDeviceAuth, createConversationStore, createDefaultTools, createDeleteDirectoryTool, createDeleteTool, createEditTool, createMemoryStore, createMemoryTools, createModelProvider, createSearchTools, createSkillTools, createStateStore, createSubagentTools, createUploadStore, createWriteTool, deleteOpenAICodexSession, deriveUploadKey, ensureAgentIdentity, estimateTokens, estimateTotalTokens, findSafeSplitPoint, generateAgentId, getAgentStoreDirectory, getModelContextWindow, getOpenAICodexAccessToken, getOpenAICodexAuthFilePath, getOpenAICodexRequiredScopes, getPonchoStoreRoot, jsonSchemaToZod, loadPonchoConfig, loadSkillContext, loadSkillInstructions, loadSkillMetadata, normalizeOtlp, normalizeScriptPolicyPath, parseAgentFile, parseAgentMarkdown, ponchoDocsTool, readOpenAICodexSession, readSkillResource, renderAgentPrompt, resolveAgentIdentity, resolveCompactionConfig, resolveMemoryConfig, resolveSkillDirs, resolveStateConfig, slugifyStorageComponent, startOpenAICodexDeviceAuth, writeOpenAICodexSession };