@sema-agent/client-core 0.89.0 → 0.90.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 (38) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +18 -13
  3. package/dist/adapter/runStream.d.ts +2 -0
  4. package/dist/adapter/runStream.js +157 -32
  5. package/dist/attachmentsWireCaps.d.ts +13 -2
  6. package/dist/attachmentsWireCaps.js +25 -5
  7. package/dist/coreValuePorts.d.ts +1 -0
  8. package/dist/engineCapReader.js +12 -1
  9. package/dist/engineNoticeCodes.d.ts +2 -9
  10. package/dist/engineNoticeCodes.js +19 -27
  11. package/dist/fileHistoryLegNotice.d.ts +20 -0
  12. package/dist/fileHistoryLegNotice.js +122 -0
  13. package/dist/gateOutcome.d.ts +1 -1
  14. package/dist/gateOutcome.js +1 -0
  15. package/dist/generated/engineFactTables.d.ts +1 -0
  16. package/dist/generated/engineFactTables.js +3 -0
  17. package/dist/generated/engineNoticeTables.js +0 -3
  18. package/dist/hookToolAliases.d.ts +3 -0
  19. package/dist/hookToolAliases.js +10 -0
  20. package/dist/index.d.ts +8 -0
  21. package/dist/index.js +5 -0
  22. package/dist/permissionsAllowGrantCapability.d.ts +17 -0
  23. package/dist/permissionsAllowGrantCapability.js +75 -0
  24. package/dist/permissionsDeclaration.d.ts +25 -0
  25. package/dist/permissionsDeclaration.js +227 -0
  26. package/dist/promptDelivery.d.ts +5 -2
  27. package/dist/promptDelivery.js +8 -3
  28. package/dist/providerRejection.d.ts +2 -1
  29. package/dist/providerRejection.js +7 -1
  30. package/dist/request/taskRequest.js +27 -1
  31. package/dist/sdkRegistryTransit.d.ts +1 -0
  32. package/dist/sdkRegistryTransit.js +1 -0
  33. package/dist/supportFloor.d.ts +10 -0
  34. package/dist/supportFloor.js +42 -0
  35. package/dist/taskRequestWords.d.ts +1 -0
  36. package/dist/taskRequestWords.js +14 -0
  37. package/docs/INTEGRATION-CLIENTS.md +503 -13
  38. package/package.json +2 -2
@@ -0,0 +1,42 @@
1
+ export const SUPPORT_FLOOR = Object.freeze({
2
+ server: '7.104.0',
3
+ core: '7.33.8',
4
+ sdk: '12.0.1',
5
+ });
6
+ export function supportFloorOf(component) {
7
+ if (component === 'server' || component === 'core' || component === 'sdk')
8
+ return SUPPORT_FLOOR[component];
9
+ return undefined;
10
+ }
11
+ function releaseTriple(v) {
12
+ if (typeof v !== 'string')
13
+ return undefined;
14
+ const m = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.exec(v);
15
+ if (m === null)
16
+ return undefined;
17
+ return [Number(m[1]), Number(m[2]), Number(m[3])];
18
+ }
19
+ function compareTriple(a, b) {
20
+ for (let i = 0; i < 3; i++) {
21
+ const x = a[i];
22
+ const y = b[i];
23
+ if (x !== y)
24
+ return x < y ? -1 : 1;
25
+ }
26
+ return 0;
27
+ }
28
+ export function engineVersionTier(version, floor) {
29
+ let need = releaseTriple(SUPPORT_FLOOR.server);
30
+ if (floor !== undefined) {
31
+ const own = releaseTriple(floor);
32
+ if (own === undefined) {
33
+ throw new TypeError(`engineVersionTier: floor 只接受纯 x.y.z 版本串(整串、无前导零、无前后缀)或缺席 —— 收到 typeof=${floor === null ? 'null' : typeof floor}。错误文本只报形状,不回显值。`);
34
+ }
35
+ if (compareTriple(own, need) > 0)
36
+ need = own;
37
+ }
38
+ const got = releaseTriple(version);
39
+ if (got === undefined)
40
+ return 'unknown';
41
+ return compareTriple(got, need) >= 0 ? 'engine' : 'legacy';
42
+ }
@@ -3,3 +3,4 @@ export type TaskRequestReasoningEffort = NonNullable<TaskRequest['reasoningEffor
3
3
  export declare const REASONING_EFFORT_WORDS: readonly ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
4
4
  export type TaskRequestPermissionMode = NonNullable<TaskRequest['permissionMode']>;
5
5
  export declare const PERMISSION_MODE_WORDS: readonly ["default", "plan", "acceptEdits", "bypassPermissions", "auto"];
6
+ export declare function retiredAttachmentsKeyWhy(nameOrToken: string, form?: 'token' | 'key'): string | undefined;
@@ -2,3 +2,17 @@ export const REASONING_EFFORT_WORDS = ['off', 'minimal', 'low', 'medium', 'high'
2
2
  export const PERMISSION_MODE_WORDS = ['default', 'plan', 'acceptEdits', 'bypassPermissions', 'auto'];
3
3
  const _taskRequestWordPins = [true, true, true, true];
4
4
  void _taskRequestWordPins;
5
+ export function retiredAttachmentsKeyWhy(nameOrToken, form = 'token') {
6
+ const lower = nameOrToken.trim().toLowerCase();
7
+ const eq = lower.indexOf('=');
8
+ const lhs = (eq < 0 ? lower : lower.slice(0, eq)).trim();
9
+ const bare = lhs.startsWith('+') || lhs.startsWith('-') ? lhs.slice(1).trim() : lhs;
10
+ if (bare !== 'planmodereminder')
11
+ return undefined;
12
+ const head = '"planModeReminder" was retired with core 7.39.0 / server 7.113.0 — the engine now states the plan posture itself whenever the permission mode is "plan"';
13
+ if (form === 'token')
14
+ return `${head}, and a request carrying the key is answered 400 request.field_invalid; remove the token (send permissionMode "plan" for the plan posture)`;
15
+ return nameOrToken === 'planModeReminder'
16
+ ? `${head}, and a request carrying this key is answered 400 request.field_invalid; remove the key (send permissionMode "plan" for the plan posture)`
17
+ : `${head}; the server ignores this spelling of it, but it is refused here so the retired key is not sent under any spelling; remove the key (send permissionMode "plan" for the plan posture)`;
18
+ }