@linzumi/cli 1.0.169 → 1.0.170

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linzumi/cli",
3
- "version": "1.0.169",
3
+ "version": "1.0.170",
4
4
  "description": "Linzumi CLI \u2014 point a Codex agent at the real code on your laptop, with your team watching and steering from shared threads.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -100,6 +100,12 @@ function runBuildersCase(caseInput) {
100
100
  wire: () => wires[wireIndex],
101
101
  runnerPayload: scriptedEnvelope(caseInput),
102
102
  isRecoveredTurn: (turnId) => recovered.has(turnId),
103
+ // Spec: spec/sandbox-denial-surfacing.md (:sandbox-denial/rule-08): the
104
+ // per-host classification opt-in, driven from the case JSON so the
105
+ // ReScript conformance side pins the annotated bytes differentially.
106
+ ...(caseInput.sandboxNetworkDenialSurfacing === true
107
+ ? { sandboxNetworkDenialSurfacing: true }
108
+ : {}),
103
109
  });
104
110
  const context = {
105
111
  remember: () => {},
@@ -53,6 +53,8 @@ import {
53
53
  import { tmpdir } from 'node:os';
54
54
  import { dirname as pathDirname, join, relative } from 'node:path';
55
55
  import {
56
+ extractTaskSuggestionPathTokens,
57
+ groundTaskSuggestions,
56
58
  parseTaskSuggestionResponseForTest,
57
59
  resolveTaskSuggestionModelForTest,
58
60
  signupTaskSuggestionProcessForTest,
@@ -417,7 +419,26 @@ async function handle(testCase) {
417
419
  case 'resolveModel':
418
420
  return handleResolveModel(testCase);
419
421
  case 'prompt':
420
- return { value: taskSuggestionPromptForTest(testCase.previousResponse ?? undefined) };
422
+ return {
423
+ value: taskSuggestionPromptForTest(
424
+ testCase.previousResponse === undefined
425
+ ? undefined
426
+ : {
427
+ previousResponse: testCase.previousResponse,
428
+ fictionalPaths: testCase.fictionalPaths ?? [],
429
+ }
430
+ ),
431
+ };
432
+ case 'extractPathTokens':
433
+ return { value: extractTaskSuggestionPathTokens(testCase.title) };
434
+ case 'groundSuggestions': {
435
+ const existing = new Set(testCase.existingPaths ?? []);
436
+ return {
437
+ value: groundTaskSuggestions(testCase.suggestions, (candidate) =>
438
+ existing.has(candidate)
439
+ ),
440
+ };
441
+ }
421
442
  case 'schemaFile':
422
443
  return {
423
444
  value: JSON.stringify(taskSuggestionJsonSchemaForTest(), null, 2) + '\\n',