mcard-js 2.1.13 → 2.1.14

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.
Files changed (49) hide show
  1. package/dist/model/CardCollection.d.ts +55 -0
  2. package/dist/model/CardCollection.d.ts.map +1 -1
  3. package/dist/model/CardCollection.js +55 -0
  4. package/dist/model/CardCollection.js.map +1 -1
  5. package/dist/model/MCard.d.ts +79 -2
  6. package/dist/model/MCard.d.ts.map +1 -1
  7. package/dist/model/MCard.js +80 -1
  8. package/dist/model/MCard.js.map +1 -1
  9. package/dist/model/PCard.d.ts +50 -0
  10. package/dist/model/PCard.d.ts.map +1 -0
  11. package/dist/model/PCard.js +110 -0
  12. package/dist/model/PCard.js.map +1 -0
  13. package/dist/model/VCard.d.ts +162 -0
  14. package/dist/model/VCard.d.ts.map +1 -0
  15. package/dist/model/VCard.js +298 -0
  16. package/dist/model/VCard.js.map +1 -0
  17. package/dist/model/vcard_ext/core.d.ts +22 -0
  18. package/dist/model/vcard_ext/core.d.ts.map +1 -0
  19. package/dist/model/vcard_ext/core.js +41 -0
  20. package/dist/model/vcard_ext/core.js.map +1 -0
  21. package/dist/model/vcard_ext/index.d.ts +14 -0
  22. package/dist/model/vcard_ext/index.d.ts.map +1 -0
  23. package/dist/model/vcard_ext/index.js +24 -0
  24. package/dist/model/vcard_ext/index.js.map +1 -0
  25. package/dist/model/vcard_ext/network.d.ts +6 -0
  26. package/dist/model/vcard_ext/network.d.ts.map +1 -0
  27. package/dist/model/vcard_ext/network.js +23 -0
  28. package/dist/model/vcard_ext/network.js.map +1 -0
  29. package/dist/model/vcard_ext/observability.d.ts +6 -0
  30. package/dist/model/vcard_ext/observability.d.ts.map +1 -0
  31. package/dist/model/vcard_ext/observability.js +62 -0
  32. package/dist/model/vcard_ext/observability.js.map +1 -0
  33. package/dist/model/vcard_ext/storage.d.ts +6 -0
  34. package/dist/model/vcard_ext/storage.d.ts.map +1 -0
  35. package/dist/model/vcard_ext/storage.js +47 -0
  36. package/dist/model/vcard_ext/storage.js.map +1 -0
  37. package/dist/model/vcard_ext/vendors.d.ts +12 -0
  38. package/dist/model/vcard_ext/vendors.d.ts.map +1 -0
  39. package/dist/model/vcard_ext/vendors.js +210 -0
  40. package/dist/model/vcard_ext/vendors.js.map +1 -0
  41. package/dist/model/vcard_vocabulary.d.ts +174 -0
  42. package/dist/model/vcard_vocabulary.d.ts.map +1 -0
  43. package/dist/model/vcard_vocabulary.js +187 -0
  44. package/dist/model/vcard_vocabulary.js.map +1 -0
  45. package/dist/types/dots.d.ts +206 -0
  46. package/dist/types/dots.d.ts.map +1 -0
  47. package/dist/types/dots.js +201 -0
  48. package/dist/types/dots.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Observability resource types - Grafana LGTM Stack.
3
+ */
4
+ export const OBSERVABILITY_TYPES = {
5
+ grafana: {
6
+ name: 'grafana',
7
+ category: 'observability',
8
+ uriTemplate: 'grafana://{endpoint}',
9
+ hashTemplate: 'grafana:{endpoint}:{orgId}:{dashboardUid}',
10
+ defaultOptions: { type: 'grafana' },
11
+ argNames: ['endpoint']
12
+ },
13
+ prometheus: {
14
+ name: 'prometheus',
15
+ category: 'observability',
16
+ uriTemplate: 'prometheus://{endpoint}',
17
+ hashTemplate: 'prometheus:{endpoint}:{jobName}',
18
+ defaultOptions: { type: 'prometheus', scrapeInterval: 15 },
19
+ argNames: ['endpoint']
20
+ },
21
+ loki: {
22
+ name: 'loki',
23
+ category: 'observability',
24
+ uriTemplate: 'loki://{endpoint}',
25
+ hashTemplate: 'loki:{endpoint}:{tenantId}',
26
+ defaultOptions: { type: 'loki', labels: {} },
27
+ argNames: ['endpoint']
28
+ },
29
+ tempo: {
30
+ name: 'tempo',
31
+ category: 'observability',
32
+ uriTemplate: 'tempo://{endpoint}',
33
+ hashTemplate: 'tempo:{endpoint}:{serviceName}',
34
+ defaultOptions: { type: 'tempo', samplingRate: 1.0 },
35
+ argNames: ['endpoint']
36
+ },
37
+ faro: {
38
+ name: 'faro',
39
+ category: 'observability',
40
+ uriTemplate: 'faro://{collectorUrl}',
41
+ hashTemplate: 'faro:{collectorUrl}:{appName}:{environment}',
42
+ defaultOptions: {
43
+ type: 'faro',
44
+ environment: 'production',
45
+ features: ['console', 'errors', 'web_vitals', 'sessions']
46
+ },
47
+ argNames: ['collectorUrl', 'appName']
48
+ },
49
+ otlp: {
50
+ name: 'otlp',
51
+ category: 'observability',
52
+ uriTemplate: 'otlp://{endpoint}',
53
+ hashTemplate: 'otlp:{endpoint}:{protocol}:{serviceName}',
54
+ defaultOptions: {
55
+ type: 'otlp',
56
+ protocol: 'grpc',
57
+ signals: ['traces', 'metrics', 'logs']
58
+ },
59
+ argNames: ['endpoint']
60
+ }
61
+ };
62
+ //# sourceMappingURL=observability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/model/vcard_ext/observability.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAiC;IAC7D,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,2CAA2C;QACzD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,iCAAiC;QAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;QAC1D,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,4BAA4B;QAC1C,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QAC5C,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,gCAAgC;QAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE;QACpD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,6CAA6C;QAC3D,cAAc,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;SAC5D;QACD,QAAQ,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;KACxC;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,0CAA0C;QACxD,cAAc,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;SACzC;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;CACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Storage resource types - databases and object storage.
3
+ */
4
+ import { ResourceType } from './core.js';
5
+ export declare const STORAGE_TYPES: Record<string, ResourceType>;
6
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/model/vcard_ext/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,WAAW,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAyCtD,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Storage resource types - databases and object storage.
3
+ */
4
+ import { ResourceCategory } from './core.js';
5
+ export const STORAGE_TYPES = {
6
+ sqlite: {
7
+ name: 'sqlite',
8
+ category: ResourceCategory.STORAGE,
9
+ uriTemplate: 'sqlite://{path}',
10
+ hashTemplate: 'sqlite:{path}',
11
+ defaultOptions: { engine: 'sqlite', required: true },
12
+ argNames: ['path']
13
+ },
14
+ postgres: {
15
+ name: 'postgres',
16
+ category: ResourceCategory.STORAGE,
17
+ uriTemplate: 'postgres://{connection}',
18
+ hashTemplate: 'postgres:{connection}',
19
+ defaultOptions: { engine: 'postgresql', required: true },
20
+ argNames: ['connection']
21
+ },
22
+ s3: {
23
+ name: 's3',
24
+ category: ResourceCategory.STORAGE,
25
+ uriTemplate: 's3://{bucket}/{key}',
26
+ hashTemplate: 's3:{bucket}/{key}',
27
+ defaultOptions: { engine: 's3', region: 'us-east-1' },
28
+ argNames: ['bucket', 'key']
29
+ },
30
+ litefs: {
31
+ name: 'litefs',
32
+ category: ResourceCategory.STORAGE,
33
+ uriTemplate: 'litefs://{path}',
34
+ hashTemplate: 'litefs:{path}:{primary}',
35
+ defaultOptions: { engine: 'litefs', primary: undefined, leaseKey: undefined, required: true },
36
+ argNames: ['path']
37
+ },
38
+ turso: {
39
+ name: 'turso',
40
+ category: ResourceCategory.STORAGE,
41
+ uriTemplate: 'libsql://{database}.turso.io',
42
+ hashTemplate: 'turso:{database}:{group}',
43
+ defaultOptions: { engine: 'turso', group: 'default', authTokenEnvVar: 'TURSO_AUTH_TOKEN', required: true },
44
+ argNames: ['database']
45
+ }
46
+ };
47
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/model/vcard_ext/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAiC;IACvD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,gBAAgB,CAAC,OAAO;QAClC,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,gBAAgB,CAAC,OAAO;QAClC,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,uBAAuB;QACrC,cAAc,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxD,QAAQ,EAAE,CAAC,YAAY,CAAC;KAC3B;IACD,EAAE,EAAE;QACA,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,gBAAgB,CAAC,OAAO;QAClC,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,mBAAmB;QACjC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE;QACrD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;KAC9B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,gBAAgB,CAAC,OAAO;QAClC,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,yBAAyB;QACvC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7F,QAAQ,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,gBAAgB,CAAC,OAAO;QAClC,WAAW,EAAE,8BAA8B;QAC3C,YAAY,EAAE,0BAA0B;QACxC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1G,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;CACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Vendor-provisioned SaaS resource types.
3
+ *
4
+ * Third-party services organized by category:
5
+ * - Identity/Auth: Google, GitHub, Meta/Facebook
6
+ * - Messaging: WhatsApp, Line, WeChat, Telegram, Slack
7
+ * - Collaboration: Trello, Miro, Figma, LinkedIn
8
+ * - Cloud: AWS, Azure, GCP
9
+ */
10
+ import { ResourceType } from './core.js';
11
+ export declare const VENDOR_TYPES: Record<string, ResourceType>;
12
+ //# sourceMappingURL=vendors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendors.d.ts","sourceRoot":"","sources":["../../../src/model/vcard_ext/vendors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAqNrD,CAAC"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Vendor-provisioned SaaS resource types.
3
+ *
4
+ * Third-party services organized by category:
5
+ * - Identity/Auth: Google, GitHub, Meta/Facebook
6
+ * - Messaging: WhatsApp, Line, WeChat, Telegram, Slack
7
+ * - Collaboration: Trello, Miro, Figma, LinkedIn
8
+ * - Cloud: AWS, Azure, GCP
9
+ */
10
+ export const VENDOR_TYPES = {
11
+ // =========================================================================
12
+ // Identity & Authentication Providers
13
+ // =========================================================================
14
+ google: {
15
+ name: 'google',
16
+ category: 'vendor',
17
+ uriTemplate: 'google://{service}/{resource}',
18
+ hashTemplate: 'google:{service}:{resource}:{projectId}',
19
+ defaultOptions: {
20
+ type: 'google',
21
+ service: 'oauth',
22
+ authEnvVar: 'GOOGLE_CLIENT_ID',
23
+ required: true
24
+ },
25
+ argNames: ['service', 'resource']
26
+ },
27
+ github: {
28
+ name: 'github',
29
+ category: 'vendor',
30
+ uriTemplate: 'github://{owner}/{repo}',
31
+ hashTemplate: 'github:{owner}:{repo}:{ref}',
32
+ defaultOptions: {
33
+ type: 'github',
34
+ ref: 'main',
35
+ authEnvVar: 'GITHUB_TOKEN',
36
+ required: true
37
+ },
38
+ argNames: ['owner', 'repo']
39
+ },
40
+ meta: {
41
+ name: 'meta',
42
+ category: 'vendor',
43
+ uriTemplate: 'meta://{appId}/{service}',
44
+ hashTemplate: 'meta:{appId}:{service}',
45
+ defaultOptions: {
46
+ type: 'meta',
47
+ service: 'graph',
48
+ authEnvVar: 'META_APP_SECRET',
49
+ required: true
50
+ },
51
+ argNames: ['appId', 'service']
52
+ },
53
+ // =========================================================================
54
+ // Messaging Platforms
55
+ // =========================================================================
56
+ whatsapp: {
57
+ name: 'whatsapp',
58
+ category: 'vendor',
59
+ uriTemplate: 'whatsapp://{phoneNumberId}',
60
+ hashTemplate: 'whatsapp:{phoneNumberId}:{businessId}',
61
+ defaultOptions: {
62
+ type: 'whatsapp',
63
+ apiVersion: 'v18.0',
64
+ authEnvVar: 'WHATSAPP_TOKEN',
65
+ required: true
66
+ },
67
+ argNames: ['phoneNumberId']
68
+ },
69
+ telegram: {
70
+ name: 'telegram',
71
+ category: 'vendor',
72
+ uriTemplate: 'telegram://{botId}',
73
+ hashTemplate: 'telegram:{botId}',
74
+ defaultOptions: {
75
+ type: 'telegram',
76
+ authEnvVar: 'TELEGRAM_BOT_TOKEN',
77
+ required: true
78
+ },
79
+ argNames: ['botId']
80
+ },
81
+ line: {
82
+ name: 'line',
83
+ category: 'vendor',
84
+ uriTemplate: 'line://{channelId}',
85
+ hashTemplate: 'line:{channelId}',
86
+ defaultOptions: {
87
+ type: 'line',
88
+ authEnvVar: 'LINE_CHANNEL_ACCESS_TOKEN',
89
+ required: true
90
+ },
91
+ argNames: ['channelId']
92
+ },
93
+ wechat: {
94
+ name: 'wechat',
95
+ category: 'vendor',
96
+ uriTemplate: 'wechat://{appId}',
97
+ hashTemplate: 'wechat:{appId}',
98
+ defaultOptions: {
99
+ type: 'wechat',
100
+ authEnvVar: 'WECHAT_APP_SECRET',
101
+ required: true
102
+ },
103
+ argNames: ['appId']
104
+ },
105
+ slack: {
106
+ name: 'slack',
107
+ category: 'vendor',
108
+ uriTemplate: 'slack://{workspace}/{channel}',
109
+ hashTemplate: 'slack:{workspace}:{channel}',
110
+ defaultOptions: {
111
+ type: 'slack',
112
+ authEnvVar: 'SLACK_BOT_TOKEN',
113
+ required: true
114
+ },
115
+ argNames: ['workspace', 'channel']
116
+ },
117
+ // =========================================================================
118
+ // Collaboration & Productivity
119
+ // =========================================================================
120
+ trello: {
121
+ name: 'trello',
122
+ category: 'vendor',
123
+ uriTemplate: 'trello://{boardId}',
124
+ hashTemplate: 'trello:{boardId}',
125
+ defaultOptions: {
126
+ type: 'trello',
127
+ authEnvVar: 'TRELLO_API_KEY',
128
+ required: true
129
+ },
130
+ argNames: ['boardId']
131
+ },
132
+ miro: {
133
+ name: 'miro',
134
+ category: 'vendor',
135
+ uriTemplate: 'miro://{boardId}',
136
+ hashTemplate: 'miro:{boardId}:{teamId}',
137
+ defaultOptions: {
138
+ type: 'miro',
139
+ authEnvVar: 'MIRO_ACCESS_TOKEN',
140
+ required: true
141
+ },
142
+ argNames: ['boardId']
143
+ },
144
+ figma: {
145
+ name: 'figma',
146
+ category: 'vendor',
147
+ uriTemplate: 'figma://{fileKey}',
148
+ hashTemplate: 'figma:{fileKey}:{nodeId}',
149
+ defaultOptions: {
150
+ type: 'figma',
151
+ nodeId: undefined,
152
+ authEnvVar: 'FIGMA_ACCESS_TOKEN',
153
+ required: true
154
+ },
155
+ argNames: ['fileKey']
156
+ },
157
+ linkedin: {
158
+ name: 'linkedin',
159
+ category: 'vendor',
160
+ uriTemplate: 'linkedin://{organizationId}',
161
+ hashTemplate: 'linkedin:{organizationId}',
162
+ defaultOptions: {
163
+ type: 'linkedin',
164
+ authEnvVar: 'LINKEDIN_ACCESS_TOKEN',
165
+ required: true
166
+ },
167
+ argNames: ['organizationId']
168
+ },
169
+ // =========================================================================
170
+ // Cloud Providers (Infrastructure)
171
+ // =========================================================================
172
+ aws: {
173
+ name: 'aws',
174
+ category: 'vendor',
175
+ uriTemplate: 'aws://{service}/{resource}',
176
+ hashTemplate: 'aws:{service}:{resource}:{region}',
177
+ defaultOptions: {
178
+ type: 'aws',
179
+ region: 'us-east-1',
180
+ authEnvVar: 'AWS_ACCESS_KEY_ID',
181
+ required: true
182
+ },
183
+ argNames: ['service', 'resource']
184
+ },
185
+ azure: {
186
+ name: 'azure',
187
+ category: 'vendor',
188
+ uriTemplate: 'azure://{subscription}/{resourceGroup}/{resource}',
189
+ hashTemplate: 'azure:{subscription}:{resourceGroup}:{resource}',
190
+ defaultOptions: {
191
+ type: 'azure',
192
+ authEnvVar: 'AZURE_CLIENT_ID',
193
+ required: true
194
+ },
195
+ argNames: ['subscription', 'resourceGroup', 'resource']
196
+ },
197
+ gcp: {
198
+ name: 'gcp',
199
+ category: 'vendor',
200
+ uriTemplate: 'gcp://{project}/{service}/{resource}',
201
+ hashTemplate: 'gcp:{project}:{service}:{resource}',
202
+ defaultOptions: {
203
+ type: 'gcp',
204
+ authEnvVar: 'GOOGLE_APPLICATION_CREDENTIALS',
205
+ required: true
206
+ },
207
+ argNames: ['project', 'service', 'resource']
208
+ }
209
+ };
210
+ //# sourceMappingURL=vendors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendors.js","sourceRoot":"","sources":["../../../src/model/vcard_ext/vendors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * VCard Application Vocabulary - Data-driven patterns for side effects.
3
+ *
4
+ * Resource types are defined as DATA in vcard_ext/, making the system
5
+ * fully extensible without code changes.
6
+ */
7
+ import { ExternalRef } from './VCard.js';
8
+ import { RESOURCE_REGISTRY, ResourceType, ResourceCategory } from './vcard_ext/index.js';
9
+ export { ResourceCategory, ResourceType, RESOURCE_REGISTRY };
10
+ export declare class Resource {
11
+ static create(resourceType: string, ...argsAndOptions: any[]): Promise<ExternalRef>;
12
+ private static _buildUri;
13
+ private static _buildHashContent;
14
+ private static _determineStatus;
15
+ static types(): string[];
16
+ static register(type: ResourceType): void;
17
+ }
18
+ export declare function createLgtmStack(baseUrl: string, serviceName: string, options?: {
19
+ environment?: string;
20
+ ports?: Partial<Record<'grafana' | 'prometheus' | 'loki' | 'tempo', number>>;
21
+ }): Promise<ExternalRef[]>;
22
+ export declare enum AccessMode {
23
+ READ = "read",
24
+ WRITE = "write",
25
+ READ_WRITE = "rw",
26
+ EXECUTE = "execute"
27
+ }
28
+ export interface EnvResourceOptions {
29
+ required?: boolean;
30
+ secret?: boolean;
31
+ default?: string;
32
+ description?: string;
33
+ }
34
+ export interface FileResourceOptions {
35
+ mode?: AccessMode;
36
+ required?: boolean;
37
+ description?: string;
38
+ }
39
+ export interface StorageResourceOptions {
40
+ required?: boolean;
41
+ description?: string;
42
+ }
43
+ export interface ApiResourceOptions {
44
+ method?: string;
45
+ authEnvVar?: string;
46
+ description?: string;
47
+ }
48
+ export interface GrafanaOptions {
49
+ orgId?: string;
50
+ dashboardUid?: string;
51
+ apiKeyEnvVar?: string;
52
+ description?: string;
53
+ }
54
+ export interface PrometheusOptions {
55
+ jobName?: string;
56
+ scrapeInterval?: number;
57
+ description?: string;
58
+ }
59
+ export interface LokiOptions {
60
+ tenantId?: string;
61
+ labels?: Record<string, string>;
62
+ description?: string;
63
+ }
64
+ export interface TempoOptions {
65
+ serviceName?: string;
66
+ samplingRate?: number;
67
+ description?: string;
68
+ }
69
+ export interface FaroOptions {
70
+ appVersion?: string;
71
+ environment?: string;
72
+ description?: string;
73
+ }
74
+ export interface OtlpOptions {
75
+ protocol?: 'grpc' | 'http';
76
+ serviceName?: string;
77
+ headersEnvVar?: string;
78
+ description?: string;
79
+ }
80
+ export declare class EnvResource {
81
+ static create(name: string, options?: EnvResourceOptions): Promise<ExternalRef>;
82
+ static resolve(ref: ExternalRef): string | undefined;
83
+ }
84
+ export declare class FileResource {
85
+ static create(path: string, options?: FileResourceOptions): Promise<ExternalRef>;
86
+ static createDirectory(path: string, options?: {
87
+ recursive?: boolean;
88
+ description?: string;
89
+ }): Promise<ExternalRef>;
90
+ }
91
+ export declare class StorageResource {
92
+ static createSqlite(path: string, options?: StorageResourceOptions): Promise<ExternalRef>;
93
+ static createPostgres(conn: string, options?: StorageResourceOptions): Promise<ExternalRef>;
94
+ static createS3(bucket: string, key: string, options?: {
95
+ region?: string;
96
+ description?: string;
97
+ }): Promise<ExternalRef>;
98
+ static createLitefs(path: string, options?: {
99
+ primary?: string;
100
+ leaseKey?: string;
101
+ description?: string;
102
+ }): Promise<ExternalRef>;
103
+ static createTurso(db: string, options?: {
104
+ group?: string;
105
+ authTokenEnvVar?: string;
106
+ syncUrl?: string;
107
+ description?: string;
108
+ }): Promise<ExternalRef>;
109
+ }
110
+ export declare class NetworkResource {
111
+ static createApi(endpoint: string, options?: ApiResourceOptions): Promise<ExternalRef>;
112
+ static createWebhook(endpoint: string, options?: {
113
+ secretEnvVar?: string;
114
+ description?: string;
115
+ }): Promise<ExternalRef>;
116
+ }
117
+ export declare class ObservabilityResource {
118
+ static createGrafana(endpoint: string, options?: GrafanaOptions): Promise<ExternalRef>;
119
+ static createPrometheus(endpoint: string, options?: PrometheusOptions): Promise<ExternalRef>;
120
+ static createLoki(endpoint: string, options?: LokiOptions): Promise<ExternalRef>;
121
+ static createTempo(endpoint: string, options?: TempoOptions): Promise<ExternalRef>;
122
+ static createFaro(collectorUrl: string, appName: string, options?: FaroOptions): Promise<ExternalRef>;
123
+ static createOtlp(endpoint: string, options?: OtlpOptions): Promise<ExternalRef>;
124
+ static createLgtmStack(baseUrl: string, serviceName: string, options?: {
125
+ environment?: string;
126
+ ports?: Partial<Record<'grafana' | 'prometheus' | 'loki' | 'tempo', number>>;
127
+ }): Promise<ExternalRef[]>;
128
+ }
129
+ export declare class ApplicationResources {
130
+ private resources;
131
+ add(resourceType: string, ...argsAndOptions: any[]): Promise<this>;
132
+ addEnv(name: string, options?: EnvResourceOptions): Promise<this>;
133
+ addFile(path: string, options?: FileResourceOptions): Promise<this>;
134
+ addDirectory(path: string, options?: {
135
+ recursive?: boolean;
136
+ description?: string;
137
+ }): Promise<this>;
138
+ addSqlite(path: string, options?: StorageResourceOptions): Promise<this>;
139
+ addLitefs(path: string, options?: {
140
+ primary?: string;
141
+ leaseKey?: string;
142
+ description?: string;
143
+ }): Promise<this>;
144
+ addTurso(db: string, options?: {
145
+ group?: string;
146
+ authTokenEnvVar?: string;
147
+ syncUrl?: string;
148
+ description?: string;
149
+ }): Promise<this>;
150
+ addApi(endpoint: string, options?: ApiResourceOptions): Promise<this>;
151
+ addGrafana(endpoint: string, options?: GrafanaOptions): Promise<this>;
152
+ addPrometheus(endpoint: string, options?: PrometheusOptions): Promise<this>;
153
+ addLoki(endpoint: string, options?: LokiOptions): Promise<this>;
154
+ addTempo(endpoint: string, options?: TempoOptions): Promise<this>;
155
+ addFaro(url: string, app: string, options?: FaroOptions): Promise<this>;
156
+ addOtlp(endpoint: string, options?: OtlpOptions): Promise<this>;
157
+ addLgtmStack(baseUrl: string, serviceName: string, options?: {
158
+ environment?: string;
159
+ ports?: Partial<Record<'grafana' | 'prometheus' | 'loki' | 'tempo', number>>;
160
+ }): Promise<this>;
161
+ getAll(): ExternalRef[];
162
+ getByCategory(category: ResourceCategory | string): ExternalRef[];
163
+ getObservabilityResources(): ExternalRef[];
164
+ getInvalid(): ExternalRef[];
165
+ validate(): {
166
+ valid: boolean;
167
+ total: number;
168
+ verified: number;
169
+ pending: number;
170
+ invalid: number;
171
+ invalidResources: string[];
172
+ };
173
+ }
174
+ //# sourceMappingURL=vcard_vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcard_vocabulary.d.ts","sourceRoot":"","sources":["../../src/model/vcard_vocabulary.ts"],"names":[],"mappings":"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"}