@gajae-code/natives 0.12.8 → 0.12.10

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/native/index.d.ts CHANGED
@@ -491,7 +491,7 @@ export declare function __piNativesPublishOutcomeV1(): void
491
491
  * `packages/natives/native/index.js` (which derives the name from
492
492
  * `package.json#version`).
493
493
  */
494
- export declare function __piNativesV0_12_8(): void
494
+ export declare function __piNativesV0_12_10(): void
495
495
 
496
496
  /**
497
497
  * Apply conservative pre-execution rewrites to a bash command.
@@ -1464,6 +1464,20 @@ export interface LineDiffPart {
1464
1464
  value: string
1465
1465
  }
1466
1466
 
1467
+ /**
1468
+ * Publish a staged regular file under a destination name that must not already
1469
+ * exist, using `linkat(2)` instead of a rename flag. This is the stand-in for
1470
+ * `rename_no_replace_path` on filesystems that implement no rename flag at all
1471
+ * (NFS answers `EINVAL`, pre-3.15 kernels `ENOSYS`), and it carries the same
1472
+ * no-overwrite guarantee because `linkat` fails with `EEXIST`.
1473
+ *
1474
+ * The source name survives the call. Callers holding a descriptor on the
1475
+ * staged object must keep it across this publication and unlink the staging
1476
+ * name only after releasing it: NFS silly-renames a still-open name instead of
1477
+ * removing it, leaving a second link on the published inode.
1478
+ */
1479
+ export declare function linkNoReplacePath(sourcePath: string, destinationPath: string): NativeNoReplaceResult
1480
+
1467
1481
  /**
1468
1482
  * Walk the workspace once and return tree entries plus AGENTS.md candidates.
1469
1483
  *
package/native/index.js CHANGED
@@ -30,7 +30,7 @@ export const Shell = nativeBindings.Shell;
30
30
 
31
31
  // functions
32
32
  export const __piNativesPublishOutcomeV1 = nativeBindings.__piNativesPublishOutcomeV1;
33
- export const __piNativesV0_12_8 = nativeBindings.__piNativesV0_12_8;
33
+ export const __piNativesV0_12_10 = nativeBindings.__piNativesV0_12_10;
34
34
  export const applyBashFixups = nativeBindings.applyBashFixups;
35
35
  export const applyOwnerOnlyFdSecurity = nativeBindings.applyOwnerOnlyFdSecurity;
36
36
  export const applyOwnerOnlyPathSecurity = nativeBindings.applyOwnerOnlyPathSecurity;
@@ -68,6 +68,7 @@ export const isoProbe = nativeBindings.isoProbe;
68
68
  export const isoResolve = nativeBindings.isoResolve;
69
69
  export const isoStart = nativeBindings.isoStart;
70
70
  export const isoStop = nativeBindings.isoStop;
71
+ export const linkNoReplacePath = nativeBindings.linkNoReplacePath;
71
72
  export const listWorkspace = nativeBindings.listWorkspace;
72
73
  export const matchesKey = nativeBindings.matchesKey;
73
74
  export const matchesKittySequence = nativeBindings.matchesKittySequence;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gajae-code/natives",
3
- "version": "0.12.8",
3
+ "version": "0.12.10",
4
4
  "description": "Native Rust bindings for grep, clipboard, image processing, syntax highlighting, PTY, and shell operations via N-API",
5
5
  "type": "module",
6
6
  "homepage": "https://gajae-code.com",
@@ -61,11 +61,11 @@
61
61
  "README.md"
62
62
  ],
63
63
  "optionalDependencies": {
64
- "@gajae-code/natives-darwin-arm64": "0.12.8",
65
- "@gajae-code/natives-darwin-x64": "0.12.8",
66
- "@gajae-code/natives-linux-arm64": "0.12.8",
67
- "@gajae-code/natives-linux-x64": "0.12.8",
68
- "@gajae-code/natives-win32-x64": "0.12.8"
64
+ "@gajae-code/natives-darwin-arm64": "0.12.10",
65
+ "@gajae-code/natives-darwin-x64": "0.12.10",
66
+ "@gajae-code/natives-linux-arm64": "0.12.10",
67
+ "@gajae-code/natives-linux-x64": "0.12.10",
68
+ "@gajae-code/natives-win32-x64": "0.12.10"
69
69
  },
70
70
  "exports": {
71
71
  ".": {