@shipstatic/types 2.8.0 → 2.9.0-beta.2
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 +58 -9
- package/dist/index.js +58 -9
- package/package.json +1 -1
- package/src/index.ts +58 -9
package/dist/index.d.ts
CHANGED
|
@@ -13,25 +13,74 @@ export declare const DeploymentStatus: {
|
|
|
13
13
|
};
|
|
14
14
|
export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof DeploymentStatus];
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* A closed set with many authors
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
16
|
+
* Where a deployment came from — the origin-tracking vocabulary.
|
|
17
|
+
*
|
|
18
|
+
* A closed set with many authors. It lived in the API's config until
|
|
19
|
+
* 2026-08-06, where being server-side made it unenforceable in the one
|
|
20
|
+
* direction that matters — every client wrote a bare string, and a value
|
|
21
|
+
* outside the set was **silently dropped** by the server, so a typo did not
|
|
22
|
+
* fail anywhere. It stopped recording where deploys came from and said nothing.
|
|
23
|
+
*
|
|
24
|
+
* **The origin law: origin is declared by whatever we control — our code where
|
|
25
|
+
* we ship code, our URL where we ship only a URL.** One rule decides every
|
|
26
|
+
* member here and every future one:
|
|
27
|
+
*
|
|
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.
|
|
32
|
+
* - **Where the platform ships only a URL, the URL declares it.** A
|
|
33
|
+
* marketplace listing runs somebody else's client against a bare endpoint —
|
|
34
|
+
* every one of them the same server speaking the same protocol, and
|
|
35
|
+
* indistinguishable in a request. The only thing such a listing's traffic
|
|
36
|
+
* has in common is the URL its users were handed, so the hosted MCP serves
|
|
37
|
+
* one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
|
|
38
|
+
* `crs`.
|
|
39
|
+
*
|
|
40
|
+
* **A member names the most specific surface the platform can honestly
|
|
41
|
+
* claim**, which is what makes the two FALLBACKS fallbacks rather than peers
|
|
42
|
+
* of the named surfaces. `mcp` is any MCP host that was never handed a door of
|
|
43
|
+
* its own; `api` is a call that reached the REST API naming nothing at all.
|
|
44
|
+
* Guessing past either would be inventing attribution rather than recording
|
|
45
|
+
* it, which is the one thing this vocabulary exists to prevent.
|
|
46
|
+
*
|
|
47
|
+
* Every member is three lowercase characters — the property that lets a
|
|
48
|
+
* channel door's path and its attribution be spelled the same. The suite pins
|
|
49
|
+
* both the width and the channel members by name.
|
|
25
50
|
*/
|
|
26
51
|
export declare const DeploymentVia: {
|
|
52
|
+
/** The web dashboard. */
|
|
27
53
|
readonly WEB: "web";
|
|
54
|
+
/** A program embedding the SDK directly. */
|
|
28
55
|
readonly SDK: "sdk";
|
|
56
|
+
/** The `ship` CLI. */
|
|
29
57
|
readonly CLI: "cli";
|
|
58
|
+
/** Any MCP host with no door of its own — the stdio server included. The family fallback. */
|
|
30
59
|
readonly MCP: "mcp";
|
|
60
|
+
/** The GitHub Action. */
|
|
31
61
|
readonly GIT: "git";
|
|
62
|
+
/** The n8n community node. */
|
|
32
63
|
readonly N8N: "n8n";
|
|
64
|
+
/** Channel: the ChatGPT App listing → `mcp.<domain>/gpt`. */
|
|
33
65
|
readonly GPT: "gpt";
|
|
66
|
+
/** The VS Code extension. */
|
|
34
67
|
readonly VSC: "vsc";
|
|
68
|
+
/** Channel: the Claude connectors directory listing → `mcp.<domain>/cld`. */
|
|
69
|
+
readonly CLD: "cld";
|
|
70
|
+
/** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
|
|
71
|
+
readonly CRS: "crs";
|
|
72
|
+
/**
|
|
73
|
+
* A deploy that reached the REST API naming no origin at all — the
|
|
74
|
+
* platform-wide fallback, one altitude below `mcp`'s family fallback.
|
|
75
|
+
*
|
|
76
|
+
* **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
|
|
77
|
+
* the server still records an unattributed deploy as `null`. Vocabulary must
|
|
78
|
+
* exist before a consumer can adopt it, and adding a member costs a full
|
|
79
|
+
* constellation convoy — so the word ships first and the API adopts it as a
|
|
80
|
+
* default whenever that decision is taken, with no convoy standing between
|
|
81
|
+
* the decision and the deploy.
|
|
82
|
+
*/
|
|
83
|
+
readonly API: "api";
|
|
35
84
|
};
|
|
36
85
|
export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];
|
|
37
86
|
/**
|
package/dist/index.js
CHANGED
|
@@ -15,25 +15,74 @@ export const DeploymentStatus = {
|
|
|
15
15
|
DELETING: 'deleting',
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* A closed set with many authors
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
18
|
+
* Where a deployment came from — the origin-tracking vocabulary.
|
|
19
|
+
*
|
|
20
|
+
* A closed set with many authors. It lived in the API's config until
|
|
21
|
+
* 2026-08-06, where being server-side made it unenforceable in the one
|
|
22
|
+
* direction that matters — every client wrote a bare string, and a value
|
|
23
|
+
* outside the set was **silently dropped** by the server, so a typo did not
|
|
24
|
+
* fail anywhere. It stopped recording where deploys came from and said nothing.
|
|
25
|
+
*
|
|
26
|
+
* **The origin law: origin is declared by whatever we control — our code where
|
|
27
|
+
* we ship code, our URL where we ship only a URL.** One rule decides every
|
|
28
|
+
* member here and every future one:
|
|
29
|
+
*
|
|
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.
|
|
34
|
+
* - **Where the platform ships only a URL, the URL declares it.** A
|
|
35
|
+
* marketplace listing runs somebody else's client against a bare endpoint —
|
|
36
|
+
* every one of them the same server speaking the same protocol, and
|
|
37
|
+
* indistinguishable in a request. The only thing such a listing's traffic
|
|
38
|
+
* has in common is the URL its users were handed, so the hosted MCP serves
|
|
39
|
+
* one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
|
|
40
|
+
* `crs`.
|
|
41
|
+
*
|
|
42
|
+
* **A member names the most specific surface the platform can honestly
|
|
43
|
+
* claim**, which is what makes the two FALLBACKS fallbacks rather than peers
|
|
44
|
+
* of the named surfaces. `mcp` is any MCP host that was never handed a door of
|
|
45
|
+
* its own; `api` is a call that reached the REST API naming nothing at all.
|
|
46
|
+
* Guessing past either would be inventing attribution rather than recording
|
|
47
|
+
* it, which is the one thing this vocabulary exists to prevent.
|
|
48
|
+
*
|
|
49
|
+
* Every member is three lowercase characters — the property that lets a
|
|
50
|
+
* channel door's path and its attribution be spelled the same. The suite pins
|
|
51
|
+
* both the width and the channel members by name.
|
|
27
52
|
*/
|
|
28
53
|
export const DeploymentVia = {
|
|
54
|
+
/** The web dashboard. */
|
|
29
55
|
WEB: 'web',
|
|
56
|
+
/** A program embedding the SDK directly. */
|
|
30
57
|
SDK: 'sdk',
|
|
58
|
+
/** The `ship` CLI. */
|
|
31
59
|
CLI: 'cli',
|
|
60
|
+
/** Any MCP host with no door of its own — the stdio server included. The family fallback. */
|
|
32
61
|
MCP: 'mcp',
|
|
62
|
+
/** The GitHub Action. */
|
|
33
63
|
GIT: 'git',
|
|
64
|
+
/** The n8n community node. */
|
|
34
65
|
N8N: 'n8n',
|
|
66
|
+
/** Channel: the ChatGPT App listing → `mcp.<domain>/gpt`. */
|
|
35
67
|
GPT: 'gpt',
|
|
68
|
+
/** The VS Code extension. */
|
|
36
69
|
VSC: 'vsc',
|
|
70
|
+
/** Channel: the Claude connectors directory listing → `mcp.<domain>/cld`. */
|
|
71
|
+
CLD: 'cld',
|
|
72
|
+
/** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
|
|
73
|
+
CRS: 'crs',
|
|
74
|
+
/**
|
|
75
|
+
* A deploy that reached the REST API naming no origin at all — the
|
|
76
|
+
* platform-wide fallback, one altitude below `mcp`'s family fallback.
|
|
77
|
+
*
|
|
78
|
+
* **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
|
|
79
|
+
* the server still records an unattributed deploy as `null`. Vocabulary must
|
|
80
|
+
* exist before a consumer can adopt it, and adding a member costs a full
|
|
81
|
+
* constellation convoy — so the word ships first and the API adopts it as a
|
|
82
|
+
* default whenever that decision is taken, with no convoy standing between
|
|
83
|
+
* the decision and the deploy.
|
|
84
|
+
*/
|
|
85
|
+
API: 'api',
|
|
37
86
|
};
|
|
38
87
|
// =============================================================================
|
|
39
88
|
// DOMAIN TYPES
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -20,25 +20,74 @@ export const DeploymentStatus = {
|
|
|
20
20
|
export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof DeploymentStatus];
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* A closed set with many authors
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
23
|
+
* Where a deployment came from — the origin-tracking vocabulary.
|
|
24
|
+
*
|
|
25
|
+
* A closed set with many authors. It lived in the API's config until
|
|
26
|
+
* 2026-08-06, where being server-side made it unenforceable in the one
|
|
27
|
+
* direction that matters — every client wrote a bare string, and a value
|
|
28
|
+
* outside the set was **silently dropped** by the server, so a typo did not
|
|
29
|
+
* fail anywhere. It stopped recording where deploys came from and said nothing.
|
|
30
|
+
*
|
|
31
|
+
* **The origin law: origin is declared by whatever we control — our code where
|
|
32
|
+
* we ship code, our URL where we ship only a URL.** One rule decides every
|
|
33
|
+
* member here and every future one:
|
|
34
|
+
*
|
|
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.
|
|
39
|
+
* - **Where the platform ships only a URL, the URL declares it.** A
|
|
40
|
+
* marketplace listing runs somebody else's client against a bare endpoint —
|
|
41
|
+
* every one of them the same server speaking the same protocol, and
|
|
42
|
+
* indistinguishable in a request. The only thing such a listing's traffic
|
|
43
|
+
* has in common is the URL its users were handed, so the hosted MCP serves
|
|
44
|
+
* one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
|
|
45
|
+
* `crs`.
|
|
46
|
+
*
|
|
47
|
+
* **A member names the most specific surface the platform can honestly
|
|
48
|
+
* claim**, which is what makes the two FALLBACKS fallbacks rather than peers
|
|
49
|
+
* of the named surfaces. `mcp` is any MCP host that was never handed a door of
|
|
50
|
+
* its own; `api` is a call that reached the REST API naming nothing at all.
|
|
51
|
+
* Guessing past either would be inventing attribution rather than recording
|
|
52
|
+
* it, which is the one thing this vocabulary exists to prevent.
|
|
53
|
+
*
|
|
54
|
+
* Every member is three lowercase characters — the property that lets a
|
|
55
|
+
* channel door's path and its attribution be spelled the same. The suite pins
|
|
56
|
+
* both the width and the channel members by name.
|
|
32
57
|
*/
|
|
33
58
|
export const DeploymentVia = {
|
|
59
|
+
/** The web dashboard. */
|
|
34
60
|
WEB: 'web',
|
|
61
|
+
/** A program embedding the SDK directly. */
|
|
35
62
|
SDK: 'sdk',
|
|
63
|
+
/** The `ship` CLI. */
|
|
36
64
|
CLI: 'cli',
|
|
65
|
+
/** Any MCP host with no door of its own — the stdio server included. The family fallback. */
|
|
37
66
|
MCP: 'mcp',
|
|
67
|
+
/** The GitHub Action. */
|
|
38
68
|
GIT: 'git',
|
|
69
|
+
/** The n8n community node. */
|
|
39
70
|
N8N: 'n8n',
|
|
71
|
+
/** Channel: the ChatGPT App listing → `mcp.<domain>/gpt`. */
|
|
40
72
|
GPT: 'gpt',
|
|
73
|
+
/** The VS Code extension. */
|
|
41
74
|
VSC: 'vsc',
|
|
75
|
+
/** Channel: the Claude connectors directory listing → `mcp.<domain>/cld`. */
|
|
76
|
+
CLD: 'cld',
|
|
77
|
+
/** Channel: the Cursor marketplace listing → `mcp.<domain>/crs`. */
|
|
78
|
+
CRS: 'crs',
|
|
79
|
+
/**
|
|
80
|
+
* A deploy that reached the REST API naming no origin at all — the
|
|
81
|
+
* platform-wide fallback, one altitude below `mcp`'s family fallback.
|
|
82
|
+
*
|
|
83
|
+
* **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
|
|
84
|
+
* the server still records an unattributed deploy as `null`. Vocabulary must
|
|
85
|
+
* exist before a consumer can adopt it, and adding a member costs a full
|
|
86
|
+
* constellation convoy — so the word ships first and the API adopts it as a
|
|
87
|
+
* default whenever that decision is taken, with no convoy standing between
|
|
88
|
+
* the decision and the deploy.
|
|
89
|
+
*/
|
|
90
|
+
API: 'api',
|
|
42
91
|
} as const;
|
|
43
92
|
|
|
44
93
|
export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];
|