attio 0.0.1-experimental.20240729 → 0.0.1-experimental.20240809
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/lib/api/add-connection-definition.d.ts +21 -0
- package/lib/api/add-connection-definition.d.ts.map +1 -0
- package/lib/api/add-connection-definition.js +24 -0
- package/lib/api/add-connection-definition.js.map +1 -0
- package/lib/api/create-dev-version.d.ts +3 -3
- package/lib/api/create-dev-version.d.ts.map +1 -1
- package/lib/api/create-dev-version.js +2 -2
- package/lib/api/create-dev-version.js.map +1 -1
- package/lib/api/remove-connection-definition.d.ts +16 -0
- package/lib/api/remove-connection-definition.d.ts.map +1 -0
- package/lib/api/remove-connection-definition.js +8 -0
- package/lib/api/remove-connection-definition.js.map +1 -0
- package/lib/attio.d.ts +1 -1
- package/lib/attio.js +1 -1
- package/lib/commands/connection/add.d.ts +22 -0
- package/lib/commands/connection/add.d.ts.map +1 -0
- package/lib/commands/connection/add.js +66 -0
- package/lib/commands/connection/add.js.map +1 -0
- package/lib/commands/connection/index.d.ts +2 -0
- package/lib/commands/connection/index.d.ts.map +1 -0
- package/lib/commands/connection/index.js +2 -0
- package/lib/commands/connection/index.js.map +1 -0
- package/lib/commands/connection/remove.d.ts +16 -0
- package/lib/commands/connection/remove.d.ts.map +1 -0
- package/lib/commands/connection/remove.js +42 -0
- package/lib/commands/connection/remove.js.map +1 -0
- package/lib/machines/add-connection-machine.d.ts +159 -0
- package/lib/machines/add-connection-machine.d.ts.map +1 -0
- package/lib/machines/add-connection-machine.js +224 -0
- package/lib/machines/add-connection-machine.js.map +1 -0
- package/lib/machines/dev-machine.d.ts.map +1 -1
- package/lib/machines/dev-machine.js +3 -3
- package/lib/machines/dev-machine.js.map +1 -1
- package/lib/machines/remove-connection-machine.d.ts +106 -0
- package/lib/machines/remove-connection-machine.d.ts.map +1 -0
- package/lib/machines/remove-connection-machine.js +161 -0
- package/lib/machines/remove-connection-machine.js.map +1 -0
- package/lib/schema.d.ts +5 -5
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +10 -7
- package/lib/schema.js.map +1 -1
- package/lib/schema.json +32 -31
- package/lib/util/app-config.d.ts +11 -0
- package/lib/util/app-config.d.ts.map +1 -0
- package/lib/util/app-config.js +52 -0
- package/lib/util/app-config.js.map +1 -0
- package/package.json +1 -1
- package/lib/util/load-extension-config.d.ts +0 -3
- package/lib/util/load-extension-config.d.ts.map +0 -1
- package/lib/util/load-extension-config.js +0 -32
- package/lib/util/load-extension-config.js.map +0 -1
package/lib/schema.js
CHANGED
|
@@ -2,16 +2,19 @@ import { z } from "zod";
|
|
|
2
2
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
3
3
|
import { fromError } from "zod-validation-error";
|
|
4
4
|
const configSchema = z.object({
|
|
5
|
-
slug: z.string().describe("A unique slug for the
|
|
6
|
-
id: z.string().uuid().describe("A unique ID for the
|
|
7
|
-
|
|
8
|
-
.
|
|
9
|
-
connection_type: z
|
|
5
|
+
slug: z.string().describe("A unique slug for the app"),
|
|
6
|
+
id: z.string().uuid().describe("A unique ID for the app"),
|
|
7
|
+
connection: z
|
|
8
|
+
.object({
|
|
9
|
+
connection_type: z
|
|
10
|
+
.enum(["secret"])
|
|
11
|
+
.describe("The type of connection"),
|
|
10
12
|
audience: z
|
|
11
13
|
.enum(["workspace", "workspace-member"])
|
|
12
14
|
.describe("The connection's audience"),
|
|
13
|
-
})
|
|
14
|
-
.
|
|
15
|
+
})
|
|
16
|
+
.nullable()
|
|
17
|
+
.default(null)
|
|
15
18
|
.describe("Connections to other services"),
|
|
16
19
|
});
|
|
17
20
|
export function parseConfig(json) {
|
package/lib/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AACrB,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAE9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AACrB,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAE9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACzD,UAAU,EAAE,CAAC;SACR,MAAM,CAAC;QAGJ,eAAe,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,QAAQ,CAAqB,CAAC;aACpC,QAAQ,CAAC,wBAAwB,CAAC;QAGvC,QAAQ,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;aACvC,QAAQ,CAAC,2BAA2B,CAAC;KAC7C,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,+BAA+B,CAAC;CACjD,CAAC,CAAA;AASF,MAAM,UAAU,WAAW,CAAC,IAAa;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IAEtC,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA"}
|
package/lib/schema.json
CHANGED
|
@@ -3,44 +3,45 @@
|
|
|
3
3
|
"properties": {
|
|
4
4
|
"slug": {
|
|
5
5
|
"type": "string",
|
|
6
|
-
"description": "A unique slug for the
|
|
6
|
+
"description": "A unique slug for the app"
|
|
7
7
|
},
|
|
8
8
|
"id": {
|
|
9
9
|
"type": "string",
|
|
10
10
|
"format": "uuid",
|
|
11
|
-
"description": "A unique ID for the
|
|
11
|
+
"description": "A unique ID for the app"
|
|
12
12
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
"connection": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{
|
|
16
|
+
"type": "object",
|
|
17
|
+
"properties": {
|
|
18
|
+
"connection_type": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": [
|
|
21
|
+
"secret"
|
|
22
|
+
],
|
|
23
|
+
"description": "The type of connection"
|
|
24
|
+
},
|
|
25
|
+
"audience": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": [
|
|
28
|
+
"workspace",
|
|
29
|
+
"workspace-member"
|
|
30
|
+
],
|
|
31
|
+
"description": "The connection's audience"
|
|
32
|
+
}
|
|
24
33
|
},
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
],
|
|
31
|
-
"description": "The connection's audience"
|
|
32
|
-
}
|
|
34
|
+
"required": [
|
|
35
|
+
"connection_type",
|
|
36
|
+
"audience"
|
|
37
|
+
],
|
|
38
|
+
"additionalProperties": false
|
|
33
39
|
},
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
"propertyNames": {
|
|
41
|
-
"pattern": "^[a-z]+(_[a-z]+)*$"
|
|
42
|
-
},
|
|
43
|
-
"default": {},
|
|
40
|
+
{
|
|
41
|
+
"type": "null"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"default": null,
|
|
44
45
|
"description": "Connections to other services"
|
|
45
46
|
}
|
|
46
47
|
},
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Config } from "../schema.js";
|
|
2
|
+
declare const ERRORS: {
|
|
3
|
+
readonly noAttioJson: "No attio.json. Run this from your app project directory.";
|
|
4
|
+
readonly invalidAttioJson: "Invalid attio.json";
|
|
5
|
+
readonly writeError: "Error writing to attio.json";
|
|
6
|
+
};
|
|
7
|
+
type ErrorMessage = (typeof ERRORS)[keyof typeof ERRORS];
|
|
8
|
+
export declare function loadAppConfig(): Config | ErrorMessage | string;
|
|
9
|
+
export declare function updateAppConfig(mutator: (config: Config) => Config): ErrorMessage | string | void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=app-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-config.d.ts","sourceRoot":"","sources":["../../src/util/app-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAc,MAAM,cAAc,CAAA;AAEhD,QAAA,MAAM,MAAM;;;;CAIF,CAAA;AACV,KAAK,YAAY,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAaxD,wBAAgB,aAAa,IAAI,MAAM,GAAG,YAAY,GAAG,MAAM,CAgB9D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAajG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
2
|
+
import { parseConfig } from "../schema.js";
|
|
3
|
+
const ERRORS = {
|
|
4
|
+
noAttioJson: "No attio.json. Run this from your app project directory.",
|
|
5
|
+
invalidAttioJson: "Invalid attio.json",
|
|
6
|
+
writeError: "Error writing to attio.json",
|
|
7
|
+
};
|
|
8
|
+
function determineConfigPath() {
|
|
9
|
+
if (process.env.NODE_ENV === "development") {
|
|
10
|
+
const path = "./attio.dev.json";
|
|
11
|
+
if (existsSync(path))
|
|
12
|
+
return path;
|
|
13
|
+
}
|
|
14
|
+
const path = "./attio.json";
|
|
15
|
+
if (existsSync(path))
|
|
16
|
+
return path;
|
|
17
|
+
return ERRORS.noAttioJson;
|
|
18
|
+
}
|
|
19
|
+
export function loadAppConfig() {
|
|
20
|
+
const configPath = determineConfigPath();
|
|
21
|
+
if (configPath === ERRORS.noAttioJson)
|
|
22
|
+
return configPath;
|
|
23
|
+
let doc;
|
|
24
|
+
try {
|
|
25
|
+
doc = JSON.parse(readFileSync(configPath, "utf8"));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return ERRORS.invalidAttioJson;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return parseConfig(doc);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
return e.message;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function updateAppConfig(mutator) {
|
|
38
|
+
const configPath = determineConfigPath();
|
|
39
|
+
if (configPath === ERRORS.noAttioJson)
|
|
40
|
+
return configPath;
|
|
41
|
+
const config = loadAppConfig();
|
|
42
|
+
if (typeof config === "string")
|
|
43
|
+
return config;
|
|
44
|
+
const updated = parseConfig(mutator(config));
|
|
45
|
+
try {
|
|
46
|
+
writeFileSync(configPath, JSON.stringify(updated, null, 2));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return ERRORS.writeError;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=app-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/util/app-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,IAAI,CAAA;AAE1D,OAAO,EAAS,WAAW,EAAC,MAAM,cAAc,CAAA;AAEhD,MAAM,MAAM,GAAG;IACX,WAAW,EAAE,0DAA0D;IACvE,gBAAgB,EAAE,oBAAoB;IACtC,UAAU,EAAE,6BAA6B;CACnC,CAAA;AAGV,SAAS,mBAAmB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,kBAAkB,CAAA;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAA;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEjC,OAAO,MAAM,CAAC,WAAW,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAA;IACxC,IAAI,UAAU,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,UAAU,CAAA;IAExD,IAAI,GAAY,CAAA;IAEhB,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,gBAAgB,CAAA;IAClC,CAAC;IACD,IAAI,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAQ,CAAW,CAAC,OAAO,CAAA;IAC/B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmC;IAC/D,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAA;IACxC,IAAI,UAAU,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,UAAU,CAAA;IAExD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAE7C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,CAAC;QACD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,UAAU,CAAA;IAC5B,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load-extension-config.d.ts","sourceRoot":"","sources":["../../src/util/load-extension-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAc,MAAM,cAAc,CAAA;AAahD,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,MAAM,CAgBrD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "fs";
|
|
2
|
-
import { parseConfig } from "../schema.js";
|
|
3
|
-
function determineConfigPath() {
|
|
4
|
-
if (process.env.NODE_ENV === "development") {
|
|
5
|
-
const path = "./attio.dev.json";
|
|
6
|
-
if (existsSync(path))
|
|
7
|
-
return path;
|
|
8
|
-
}
|
|
9
|
-
const path = "./attio.json";
|
|
10
|
-
if (existsSync(path))
|
|
11
|
-
return path;
|
|
12
|
-
return "No attio.json";
|
|
13
|
-
}
|
|
14
|
-
export function loadExtensionConfig() {
|
|
15
|
-
const configPath = determineConfigPath();
|
|
16
|
-
if (configPath === "No attio.json")
|
|
17
|
-
return configPath;
|
|
18
|
-
let doc;
|
|
19
|
-
try {
|
|
20
|
-
doc = JSON.parse(readFileSync(configPath, "utf8"));
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return "Invalid attio.json";
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
return parseConfig(doc);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
return e.message;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=load-extension-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load-extension-config.js","sourceRoot":"","sources":["../../src/util/load-extension-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,IAAI,CAAA;AAE3C,OAAO,EAAS,WAAW,EAAC,MAAM,cAAc,CAAA;AAEhD,SAAS,mBAAmB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,kBAAkB,CAAA;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAA;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEjC,OAAO,eAAe,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAA;IACxC,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,UAAU,CAAA;IAErD,IAAI,GAAY,CAAA;IAEhB,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,oBAAoB,CAAA;IAC/B,CAAC;IACD,IAAI,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAQ,CAAW,CAAC,OAAO,CAAA;IAC/B,CAAC;AACL,CAAC"}
|