@code-yeongyu/senpi 2026.9.18-2 → 2026.9.18-4

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 (125) hide show
  1. package/CHANGELOG.md +44 -2
  2. package/dist/bundle/chunks/{anthropic-messages-ZEJ3DPCP.js → anthropic-messages-WZCFP6BT.js} +1 -1
  3. package/dist/bundle/chunks/{app-server-command-NFZDKQOY.js → app-server-command-QUUCVP35.js} +1 -1
  4. package/dist/bundle/chunks/bun-extension-importer-JIWSA22V.js +10 -0
  5. package/dist/bundle/chunks/{chunk-XJUVWITG.js → chunk-3FRTRCR6.js} +1 -1
  6. package/dist/bundle/chunks/{chunk-PJ5U4M7M.js → chunk-6IQ3TBZF.js} +9 -9
  7. package/dist/bundle/chunks/{chunk-KFIHWCMN.js → chunk-AQS2EBFQ.js} +1 -1
  8. package/dist/bundle/chunks/{chunk-VRAYXSST.js → chunk-FDLVINNY.js} +2 -2
  9. package/dist/bundle/chunks/chunk-IU5W6HXX.js +8 -0
  10. package/dist/bundle/chunks/chunk-IXAUDPOK.js +2 -0
  11. package/dist/bundle/chunks/{chunk-ANTGWIGI.js → chunk-MUC3MZTV.js} +1 -1
  12. package/dist/bundle/chunks/chunk-NQAVM5XL.js +2 -0
  13. package/dist/bundle/chunks/{chunk-4C7LNOHI.js → chunk-PLZK7ABD.js} +1 -1
  14. package/dist/bundle/chunks/{chunk-CKNRCW35.js → chunk-RLRLQRI2.js} +1 -1
  15. package/dist/bundle/chunks/{chunk-2LSXWYT5.js → chunk-SY2KKJ4R.js} +2 -2
  16. package/dist/bundle/chunks/{chunk-NBUMCMS4.js → chunk-VRDDXZF3.js} +1 -1
  17. package/dist/bundle/chunks/{chunk-QROWINIH.js → chunk-XK24AFYU.js} +1 -1
  18. package/dist/bundle/chunks/cli-main-AKYQ477G.js +3 -0
  19. package/dist/bundle/chunks/{host-command-NU5TYUOI.js → host-command-NXX3ORNL.js} +1 -1
  20. package/dist/bundle/chunks/{interactive-host-runtime-LMJRUOPI.js → interactive-host-runtime-D45DGSLG.js} +1 -1
  21. package/dist/bundle/chunks/interactive-mode-4NDHEOJQ.js +2 -0
  22. package/dist/bundle/chunks/{multi-session-host-G5EQB6ED.js → multi-session-host-KDJCLOES.js} +1 -1
  23. package/dist/bundle/chunks/{openai-completions-2RS3VSPV.js → openai-completions-TOWYKX2U.js} +1 -1
  24. package/dist/bundle/chunks/{package-manager-cli-OE6ZSJ6C.js → package-manager-cli-6DF4Q2PW.js} +1 -1
  25. package/dist/bundle/chunks/{rotation-stream-EBOPFJMX.js → rotation-stream-KDLA7K6X.js} +1 -1
  26. package/dist/bundle/chunks/rpc-mode-64CVTMPV.js +2 -0
  27. package/dist/bundle/chunks/{session-picker-BUHK3FCS.js → session-picker-DXCITGLS.js} +1 -1
  28. package/dist/bundle/chunks/session-worker.js +76 -76
  29. package/dist/bundle/cli.js +1 -1
  30. package/dist/bundle/index.js +1 -1
  31. package/dist/bundle/rpc-entry.js +1 -1
  32. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.d.ts +1 -1
  33. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.d.ts.map +1 -1
  34. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.js +2 -17
  35. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.js.map +1 -1
  36. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.d.ts +3 -0
  37. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.d.ts.map +1 -0
  38. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.js +5 -0
  39. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.js.map +1 -0
  40. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.d.ts +3 -0
  41. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.d.ts.map +1 -0
  42. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.js +28 -0
  43. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.js.map +1 -0
  44. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  45. package/dist/core/extensions/builtin/prompt-preset/presets.js +21 -1
  46. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  47. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  48. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  49. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  50. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  51. package/dist/core/extensions/bun-extension-registry.d.ts +4 -0
  52. package/dist/core/extensions/bun-extension-registry.d.ts.map +1 -1
  53. package/dist/core/extensions/bun-extension-registry.js +59 -11
  54. package/dist/core/extensions/bun-extension-registry.js.map +1 -1
  55. package/dist/core/extensions/extension-runtime-module.d.ts +5 -0
  56. package/dist/core/extensions/extension-runtime-module.d.ts.map +1 -0
  57. package/dist/core/extensions/extension-runtime-module.js +6 -0
  58. package/dist/core/extensions/extension-runtime-module.js.map +1 -0
  59. package/dist/core/model-resolver.d.ts.map +1 -1
  60. package/dist/core/model-resolver.js +1 -0
  61. package/dist/core/model-resolver.js.map +1 -1
  62. package/dist/modes/rpc/host-decision.d.ts +1 -1
  63. package/dist/modes/rpc/host-decision.d.ts.map +1 -1
  64. package/dist/modes/rpc/host-decision.js +2 -0
  65. package/dist/modes/rpc/host-decision.js.map +1 -1
  66. package/dist/modes/rpc/host-ensure.js +8 -1
  67. package/dist/modes/rpc/host-ensure.js.map +1 -1
  68. package/dist/modes/rpc/host-probe.d.ts +7 -0
  69. package/dist/modes/rpc/host-probe.d.ts.map +1 -1
  70. package/dist/modes/rpc/host-probe.js +15 -4
  71. package/dist/modes/rpc/host-probe.js.map +1 -1
  72. package/docs/providers.md +30 -0
  73. package/docs/settings.md +1 -1
  74. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +24 -0
  75. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  76. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  77. package/node_modules/@earendil-works/pi-ai/README.md +9 -0
  78. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  79. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
  80. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  81. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2 -2
  82. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  83. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2 -2
  84. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  85. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +150 -7
  86. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  87. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +17 -3
  88. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  89. package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.d.ts +13 -0
  90. package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.d.ts.map +1 -0
  91. package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.js +55 -0
  92. package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.js.map +1 -0
  93. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.d.ts +11 -0
  94. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.d.ts.map +1 -0
  95. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.js +94 -0
  96. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.js.map +1 -0
  97. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.d.ts +4 -0
  98. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.d.ts.map +1 -0
  99. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.js +6 -0
  100. package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.js.map +1 -0
  101. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  102. package/node_modules/@earendil-works/pi-ai/dist/providers/data/bai.json +1 -0
  103. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  104. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opengateway.json +1 -1
  105. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  106. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts +142 -1
  108. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js +156 -3
  110. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js.map +1 -1
  111. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
  112. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  114. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  115. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  116. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  117. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  118. package/package.json +7 -7
  119. package/dist/bundle/chunks/bun-extension-importer-SW7XGNSG.js +0 -10
  120. package/dist/bundle/chunks/chunk-63UWBQCO.js +0 -8
  121. package/dist/bundle/chunks/chunk-AGXZF7RF.js +0 -2
  122. package/dist/bundle/chunks/cli-main-IAO3GSNA.js +0 -3
  123. package/dist/bundle/chunks/interactive-mode-YOXSSB5S.js +0 -2
  124. package/dist/bundle/chunks/rpc-mode-2IA6LPSI.js +0 -2
  125. package/node_modules/@earendil-works/pi-ai/dist/providers/data/kimi-coding.json +0 -1
@@ -0,0 +1,2 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
2
+ var COMBINER_KEYS=["anyOf","oneOf","allOf"],SCHEMA_MAP_KEYS=["properties","patternProperties","$defs","definitions"],SCHEMA_SINGLE_KEYS=["items","additionalProperties","contains","propertyNames","if","then","else","not"];function isJsonObject(value){return value!==null&&typeof value=="object"&&!Array.isArray(value)}function isScalarType(type){return type==="string"||type==="number"||type==="integer"||type==="boolean"}function moveTypeIntoCombinerBranches(node){if(!("type"in node))return;let parentType=node.type;for(let combiner of COMBINER_KEYS){let branches=node[combiner];if(Array.isArray(branches))for(let branch of branches)isJsonObject(branch)&&!("type"in branch)&&(branch.type=parentType)}delete node.type}function collapseConstUnion(node){let branches=node.anyOf;if(!Array.isArray(branches)||branches.length<2||"type"in node)return;let values=[],sharedType;for(let branch of branches){if(!isJsonObject(branch)||!Object.hasOwn(branch,"const"))return;let keys=Object.keys(branch);if(keys.length!==2||!keys.includes("type"))return;let branchType=branch.type;if(!isScalarType(branchType))return;if(sharedType===void 0)sharedType=branchType;else if(sharedType!==branchType)return;values.push(branch.const)}sharedType===void 0||values.length===0||(delete node.anyOf,node.type=sharedType,node.enum=values)}function mergeRootObjectUnion(schema){let branches=Array.isArray(schema.anyOf)?schema.anyOf:Array.isArray(schema.oneOf)?schema.oneOf:void 0;if(branches===void 0||branches.length===0||schema.properties!==void 0&&!isJsonObject(schema.properties)||schema.required!==void 0&&!Array.isArray(schema.required))return;let objectBranches=[];for(let branch of branches){if(!isJsonObject(branch)||branch.type!=="object"&&branch.type!==void 0||branch.properties!==void 0&&!isJsonObject(branch.properties)||branch.required!==void 0&&!Array.isArray(branch.required))return;objectBranches.push(branch)}let properties=isJsonObject(schema.properties)?{...schema.properties}:{};for(let branch of objectBranches)if(isJsonObject(branch.properties))for(let[name,propertySchema]of Object.entries(branch.properties)){let existing=properties[name];properties[name]=existing===void 0||JSON.stringify(existing)===JSON.stringify(propertySchema)?propertySchema:{anyOf:[existing,propertySchema]}}let rootRequired=Array.isArray(schema.required)?schema.required.filter(name=>typeof name=="string"):[],branchRequiredSets=objectBranches.map(branch=>new Set(Array.isArray(branch.required)?branch.required.filter(name=>typeof name=="string"):[])),firstBranchRequired=branchRequiredSets[0],commonBranchRequired=firstBranchRequired?[...firstBranchRequired].filter(name=>branchRequiredSets.every(names=>names.has(name))):[],required=[...new Set([...rootRequired,...commonBranchRequired])],{anyOf:_anyOf,oneOf:_oneOf,...rest}=schema;return{...rest,type:"object",properties,...required.length>0?{required}:{}}}function normalizeNode(node,isRoot=!1){if(Array.isArray(node))return node.map(child=>normalizeNode(child));if(!isJsonObject(node))return node;delete node.optional,COMBINER_KEYS.some(key=>Array.isArray(node[key]))&&!isRoot&&moveTypeIntoCombinerBranches(node);for(let combiner of COMBINER_KEYS){let branches=node[combiner];Array.isArray(branches)&&(node[combiner]=branches.map(branch=>normalizeNode(branch)))}Array.isArray(node.anyOf)&&collapseConstUnion(node);for(let key of SCHEMA_SINGLE_KEYS)Object.hasOwn(node,key)&&(node[key]=normalizeNode(node[key]));for(let key of SCHEMA_MAP_KEYS){let map=node[key];if(isJsonObject(map))for(let name of Object.keys(map))map[name]=normalizeNode(map[name])}return node}function normalizeToolParametersForOpenAICompat(schema){let normalized=normalizeNode(structuredClone(schema),!0);return ensureRootObjectSchema(normalized)}function ensureRootObjectSchema(schema){let merged=mergeRootObjectUnion(schema);return merged||(schema.type!==void 0||COMBINER_KEYS.some(key=>Array.isArray(schema[key]))?schema:{...schema,type:"object"})}function normalizeToolParametersForMoonshot(schema){return stripMoonshotAnnotations(normalizeToolParametersForOpenAICompat(schema))}function resolveRootObjectSchema(schema){return mergeRootObjectUnion(structuredClone(schema))??schema}function stripMoonshotAnnotations(node){if(Array.isArray(node))return node.map(child=>stripMoonshotAnnotations(child));if(!isJsonObject(node))return node;delete node.format,delete node.examples,delete node.readOnly,delete node.writeOnly,delete node.deprecated,delete node.$schema,delete node.$id;for(let combiner of COMBINER_KEYS){let branches=node[combiner];Array.isArray(branches)&&(node[combiner]=branches.map(branch=>stripMoonshotAnnotations(branch)))}for(let key of SCHEMA_SINGLE_KEYS)Object.hasOwn(node,key)&&(node[key]=stripMoonshotAnnotations(node[key]));for(let key of SCHEMA_MAP_KEYS){let map=node[key];if(isJsonObject(map))for(let name of Object.keys(map))map[name]=stripMoonshotAnnotations(map[name])}return node}export{normalizeToolParametersForOpenAICompat,normalizeToolParametersForMoonshot,resolveRootObjectSchema};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
2
- import{getApiKeyEnvVars}from"./chunk-VRAYXSST.js";var MAX_ENV_SLOT_INDEX=16;function primaryEnvVar(providerId){if(providerId==="claude-sdk-oauth")return"CLAUDE_CODE_OAUTH_TOKEN";let envVars=getApiKeyEnvVars(providerId);if(!(!envVars||envVars.length===0))return envVars.find(name=>name.endsWith("_API_KEY"))??envVars[0]}function discoverEnvSlots(providerId,env){let primary=primaryEnvVar(providerId);if(!primary)return[];let slots=[],base=env(primary);base&&slots.push({name:"env",envVarName:primary,key:base,source:"env"});for(let index=2;index<=MAX_ENV_SLOT_INDEX;index++){let envVarName=`${primary}_${index}`,value=env(envVarName);value&&slots.push({name:`env-${index}`,envVarName,key:value,source:"env"})}return slots}export{discoverEnvSlots};
2
+ import{getApiKeyEnvVars}from"./chunk-FDLVINNY.js";var MAX_ENV_SLOT_INDEX=16;function primaryEnvVar(providerId){if(providerId==="claude-sdk-oauth")return"CLAUDE_CODE_OAUTH_TOKEN";let envVars=getApiKeyEnvVars(providerId);if(!(!envVars||envVars.length===0))return envVars.find(name=>name.endsWith("_API_KEY"))??envVars[0]}function discoverEnvSlots(providerId,env){let primary=primaryEnvVar(providerId);if(!primary)return[];let slots=[],base=env(primary);base&&slots.push({name:"env",envVarName:primary,key:base,source:"env"});for(let index=2;index<=MAX_ENV_SLOT_INDEX;index++){let envVarName=`${primary}_${index}`,value=env(envVarName);value&&slots.push({name:`env-${index}`,envVarName,key:value,source:"env"})}return slots}export{discoverEnvSlots};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
2
+ function isRecord(value){return typeof value=="object"&&value!==null}function extractHttpStatus(error){if(!isRecord(error))return;let status=error.status;if(typeof status=="number")return status;let response=error.response;if(isRecord(response)&&typeof response.status=="number")return response.status}function errorMessage(error){return error instanceof Error?error.message:typeof error=="string"?error:String(error)}function isForcedToolChoiceUnsupportedError(error,sentForcedToolChoice){if(!sentForcedToolChoice||extractHttpStatus(error)!==400)return!1;let message=errorMessage(error);return/tool[_\s-]?choices?\b.*?(not\s+compatible|incompatible|not\s+supported|unsupported)/is.test(message)||/forces?\s+tool\s+use.*?(not\s+compatible|incompatible|not\s+supported|unsupported)/is.test(message)||/does\s+not\s+support\s+forced\s+tool[_\s-]?choices?/is.test(message)}function omitToolChoiceParam(params){let nextParams={...params};return delete nextParams.tool_choice,nextParams}export{isForcedToolChoiceUnsupportedError,omitToolChoiceParam};