@shipstatic/types 2.20.0-beta.1 → 2.21.0-beta.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.
package/dist/index.d.ts CHANGED
@@ -26,9 +26,12 @@ export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof Deploy
26
26
  * member here and every future one:
27
27
  *
28
28
  * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
29
- * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
30
- * names itself in its own source and nothing external is needed to tell them
31
- * apart.
29
+ * `cli`, `git`, `n8n`, `vsc`, `gmn` and `drp` are surfaces this platform
30
+ * authors, so each names itself in its own source and nothing external is
31
+ * needed to tell them apart. A first-party WRAPPER counts as code even when
32
+ * it is a manifest: the GitHub Action and the Gemini extension each compose
33
+ * an invocation of a platform executable and relabel it through
34
+ * {@link SHIP_VIA_ENV}.
32
35
  * - **Where the platform ships only a URL, the URL declares it.** A
33
36
  * marketplace listing runs somebody else's client against a bare endpoint —
34
37
  * every one of them the same server speaking the same protocol, and
@@ -69,6 +72,10 @@ export declare const DeploymentVia: {
69
72
  readonly CLD: "cld";
70
73
  /** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
71
74
  readonly CRS: "crs";
75
+ /** The Gemini CLI extension. */
76
+ readonly GMN: "gmn";
77
+ /** The `@shipstatic/drop` browser widget. */
78
+ readonly DRP: "drp";
72
79
  /**
73
80
  * A deploy that reached the REST API naming no origin at all — the
74
81
  * platform-wide fallback, one altitude below `mcp`'s family fallback.
@@ -1622,10 +1629,11 @@ export declare const DEFAULT_API = "https://api.shipstatic.com";
1622
1629
  * values — as the VS Code extension's child-process env block does — picks
1623
1630
  * up a grown contract at the next pin bump instead of by remembered prose.
1624
1631
  *
1625
- * Browser builds read no environment at all, and the CLI-only variables
1626
- * (`SHIP_PASSWORD`, `SHIP_VIA`) are deliberately NOT here: they are the
1627
- * CLI's operational levers, not the SDK's ambient contract — see
1628
- * `npm/ship/CLAUDE.md`, "CLI-only env vars".
1632
+ * Browser builds read no environment at all, and the wrapper-tier variables
1633
+ * are deliberately NOT here: `SHIP_PASSWORD` stays the CLI's own operational
1634
+ * lever (see `npm/ship/CLAUDE.md`, "CLI-only env vars"), and the origin
1635
+ * relabel slot has its own owner beside this object ({@link SHIP_VIA_ENV})
1636
+ * because two executables read it and neither reading is the SDK's.
1629
1637
  */
1630
1638
  export declare const SHIP_ENV: {
1631
1639
  /** The one credential slot — any platform token. */
@@ -1633,6 +1641,22 @@ export declare const SHIP_ENV: {
1633
1641
  /** The API endpoint override. */
1634
1642
  readonly API_URL: "SHIP_API_URL";
1635
1643
  };
1644
+ /**
1645
+ * The origin-relabel slot for integrations that wrap a first-party
1646
+ * executable as a subprocess. A wrapper composes an argv and an env it does
1647
+ * not otherwise reach, so this variable is its one way to name the surface
1648
+ * the traffic is really from. Two executables read it through
1649
+ * {@link normalizeVia}: the `ship` CLI (default `cli`; the GitHub Action
1650
+ * sets `git`) and the stdio MCP bin (default `mcp`; the Gemini CLI
1651
+ * extension sets `gmn`). In-process SDK consumers pass the programmatic
1652
+ * `via` option instead: same destination, different mechanism.
1653
+ *
1654
+ * Deliberately not a member of {@link SHIP_ENV}, which is the SDK's ambient
1655
+ * contract; the SDK never reads this. The name earned an owner the day the
1656
+ * stdio bin became its second reader: one spelling, two executables, and a
1657
+ * misspelling on either side drops attribution silently.
1658
+ */
1659
+ export declare const SHIP_VIA_ENV = "SHIP_VIA";
1636
1660
  /**
1637
1661
  * Where a human creates an API key — the console deep link quoted by every
1638
1662
  * surface that teaches authentication (the CLI's config wizard, the VS Code
package/dist/index.js CHANGED
@@ -28,9 +28,12 @@ export const DeploymentStatus = {
28
28
  * member here and every future one:
29
29
  *
30
30
  * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
31
- * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
32
- * names itself in its own source and nothing external is needed to tell them
33
- * apart.
31
+ * `cli`, `git`, `n8n`, `vsc`, `gmn` and `drp` are surfaces this platform
32
+ * authors, so each names itself in its own source and nothing external is
33
+ * needed to tell them apart. A first-party WRAPPER counts as code even when
34
+ * it is a manifest: the GitHub Action and the Gemini extension each compose
35
+ * an invocation of a platform executable and relabel it through
36
+ * {@link SHIP_VIA_ENV}.
34
37
  * - **Where the platform ships only a URL, the URL declares it.** A
35
38
  * marketplace listing runs somebody else's client against a bare endpoint —
36
39
  * every one of them the same server speaking the same protocol, and
@@ -71,6 +74,10 @@ export const DeploymentVia = {
71
74
  CLD: 'cld',
72
75
  /** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
73
76
  CRS: 'crs',
77
+ /** The Gemini CLI extension. */
78
+ GMN: 'gmn',
79
+ /** The `@shipstatic/drop` browser widget. */
80
+ DRP: 'drp',
74
81
  /**
75
82
  * A deploy that reached the REST API naming no origin at all — the
76
83
  * platform-wide fallback, one altitude below `mcp`'s family fallback.
@@ -1591,10 +1598,11 @@ export const DEFAULT_API = 'https://api.shipstatic.com';
1591
1598
  * values — as the VS Code extension's child-process env block does — picks
1592
1599
  * up a grown contract at the next pin bump instead of by remembered prose.
1593
1600
  *
1594
- * Browser builds read no environment at all, and the CLI-only variables
1595
- * (`SHIP_PASSWORD`, `SHIP_VIA`) are deliberately NOT here: they are the
1596
- * CLI's operational levers, not the SDK's ambient contract — see
1597
- * `npm/ship/CLAUDE.md`, "CLI-only env vars".
1601
+ * Browser builds read no environment at all, and the wrapper-tier variables
1602
+ * are deliberately NOT here: `SHIP_PASSWORD` stays the CLI's own operational
1603
+ * lever (see `npm/ship/CLAUDE.md`, "CLI-only env vars"), and the origin
1604
+ * relabel slot has its own owner beside this object ({@link SHIP_VIA_ENV})
1605
+ * because two executables read it and neither reading is the SDK's.
1598
1606
  */
1599
1607
  export const SHIP_ENV = {
1600
1608
  /** The one credential slot — any platform token. */
@@ -1602,6 +1610,22 @@ export const SHIP_ENV = {
1602
1610
  /** The API endpoint override. */
1603
1611
  API_URL: 'SHIP_API_URL',
1604
1612
  };
1613
+ /**
1614
+ * The origin-relabel slot for integrations that wrap a first-party
1615
+ * executable as a subprocess. A wrapper composes an argv and an env it does
1616
+ * not otherwise reach, so this variable is its one way to name the surface
1617
+ * the traffic is really from. Two executables read it through
1618
+ * {@link normalizeVia}: the `ship` CLI (default `cli`; the GitHub Action
1619
+ * sets `git`) and the stdio MCP bin (default `mcp`; the Gemini CLI
1620
+ * extension sets `gmn`). In-process SDK consumers pass the programmatic
1621
+ * `via` option instead: same destination, different mechanism.
1622
+ *
1623
+ * Deliberately not a member of {@link SHIP_ENV}, which is the SDK's ambient
1624
+ * contract; the SDK never reads this. The name earned an owner the day the
1625
+ * stdio bin became its second reader: one spelling, two executables, and a
1626
+ * misspelling on either side drops attribution silently.
1627
+ */
1628
+ export const SHIP_VIA_ENV = 'SHIP_VIA';
1605
1629
  /**
1606
1630
  * Where a human creates an API key — the console deep link quoted by every
1607
1631
  * surface that teaches authentication (the CLI's config wizard, the VS Code
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipstatic/types",
3
- "version": "2.20.0-beta.1",
3
+ "version": "2.21.0-beta.1",
4
4
  "description": "Shared types for ShipStatic platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -33,9 +33,12 @@ export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof Deploy
33
33
  * member here and every future one:
34
34
  *
35
35
  * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
36
- * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
37
- * names itself in its own source and nothing external is needed to tell them
38
- * apart.
36
+ * `cli`, `git`, `n8n`, `vsc`, `gmn` and `drp` are surfaces this platform
37
+ * authors, so each names itself in its own source and nothing external is
38
+ * needed to tell them apart. A first-party WRAPPER counts as code even when
39
+ * it is a manifest: the GitHub Action and the Gemini extension each compose
40
+ * an invocation of a platform executable and relabel it through
41
+ * {@link SHIP_VIA_ENV}.
39
42
  * - **Where the platform ships only a URL, the URL declares it.** A
40
43
  * marketplace listing runs somebody else's client against a bare endpoint —
41
44
  * every one of them the same server speaking the same protocol, and
@@ -76,6 +79,10 @@ export const DeploymentVia = {
76
79
  CLD: 'cld',
77
80
  /** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
78
81
  CRS: 'crs',
82
+ /** The Gemini CLI extension. */
83
+ GMN: 'gmn',
84
+ /** The `@shipstatic/drop` browser widget. */
85
+ DRP: 'drp',
79
86
  /**
80
87
  * A deploy that reached the REST API naming no origin at all — the
81
88
  * platform-wide fallback, one altitude below `mcp`'s family fallback.
@@ -2463,10 +2470,11 @@ export const DEFAULT_API = 'https://api.shipstatic.com';
2463
2470
  * values — as the VS Code extension's child-process env block does — picks
2464
2471
  * up a grown contract at the next pin bump instead of by remembered prose.
2465
2472
  *
2466
- * Browser builds read no environment at all, and the CLI-only variables
2467
- * (`SHIP_PASSWORD`, `SHIP_VIA`) are deliberately NOT here: they are the
2468
- * CLI's operational levers, not the SDK's ambient contract — see
2469
- * `npm/ship/CLAUDE.md`, "CLI-only env vars".
2473
+ * Browser builds read no environment at all, and the wrapper-tier variables
2474
+ * are deliberately NOT here: `SHIP_PASSWORD` stays the CLI's own operational
2475
+ * lever (see `npm/ship/CLAUDE.md`, "CLI-only env vars"), and the origin
2476
+ * relabel slot has its own owner beside this object ({@link SHIP_VIA_ENV})
2477
+ * because two executables read it and neither reading is the SDK's.
2470
2478
  */
2471
2479
  export const SHIP_ENV = {
2472
2480
  /** The one credential slot — any platform token. */
@@ -2475,6 +2483,23 @@ export const SHIP_ENV = {
2475
2483
  API_URL: 'SHIP_API_URL',
2476
2484
  } as const;
2477
2485
 
2486
+ /**
2487
+ * The origin-relabel slot for integrations that wrap a first-party
2488
+ * executable as a subprocess. A wrapper composes an argv and an env it does
2489
+ * not otherwise reach, so this variable is its one way to name the surface
2490
+ * the traffic is really from. Two executables read it through
2491
+ * {@link normalizeVia}: the `ship` CLI (default `cli`; the GitHub Action
2492
+ * sets `git`) and the stdio MCP bin (default `mcp`; the Gemini CLI
2493
+ * extension sets `gmn`). In-process SDK consumers pass the programmatic
2494
+ * `via` option instead: same destination, different mechanism.
2495
+ *
2496
+ * Deliberately not a member of {@link SHIP_ENV}, which is the SDK's ambient
2497
+ * contract; the SDK never reads this. The name earned an owner the day the
2498
+ * stdio bin became its second reader: one spelling, two executables, and a
2499
+ * misspelling on either side drops attribution silently.
2500
+ */
2501
+ export const SHIP_VIA_ENV = 'SHIP_VIA';
2502
+
2478
2503
  /**
2479
2504
  * Where a human creates an API key — the console deep link quoted by every
2480
2505
  * surface that teaches authentication (the CLI's config wizard, the VS Code